@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Clash Display;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/clash-display-600.woff2) format("woff2")}:root{--bg-base:#08060f;--bg-deep:#0d0a1a;--accent-1:#8b5cf6;--accent-2:#ec4899;--accent-1-rgb:139,92,246;--accent-2-rgb:236,72,153;--text-1:#e5e7eb;--text-2:#94a3b8;--text-3:#64748b;--glass-bg:rgba(255,255,255,0.07);--glass-border:rgba(255,255,255,0.11);--glass-top:rgba(255,255,255,0.18);--radius:20px;--ease-out-quint:cubic-bezier(0.22,1,0.36,1);--font-display:"Clash Display","Inter",system-ui,sans-serif;--font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"Cascadia Mono",monospace}*{margin:0;padding:0;box-sizing:border-box}html{color-scheme:dark}body{background:#000;color:var(--text-1);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100dvh;overflow-x:hidden}.mesh-canvas{width:100%;height:100%}.mesh-canvas,.mesh-fallback{position:fixed;inset:0;z-index:-1}.mesh-fallback{background:radial-gradient(55vmax 55vmax at 18% 12%,rgba(var(--accent-1-rgb),.13),transparent 70%),radial-gradient(50vmax 50vmax at 85% 82%,rgba(var(--accent-2-rgb),.1),transparent 70%),radial-gradient(60vmax 45vmax at 50% 55%,rgba(var(--accent-1-rgb),.09),transparent 70%),radial-gradient(45vmax 45vmax at 60% 45%,var(--bg-deep),transparent 75%),var(--bg-base);animation:fade-in 1.2s ease-out both}.page{min-height:100dvh;justify-content:center;gap:clamp(2.75rem,7vh,4.5rem);padding:48px 24px}.hero,.page{display:flex;flex-direction:column;align-items:center}.hero{text-align:center;gap:.6rem}.hero-title{position:relative;font-family:var(--font-display);font-weight:600;font-size:clamp(3rem,8vw,5.5rem);letter-spacing:-.02em;line-height:1;color:var(--text-1)}.title-chevron{font-family:var(--font-mono);font-weight:700;font-size:.75em;color:var(--accent-1);margin-right:.15ch;opacity:0;animation:fade-in .2s ease-out .15s both}.title-cursor-home{display:inline-block;width:0;height:0}.title-word{visibility:hidden;animation:title-noscript 1ms linear 2s forwards}.title-word.visible{visibility:visible}.intro-live .title-word{animation:none}.title-cell{position:relative;display:inline-block;vertical-align:bottom}.title-cell:not(.locked){overflow:hidden}.title-cell-final{visibility:hidden;animation:title-noscript 1ms linear 2s forwards}.intro-live .title-cell-final{animation:none}.title-cell.locked .title-cell-final{visibility:visible}@keyframes title-noscript{to{visibility:visible}}.title-cell-scramble{position:absolute;left:50%;top:0;transform:translateX(-50%) scaleX(var(--squeeze,1));transform-origin:center}.title-cell.is-dash.locked .title-cell-final{color:var(--accent-1)}.title-cursor{position:absolute;left:0;top:0;margin-left:.12ch;width:.3ch;height:.67em;background:var(--accent-1);opacity:0}.sweeping .title-cursor{transition:left var(--cursor-step-ms,90ms) ease-out}.title-cursor.done{animation:cursor-blink-forever 1.06s steps(1) infinite}@keyframes cursor-blink-forever{0%,49%{opacity:1}50%,to{opacity:0}}.hero-subtitle{font-size:1.05rem;font-weight:400;color:var(--text-2);animation:rise-sub .5s var(--ease-out-quint) .8s both}@keyframes rise-sub{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.hero-label{position:relative;font-family:var(--font-mono);font-size:.75rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-top:.35rem;animation:fade-in .12s ease-out .9s both}.hero-label.typing .tl-char{opacity:0}.hero-label.typing .tl-char.on{opacity:1}.tl-cursor{position:absolute;top:50%;transform:translateY(-50%);opacity:0;color:var(--text-3)}.hero-label.typing .tl-cursor{opacity:1}.tl-cursor.blink{animation:cursor-blink .35s step-end 2}@keyframes cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,340px));justify-content:center;grid-gap:24px;gap:24px;width:100%;max-width:1200px;perspective:1200px}.card-wrap{--card-delay:calc(800ms + var(--i, 0) * 120ms);animation:card-land .85s var(--ease-out-quint) both;animation-delay:var(--card-delay)}@keyframes card-land{0%{opacity:0;transform:translateY(48px) scale(.92) rotateX(10deg);filter:blur(8px)}75%{opacity:1;transform:translateY(-6px) scale(1.01) rotateX(0deg);filter:blur(0)}to{opacity:1;transform:none;filter:none}}.card-float{height:100%;perspective:1000px;animation:card-float 6s ease-in-out infinite;animation-delay:calc(1.9s + var(--i, 0) * 1.2s)}@keyframes card-float{0%,to{transform:translateY(0)}25%{transform:translateY(-3px)}75%{transform:translateY(3px)}}.card-wrap:hover .card-float{animation-play-state:paused}.card{--mouse-x:50%;--mouse-y:50%;--near:0;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;height:100%;padding:28px;border-radius:var(--radius);background:var(--glass-bg);border:1px solid var(--glass-border);border-top-color:var(--glass-top);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);box-shadow:0 16px 40px rgba(0,0,0,.35);text-decoration:none;color:inherit;will-change:transform}.card:hover{box-shadow:0 20px 60px -20px rgba(var(--accent-1-rgb),.45),0 16px 40px rgba(0,0,0,.35)}.card:focus-visible{outline:2px solid var(--accent-1);outline-offset:3px}.card-sweep{position:absolute;inset:0;border-radius:var(--radius);overflow:hidden;pointer-events:none}.card-sweep:before{content:"";position:absolute;top:-40%;bottom:-40%;left:-60%;width:60%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.08) 50%,transparent);animation:card-sweep .6s ease-in-out both;animation-delay:calc(var(--card-delay, .8s) + .35s)}@keyframes card-sweep{0%{transform:translateX(0)}to{transform:translateX(420%)}}.card-border-glow{inset:-1px;padding:1.5px;background:radial-gradient(200px circle at var(--mouse-x) var(--mouse-y),var(--accent-1),transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:var(--near)}.card-border-glow,.card-inner-glow{position:absolute;border-radius:var(--radius);pointer-events:none}.card-inner-glow{inset:0;background:radial-gradient(240px circle at var(--mouse-x) var(--mouse-y),rgba(var(--accent-1-rgb),.08),transparent 70%);opacity:0;transition:opacity .3s ease}.card:hover .card-inner-glow{opacity:1}.card-icon{width:40px;height:40px;color:var(--accent-1);margin-bottom:.4rem}.card-icon img,.card-icon svg{width:100%;height:100%}.card-name{font-family:var(--font-body);font-weight:600;font-size:1.25rem;color:var(--text-1)}.card-desc{font-size:.9rem;line-height:1.5;color:var(--text-2)}.card-arrow{align-self:flex-end;margin-top:.6rem;width:22px;height:22px;color:var(--text-2);transition:transform .25s var(--ease-out-quint),color .25s ease}.card-arrow svg{width:100%;height:100%}.card:hover .card-arrow{transform:translateX(4px);color:var(--accent-1)}@media (hover:none){.card{transition:transform .15s ease}.card.pressed{transform:scale(.98)}.card-border-glow,.card-inner-glow{transition:opacity .6s ease}.card.pressed .card-border-glow,.card.pressed .card-inner-glow{opacity:1;transition-duration:0s}}.site-footer{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;color:var(--text-1);opacity:.3;animation:footer-in .3s ease-out 1.6s both}@keyframes footer-in{0%{opacity:0}to{opacity:.3}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.card-wrap,.hero-label,.hero-subtitle,.mesh-fallback{animation:fade-in .3s ease-out both;animation-delay:0s!important}.site-footer{animation:footer-in .3s ease-out both;animation-delay:0s!important}.title-chevron{opacity:1;animation:none}.title-cell-final,.title-word{visibility:visible;animation:none}.card-float,.card-sweep:before{animation:none}.tl-cursor{display:none}.card,.card-arrow,.card-border-glow,.card-inner-glow{transition:none}}