/* Shared by every page: fonts, tokens, reset, header, audience switch, footer, focus. */
@font-face{font-family:"Barlow Condensed";font-weight:700;font-style:normal;font-display:swap;src:url("/assets/fonts/BarlowCondensed-Bold.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:600;font-style:normal;font-display:swap;src:url("/assets/fonts/BarlowCondensed-SemiBold.woff2") format("woff2")}
@font-face{font-family:"Barlow";font-weight:400;font-style:normal;font-display:swap;src:url("/assets/fonts/Barlow-Regular.woff2") format("woff2")}
@font-face{font-family:"Barlow";font-weight:500;font-style:normal;font-display:swap;src:url("/assets/fonts/Barlow-Medium.woff2") format("woff2")}
@font-face{font-family:"Barlow";font-weight:600;font-style:normal;font-display:swap;src:url("/assets/fonts/Barlow-SemiBold.woff2") format("woff2")}
@font-face{font-family:"Barlow";font-weight:700;font-style:normal;font-display:swap;src:url("/assets/fonts/Barlow-Bold.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-style:normal;font-display:swap;src:url("/assets/fonts/IBMPlexMono-Regular.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-style:normal;font-display:swap;src:url("/assets/fonts/IBMPlexMono-Medium.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:600;font-style:normal;font-display:swap;src:url("/assets/fonts/IBMPlexMono-SemiBold.woff2") format("woff2")}
:root{--black:#0c0c0b;--bone:#edeae1;--coyote:#c9b99c;--coyote-l:#725f3f;--orange:#e8641e;--dark:#111111;--panel:#fbfaf6;--line:#a89d8c;--soft:#d9d4c7;--text:#2b2a27;--muted:#66655c;
 --gutter:clamp(24px,5.55vw,80px);--h:"Barlow Condensed","Arial Narrow",sans-serif;--mono:"IBM Plex Mono",monospace}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bone);scrollbar-gutter:stable;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{background:var(--bone);font-family:Barlow,Arial,sans-serif;line-height:normal;color:var(--black);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a{color:inherit;text-underline-offset:2px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--black);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Header: identical viewport-based height on every page, so navigation does not jump. */
header.top{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:clamp(76px,10svh,96px);padding:0 var(--gutter)}
header.top a.logo{display:block;line-height:0}
header.top img{display:block;height:30px;width:auto}

/* Audience switch (For Recruits / For Recruiters) and the compare page back button share one button style. */
.switch{display:flex;align-items:center;flex-shrink:0}
.switch a,a.back{display:inline-flex;align-items:center;justify-content:center;width:160px;height:44px;padding:0 18px;border:1px solid var(--black);font-family:var(--h);font-weight:700;font-size:17px;line-height:1;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;background:var(--black);color:var(--bone);white-space:nowrap}
.switch a+a{margin-left:-1px}
.switch a:hover,a.back:hover{background:var(--orange);color:var(--black)}
.switch a.on,.switch a.on:hover{background:var(--black);color:var(--bone)}

/* Footer: identical on every page. */
footer.foot{margin:0 var(--gutter);padding:clamp(16px,3svh,32px) 0 clamp(16px,2.4svh,24px);display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);border-top:1px solid var(--line)}
footer.foot .pb{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:11px}
footer.foot .addr{font-size:12px}
footer.foot .links{display:flex;flex-wrap:wrap;gap:6px 24px}
footer.foot .links a{color:var(--black)}

@media (max-width:600px){
 :root{--gutter:24px}
 header.top{height:68px;padding:0 24px}
 header.top img{height:22px}
 .switch a,a.back{width:126px;height:44px;padding:0 9px;font-size:14px;letter-spacing:.05em}
 footer.foot{margin:0 24px;padding-top:16px;padding-bottom:16px;font-size:12px}
}

/* Use ordinary page navigation so Safari never layers old and new page snapshots. */

/* Keep keyboard navigation visible without changing the resting layout. */
.skip-link{position:fixed;top:8px;left:var(--gutter);z-index:10;padding:12px 18px;background:var(--black);color:var(--bone);transform:translateY(-200%)}
.skip-link:focus{transform:none}
main:focus{outline:none}
footer.foot .links a{display:inline-flex;align-items:center;min-height:32px}

@media (max-width:600px) and (max-height:700px){
 footer.foot{padding-top:12px;padding-bottom:12px;gap:4px}
}

/* Analytics choice (built by analytics.js, staging only). Accept and Decline share one style so neither is favored. */
.consent{position:fixed;z-index:20;left:var(--gutter);bottom:16px;width:min(560px,calc(100vw - 2 * var(--gutter)));padding:18px 20px;border:1px solid var(--black);background:var(--panel);color:var(--black)}
.consent:focus-visible{outline:3px solid var(--black);outline-offset:3px}
.consent-title{font-family:var(--h);font-weight:700;font-size:22px;line-height:1.1;letter-spacing:.04em;text-transform:uppercase}
.consent-text{margin-top:8px;font-size:15px;line-height:1.45;color:var(--text)}
.consent-state{margin-top:8px;font-family:var(--mono);font-size:12px;color:var(--muted)}
.consent-actions{display:flex;gap:12px;margin-top:14px}
.consent-btn{flex:1 1 0;min-width:0;height:44px;padding:0 12px;border:1px solid var(--black);border-radius:0;background:var(--bone);color:var(--black);font-family:var(--h);font-weight:700;font-size:17px;line-height:1;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.consent-btn:hover{background:var(--orange)}
body.consent-open{padding-bottom:230px}
.linkbtn{display:inline-flex;align-items:center;min-height:32px;padding:0;border:0;border-radius:0;background:none;color:var(--black);font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.linkbtn[hidden]{display:none}
@media (max-width:600px){
 .consent{left:12px;right:12px;bottom:12px;width:auto;padding:14px 16px}
 .consent-title{font-size:20px}
 .consent-text{font-size:14px}
 body.consent-open{padding-bottom:330px}
}
