html{scroll-behavior:smooth}[id]{scroll-margin-top:88px}@keyframes rise{0%{opacity:0;filter:blur(8px);transform:translateY(18px)}to{opacity:1;filter:none;transform:none}}.rise{animation:.9s cubic-bezier(.2,.7,.2,1) both rise;animation-delay:calc(var(--i,0) * 70ms + 60ms)}html.js [data-reveal]{opacity:0;transition:opacity .8s ease-out,transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 90ms);transform:translateY(28px)}html.js [data-reveal].is-visible{opacity:1;transform:none}html.js [data-reveal] .wipe{clip-path:inset(0 100% 0 0);transition:clip-path 1.4s cubic-bezier(.65,0,.35,1) .25s}html.js [data-reveal].is-visible .wipe{clip-path:inset(0)}html.js [data-reveal] .grow{transform-origin:bottom;transition:transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 70ms + .2s);transform:scaleY(0)}html.js [data-reveal].is-visible .grow{transform:none}html.js [data-reveal] .draw{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.6s cubic-bezier(.65,0,.35,1) .3s}html.js [data-reveal].is-visible .draw{stroke-dashoffset:0}html.js [data-reveal] .pop{opacity:0;transition:opacity .4s ease-out,transform .5s cubic-bezier(.34,1.56,.64,1);transition-delay:calc(var(--d,0) * 1ms);transform:scale(.85)}html.js [data-reveal].is-visible .pop{opacity:1;transform:none}.light-scope{--color-bg:#fff;--color-surface:#fff;--color-ink:#18181b;--color-muted:#52525b;--color-line:#e7e5e4;--color-accent-soft:#fef2f2;--color-positive:#059669;--color-warning:#d97706;color:var(--color-ink)}.hero-grid{background-image:radial-gradient(var(--color-line) 1px, transparent 1px);background-size:22px 22px;-webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000 30%,#0000 75%);mask-image:radial-gradient(70% 60% at 50% 30%,#000 30%,#0000 75%)}@keyframes drift{0%,to{transform:translate(-50%)scale(1)}50%{transform:translate(-46%,24px)scale(1.08)}}.hero-glow{background:radial-gradient(closest-side, color-mix(in oklab, var(--color-accent) 22%, transparent), transparent);filter:blur(40px);animation:14s ease-in-out infinite drift}.text-fade{background:linear-gradient(90deg, var(--color-ink), var(--color-muted));color:#0000;-webkit-background-clip:text;background-clip:text}@keyframes flatten{0%{transform:perspective(1800px)rotateX(16deg)scale(.94)}to{transform:none}}@supports (animation-timeline:view()){.tilt{animation:linear both flatten;animation-timeline:view();animation-range:entry cover 35%}}@keyframes kenburns{0%{transform:scale(1.12)}to{transform:scale(1)}}.kenburns{animation:18s cubic-bezier(.2,.7,.2,1) both kenburns}@keyframes float{0%,to{translate:0}50%{translate:0 -8px}}.float{animation:.9s cubic-bezier(.2,.7,.2,1) 60ms both rise,6s ease-in-out 1s infinite float}.spotlight{isolation:isolate;position:relative}.spotlight:before{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(360px circle at var(--x,50%) var(--y,0%), color-mix(in oklab, var(--color-accent) 7%, transparent), transparent 70%);opacity:0;transition:opacity .3s;position:absolute;inset:0}.spotlight:hover:before{opacity:1}.spotlight{transition:border-color .3s,translate .4s cubic-bezier(.2,.7,.2,1)}.spotlight:hover{border-color:color-mix(in oklab, var(--color-ink) 18%, var(--color-line));translate:0 -2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}html.js [data-reveal],html.js [data-reveal] .grow,html.js [data-reveal] .pop{opacity:1;transform:none}html.js [data-reveal] .wipe{clip-path:none}html.js [data-reveal] .draw{stroke-dashoffset:0}}
