.careers-public { font-family:var(--ff-body); color:var(--clr-dark); }
.careers-public h1,.careers-public h2,.careers-public h3 { font-family:var(--ff-body); font-weight:700; }
.careers-hero { background:var(--clr-secondary); color:white; padding:clamp(48px,7vw,90px) 0; }
.careers-hero-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:80px; align-items:center; }
.careers-kicker { font-size:15px; margin-bottom:20px; color:#ffe082; }
.careers-hero h1 { font-size:clamp(36px,4.4vw,60px); line-height:1.1; letter-spacing:-1.5px; margin-bottom:24px; }
.careers-hero p { max-width:560px; line-height:1.8; font-size:17px; }
.careers-primary { background:var(--clr-primary,#ffc107); color:#222; border:2px solid var(--clr-primary,#ffc107); border-radius:var(--border-radius-md,8px); padding:12px 22px; font-weight:700; }
.careers-primary:hover { background:#e8ad00; color:#222; border-color:#e8ad00; }
.careers-public :focus-visible,.career-admin :focus-visible { outline:3px solid #2980b9; outline-offset:3px; }
.careers-hero :focus-visible { outline-color:white; }
.careers-purpose { border:1px solid #ffffff38; border-radius:24px; padding:32px; background:rgba(255,255,255,.09); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 16px 48px #001c1824; }
.careers-purpose h2 { font-size:30px; line-height:1.3; margin:20px 0 16px; }
.careers-purpose p { font-size:15px; }
.careers-purpose-sign { margin-top:26px; color:#ffe082; }
.careers-sun { display:block; width:52px; height:26px; background:var(--clr-primary); border-radius:52px 52px 0 0; border-bottom:3px solid white; }
.careers-content,.careers-process { padding-top:64px; padding-bottom:64px; }
.careers-section-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:30px; }
.careers-section-heading h2 { font-size:clamp(26px,3vw,36px); color:var(--clr-secondary); }
.careers-section-heading p { color:#666; margin:12px 0 0; }
.careers-section-heading > span { white-space:nowrap; font-size:14px; }
.careers-filter { width:100%; margin-bottom:28px; }
.careers-filter label { display:block; font-weight:600; margin-bottom:8px; }
.careers-job { display:flex; align-items:center; justify-content:space-between; gap:40px; border:1px solid #e0e8e2; border-radius:20px; background:white; padding:28px; box-shadow:0 5px 20px #183e2506; }

.careers-job > div { max-width:760px; }
.careers-job h3 { font-size:24px; margin:8px 0; }
.careers-job h3 a { color:var(--clr-secondary); text-decoration:none; }
.careers-job h3 a:hover { text-decoration:underline; }
.careers-job p { margin-bottom:0; line-height:1.7; }
.careers-department { color:#52655a; font-size:14px; font-weight:600; }
.careers-job-meta { font-size:14px; color:#666; margin:0 0 14px !important; }
.careers-outline { border:1px solid var(--clr-secondary); color:var(--clr-secondary); border-radius:var(--border-radius-md); padding:11px 20px; font-weight:600; flex-shrink:0; }
.careers-outline:hover { background:var(--clr-secondary); color:white; }
.careers-empty { padding:40px; background:var(--clr-bg-section); border-left:4px solid var(--clr-primary); }
.careers-detail-section { background:var(--clr-bg-section); padding:64px 0; scroll-margin-top:180px; }
.careers-detail-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:64px; align-items:start; }
.careers-job-detail h2 { font-size:36px; color:var(--clr-secondary); }
.careers-job-detail section { margin:28px 0; }
.careers-job-detail h3 { font-size:21px; margin-bottom:12px; }
.careers-prose { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.8; }
.careers-application { background:white; border:1px solid #dce4df; border-top:4px solid var(--clr-secondary); padding:30px; scroll-margin-top:180px; border-radius:0 0 8px 8px; }
.careers-application h2 { font-size:25px; color:var(--clr-secondary); }
.careers-application > p { color:#666; line-height:1.6; font-size:14px; }
.careers-application > label { display:block; margin:18px 0 7px; font-size:14px; font-weight:600; }
.careers-application label span { font-weight:400; }
.careers-application .form-control { padding:11px 12px; border-radius:6px; }
.careers-consent { display:flex !important; gap:10px; align-items:flex-start; line-height:1.6; margin-bottom:20px !important; }
.careers-consent input { margin-top:5px; flex-shrink:0; width:17px; height:17px; }
.careers-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.careers-process > div { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:30px; }
.careers-process article { border-top:3px solid var(--clr-primary); padding-top:20px; }
.careers-process h2 { color:var(--clr-secondary); font-size:30px; }
.careers-process h3 { font-size:21px; }.careers-process p { line-height:1.7; color:#666; }
@media(max-width:991px) { .careers-hero-grid { gap:32px; }.careers-detail-grid { gap:28px; }.careers-application { padding:22px; } }
@media(max-width:767px) {
 .careers-hero-grid,.careers-detail-grid { grid-template-columns:1fr; }
 .careers-purpose { padding-left:24px; }.careers-section-heading { align-items:flex-start; flex-direction:column; gap:12px; }
 .careers-job { align-items:flex-start; flex-direction:column; gap:18px; }
 .careers-process > div { grid-template-columns:1fr; gap:20px; }
 .careers-content,.careers-process,.careers-detail-section { padding-top:40px; padding-bottom:40px; }
 .careers-hero h1 { letter-spacing:-.8px; }.careers-job-detail h2 { font-size:30px; }
}

.careers-public [hidden] { display:none !important; }

#openings { scroll-margin-top:180px; }

/* Drone footage covers the hero without changing its content layout. */
.careers-hero { position:relative; isolation:isolate; overflow:hidden; padding-bottom:clamp(90px,9vw,120px); }
.careers-hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-2; pointer-events:none; }
.careers-hero-overlay { position:absolute; inset:0; background:linear-gradient(110deg,rgba(3,29,20,.94),rgba(3,34,22,.76)); z-index:-1; }
.careers-hero-grid { position:relative; }

/* Responsive Careers presentation; shared navigation and form behavior stay intact. */
.careers-public { background:#f7f9f6; }
.careers-public .container { max-width:1200px; }
.careers-hero { padding:80px 0; }
.careers-hero-grid { gap:64px; }
.careers-hero h1 { font-size:clamp(40px,4.7vw,64px); line-height:1.08; letter-spacing:-1.8px; }
.careers-hero .careers-kicker { font-size:12px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#ffda58; }
.careers-hero-copy > p:not(.careers-kicker) { color:#e0e9e3; margin-bottom:30px; }
.careers-hero-copy .careers-primary { display:inline-flex; justify-content:center; align-items:center; gap:24px; min-height:56px; background:#ffd23f; border-color:#ffd23f; color:#123c2a; border-radius:12px; }
.careers-hero-copy .careers-primary:hover { background:#ffe071; border-color:#ffe071; }
.careers-purpose h2 { margin-top:22px; letter-spacing:-.7px; }
.careers-purpose p { color:#e0e9e3; margin-bottom:0; }
.careers-purpose .careers-purpose-sign { color:#ffda58; font-size:12px; font-weight:600; }
.careers-content { padding-top:72px; padding-bottom:72px; }
.careers-section-heading h2 { letter-spacing:-1px; line-height:1.15; margin:0; }
.careers-section-heading p { max-width:440px; line-height:1.7; color:#5c6f62; }
.careers-position-count { display:inline-flex; align-items:center; gap:7px; background:#e8f0e7; border:1px solid #d6e5d5; color:#235338; padding:9px 14px; border-radius:999px; }
.careers-position-count strong { font-weight:800; }
.careers-search-field { position:relative; }
.careers-search-field > i { position:absolute; top:50%; left:18px; transform:translateY(-50%); color:#60806b; pointer-events:none; }
.careers-search-field .form-control { min-height:56px; padding:14px 42px; border:1px solid #d5dfd7; border-radius:12px; background:white; font-size:16px; }
.careers-filter label { font-size:13px; color:#365941; }
#careerCount:not(:empty) { padding-top:10px; color:#5c6f62; }
.careers-job-list { display:grid; gap:16px; }
.careers-job { transition:border-color .18s,box-shadow .18s; }
.careers-job:hover,.careers-job:focus-within { border-color:#a5bdaa; box-shadow:0 8px 28px #183e2510; }
.careers-job-copy { min-width:0; }
.careers-job h3 { font-size:24px; line-height:1.3; letter-spacing:-.5px; overflow-wrap:anywhere; }
.careers-job .careers-department { color:#427452; font-size:11px; letter-spacing:1.2px; text-transform:uppercase; font-weight:700; }
.careers-job .careers-job-meta { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:14px !important; color:#52685a; }
.careers-job-meta > span { display:inline-flex; align-items:baseline; gap:7px; overflow-wrap:anywhere; }
.careers-job-copy > p:last-child:not(.careers-job-meta) { color:#617067; font-size:14px; overflow-wrap:anywhere; }
.careers-job-link { display:inline-flex; align-items:center; gap:18px; border:0; padding:10px 0 10px 12px; min-height:48px; font-size:14px; }
.careers-job-arrow { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#edf4eb; font-size:22px; }
.careers-job-link:hover { background:transparent; color:#1c603b; }
.careers-job-link:hover .careers-job-arrow { background:#ffd23f; }
.careers-application { border-radius:18px; box-shadow:0 8px 32px #183e2508; }
.careers-application .form-control { font-size:16px; }
.careers-empty { border-radius:16px; background:#edf3e9; }
.careers-process article { background:white; padding:24px; border-radius:0 0 16px 16px; }
@media(max-width:991px) {
 .careers-hero-grid { gap:32px; }
 .careers-purpose { padding:26px; }
}
@media(max-width:767px) {
 .careers-public .container { padding-left:24px; padding-right:24px; }
 .careers-hero { padding:48px 0 40px; }
 .careers-hero-grid { gap:32px; }
 .careers-hero h1 { font-size:clamp(38px,9.5vw,56px); letter-spacing:-1.4px; margin-bottom:22px; }
 .careers-hero-copy > p:not(.careers-kicker) { font-size:16px; line-height:1.75; margin-bottom:26px; }
 .careers-hero-copy .careers-primary { width:100%; justify-content:space-between; padding:14px 20px; }
 .careers-purpose { padding:26px; border-radius:20px; }
 .careers-purpose h2 { font-size:28px; }
 .careers-purpose p { font-size:14px; line-height:1.75; }
 .careers-content,.careers-process,.careers-detail-section { padding-top:48px; padding-bottom:48px; }
 .careers-section-heading { gap:20px; margin-bottom:26px; }
 .careers-section-heading h2 { font-size:32px; max-width:330px; }
 .careers-section-heading p { font-size:15px; }
 .careers-job { padding:24px; gap:12px; border-radius:18px; }
 .careers-job h3 { font-size:23px; }
 .careers-job-link { width:100%; justify-content:space-between; padding:12px 0 0; border-top:1px solid #edf1eb; border-radius:0; }
 .careers-job .careers-job-meta { gap:8px 14px; font-size:13px; }
 .careers-application { padding:22px; }
 .careers-empty { padding:28px; }
}
@media(prefers-reduced-motion:reduce) { .careers-job { transition:none; } }
