@font-face{font-family:__Bricolage_Grotesque_1243c3;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Bricolage_Grotesque_1243c3;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Bricolage_Grotesque_1243c3;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.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:__Bricolage_Grotesque_Fallback_1243c3;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_1243c3{font-family:__Bricolage_Grotesque_1243c3,__Bricolage_Grotesque_Fallback_1243c3;font-style:normal}.__variable_1243c3{--font-bricolage:"__Bricolage_Grotesque_1243c3","__Bricolage_Grotesque_Fallback_1243c3"}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.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_Fallback_4dc837;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_4dc837{font-family:__JetBrains_Mono_4dc837,__JetBrains_Mono_Fallback_4dc837;font-style:normal}.__variable_4dc837{--font-jetbrains:"__JetBrains_Mono_4dc837","__JetBrains_Mono_Fallback_4dc837"}:root{--c-50:#fff6e5;--c-100:#ffe6bd;--c-200:#ffd08a;--c-300:#ffb454;--c-400:#f39a2e;--c-500:#e0801a;--c-600:#b8620f;--c-700:#8a470c;--c-800:#5a2d0b;--c-900:#2f1708;--c-950:#1c0e05;--ink:#fff1d6;--ink-dim:#e6c9a0;--ink-mute:#b89a74;--leather-hi:#432712;--leather-lo:#281508;--font-display:var(--font-bricolage),"Bricolage Grotesque",system-ui,-apple-system,"Segoe UI","Helvetica Neue",Arial,sans-serif;--font-mono:var(--font-jetbrains),"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--ease:cubic-bezier(0.22,1,0.36,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--gutter:clamp(20px,5vw,72px);--nav-h:76px;--radius:22px;--grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .22 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) - 8px);color-scheme:dark;background:var(--c-950);text-size-adjust:100%;overscroll-behavior-x:none}body,html{overflow-x:clip;touch-action:pan-x pan-y}body{max-width:100vw;margin:0;font-family:var(--font-display);font-size:clamp(1rem,.96rem + .2vw,1.125rem);line-height:1.65;color:var(--ink);background:radial-gradient(1200px 600px at 85% -10%,rgba(224,128,26,.12),transparent 60%),linear-gradient(180deg,#1f1007,#2a1609 40%,#1c0e05);background-color:var(--c-950);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}[contenteditable=true],input,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}a,canvas,img,svg{-webkit-user-drag:none}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}ul{list-style:none;padding:0}figure,h1,h2,h3,p,ul{margin:0}::selection{background:var(--c-400);color:var(--c-950)}:focus-visible{outline:3px solid var(--c-200);outline-offset:3px;border-radius:10px}.wrap{width:100%;max-width:1240px;margin-inline:auto;padding-inline:var(--gutter)}.skip{position:fixed;left:16px;top:-80px;z-index:300;padding:10px 16px;border-radius:12px;background:var(--c-300);color:var(--c-950);font-weight:700;transition:top .2s var(--ease)}.skip:focus{top:16px}.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease) var(--d,0ms),transform .9s var(--ease) var(--d,0ms)}.js [data-reveal].is-in{opacity:1;transform:none}.panel{position:relative;border-radius:var(--radius);background:var(--grain),linear-gradient(165deg,var(--leather-hi),var(--leather-lo));box-shadow:inset 0 1px 0 rgba(255,214,150,.22),inset 0 -2px 0 rgba(0,0,0,.4),inset 0 0 0 1px rgba(0,0,0,.5),0 2px 0 rgba(255,190,110,.08),0 22px 44px -12px rgba(0,0,0,.6)}.panel:after{content:"";position:absolute;inset:8px;border-radius:calc(var(--radius) - 8px);border:1.5px dashed rgba(255,190,110,.28);pointer-events:none}.btn{--lift:4px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border:1px solid var(--c-700);border-radius:16px;font-family:var(--font-mono);font-size:.92rem;font-weight:700;letter-spacing:.01em;transition:transform .18s var(--ease),box-shadow .18s var(--ease),filter .2s;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:active:not(:disabled){transform:translateY(calc(var(--lift) - 1px))}.btn:disabled{opacity:.7;cursor:progress}.btn-primary{color:var(--c-900);text-shadow:0 1px 0 hsla(0,0%,100%,.45);background:linear-gradient(180deg,#ffd081,#ffae42 48%,#ec8a24 52%,#d9741a);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.7),inset 0 -2px 0 rgba(122,56,8,.35),0 var(--lift) 0 var(--c-700),0 calc(var(--lift) + 10px) 18px rgba(0,0,0,.45);margin-bottom:var(--lift)}.btn-primary:hover:not(:disabled){filter:brightness(1.06) saturate(1.05);transform:translateY(-2px)}.btn-primary:active:not(:disabled){box-shadow:inset 0 2px 4px rgba(122,56,8,.4),0 1px 0 var(--c-700),0 4px 8px rgba(0,0,0,.4)}.btn-ghost{color:var(--ink);background:linear-gradient(180deg,#4d2e16,#301a0a);border-color:rgba(255,180,84,.55);box-shadow:inset 0 1px 0 rgba(255,214,150,.3),inset 0 -2px 0 rgba(0,0,0,.35),0 3px 0 #120803,0 12px 20px rgba(0,0,0,.4);margin-bottom:3px}.btn-ghost:hover{border-color:var(--c-300);transform:translateY(-2px);color:#fff}.btn-sm{min-height:40px;padding:0 16px;font-size:.82rem;border-radius:13px}.key{display:inline-grid;place-items:center;width:46px;height:46px;padding:0;border-radius:14px;border:1px solid rgba(255,180,84,.55);color:var(--c-100);background:linear-gradient(180deg,#55341a,#2c1809);box-shadow:inset 0 1px 0 rgba(255,220,160,.4),inset 0 -2px 0 rgba(0,0,0,.4),0 3px 0 #120803,0 10px 16px rgba(0,0,0,.4);transition:transform .16s var(--ease),box-shadow .16s var(--ease),color .2s;-webkit-tap-highlight-color:transparent}.key:hover{color:#fff;transform:translateY(-2px)}.key:active{transform:translateY(2px);box-shadow:inset 0 2px 5px rgba(0,0,0,.5),0 1px 0 #120803}.key-round{border-radius:50%;width:50px;height:50px}.nav{position:fixed;inset:0 0 auto 0;z-index:200;height:var(--nav-h);transition:background .35s,box-shadow .35s,-webkit-backdrop-filter .35s;transition:background .35s,box-shadow .35s,backdrop-filter .35s;transition:background .35s,box-shadow .35s,backdrop-filter .35s,-webkit-backdrop-filter .35s}.nav.is-open,.nav.is-scrolled{background:linear-gradient(180deg,rgba(58,33,16,.97),rgba(36,19,8,.97));box-shadow:inset 0 -1px 0 rgba(255,180,84,.25),inset 0 1px 0 rgba(255,220,160,.12),0 14px 30px rgba(0,0,0,.45)}.nav-inner{height:100%;max-width:1240px;margin-inline:auto;padding-inline:var(--gutter);display:flex;justify-content:space-between;gap:24px}.brand,.nav-inner{align-items:center}.brand{display:inline-flex;gap:12px;font-family:var(--font-mono);font-weight:700;font-size:1.02rem;color:var(--c-200);letter-spacing:.01em}.brand .logo-mark{filter:drop-shadow(0 3px 0 rgba(60,28,6,.7)) drop-shadow(0 6px 8px rgba(0,0,0,.35));transition:transform .4s var(--ease-spring)}.brand:hover .logo-mark{transform:rotate(-8deg) scale(1.06)}.nav-links{display:none;gap:clamp(18px,3vw,44px)}.nav-link{position:relative;padding:8px 2px;font-family:var(--font-mono);font-size:.95rem;font-weight:500;color:var(--ink);opacity:.88;transition:opacity .2s,color .2s}.nav-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--c-300),var(--c-200));box-shadow:0 0 12px rgba(255,180,84,.7);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.nav-link:hover{opacity:1;color:#fff}.nav-link[aria-current=page]{color:var(--c-200);opacity:1}.nav-link:hover:after,.nav-link[aria-current=page]:after{transform:scaleX(1)}.nav-toggle{display:inline-grid}.sheet{position:absolute;top:calc(var(--nav-h) - 1px);left:0;right:0;padding:10px var(--gutter) 26px;min-height:calc(100svh - var(--nav-h));background:linear-gradient(180deg,#24130a,#1c0e05);border-bottom:1px solid rgba(255,180,84,.3);box-shadow:0 30px 40px rgba(0,0,0,.5);-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0);visibility:hidden;transition:visibility 0s linear .5s,-webkit-clip-path .5s var(--ease);transition:clip-path .5s var(--ease),visibility 0s linear .5s;transition:clip-path .5s var(--ease),visibility 0s linear .5s,-webkit-clip-path .5s var(--ease)}.sheet[data-open=true]{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);visibility:visible;transition:visibility 0s,-webkit-clip-path .5s var(--ease);transition:clip-path .5s var(--ease),visibility 0s;transition:clip-path .5s var(--ease),visibility 0s,-webkit-clip-path .5s var(--ease)}.sheet-link{display:flex;align-items:baseline;gap:16px;padding:16px 4px;font-size:clamp(1.7rem,7vw,2.3rem);font-weight:800;letter-spacing:-.02em;border-bottom:1px dashed rgba(255,180,84,.25);opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease),color .2s}.sheet[data-open=true] .sheet-link{opacity:1;transform:none}.sheet-link[aria-current=page]{color:var(--c-300)}.sheet-idx{font-family:var(--font-mono);font-size:.8rem;font-weight:500;color:var(--ink-mute)}.sheet-scrim{position:fixed;inset:var(--nav-h) 0 0 0;background:rgba(10,4,0,.55);opacity:0;pointer-events:none;transition:opacity .4s;z-index:-1}.sheet-scrim[data-open=true]{opacity:1;pointer-events:auto}@media (min-width:860px){.nav-links{display:flex}.nav-toggle,.sheet,.sheet-scrim{display:none}}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;isolation:isolate;background:#3b3a86}.hero-scene{z-index:-1;overflow:hidden}.hero-scene,.layer{position:absolute;inset:0}.layer{will-change:transform}.layer-back,.layer-front{inset:-2% -3%}.scene-svg{width:100%;height:100%}.hero-scrim,.scene-svg{position:absolute;inset:0}.hero-scrim{background:linear-gradient(90deg,rgba(38,20,70,.62),rgba(38,20,70,.28) 38%,transparent 62%),linear-gradient(180deg,rgba(28,14,40,.35),transparent 22%,transparent 70%,rgba(20,10,0,.45));pointer-events:none}.fireflies span{position:absolute;width:5px;height:5px;border-radius:50%;background:#ffe9a0;box-shadow:0 0 10px 3px rgba(255,214,110,.65);opacity:0;animation:firefly 8s ease-in-out infinite}.hero-content{position:relative;padding-top:calc(var(--nav-h) + 28px);padding-bottom:120px;display:flex;flex-direction:column;gap:22px;align-items:flex-start}.hero-hi{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:clamp(1.05rem,1rem + .7vw,1.5rem);font-weight:500;color:var(--ink);text-shadow:0 2px 10px rgba(30,10,50,.6)}.hi-name{color:var(--c-300);font-weight:700}.hi-emoji{filter:drop-shadow(0 2px 0 rgba(60,28,6,.6));transform-origin:50% 90%;animation:wiggle 5s ease-in-out 2s infinite}.caret{width:3px;height:1.2em;border-radius:2px;background:var(--c-200);animation:blink 1.1s steps(1) infinite}.hero-title{display:flex;flex-direction:column;font-size:clamp(2.7rem,1.2rem + 5vw,5.4rem);line-height:1.02;font-weight:800;letter-spacing:-.035em;color:var(--c-50);text-shadow:0 3px 0 rgba(90,40,10,.75),0 12px 28px rgba(30,10,40,.5)}.ht-line{display:block}.hero-title em{font-style:normal}.hero-roles{font-family:var(--font-mono);font-size:clamp(.82rem,.74rem + .4vw,1.1rem);color:var(--ink);text-shadow:0 2px 10px rgba(30,10,50,.7);line-height:1.9}.hero-roles i{font-style:normal;margin-inline:.5em;color:var(--c-300)}.chips{display:flex;flex-wrap:wrap;gap:12px}.chip{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:0 18px;border-radius:14px;font-family:var(--font-mono);font-size:.9rem;font-weight:500;color:var(--c-100);background:linear-gradient(180deg,rgba(86,52,24,.92),rgba(40,21,8,.94));border:1.5px solid rgba(255,180,84,.8);box-shadow:inset 0 1px 0 rgba(255,226,170,.45),inset 0 -2px 0 rgba(0,0,0,.4),0 3px 0 rgba(20,8,0,.85),0 0 18px rgba(255,160,50,.22),0 12px 22px rgba(0,0,0,.35);transition:transform .2s var(--ease-spring),box-shadow .2s,color .2s;cursor:default}.chip svg{color:var(--c-300)}a.chip{cursor:pointer}.chip:hover{transform:translateY(-3px) rotate(-1deg);color:#fff;box-shadow:inset 0 1px 0 rgba(255,226,170,.55),inset 0 -2px 0 rgba(0,0,0,.4),0 5px 0 rgba(20,8,0,.85),0 0 26px rgba(255,160,50,.45),0 16px 26px rgba(0,0,0,.35)}.hero-tag{position:absolute;left:0;right:0;bottom:34px;display:flex;flex-direction:column;gap:10px;margin-inline:auto;font-family:var(--font-mono);font-size:.86rem;line-height:1.5;color:var(--ink);text-shadow:0 2px 8px rgba(0,0,0,.7);width:100%}.hero-tag .rule{width:38px;height:3px;border-radius:3px;background:var(--c-300);box-shadow:0 0 10px rgba(255,180,84,.7)}.hero-tag{max-width:1240px}.scroll-cue{position:absolute;right:var(--gutter);bottom:30px;display:inline-flex;align-items:center;gap:10px;padding:9px 14px 9px 16px;border-radius:999px;font-family:var(--font-mono);font-size:.86rem;color:var(--ink);background:rgba(40,20,8,.55);border:1px solid rgba(255,180,84,.45);box-shadow:inset 0 1px 0 rgba(255,226,170,.25)}.scroll-cue svg{color:var(--c-300);animation:nudge 1.8s var(--ease) infinite}.scroll-cue:hover{color:#fff;border-color:var(--c-300)}.js [data-stagger]{opacity:0;transform:translateY(26px);animation:rise 1s var(--ease) forwards}[data-stagger="1"]{animation-delay:.15s}[data-stagger="2"]{animation-delay:.3s}[data-stagger="3"]{animation-delay:.5s}[data-stagger="4"]{animation-delay:.65s}[data-stagger="5"]{animation-delay:.9s}.hero[data-paused=true] *,.hero[data-paused=true] :after,.hero[data-paused=true] :before{animation-play-state:paused!important}.fireflies,.hero-content,.hero-scene,.hero-scrim,.layer{pointer-events:none}.hero-content a,.hero-content h1,.hero-content p,.hero-content ul{pointer-events:auto}.live{will-change:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}.live-sun{transform-origin:64% 55%;animation:sunPulse 6s ease-in-out infinite}.live-shimmer-0{animation:twinkle 3.4s ease-in-out infinite}.live-shimmer-1{animation:twinkle 3.4s ease-in-out -1.7s infinite}.live-swim{animation:bob 5s ease-in-out infinite}.grass{transform-origin:50% 100%;animation:sway 6s ease-in-out infinite}.grass-1{animation-duration:5.2s;animation-delay:-2s}.grass-2{animation-duration:6.8s;animation-delay:-4s}.birds,.clouds{position:absolute;inset:0;overflow:hidden}.cloud{left:0;height:auto;animation:cloud linear infinite}.bird,.cloud{position:absolute;will-change:transform}.bird{left:70%;top:24%;animation:birdFly 38s linear infinite}.bird-1{left:75%;top:28%;animation-delay:-4s}.bird-2{left:68%;top:32%;animation-delay:-9s}.bird path{transform-box:fill-box;transform-origin:50% 100%;animation:flap 1.5s ease-in-out infinite}.capy{position:absolute;right:clamp(-20px,7vw,150px);bottom:clamp(10px,3.5vh,44px);width:clamp(330px,35vw,640px);aspect-ratio:560/450;pointer-events:auto;-webkit-tap-highlight-color:transparent}.capy-layer{width:100%;height:100%}.capy-bob,.capy-head,.capy-jump,.capy-layer{position:absolute;inset:0}.capy-bob{animation:breathe 4.2s ease-in-out infinite}.capy-bob,.capy-jump{transform-origin:50% 100%}.capy-head{transform-origin:36% 54%;will-change:transform}.capy-orange{transform-origin:27% 26%;animation:wobble 7s ease-in-out infinite}.cb-ear{transform-origin:50% 80%;animation:twitch 6s ease-in-out 1.5s infinite}.cb-ear,.cb-lid{transform-box:fill-box}.cb-lid{transform-origin:50% 0;transform:scaleY(0);animation:blinkeye 5.5s infinite}.capy:hover .cb-ear{animation:twitchFast .6s ease-in-out 2}.capy:hover .capy-orange{animation-duration:2.2s}.capy.is-poke .capy-jump{animation:squash .75s var(--ease-spring)}.capy.is-poke .capy-orange{animation:toss 1s cubic-bezier(.3,.7,.4,1)}.capy.is-poke .cb-ear{animation:twitchFast .35s ease-in-out 3}.capy-hit{position:absolute;inset:8% 2% 0 2%;border:0;border-radius:48px;background:transparent;cursor:pointer}.capy-hit:focus-visible{outline:3px solid var(--c-200);outline-offset:2px}.capy-bubble{position:absolute;left:8%;top:-8%;z-index:2;padding:9px 16px;border-radius:16px;font-family:var(--font-mono);font-size:.86rem;font-weight:700;white-space:nowrap;color:var(--c-900);background:linear-gradient(180deg,#fff6df,#f5d9a0);border:1px solid var(--c-700);box-shadow:inset 0 1px 0 #fff,0 3px 0 rgba(90,45,11,.85),0 12px 20px rgba(0,0,0,.35);opacity:0;transform:translate3d(0,10px,0) scale(.88);transition:opacity .25s,transform .4s var(--ease-spring);pointer-events:none}.capy-bubble:after{content:"";position:absolute;left:30px;bottom:-8px;width:14px;height:14px;background:#f5d9a0;border-right:1px solid var(--c-700);border-bottom:1px solid var(--c-700);transform:rotate(45deg)}.capy-bubble.is-on{opacity:1;transform:none}.capy-fx{left:27%;top:20%;width:0;height:0;pointer-events:none}.capy-fx,.fx{position:absolute}.fx{left:-11px;top:-11px;opacity:0;will-change:transform,opacity;animation:fxUp 1.3s cubic-bezier(.2,.7,.3,1) forwards}.word{white-space:nowrap}.ch,.word{display:inline-block}.ch{position:relative}.js .ch{opacity:0;transform:translate3d(0,.85em,0) rotate(9deg) scale(.85);animation:chIn .95s var(--ease-spring) forwards;animation-delay:calc(.35s + var(--i) * 42ms)}.hero-title.intro-done .ch{opacity:1;transform:none;animation:none;cursor:default}.hero-title.intro-done .ch:hover{animation:chHop .6s var(--ease-spring)}.hero-title.intro-done .ch-wave{animation:chWave 3.8s ease-in-out infinite;animation-delay:calc(var(--i) * -.17s)}.hero-title.intro-done .ch-wave:hover{animation:chHop .6s var(--ease-spring)}.ch-sh{position:absolute;left:0;top:.07em;color:#6a3410;opacity:.85;pointer-events:none}.ch-fg{color:#ffb02e;color:color-mix(in srgb,#ffe39a calc((1 - var(--t, 0)) * 100%),#f08a1c);text-shadow:0 -.025em 0 rgba(255,244,200,.55)}.ch-fg,.section{position:relative}.section{padding-block:clamp(72px,11vw,150px)}.section-head{max-width:760px;margin-bottom:clamp(36px,6vw,64px)}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;padding:6px 14px;border-radius:999px;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-300);background:rgba(0,0,0,.28);box-shadow:inset 0 2px 4px rgba(0,0,0,.55),0 1px 0 rgba(255,190,110,.18)}.section-title{font-size:clamp(2rem,1.2rem + 3.4vw,3.8rem);line-height:1.06;font-weight:800;letter-spacing:-.03em;text-shadow:0 3px 0 rgba(0,0,0,.45)}.section-title em{font-style:normal;color:var(--c-300)}.section-sub{margin-top:20px;max-width:56ch;color:var(--ink-dim)}.subhead{margin:clamp(64px,9vw,110px) 0 32px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px}.subhead h3{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);font-weight:800;letter-spacing:-.02em}.subhead p{color:var(--ink-mute);font-size:.98rem}.about-grid{display:grid;grid-gap:clamp(28px,5vw,64px);gap:clamp(28px,5vw,64px);align-items:center}@media (min-width:900px){.about-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}.portrait{padding:clamp(18px,3vw,28px);display:flex;flex-direction:column;gap:18px}.porthole{position:relative;aspect-ratio:1/.86;border-radius:20px;overflow:hidden;background:linear-gradient(180deg,#ffb06b,#f08a52 40%,#c45a58);box-shadow:inset 0 6px 18px rgba(0,0,0,.55),inset 0 0 0 3px rgba(255,190,110,.45),inset 0 0 0 6px rgba(40,20,8,.9),0 1px 0 rgba(255,220,160,.3)}.porthole:before{content:"";position:absolute;left:50%;bottom:18%;width:70px;height:70px;transform:translateX(-50%) translateX(60px);border-radius:50%;background:#fff3b8;box-shadow:0 0 60px 30px rgba(255,226,140,.6)}.porthole:after{content:"";position:absolute;inset:0;background:linear-gradient(155deg,hsla(0,0%,100%,.3),transparent 38%);pointer-events:none}.portrait-art{position:absolute;inset:8% 4% 0 4%;width:92%;height:92%}.portrait figcaption{display:flex;flex-wrap:wrap;gap:10px;position:relative;z-index:1}.plate{padding:6px 12px;border-radius:8px;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--c-900);background:linear-gradient(180deg,#ffd48a,#d8932f);border:1px solid var(--c-700);text-shadow:0 1px 0 hsla(0,0%,100%,.45);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.6),0 2px 0 rgba(90,45,11,.8)}.plate-dim{background:linear-gradient(180deg,#5b3a1d,#3a2210);color:var(--ink-dim);border-color:rgba(255,180,84,.4);text-shadow:none;box-shadow:inset 0 1px 0 rgba(255,220,160,.25),0 2px 0 rgba(0,0,0,.6)}.about-copy{display:flex;flex-direction:column;gap:18px;color:var(--ink-dim)}.about-copy .lead{font-size:clamp(1.15rem,1rem + .8vw,1.5rem);line-height:1.5;color:var(--ink);font-weight:500}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:10px}@media (min-width:560px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.odo{display:flex;flex-direction:column;gap:6px;padding:14px 14px 12px;border-radius:16px;background:linear-gradient(180deg,#120803,#1f0f05);box-shadow:inset 0 3px 8px rgba(0,0,0,.8),inset 0 0 0 1px rgba(0,0,0,.8),0 1px 0 rgba(255,190,110,.22)}.odo-num{font-family:var(--font-mono);font-weight:700;font-size:clamp(1.7rem,1.3rem + 1.2vw,2.3rem);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--c-300);text-shadow:0 0 14px rgba(255,160,50,.55)}.odo-label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--ink-mute);text-transform:uppercase}.neural{display:grid;grid-gap:clamp(16px,2.4vw,28px);gap:clamp(16px,2.4vw,28px)}@media (min-width:980px){.neural{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);align-items:stretch}}.net{padding:14px}.net-screen{position:relative;z-index:1;height:590px;border-radius:16px;overflow:hidden;background:radial-gradient(rgba(255,190,110,.1) 1px,transparent 1.4px) 0 0 /22px 22px,radial-gradient(120% 90% at 50% 0,#2c180a 0,#130803 72%);box-shadow:inset 0 4px 14px rgba(0,0,0,.85),inset 0 0 0 2px rgba(255,190,110,.35),inset 0 0 0 5px #1a0d05}@media (max-width:720px){.net-screen{height:580px}.net-hint{display:none}}.net-screen canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}.net-hint{position:absolute;z-index:2;left:18px;bottom:12px;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.05em;color:var(--ink-mute);pointer-events:none}.inspect{padding:clamp(20px,2.6vw,28px);display:flex;flex-direction:column;overflow:hidden}.inspect:before{content:"";position:absolute;inset:-30% -20% auto auto;width:70%;aspect-ratio:1;background:radial-gradient(closest-side,rgba(255,160,50,.22),transparent);pointer-events:none}.ins-body{position:relative;z-index:1;flex:1 1;display:flex;flex-direction:column;gap:16px;animation:ins-in .5s var(--ease) both}@keyframes ins-in{0%{opacity:0;transform:translate3d(0,10px,0)}}.ins-top{display:flex;align-items:center;gap:18px}.medal{position:relative;flex:none;width:104px;height:104px;display:grid;place-items:center}.medal:before{content:"";position:absolute;inset:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#4a2c15,#1a0d05 75%);box-shadow:inset 0 3px 8px rgba(0,0,0,.8),0 0 0 3px #7a4a1d,0 0 0 5px #1a0d05,0 8px 18px rgba(0,0,0,.5)}.gauge{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.g-track,.g-val{fill:none;stroke-width:6;stroke-linecap:round}.g-track{stroke:rgba(255,190,110,.16)}.g-val{stroke:#ffc15a;filter:drop-shadow(0 0 5px rgba(255,160,50,.8));animation:g-draw .9s var(--ease) both}@keyframes g-draw{0%{stroke-dashoffset:327}}.medal-ic{position:relative;z-index:1;display:grid;place-items:center;animation:medal-pop .6s var(--ease-spring) both}@keyframes medal-pop{0%{transform:scale(.6) rotate(-14deg);opacity:0}}.ins-id{min-width:0}.nd-layer{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-300)}.nd-name{font-size:clamp(1.6rem,1.2rem + 1.3vw,2.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:2px 0 6px}.ins-rank{display:flex;align-items:baseline;gap:8px;font-family:var(--font-mono);font-size:.78rem;color:var(--ink-mute)}.ins-rank b{font-size:1.35rem;color:var(--c-300);text-shadow:0 0 14px rgba(255,160,50,.55)}.nd-note{color:var(--ink-dim);font-size:.97rem}.flow{margin-top:auto;display:grid;grid-template-columns:1fr auto auto auto 1fr;align-items:center;grid-gap:8px;gap:8px;padding:14px;border-radius:16px;background:rgba(0,0,0,.34);box-shadow:inset 0 3px 8px rgba(0,0,0,.65),0 1px 0 rgba(255,190,110,.14)}.flow-col h4{margin:0 0 8px;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);font-weight:500}.flow-col:first-child{text-align:right}.flow-col:first-child .flow-ic{justify-content:flex-end}.flow-ic{display:flex;flex-wrap:wrap;gap:6px}.flow-none{font-size:.74rem;color:var(--ink-mute);font-style:italic}.chipic,.flow-none{font-family:var(--font-mono)}.chipic{display:inline-flex;flex-direction:column;align-items:center;gap:3px;padding:7px 8px 5px;min-width:52px;border-radius:12px;font-size:.62rem;color:var(--ink-dim);background:linear-gradient(180deg,#4d2e16,#301a0a);border:1px solid rgba(255,180,84,.35);box-shadow:inset 0 1px 0 rgba(255,214,150,.25),0 3px 0 #120803;transition:transform .18s var(--ease),color .2s,border-color .2s;-webkit-tap-highlight-color:transparent}.chipic:hover{transform:translateY(-2px);color:#fff;border-color:var(--c-300)}.chipic:active{transform:translateY(2px);box-shadow:0 1px 0 #120803}.flow-me{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#4a2c15,#1a0d05 75%);box-shadow:0 0 0 2px #b8742a,0 0 18px rgba(255,160,50,.5),inset 0 2px 5px rgba(0,0,0,.7)}.flow-link{width:clamp(14px,3vw,30px);height:3px;border-radius:2px;background:repeating-linear-gradient(90deg,#ffd48a 0 5px,transparent 5px 11px);background-size:11px 3px;animation:flow-run .7s linear infinite;opacity:.9}@keyframes flow-run-v{to{background-position:0 11px}}@keyframes flow-run{to{background-position:11px 0}}.dock{margin-top:clamp(18px,3vw,28px);display:grid;grid-gap:18px;gap:18px}@media (min-width:900px){.dock{grid-template-columns:5fr 5fr 4fr}}.dock-group h4{margin:0 0 10px;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);font-weight:500}.dock-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));grid-gap:10px;gap:10px}@media (max-width:899px){.dock-tiles{display:flex;overflow-x:auto;scroll-snap-type:x proximity;margin:0 calc(var(--gutter) * -1);padding:16px var(--gutter) 16px;margin-top:-8px;margin-bottom:-8px;scrollbar-width:none}.dock-tiles::-webkit-scrollbar{display:none}.tile{flex:none;width:88px;scroll-snap-align:start}}.tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 8px 10px;border-radius:16px;font-family:var(--font-mono);font-size:.74rem;color:var(--ink);background:linear-gradient(180deg,#4d2e16,#301a0a);border:1px solid rgba(255,180,84,.4);box-shadow:inset 0 1px 0 rgba(255,214,150,.28),inset 0 -2px 0 rgba(0,0,0,.35),0 4px 0 #120803;transition:transform .2s var(--ease),border-color .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent}.tile-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#3a2210,#170b04 78%);box-shadow:inset 0 2px 5px rgba(0,0,0,.75),0 0 0 2px rgba(255,180,84,.45);transition:transform .35s var(--ease-spring)}.tile:hover{transform:translateY(-3px);border-color:var(--c-300)}.tile:hover .tile-ic{transform:scale(1.12) rotate(-6deg)}.tile:active{transform:translateY(2px);box-shadow:inset 0 2px 5px rgba(0,0,0,.5),0 1px 0 #120803}.tile-name{line-height:1.1;text-align:center;white-space:nowrap}.tile-bar{width:100%;height:5px;border-radius:3px;background:#170b04;box-shadow:inset 0 1px 2px rgba(0,0,0,.8);overflow:hidden}.tile-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#f08a1c,#ffe08a)}.tile[aria-pressed=true]{border-color:var(--c-700);background:linear-gradient(180deg,#ffd081,#ec8a24);color:var(--c-900);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.7),0 4px 0 var(--c-700),0 0 20px rgba(255,160,50,.5)}.tile[aria-pressed=true] .tile-bar{background:rgba(90,45,11,.35)}.tile[aria-pressed=true] .tile-bar i{background:linear-gradient(90deg,#5a2d0b,#8a470c)}@media (max-width:520px){.ins-top{gap:14px}.medal{width:88px;height:88px}.flow{grid-template-columns:minmax(0,1fr);justify-items:center;gap:6px}.flow-col,.flow-col:first-child{width:100%;text-align:center}.flow-col .flow-ic,.flow-col:first-child .flow-ic{justify-content:center}.flow-link{width:3px;height:16px;background:repeating-linear-gradient(180deg,#ffd48a 0 5px,transparent 5px 11px);background-size:3px 11px;animation-name:flow-run-v}}@media (prefers-reduced-motion:reduce){.flow-link,.g-val,.ins-body,.medal-ic{animation:none}}.nav-progress{position:absolute;left:0;bottom:0;width:100%;height:3px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--c-300),#ffe08a);box-shadow:0 0 10px rgba(255,180,84,.8);pointer-events:none}.card{transition:transform .3s var(--ease);will-change:transform}.screen-gloss{background:radial-gradient(240px circle at var(--gx,28%) var(--gy,18%),hsla(0,0%,100%,.34),transparent 62%),linear-gradient(125deg,hsla(0,0%,100%,.16) 0,transparent 34%)}.projects{overflow:hidden}.carousel{position:relative;width:100%}.track{display:flex;gap:clamp(16px,3vw,32px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:26px max(var(--gutter),calc((100vw - 1240px) / 2 + var(--gutter))) 54px;scroll-padding-inline:max(var(--gutter),calc((100vw - 1240px) / 2 + var(--gutter)));cursor:-webkit-grab;cursor:grab;-webkit-overflow-scrolling:touch;outline-offset:-6px}.track::-webkit-scrollbar{display:none}.track.is-dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:-webkit-grabbing;cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.slide{flex:0 0 min(84vw,420px);scroll-snap-align:center;transition:transform .6s var(--ease),opacity .6s var(--ease);transform:scale(.94);opacity:.62}.slide[data-active=true]{transform:scale(1);opacity:1}.card{height:100%;padding:14px 14px 22px;display:flex;flex-direction:column;gap:18px}.screen{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:16/10;box-shadow:inset 0 0 0 2px rgba(0,0,0,.7),0 0 0 2px rgba(255,190,110,.35),0 10px 20px rgba(0,0,0,.5)}.pa{width:100%;height:100%;transition:transform .9s var(--ease)}.slide[data-active=true] .pa{transform:scale(1.04)}.screen-gloss{position:absolute;inset:0;background:linear-gradient(125deg,hsla(0,0%,100%,.28),transparent 34%,transparent 70%,hsla(0,0%,100%,.08));pointer-events:none}.card-body{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:0 10px;flex:1 1}.card-kind{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.07em;text-transform:uppercase;color:var(--c-300)}.card-title{font-size:clamp(1.4rem,1.2rem + .8vw,1.8rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}.card-blurb{font-size:.97rem;line-height:1.55;color:var(--ink-dim)}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.tags li{padding:4px 11px;border-radius:999px;font-family:var(--font-mono);font-size:.72rem;color:var(--c-100);background:rgba(0,0,0,.32);box-shadow:inset 0 2px 3px rgba(0,0,0,.55),0 1px 0 rgba(255,190,110,.15)}.card-body .btn{margin-top:auto}.carousel-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1240px;margin-inline:auto;padding-inline:var(--gutter)}.dots{display:flex;gap:10px;padding:10px 14px;border-radius:999px;background:rgba(0,0,0,.3);box-shadow:inset 0 3px 6px rgba(0,0,0,.6),0 1px 0 rgba(255,190,110,.18)}.dot{position:relative;width:12px;height:12px;padding:0;border:0;border-radius:50%;background:#6a4524;box-shadow:inset 0 1px 2px rgba(0,0,0,.6);transition:width .4s var(--ease),background .3s,box-shadow .3s}.dot:before{content:"";position:absolute;inset:-10px -4px}.dot[aria-selected=true]{width:32px;border-radius:8px;background:linear-gradient(180deg,#ffd081,#ec8a24);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.6),0 0 12px rgba(255,160,50,.6)}.ctrls{display:flex;gap:12px}.contact-grid{display:grid;grid-gap:clamp(32px,6vw,80px);gap:clamp(32px,6vw,80px);align-items:start}@media (min-width:940px){.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.links{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.form{padding:clamp(22px,4vw,38px);gap:18px}.field,.form{display:flex;flex-direction:column}.field{position:relative;z-index:1;gap:8px}.field label{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--c-200)}.field input,.field textarea{width:100%;padding:14px 16px;border:0;border-radius:14px;font-size:1rem;color:var(--ink);background:#150a04;box-shadow:inset 0 3px 8px rgba(0,0,0,.8),inset 0 0 0 1px rgba(0,0,0,.9),0 1px 0 rgba(255,190,110,.25);transition:box-shadow .25s;resize:vertical}.field textarea{min-height:140px}.field input::placeholder,.field textarea::placeholder{color:#7d6347}.field input:focus,.field textarea:focus{outline:none;box-shadow:inset 0 3px 8px rgba(0,0,0,.8),inset 0 0 0 2px var(--c-300),0 0 0 4px rgba(255,180,84,.25)}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-row{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:6px}.form-status{font-size:.92rem;min-height:1.4em}.form-status .err,.form-status .ok{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.ok{color:#b9e07a}.err{color:#ffab8a}.err a{text-decoration:underline;text-underline-offset:3px}.footer{padding-block:40px 56px;border-top:1px solid rgba(255,180,84,.18);background:linear-gradient(180deg,transparent,rgba(0,0,0,.35))}.footer-inner{align-items:center;justify-content:space-between;gap:22px 32px}.footer-inner,.footer-nav{display:flex;flex-wrap:wrap}.footer-nav{gap:8px 26px;font-family:var(--font-mono);font-size:.9rem;color:var(--ink-dim)}.footer-nav a:hover{color:var(--c-300)}.copy{font-family:var(--font-mono);font-size:.8rem;color:var(--ink-mute);order:5;width:100%}@media (min-width:900px){.copy{order:0;width:auto}}@keyframes rise{to{opacity:1;transform:none}}@keyframes blink{50%{opacity:0}}@keyframes wiggle{0%,88%,to{transform:rotate(0)}92%{transform:rotate(-12deg)}96%{transform:rotate(10deg)}}@keyframes nudge{0%,to{transform:translateY(-2px)}50%{transform:translateY(4px)}}@keyframes sunPulse{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes twinkle{0%,to{opacity:.2}50%{opacity:1}}@keyframes bob{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,3px,0)}}@keyframes sway{0%,to{transform:skewX(-2.4deg)}50%{transform:skewX(2.4deg)}}@keyframes cloud{0%{transform:translate3d(-45vw,0,0)}to{transform:translate3d(105vw,0,0)}}@keyframes birdFly{0%{transform:translateZ(0)}to{transform:translate3d(-70vw,-5vh,0)}}@keyframes flap{0%,to{transform:scaleY(1)}50%{transform:scaleY(.4)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.006,1.016)}}@keyframes twitch{0%,90%,to{transform:rotate(0)}93%{transform:rotate(-9deg)}96%{transform:rotate(4deg)}}@keyframes twitchFast{0%,to{transform:rotate(0)}35%{transform:rotate(-14deg)}70%{transform:rotate(6deg)}}@keyframes blinkeye{0%,94%,to{transform:scaleY(0)}96.5%{transform:scaleY(1)}}@keyframes wobble{0%,to{transform:rotate(0)}35%{transform:rotate(1.8deg)}70%{transform:rotate(-1.6deg)}}@keyframes squash{0%{transform:scale(1)}18%{transform:scale(1.07,.9)}42%{transform:translate3d(0,-5%,0) scale(.96,1.07)}68%{transform:translateZ(0) scale(1.04,.96)}to{transform:scale(1)}}@keyframes toss{0%{transform:translateZ(0) rotate(0)}38%{transform:translate3d(2%,-34%,0) rotate(-22deg)}70%{transform:translateZ(0) rotate(6deg)}84%{transform:translate3d(0,-3%,0) rotate(-3deg)}to{transform:translateZ(0) rotate(0)}}@keyframes fxUp{0%{opacity:0;transform:translateZ(0) scale(.4) rotate(0)}14%{opacity:1}to{opacity:0;transform:translate3d(var(--dx),var(--dy),0) scale(1.05) rotate(var(--rot))}}@keyframes chIn{to{opacity:1;transform:none}}@keyframes chHop{0%,to{transform:none}40%{transform:translate3d(0,-.22em,0) rotate(-5deg) scale(1.08)}}@keyframes chWave{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-.07em,0)}}@keyframes firefly{0%{opacity:0;transform:translate(0) scale(.6)}20%{opacity:1}50%{opacity:.7;transform:translate(26px,-34px) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-14px,-70px) scale(.6)}}@media (max-width:720px){:root{--nav-h:68px}.brand-text{font-size:.98rem}.hero{align-items:flex-start}.hero-content{padding-top:calc(var(--nav-h) + 22px);padding-bottom:0;gap:16px}.capy{right:-6vw;bottom:10vh;width:min(98vw,520px)}.hero-scrim{background:linear-gradient(180deg,rgba(34,18,66,.72),rgba(34,18,66,.35) 46%,transparent 68%),linear-gradient(0deg,rgba(20,10,0,.5),transparent 25%)}.chip{min-height:42px;padding:0 14px;font-size:.84rem}.hero-tag{left:0;bottom:24px;font-size:.8rem;max-width:60%;margin-left:0;padding-inline:var(--gutter)}.scroll-cue{bottom:22px}.card-body{padding:0 6px}}@media (min-width:721px) and (max-width:1000px){.capy{width:52vw}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.001ms!important;transition-delay:0s!important}.js .ch,.js [data-reveal],.js [data-stagger]{opacity:1;transform:none}.fireflies{display:none}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.featured{position:relative}.featured:before{content:"";position:absolute;inset:6% 0 0;background:radial-gradient(60% 55% at 50% 40%,rgba(255,160,50,.16),transparent 70%);pointer-events:none}.fb{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-gap:clamp(20px,3vw,44px);gap:clamp(20px,3vw,44px);align-items:center}.fb-stage{perspective:1100px;padding:10px}.fb-card{position:relative;border-radius:26px;padding:12px;background:linear-gradient(160deg,#5a3519,#2a1509 55%,#3a200d);box-shadow:0 30px 60px -18px rgba(0,0,0,.75),0 0 0 2px #1a0d04,0 0 0 4px rgba(255,176,80,.4),inset 0 2px 0 rgba(255,205,140,.35),inset 0 -3px 6px rgba(0,0,0,.5);transform-style:preserve-3d;will-change:transform;--gx:50%;--gy:30%}.fb-card:not(.is-tilting){transition:transform .6s var(--ease)}.fb-screen{position:relative;overflow:hidden;border-radius:16px;aspect-ratio:16/9;background:#1c0e05;box-shadow:inset 0 0 0 2px #120a03,inset 0 6px 14px rgba(0,0,0,.6)}.fb-img{position:absolute;inset:-3%;will-change:transform}.fb-banner{width:100%;height:100%;object-fit:cover;image-rendering:auto;display:block}.fb-vignette{background:radial-gradient(120% 90% at 50% 40%,transparent 55%,rgba(20,8,2,.55))}.fb-glare,.fb-vignette{position:absolute;inset:0;pointer-events:none}.fb-glare{background:radial-gradient(circle at var(--gx) var(--gy),rgba(255,240,210,.34),transparent 45%);opacity:0;transition:opacity .3s var(--ease)}.fb-card.is-tilting .fb-glare{opacity:1}.fb-badge{position:absolute;display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--c-950);background:linear-gradient(180deg,var(--c-200),var(--c-400));box-shadow:0 6px 14px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.6),inset 0 -2px 0 rgba(120,60,8,.45);will-change:transform;white-space:nowrap}.fb-badge-top{top:-14px;left:22px}.fb-badge-live{top:-14px;right:22px;color:var(--ink);background:linear-gradient(180deg,#3b2412,#241307);box-shadow:0 6px 14px rgba(0,0,0,.55),0 0 0 1.5px rgba(255,176,80,.45),inset 0 1px 0 rgba(255,205,140,.3)}.fb-badge-md{bottom:-14px;left:50%;margin-left:-80px;color:#fff;background:linear-gradient(180deg,#3aa8ee,#1678c6);box-shadow:0 6px 14px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.5),inset 0 -2px 0 rgba(8,60,110,.5)}.pulse{width:8px;height:8px;border-radius:50%;background:#5be584;box-shadow:0 0 0 0 rgba(91,229,132,.7);animation:fb-pulse 1.8s ease-out infinite}@keyframes fb-pulse{70%{box-shadow:0 0 0 8px rgba(91,229,132,0)}to{box-shadow:0 0 0 0 rgba(91,229,132,0)}}.fb-info{padding:clamp(20px,2.4vw,30px);flex-direction:column;min-width:0}.fb-head,.fb-info{display:flex;gap:14px}.fb-head{align-items:center}.fb-avatar{flex:none;width:56px;height:56px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 3px var(--c-400),0 0 0 5px #1a0d04,0 6px 14px rgba(0,0,0,.5)}.fb-avatar img{width:100%;height:100%;object-fit:cover;display:block}.fb-title{font-family:var(--font-display);font-size:clamp(1.4rem,2.4vw,1.8rem);line-height:1.1;color:var(--ink)}.fb-user a{font-family:var(--font-mono);font-size:.88rem;color:#6ec3ff;text-decoration:none}.fb-user a:hover{text-decoration:underline}.fb-tagline{color:var(--c-200);font-weight:600}.tabs{position:relative;display:grid;grid-template-columns:repeat(3,1fr);padding:4px;border-radius:14px;background:rgba(0,0,0,.38);box-shadow:inset 0 3px 6px rgba(0,0,0,.6),0 1px 0 rgba(255,190,110,.15)}.tab-thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / 3);border-radius:10px;background:linear-gradient(180deg,var(--c-300),var(--c-500));box-shadow:0 3px 8px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.5),inset 0 -2px 0 rgba(120,60,8,.4);transition:transform .45s var(--ease-spring)}.tab{position:relative;z-index:1;padding:9px 6px;border:0;background:none;font:inherit;font-size:.86rem;font-weight:700;color:var(--ink-dim);cursor:pointer;border-radius:10px;transition:color .25s}.tab[aria-selected=true]{color:var(--c-950)}.tab:focus-visible{outline:2px solid var(--c-200);outline-offset:2px}.tab-panels{min-height:200px}.tabpanel:not([hidden]){display:flex;flex-direction:column;gap:10px;animation:fb-in .45s var(--ease) both}@keyframes fb-in{0%{opacity:0;transform:translate3d(0,8px,0)}}.fb-lead{color:var(--ink);font-weight:500}.tabpanel p{color:var(--ink-dim);line-height:1.6;font-size:.95rem}.tabpanel p.fb-lead{color:var(--ink)}.fb-feats{display:grid;grid-gap:10px;gap:10px}.fb-feats li{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:14px;background:rgba(0,0,0,.26);box-shadow:inset 0 2px 4px rgba(0,0,0,.45),0 1px 0 rgba(255,190,110,.12)}.fb-feats b{display:block;color:var(--ink);font-size:.95rem}.fb-feats span:not(.tick){color:var(--ink-dim);font-size:.88rem;line-height:1.5}.tick{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:var(--c-950);background:linear-gradient(180deg,var(--c-200),var(--c-400));box-shadow:0 2px 5px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.5)}.setup{display:grid;grid-gap:10px;gap:10px}.setup-row{display:grid;grid-gap:6px;gap:6px}.setup dt{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);font-weight:700}.setup dd{display:flex;align-items:center;gap:10px;margin:0}.setup code{flex:1 1;min-width:0;padding:10px 12px;border-radius:12px;font-family:var(--font-mono);font-size:.9rem;color:var(--c-100);background:rgba(0,0,0,.4);box-shadow:inset 0 3px 6px rgba(0,0,0,.6),0 1px 0 rgba(255,190,110,.15);overflow-wrap:anywhere}.setup code.is-empty{color:var(--ink-mute);font-style:italic}.fb-copy{min-width:96px;justify-content:center;flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border:0;border-radius:12px;font:inherit;font-size:.82rem;font-weight:700;color:var(--c-950);cursor:pointer;background:linear-gradient(180deg,var(--c-200),var(--c-400));box-shadow:0 4px 0 var(--c-700),0 6px 10px rgba(0,0,0,.45),inset 0 1px 0 hsla(0,0%,100%,.55);transition:transform .15s,box-shadow .15s}.fb-copy:active{transform:translateY(3px);box-shadow:0 1px 0 var(--c-700),0 2px 4px rgba(0,0,0,.45),inset 0 1px 0 hsla(0,0%,100%,.55)}.fb-copy:focus-visible{outline:2px solid #fff;outline-offset:2px}.setup-note{font-size:.86rem!important}.fb-cta{margin-top:4px}.btn-tg{width:100%;gap:10px;color:#fff;background:linear-gradient(180deg,#46b4f5,#1d86d6 55%,#1670b8);box-shadow:0 5px 0 #0d4f87,0 10px 20px rgba(14,90,160,.5),inset 0 1px 0 hsla(0,0%,100%,.55),inset 0 -2px 0 rgba(8,60,110,.35);text-shadow:0 1px 1px rgba(0,40,80,.5)}.btn-tg:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px)}.btn-tg:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px 0 #0d4f87,0 3px 8px rgba(14,90,160,.5),inset 0 1px 0 hsla(0,0%,100%,.55)}.btn-tg:focus-visible{outline:3px solid #fff;outline-offset:3px}@media (max-width:900px){.fb{grid-template-columns:minmax(0,1fr)}.fb-stage{padding:18px 6px 22px}.fb-badge{font-size:.72rem;padding:6px 10px}.fb-badge-top{left:12px}.fb-badge-live{right:12px}.fb-badge-md{margin-left:-72px}}@media (prefers-reduced-motion:reduce){.pulse{animation:none}.fb-card{transform:none!important}}#about,#contact,#featured,#projects,.footer{content-visibility:auto;contain-intrinsic-size:auto 900px}.seen .ch,.seen [data-reveal],.seen [data-stagger]{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.cloud,.grass,.grass-1,.grass-2,.live-sun{animation:none!important}.cloud{will-change:auto}.clouds .cloud:first-child{transform:translate3d(8vw,0,0)}.clouds .cloud:nth-child(2){transform:translate3d(52vw,0,0)}.clouds .cloud:nth-child(3){transform:translate3d(78vw,0,0)}.clouds .cloud:nth-child(4){transform:translate3d(30vw,0,0)}.clouds .cloud:nth-child(5){transform:translate3d(92vw,0,0)}.live{will-change:auto}