:root{--accent: #e0715b;--accent-glow: oklch(.78 .16 30 / .28);--accent-ink: oklch(.18 .04 30);--bg: oklch(.14 .006 250);--bg-1: oklch(.17 .006 250);--bg-2: oklch(.2 .006 250);--line: oklch(.3 .006 250);--line-soft: oklch(.24 .006 250);--fg: oklch(.97 .005 80);--fg-2: oklch(.78 .008 80);--fg-3: oklch(.55 .01 250);--warn: oklch(.78 .15 50);--danger: oklch(.7 .18 25);--font-display: "Bricolage Grotesque", system-ui, sans-serif;--font-body: "Geist", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--maxw: 1320px;--pad-x: clamp(24px, 5vw, 80px);--r-sm: 6px;--r-md: 10px;--r-lg: 16px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg)}body{font-family:var(--font-body);font-feature-settings:"ss01","ss02","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.bg-grid{position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at center,transparent 0,var(--bg) 75%),radial-gradient(var(--line-soft) 1px,transparent 1px);background-size:auto,28px 28px;background-position:0 0,0 0;opacity:.55}::selection{background:var(--accent);color:var(--accent-ink)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.02;margin:0;text-wrap:balance}p{margin:0;text-wrap:pretty}.mono{font-family:var(--font-mono);font-size:.78em;letter-spacing:.02em}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;font-size:11px;letter-spacing:.18em;color:var(--fg-3)}.eyebrow .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:2px;box-shadow:0 0 12px var(--accent-glow)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad-x)}.section{padding:clamp(80px,10vw,140px) 0;position:relative}.section-head{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:72px}.section-head h2{font-size:clamp(40px,6vw,84px)}.section-head .lead{max-width:720px;color:var(--fg-2);font-size:clamp(16px,1.4vw,19px);line-height:1.5}.rule{height:1px;background:var(--line-soft);border:0}.chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2);background:var(--bg-1)}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-weight:500;font-size:15px;transition:transform .18s ease,background .18s ease,color .18s ease;border:1px solid transparent}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{box-shadow:0 10px 40px -10px var(--accent-glow)}.btn-ghost{color:var(--fg);border-color:var(--line)}.btn-ghost:hover{background:var(--bg-2);border-color:var(--fg-3)}.btn .arrow{transition:transform .18s ease}.btn:hover .arrow{transform:translate(3px)}.card{background:linear-gradient(180deg,color-mix(in oklab,var(--bg-1) 92%,white 8%) 0%,var(--bg-1) 60%,color-mix(in oklab,var(--bg-1) 96%,black 4%) 100%);border:1px solid var(--line-soft);border-radius:var(--r-lg);position:relative;overflow:hidden;box-shadow:inset 0 1px color-mix(in oklab,white 6%,transparent),inset 0 -1px color-mix(in oklab,black 30%,transparent),0 1px 2px color-mix(in oklab,black 28%,transparent),0 18px 44px -18px color-mix(in oklab,black 50%,transparent);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.card:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent 0%,color-mix(in oklab,white 14%,transparent) 50%,transparent 100%);pointer-events:none;opacity:.6}.card:hover{border-color:var(--line);box-shadow:inset 0 1px color-mix(in oklab,white 10%,transparent),inset 0 -1px color-mix(in oklab,black 30%,transparent),0 2px 4px color-mix(in oklab,black 28%,transparent),0 28px 60px -20px color-mix(in oklab,black 60%,transparent)}@keyframes blink{50%{opacity:0}}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 6px transparent}}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes ticker{to{transform:translate(-50%)}}.fade-in{animation:fade-up .7s cubic-bezier(.2,.7,.2,1) both}.flex{display:flex}.col{flex-direction:column}.center{align-items:center;justify-content:center}.between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.gap-8{gap:32px}.flex-1{flex:1}@media (max-width: 880px){:root{--pad-x: 20px}}.hero-spotlight{position:absolute;inset:0;pointer-events:none;z-index:0;--mx: 50%;--my: 30%;background:radial-gradient(600px circle at var(--mx) var(--my),var(--accent-glow),transparent 60%);opacity:.55;mix-blend-mode:screen;transition:opacity .4s}#top>*{position:relative;z-index:1}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform}[data-reveal].in-view{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){[data-reveal]{opacity:1;transform:none;transition:none}}.section-rail{position:fixed;right:28px;top:50%;transform:translateY(-50%);z-index:45;display:flex;flex-direction:column;gap:14px;padding:14px 12px;background:color-mix(in oklab,var(--bg) 70%,transparent);backdrop-filter:blur(10px);border:1px solid var(--line-soft);border-radius:999px}.section-rail a{display:flex;align-items:center;gap:10px;text-decoration:none;height:14px}.section-rail .rail-dot{width:7px;height:7px;border-radius:50%;background:var(--line);transition:background .25s,transform .25s,box-shadow .25s;flex-shrink:0}.section-rail a:hover .rail-dot{background:var(--fg-2)}.section-rail a[data-active="1"] .rail-dot{background:var(--accent);transform:scale(1.4);box-shadow:0 0 12px var(--accent-glow)}.section-rail .rail-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-2);white-space:nowrap;max-width:0;overflow:hidden;opacity:0;transition:max-width .3s,opacity .25s,padding .3s;padding-right:0}.section-rail:hover .rail-label,.section-rail a[data-active="1"] .rail-label{max-width:120px;opacity:1;padding-right:4px}@media (max-width: 980px){.section-rail{display:none}}.btn-primary{transition:transform .22s cubic-bezier(.2,.7,.2,1),background .18s,color .18s}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer-text{background:linear-gradient(90deg,var(--fg-2) 0%,var(--fg) 50%,var(--fg-2) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 4s linear infinite}.accent-glow-text{color:var(--accent);text-shadow:0 0 24px var(--accent-glow),0 0 60px var(--accent-glow)}.hero-title .hero-line{display:block}#capabilities .cap-card,#work .proj-card{transform-style:preserve-3d;will-change:transform}#capabilities .cap-card:after,#work .proj-card:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(220px circle at var(--glare-x, 50%) var(--glare-y, 50%),color-mix(in oklab,white 10%,transparent),transparent 55%);opacity:calc(var(--glare-o, 0) * .9);transition:opacity .25s ease;mix-blend-mode:screen;z-index:1}#capabilities .cap-card>*,#work .proj-card>*{position:relative;z-index:2}#capabilities .cap-card.is-tilting,#work .proj-card.is-tilting{border-color:var(--line);box-shadow:inset 0 1px color-mix(in oklab,white 12%,transparent),inset 0 -1px color-mix(in oklab,black 30%,transparent),0 2px 4px color-mix(in oklab,black 30%,transparent),0 36px 80px -22px color-mix(in oklab,black 65%,transparent),0 0 0 1px color-mix(in oklab,var(--accent) 18%,transparent)}.cursor-glow{position:fixed;inset:0;pointer-events:none;z-index:2;opacity:0;transition:opacity .35s ease;background:radial-gradient(340px circle at var(--cgx, 50%) var(--cgy, 50%),color-mix(in oklab,var(--accent) 18%,transparent),transparent 60%);mix-blend-mode:screen}.cursor-glow.on{opacity:.55}
