@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.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/7178b3e590c64307-s.11.cyxs5p-0z~.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-20C0,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.16t1db8_9y2o~.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/4fa387ec64143e14-s.0q3udbd2bu5yp.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/bbc41e54d2fcbd21-s.0gw~uztddq1df.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-20C0,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.0.q-h669a_dqa.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-20C0,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-20C0,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,.port-frame,.hero-term,.skills-term,.chat-term,.brand,.contact-point,.port-link,.port-stack,.stag,.nav-link,.icon-btn,.form-submit,.port-tab,.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);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);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}.port-tabs{border:1px solid var(--line);background:var(--paper-2);border-radius:8px;flex-wrap:wrap;gap:4px;width:fit-content;padding:4px;display:flex}.port-tab{color:var(--ink-muted);font-size:12px;font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;border-radius:6px;padding:7px 14px;transition:all .25s cubic-bezier(.22,1,.36,1)}.port-tab:hover{color:var(--ink)}.port-tab.active{background:var(--accent);color:var(--paper);font-weight:500}.port-stage{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:stretch;gap:48px;margin-top:40px;display:grid}@media (max-width:960px){.port-stage{grid-template-columns:1fr;gap:32px}}.port-frame{aspect-ratio:4/3;background:var(--paper-2);border:1px solid var(--line-strong);border-radius:14px;position:relative;overflow:hidden}.port-frame-img{opacity:0;background-position:50%;background-size:cover;transition:opacity .6s,transform .8s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.port-frame-img.active{opacity:1;transform:scale(1)}.port-frame-img:not(.active){transform:scale(1.05)}.port-badge{background:color-mix(in oklab, var(--paper) 85%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line-strong);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border-radius:6px;align-items:center;gap:8px;padding:6px 12px 6px 10px;font-size:10.5px;display:inline-flex;position:absolute;top:16px;left:16px}.port-badge .dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent);border-radius:50%}.port-status{background:color-mix(in oklab, var(--paper) 85%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line-strong);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:10px;display:inline-flex;position:absolute;top:16px;right:16px}.port-meta{flex-direction:column;justify-content:center;display:flex}.port-kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);align-items:center;gap:10px;margin-bottom:14px;font-size:11px;display:flex}.port-kicker:before{content:"";background:var(--accent);width:20px;height:1px}.port-title{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--ink);margin-bottom:18px;font-size:clamp(36px,4.5vw,56px);line-height:1}.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-stack{background:var(--paper-2);border:1px solid var(--line);font-family:var(--font-mono);border-radius:8px;margin-bottom:24px;padding:14px 16px;font-size:12px}.port-stack-label{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;font-size:10.5px}.port-stack-value{color:var(--ink-2);line-height:1.6}.port-stack-value .sep{color:var(--ink-soft);margin:0 4px}.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-nav{align-items:center;gap:14px;display:flex}.port-nav-btn{border:1px solid var(--line-strong);width:40px;height:40px;color:var(--ink-2);border-radius:8px;justify-content:center;align-items:center;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.port-nav-btn:hover{background:var(--accent);color:var(--paper);border-color:var(--accent)}.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{padding:clamp(70px,9vw,110px) 0}.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}
