/* Only the new opportunity and editor surfaces; existing culture/hero styles remain intact. */
.careers-surface { --ink:#102a43; --muted:#526477; --line:#d7e0e9; --accent:#3034bf; color:var(--ink); }
.careers-surface [hidden] { display:none!important; }
.careers-surface .sr-only { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.careers-surface h2,.careers-surface h3,.careers-surface h1 { text-transform:none; letter-spacing:-.035em; }
.careers-surface button,.careers-surface select,.careers-surface textarea { font:inherit; }
.careers-surface :is(a,button,input,textarea,select):focus-visible { outline:3px solid #5365ed; outline-offset:4px; }
.opportunities-section { padding:88px max(24px,calc((100vw - 1180px)/2)); background:#fff; scroll-margin-top:130px; }
.opportunities-heading { display:flex; align-items:end; gap:48px; justify-content:space-between; margin-bottom:35px; }
.opportunities-heading h2 { margin:0; font-size:clamp(38px,4.7vw,62px); line-height:1.08; }
.opportunities-heading>p { max-width:370px; font-size:17px; line-height:1.7; color:var(--muted); margin:0; }
.careers-surface .eyebrow { color:var(--accent); font-size:11px; letter-spacing:2.4px; }
.review-note { background:#fff8e8; color:#665019; border-left:3px solid #bf9846; padding:12px 16px; line-height:1.6; font-size:13px; margin:0 0 24px; }
.opportunity-toolbar { display:flex; gap:20px; justify-content:space-between; align-items:end; padding:22px 0; border-block:1px solid var(--line); margin-bottom:24px; }
.careers-surface label { display:block; font-size:13px; font-weight:700; line-height:1.5; }
.careers-surface select,.careers-surface input:not([type=checkbox]),.careers-surface textarea { margin-top:7px; border:1px solid #a9bacb; background:#fff; color:var(--ink); border-radius:5px; padding:12px 14px; min-height:46px; max-width:100%; }
.opportunity-toolbar select { min-width:220px; }
.job-count { color:var(--muted); font-size:14px; margin:0 0 13px; }
.jobs-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.job-card { padding:28px; border:1px solid var(--line); border-radius:8px; background:linear-gradient(130deg,#fff,#f6f8fc); display:flex; flex-direction:column; align-items:start; transition:border-color .15s,box-shadow .15s; }
.job-card:hover { border-color:#909bd0; box-shadow:0 10px 26px #17355b0d; }
.job-meta { display:flex; flex-wrap:wrap; gap:10px; align-items:center; font-size:13px; color:var(--muted); }
.job-meta span+span::before { content:"·"; margin-right:10px; }
.sample-label { display:inline-block; padding:4px 8px; border-radius:3px; background:#fff4d9; color:#715113; font-size:11px; font-weight:700; letter-spacing:.04em; margin-bottom:15px; }
.job-card h3 { font-family:var(--sans); font-size:25px; line-height:1.25; font-weight:700; margin:18px 0 12px; }
.job-card p { font-size:16px; color:var(--muted); line-height:1.65; margin:0 0 28px; }
.job-card a { margin-top:auto; display:inline-flex; padding:12px 0; color:var(--accent); font-size:14px; font-weight:700; gap:28px; border-bottom:1px solid #b8bfdf; min-height:44px; }
.job-card a:hover { border-color:var(--accent); }
.careers-state { padding:30px; line-height:1.6; background:#f2f5f9; border-radius:8px; }
.talent-section { padding:64px max(24px,calc((100vw - 1180px)/2)); background:#e9eef7; display:grid; grid-template-columns:1.2fr 1fr; gap:60px; }
.talent-section h2 { font-size:clamp(32px,3.5vw,46px); line-height:1.12; margin:0 0 15px; }
.talent-section p { font-size:17px; line-height:1.65; color:var(--muted); max-width:530px; margin:0; }
.careers-button { display:inline-flex; justify-content:center; align-items:center; gap:18px; min-height:48px; padding:13px 22px; background:var(--accent); border:1px solid var(--accent); color:#fff; border-radius:4px; cursor:pointer; font-size:14px!important; font-weight:700!important; text-decoration:none; line-height:1.4; }
.careers-button.secondary { background:#fff; color:var(--ink); border-color:#b4c1cf; }
.careers-button:disabled { opacity:.55; cursor:wait; }
.talent-actions { display:flex; flex-direction:column; align-items:start; justify-content:center; gap:15px; }
.talent-actions small { color:var(--muted); line-height:1.5; }
.job-detail-hero { background:#eef2f8; padding:52px max(24px,calc((100vw - 1180px)/2)) 48px; border-bottom:1px solid var(--line); }
.back-link { display:inline-block; color:var(--accent); font-size:14px; margin-bottom:28px; padding:8px 0; }
.job-detail-hero h1 { font-size:clamp(40px,5vw,66px); line-height:1.07; margin:14px 0 22px; max-width:850px; }
.job-detail-layout { display:grid; grid-template-columns:minmax(0,760px) minmax(250px,1fr); gap:70px; padding:52px max(24px,calc((100vw - 1180px)/2)) 76px; background:#fff; }
.job-copy section { margin-bottom:32px; }
.job-copy h2 { font:700 24px/1.3 var(--sans); letter-spacing:-.02em; margin:0 0 14px; }
.job-copy p,.job-copy li { color:#43556a; font-size:17px; line-height:1.8; }
.job-copy ul { padding-left:22px; }
.job-copy li { padding-left:4px; margin:6px 0; }
.job-apply-card { background:#f0f3f9; border:1px solid var(--line); padding:26px; border-radius:8px; height:fit-content; position:sticky; top:130px; }
.job-apply-card h2 { font:700 24px/1.2 var(--sans); margin:0 0 18px; }
.job-apply-card p { font-size:15px; line-height:1.7; color:var(--muted); }
.job-apply-card .careers-button { width:100%; }
.application-box { max-width:820px; margin:0 auto; padding:60px 24px 80px; }
.application-box h2 { font-size:38px; }
.application-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:25px 0; }
.application-fields input { width:100%; }
.application-fields .wide { grid-column:1/-1; }
.application-fields small { display:block; color:var(--muted); font-weight:400; margin-top:7px; }
.privacy-check { display:flex!important; gap:10px; align-items:start; font-weight:400!important; font-size:14px!important; }
.privacy-check input { margin-top:5px; width:18px; height:18px; flex-shrink:0; }
.privacy-check a { text-decoration:underline; }
.form-feedback { padding-top:16px; font-size:15px; line-height:1.6; }
.form-feedback.error { color:#992d32; }
.admin-body { margin:0; background:#f1f4f9; font-family:var(--sans); }
.admin-top { background:#071a32; color:#fff; padding:20px max(24px,calc((100vw - 1280px)/2)); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.admin-brand { display:flex; align-items:center; gap:24px; font-size:15px; }
.admin-brand img { width:73px; height:38px; object-fit:contain; }
.admin-top nav { display:flex; gap:22px; align-items:center; font-size:14px; }
.admin-top a { padding:10px 0; }
.admin-top button { background:transparent; color:#fff; border:1px solid #57708c; border-radius:4px; padding:10px 16px; cursor:pointer; }
.admin-main { max-width:1280px; margin:auto; padding:48px 24px; }
.admin-main h1 { font-size:44px; line-height:1.08; margin:0 0 14px; }
.admin-intro { color:var(--muted); line-height:1.65; margin:0; font-size:16px; }
.admin-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:30px; }
.admin-list { display:grid; gap:12px; }
.admin-job { display:grid; grid-template-columns:1fr auto; gap:16px; padding:24px; background:#fff; border:1px solid var(--line); border-radius:7px; align-items:center; }
.admin-job h2 { font:700 21px/1.3 var(--sans); margin:7px 0 9px; }
.admin-job p { margin:0; font-size:14px; color:var(--muted); }
.admin-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.status-pill { display:inline-block; padding:4px 9px; border-radius:30px; font-size:12px; font-weight:700; background:#edf0f5; color:#526477; }
.status-pill.active { color:#176246; background:#e2f3e9; }
.status-pill.draft { color:#715113; background:#fff3d7; }
.status-pill.archived { color:#6c5978; background:#f0eaf5; }
.admin-editor { background:#fff; padding:32px; border:1px solid var(--line); border-radius:8px; }
.editor-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.editor-grid label>input,.editor-grid label>select,.editor-grid textarea { display:block; width:100%; }
.editor-grid .wide { grid-column:1/-1; }
.editor-grid textarea { min-height:130px; resize:vertical; font-size:16px; line-height:1.55; }
.editor-grid small { display:block; margin-top:7px; font-weight:400; color:var(--muted); }
.editor-actions { position:sticky; bottom:0; padding:18px 0 0; margin-top:28px; background:#fff; display:flex; gap:15px; flex-wrap:wrap; align-items:center; border-top:1px solid var(--line); }
.login-panel { max-width:540px; background:#fff; padding:32px; border:1px solid var(--line); border-radius:8px; margin:20px auto; }
.login-panel h1 { font-size:36px; }
.login-panel input { width:100%; margin-bottom:20px; }
.history { margin-top:35px; font-size:14px; color:var(--muted); line-height:1.7; }
@media(max-width:760px) {
 .opportunities-section { padding:56px 22px; }
 .opportunities-heading { display:block; }
 .opportunities-heading>p { margin-top:24px; }
 .jobs-grid,.talent-section,.job-detail-layout,.application-fields,.editor-grid { grid-template-columns:1fr; }
 .talent-section { gap:28px; padding:45px 22px; }
 .opportunity-toolbar { align-items:start; flex-direction:column; gap:12px; }
 .opportunity-toolbar label,.opportunity-toolbar select { width:100%; }
 .job-count { margin:0; }
 .job-detail-hero { padding:32px 22px 35px; }
 .job-detail-layout { gap:24px; padding:36px 22px; }
 .job-apply-card { position:static; }
 .admin-top { padding:15px 20px; flex-wrap:wrap; gap:10px; }
 .admin-brand { gap:15px; }
 .admin-main { padding:32px 18px; }
 .admin-heading { align-items:start; flex-direction:column; }
 .admin-job { grid-template-columns:1fr; padding:22px; }
 .admin-editor { padding:22px 18px; }
 .editor-actions { position:static; }
 .application-fields .wide,.editor-grid .wide { grid-column:auto; }
 .admin-main h1 { font-size:36px; }
 .job-card { padding:24px; }
}
@media(prefers-reduced-motion:reduce) { .job-card { transition:none; } }

/* Direct entry to opportunities without changing the approved card layout. */
.careers-hero-actions { margin-top:28px; }
.careers-jump { --accent:#3034bf; color:#fff!important; }

/* Interim general-interest form keeps one outer column and two field columns. */
.application-box { scroll-margin-top:155px; }
.application-box .content-form { display:block; margin-top:25px; }
.application-box .application-fields { margin-top:0; }
.application-box .application-fields textarea,.application-box .application-fields select { width:100%; }
.application-box .privacy-check,.application-box .form-actions { margin-top:24px; }
@media(max-width:980px){.application-box{scroll-margin-top:95px;}}
