/* Career pages retain the site's photographic, ruled editorial language. */
.career-intro-note { max-width: 35ch; margin-top: 22px; font-size: 12px; color: var(--muted); }
.career-flow { list-style: none; padding: 0; margin: 0 0 30px; }
.career-flow li { display: flex; gap: 23px; padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.career-flow span { color: var(--taupe-dark); font-size: 11px; padding-top: 4px; }
.career-preview-note { max-width: 48ch; }
.application-section { padding-block: clamp(42px, 6vw, 88px) clamp(64px, 8vw, 120px); }
.application-layout { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(45px, 7vw, 104px); align-items: start; }
.application-layout > * { min-width: 0; }
.application-intro > .text-link { margin-bottom: 46px; }
.application-intro h1 { font-size: clamp(45px, 5.1vw, 72px); }
.application-intro > p:not(.eyebrow) { max-width: 31ch; color: var(--muted); font-size: 15px; }
.application-intro figure { margin: 36px 0 0; max-width: 330px; }
.application-intro img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.application-intro figcaption { margin-top: 13px; font-size: 11px; color: var(--muted); line-height: 1.7; }
.application-preview { padding: 16px 20px; border-left: 2px solid var(--taupe-dark); background: var(--sand); margin-bottom: 32px; font-size: 12px; line-height: 1.65; }
.application-preview strong { display: block; color: var(--navy); margin-bottom: 3px; font-weight: 500; }
.application-preview p { margin: 0; }
.application-progress-heading { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; font-size: 11px; }
.application-progress-heading p { margin: 0; color: var(--navy); }
.application-progress-heading > span { color: var(--muted); }
.application-progress { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 0; margin: 16px 0 38px; list-style: none; }
.application-progress li { border-top: 2px solid var(--line); padding-top: 11px; font-size: 11px; color: var(--muted); }
.application-progress li span { font-size: 10px; margin-right: 6px; }
.application-progress li[aria-current] { border-color: var(--navy); color: var(--navy); font-weight: 500; }
.application-progress li.is-complete { border-color: var(--taupe-dark); }
.application-fields, .application-group { padding: 0; margin: 0; border: 0; min-width: 0; }
.application-step h2, .application-success h2 { font-size: clamp(32px, 3.7vw, 49px); line-height: 1.08; overflow-wrap: anywhere; }
.application-step h2:focus, .application-success h2:focus { outline: none; }
.application-step-intro { margin: 23px 0 27px; font-size: 14px; line-height: 1.7; color: var(--muted); }
.application-group legend { display: block; width: 100%; padding: 0; margin-bottom: 14px; font-size: 12px; font-weight: 500; color: var(--navy); }
.application-choices { display: grid; gap: 12px; }
.application-choice { display: flex; gap: 15px; align-items: start; padding: 20px; border: 1px solid var(--line); cursor: pointer; color: var(--navy); background: transparent; transition: border-color .18s, background-color .18s; }
.application-choice:hover { border-color: var(--taupe-dark); }
.application-choice:has(input:checked) { border-color: var(--navy); background: var(--sand); }
.application-choice:has(input:focus-visible) { outline: 2px solid var(--navy); outline-offset: 3px; }
.application-choice input { flex: none; width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--navy); }
.application-choice > span { min-width: 0; }
.application-choice strong { display: block; font-size: 15px; font-weight: 500; line-height: 1.5; }
.application-choice-detail { display: block; color: var(--muted); font-size: 12px; line-height: 1.65; margin-top: 5px; }
.application-choices-compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.application-choices-compact .application-choice { padding: 16px; gap: 12px; }
.application-choices-compact strong { font-size: 13px; }
.application-choices-compact input { margin-top: 1px; }
.application-availability { margin-top: 32px; }
.application-help { color: var(--muted); font-size: 11px; line-height: 1.75; margin-top: 17px; }
.application-group > .application-help { margin: 0 0 17px; }
.application-navigation { display: flex; gap: 20px; align-items: center; justify-content: flex-end; border-top: 1px solid var(--line); padding-top: 25px; margin-top: 30px; }
.application-navigation .button { min-width: 150px; }
.application-back { padding: 13px 0; min-height: 48px; margin-right: auto; border: 0; background: transparent; color: var(--navy); text-decoration: underline; text-underline-offset: 5px; font-size: 12px; }
.application-back:disabled { opacity: .5; cursor: not-allowed; }
.application-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 19px 18px; }
.application-field { min-width: 0; }
.application-field-wide { grid-column: 1 / -1; }
.application-field label { display: block; font-size: 12px; color: var(--navy); margin-bottom: 7px; }
.application-field label span { color: var(--muted); font-size: 11px; }
.application-field :is(input, textarea) { display: block; width: 100%; min-height: 49px; border: 1px solid var(--line); border-radius: 0; color: var(--navy); background: transparent; padding: 11px 13px; font-size: 16px; }
.application-field textarea { resize: vertical; min-height: 100px; }
.application-field :is(input, textarea):focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }
.application-field .application-help { margin: 7px 0 0; }
.application-review { border-top: 1px solid var(--line); padding-top: 23px; margin-top: 29px; }
.application-review h3 { font-size: 20px; letter-spacing: -.025em; }
.application-review dl { margin: 16px 0 24px; font-size: 12px; }
.application-review dl > div { display: grid; grid-template-columns: 135px minmax(0, 1fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.application-review dt { color: var(--muted); }
.application-review dt button { display: block; padding: 2px 0; border: 0; min-height: 29px; color: var(--navy); background: transparent; font-size: 10px; text-decoration: underline; text-underline-offset: 3px; }
.application-review dd { margin: 0; color: var(--navy); overflow-wrap: anywhere; white-space: pre-line; }
.application-consent { display: flex; align-items: start; gap: 12px; font-size: 12px; line-height: 1.7; cursor: pointer; }
.application-consent input { flex: none; width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--navy); }
.application-consent span { min-width: 0; }
.application-submit-note { margin-bottom: 0; }
.application-error-summary, .application-notice { padding: 16px 18px; border-left: 2px solid #943a30; background: #faf0ed; color: #813126; font-size: 13px; margin-bottom: 25px; }
.application-error-summary:focus { outline: 2px solid #943a30; outline-offset: 3px; }
.application-field-error { color: #943a30; font-size: 12px; margin: 9px 0 0; }
.application-field [aria-invalid="true"] { border-color: #943a30; }
.application-choice:has([aria-invalid="true"]) { border-color: #943a30; }
.application-submit-status { margin: 15px 0 0; min-height: 20px; font-size: 12px; color: var(--muted); }
.application-loading { font-size: 12px; color: var(--muted); }
.application-success { padding-block: 18px 24px; }
.application-success > p:not(.eyebrow) { margin-top: 26px; font-size: 14px; }
.application-success .application-help { font-size: 12px !important; }
.application-success .button { margin-top: 24px; }
.application-reference { padding: 22px 0; border-block: 1px solid var(--line); font-size: 12px !important; }
.application-reference strong { display: block; margin-top: 7px; color: var(--navy); font-weight: 500; font-size: 17px; overflow-wrap: anywhere; }
.application-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 1000px) {
  .application-layout { grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: 35px; }
  .application-intro h1 { font-size: 45px; }
  .application-contact-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 800px) {
  .application-layout { grid-template-columns: minmax(0, 1fr); gap: 30px; max-width: 640px; }
  .application-intro > .text-link { margin-bottom: 26px; }
  .application-intro .eyebrow { margin-bottom: 17px; }
  .application-intro h1 { font-size: clamp(42px, 8vw, 61px); }
  .application-intro > p:not(.eyebrow) { max-width: 45ch; margin-top: 20px; }
  .application-intro figure { display: none; }
  .application-preview { margin-bottom: 27px; }
  .application-step h2, .application-success h2 { font-size: clamp(33px, 6.2vw, 44px); }
}
@media (max-width: 480px) {
  .application-progress { gap: 7px; margin-bottom: 30px; }
  .application-progress li { font-size: 10px; }
  .application-progress li span { display: block; margin: 0 0 3px; }
  .application-progress-heading > span { display: none; }
  .application-choice { padding: 17px 14px; gap: 12px; }
  .application-choice strong { font-size: 14px; }
  .application-choices-compact { grid-template-columns: minmax(0, 1fr); }
  .application-navigation { gap: 12px; }
  .application-navigation .button { min-width: 135px; gap: 15px; padding-left: 16px; font-size: 11px; }
  .application-review dl > div { grid-template-columns: 95px minmax(0, 1fr); gap: 12px; }
  .application-preview { padding: 14px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .application-choice { transition: none; }
}
