@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_9c6cb61b-module__8NX9hq__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_9c6cb61b-module__8NX9hq__variable{--font-geist:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2)format("woff2");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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.woff2)format("woff2");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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_d6617093-module__z61v7q__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_d6617093-module__z61v7q__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.0y1-r_vehenvp.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.10_7676vm7pyy.woff2)format("woff2");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:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.0hck6o0i8wq3a.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.0gq7fw9.sy_5..woff2)format("woff2");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:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_c0481246-module__7dKfkW__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_c0481246-module__7dKfkW__variable{--font-instrument:"Instrument Serif", "Instrument Serif Fallback"}
:root{--paper:#0b0f17;--paper-2:#131824;--paper-3:#1c2333;--paper-4:#27304a;--ink:#eef0f5;--ink-2:#d2d6e2;--ink-muted:#8f95ab;--ink-soft:#5e657d;--line:#eef0f517;--line-strong:#eef0f52e;--accent-hue:228;--accent-chroma:.08;--accent:oklch(.68 var(--accent-chroma) var(--accent-hue));--accent-ink:oklch(.78 var(--accent-chroma) var(--accent-hue));--accent-wash:oklch(.3 .05 var(--accent-hue));--accent-deep:oklch(.5 calc(var(--accent-chroma) + .01) var(--accent-hue));--accent-2:#6588b6;--accent-2-ink:#83a7d6;--leaf:#537789;--syntax-key:#aab1f7;--syntax-str:#fb9d59;--syntax-num:#ff9588;--syntax-path:#5bbdda;--shadow-lg:0 40px 80px -20px #0009;--shadow-md:0 30px 70px -30px #00000080;--grid-fade:radial-gradient(ellipse at 50% 0%, black 0%, transparent 80%);--font-sans:var(--font-geist,"Geist"), -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--font-serif:var(--font-instrument,"Instrument Serif"), "Iowan Old Style", Georgia, serif;--font-mono:var(--font-geist-mono,"Geist Mono"), "SF Mono", "JetBrains Mono", ui-monospace, monospace;--max:1280px;--pad:clamp(24px, 5vw, 72px)}@supports (color:lab(0% 0 0)){:root{--accent-2:lab(55.5964% -3.45209 -28.2008);--accent-2-ink:lab(67.2219% -3.93161 -28.327);--leaf:lab(47.9546% -9.74721 -14.2304);--syntax-key:lab(73.5111% 9.69708 -35.8986);--syntax-str:lab(73.8123% 31.6311 50.3442);--syntax-num:lab(73.1856% 42.9403 27.3773);--syntax-path:lab(71.5264% -23.5633 -23.7665)}}[data-theme=light]{--paper:#f7f8fb;--paper-2:#fff;--paper-3:#eef0f5;--paper-4:#e2e5ee;--ink:#0f1320;--ink-2:#2a2f42;--ink-muted:#5a6178;--ink-soft:#8b91a7;--line:#0f132014;--line-strong:#0f132026;--accent:oklch(.55 .1 var(--accent-hue));--accent-ink:oklch(.42 .12 var(--accent-hue));--accent-wash:oklch(.92 .04 var(--accent-hue));--accent-deep:oklch(.38 .1 var(--accent-hue));--accent-2:#346aac;--accent-2-ink:#004b96;--leaf:#296b88;--syntax-key:#5550c0;--syntax-str:#b74b21;--syntax-num:#c13c3b;--syntax-path:#006f88;--shadow-lg:0 30px 60px -20px #0f132040;--shadow-md:0 20px 50px -25px #0f132033;--grid-fade:radial-gradient(ellipse at 50% 0%, black 0%, transparent 70%)}@supports (color:lab(0% 0 0)){[data-theme=light]{--accent-2:lab(43.6038% -.882626 -41.5268);--accent-2-ink:lab(31.5831% 4.36035 -47.9739);--leaf:lab(42.188% -14.2366 -22.3901);--syntax-key:lab(39.5711% 26.8802 -59.4674);--syntax-str:lab(46.6028% 42.9786 45.9653);--syntax-num:lab(46.0946% 53.6611 32.391);--syntax-path:lab(42.5972% -30.1951 -34.6405)}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-mono);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01", "ss02", "cv11";font-size:14.5px;line-height:1.5;overflow-x:hidden}::selection{background:var(--accent);color:var(--paper)}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body,.nav,section,footer,.btn,.form,.hero-term,.skills-term,.chat-term,.brand,.contact-point,.port-link,.stag,.nav-link,.icon-btn,.form-submit,.bsug,.field input,.field textarea,.nav-cta,.tl-download{transition:background-color .4s,color .4s,border-color .4s,box-shadow .4s}.theme-toggle svg{transition:transform .4s cubic-bezier(.22,1,.36,1)}.theme-toggle:hover svg{transform:rotate(-25deg)scale(1.05)}[data-theme=light] .theme-toggle:hover svg{transform:rotate(25deg)scale(1.05)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}.container{max-width:var(--max);padding-left:var(--pad);padding-right:var(--pad);margin:0 auto}body:before{content:"";background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);-webkit-mask-image:var(--grid-fade);mask-image:var(--grid-fade);-webkit-mask-image:var(--grid-fade);pointer-events:none;z-index:0;opacity:.6;background-size:60px 60px;position:fixed;inset:0}main,header,footer,section{z-index:1;position:relative}.nav{z-index:50;background:color-mix(in oklab, var(--paper) 82%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.2);border-bottom:1px solid #0000;padding:18px 0;transition:border-color .3s,padding .3s;position:fixed;top:0;left:0;right:0}.nav.scrolled{border-bottom-color:var(--line);padding:12px 0}.nav-row{justify-content:space-between;align-items:center;gap:32px;display:flex}.logo{font-family:var(--font-mono);letter-spacing:-.01em;align-items:center;gap:12px;font-size:14px;font-weight:500;display:flex}.logo-mark{vertical-align:-.28em;background:url(/assets/ac-logo.png) 50%/contain no-repeat;border-radius:50%;flex-shrink:0;width:22px;height:22px;display:inline-block}.logo-name{flex-direction:column;line-height:1.15;display:flex}.logo-name-row{align-items:center;gap:8px;display:inline-flex}.logo-name .slash{color:var(--ink-muted)}.logo-name .sub{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px}.nav-links{align-items:center;gap:2px;display:flex}@media (max-width:860px){.nav-links{display:none!important}}.nav-link{font-family:var(--font-mono);color:var(--ink-muted);white-space:nowrap;border-radius:6px;padding:8px 12px;font-size:13px;transition:color .2s,background .2s;position:relative}.nav-link:before{content:"/ ";color:var(--ink-soft);opacity:.6}.nav-link:hover{color:var(--ink);background:var(--paper-2)}.nav-link .dot{background:var(--accent);vertical-align:middle;width:5px;height:5px;box-shadow:0 0 8px var(--accent);border-radius:50%;margin-left:6px;display:inline-block}.nav-cta{background:var(--accent);color:var(--paper);font-family:var(--font-mono);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:500;transition:transform .2s,box-shadow .2s,filter .2s;display:inline-flex}.nav-cta:hover{filter:brightness(1.1);box-shadow:0 8px 24px -8px var(--accent);transform:translateY(-1px)}.nav-cta svg{transition:transform .25s}.nav-cta:hover svg{transform:translate(3px)}.icon-btn{width:34px;height:34px;color:var(--ink-muted);border:1px solid var(--line);border-radius:6px;justify-content:center;align-items:center;transition:color .2s,background .2s,border-color .2s;display:inline-flex}.icon-btn:hover{color:var(--ink);background:var(--paper-2);border-color:var(--line-strong)}.lang-switch{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;gap:6px;width:auto;padding:0 10px;font-size:11px}.lang-switch .slash{color:var(--ink-soft)}.lang-switch .active{color:var(--accent-ink)}.hero{padding-top:130px;padding-bottom:80px;position:relative;overflow:hidden}.hero:before{content:"";opacity:.08;pointer-events:none;z-index:0;background-image:url(/assets/ac-logo.png);background-position:50%;background-repeat:no-repeat;background-size:contain;width:560px;height:560px;position:absolute;top:-100px;right:-160px}[data-theme=light] .hero:before{opacity:.12}.hero:after{content:"";background:radial-gradient(circle at center, color-mix(in oklab, var(--accent) 30%, transparent) 0%, transparent 60%);pointer-events:none;z-index:0;width:500px;height:500px;position:absolute;top:-200px;right:-80px}.hero>.container{z-index:1;position:relative}.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:64px;display:grid}@media (max-width:1100px){.hero-grid{grid-template-columns:1fr;gap:40px}}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);border:1px solid var(--line);background:var(--paper-2);border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 10px;font-size:11px;display:inline-flex}.eyebrow .pulse{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 0 color-mix(in oklab, var(--accent) 60%, transparent);border-radius:50%;animation:2.2s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in oklab, var(--accent) 60%, transparent)}70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}.hero h1{font-family:var(--font-serif);letter-spacing:-.025em;margin-top:24px;font-size:clamp(52px,8.5vw,124px);font-weight:400;line-height:.95;overflow-x:clip}.hero h1 .kw{font-family:var(--font-mono);color:var(--ink-muted);letter-spacing:0;vertical-align:.45em;margin-right:.3em;font-size:.32em;font-weight:400}.hero h1 .name{color:var(--ink)}.hero h1 .eq{font-family:var(--font-mono);color:var(--ink-soft);flex-shrink:0;align-self:center;margin-right:.3em;font-size:.32em;font-style:normal}.hero h1 .rotator{color:var(--accent-ink);align-items:baseline;min-width:3ch;font-style:italic;display:inline-flex;position:relative}.hero h1 .rotator .slot{vertical-align:baseline;height:1.25em;margin:-.05em -.04em -.18em;padding:.05em .04em .18em;line-height:1.25;display:inline-block;position:relative;overflow:hidden}.hero h1 .rotator .word{white-space:nowrap;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .45s;display:inline-block;transform:translateY(0)}.hero h1 .rotator .word.out{opacity:0;transform:translateY(-115%)}.hero h1 .rotator .word.in{opacity:0;transform:translateY(115%)}.hero h1 .rotator .caret{background:var(--accent);vertical-align:baseline;width:.06em;height:.85em;margin-left:.08em;animation:1s steps(2,start) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.hero-sub{font-family:var(--font-sans);color:var(--ink-muted);text-wrap:pretty;max-width:58ch;margin-top:32px;font-size:clamp(16px,1.4vw,18px);line-height:1.6}.hero-sub strong{color:var(--ink);font-weight:500}.hero-ctas{flex-wrap:wrap;gap:12px;margin-top:40px;display:flex}.btn{font-family:var(--font-mono);will-change:transform;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:13px 20px;font-size:13.5px;font-weight:500;transition:transform .2s,box-shadow .3s,background .2s,color .2s,border-color .2s,filter .2s;display:inline-flex}.btn-primary{background:var(--accent);color:var(--paper)}.btn-primary:hover{filter:brightness(1.08);box-shadow:0 16px 30px -12px var(--accent);transform:translateY(-2px)}.btn-ghost{border-color:var(--line-strong);color:var(--ink);background:var(--paper-2)}.btn-ghost:hover{background:var(--paper-3);border-color:var(--ink-muted)}.btn .arrow{transition:transform .3s cubic-bezier(.22,1,.36,1)}.btn:hover .arrow{transform:translate(4px)}.hero-meta{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:24px;margin-top:48px;padding-top:24px;font-size:11px;display:flex}.hero-meta span{align-items:center;gap:8px;display:inline-flex}.hero-meta .tick{color:var(--accent);font-size:12px}.hero-term{background:var(--paper-2);border:1px solid var(--line-strong);font-family:var(--font-mono);box-shadow:var(--shadow-lg);border-radius:14px;position:relative;overflow:hidden}.hero-term:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 2px,#ffffff04 2px 3px);position:absolute;inset:0}.term-bar{border-bottom:1px solid var(--line);background:var(--paper-3);align-items:center;gap:8px;padding:11px 14px;display:flex}.term-bar .tl{background:#ff5f57;border:none;border-radius:50%;flex-shrink:0;width:12px;min-width:12px;height:12px;padding:0;box-shadow:inset 0 0 0 .5px #0003}.term-bar .tl:nth-child(2){background:#febc2e}.term-bar .tl:nth-child(3){background:#28c840}.term-bar .t-title{color:var(--ink-muted);letter-spacing:.06em;margin-left:10px;font-size:11px}.term-body{min-height:360px;padding:20px 22px;font-size:13px;line-height:1.75}.t-line{align-items:center;gap:10px;display:flex}.t-prompt{color:var(--accent);-webkit-user-select:none;user-select:none;flex-shrink:0}.t-user{color:var(--ink-muted)}.t-path{color:var(--syntax-path)}.t-dim{color:var(--ink-muted)}.t-key{color:var(--syntax-key)}.t-str{color:var(--syntax-str)}.t-num{color:var(--syntax-num)}.t-bool{color:var(--accent-ink)}.t-punct{color:var(--ink-soft)}.t-comment{color:var(--ink-soft);font-style:italic}.term-type{white-space:nowrap;border-right:2px solid var(--accent);animation:2.4s steps(40,end) typing,.8s step-end infinite cursor-blink;display:inline-block;overflow:hidden}@keyframes typing{0%{width:0}to{width:100%}}@keyframes cursor-blink{50%{border-color:#0000}}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2);padding:22px 0;overflow:hidden}.marquee-track{gap:64px;width:max-content;animation:40s linear infinite marquee;display:flex}.marquee-track>span{font-family:var(--font-mono);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:64px;font-size:13px;display:inline-flex}.marquee-track>span:after{content:"◆";color:var(--accent);font-size:9px}@keyframes marquee{to{transform:translate(-50%)}}section{padding:clamp(70px,9vw,120px) 0;position:relative}.sec-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);align-items:center;gap:10px;font-size:11px;display:inline-flex}.sec-label:before{content:"";background:var(--accent);width:24px;height:1px}.sec-num{font-family:var(--font-mono);color:var(--accent);margin-right:8px;font-size:11px}.sec-title{font-family:var(--font-serif);letter-spacing:-.02em;text-wrap:balance;max-width:22ch;color:var(--ink);margin-top:18px;font-size:clamp(36px,5vw,64px);font-weight:400;line-height:1.05}.sec-title em{color:var(--accent-ink);font-style:italic}.sec-head{margin-bottom:56px}.sec-head.row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:40px;display:flex}.sec-head.row .sec-title{margin-bottom:0}.skills-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:stretch;gap:56px;display:grid}@media (max-width:960px){.skills-grid{grid-template-columns:1fr;gap:36px}}.skills-term{background:var(--paper-2);border:1px solid var(--line-strong);font-family:var(--font-mono);box-shadow:var(--shadow-md);border-radius:12px;overflow:hidden}.skills-term .term-body{scrollbar-width:thin;scrollbar-color:var(--paper-4) transparent;min-height:0;max-height:520px;padding:24px;font-size:12.5px;line-height:1.75;overflow-y:auto}.skills-term .term-body::-webkit-scrollbar{width:6px}.skills-term .term-body::-webkit-scrollbar-thumb{background:var(--paper-4);border-radius:4px}.sk-row{display:block}.sk-indent{padding-left:1.5em}.sk-cat{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;transition:color .2s;display:inline-flex}.sk-cat:hover{color:var(--accent-ink)}.sk-chevron{color:var(--ink-muted);width:12px;transition:transform .2s;display:inline-block}.sk-cat.closed .sk-chevron{transform:rotate(-90deg)}.sk-count{color:var(--ink-soft);font-size:11px}.sk-list{transition:max-height .35s;overflow:hidden}.sk-list.closed{max-height:0!important}.sk-item{grid-template-columns:1fr 64px;align-items:center;gap:12px;padding:2px 0;display:grid}.sk-name{display:inline}.sk-bar{background:var(--paper-4);border-radius:2px;height:4px;position:relative;overflow:hidden}.sk-bar:after{content:"";width:var(--pct,0%);background:var(--accent);border-radius:2px;transition:width .8s cubic-bezier(.22,1,.36,1);position:absolute;top:0;bottom:0;left:0}.skills-note p{color:var(--ink-muted);font-size:15px;line-height:1.65;font-family:var(--font-sans);max-width:48ch;margin-top:18px}.skills-note p+p{margin-top:14px}.skills-note .sec-title{margin-bottom:0}.skills-tags{flex-wrap:wrap;gap:6px;margin-top:32px;display:flex}.stag{font-family:var(--font-mono);background:var(--paper-2);border:1px solid var(--line-strong);color:var(--ink-muted);letter-spacing:.02em;border-radius:4px;padding:5px 10px;font-size:11px}.stag.accent{color:var(--accent-ink);border-color:color-mix(in oklab, var(--accent) 40%, transparent);background:color-mix(in oklab, var(--accent) 8%, var(--paper-2))}.bot-feature{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.bot-feature:before{content:"";background:radial-gradient(ellipse at 85% 15%, color-mix(in oklab, var(--accent) 14%, transparent), transparent 55%), radial-gradient(ellipse at 10% 90%, color-mix(in oklab, var(--accent) 6%, transparent), transparent 55%);pointer-events:none;position:absolute;inset:0}.bot-feature>*{position:relative}.bot-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:56px;display:grid}@media (max-width:960px){.bot-grid{grid-template-columns:1fr;gap:40px}}.bot-suggest-meta{flex-direction:column;gap:12px;margin-top:28px;display:flex}.bot-suggest-meta .bsug{font-family:var(--font-mono);background:var(--paper-3);border:1px solid var(--line);color:var(--ink-2);text-align:left;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:12px;transition:all .2s;display:flex}.bot-suggest-meta .bsug:hover{border-color:var(--accent);color:var(--accent-ink);background:color-mix(in oklab, var(--accent) 8%, var(--paper-3))}.bot-suggest-meta .bsug:before{content:"›";color:var(--accent)}.chat-term{background:var(--paper);border:1px solid var(--line-strong);font-family:var(--font-mono);box-shadow:var(--shadow-lg);border-radius:14px;overflow:hidden}.chat-body{scrollbar-width:thin;scrollbar-color:var(--paper-4) transparent;min-height:380px;max-height:480px;padding:22px 24px;font-size:13px;line-height:1.7;overflow-y:auto}.chat-body::-webkit-scrollbar{width:6px}.chat-body::-webkit-scrollbar-thumb{background:var(--paper-4);border-radius:4px}.msg{margin-bottom:14px}.msg-in{color:var(--ink-2)}.msg-in .label{color:var(--ink-muted)}.msg-out{color:var(--ink)}.msg-out .label{color:var(--accent)}.msg .label{letter-spacing:.08em;text-transform:uppercase;margin-right:10px;font-size:11px}.msg-text{color:inherit;margin-top:4px;padding-left:0;display:block}.t-input-row{border-top:1px solid var(--line);background:var(--paper-2);align-items:center;gap:10px;padding:14px 20px;display:flex}.t-input{font:inherit;color:inherit;caret-color:var(--accent);background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.t-input::placeholder{color:var(--ink-soft)}.t-cursor{background:var(--accent);vertical-align:middle;width:7px;height:13px;margin-left:4px;animation:1s steps(2,start) infinite blink;display:inline-block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pj-auto{border:1px solid var(--line-strong);height:36px;font-family:var(--font-mono);color:var(--ink-2);border-radius:18px;align-items:center;gap:10px;padding:0 14px;font-size:12px;display:inline-flex}#work .sec-head.row{row-gap:20px}.pj-auto.is-off{visibility:hidden}.pj-auto:hover{border-color:var(--accent);color:var(--accent-ink)}.pj-auto:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.pj-auto-icon{border-left:3px solid;border-right:3px solid;width:8px;height:10px}.pj-browser{background:#fff;display:block;overflow:hidden;box-shadow:0 22px 46px -14px #00000073}.pj-browser-bar{background:#e6e8ee;display:block}.pj-browser img{aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%;display:block}.pj-phone{background:#0b0f17;border:3px solid #0b0f17;display:block;overflow:hidden;box-shadow:0 22px 46px -12px #00000080}.pj-phone img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.pj-new{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#9cc3dc;background:#0b0f17;border-radius:9px;font-size:9px}.pj-panel-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.pj-panel-name{font-family:var(--font-mono);color:#eef0f5;font-size:24px;font-weight:700;line-height:1.2}.pj-panel-status{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#9cc3dc;white-space:nowrap;flex-shrink:0;font-size:11px}.pj-panel-tagline{font-family:var(--font-sans);color:#d2d6e2;font-size:15px;line-height:1.5}.spines{--spine:58px;--gap:6px;gap:var(--gap);height:540px;list-style:none;display:flex;container-type:inline-size}@media (max-width:1239.98px){.spines{--spine:44px}}.spine{flex:0 1 var(--spine);min-width:var(--spine);background:var(--bg);border-radius:14px;transition:flex-grow .42s cubic-bezier(.7,0,.25,1);position:relative;overflow:hidden}.spine.is-active{flex-grow:1}.spine:has(.spine-btn:focus-visible){outline:2px solid var(--accent-ink);outline-offset:3px}.spine-btn{z-index:3;cursor:pointer;width:100%;position:absolute;inset:0}.spine-btn:focus{outline:none}.spine.is-active .spine-btn{z-index:0;cursor:default}.spine-col{width:var(--spine);z-index:1;pointer-events:none;transition:opacity .15s;position:absolute;top:0;bottom:0;left:0}.spine.is-active .spine-col{opacity:0}.spine:not(.is-active):hover .spine-col{filter:brightness(1.1)}.spine-tex{width:100%;height:auto;position:absolute;bottom:0;left:0;-webkit-mask-image:linear-gradient(#0000,#000 40%);mask-image:linear-gradient(#0000,#000 40%)}.spine-num{text-align:center;font-family:var(--font-mono);color:var(--fg);font-size:11px;position:absolute;top:16px;left:0;right:0}.spine-name{writing-mode:vertical-rl;font-family:var(--font-mono);letter-spacing:.04em;color:var(--fg);white-space:nowrap;font-size:15px;font-weight:700;position:absolute;top:42px;left:50%;transform:translate(-50%)rotate(180deg)}.spine-new{text-align:center;width:36px;height:18px;margin-left:-18px;line-height:18px;position:absolute;bottom:16px;left:50%}.spine-exp{--aw:calc(100cqw - (var(--count) - 1) * (var(--spine) + var(--gap)));width:var(--aw);z-index:2;opacity:0;transition:opacity .25s,transform .32s cubic-bezier(.2,.9,.25,1);position:absolute;top:0;bottom:0;left:0;transform:translateY(16px)}.spine.is-active .spine-exp{opacity:1;transition-delay:.14s,.14s;transform:none}.spine:not(.is-active) .spine-exp{pointer-events:none}.spine-exp .pj-browser{width:clamp(250px, calc(var(--aw) - 152px), 460px);border-radius:9px;position:absolute;top:26px;left:24px}.spine-exp .pj-browser-bar{height:14px}.spine-exp .pj-phone{border-radius:19px;width:104px;height:225px;position:absolute;top:62px;right:22px}.spine-exp .pj-phone-solo{border-radius:23px;width:132px;height:286px;margin-left:-66px;top:24px;left:50%;right:auto}.spine-panel{color:#eef0f5;background:#0b0f17e0;flex-direction:column;gap:8px;padding:22px 24px 24px;display:flex;position:absolute;bottom:0;left:0;right:0}.spine-panel:focus-visible{outline-offset:-4px;border-radius:0 0 14px 14px;outline:2px solid #9cc3dc}.pj-panel-url{font-family:var(--font-mono);color:#9cc3dc;font-size:13px;transition:color .2s}.spine-panel:hover .pj-panel-url{color:#eef0f5}.pj-meta{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:32px;margin-top:28px;display:grid}.pj-meta-stack{display:grid}.pj-meta-item{visibility:hidden;opacity:0;grid-area:1/1;justify-content:space-between;align-items:flex-start;gap:32px;transition:opacity .25s,visibility 0s linear .25s;display:flex}.pj-meta-item.is-active{visibility:visible;opacity:1;transition-delay:0s}.pj-meta .port-desc{max-width:68ch;margin-bottom:0}.pj-meta .port-links{flex-shrink:0;justify-content:flex-end;margin-bottom:0}.pj-meta .port-count{padding-top:8px}.bands{overflow-anchor:none;flex-direction:column;gap:6px;list-style:none;display:none}@media (max-width:1023.98px){.spines,.pj-meta{display:none}.bands{display:flex}}.band{background:var(--bg);border-radius:14px;grid-template-rows:64px 0fr;transition:grid-template-rows .38s cubic-bezier(.7,0,.25,1);display:grid;position:relative;overflow:hidden}.band.is-active{grid-template-rows:0 1fr}.band:has(.band-btn:focus-visible){outline:2px solid var(--accent-ink);outline-offset:3px}.band-btn{z-index:3;cursor:pointer;width:100%;position:absolute;inset:0}.band-btn:focus{outline:none}.band.is-active .band-btn{z-index:0;cursor:default}.band-col{z-index:1;pointer-events:none;height:64px;color:var(--fg);transition:opacity .15s;position:absolute;top:0;left:0;right:0}.band.is-active .band-col{opacity:0}.band-num{font-family:var(--font-mono);color:var(--fg);font-size:11px;position:absolute;top:13px;left:16px}.band-name{font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;position:absolute;top:11px;left:48px;right:84px;overflow:hidden}.band-short{font-family:var(--font-sans);white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:1.3;position:absolute;top:34px;left:48px;right:84px;overflow:hidden}.band:has(.band-new) .band-name{right:130px}.band-new{padding:2px 7px;position:absolute;top:13px;right:78px}.band-peek{background:#0b0f17;border:2px solid #0b0f17;border-radius:9px;width:46px;height:100px;position:absolute;top:12px;right:18px;overflow:hidden;transform:rotate(-8deg);box-shadow:0 8px 18px -6px #00000080}.band-peek img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.band-spacer{grid-row:1}.band-body{z-index:2;grid-row:2;min-height:0;position:relative;overflow:hidden}.band-exp{opacity:0;transition:opacity .25s,transform .32s cubic-bezier(.2,.9,.25,1);transform:translateY(16px)}.band.is-active .band-exp{opacity:1;transition-delay:.14s,.14s;transform:none}.band-stage{padding:40px 16px 20px;position:relative}.band-num-exp{top:14px}.band-devices{align-items:flex-start;width:min(100%,560px);margin:0 auto;display:flex}.band-devices .pj-browser{border-radius:6px;flex:0 0 70%;box-shadow:0 14px 30px -10px #00000073}.band-devices .pj-browser-bar{height:10px}.band-devices .pj-phone{aspect-ratio:78/168;border-width:2px;border-radius:14px;flex:0 0 23%;margin-top:14px;margin-left:auto;box-shadow:0 14px 30px -10px #00000080}.band-devices .pj-phone-solo{aspect-ratio:104/224;border-radius:18px;flex-basis:clamp(104px,33%,160px);margin:-14px auto 0}.band-panel{background:#0b0f17e6;flex-direction:column;gap:8px;padding:16px 16px 18px;display:flex}.band-panel .pj-panel-name{font-size:19px}.band-panel .pj-panel-status{font-size:10px}.band-panel .pj-panel-tagline{font-size:14px;line-height:1.55}.band-desc{font-family:var(--font-sans);color:#aeb4c6;font-size:13.5px;line-height:1.6}.band-links{flex-wrap:wrap;gap:8px;display:flex}.band-links a{min-height:44px;font-family:var(--font-mono);color:#d2d6e2;border:1px solid #eef0f533;border-radius:10px;align-items:center;gap:6px;padding:0 14px;font-size:12px;display:inline-flex}.band-visit{color:#0b0f17;min-height:48px;font-family:var(--font-mono);text-align:center;background:#eef0f5;border-radius:10px;justify-content:center;align-items:center;gap:6px;margin-top:6px;padding:0 16px;font-size:13px;display:flex}.band-visit:hover{background:#fff}.band-panel a:focus-visible{outline-offset:2px;outline:2px solid #9cc3dc}@media (prefers-reduced-motion:reduce){.spine,.spine-col,.spine-exp,.band,.band-col,.band-exp,.pj-meta-item{transition:none!important}.spine-exp,.band-exp{transform:none!important}}.port-desc{color:var(--ink-muted);max-width:48ch;font-size:15.5px;line-height:1.65;font-family:var(--font-sans);margin-bottom:24px}.port-links{flex-wrap:wrap;gap:10px;margin-bottom:28px;display:flex}.port-link{font-family:var(--font-mono);background:var(--paper-2);border:1px solid var(--line-strong);color:var(--ink-2);border-radius:6px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;transition:all .2s;display:inline-flex}.port-link:hover{border-color:var(--accent);color:var(--accent-ink);background:color-mix(in oklab, var(--accent) 8%, var(--paper-2))}.port-count{font-family:var(--font-mono);color:var(--ink-muted);letter-spacing:.06em;font-size:12px}.tl-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:64px;display:grid}@media (max-width:960px){.tl-grid{grid-template-columns:1fr;gap:36px}}.tl-download{background:var(--paper-2);border:1px dashed var(--line-strong);color:var(--ink);font-family:var(--font-mono);border-radius:10px;align-items:center;gap:10px;margin-top:32px;padding:14px 20px;font-size:13px;transition:all .25s;display:inline-flex}.tl-download:hover{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 6%, var(--paper-2));color:var(--accent-ink);border-style:solid}.tl-download .dl-kb{color:var(--ink-soft);font-size:11px}.tl-wrap{border-left:1px solid var(--line-strong);padding-left:32px;position:relative}.tl-item{padding-bottom:36px;position:relative}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:"";background:var(--paper);border:2px solid var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:6px;left:-37px}.tl-item.current:before{background:var(--accent);box-shadow:0 0 0 4px color-mix(in oklab, var(--accent) 20%, transparent)}.tl-date{font-family:var(--font-mono);color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:11px}.tl-role{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink);margin-bottom:2px;font-size:24px}.tl-company{font-family:var(--font-mono);color:var(--ink-muted);margin-bottom:10px;font-size:12px}.tl-desc{font-family:var(--font-sans);color:var(--ink-muted);max-width:50ch;font-size:14.5px;line-height:1.6}.brands-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:60px 0}.brands-label{text-align:center;font-family:var(--font-mono);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.14em;margin-bottom:28px;font-size:11px}.brands-row{grid-template-columns:repeat(4,1fr);justify-content:center;align-items:stretch;gap:12px;max-width:980px;margin:0 auto;display:grid}@media (max-width:960px){.brands-row{grid-template-columns:repeat(4,1fr)}}@media (max-width:720px){.brands-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:420px){.brands-row{grid-template-columns:repeat(2,1fr)}}.brand{border:1px solid var(--line);background:var(--paper-2);font-family:var(--font-serif);text-align:center;color:var(--ink-2);text-wrap:balance;border-radius:8px;padding:22px 14px;font-size:22px;font-style:italic;line-height:1.1;transition:all .25s}.brand:hover{border-color:var(--accent);color:var(--accent-ink);background:color-mix(in oklab, var(--accent) 6%, var(--paper-2))}.quote-band{cursor:grab;-webkit-user-select:none;user-select:none;padding:clamp(70px,9vw,110px) 0}.quote-band:active{cursor:grabbing}.quote-inner{text-align:center;max-width:900px;margin:0 auto}.quote-mark{font-family:var(--font-serif);color:var(--accent-2);opacity:.35;margin-bottom:8px;font-size:120px;line-height:.5;display:inline-block}.quote-stack{display:grid;position:relative}.quote-stack>.quote-slide{opacity:0;pointer-events:none;grid-area:1/1;transition:opacity .55s,transform .55s cubic-bezier(.22,1,.36,1);transform:translateY(6px)}.quote-stack>.quote-slide.active{opacity:1;pointer-events:auto;transform:translateY(0)}.quote-text{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink);text-wrap:balance;margin-bottom:28px;font-size:clamp(26px,3.2vw,40px);font-style:italic;line-height:1.25}.quote-text em{color:var(--accent-ink);font-style:italic}.quote-author{font-family:var(--font-mono);color:var(--ink-muted);letter-spacing:.06em;font-size:12px}.quote-author .name{color:var(--ink)}.quote-dots{justify-content:center;gap:10px;margin-top:32px;display:flex}.quote-dot{background:var(--line);cursor:pointer;border:0;border-radius:2px;width:28px;height:4px;padding:0;transition:background .25s,width .25s}.quote-dot:hover{background:color-mix(in oklab, var(--accent) 40%, var(--line))}.quote-dot.active{background:var(--accent);width:44px}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:64px;display:grid}@media (max-width:960px){.contact-grid{grid-template-columns:1fr;gap:40px}}.contact-desc{color:var(--ink-muted);max-width:42ch;font-size:16px;line-height:1.65;font-family:var(--font-sans);margin-top:22px}.contact-points{flex-direction:column;gap:6px;margin-top:32px;display:flex}.contact-point{border:1px solid var(--line);background:var(--paper-2);color:var(--ink-2);font-size:13px;font-family:var(--font-mono);border-radius:10px;align-items:center;gap:14px;padding:14px 16px;transition:all .2s;display:flex}.contact-point:hover{border-color:var(--accent);color:var(--accent-ink);background:color-mix(in oklab, var(--accent) 5%, var(--paper-2))}.contact-point-icon{background:var(--paper-3);border:1px solid var(--line);width:34px;height:34px;color:var(--accent-ink);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.contact-point .cp-label{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px;font-size:10px;display:block}.form{background:var(--paper-2);border:1px solid var(--line-strong);border-radius:16px;padding:32px}@media (max-width:560px){.form{padding:22px}}.form-head{font-family:var(--font-mono);color:var(--ink-muted);letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:22px;padding-bottom:18px;font-size:11px;display:flex}.form-head .stat-dot{color:var(--accent)}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:560px){.form-row{grid-template-columns:1fr}}.field{margin-bottom:14px;position:relative}.field label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-muted);align-items:center;gap:8px;margin-bottom:8px;font-size:10.5px;display:flex}.field label:before{content:"›";color:var(--accent);font-size:13px;line-height:1}.field input,.field textarea{background:var(--paper);border:1px solid var(--line);width:100%;font-family:var(--font-mono);color:var(--ink);border-radius:8px;padding:12px 14px;font-size:13.5px;transition:border-color .25s,background .25s,box-shadow .25s}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 15%, transparent);outline:none}.field textarea{resize:vertical;min-height:130px;font-family:var(--font-mono)}.field input::placeholder,.field textarea::placeholder{color:var(--ink-soft)}.form-submit{background:var(--accent);color:var(--paper);font-family:var(--font-mono);border-radius:8px;align-items:center;gap:10px;margin-top:6px;padding:13px 22px;font-size:13px;font-weight:500;transition:transform .2s,box-shadow .2s,opacity .2s,filter .2s;display:inline-flex}.form-submit:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 10px 24px -8px var(--accent);transform:translateY(-1px)}.form-submit:disabled{opacity:.6;cursor:wait}.form-success{background:color-mix(in oklab, var(--accent) 15%, var(--paper));border:1px solid color-mix(in oklab, var(--accent) 40%, transparent);color:var(--accent-ink);font-family:var(--font-mono);border-radius:8px;margin-top:14px;padding:12px 16px;font-size:12.5px}footer{border-top:1px solid var(--line);background:var(--paper-2);padding:72px 0 32px}.foot-wordmark{font-family:var(--font-serif);letter-spacing:-.04em;color:var(--ink);opacity:.95;border-bottom:1px solid var(--line);text-wrap:balance;margin-bottom:48px;padding-bottom:32px;font-size:clamp(68px,14vw,180px);line-height:.9}.foot-wordmark em{color:var(--accent-ink);font-style:italic}.foot-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;display:grid}@media (max-width:720px){.foot-grid{grid-template-columns:1fr 1fr}}.foot-col h4{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-muted);margin-bottom:16px;font-size:10.5px;font-weight:500}.foot-col ul{flex-direction:column;gap:8px;list-style:none;display:flex}.foot-col a{color:var(--ink-2);font-size:14px;font-family:var(--font-mono);transition:color .2s}.foot-col a:hover{color:var(--accent-ink)}.foot-brand-tag{color:var(--ink-muted);max-width:34ch;font-size:14px;line-height:1.55;font-family:var(--font-sans);margin-top:14px}.foot-bottom{border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-soft);letter-spacing:.06em;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:20px;font-size:11px;display:flex}.foot-bottom .made{align-items:center;gap:10px;display:inline-flex}.foot-bottom .made .heart{color:var(--accent)}.reveal{opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}.reveal.in{opacity:1;transform:none}.logo-name .sub{margin-top:4px}@media (max-width:960px){.logo-name .sub{display:none}}@media (max-width:1100px){.nav-link{padding:8px;font-size:12px}.nav-row{gap:16px}}@media (max-width:520px){.nav-cta{display:none}}@media (max-width:720px){.nav-row{gap:12px}}.menu-toggle{display:none}@media (max-width:860px){.menu-toggle{display:inline-flex}.reader-btn{display:none!important}}.mobile-menu{background:color-mix(in oklab, var(--paper) 96%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.2);max-height:0;transition:max-height .35s cubic-bezier(.22,1,.36,1);overflow:hidden}.mobile-menu.open{border-bottom:1px solid var(--line);max-height:420px}@media (min-width:861px){.mobile-menu{display:none}}.mobile-menu-nav{padding:8px var(--pad) 20px;flex-direction:column;display:flex}.mobile-menu-link{font-family:var(--font-mono);color:var(--ink-2);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:17px 0;font-size:15px;transition:color .2s;display:flex}.mobile-menu-link:before{content:"/ ";color:var(--ink-soft);opacity:.6}.mobile-menu-link:last-child{border-bottom:none;padding-bottom:0}.mobile-menu-link:hover,.mobile-menu-link:active{color:var(--accent-ink)}.mobile-menu-reader{color:var(--ink-muted);margin-top:4px;font-size:13px}.quote-mark.closing{font-family:var(--font-serif);color:var(--accent-2);opacity:.35;text-align:center;margin-top:4px;margin-bottom:16px;font-size:120px;line-height:.5;display:block}.dl-hint{color:var(--ink-muted);max-width:40ch;font-size:11.5px;font-family:var(--font-mono);letter-spacing:.02em;margin-top:10px;line-height:1.5;display:block}#print-resume{display:none}@media print{@page{size:A4;margin:18mm}body:before,header.nav,main,footer{display:none!important}#print-resume{font-family:var(--font-sans,"Helvetica Neue", Arial, sans-serif);color:#111!important;background:#fff!important;display:block!important}#print-resume .resume-header{margin-bottom:20px}#print-resume h1{color:#000;margin-bottom:3px;font-size:24px;font-weight:700}#print-resume .resume-meta{color:#555;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:10px}#print-resume .resume-contact{color:#555;margin-bottom:0;font-size:10px}#print-resume .resume-contact a{color:#555;text-decoration:none}#print-resume .resume-section{margin-bottom:20px}#print-resume .resume-section h2{text-transform:uppercase;letter-spacing:.14em;color:#999;border-bottom:.5px solid #ddd;margin-bottom:10px;padding-bottom:3px;font-size:8px}#print-resume p{color:#333;margin-bottom:5px;font-size:10.5px;line-height:1.55}#print-resume strong{color:#000}#print-resume .resume-role{page-break-inside:avoid;margin-bottom:14px}#print-resume .resume-role h3{color:#000;margin-bottom:1px;font-size:12px;font-weight:600}#print-resume .resume-date{color:#888;margin-bottom:3px;font-size:9px}#print-resume .resume-project{page-break-inside:avoid;margin-bottom:12px}#print-resume .resume-project h3{color:#000;margin-bottom:3px;font-size:11.5px;font-weight:600}#print-resume .resume-stack{color:#777;font-size:9.5px;font-weight:400}#print-resume .resume-link{display:none}#print-resume .resume-quote{page-break-inside:avoid;border-left:2px solid #ddd;margin-bottom:10px;padding-left:10px}#print-resume .resume-quote p{color:#444;font-size:10px;font-style:italic}#print-resume cite{color:#888;font-size:8.5px}#print-resume .resume-footer{display:none}#print-resume a{color:#333;text-decoration:none}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.reader-root{background:var(--paper);min-height:100vh;color:var(--ink)}.reader-topbar{padding:14px var(--pad);border-bottom:1px solid var(--line);font-family:var(--font-mono);background:color-mix(in oklab, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.2);z-index:10;justify-content:space-between;align-items:center;font-size:12px;display:flex;position:sticky;top:0}.reader-back{color:var(--ink-muted);letter-spacing:.04em;transition:color .2s}.reader-back:hover{color:var(--accent-ink)}.reader-title{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.reader-lang{color:var(--ink-muted);letter-spacing:.08em;border:1px solid var(--line);border-radius:4px;padding:4px 8px;transition:color .2s}.reader-lang:hover{color:var(--accent-ink);border-color:var(--accent)}.reader-main{max-width:720px;padding:56px var(--pad) 96px;margin:0 auto}.resume-header{margin-bottom:48px}.resume-header h1{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--ink);margin-bottom:10px;font-size:clamp(32px,5vw,52px);font-weight:400;line-height:1.1}.resume-meta{font-family:var(--font-mono);color:var(--ink-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;font-size:12px}.resume-contact{font-family:var(--font-mono);color:var(--ink-muted);font-size:12px}.resume-contact a{color:var(--accent-ink)}.resume-section{margin-bottom:48px}.resume-section h2{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:8px;font-size:10.5px}.resume-section>p{font-family:var(--font-sans);color:var(--ink-2);margin-bottom:10px;font-size:16px;line-height:1.7}.resume-role{margin-bottom:30px}.resume-role h3{font-family:var(--font-sans);color:var(--ink);margin-bottom:2px;font-size:16px;font-weight:600}.resume-date{font-family:var(--font-mono);color:var(--ink-muted);letter-spacing:.06em;font-size:11px;margin-bottom:8px!important}.resume-role p:last-child{color:var(--ink-2);font-size:15px;line-height:1.65}.resume-project{margin-bottom:26px}.resume-project h3{font-family:var(--font-sans);color:var(--ink);margin-bottom:6px;font-size:15px;font-weight:600}.resume-stack{font-family:var(--font-mono);color:var(--ink-muted);font-size:11.5px;font-weight:400}.resume-link{font-family:var(--font-mono);margin-top:4px!important;font-size:12px!important}.resume-link a{color:var(--accent-ink)}.resume-quote{border-left:2px solid var(--accent);margin:0 0 22px;padding-left:18px}.resume-quote p{font-style:italic;font-family:var(--font-serif)!important;color:var(--ink)!important;margin-bottom:6px!important;font-size:17px!important;line-height:1.55!important}.resume-quote p em{color:var(--accent-ink)}.resume-quote cite{font-family:var(--font-mono);color:var(--ink-muted);letter-spacing:.04em;font-size:11px;font-style:normal}.resume-footer{border-top:1px solid var(--line);font-family:var(--font-mono);margin-top:48px;padding-top:24px;font-size:13px}.resume-footer a{color:var(--accent-ink)}
