body:has(.careers-application-page) > .nav { background: var(--navy); }
.careers-application-page { background: #f7f4ef; color: var(--navy); min-height: 85vh; }
.application-start,.application-details { max-width: 1000px; padding: 140px 32px 90px; margin: 0 auto; }
.application-step { color: var(--brand-terracotta); text-transform: uppercase; letter-spacing: .15em; font-size: 11px; margin-bottom: 22px; text-align: center; }
.application-start h1 { font-size: clamp(34px,5vw,64px); text-align: center; line-height: 1.15; margin-bottom: 28px; }
.application-intro { font-size: clamp(15px,1.4vw,18px); line-height: 1.8; color: var(--text-mute); text-align: center; max-width: 780px; margin: 0 auto 16px; }
.application-role { text-align: center; color: var(--brand-terracotta); font-size: 15px; margin: 16px 0 36px; }
.application-email-form { max-width: 800px; margin: 0 auto; }
.application-email-form label { display: block; font-size: 14px; margin-bottom: 10px; }
.application-email-form label span { color: var(--brand-terracotta); }
.application-email-form input { width: 100%; min-height: 58px; background: #fff; color: var(--navy); border: 1px solid #c9c4bd; padding: 16px 18px; font: inherit; border-radius: 0; }
.application-email-form input:focus { outline: 2px solid var(--brand-terracotta); outline-offset: 2px; }
.application-email-form > p { font-size: 12px; line-height: 1.7; color: var(--text-mute); margin-top: 12px; }
.application-start-actions { display: flex; justify-content: space-between; gap: 24px; margin-top: 38px; }
.careers-application-page .btn-solid { background: var(--navy); border-color: var(--navy); color: #fff; }
.careers-application-page .btn-dark { border-color: var(--navy); color: var(--navy); }
.application-details h2 { font-size: clamp(30px,4vw,48px); text-align: center; outline: none; }
.application-back { background: none; border: 0; color: var(--navy); padding: 0; font: inherit; font-size: 13px; cursor: pointer; margin-bottom: 28px; }
.application-details .form { width: 100%; max-width: none; }
.application-details .field label,.application-details .form-note,.application-details .privacy-notice { color: var(--text-mute); }
.application-details .field :is(input,select),.application-details .dd-trigger { color: var(--navy); background: #fff; border: 1px solid #c9c4bd; padding: 14px; min-height: 50px; }
.application-details .dd-label { color: var(--navy); }
.application-details .dd-chevron { stroke: var(--navy); }
.application-details .dd-menu { background: #fff; color: var(--navy); }
.application-details .dd-option { color: var(--navy); }
.application-details .privacy-notice a { color: var(--navy); text-decoration: underline; }
.application-details .form-actions .btn { color: #fff; background: var(--navy); border-color: var(--navy); }
.application-details .form-success,.application-details .form-success :is(h3,p) { color: var(--navy); }
.careers-application-page [hidden] { display: none !important; }
@media(max-width:680px) {
 .application-start,.application-details { padding: 116px 24px 60px; }
 .application-start-actions { flex-direction: column-reverse; gap: 16px; }
 .application-start-actions .btn { width: 100%; justify-content: center; }
 .application-details .form { grid-template-columns: 1fr; }
}

/* Step two: structured details in ATRIC's navy, warm neutral and terracotta palette. */
.application-details { max-width: 1100px; }
.application-details .application-expanded-form { display: block; }
.application-required-note { color: var(--text-mute); font-size: 12px; margin: 0 0 30px; }
.application-fieldset { min-width: 0; border: 0; padding: 16px 0 28px; margin: 0 0 25px; }
.application-fieldset > legend { color: var(--navy); font-size: 23px; font-weight: 600; padding: 0; margin-bottom: 5px; }
.application-fieldset-note { font-size: 14px; color: var(--text-mute); margin: 0 0 24px; }
.application-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px 28px; }
.application-details .application-fields .field label { font-size: 12px; line-height: 1.5; letter-spacing: .04em; text-transform: none; color: var(--navy); }
.application-details .application-fields .field label > span { color: var(--brand-terracotta); }
.application-details .application-fields .field :is(input,select),.application-details .application-fields .dd-trigger { width: 100%; min-height: 54px; font-size: 15px; }
.application-details .field input:focus-visible,.application-details .field select:focus-visible { outline: 2px solid var(--brand-terracotta); outline-offset: 2px; }
.application-field-help { display: block; margin-top: 10px; font-size: 12px; line-height: 1.7; color: var(--text-mute); }
.application-title-choice { border: 0; min-width: 0; margin: 0; padding: 0; }
.application-title-choice > legend { color: var(--navy); font-size: 12px; padding: 0; margin-bottom: 10px; }
.application-title-options { display: flex; flex-wrap: wrap; gap: 10px; }
.application-title-options label { position: relative; cursor: pointer; }
.application-details .application-title-options input { position: absolute; opacity: 0; width: 1px; height: 1px; min-height: 0; padding: 0; border: 0; }
.application-title-options span { display: block; min-width: 66px; padding: 12px 18px; text-align: center; border: 1px solid #c9c4bd; background: #fff; color: var(--navy); font-size: 14px; }
.application-title-options input:checked + span { background: var(--navy); border-color: var(--navy); color: #fff; }
.application-title-options input:focus-visible + span { outline: 2px solid var(--brand-terracotta); outline-offset: 3px; }
.application-identifier-toggle { margin-top: 24px; white-space: normal; }
.application-identifier-fields { margin-top: 28px; }
.application-cv-upload { background: var(--cream); padding: 24px; }
.application-details .application-cv-upload input[type=file] { background: #fff; padding: 16px; height: auto; }
.application-cv-upload input::file-selector-button { background: var(--navy); color: #fff; padding: 10px 15px; border: 0; margin-inline-end: 14px; cursor: pointer; font: inherit; }
.application-expanded-form > .form-actions { margin-top: 26px; }
.application-expanded-form > .form-note { margin-top: 15px; }
@media(max-width:680px) {
 .application-fields { grid-template-columns: minmax(0,1fr); gap: 22px; }
 .application-fieldset { margin-bottom: 18px; }
 .application-title-options span { min-width: 54px; padding: 11px 15px; }
 .application-identifier-toggle { width: 100%; }
 .application-cv-upload { padding: 18px; }
}
