
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Manrope:wght@300;400;500;600;700&family=Newsreader:opsz,wght@6..72,300;6..72,400;6..72,500&display=swap');
:root{--bg:#101112;--surface:#17191b;--surface-2:#202327;--text:#f4f2ec;--muted:#a6a6a0;--line:rgba(255,255,255,.14);--accent:#f05d43;--accent-2:#ffd166;--success:#59d98e;--danger:#ff6b6b;--serif:'Newsreader',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--mono:'DM Mono',monospace;--container:min(92vw,1440px);--radius-sm:8px;--radius:18px;--radius-lg:34px;--shadow:0 24px 80px rgba(0,0,0,.24);--ease:cubic-bezier(.2,.8,.2,1);--fast:180ms;--medium:480ms;--slow:800ms;--header-h:82px;--z-header:50;--z-menu:80;--z-modal:100;--z-loader:150}
[data-theme='light']{--bg:#f2efe7;--surface:#fffdf8;--surface-2:#e8e4da;--text:#171819;--muted:#676760;--line:rgba(0,0,0,.14);--shadow:0 24px 80px rgba(30,28,22,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}.skip-link{position:fixed;left:1rem;top:-100px;z-index:999;background:var(--text);color:var(--bg);padding:.8rem 1rem;border-radius:0 0 8px 8px}.skip-link:focus{top:0}.container{width:var(--container);margin-inline:auto}.section{padding:clamp(5rem,10vw,10rem) 0;border-top:1px solid var(--line)}.section--compact{padding:clamp(3rem,6vw,6rem) 0}.eyebrow{font:500 .76rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.display{font-size:clamp(3.3rem,9vw,10rem);line-height:.84;letter-spacing:-.065em;margin:0;font-weight:500}.display.serif{font-family:var(--serif);font-weight:300;letter-spacing:-.055em}.h1{font-size:clamp(3rem,7vw,7.5rem);line-height:.92;letter-spacing:-.055em;margin:.3em 0}.h2{font-size:clamp(2.2rem,5vw,5rem);line-height:.96;letter-spacing:-.045em;margin:.25em 0}.h3{font-size:clamp(1.4rem,2vw,2.25rem);line-height:1.05;letter-spacing:-.025em}.lede{font-size:clamp(1.2rem,2vw,1.8rem);max-width:42ch;color:var(--muted)}.body-lg{font-size:clamp(1.05rem,1.5vw,1.35rem)}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.grid{display:grid;gap:clamp(1rem,2vw,2rem)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stack>*+*{margin-top:1.1rem}.cluster{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.spread{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tag{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:.45rem .75rem;font:500 .72rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:48px;padding:.8rem 1.2rem;border:1px solid var(--line);border-radius:999px;background:transparent;transition:transform var(--fast),background var(--fast),color var(--fast),border-color var(--fast)}.btn:hover{transform:translateY(-2px);border-color:var(--text)}.btn--primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn--accent{background:var(--accent);color:#fff;border-color:var(--accent)}.icon-btn{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:transparent;display:grid;place-items:center}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.2rem,2.5vw,2rem);box-shadow:var(--shadow)}.card--flat{box-shadow:none}.rule{height:1px;background:var(--line);margin:2rem 0}.reveal{opacity:0;transform:translateY(26px);transition:opacity var(--slow) var(--ease),transform var(--slow) var(--ease)}.reveal.is-visible{opacity:1;transform:none}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.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}
