@font-face { font-family:"Public Sans"; font-style:normal; font-weight:400 800; font-display:swap; src:url("fonts/public-sans.woff2") format("woff2"); }
@font-face { font-family:"IBM Plex Mono"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/ibm-plex-mono-regular.woff2") format("woff2"); }
@font-face { font-family:"IBM Plex Mono"; font-style:normal; font-weight:500; font-display:swap; src:url("fonts/ibm-plex-mono-medium.woff2") format("woff2"); }

:root { --header-height:72px; }
html { scroll-padding-top:calc(var(--header-height) + 16px); }

:root { --paper:#f7f6f3; --ink:#16181d; --blue:#1b3a6b; --red:#c9312a; --rule:#bfc3c7; --soft-rule:#d9dcde; --sans:"Public Sans",Arial,sans-serif; --mono:"IBM Plex Mono","SFMono-Regular",Consolas,monospace; }
* { box-sizing:border-box; }
::selection { background:var(--blue); color:var(--paper); }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.5; overflow-wrap:anywhere; }
a { color:inherit; }
.page { width:min(100% - 48px,1320px); margin:0 auto; }
.mono, .prelude__kicker, .eyebrow, .section-number, .section-label, .metadata, .aside-title, .facts dt, .facts dd, .note, .table-head, .footer, .salary-status, .language-switcher, .language-list, .gateway__label { font-family:var(--mono); font-size:.8rem; letter-spacing:.035em; line-height:1.45; text-transform:uppercase; }
.prelude { width:min(100%,720px); padding:max(48px,calc(clamp(72px,13vw,180px) - var(--header-height))) 0 clamp(64px,8vw,112px); }
.prelude__kicker { color:var(--blue); margin:0 0 28px; }
.prelude__name { font-family:var(--mono); font-size:.8rem; font-weight:500; letter-spacing:.035em; line-height:1.45; margin:0 0 8px; text-transform:uppercase; }
.prelude p { font-size:clamp(1.3rem,2.15vw,1.85rem); letter-spacing:-.025em; line-height:1.34; margin:0 0 1.2em; }
.prelude .small { font-size:clamp(1.08rem,1.5vw,1.3rem); }
s { color:var(--red); text-decoration-color:var(--red); text-decoration-thickness:2px; }
.pivot { font-size:clamp(1.9rem,4.5vw,2.9rem)!important; font-weight:700; line-height:1.16!important; margin-top:2.2em!important; }
.record { border-top:2px solid var(--blue); padding-bottom:48px; }
.record-header { display:grid; grid-template-columns:1fr auto; gap:24px; border-bottom:1px solid var(--ink); padding:13px 0 11px; }
.record-header p { margin:0; }
.eyebrow { color:var(--blue); }
.metadata { color:#5c626b; text-align:right; text-transform:none; }
.site-header { background:var(--paper); border-bottom:1px solid var(--soft-rule); position:sticky; top:0; z-index:3; }
.site-header__inner { align-items:center; display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; padding:12px 0; }
.language-switcher { background:var(--paper); border:1px solid var(--blue); display:flex; margin:0; text-transform:none; }
.language-switcher a { align-items:center; justify-content:center; display:flex; color:var(--blue); min-width:44px; min-height:44px; padding:10px 8px; text-underline-offset:.2em; }
.language-switcher a[aria-current="page"] { color:var(--ink); font-weight:500; text-decoration:none; }
.quick-cta { align-items:center; background:var(--blue); border:1px solid var(--blue); color:var(--paper); display:flex; font-family:var(--mono); font-size:.72rem; letter-spacing:.01em; line-height:1.45; min-height:44px; max-width:100%; margin-left:auto; padding:12px 14px; text-decoration:none; }
.quick-cta:hover { background:var(--paper); color:var(--blue); }
.byline { color:#4a5058; font-family:var(--mono); font-size:.8rem; letter-spacing:.01em; line-height:1.45; margin:15px 0 0; max-width:72ch; }
.byline a { align-items:center; color:var(--blue); display:inline-flex; min-height:44px; padding:10px 0; text-underline-offset:.2em; white-space:normal; }
.author-block p { margin:0; }
.title-block { padding:clamp(34px,5vw,70px) 0 clamp(36px,5vw,64px); border-bottom:1px solid var(--ink); }
h1 { max-width:1100px; color:var(--blue); font-size:clamp(3.35rem,10vw,9.25rem); font-weight:800; letter-spacing:-.075em; line-height:.81; margin:0; text-transform:uppercase; }
.subtitle { color:#4a5058; font-family:var(--mono); font-size:clamp(.82rem,1.35vw,.95rem); letter-spacing:.01em; line-height:1.5; margin:26px 0 0; }
.record-grid { display:grid; grid-template-columns:minmax(190px,.78fr) minmax(0,2.22fr); gap:clamp(38px,7vw,130px); padding-top:24px; }
aside { align-self:start; position:sticky; top:calc(var(--header-height) + 24px); }
.facts { border-top:1px solid var(--blue); margin:0; }
.aside-title { color:var(--blue); margin:14px 0 26px; }
.facts > div { border-top:1px solid var(--rule); padding:11px 0 13px; }
.facts dt { color:#5c626b; margin:0 0 5px; }
.facts dd { font-size:.78rem; font-weight:500; margin:0; text-transform:none; }
.facts .research { color:var(--ink); text-decoration:underline dotted var(--red) 2px; text-underline-offset:.3em; }
.sections { min-width:0; }
.section { border-top:1px solid var(--ink); padding:14px 0 clamp(52px,6vw,95px); }
.section:first-child { border-top:0; padding-top:0; }
.section-top { align-items:baseline; display:grid; grid-template-columns:4.8rem 1fr; margin-bottom:clamp(27px,4vw,48px); }
.section-number { color:var(--label-color,var(--blue)); }
.section-label { color:var(--label-color,var(--ink)); font-weight:500; margin:0; }
h2 { font-size:clamp(1.7rem,3.2vw,3.15rem); font-weight:700; letter-spacing:-.045em; line-height:1; margin:0 0 24px; }
.definition { border:3px solid var(--blue); padding:clamp(25px,4vw,52px); }
.definition p { font-size:clamp(1.45rem,3vw,2.75rem); font-weight:600; letter-spacing:-.04em; line-height:1.1; margin:0; }
.definition .material { border-top:1px solid var(--blue); color:var(--blue); font-family:var(--mono); font-size:clamp(.78rem,1.25vw,.96rem); letter-spacing:.01em; line-height:1.45; margin-top:34px; padding-top:16px; }
.body-copy { max-width:720px; }
.body-copy p { font-size:clamp(1.1rem,1.65vw,1.38rem); letter-spacing:-.018em; margin:0 0 1.1em; }
.body-copy p:last-child { margin-bottom:0; }
.note { color:#5c626b; margin:-7px 0 25px; text-transform:none; }
.note b { color:var(--blue); font-weight:500; }
.comparison { border-top:1px solid var(--blue); }
.comparison-row { display:grid; grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr); }
.comparison-row > * { border-bottom:1px solid var(--rule); margin:0; padding:18px 14px; }
.comparison-row > :first-child { border-right:1px solid var(--rule); padding-left:0; }
.table-head { color:var(--blue); }
.comparison dt { font-size:clamp(1.05rem,1.5vw,1.3rem); font-weight:700; letter-spacing:-.025em; }
.comparison dd { font-size:1rem; letter-spacing:-.01em; line-height:1.45; }
.salary { --label-color:#c8d5e7; background:var(--blue); color:var(--paper); padding:clamp(25px,4vw,48px); }
.salary .salary-status { color:#c8d5e7; font-size:.8rem; letter-spacing:.035em; line-height:1.45; margin:0 0 24px; }
.salary p { font-size:clamp(1.18rem,2vw,1.65rem); letter-spacing:-.025em; line-height:1.35; margin:0; max-width:620px; }
.outbound { border-bottom:1px solid var(--ink); border-top:1px solid var(--blue); margin-top:clamp(20px,5vw,70px); padding:clamp(25px,4vw,48px) 0 21px; }
.outbound-intro { color:var(--blue); font-family:var(--sans); font-size:clamp(1.6rem,3.5vw,2.8rem); font-weight:700; letter-spacing:-.045em; line-height:1; margin:0 0 32px; max-width:680px; text-transform:none; }
.outbound-links { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.outbound-links a { align-items:center; border-bottom:2px solid currentColor; display:flex; font-size:clamp(1.4rem,2.7vw,2.55rem); font-weight:700; gap:.42em; justify-content:flex-start; letter-spacing:-.045em; line-height:1; min-height:44px; padding:10px 0; text-decoration:none; }
.outbound-links a:hover { color:var(--blue); }
.outbound a:focus-visible,.byline a:focus-visible,.language-switcher a:focus-visible,.language-list a:focus-visible,.quick-cta:focus-visible { outline:2px solid var(--red); outline-offset:4px; }
.arrow { color:currentColor; font-family:var(--mono); font-size:.9em; }
.conversion { border-top:1px solid var(--blue); padding:24px 0 36px; }
.outbound .conversion { border-top:0; padding-top:0; }
.conversion p { font-size:clamp(1.1rem,1.65vw,1.38rem); margin:0 0 16px; max-width:65ch; }
.cta-link { background:var(--blue); border:1px solid var(--blue); color:var(--paper); display:inline-flex; align-items:center; font-family:var(--mono); font-size:.8rem; line-height:1.45; min-height:44px; padding:11px 14px; text-decoration:none; }
.cta-link:hover { background:var(--paper); color:var(--blue); }
.cta-link:focus-visible { outline:2px solid var(--red); outline-offset:4px; }
.salary .salary-invite { margin-top:24px; }
.salary .cta-link { background:var(--paper); border-color:var(--paper); color:var(--blue); margin-top:16px; }
.salary .cta-link:hover { background:var(--blue); color:var(--paper); }
.salary .cta-link:focus-visible { outline-color:var(--paper); }
.research a { align-items:center; display:inline-flex; min-height:44px; text-decoration:inherit; }
.research a:focus-visible { outline:2px solid var(--red); outline-offset:4px; }
#remuneration { scroll-margin-top:16px; }
.outbound-links a { font-family:var(--mono); font-size:.9rem; font-weight:500; letter-spacing:.01em; line-height:1.45; border-bottom-width:1px; }
.footer { color:#5c626b; display:flex; justify-content:space-between; padding:15px 0 30px; }
.footer p { margin:0; }
.gateway { display:grid; min-height:100vh; place-items:center; }
.gateway__content { width:min(100% - 48px,720px); border-top:2px solid var(--blue); padding:16px 0 48px; }
.gateway__label { color:var(--blue); margin:0 0 42px; }
.gateway h1 { font-size:clamp(3rem,9vw,7rem); margin-bottom:36px; }
.gateway__intro { font-size:clamp(1.3rem,2.15vw,1.85rem); letter-spacing:-.025em; line-height:1.34; max-width:600px; }
.language-list { border-top:1px solid var(--blue); display:grid; margin:48px 0 0; text-transform:none; }
.language-list a { align-items:center; border-bottom:1px solid var(--rule); color:var(--blue); display:flex; font-family:var(--sans); font-size:clamp(1.4rem,2.7vw,2.55rem); font-weight:700; justify-content:space-between; letter-spacing:-.045em; line-height:1; min-height:72px; padding:16px 0; text-decoration:none; }
.language-list a:hover { color:var(--ink); }
.language-list small { color:#5c626b; font-family:var(--mono); font-size:.75rem; font-weight:400; letter-spacing:.01em; }
@media (max-width:760px) { .page { width:min(100% - 32px,1320px); } .prelude { padding-top:48px; } .record-grid { display:block; padding-top:0; } aside { border-bottom:1px solid var(--ink); padding:25px 0 30px; position:static; } .aside-title { margin-bottom:15px; } .facts { display:grid; grid-template-columns:1fr 1fr; } .facts > div { padding:10px 10px 12px 0; } .facts > div:nth-child(even) { padding-left:10px; } .facts > div:nth-child(odd) { border-right:1px solid var(--rule); } .sections { padding-top:34px; } .section-top { grid-template-columns:3.4rem 1fr; } }
@media (max-width:520px) { .record-header { grid-template-columns:1fr; gap:5px; } .metadata { text-align:left; } .comparison-row { grid-template-columns:1fr; } .comparison-row:first-child { display:none; } .comparison-row > :first-child { border-bottom:0; border-right:0; padding-bottom:2px; } .comparison-row > :last-child { padding-top:4px; } .outbound-links { grid-template-columns:1fr; gap:22px; } h1 { font-size:clamp(2.35rem,12.5vw,3.35rem); letter-spacing:-.07em; } .footer { display:block; } .footer p + p { margin-top:7px; } .gateway__content { width:min(100% - 32px,720px); } }
