.careers-page {
  --career-ink: var(--brand-navy);
  --career-paper: var(--brand-ivory);
  --career-paper-bright: var(--brand-ivory-bright);
  --career-accent: var(--brand-copper);
  --career-gold: var(--brand-gold);
  background: var(--career-paper);
  color: var(--career-ink);
}

.careers-page [hidden] { display: none; }
.careers-page :where(a, button, input, select, textarea, summary):focus-visible,
.article-header .career-dropdown :where(button, a):focus-visible,
.order-site-header .career-dropdown :where(button, a):focus-visible {
  outline: 3px solid var(--brand-gold);
  outline-offset: 4px;
}

.career-hero {
  overflow: hidden;
  background: var(--career-ink);
  color: var(--career-paper);
}

.career-hero__grid {
  display: grid;
  min-height: clamp(40rem, 78vh, 58rem);
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr);
  align-items: center;
  gap: clamp(2.5rem, 7vw, 7rem);
  padding-block: clamp(5rem, 10vw, 9rem);
}

.career-hero__copy { max-width: 44rem; }
.career-kicker {
  margin: 0 0 1rem;
  color: var(--career-accent);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.career-hero .career-kicker { color: var(--career-gold); }
.career-hero h1 {
  max-width: 14ch;
  margin: 0;
  color: var(--career-paper);
  font-family: var(--font-display);
  font-size: clamp(3.4rem, 7.8vw, 7.8rem);
  font-weight: 620;
  letter-spacing: -.065em;
  line-height: .9;
}

.career-hero__copy > p:not(.career-kicker) {
  max-width: 38rem;
  margin: 1.75rem 0 0;
  color: rgb(245 239 228 / .76);
  font-size: clamp(1.02rem, 1.6vw, 1.25rem);
  line-height: 1.7;
}

.career-actions,
.career-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  margin-top: 2rem;
}

.career-hero .button--outline { border-color: rgb(245 239 228 / .46); color: var(--career-paper); }
.career-hero .button--outline:hover { background: var(--career-paper); color: var(--career-ink); }
.career-hero__visual { position: relative; margin: 0; }
.career-hero__visual::before {
  position: absolute;
  inset: -1.2rem 1.2rem 1.2rem -1.2rem;
  border: 1px solid rgb(209 160 80 / .55);
  content: "";
}
.career-hero__visual img { position: relative; display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.career-hero__visual figcaption { margin-top: 1rem; color: rgb(245 239 228 / .68); font-size: .86rem; line-height: 1.5; }

.career-finder,
.career-journey,
.career-faq { padding-block: clamp(5rem, 9vw, 8rem); }
.career-finder { scroll-margin-top: 6rem; }
.career-section-heading { display: grid; max-width: 64rem; grid-template-columns: minmax(12rem, .4fr) minmax(20rem, 1fr); gap: 0 clamp(2rem, 6vw, 6rem); }
.career-section-heading .career-kicker { grid-row: 1 / span 2; }
.career-section-heading h2,
.career-faq h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 5.5vw, 5.4rem);
  letter-spacing: -.055em;
  line-height: .94;
}
.career-section-heading > p:last-child { max-width: 38rem; margin: 1rem 0 0; color: var(--brand-muted); line-height: 1.7; }

.career-filter-grid {
  display: grid;
  grid-template-columns: 1.35fr repeat(3, 1fr);
  gap: 1px;
  margin-top: 3.5rem;
  border: 1px solid var(--brand-rule);
  background: var(--brand-rule);
}
.career-filter-grid label { display: grid; gap: .55rem; padding: 1rem; background: var(--career-paper-bright); }
.career-filter-grid label > span,
.career-field > span { font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.career-filter-grid input,
.career-filter-grid select,
.career-field input,
.career-field select,
.career-field textarea {
  width: 100%;
  min-height: 3rem;
  border: 1px solid rgb(7 26 44 / .28);
  border-radius: var(--brand-control-radius);
  background: #fffdf8;
  color: var(--career-ink);
  font: inherit;
}
.career-filter-grid input,
.career-filter-grid select,
.career-field input,
.career-field select { padding: .72rem .8rem; }
.career-field textarea { min-height: 9rem; padding: .8rem; resize: vertical; }

.career-runtime-error { margin: 2rem 0 0; color: var(--brand-copper-deep); }
.career-position-list { display: grid; gap: 1rem; margin-top: 2.25rem; }
.career-position-card {
  display: grid;
  grid-template-columns: minmax(14rem, .7fr) minmax(12rem, .45fr) minmax(18rem, 1fr) auto;
  align-items: center;
  gap: clamp(1rem, 3vw, 3rem);
  padding: clamp(1.3rem, 2.4vw, 2rem);
  border-top: 1px solid var(--brand-rule);
  background: var(--career-paper-bright);
}
.career-position-card:last-child { border-bottom: 1px solid var(--brand-rule); }
.career-position-card h3 { margin: 0; font-family: var(--font-display); font-size: clamp(1.55rem, 2.4vw, 2.35rem); letter-spacing: -.035em; }
.career-position-card p { margin: 0; line-height: 1.55; }
.career-position-card__meta { color: var(--career-accent); font-size: .82rem; font-weight: 780; }
.career-position-card__summary { color: var(--brand-muted); }
.career-position-card__footer { display: grid; justify-items: end; gap: .65rem; }
.career-position-card__detail-link { color: inherit; text-decoration-color: transparent; text-underline-offset: .16em; transition: text-decoration-color 180ms ease, color 180ms ease; }
.career-position-card__detail-link:hover,
.career-position-card__detail-link:focus-visible { color: var(--career-copper); text-decoration-color: currentColor; }
.career-position-card__deadline { color: var(--brand-muted); font-size: .78rem; }
.career-position-card .button { white-space: nowrap; }
.training-course-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2.25rem;
}
.training-course-card {
  display: grid;
  min-width: 0;
  align-content: start;
  gap: .9rem;
  padding: clamp(1.4rem, 2.8vw, 2.2rem);
  border: 1px solid var(--brand-rule);
  background: var(--career-paper-bright);
}
.training-course-card h3 { margin: 0; font-family: var(--font-display); font-size: clamp(1.7rem, 3vw, 2.7rem); letter-spacing: -.04em; }
.training-course-card p { margin: 0; overflow-wrap: anywhere; line-height: 1.6; }
.training-course-card__meta { color: var(--career-accent); font-size: .82rem; font-weight: 780; }
.training-course-card__summary,
.training-course-card__curriculum { color: var(--brand-muted); }
.training-course-card__curriculum { padding-top: .9rem; border-top: 1px solid var(--brand-rule); font-size: .92rem; }
.training-course-card__footer { display: grid; align-items: end; gap: .5rem; margin-top: auto; padding-top: .6rem; }
.training-course-card__session,
.training-course-card__capacity { color: var(--brand-muted); font-size: .78rem; }
.training-course-card__footer .button { justify-self: start; margin-top: .45rem; }
.career-zero { margin-top: 2rem; padding: 2rem; border: 1px dashed var(--brand-rule); text-align: center; }
.career-zero h3 { margin: 0; font-family: var(--font-display); font-size: 2rem; }
.career-zero p { margin: .7rem 0 0; color: var(--brand-muted); line-height: 1.65; }
.career-zero a { color: var(--career-accent); font-weight: 750; }

.career-culture { padding-block: clamp(5rem, 9vw, 8rem); background: var(--career-ink); color: var(--career-paper); }
.career-culture .career-section-heading h2 { color: var(--career-paper); }
.career-culture .career-kicker { color: var(--career-gold); }
.career-panel-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 4rem; border-block: 1px solid rgb(245 239 228 / .2); }
.career-panel-grid article { min-height: 20rem; padding: clamp(1.5rem, 3vw, 2.6rem); border-inline-end: 1px solid rgb(245 239 228 / .2); }
.career-panel-grid article:last-child { border-inline-end: 0; }
.career-panel-index { color: var(--career-gold); font-size: .8rem; font-weight: 800; }
.career-panel-grid h3 { margin: 5rem 0 1rem; color: var(--career-paper); font-family: var(--font-display); font-size: clamp(1.7rem, 3vw, 2.7rem); letter-spacing: -.04em; }
.career-panel-grid article > p:last-child { color: rgb(245 239 228 / .72); line-height: 1.7; }
.training-topic-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 4rem; border-block: 1px solid rgb(245 239 228 / .2); }
.training-topic-grid article { min-width: 0; min-height: 18rem; padding: clamp(1.25rem, 2.5vw, 2.2rem); border-inline-end: 1px solid rgb(245 239 228 / .2); }
.training-topic-grid article:last-child { border-inline-end: 0; }
.training-topic-grid h3 { margin: 3.7rem 0 1rem; color: var(--career-paper); font-family: var(--font-display); font-size: clamp(1.4rem, 2.2vw, 2rem); letter-spacing: -.035em; }
.training-topic-grid article > p:last-child { color: rgb(245 239 228 / .72); line-height: 1.65; }

.career-journey__steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 4rem 0 0; padding: 0; background: var(--brand-rule); list-style: none; }
.career-journey__steps li { min-height: 18rem; padding: 1.7rem; background: var(--career-paper-bright); }
.career-journey__steps span { color: var(--career-accent); font-size: .78rem; font-weight: 800; }
.career-journey__steps h3 { margin: 4.5rem 0 .8rem; font-family: var(--font-display); font-size: 1.8rem; letter-spacing: -.035em; }
.career-journey__steps p { margin: 0; color: var(--brand-muted); line-height: 1.65; }
.training-learning-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 2rem);
  margin: 4rem 0 0;
  padding: 0;
  list-style: none;
}
.training-learning-steps::before { position: absolute; top: 1rem; right: 12%; left: 12%; height: 1px; background: var(--brand-rule); content: ""; }
.training-learning-steps li { position: relative; min-width: 0; padding: 3rem 1.25rem 1.5rem; border-bottom: 1px solid var(--brand-rule); background: var(--career-paper-bright); }
.training-learning-steps span { position: absolute; top: .55rem; left: 1.25rem; z-index: 1; padding-inline: .45rem; background: var(--career-paper-bright); color: var(--career-accent); font-size: .78rem; font-weight: 800; }
.training-learning-steps h3 { margin: 0 0 .8rem; font-family: var(--font-display); font-size: 1.8rem; letter-spacing: -.035em; }
.training-learning-steps p { margin: 0; color: var(--brand-muted); line-height: 1.65; }

.career-visual-strip { display: grid; grid-template-columns: 1fr 1.35fr 1fr; background: var(--career-ink); }
.career-visual-strip figure { position: relative; min-height: 30rem; margin: 0; overflow: hidden; }
.career-visual-strip img { width: 100%; height: 100%; object-fit: cover; }
.career-visual-strip figcaption { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; padding: .8rem 1rem; background: rgb(7 26 44 / .82); color: var(--career-paper); font-size: .82rem; }

.career-application { padding-block: clamp(4rem, 8vw, 7rem); scroll-margin-top: 5rem; }
.career-sheet { border: 1px solid var(--brand-rule); background: var(--career-paper-bright); box-shadow: var(--brand-shadow); }
.career-sheet__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; padding: clamp(1.5rem, 4vw, 3rem); border-bottom: 1px solid var(--brand-rule); }
.career-sheet__header h2 { max-width: 16ch; margin: 0; font-family: var(--font-display); font-size: clamp(2.3rem, 5vw, 4.7rem); letter-spacing: -.05em; line-height: .95; }
.career-sheet__close { display: inline-flex; align-items: center; gap: .55rem; border: 0; background: transparent; color: var(--career-ink); font: inherit; font-weight: 800; }
.career-sheet__close span { color: var(--career-accent); font-size: 1.5rem; }
.career-role-detail { padding: clamp(1.5rem, 4vw, 3rem); border-bottom: 1px solid var(--brand-rule); }
.career-role-detail > p:first-child { margin: 0; color: var(--career-accent); font-size: .82rem; font-weight: 800; }
.career-role-detail > h3 { margin: .5rem 0 1rem; font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3.6rem); letter-spacing: -.045em; }
.career-role-detail > p { max-width: 54rem; color: var(--brand-muted); line-height: 1.7; }
.career-role-detail__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 2rem; background: var(--brand-rule); }
.career-role-detail__grid > div { padding: 1.4rem; background: var(--career-paper); }
.career-role-detail__grid h4 { margin: 0 0 .7rem; font-size: .8rem; letter-spacing: .05em; text-transform: uppercase; }
.career-role-detail__grid p { margin: 0; color: var(--brand-muted); line-height: 1.65; white-space: pre-line; }

.career-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; padding: clamp(1.5rem, 4vw, 3rem); }
.career-field { display: grid; align-content: start; gap: .55rem; }
.career-field--full { grid-column: 1 / -1; }
.career-field small:not(.field-error) { color: var(--brand-muted); font-size: .76rem; font-weight: 500; letter-spacing: 0; line-height: 1.45; text-transform: none; }
.career-field [aria-invalid="true"] { border-color: var(--brand-copper); box-shadow: 0 0 0 2px rgb(181 82 50 / .16); }
.career-consent { display: flex; align-items: flex-start; gap: .8rem; color: var(--brand-muted); line-height: 1.6; }
.career-consent input { width: 1.2rem; height: 1.2rem; flex: 0 0 auto; margin-top: .2rem; accent-color: var(--career-accent); }
.career-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.career-error-summary { margin: 2rem 3rem 0; padding: 1rem 1.25rem; border-inline-start: 4px solid var(--career-accent); background: rgb(181 82 50 / .08); }
.career-error-summary p { margin: 0; font-weight: 800; }
.career-error-summary ul { margin: .6rem 0 0; }
.career-review { padding: clamp(1.5rem, 4vw, 3rem); }
.career-review h3 { margin: 0; font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.045em; }
.career-review > p:not(.career-kicker) { color: var(--brand-muted); }
.career-review dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin: 2rem 0 0; background: var(--brand-rule); }
.career-review dl > div { padding: 1.2rem; background: var(--career-paper); }
.career-review dt { color: var(--career-accent); font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.career-review dd { margin: .45rem 0 0; overflow-wrap: anywhere; line-height: 1.6; }
.career-visible-status {
  margin: 0 3rem 3rem;
  padding: .95rem 1.1rem;
  border: 1px solid rgb(181 82 50 / .18);
  background: rgb(181 82 50 / .08);
  color: var(--career-ink);
  line-height: 1.6;
}
.career-visible-status:empty { display: none; }

.career-faq { display: grid; grid-template-columns: minmax(16rem, .72fr) minmax(20rem, 1fr); gap: clamp(3rem, 8vw, 8rem); }
.career-faq__heading { align-self: start; position: sticky; top: 7rem; }
.career-faq__heading > p:last-child { color: var(--brand-muted); line-height: 1.7; }
.career-faq__heading a { color: var(--career-accent); font-weight: 750; }
.career-faq__list details { border-top: 1px solid var(--brand-rule); }
.career-faq__list details:last-child { border-bottom: 1px solid var(--brand-rule); }
.career-faq__list summary { padding: 1.4rem 2rem 1.4rem 0; cursor: pointer; font-family: var(--font-display); font-size: 1.35rem; font-weight: 700; }
.career-faq__list details p { margin: -.3rem 0 1.4rem; color: var(--brand-muted); line-height: 1.7; }

.order-site-header .career-dropdown .menu-dropdown__toggle { color: var(--brand-ivory); font-size: .8rem; font-family: inherit; font-weight: 800; letter-spacing: .025em; text-transform: none; }
.order-site-header .career-dropdown .menu-dropdown__panel a { color: var(--brand-navy); }
.article-header .career-dropdown { position: relative; }
.article-header .career-dropdown .menu-dropdown__toggle { min-height: 0; font: inherit; font-weight: 700; letter-spacing: 0; text-transform: none; }
.article-header .career-dropdown .menu-dropdown__panel {
  inset: calc(100% + .55rem) auto auto 0;
  min-width: 15rem;
}

@media (max-width: 1100px) {
  .career-position-card { grid-template-columns: minmax(14rem, .8fr) minmax(16rem, 1fr) auto; }
  .career-position-card__meta { grid-column: 1; }
  .career-position-card__summary { grid-column: 2; grid-row: 1 / span 2; }
  .career-position-card__footer { grid-column: 3; grid-row: 1 / span 2; }
  .training-topic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .training-topic-grid article { min-height: 0; border-bottom: 1px solid rgb(245 239 228 / .2); }
}

@media (max-width: 960px) {
  .article-header {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .article-header nav {
    width: 100%;
    flex-wrap: wrap;
    gap: .8rem;
  }

  .article-header .career-dropdown {
    width: 100%;
    min-width: 0;
  }

  .article-header .career-dropdown .menu-dropdown__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: .7rem 1rem;
    border: 1px solid var(--brand-rule);
    border-radius: 999px;
    background: var(--brand-ivory-bright);
  }

  .article-header .career-dropdown .menu-dropdown__panel {
    position: absolute;
    z-index: 2;
    top: calc(100% + .55rem);
    left: 0;
    right: 0;
    display: grid;
    min-width: 0;
    padding: 8px;
    border: 1px solid var(--brand-rule);
    border-radius: var(--brand-control-radius);
    background: var(--brand-ivory-bright);
    box-shadow: var(--brand-shadow);
  }
}

@media (max-width: 800px) {
  .career-hero__grid,
  .career-faq { grid-template-columns: 1fr; }
  .career-hero__grid { padding-top: 4rem; }
  .career-hero__visual { width: min(88%, 34rem); margin-left: auto; }
  .career-section-heading { display: block; }
  .career-filter-grid { grid-template-columns: repeat(2, 1fr); }
  .career-position-card { grid-template-columns: 1fr; }
  .training-course-card { grid-template-columns: 1fr; }
  .training-course-list { grid-template-columns: 1fr; }
  .career-position-card__meta,
  .career-position-card__summary,
  .career-position-card__footer { grid-column: auto; grid-row: auto; }
  .career-position-card__footer { justify-items: start; }
  .career-panel-grid,
  .training-topic-grid,
  .career-role-detail__grid { grid-template-columns: 1fr; }
  .career-panel-grid article { min-height: 0; border-inline-end: 0; border-bottom: 1px solid rgb(245 239 228 / .2); }
  .career-panel-grid h3 { margin-top: 2rem; }
  .career-journey__steps { grid-template-columns: repeat(2, 1fr); }
  .training-learning-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .training-learning-steps::before { display: none; }
  .career-visual-strip { grid-template-columns: 1fr; }
  .career-visual-strip figure { min-height: 22rem; }
  .career-faq__heading { position: static; }
}

@media (max-width: 560px) {
  .career-hero h1 { font-size: clamp(3rem, 16vw, 5rem); }
  .career-filter-grid,
  .career-journey__steps,
  .training-learning-steps,
  .career-form,
  .career-review dl { grid-template-columns: 1fr; }
  .career-sheet__header { display: grid; }
  .career-field--full { grid-column: auto; }
  .career-error-summary { margin-inline: 1.5rem; }
  .career-visible-status { margin-inline: 1.5rem; }
  .career-actions .button,
  .career-form__actions .button { width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .careers-page *,
  .article-header .career-dropdown *,
  .order-site-header .career-dropdown * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
