nav a[aria-current="page"]:after { left:0; right:0; }

.careers-hero { min-height:610px; }
.careers-hero .hero-copy { padding-top:125px; padding-bottom:90px; }
.careers-hero .hero-image { min-height:610px; background-image:url('images/careers-hiring-team.webp'); background-position:center 50%; }
.careers-hero h1 { max-width:720px; font-size:clamp(46px,4.6vw,70px); }

.careers-language { min-height:98px; max-width:1320px; margin:auto; padding:22px 30px; display:flex; align-items:center; justify-content:center; gap:20px; }
.careers-language > span { flex:0 0 auto; width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:#e2f7f7; color:#087f85; font-size:12px; font-weight:850; }
.careers-language p { margin:0; color:#48687b; line-height:1.6; }
.careers-language strong { color:var(--ink); }

.careers-intro { max-width:1440px; margin:auto; display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:end; }
.careers-intro h2, .openings-heading h2, .application-copy h2 { margin:0; color:var(--ink); font-size:clamp(38px,3.8vw,57px); line-height:1.08; letter-spacing:-.04em; }
.careers-intro > p { margin:0; color:#587080; font-size:19px; line-height:1.75; }

.openings-section { background:var(--off); }
.openings-heading { max-width:1320px; margin:0 auto 48px; display:flex; align-items:end; justify-content:space-between; gap:60px; }
.openings-heading > p { max-width:500px; margin:0; color:#587080; font-size:17px; line-height:1.7; }
.job-grid { max-width:1320px; margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.job-card { position:relative; padding:38px; background:#fff; border:1px solid #dce7eb; box-shadow:0 16px 45px #0635630a; display:flex; flex-direction:column; }
.job-card-featured { border-top:4px solid var(--teal); padding-top:35px; }
.job-card-top { min-height:31px; display:flex; justify-content:space-between; align-items:center; gap:14px; }
.job-status { padding:7px 10px; border-radius:99px; background:#dff6ed; color:#08735f; font-size:11px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.job-status-evergreen { background:#e4f4f8; color:#13657b; }
.job-pay { max-width:245px; color:var(--ink); font-size:13px; font-weight:800; line-height:1.35; text-align:right; }
.job-number { margin:34px 0 12px; color:var(--teal); font-size:12px; font-weight:850; letter-spacing:.16em; }
.job-card h3 { margin:0; color:var(--ink); font-size:30px; line-height:1.2; letter-spacing:-.025em; }
.job-summary { margin:18px 0 27px; color:#5a7282; font-size:17px; line-height:1.65; }
.job-facts { margin:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.job-facts > div { display:grid; grid-template-columns:105px 1fr; gap:18px; padding:14px 0; border-bottom:1px solid #edf2f4; }
.job-facts > div:last-child { border:0; }
.job-facts dt { color:#78909e; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.job-facts dd { margin:0; color:#26485e; line-height:1.45; }
.job-card h4 { margin:28px 0 14px; color:var(--ink); font-size:16px; }
.job-requirements { margin:0 0 30px; padding:0; list-style:none; display:grid; gap:10px; }
.job-requirements li { position:relative; padding-left:27px; color:#536d7d; line-height:1.5; }
.job-requirements li:before { content:"✓"; position:absolute; left:0; top:0; color:#07959b; font-weight:850; }
.job-apply { width:100%; margin-top:auto; }

.application-section { padding:110px max(6vw,60px); display:grid; grid-template-columns:.8fr 1.2fr; gap:7vw; align-items:start; background:var(--navy-deep); color:#fff; }
.application-copy { position:sticky; top:35px; }
.application-copy h2 { color:#fff; }
.application-copy > p:not(.eyebrow):not(.sensitive-data-note) { max-width:560px; margin:25px 0 36px; color:#cbdde7; font-size:18px; line-height:1.7; }
.application-steps { display:grid; gap:18px; }
.application-steps > div { display:grid; grid-template-columns:42px 1fr; gap:15px; align-items:start; }
.application-steps span { width:38px; height:38px; display:grid; place-items:center; border:1px solid #6f9db8; border-radius:50%; color:#64d4d8; font-size:11px; font-weight:850; }
.application-steps p { margin:0; color:#c4d7e1; line-height:1.55; }
.application-steps strong { color:#fff; }
.sensitive-data-note { margin:35px 0 0; padding:20px 22px; border-left:3px solid var(--teal); background:#ffffff0b; color:#bcd2de; line-height:1.6; }
.sensitive-data-note strong { color:#fff; }

.application-form { gap:19px; }
.form-heading { padding-bottom:7px; }
.form-heading .eyebrow { margin-bottom:12px; }
.form-heading h3 { margin:0; color:var(--ink); font-size:29px; }
.form-heading > p:last-child { margin:6px 0 0; color:#718795; }
.application-form label { line-height:1.35; }
.consent-field { grid-template-columns:22px 1fr !important; gap:12px !important; align-items:start; padding:15px; background:#f4f8f9; border:1px solid #dce7eb; color:#4d6777 !important; font-weight:600 !important; line-height:1.55 !important; }
.consent-field input { width:18px !important; height:18px; margin:2px 0 0; accent-color:var(--teal); }
.careers-equal-note { padding:26px max(5vw,42px); background:#e9f7f7; text-align:center; color:#31586d; font-size:14px; }
.careers-equal-note p { margin:0; }

@media (max-width:1240px) {
  .site-header nav { gap:20px; }
  .site-header .phone-link { display:none; }
}
@media (max-width:900px) {
  .careers-intro, .application-section { grid-template-columns:1fr; }
  .careers-intro { gap:28px; }
  .openings-heading { display:block; }
  .openings-heading > p { margin-top:20px; }
  .job-grid { grid-template-columns:1fr; }
  .application-section { gap:55px; }
  .application-copy { position:static; }
}
@media (max-width:820px) {
  .careers-hero .hero-copy { padding:75px 26px 68px; }
  .careers-hero .hero-image { min-height:400px; }
  .careers-language { justify-content:flex-start; padding:22px 26px; }
  .application-section { padding:80px 26px; }
}
@media (max-width:520px) {
  .careers-language { align-items:flex-start; }
  .job-card { padding:28px 22px; }
  .job-card-top { align-items:flex-start; flex-direction:column; }
  .job-pay { max-width:none; text-align:left; }
  .job-card h3 { font-size:27px; }
  .job-facts > div { grid-template-columns:1fr; gap:4px; }
}
