@font-face{font-family:'IBM Plex Sans';src:url('../fonts/ibm-plex-sans-variable.woff2') format('woff2'),url('../fonts/ibm-plex-sans-variable.ttf') format('truetype');font-weight:100 700;font-stretch:75% 100%;font-style:normal;font-display:swap}
/* Approved shared primitives for the homepage and all internal pages. */
:root{font-family:'IBM Plex Sans',Arial,sans-serif;font-synthesis:none;--gold:#e9b44c;--gold-hover:#f6c86f;--ink:#171919;--white:#f6f5f0;--header:80px;--radius:2px;--gutter:clamp(24px,4.45vw,80px);--space:clamp(72px,7.5vw,120px);--content:1320px}
:root,[data-theme=light]{--surface:#f6f5f0;--surface-raised:#ebece6;--text:#171919;--muted:#555b57;--line:#c8cbc4;--focus:#825905;color:var(--text);background:var(--surface);color-scheme:light}
[data-theme=dark]{--surface:#111414;--surface-raised:#1c2020;--text:#f6f5f0;--muted:#bfc3bc;--line:#424948;--focus:#e9b44c;color:var(--text);background:var(--surface);color-scheme:dark}
*{box-sizing:border-box}html{scroll-padding-top:calc(var(--header) + 20px)}body{margin:0;font-size:18px;line-height:1.55}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.025em;line-height:1.08}h1{font-size:clamp(48px,5.55vw,88px)}h2{font-size:clamp(36px,4.2vw,64px)}h3{font-size:28px;line-height:1.2}p{color:var(--muted)}a{color:inherit;text-decoration:none}button,input,textarea,summary{font:inherit}button,summary{cursor:pointer}img{display:block;max-width:100%}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--focus);outline-offset:5px}::selection{background:var(--gold);color:var(--ink)}
.wrap{width:min(var(--content),calc(100% - var(--gutter)*2));margin-inline:auto}.section-space{padding-block:var(--space)}.eyebrow{font-size:14px;font-weight:500;letter-spacing:.035em;margin-bottom:28px;color:var(--muted)}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;min-height:56px;padding:16px 24px;background:var(--gold);color:var(--ink);border:1px solid var(--gold);border-radius:var(--radius);font-size:16px;font-weight:500;line-height:1.4}.button:hover{background:var(--gold-hover);border-color:var(--gold-hover)}.button.secondary{color:var(--text);background:transparent;border-color:var(--line)}.button.secondary:hover{background:var(--surface-raised)}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:16px;font-weight:500;min-height:44px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.text-link:hover{text-decoration-thickness:2px}.text-link span,.button span{font-size:21px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px}.section-heading>p{max-width:410px}.source-note{font-size:13px;margin-top:28px}.skip-link{position:fixed;z-index:100;top:12px;left:16px;padding:12px 20px;background:var(--gold);color:var(--ink);transform:translateY(-200%)}.skip-link:focus{transform:none}summary{list-style:none}summary::-webkit-details-marker{display:none}
@media(max-width:820px){:root{--header:68px;--gutter:24px}body{font-size:16px}.section-heading{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:32px}.section-heading>p{max-width:540px}.eyebrow{margin-bottom:22px}.button{padding:15px 19px}.source-note{font-size:13px}}
@media(max-width:400px){:root{--gutter:20px}h1{font-size:43px}h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Russian text wraps between words, never through an arbitrary letter. */
body :is(h1,h2,h3,h4,p,li,dd,summary,label,button,a){word-break:normal;overflow-wrap:normal;hyphens:none}
body :is(h1,h2,h3,h4){text-wrap:balance}
body :is(p,li,dd){text-wrap:pretty}
body :is(a[href^="mailto:"],.doc a){overflow-wrap:anywhere}
