:root{--bg:#fafafa;--bg-elev:#f4f4f3;--bg-deep:#0e1419;--surface:#fff;--ink:#0e1419;--ink-soft:#4a5560;--ink-mute:#8892a0;--line:#e5e7ea;--line-soft:#eef0f2;--accent:#3573a2;--accent-deep:#224d72;--accent-soft:#eaf1f7;--font-display:"Inter Tight", "Inter", -apple-system, system-ui, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, monospace;--max:1400px;--gut:clamp(28px, 5vw, 80px);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--speed:1}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-display);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}html{overflow-x:clip}body{min-height:100vh;font-size:16px;line-height:1.5}img{max-width:100%;display:block}a{color:inherit}::selection{background:var(--accent);color:#fff}.eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);align-items:center;gap:12px;font-size:11px;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:28px;height:1px;display:inline-block}.display-xxl{letter-spacing:-.04em;font-size:clamp(56px,9vw,156px);font-weight:500;line-height:.92}.display-xl{letter-spacing:-.035em;font-size:clamp(44px,6.5vw,104px);font-weight:500;line-height:.96}.display-lg{letter-spacing:-.03em;font-size:clamp(36px,5vw,76px);font-weight:500;line-height:1}.display-md{letter-spacing:-.02em;font-size:clamp(24px,2.6vw,36px);font-weight:500;line-height:1.15}.lede{color:var(--ink-soft);max-width:56ch;font-size:clamp(16px,1.2vw,19px);font-weight:400;line-height:1.55}.kicker{font-family:var(--font-mono);letter-spacing:.12em;color:var(--ink-mute);text-transform:uppercase;font-size:11px}.wrap{width:100%;max-width:var(--max);padding-left:var(--gut);padding-right:var(--gut);margin:0 auto}section{position:relative}.btn{font-family:var(--font-display);border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;transition:all .4s var(--ease-out);white-space:nowrap;border-radius:999px;align-items:center;gap:12px;padding:14px 22px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--accent);border-color:var(--accent)}.btn .arrow{width:14px;height:14px;transition:transform .4s var(--ease-out)}.btn:hover .arrow{transform:translate(3px,-3px)}.btn-ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn-ghost:hover{color:var(--accent);border-color:var(--accent);background:0 0}.reveal{opacity:0;transition:opacity calc(.9s * var(--speed)) var(--ease-out), transform calc(.9s * var(--speed)) var(--ease-out);transform:translateY(28px)}.reveal.in{opacity:1;transform:none}.reveal-mask{display:block;overflow:hidden}.reveal-mask>span{transition:transform calc(1.1s * var(--speed)) var(--ease-out);transition-delay:var(--d,0s);will-change:transform;display:inline-block;transform:translateY(110%)}.reveal-mask.in>span{transform:none}.cursor-dot{background:var(--accent);pointer-events:none;z-index:9999;border-radius:50%;width:6px;height:6px;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-ring{border:1px solid var(--ink);pointer-events:none;z-index:9999;width:36px;height:36px;transition:width .4s var(--ease-out), height .4s var(--ease-out), border-color .3s, opacity .3s;opacity:.3;border-radius:50%;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}@media (hover:none){.cursor-dot,.cursor-ring{display:none!important}}.scroll-progress{z-index:100;pointer-events:none;background:0 0;height:2px;position:fixed;top:0;left:0;right:0}.scroll-progress:after{content:"";height:100%;width:var(--p,0%);background:var(--accent);display:block}.tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:11px;display:inline-flex}.tag .dot{background:var(--accent);border-radius:50%;width:5px;height:5px}.page-fade{animation:pageFade .6s var(--ease-out)}@keyframes pageFade{0%{opacity:0}to{opacity:1}}
