.vacancy-card{display:flex;align-items:center;justify-content:space-between;gap:28px}.vacancy-card h3{font-size:1.8rem}.vacancy-card .btn{flex-shrink:0}.job-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.job-facts dt{font-size:.73rem;color:var(--slate);text-transform:uppercase;letter-spacing:.08em}.job-facts dd{margin:3px 0 0;font-weight:700;overflow-wrap:anywhere}.empty-state{border-left:4px solid var(--gold);max-width:850px}.empty-state a,.privacy-note a{ text-decoration:underline }.job-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:60px;align-items:start}.job-copy{margin-bottom:40px}.job-copy h2{font-size:2rem}.job-copy p{white-space:pre-line}.job-summary{position:sticky;top:105px}.job-summary .job-facts{grid-template-columns:1fr}.application-section{margin-top:70px;padding-top:55px;border-top:1px solid var(--line);scroll-margin-top:110px}.application-section .form{max-width:1000px}.privacy-note{padding:20px;background:var(--cream);border-radius:12px}.privacy-note h3{font-size:1.2rem}.privacy-note p{font-size:.88rem}.form .consent-label{display:flex;align-items:flex-start;gap:12px}.consent-label input{width:20px;min-width:20px;height:20px;margin-top:4px}.form input[type=file]{max-width:100%;padding:10px;font-size:.8rem}.form input:focus-visible,.form textarea:focus-visible,.form select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.form .full{grid-column:1/-1}.form label{min-width:0}button:disabled{cursor:wait;opacity:.6}.admin-toolbar{display:flex;gap:14px;flex-wrap:wrap;justify-content:space-between;margin-bottom:30px}.admin-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px}.admin-job{display:block;width:100%;text-align:left;padding:18px;border:1px solid var(--line);border-radius:12px;background:white;font:inherit;margin-bottom:12px;cursor:pointer}.admin-job[aria-pressed=true]{border-color:var(--gold);background:var(--gold-soft)}.admin-job strong,.admin-job small{display:block}.admin-job small{color:var(--slate)}.admin-content{min-width:0}.admin-content h2{font-size:2rem}.admin-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.application-card{margin-bottom:20px;overflow-wrap:anywhere}.application-card summary{cursor:pointer;font-weight:700}.application-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.application-card dt{font-size:.8rem;color:var(--slate)}.application-card dd{margin:0;white-space:pre-wrap}.document-links{display:flex;flex-wrap:wrap;gap:12px;margin:15px 0}.login-card{max-width:600px}.admin-content textarea{min-height:140px}.portal-error{color:#a32d2d}.confirmation:focus{outline:none}[hidden]{display:none!important}#application-message,#admin-message{margin-top:16px;overflow-wrap:anywhere}.confirmation{overflow-wrap:anywhere}.bot-field{display:none}
@media(max-width:900px){.vacancy-card{align-items:flex-start;flex-direction:column}.job-layout{grid-template-columns:1fr;gap:24px}.job-summary{position:static}.job-summary .job-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-layout{grid-template-columns:1fr}.admin-vacancies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-job{margin:0}.job-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.application-section .form,.admin-content .form{padding:20px;grid-template-columns:1fr}.application-card dl{grid-template-columns:1fr}.admin-vacancies{grid-template-columns:1fr}.section .job-facts{gap:16px}.job-copy h2{font-size:1.7rem}}

/* Keep the navy section's light text outside its white opportunity cards. */
#current-opportunities .section-head > p{color:#d9e3ed}
#current-opportunities .card{color:var(--ink)}
#current-opportunities .card p{color:var(--slate)}
#current-opportunities .vacancy-card .eyebrow{color:var(--navy);font-size:.78rem}
.vacancy-card > div{min-width:0;flex:1}
.vacancy-card h3{color:var(--navy);margin-bottom:20px;overflow-wrap:anywhere}
.job-facts dd{color:var(--ink);font-size:1rem}
.job-status{display:inline-block;padding:4px 12px;border:1px solid var(--line);border-radius:999px;color:var(--navy);background:var(--mist);font-size:.88rem}
.job-status.is-open{border-color:var(--gold);background:var(--gold-soft)}
@media(max-width:600px){.vacancy-card .btn{white-space:normal;text-align:center}.vacancy-card .job-facts{grid-template-columns:1fr}}
