/* A photographic invitation, quiet work areas and a clear application form. */
.sp-careers-page .sp-service-hero h1 { font-size: clamp(2.75rem, 4.4vw, 4.1rem); }
.sp-careers-page .sp-service-hero-intro { max-width: 510px; font-size: 1.075rem; }
.sp-careers-areas { position: relative; isolation: isolate; background: linear-gradient(125deg, #f1ebf1, #fcf2f7 70%, #f7edf3); }
.sp-careers-areas::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse at 100% 130%, transparent 40%, #c5117005 40.2% 52%, transparent 52.2%); }
.sp-careers-section-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: end; margin-bottom: var(--sp-heading-gap); }
.sp-careers-section-heading .section-title { margin: 0; max-width: 580px; text-wrap: balance; }
.sp-careers-section-heading > p { max-width: 470px; margin: 0; justify-self: end; color: var(--sp-muted); }
.sp-careers-areas-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.sp-careers-area { padding: 1.8rem 2rem 2rem; border: 1px solid #edd9e5; border-radius: 12px; background: #ffffffde; }
.sp-careers-area::before { content: ''; display: block; width: 32px; height: 3px; margin-bottom: 1.5rem; border-radius: 2px; background: var(--sp-accent); }
.sp-careers-area h3 { font-size: 1.3rem; line-height: 1.4; margin: 0 0 .8rem; letter-spacing: -.035em; }
.sp-careers-area p { color: var(--sp-muted); font-size: .95rem; margin: 0; }
.sp-careers-application-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.sp-careers-invitation .section-title { max-width: 490px; margin-bottom: 1.25rem; text-wrap: balance; }
.sp-careers-invitation > p { color: var(--sp-muted); max-width: 490px; }
.sp-careers-people { margin: 2rem 0 1.25rem; }
.sp-careers-people img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 14px; }
.sp-careers-invitation .sp-careers-note { margin: 0; font-size: .9rem; line-height: 1.8; }
.sp-careers-form { min-width: 0; background: #fff; padding: clamp(1.5rem, 3vw, 2.5rem); border-color: #e9dce3; border-top: 4px solid var(--sp-accent); border-radius: 16px; box-shadow: 0 14px 48px #48213a08; }
.sp-careers-form h3 { font-size: 1.75rem; margin: 0 0 .75rem; }
.sp-careers-form .sp-cf7-subtitle { margin-bottom: 1.6rem; }
.sp-careers-form .wpcf7-form :is(input:not([type=submit]):not([type=checkbox]):not([type=hidden]), textarea, select) { background-color: #fdfcfd; border-color: #d9d0d6; font-size: .9375rem; }
.sp-careers-form .wpcf7-form :is(input, textarea, select):focus { border-color: var(--sp-accent); background-color: #fff; }
.sp-careers-form textarea { height: 155px; }
.sp-careers-form .sp-careers-file-help { display: block; margin-top: .5rem; color: var(--sp-muted); font-size: .8rem; }
.sp-careers-form .wpcf7-form input[type=file] { padding: .65rem; font-size: .85rem; }
.sp-careers-form input[type=file]::file-selector-button { border: 0; border-radius: 4px; padding: .5rem .75rem; margin-right: .65rem; background: #f8e7f0; color: #92215c; font: inherit; font-weight: 600; cursor: pointer; }
.sp-careers-form .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.sp-careers-form .wpcf7-acceptance label { align-items: flex-start; gap: .7rem; line-height: 1.65; }
.sp-careers-form .wpcf7-acceptance input { flex: 0 0 18px; margin-top: .25rem; }
.sp-careers-form .wpcf7-form:not(.submitting) .wpcf7-spinner { display: none; }
.sp-careers-form .wpcf7-form input[type=submit]:disabled { opacity: .6; cursor: not-allowed; }
@media (min-width: 992px) {
    .sp-careers-invitation { position: sticky; top: 140px; }
}
@media (max-width: 1199.98px) {
    .sp-careers-area { padding: 1.5rem; }
    .sp-careers-form .sp-cf7-row { flex-direction: column; gap: 0; }
}
@media (max-width: 991.98px) {
    .sp-careers-section-heading { grid-template-columns: 1fr; gap: 1.25rem; }
    .sp-careers-section-heading > p { justify-self: start; max-width: 600px; }
    .sp-careers-application-grid { grid-template-columns: 1fr; gap: 2rem; }
    .sp-careers-invitation { display: grid; grid-template-columns: 1fr 1fr; column-gap: 2rem; }
    .sp-careers-invitation .section-title, .sp-careers-invitation > p { grid-column: 1; }
    .sp-careers-people { grid-column: 2; grid-row: 1 / 4; margin: 0; align-self: center; }
    .sp-careers-form .sp-cf7-row { flex-direction: row; gap: 1rem; }
}
@media (max-width: 767.98px) {
    .sp-careers-areas-grid { grid-template-columns: 1fr; gap: 1rem; }
    .sp-careers-area { padding: 1.5rem; }
    .sp-careers-area::before { margin-bottom: 1rem; }
    .sp-careers-invitation { display: block; }
    .sp-careers-people { margin: 1.5rem 0 1rem; }
    .sp-careers-form .sp-cf7-row { flex-direction: column; gap: 0; }
    .sp-careers-form .wpcf7-form :is(input:not([type=submit]):not([type=checkbox]):not([type=hidden]), textarea, select) { font-size: 1rem; }
    .sp-careers-page .sp-service-hero h1 { font-size: clamp(2.4rem, 9vw, 3.1rem); }
    .sp-careers-page .sp-service-hero-intro { font-size: 1rem; }
}
