:root[data-theme=nocturne]{--bg: #0A0B0D;--bg-2: #111316;--bg-3: #1A1D22;--fg: #F2EFE9;--fg-2: #C9C5BC;--fg-3: rgba(242,239,233,.55);--fg-4: rgba(242,239,233,.18);--line: rgba(242,239,233,.12);--line-2: rgba(242,239,233,.06);--accent: oklch(.78 .13 75);--accent-fg: #0A0B0D;--signal: oklch(.72 .15 25);--shade: rgba(0,0,0,.5)}:root[data-theme=hearth]{--bg: #F2EDE4;--bg-2: #ECE5D8;--bg-3: #E2D9C7;--fg: #1F1A14;--fg-2: #3A3328;--fg-3: rgba(31,26,20,.6);--fg-4: rgba(31,26,20,.18);--line: rgba(31,26,20,.14);--line-2: rgba(31,26,20,.07);--accent: oklch(.55 .13 38);--accent-fg: #FAF7F1;--signal: oklch(.55 .18 28);--shade: rgba(31,26,20,.08)}:root[data-theme=press]{--bg: #FAFAFA;--bg-2: #F0F0F0;--bg-3: #E5E5E5;--fg: #0A0A0A;--fg-2: #1F1F1F;--fg-3: rgba(10,10,10,.6);--fg-4: rgba(10,10,10,.18);--line: rgba(10,10,10,.14);--line-2: rgba(10,10,10,.07);--accent: oklch(.55 .22 27);--accent-fg: #FAFAFA;--signal: oklch(.55 .22 27);--shade: rgba(10,10,10,.06)}:root[data-theme=kinetic]{--bg: #ECF2EE;--bg-2: #E0EAE3;--bg-3: #D2DFD6;--fg: #0F1A14;--fg-2: #243329;--fg-3: rgba(15,26,20,.6);--fg-4: rgba(15,26,20,.18);--line: rgba(15,26,20,.13);--line-2: rgba(15,26,20,.07);--accent: oklch(.62 .16 155);--accent-fg: #ECF2EE;--signal: oklch(.55 .18 28);--shade: rgba(15,26,20,.07)}:root[data-fontpair=display-serif]{--font-display: "Cormorant Garamond", Georgia, serif;--font-text: "Geist", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--display-tracking: -.015em;--display-weight: 500}:root[data-fontpair=tech-grotesque]{--font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-text: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--display-tracking: -.04em;--display-weight: 500}:root[data-fontpair=editorial-modern]{--font-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-text: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--display-tracking: -.035em;--display-weight: 500}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden}body{background:var(--bg);color:var(--fg);font-family:var(--font-text);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}::selection{background:var(--accent);color:var(--accent-fg)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;font-weight:var(--display-weight);letter-spacing:var(--display-tracking)}.display{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);line-height:.95}.mono{font-family:var(--font-mono);font-feature-settings:"ss01" on}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3)}.fg-3{color:var(--fg-3)}.wrap{max-width:1320px;margin:0 auto;padding:0 32px}@media (max-width: 720px){.wrap{padding:0 20px}}section{position:relative;padding:clamp(80px,11vw,160px) 0;border-top:1px solid var(--line)}section:first-of-type{border-top:0}.section-head{display:flex;flex-direction:column;gap:18px;max-width:780px;margin-bottom:clamp(40px,6vw,72px)}.section-title{font-family:var(--font-display);font-size:clamp(40px,5.6vw,80px);line-height:.98}.section-sub{color:var(--fg-3);font-size:clamp(15px,1.2vw,18px);max-width:60ch}.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 24px;border-radius:999px;background:var(--accent);color:var(--accent-fg);border:0;cursor:pointer;font-weight:500;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}.btn:hover{transform:translateY(-1px)}.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}.btn.ghost:hover{background:var(--shade)}.btn .dot{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.6}.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}:root[data-theme=press] .section-title,:root[data-theme=press] .display{letter-spacing:-.05em}:root[data-theme=press] .eyebrow{color:var(--accent)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes pulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}@keyframes blip{0%{transform:scale(.8);opacity:0}30%{opacity:1}to{transform:scale(2.4);opacity:0}}@keyframes drift{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@keyframes bootBar{0%{width:0}to{width:100%}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.rise{animation:rise .8s cubic-bezier(.2,.8,.2,1) both}.cookie-banner{position:fixed;bottom:1.5rem;left:1.5rem;z-index:9999;max-width:300px;background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:1rem 1.125rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 4px 32px var(--shade);animation:cookie-up .3s cubic-bezier(.2,.8,.2,1) both}@keyframes cookie-up{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-banner p{margin:0;font-size:13px;line-height:1.55;color:var(--fg-3)}.cookie-actions{display:flex;gap:8px}.cookie-accept{flex:1;padding:7px 14px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-fg);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:opacity .2s}.cookie-accept:hover{opacity:.85}.cookie-dismiss{padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--fg-3);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:color .2s,border-color .2s}.cookie-dismiss:hover{color:var(--fg);border-color:var(--fg-3)}@media (max-width: 480px){.cookie-banner{left:1rem;right:1rem;bottom:1rem;max-width:none}}
