/* ─── Career Center & Member Login ───────────────── */
.career-page .career-hero-grid > div { min-width: 0; }
.career-page .application-preview-note { margin-top: 1.5rem; font-size: .8rem; line-height: 1.6; }
.candidate-page #candidateForm { scroll-margin-top: 110px; }
.career-page #opportunities { scroll-margin-top: 100px; }
.career-hero { padding: calc(var(--nav-h) + 5rem) 0 5rem; background: var(--void); border-bottom: 1px solid var(--rule-dark); }
.career-hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(3rem,8vw,8rem); align-items: end; }
.career-hero h1,.login-intro h1 { font-family: var(--f-display); font-size: clamp(3.5rem,7vw,6.7rem); font-weight: 500; line-height: .92; letter-spacing: -.035em; text-wrap: balance; }
.career-hero h1 em,.login-intro h1 em { font-weight: 400; }
.career-hero-copy { padding-bottom: .5rem; }
.career-hero-copy>p { max-width: 52ch; color: var(--on-dark-muted); font-size: 1.06rem; line-height: 1.8; }
.career-hero-actions { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; margin-top: 2rem; }
.career-section-head { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem,7vw,7rem); align-items: end; margin-bottom: 3rem; }
.career-section-head h2,.career-process-title { font-family: var(--f-display); font-size: clamp(2.7rem,5.3vw,5rem); font-weight: 500; line-height: .98; letter-spacing: -.025em; }
.career-section-head h2 em { font-weight: 400; }
.career-section-head>p { color: var(--on-surface-muted); max-width: 52ch; }
.career-track-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--rule-surface); }
.career-track { min-height: 310px; padding: clamp(1.6rem,3vw,2.7rem); border-right: 1px solid var(--rule-surface); background: rgba(255,255,255,.2); }
.career-track:last-child { border-right: 0; }
.career-track>span,.career-process>li>span { font-family: var(--f-mono); color: var(--brass); font-size: .68rem; letter-spacing: .15em; }
.career-track h3 { margin: 4.5rem 0 1rem; font-family: var(--f-display); font-size: 2rem; line-height: 1; font-weight: 500; }
.career-track p { color: var(--on-surface-muted); font-size: .94rem; }
.career-opportunities { background: #f8faf6; }
.opening-card { display: grid; grid-template-columns: .85fr 1.15fr; border: 1px solid var(--rule-surface); background: var(--surface); }
.opening-main,.opening-details { padding: clamp(2rem,5vw,4rem); }
.opening-main { border-right: 1px solid var(--rule-surface); background: var(--deep); }
.opening-status { display: inline-block; margin-bottom: 3rem; padding: .42rem .7rem; background: rgba(123,155,103,.15); font-family: var(--f-mono); font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; }
.opening-main h3 { font-family: var(--f-display); font-size: clamp(2.2rem,4vw,3.7rem); font-weight: 500; line-height: 1; }
.opening-main>p:last-child { margin-top: 1rem; color: var(--on-dark-muted); }
.opening-details { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 1.7rem; }
.opening-details p { max-width: 56ch; color: var(--on-surface-muted); font-size: 1rem; }
.career-note { margin-top: 1.25rem; padding: 1.15rem 1.3rem; border-left: 3px solid var(--brass); background: var(--surface); color: var(--on-surface-muted); font-size: .85rem; }
.career-process-title { max-width: 16ch; margin-bottom: 3rem; }
.career-process { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--rule-dark); }
.career-process>li { display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding: 2rem 1.2rem 0 0; }
.career-process h3 { font-family: var(--f-display); font-size: 1.6rem; font-weight: 500; line-height: 1; }
.career-process p { margin-top: .7rem; color: var(--on-dark-muted); font-size: .85rem; }
.login-page { padding: clamp(3rem, 6vw, 5rem) 0 5rem; background: linear-gradient(135deg,var(--void) 0%,var(--deep) 100%); }
.login-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(380px,.78fr); gap: clamp(3rem,8vw,8rem); align-items: center; }
.login-intro>p:not(.eyebrow) { max-width: 56ch; margin-top: 2rem; color: var(--on-dark-muted); font-size: 1rem; }
.login-benefits { margin-top: 2.5rem; border-top: 1px solid var(--rule-dark); }
.login-benefits li { display: flex; align-items: center; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--rule-dark); color: var(--on-dark-muted); }
.login-benefits span { font-family: var(--f-mono); color: var(--brass); font-size: .65rem; }
.login-card-wrap { display: grid; gap: 1rem; }
.login-card,.invite-card { padding: clamp(2rem,4vw,3.2rem); border: 1px solid var(--rule-surface); background: var(--surface); box-shadow: 0 22px 60px rgba(30,86,49,.08); }
.login-card-head { margin-bottom: 2rem; }
.login-card h2,.invite-card h2 { font-family: var(--f-display); font-size: 2.5rem; font-weight: 500; line-height: 1; }
.login-card-head>p:last-child,.invite-card>p { margin-top: .8rem; color: var(--on-surface-muted); font-size: .88rem; }
.login-card label { display: block; margin-bottom: .45rem; font-size: .78rem; font-weight: 600; }
.login-card input { width: 100%; margin-bottom: 1.2rem; padding: .9rem 1rem; border: 1px solid var(--rule-surface); color: var(--on-surface); background: #fff; }
.login-card input:disabled { opacity: .75; }
.login-password-label { display: flex; justify-content: space-between; }
.login-password-label span { color: var(--on-surface-muted); font-size: .72rem; }
.login-submit { width: 100%; justify-content: center; margin-top: .3rem; }
.login-submit:disabled { cursor: not-allowed; opacity: .75; }
.login-status { margin-top: 1rem; padding: .9rem 1rem; border-left: 3px solid var(--brass); background: var(--surface-2); color: var(--on-surface-muted); font-size: .75rem; }
.invite-card { box-shadow: none; background: rgba(244,248,241,.7); }
.invite-card .text-link { margin-top: 1.2rem; }
@media (max-width: 900px) {
  .career-hero-grid,.career-section-head,.opening-card,.login-layout { grid-template-columns: 1fr; }
  .career-track-grid { grid-template-columns: 1fr; }
  .career-track { min-height: 0; border-right: 0; border-bottom: 1px solid var(--rule-surface); }
  .career-track:last-child { border-bottom: 0; }
  .career-track h3 { margin-top: 2.5rem; }
  .opening-main { border-right: 0; border-bottom: 1px solid var(--rule-surface); }
  .career-process { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
}
@media (max-width: 560px) {
  .career-process { grid-template-columns: 1fr; }
  .login-layout { display: block; }
  .login-card-wrap { margin-top: 3rem; }
}
