:root{--ink: #0e0e10;--ink-soft: #1f1f23;--ink-mute: #5a5a63;--rule: #e6e4dd;--paper: #f4f4f2;--paper-warm: #faf9f6;--paper-deep: #ecebe6;--accent: #2d4ef5;--accent-hover: #1f3cdb;--accent-pressed: #18319f;--font-display: "bebas", "Bebas Neue", Impact, sans-serif;--font-body: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--step-0: clamp(1rem, .95rem + .25vw, 1.125rem);--step-1: clamp(1.125rem, 1.05rem + .4vw, 1.375rem);--step-2: clamp(1.5rem, 1.3rem + 1vw, 2rem);--step-3: clamp(2rem, 1.6rem + 2vw, 3rem);--step-4: clamp(2.75rem, 2rem + 4vw, 5rem);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 12px;--shadow-soft: 0 1px 2px rgba(14, 14, 16, .04), 0 4px 12px rgba(14, 14, 16, .06);--shadow-press: inset 0 2px 4px rgba(14, 14, 16, .12);--hairline: 1px solid color-mix(in srgb, var(--ink) 12%, transparent);--transition: .16s cubic-bezier(.2, .8, .2, 1);--content-width: 68rem;--gutter: clamp(1.25rem, 4vw, 3rem)}@font-face{font-family:bebas;src:url(/assets/fonts/BebasNeue-Regular.ttf) format("truetype");font-weight:400;font-display:swap}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);font-size:var(--step-0);line-height:1.6;--page-fg: var(--ink);--page-fg-soft: var(--ink-soft);--page-fg-mute: var(--ink-mute);--page-rule: var(--ink);--page-divider: var(--rule);color:var(--page-fg);background-color:var(--paper);transition:background-color .35s cubic-bezier(.4,0,.2,1),color .35s cubic-bezier(.4,0,.2,1);-webkit-font-smoothing:antialiased}body.is-jumping{transition:background-color .32s cubic-bezier(.4,0,.2,1),color .32s cubic-bezier(.4,0,.2,1)!important}body[data-stage=charcoal]{background-color:#1f1d1b;--page-fg: #f4f4f2;--page-fg-soft: rgba(244, 244, 242, .85);--page-fg-mute: rgba(244, 244, 242, .6);--page-rule: #f4f4f2}body[data-stage=yellow]{background-color:#f2d04c}body[data-stage=cobalt]{background-color:#3c5fe3;--page-fg: #ffffff;--page-fg-soft: rgba(255, 255, 255, .92);--page-fg-mute: rgba(255, 255, 255, .7);--page-rule: #ffffff}body[data-stage=terracotta]{background-color:#d5664a;--page-fg: #fff7f3;--page-fg-soft: rgba(255, 247, 243, .92);--page-fg-mute: rgba(255, 247, 243, .7);--page-rule: #fff7f3}body[data-stage=sage]{background-color:#a8c2a0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}img{display:block;max-width:100%;height:auto}a{color:var(--accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,transparent);transition:color var(--transition),border-color var(--transition)}a:hover{color:var(--accent-hover);border-bottom-color:var(--accent-hover)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}h1,h2,h3{font-family:var(--font-display);font-weight:400;letter-spacing:.01em;line-height:1.05;margin:0 0 .4em;color:var(--page-fg);transition:color .35s cubic-bezier(.4,0,.2,1)}h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}p{margin:0 0 1em;max-width:60ch;color:var(--page-fg-soft);transition:color .35s cubic-bezier(.4,0,.2,1)}.eyebrow{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--page-fg-mute);margin:0 0 1.25rem;transition:color .35s cubic-bezier(.4,0,.2,1)}.rule{width:3rem;height:2px;background:var(--page-rule);border:0;margin:0 0 1.5rem;transition:background-color .35s cubic-bezier(.4,0,.2,1)}.rule.accent{background:var(--accent)}.section{padding:clamp(4rem,10vh,8rem) var(--gutter);position:relative;display:flex;align-items:center;justify-content:stretch}.section>*{width:100%}@media(min-width:720px)and (min-height:640px){.section{min-height:100vh}.section.tight{min-height:auto}}.section.tight{padding-block:clamp(3rem,6vh,5rem)}@keyframes revealUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:no-preference){[data-reveal]>*{opacity:0}.is-visible [data-reveal]>*{opacity:1;animation:revealUp .85s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc((var(--reveal-i, 0) + var(--reveal-offset, 0)) * 1ms)}[data-reveal]>*:nth-child(1){--reveal-i: 0}[data-reveal]>*:nth-child(2){--reveal-i: 140}[data-reveal]>*:nth-child(3){--reveal-i: 280}[data-reveal]>*:nth-child(4){--reveal-i: 420}[data-reveal]>*:nth-child(5){--reveal-i: 560}[data-reveal]>*:nth-child(6){--reveal-i: 700}[data-reveal]>*:nth-child(7){--reveal-i: 840}[data-reveal]>*:nth-child(8){--reveal-i: 980}}.section--ink .rule{background:var(--paper)}.container{width:100%;max-width:var(--content-width);margin-inline:auto}.grid-2{display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:1fr}@media(min-width:720px){.grid-2{grid-template-columns:1fr 1fr;align-items:center}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-mono);font-size:.95rem;letter-spacing:.04em;padding:.85rem 1.5rem;border-radius:var(--radius-md);border:1px solid rgba(14,14,16,.12);background:#faf9f6;color:#0e0e10;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform var(--transition),box-shadow var(--transition),background var(--transition),color var(--transition);text-decoration:none}.btn:hover{background:var(--paper);transform:translateY(-1px);border-bottom-color:color-mix(in srgb,var(--ink) 12%,transparent)}.btn:active,.btn.is-pressed{transform:translateY(1px);box-shadow:var(--shadow-press);background:var(--paper-deep)}.btn--primary{background:#0e0e10;color:#f4f4f2;border-color:#0e0e10}.btn--primary:hover{background:#1f1f23;color:#f4f4f2}.btn--accent{background:var(--accent);color:#fff;border-color:transparent}.btn--accent:hover{background:var(--accent-hover);color:#fff}.btn--accent:active,.btn--accent.is-pressed{background:var(--accent-pressed)}.btn--icon{width:3rem;height:3rem;padding:0;border-radius:50%}.btn--icon svg{width:1.25rem;height:1.25rem}#top-btn{position:fixed;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);width:2.75rem;height:2.75rem;padding:0;border-radius:50%;z-index:10;opacity:1;transform:translateY(0);transition:opacity var(--transition),transform var(--transition),background var(--transition)}#top-btn.is-hidden{opacity:0;transform:translateY(8px);pointer-events:none}#top-btn svg{width:1rem;height:1rem}
