:root{--bg:#fff;--bg-elev:#f4f4f5;--bg-card:#fff;--ink:#16161a;--ink-mute:#4f4f57;--ink-faint:#9a9aa4;--rule:#e3e3e8;--accent:#16161a;--accent-strong:#000;--accent-glow:rgba(22,22,26,.1);--warn:#3f3f46;--font-display:"Hanken Grotesk",-apple-system,"Segoe UI",BlinkMacSystemFont,sans-serif;--font-body:"Hanken Grotesk",-apple-system,"Segoe UI",BlinkMacSystemFont,sans-serif;--font-mono:"DM Mono","SF Mono","Cascadia Code",Menlo,monospace;--font-pixel:"Pixelify Sans","Silkscreen",ui-monospace,monospace;--ease-productive:cubic-bezier(0.2,0,0.38,0.9);--ease-expressive:cubic-bezier(0.4,0.14,0.3,1);--dur-fast:130ms;--dur:240ms;--dur-slow:400ms}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;line-height:1.5;overflow-x:hidden}body{background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(22,22,26,.03),transparent 60%);background-attachment:fixed}a{transition:color var(--dur-fast) var(--ease-productive)}a:hover{color:var(--accent)}::selection{background:var(--ink);color:var(--bg)}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;transition:background var(--dur) var(--ease-productive),color var(--dur) var(--ease-productive),border-color var(--dur) var(--ease-productive)}button,input,textarea{font-family:inherit;color:inherit}.container{max-width:1180px;margin:0 auto;padding:0 32px}@media (max-width:720px){.container{padding:0 20px}}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);font-weight:500}.rule{height:1px;background:var(--rule);width:100%}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.reveal{opacity:0;transform:translateY(38px) scale(.99);transition:opacity .8s var(--ease-expressive),transform .9s var(--ease-expressive);will-change:opacity,transform}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}