.careers-page .site-header { background: rgba(8,10,9,.9); }
.careers-hero { position: relative; margin-top: var(--header); min-height: clamp(680px, 58vw, 1050px); display: flex; align-items: center; overflow: hidden; }
.careers-hero > img { position: absolute; width: 100%; height: 100%; inset: 0; object-fit: contain; object-position: right center; }
.careers-scrim { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(8,10,9,.78),rgba(8,10,9,.25) 55%,rgba(8,10,9,.05)),linear-gradient(0deg,var(--carbon),transparent 22%); }
.careers-hero-copy { position: relative; padding-block: 80px; }
.careers-hero h1 { font-size: clamp(3.1rem,5.4vw,5.4rem); max-width: 13ch; margin: 28px 0; line-height: 1.03; }
.careers-hero-copy > p:not(.eyebrow) { max-width: 38ch; color: var(--on-dark-muted); font-size: 1.05rem; line-height: 1.7; }
.careers-hero .button { margin-top: 32px; }
.career-section { padding-block: 110px; border-top: 1px solid var(--rule-dark); }
.career-columns { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(48px,8vw,128px); }
.career-columns h2 { font-size: clamp(2.6rem,3.8vw,4rem); line-height: 1.08; margin-top: 26px; max-width: 17ch; }
.career-prose { max-width: 65ch; }
.career-prose p { margin-bottom: 24px; color: var(--on-dark-muted); line-height: 1.85; }
.career-prose h3 { font-size: 1.2rem; margin-top: 36px; }
.career-pledge { list-style: none; padding: 0; margin: 24px 0 32px; }
.career-pledge li { border-top: 1px solid var(--rule-dark); padding: 18px 0 18px 22px; position: relative; color: var(--canvas); }
.career-pledge li::before { content: '—'; position: absolute; left: 0; color: var(--signal); }
.career-veterans,.career-apply { background: var(--graphite); }
.application-company { margin-top: 28px; font-size: .9rem; color: var(--on-dark-muted); }
.career-apply .notice { margin-top: 32px; max-width: 38ch; }
.career-form h3 { font-size: 1.35rem; line-height: 1.2; margin-bottom: 12px; }
.resume-field span { font-size: .75rem; text-transform: none; color: var(--on-dark-muted); }
.career-form input[type=file] { font-size: .8rem; border: 1px dashed var(--rule-dark-strong); padding: 16px; }
.career-form input::file-selector-button { background: var(--carbon); color: var(--canvas); border: 1px solid var(--rule-dark-strong); padding: 8px 12px; margin-right: 12px; }
#application-status { color: var(--signal); font-size: .9rem; }
/* Keep the whole team visible when an overlay no longer fits beside them. */
@media(max-width:1099px) {
 .careers-hero { min-height: 0; display: flex; flex-direction: column; }
 .careers-hero-copy { order: -1; padding-block: 56px 40px; }
 .careers-hero > img { position: static; height: auto; width: 100%; }
 .careers-scrim { display: none; }
 .careers-hero h1 { max-width: 18ch; }
 .career-columns { grid-template-columns: 1fr; gap: 36px; }
}
.career-columns > *, .career-form label, .career-form input { min-width: 0; }
.career-form input[type=file] { width: 100%; }
@media(max-width:767px) {
 .careers-hero-copy { padding-block: 40px 32px; }
 .careers-hero h1 { font-size: clamp(2.65rem,10vw,4rem); }
 .career-section { padding-block: 64px; }
 .career-columns { grid-template-columns: 1fr; gap: 36px; }
 .career-columns h2 { font-size: 2.65rem; }
 .career-form { grid-template-columns: 1fr; }
}

/* The application uses two columns, not the homepage's twelve-column form grid. */
.career-apply .career-form { grid-column: auto; margin-top: 0; width: 100%; }
.career-apply .career-columns { gap: clamp(32px,4vw,64px); }
.career-apply .career-columns > div { width: 100%; }
.career-apply h2 { max-width: none; }
