@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-opsz-normal.Czevyj-6.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-opsz-normal.CJcjJNj7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-opsz-normal.DihXLNYH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-opsz-italic.DxWqP7Ku.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-opsz-italic.CGbN9UgK.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-opsz-italic.lSdLDfvT.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/sora-latin-ext-wght-normal.CawQDOvP.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/sora-latin-wght-normal.DdqRvwsR.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0b0f14;--surface:#131a22;--surface-2:#18212b;--hair:#25313c;--ink:#e6edf0;--muted:#8d9ba7;--teal:#2dd4bf;--brass:#c9a45c;--signal:#ff5c7a;--c-ai:#a891ff;--c-web:#5ab8ff;--c-ml:#6cd69c;--c-tools:#f2925f;--on-accent:#0b0f14;--f-display:"Fraunces Variable", Georgia, serif;--f-ui:"Sora Variable", system-ui, sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, monospace;--dur-instant:.1s;--dur-fast:.18s;--dur-base:.26s;--dur-slow:.42s;--dur-deliberate:.65s;--dur-cinematic:1.2s;--ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.4,0,1,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--stagger:60ms;--reveal-distance:24px;--gutter:clamp(16px,4vw,48px);--maxw:1180px;--radius:4px;--nav-h:60px;color-scheme:dark}html[data-theme=light]{--bg:#f3f1ec;--surface:#fff;--surface-2:#ece8df;--hair:#d8d3c8;--ink:#10161d;--muted:#56626d;--teal:#0a7268;--brass:#7e5a1c;--signal:#c21f48;--c-ai:#5b43c9;--c-web:#0b5fa5;--c-ml:#1c7a47;--c-tools:#a84716;--on-accent:#fff;color-scheme:light}html[data-theme=amber]{--bg:#0a0805;--surface:#14100a;--surface-2:#1b160d;--hair:#3a2e18;--ink:#ffd9a0;--muted:#c2995a;--teal:#ffb000;--brass:#e0b060;--signal:#ff6a3d;--c-ai:#ffc46b;--c-web:#ffb000;--c-ml:#e8a33c;--c-tools:#ff8a3d;--on-accent:#0a0805}html[data-motion=lite]{--reveal-distance:16px}html[data-motion=reduced]{--reveal-distance:0px;--dur-deliberate:var(--dur-fast);--dur-cinematic:var(--dur-base)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--nav-h)}html:not(.lenis){scroll-behavior:smooth}html[data-motion=reduced]{scroll-behavior:auto}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--f-ui);transition:background-color var(--dur-slow) var(--ease-out), color var(--dur-slow) var(--ease-out);margin:0;overflow-x:hidden}h1,h2,h3{margin:0;font-weight:600;line-height:1.1}h2{font-family:var(--f-display);letter-spacing:-.01em;font-variation-settings:"opsz" 96;font-size:clamp(32px,4.4vw,48px)}h3{font-size:21px}p{margin:0}a{color:inherit}img{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}code,.mono{font-family:var(--f-mono)}::selection{background:var(--teal);color:var(--on-accent)}:focus-visible{outline:1.5px solid var(--teal);outline-offset:3px}.skip{z-index:200;background:var(--teal);color:var(--on-accent);font:500 13px var(--f-mono);transition:top var(--dur-fast);border-radius:2px;padding:10px 14px;position:fixed;top:-60px;left:12px}.skip:focus{top:12px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.eyebrow{font:500 12px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brass);align-items:center;gap:12px;display:flex}.eyebrow:after{content:"";background:var(--hair);flex:0 0 48px;height:1px}.muted{color:var(--muted)}.wrap{max-width:var(--maxw);padding:0 var(--gutter);margin:0 auto}main>section{z-index:1;padding:clamp(80px,12vw,150px) 0;position:relative}main>section+section{border-top:1px solid var(--hair)}.sec-head{gap:16px;max-width:760px;margin-bottom:clamp(36px,5vw,60px);display:grid}.sec-head blockquote{font:italic 300 clamp(20px,2.4vw,26px)/1.35 var(--f-display);color:var(--ink);margin:0}.sec-head p{color:var(--muted)}.chip{font:500 11.5px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--hair);color:var(--muted);white-space:nowrap;background:var(--surface);border-radius:2px;align-items:center;gap:6px;padding:6px 8px;display:inline-flex}.chip i{background:currentColor;border-radius:50%;width:6px;height:6px;display:block}.chip.ai{color:var(--c-ai)}.chip.web{color:var(--c-web)}.chip.ml{color:var(--c-ml)}.chip.tools{color:var(--c-tools)}.chip.st-live{color:var(--c-ml)}.chip.st-dev{color:var(--teal)}.chip.st-prototype{color:var(--c-tools)}.chip.st-concept{border-style:dashed}.chip.st-pitch{color:var(--brass);border-color:color-mix(in srgb,var(--brass) 40%,transparent)}.panel{background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius)}.note{font:400 13px/1.5 var(--f-mono);color:var(--muted)}.note b{color:var(--teal);font-weight:500}.btn{font:500 13px var(--f-ui);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--hair);background:var(--bg);transition:border-color var(--dur-fast),color var(--dur-fast),background-color var(--dur-fast),transform var(--dur-slow) var(--ease-out);border-radius:2px;align-items:center;gap:10px;padding:13px 18px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--teal);color:var(--teal)}.btn.solid{background:var(--teal);color:var(--on-accent);border-color:var(--teal)}.btn.solid:hover{color:var(--on-accent)}.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.magnetic span{transition:transform var(--dur-slow) var(--ease-out);display:inline-block}.ulink{background:linear-gradient(var(--teal),var(--teal)) 0 100% / 0 1px no-repeat;transition:background-size var(--dur-base) var(--ease-out);padding-bottom:2px;text-decoration:none}.ulink:hover{background-size:100% 1px}.ulink .arr{transition:transform var(--dur-base) var(--ease-out);display:inline-block}.ulink:hover .arr{transform:translate(3px,-3px)}.rv{opacity:0;transform:translate3d(0,var(--reveal-distance),0);transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-deliberate) var(--ease-out);transition-delay:calc(var(--i,0) * var(--stagger))}.rv.in{opacity:1;transform:none}html[data-motion=reduced] .rv{transition:opacity var(--dur-fast) linear;transition-delay:0s}.no-js .rv{opacity:1;transform:none}.nav{z-index:50;height:var(--nav-h);padding:0 var(--gutter);background:color-mix(in srgb,var(--bg) 86%,transparent);border-bottom:1px solid var(--hair);-webkit-backdrop-filter:saturate(1.2)blur(8px);align-items:center;gap:20px;display:flex;position:fixed;top:0;left:0;right:0}.brand{font:500 12.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:10px;text-decoration:none;display:flex}.brand svg{flex:none;width:28px;height:28px}.nav ul{gap:22px;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.nav ul a{font:500 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);transition:color var(--dur-fast);text-decoration:none}.nav ul a:hover,.nav ul a[aria-current=true]{color:var(--ink)}.nav ul a[aria-current=true]{color:var(--teal)}.xp-btn{font:500 12px var(--f-mono);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--hair);transition:border-color var(--dur-fast),color var(--dur-fast);border-radius:2px;flex:none;align-items:center;gap:8px;padding:8px 10px;display:inline-flex}.xp-btn svg{width:14px;height:14px;transition:transform var(--dur-slow) var(--ease-out)}.xp-btn:hover,.xp-btn[aria-expanded=true]{border-color:var(--teal);color:var(--teal)}.xp-btn[aria-expanded=true] svg{transform:rotate(90deg)}@media (width<=880px){.nav ul li:not(.keep){display:none}.nav ul{gap:14px}.nav ul a{align-items:center;min-height:44px;padding:0 8px;display:inline-flex}}@media (width<=420px){.brand span{display:none}}.xp{top:calc(var(--nav-h) - 2px);right:var(--gutter);z-index:60;width:min(410px,calc(100vw - 2 * var(--gutter)));max-height:calc(100svh - var(--nav-h) - 16px);background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius);transform-origin:100% 0;transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out),visibility 0s linear var(--dur-base);gap:18px;padding:18px;display:grid;position:fixed;overflow:auto}.xp:not(.open){opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px)scale(.98)}.xp.open{transition-delay:0s}.xp header{justify-content:space-between;align-items:center;display:flex}.xp header b{font-family:var(--f-display);font-size:22px;font-weight:600}.xp-close{font:400 20px var(--f-mono);color:var(--muted);width:32px;height:32px}.xp-close:hover{color:var(--ink)}.xp-g{border:0;gap:8px;margin:0;padding:0;display:grid}.xp-g legend{font:500 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;padding:0}.xp-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.opt{text-align:left;border:1px solid var(--hair);transition:border-color var(--dur-fast),background-color var(--dur-fast);border-radius:2px;align-content:start;justify-items:start;gap:6px;padding:10px;font-size:13.5px;font-weight:500;display:grid;position:relative}.opt:hover{border-color:var(--muted)}.opt[aria-pressed=true]{border-color:var(--teal);background:color-mix(in srgb,var(--teal) 8%,transparent)}.opt small{font:400 11px/1.35 var(--f-mono);color:var(--muted)}.opt .dots{gap:3px;display:flex}.opt .dots i{border:1px solid var(--hair);border-radius:50%;width:10px;height:10px}.opt svg{width:26px;height:26px}.opt .rec{font:500 9.5px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--brass);color:var(--bg);border-radius:2px;padding:3px 5px;position:absolute;top:-8px;right:6px}.xp-why{font:400 11.5px/1.5 var(--f-mono);color:var(--muted)}.xp-why b{color:var(--teal);font-weight:500}.xp footer{border-top:1px solid var(--hair);font:400 11.5px var(--f-mono);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding-top:14px;display:flex}.xp footer button{color:var(--teal);font:500 11.5px var(--f-mono);text-transform:uppercase;letter-spacing:.06em}html[data-motion=reduced] .xp{transition:opacity var(--dur-fast) linear}html.has-cursor,html.has-cursor *{cursor:none!important}#cursor{z-index:100;pointer-events:none;will-change:transform;display:none;position:fixed;top:0;left:0}html.has-cursor #cursor{display:block}#cursor.gone{opacity:0}#cursor svg{width:40px;height:40px;display:none;position:absolute;top:-20px;left:-20px;overflow:visible}#cursor .lbl{background:var(--bg);border:1px solid color-mix(in srgb,var(--brass) 45%,transparent);font:500 11px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brass);white-space:nowrap;opacity:0;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);border-radius:2px;padding:3px 6px;position:absolute;top:-11px;left:26px;transform:translate(-6px)}html[data-cstate=project] #cursor .lbl{opacity:1;transform:none}.cs{fill:none;stroke:var(--teal);stroke-width:1.4px;vector-effect:non-scaling-stroke;stroke-linejoin:miter;transition:stroke var(--dur-fast) var(--ease-out)}html[data-cursor-style=sigil] #cur-sigil{display:block}#cur-sigil .hex{transform-origin:0 0;transition:transform var(--dur-base) var(--ease-out)}#cur-sigil .a{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset var(--dur-fast) var(--ease-out)}#cur-sigil .dot{fill:var(--teal);stroke:none;transition:opacity var(--dur-fast)}html[data-cstate=link] #cur-sigil .hex{transform:rotate(30deg)scale(1.3)}html[data-cstate=link] #cur-sigil .a{stroke-dashoffset:0}html[data-cstate=link] #cur-sigil .dot{opacity:0}html[data-cstate=project] #cur-sigil .hex{transform:rotate(90deg)scale(1.8)}html[data-cstate=project] #cur-sigil .cs{stroke:var(--brass)}html[data-cstate=project] #cur-sigil .dot{fill:var(--brass)}html[data-cstate=text] #cur-sigil .hex{transform:scale(.18,1.1)}html[data-cstate=text] #cur-sigil .dot{opacity:0}#cursor.press #cur-sigil .hex{transform:scale(.82)}#cursor.press .cs{stroke-width:2.2px}html[data-cursor-style=node] #cur-node{display:block}#cur-node .core{fill:var(--teal);stroke:none;transform-origin:0 0;transition:transform var(--dur-fast) var(--ease-out)}#cur-node .ring{transform-origin:0 0;opacity:.45;transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-fast)}#cur-node .ticks{opacity:0;transform-origin:0 0;transition:opacity var(--dur-fast),transform var(--dur-base) var(--ease-out);transform:scale(.6)}#cur-node .ping{opacity:0;transform-origin:0 0}html[data-cstate=link] #cur-node .ring{opacity:.9;transform:scale(1.5)}html[data-cstate=link] #cur-node .ticks{opacity:1;transform:none}html[data-cstate=project] #cur-node .cs{stroke:var(--brass)}html[data-cstate=project] #cur-node .core{fill:var(--brass)}html[data-cstate=project] #cur-node .ping{animation:ping 1.4s var(--ease-out) infinite}html[data-cstate=project] #cur-node .ping.p2{animation-delay:.25s}html[data-cstate=text] #cur-node .ring{opacity:0}html[data-cstate=text] #cur-node .core{transform:scale(.5,5)}#cursor.press #cur-node .core{transform:scale(2)}@keyframes ping{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}#reticle{z-index:100;pointer-events:none;will-change:transform,width,height;width:22px;height:22px;display:none;position:fixed;top:0;left:0}html.has-cursor[data-cursor-style=reticle] #reticle{display:block}#reticle.gone{opacity:0}#reticle i{border:1.4px solid var(--teal);width:7px;height:7px;transition:border-color var(--dur-fast);position:absolute}#reticle .tl{border-bottom:0;border-right:0;top:0;left:0}#reticle .tr{border-bottom:0;border-left:0;top:0;right:0}#reticle .bl{border-top:0;border-right:0;bottom:0;left:0}#reticle .br{border-top:0;border-left:0;bottom:0;right:0}#reticle b{background:var(--teal);width:2px;height:2px;transition:opacity var(--dur-fast);margin:-1px;position:absolute;top:50%;left:50%}html[data-cursor-style=reticle] #cursor .lbl{display:none}#reticle em{background:var(--bg);border:1px solid color-mix(in srgb,var(--brass) 45%,transparent);line-height:1.2;font:500 10.5px var(--f-mono);color:var(--brass);letter-spacing:.06em;opacity:0;white-space:nowrap;transition:opacity var(--dur-fast);border-radius:2px;padding:3px 6px;font-style:normal;position:absolute;bottom:calc(100% + 8px);left:0}html[data-cstate=project] #reticle i{border-color:var(--brass)}html[data-cstate=project] #reticle em{opacity:1}html[data-cstate=link] #reticle b,html[data-cstate=project] #reticle b{opacity:0}#field{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.sigil{overflow:visible}.sigil path{fill:none;stroke-linejoin:miter;stroke-linecap:square}.sg-outer{stroke:var(--teal);stroke-width:2px}.sg-inner{stroke:var(--brass);stroke-width:1px;opacity:.55}.sg-under{stroke:var(--bg);stroke-width:6px}.sg-a,.sg-v{stroke:var(--teal);stroke-width:2.5px}.sg-spark{fill:var(--signal);transform-origin:52px 54px}.draw .sigil .d{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw var(--dur-deliberate) var(--ease-out) forwards}.draw .sigil .sg-outer{animation-duration:.9s;animation-delay:.4s}.draw .sigil .sg-inner{animation-delay:.75s}.draw .sigil .sg-under,.draw .sigil .sg-a{animation-delay:1s}.draw .sigil .sg-v{animation-delay:1.3s}.draw .sigil .sg-spark{animation:spark var(--dur-slow) var(--ease-out) 2.5s forwards;transform:scale(0)}@keyframes draw{to{stroke-dashoffset:0}}@keyframes spark{0%{transform:scale(0)rotate(0)}60%{transform:scale(1.4)rotate(45deg)}to{transform:scale(1)rotate(90deg)}}html[data-motion=reduced] .draw .sigil .d{stroke-dasharray:none;stroke-dashoffset:0;animation:none}html[data-motion=reduced] .draw .sigil .sg-spark{animation:none;transform:none}.wait-draw .sigil .d{stroke-dasharray:1;stroke-dashoffset:1px}.wait-draw .sigil .sg-spark{transform:scale(0)}html[data-motion=reduced] .wait-draw .sigil .d{stroke-dasharray:none;stroke-dashoffset:0}html[data-motion=reduced] .wait-draw .sigil .sg-spark{transform:none}.hero{text-align:center;place-items:center;min-height:100svh;display:grid;overflow:hidden;padding:calc(var(--nav-h) + 40px) 0 90px!important}.hero .rays,.hero canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero canvas{opacity:.06;-webkit-mask-image:linear-gradient(90deg,#0000 55%,#000);mask-image:linear-gradient(90deg,#0000 55%,#000)}.rays line{stroke:var(--hair);stroke-width:1px;stroke-dasharray:1;stroke-dashoffset:1px}.rays circle{fill:var(--teal);opacity:0}.draw .rays line{animation:draw var(--dur-cinematic) var(--ease-out) forwards;animation-delay:calc(1.4s + var(--i) * 40ms)}.draw .rays circle{animation:fadein var(--dur-slow) var(--ease-out) forwards;animation-delay:calc(1.9s + var(--i) * 40ms)}html[data-motion=reduced] .draw .rays line{stroke-dasharray:none;animation:none}html[data-motion=reduced] .draw .rays circle{opacity:.7;animation:none}@keyframes fadein{to{opacity:.7}}.hero-in{padding:0 var(--gutter);justify-items:center;gap:22px;display:grid;position:relative}.hero .sigil{width:clamp(110px,16vw,168px);height:auto}.hero h1{font-family:var(--f-display);letter-spacing:-.02em;font-variation-settings:"opsz" 144;font-size:clamp(46px,8vw,104px);font-weight:300;line-height:1}.hero h1 span{min-width:1ch;display:inline-block}.role{font:400 clamp(13px,1.6vw,15px)/1.4 var(--f-mono);color:var(--muted);min-height:1.4em}.role .caret{vertical-align:-.15em;background:var(--teal);width:.55em;height:1.05em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.rotator{font:300 clamp(22px,3vw,30px)/1.3 var(--f-display);max-width:640px}.rot{vertical-align:bottom;height:1.3em;color:var(--teal);text-align:left;transition:width var(--dur-slow) var(--ease-out);display:inline-grid;overflow:hidden}.rot span{transition:transform var(--dur-slow) var(--ease-out);white-space:nowrap;grid-area:1/1;justify-self:start;transform:translateY(105%)}.rot span.on{transform:none}.rot span.out{transform:translateY(-105%)}.hero-ctas{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:6px;display:flex}.cue{font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);justify-items:center;gap:10px;display:grid;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.cue:after{content:"";background:linear-gradient(var(--teal),transparent);transform-origin:top;width:1px;height:40px;animation:cue 2.2s var(--ease-in-out) infinite}html[data-motion=reduced] .cue:after{animation:none}@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}@media (height<=640px){.cue{display:none}}@media (width<=480px){#hero .eyebrow:after{display:none}#hero .eyebrow{text-wrap:balance;text-align:center;line-height:1.5}}.origins{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:clamp(32px,6vw,80px);display:grid}@media (width<=860px){.origins{grid-template-columns:1fr}}.portrait{max-width:360px;position:relative}.portrait img{border:1px solid var(--hair);filter:saturate(.95);border-radius:50%;width:100%}.portrait:after{content:"";border:1px solid var(--hair);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);pointer-events:none;position:absolute;inset:-14px}.topo{gap:0;display:grid;position:relative}.topo .line{background:var(--hair);width:1px;position:absolute;top:10px;bottom:10px;left:13px}.topo .line i{background:var(--teal);transform-origin:top;transform:scaleY(var(--p,0));position:absolute;inset:0}.topo .pkt{background:var(--teal);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);width:7px;height:7px;left:10px;top:calc(10px + var(--p,0) * (100% - 20px));opacity:var(--po,0);transition:opacity var(--dur-fast);position:absolute}.stop{grid-template-columns:28px 1fr;gap:18px;padding:16px 0;display:grid}.stop:before{content:"";background:var(--bg);border:1px solid var(--hair);z-index:1;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);width:12px;height:12px;transition:background-color var(--dur-base) var(--ease-out);margin:6px 0 0 8px;position:relative}.stop.lit:before{background:var(--teal)}.stop .k{font:500 11.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brass)}.stop h3{font-family:var(--f-display);margin:4px 0 6px;font-size:24px}.stop p{color:var(--muted);font-size:15.5px}.stop code{color:var(--teal);font-size:13px}.studio{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:8px;display:grid}.studio .panel{align-content:start;gap:10px;padding:22px;display:grid}.studio h3{font-family:var(--f-display);font-size:24px}.studio p{color:var(--muted);font-size:15px}.reel{height:300vh;position:relative;padding:0!important}.reel .pin{height:100svh;padding-top:var(--nav-h);grid-template-columns:minmax(0,1fr);align-content:center;display:grid;position:sticky;top:0;overflow:hidden}.reel .head{padding:0 var(--gutter);max-width:var(--maxw);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;width:100%;margin:0 auto 28px;display:flex}.reel .track-h{padding:0 var(--gutter);will-change:transform;gap:20px;display:flex}.site{aspect-ratio:16/10;border:1px solid var(--hair);border-radius:var(--radius);background:var(--surface);transform:perspective(900px) rotateY(var(--ry,0deg));transition:transform var(--dur-slow) var(--ease-out),border-color var(--dur-fast);flex:0 0 min(78vw,580px);align-content:end;gap:8px;padding:22px;text-decoration:none;display:grid;position:relative;overflow:hidden}.site:hover{border-color:var(--teal)}.site{font:inherit;color:inherit;text-align:left;cursor:pointer}.site .shot{background:var(--g,var(--surface-2));position:absolute;inset:0}.site .shot img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform var(--dur-deliberate) var(--ease-out)}.site:hover .shot img{transform:scale(1.03)}.site .shot:after{content:"";background:linear-gradient(transparent 22%,color-mix(in srgb,var(--surface) 70%,transparent) 55%,var(--surface) 90%);position:absolute;inset:0}.site .go{font:500 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--teal)}.socials{font:500 12.5px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;justify-content:center;gap:22px;display:flex}dialog.about{border:1px solid var(--hair);border-radius:var(--radius);background:var(--surface);width:min(680px,100vw - 32px);max-height:calc(100svh - 48px);color:var(--ink);padding:0;overflow:auto}dialog.about::backdrop{background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(4px)}dialog.about[open]{animation:dlg var(--dur-slow) var(--ease-out)}@keyframes dlg{0%{opacity:0;transform:translateY(12px)scale(.98)}}html[data-motion=reduced] dialog.about[open]{animation:none}dialog.about img{aspect-ratio:16/9;object-fit:cover;object-position:top;border-bottom:1px solid var(--hair);width:100%}.about-body{gap:14px;padding:24px;display:grid}.about-body .row{flex-wrap:wrap;gap:8px;display:flex}.about-body h3{font-family:var(--f-display);font-size:32px}.about-body p,.about-body li{color:var(--muted);font-size:15.5px}.about-body ul{gap:8px;margin:0;padding-left:18px;display:grid}.about-body li::marker{color:var(--brass)}.about-actions{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.site>:not(.shot){position:relative}.site h3{font-family:var(--f-display);font-size:clamp(26px,3vw,34px)}.site p{color:var(--muted)}.site .row{flex-wrap:wrap;gap:8px;display:flex}.reel-count{font:500 12px var(--f-mono);color:var(--muted)}html:not([data-motion=full]) .reel{height:auto}html:not([data-motion=full]) .reel .pin{height:auto;padding:clamp(80px,12vw,150px) 0;position:relative}html:not([data-motion=full]) .reel .track-h{scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:14px;overflow-x:auto;transform:none!important}html:not([data-motion=full]) .site{scroll-snap-align:start;--ry:0deg!important}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:40px;display:grid}@media (width<=700px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.stats b{font:300 clamp(34px,4vw,46px)/1 var(--f-display);font-variation-settings:"opsz" 144;display:block}.stats span{font:500 11px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.legend{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.featured{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px;display:grid}@media (width<=400px){.featured{grid-template-columns:1fr}}.proj{background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius);transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-base) var(--ease-out);align-content:start;gap:14px;padding:24px;text-decoration:none;display:grid;position:relative;overflow:hidden}.proj:before{content:"";opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-out);background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb,var(--teal) 10%,transparent), transparent 70%);position:absolute;inset:0}.proj:hover{border-color:color-mix(in srgb,var(--teal) 45%,var(--hair))}.proj:hover:before{opacity:1}.proj>*{position:relative}.proj .top{flex-wrap:wrap;gap:8px;padding-right:28px;display:flex}.proj h3{font-family:var(--f-display);font-variation-settings:"opsz" 96;font-size:28px}.proj p{color:var(--muted);font-size:15px}.proj .stack{font:400 12.5px var(--f-mono);color:var(--teal);white-space:nowrap;text-overflow:ellipsis;min-height:1.5em;overflow:hidden}.proj .stack:before{content:"$ ";color:var(--muted)}.proj .idx{font:500 12px var(--f-mono);color:var(--brass);position:absolute;top:20px;right:20px}.proj .more{font:500 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);align-items:center;gap:8px;display:flex}.proj .more i{transition:transform var(--dur-base) var(--ease-out);font-style:normal}.proj:hover .more i{transform:translate(4px)}@property --beam{syntax:"<angle>";inherits:false;initial-value:0deg}.proj.beam{isolation:isolate}.proj.beam:after{content:"";z-index:2;pointer-events:none;border-radius:inherit;background:conic-gradient(from var(--beam),transparent 0%,color-mix(in srgb,var(--teal) 30%,transparent) 5%,var(--teal) 9%,transparent 16%,transparent 100%);-webkit-mask-composite:xor;padding:1.5px;animation:4s linear infinite beam;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}@keyframes beam{to{--beam:360deg}}html[data-motion=reduced] .proj.beam:after{opacity:0;animation:none}.diagram{padding:clamp(16px,3vw,32px);overflow-x:auto}.diagram svg{width:100%;min-width:760px;height:auto;display:block}.dg-box{fill:var(--surface);stroke:var(--hair);stroke-width:1px;transition:stroke var(--dur-base) var(--ease-out)}.dg-frame{fill:none;stroke:var(--hair);stroke-dasharray:3 4}.dg-k{font:500 10.5px var(--f-mono);letter-spacing:.08em;fill:var(--muted);text-transform:uppercase;transition:fill var(--dur-base)}.dg-t{font:600 15px var(--f-ui);fill:var(--ink)}.dg-s{font:400 11.5px var(--f-mono);fill:var(--muted)}.dg-edge{fill:none;stroke:var(--muted);stroke-width:1px;opacity:.6}.dg-loop{fill:none;stroke:var(--brass);stroke-width:1px;stroke-dasharray:4 4}.dg-node.lit .dg-box{stroke:var(--teal)}.dg-node.lit .dg-k{fill:var(--teal)}.dg-packet{fill:var(--teal);opacity:0}.dg-cap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;display:flex}.dg-cap p{font:italic 300 17px var(--f-display);color:var(--muted)}.replay{font:500 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--hair);transition:color var(--dur-fast),border-color var(--dur-fast);border-radius:2px;padding:7px 10px}.replay:hover{color:var(--teal);border-color:var(--teal)}.ladder{counter-reset:r;gap:0;margin:0;padding:0;display:grid}.ladder li{border-bottom:1px solid var(--hair);grid-template-columns:48px minmax(0,220px) 1fr;align-items:baseline;gap:16px;padding:15px 0;list-style:none;display:grid}.ladder li:before{counter-increment:r;content:counter(r,decimal-leading-zero);font:500 12px var(--f-mono);color:var(--brass)}.ladder .rung{font:500 15px var(--f-mono);color:var(--ink)}.ladder .why{color:var(--muted);font-size:15px}@media (width<=640px){.ladder li{grid-template-columns:36px 1fr}.ladder .why{grid-column:2}}.struck{flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px;display:flex}.struck s{font:400 13px var(--f-mono);color:var(--muted);border:1px solid var(--hair);background:linear-gradient(var(--signal),var(--signal)) 0 52% / 0 1px no-repeat;transition:background-size var(--dur-deliberate) var(--ease-out);border-radius:2px;padding:8px 10px;text-decoration:none}.struck.in s{background-size:100% 1px}.struck.in s:nth-of-type(2){transition-delay:.12s}.struck.in s:nth-of-type(3){transition-delay:.24s}.struck.in s:nth-of-type(4){transition-delay:.36s}.filters{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.filters button{font:500 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--hair);color:var(--muted);transition:all var(--dur-fast) var(--ease-out);border-radius:2px;padding:8px 12px}.filters button:hover{color:var(--ink)}.filters button[aria-pressed=true]{color:var(--on-accent);background:var(--teal);border-color:var(--teal)}.archive{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}.arc{border:1px solid var(--hair);background:var(--surface);transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out),border-color var(--dur-fast);border-radius:2px;align-content:start;gap:8px;padding:16px;text-decoration:none;display:grid;position:relative;overflow:hidden}.arc:before{content:"";opacity:0;pointer-events:none;transition:opacity var(--dur-base);background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb,var(--teal) 9%,transparent), transparent 70%);position:absolute;inset:0}.arc:hover{border-color:var(--muted)}.arc:hover:before{opacity:1}.arc>*{position:relative}.arc .row{flex-wrap:wrap;gap:6px;display:flex}.arc b{font-size:16px;font-weight:500}.arc span.n{font:400 12.5px/1.45 var(--f-mono);color:var(--muted)}.arc.hide{display:none}.arc.fade{opacity:0;transform:scale(.97)}.training{border-top:1px solid var(--hair);margin-top:18px;padding-top:14px}.training summary{font:500 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);cursor:pointer;align-items:center;gap:10px;list-style:none;display:flex}.training summary::-webkit-details-marker{display:none}.training summary:before{content:"+";color:var(--teal);width:12px;transition:transform var(--dur-base) var(--ease-out);font-size:16px}.training[open] summary:before{transform:rotate(45deg)}.training .archive{margin-top:14px}.cv{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,64px);display:grid}@media (width<=760px){.cv{grid-template-columns:1fr}.paper{max-width:260px}}.paper{aspect-ratio:1/1.414;background:var(--surface);border:1px solid var(--hair);transition:transform var(--dur-deliberate) var(--ease-out);border-radius:2px;align-content:start;gap:9px;padding:22px 20px;display:grid;position:relative;overflow:hidden}.pp-head{border-bottom:1px solid var(--hair);align-items:center;gap:10px;margin-bottom:4px;padding-bottom:10px;display:flex}.pp-head svg{flex:none;width:30px;height:30px}.pp-head b{font:600 14px/1.2 var(--f-display);display:block}.pp-head span{font:400 9.5px var(--f-mono);color:var(--muted)}.paper i{height:5px;width:var(--w);background:var(--hair);transform-origin:0;transition:transform var(--dur-slow) var(--ease-out);transition-delay:calc(var(--k,0) * 40ms);border-radius:1px;display:block;transform:scaleX(0)}.paper em{height:8px;display:block}.paper.in i{transform:none}html[data-motion=reduced] .paper i{transition:none;transform:none}.stamp{width:54px;height:54px;font:500 13px var(--f-mono);color:var(--on-accent);background:var(--teal);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);opacity:0;place-items:center;display:grid;position:absolute;bottom:16px;right:16px;transform:scale(1.6)rotate(-12deg)}.paper.stamped .stamp{animation:stamp var(--dur-slow) var(--ease-out) forwards}html[data-motion=reduced] .paper.stamped .stamp{opacity:1;animation:none;transform:rotate(-12deg)}@keyframes stamp{60%{opacity:1;transform:scale(.92)rotate(-12deg)}to{opacity:1;transform:scale(1)rotate(-12deg)}}.paper.printing{transform:translateY(10px)}.cv-info{justify-items:start;gap:16px;display:grid}.cv-info h3{font-family:var(--f-display);font-size:clamp(24px,3vw,32px)}.cv-meta,.cv-actions{flex-wrap:wrap;gap:8px;display:flex}.cv-actions{gap:10px}.dl{isolation:isolate;position:relative;overflow:hidden}.dl-fill{z-index:-1;background:color-mix(in srgb,var(--on-accent) 24%,transparent);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.dl.loading .dl-fill{transition:transform .9s var(--ease-in-out);transform:scaleX(1)}.dl-ic{width:16px;height:16px;transition:transform var(--dur-base) var(--ease-out)}.dl:hover .dl-ic{transform:translateY(2px)}.dl.loading .dl-ic{animation:drop .6s var(--ease-in-out) infinite}@keyframes drop{0%{opacity:0;transform:translateY(-3px)}40%{opacity:1}to{opacity:0;transform:translateY(4px)}}footer.end{z-index:1;border-top:1px solid var(--hair);text-align:center;padding:clamp(90px,13vw,160px) 0 40px;position:relative}footer.end .wrap{justify-items:center;gap:22px;display:grid}footer.end .sigil{width:88px}footer.end h2{max-width:760px}.memory-count{font:400 14px var(--f-mono);color:var(--muted)}.memory-count b{color:var(--teal);font-weight:500}.end-ctas{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.fine{width:100%;font:400 12px var(--f-mono);color:var(--muted);border-top:1px solid var(--hair);text-align:left;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:60px;padding-top:20px;display:flex}.fine a{color:var(--muted)}.case-head{padding:calc(var(--nav-h) + clamp(48px,8vw,100px)) 0 clamp(40px,6vw,64px)!important}.case-head .back{font:500 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);gap:8px;margin-bottom:28px;text-decoration:none;display:inline-flex}.case-head .back:hover{color:var(--teal)}.case-head h1{font-family:var(--f-display);letter-spacing:-.02em;font-variation-settings:"opsz" 144;overflow-wrap:anywhere;margin:18px 0 20px;font-size:clamp(44px,7vw,88px);font-weight:300}.case-head .lede{max-width:760px;color:var(--muted);font-size:clamp(18px,2vw,21px)}.facts{background:var(--hair);border:1px solid var(--hair);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;margin-top:36px;display:grid;overflow:hidden}.facts div{background:var(--surface);align-content:start;gap:6px;padding:16px 18px;display:grid}.facts dt{font:500 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.facts dd{margin:0;font-size:14.5px}.facts dd a{color:var(--teal)}.prose{max-width:740px}.prose h2{margin:52px 0 16px;font-size:clamp(26px,3vw,34px)}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:color-mix(in srgb,var(--ink) 86%,var(--muted));font-size:17px}.prose p+p{margin-top:14px}.prose ul,.prose ol{gap:8px;margin:14px 0;padding-left:20px;display:grid}.prose li::marker{color:var(--brass)}.prose strong{color:var(--ink);font-weight:600}.prose a{color:var(--teal)}.prose code{color:var(--teal);background:var(--surface);border:1px solid var(--hair);border-radius:2px;padding:1px 5px;font-size:.88em}.prose table{border-collapse:collapse;width:100%;margin:18px 0;font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--hair);vertical-align:top;padding:12px 14px}.prose th{font:500 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.next{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding:28px;text-decoration:none;display:flex}.next span{font:500 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.next b{font:300 clamp(28px,4vw,44px) var(--f-display);font-variation-settings:"opsz" 144}.next:hover b{color:var(--teal)}.lost{text-align:center;min-height:100svh;padding:var(--nav-h) var(--gutter) 40px;place-items:center;display:grid}.lost .in{justify-items:center;gap:20px;max-width:560px;display:grid}.orphan{border:1px dashed var(--hair);border-radius:2px;width:min(420px,90vw);height:140px;display:block;position:relative}.orphan svg{width:100%;height:100%;position:absolute;inset:0}.orphan line{stroke:var(--teal);stroke-width:1px;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset var(--dur-slow) var(--ease-out)}.orphan:hover line,.orphan:focus-visible line{stroke-dashoffset:0}.orphan circle{fill:var(--teal)}.orphan text{font:500 11px var(--f-mono);fill:var(--muted);letter-spacing:.06em}.toast{z-index:120;opacity:0;pointer-events:none;max-width:calc(100vw - 32px);font:500 12px/1.4 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--surface);border:1px solid var(--teal);color:var(--teal);transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);border-radius:2px;padding:12px 16px;position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px)}.toast.on{opacity:1;transform:translate(-50%)}
