@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.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}:root{--color-paper:#f5f5f2;--color-paper-2:#eaeae6;--color-plate:#e0e0db;--color-ink:#0f1115;--color-ink-2:#3a3d44;--color-dim:#6b6e76;--color-rule:#e1e1dc;--color-rule-2:#b6b8bc;--color-champ:#9a9ca2;--color-champ-text:#5f6269;--color-ox:#f24a00;--color-ox-2:#ff6a26;--color-accent:var(--color-ox);--color-ground:var(--color-paper);--navy:#0b1120;--navy-ink:#eef0f5;--wf-canvas:#e4e5e1;--wf-panel:#f3f3f0;--wf-line:#c9cacc;--wf-soft:#dcdddb;--wf-mid:#aeb0b4;--wf-strong:#484c55;--wf-ink:#5c5f66;--wf-dark:#141b2c;--sans:"Geist Variable", ui-sans-serif, system-ui, sans-serif;--display:"Bricolage Grotesque Variable", ui-sans-serif, system-ui, sans-serif;--mono:var(--sans);--gut:clamp(1rem, 3.2vw, 3rem);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-plate:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.5, 1.6, .4, 1);--dur-base:.32s;--plot-step:30ms;--plot-dur:.26s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0;font-size:1rem;line-height:1.5;overflow-x:clip}h1,h2,h3,p,ol,ul{margin:0}ol,ul{padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}::selection{background:var(--color-ox);color:var(--color-paper)}:focus-visible{outline:2px solid var(--color-ox);outline-offset:3px;border-radius:4px}.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}.skip{z-index:200;background:var(--color-ink);color:var(--color-paper);border-radius:999px;padding:.7rem 1rem;position:fixed;top:-4rem;left:1rem}.skip:focus{top:1rem}.block{display:block}.w-full{width:100%}.kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--color-dim);font-size:.72rem;font-weight:600}.kicker>span{color:var(--color-ox);margin-right:.6em}.h2{text-wrap:balance;letter-spacing:-.04em;font-size:clamp(2rem,4vw,3.6rem);font-weight:700;line-height:.9}.btn{background:var(--color-ink);color:var(--color-paper);cursor:pointer;border:0;border-radius:6px;align-items:center;gap:.55rem;padding:.8rem 1.3rem;font-weight:600;transition:background-color .22s;display:inline-flex}.btn:hover{background:var(--color-ox)}.btn:disabled{opacity:.45;cursor:default;background:var(--color-ink)}.btn>span[aria-hidden]{transition:translate .4s var(--ease-out-expo)}.btn:hover>span[aria-hidden]{translate:.25em}.btn-big{padding:1.1rem 1.8rem;font-size:1.1rem}.btn-light{background:var(--color-paper);color:var(--color-ink)}.btn-light:hover{background:var(--color-champ)}.bar{z-index:50;padding:.9rem var(--gut);justify-content:space-between;align-items:center;gap:1rem;transition:background-color .3s,box-shadow .3s;display:flex;position:fixed;inset:0 0 auto}.bar[data-scrolled=true]{background:color-mix(in srgb, var(--color-paper) 84%, transparent);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--color-rule)}.bar-name{letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:.55rem;font-weight:700;display:inline-flex}.bar-dot{background:var(--color-ox);width:.62rem;height:.62rem;transition:scale .4s var(--ease-spring);border-radius:50%}.bar-name:hover .bar-dot{scale:1.5}.bar-nav{align-items:center;gap:clamp(.9rem,2vw,1.8rem);font-weight:500;display:flex}.bar-nav a:not(.bar-talk){position:relative}.bar-nav a:not(.bar-talk):after{content:"";background:var(--color-ox);transform-origin:100%;height:2px;transition:scale .4s var(--ease-out-expo);position:absolute;bottom:-3px;left:0;right:0;scale:0 1}.bar-nav a:not(.bar-talk):hover:after,.bar-nav a[aria-current=page]:after{transform-origin:0;scale:1}.bar-nav a[aria-current=page]{color:var(--color-ox)}.bar-talk{background:var(--color-ink);color:var(--color-paper);border-radius:999px;padding:.6rem 1.05rem;transition:background-color .22s}.bar-talk:hover{background:var(--color-ox)}.foot{padding:1.6rem var(--gut);border-top:1px solid var(--color-rule);font-family:var(--mono);color:var(--color-dim);justify-content:space-between;gap:1rem;font-size:.78rem;display:flex}.foot a:hover{color:var(--color-ox)}.foot[data-dark=true]{color:#faf6f099;border-color:#faf6f02e;padding-inline:0}.foot[data-dark=true] a:hover{color:var(--color-paper)}.page{max-width:1440px;padding:clamp(6rem, 12vw, 9rem) var(--gut) clamp(4rem, 8vw, 6rem);margin:0 auto}.page-head{grid-template-columns:minmax(0,1fr) minmax(0,26rem);align-items:end;gap:1.5rem 2rem;margin-bottom:2.5rem;display:grid}.page-title{letter-spacing:-.04em;font-size:clamp(2.8rem,7vw,6rem);font-weight:700;line-height:.8}.page-intro{color:var(--color-ink-2);font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.5}.banner{border:1px solid var(--color-rule-2);background:var(--color-paper-2);color:var(--color-ink-2);border-radius:12px;align-items:center;gap:.75rem;padding:.9rem 1.1rem;font-size:.92rem;display:flex}.banner-mark{background:var(--color-ox);border-radius:2px;flex:none;width:.55rem;height:.55rem}.shelf{margin-top:clamp(4rem,9vw,7rem)}.shelf-h{border-bottom:1px solid var(--color-ink);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-dim);padding-bottom:.8rem;font-size:.8rem;font-weight:400}.shelf-h span{color:var(--color-ox)}.items{gap:clamp(3.5rem,8vw,7rem);margin-top:clamp(2rem,4vw,3rem);display:grid}.item-link{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,4.5vw,4.5rem);display:grid}.item[data-flip=true] .item-plate{order:2}.item-plate{background:var(--color-plate);transition:translate .6s var(--ease-out-expo), box-shadow .6s var(--ease-out-expo);border-radius:22px;padding:clamp(10px,1.3vw,18px);display:block}.item-plate svg{border-radius:8px}.item-plate-wait{width:100%;display:block}.item-link:hover .item-plate{translate:0 -6px;box-shadow:0 30px 60px -34px #30252299}.item-copy{justify-items:start;gap:.9rem;display:grid}.item-copy>*{opacity:0;transition:opacity .6s ease, translate .8s var(--ease-out-expo);translate:0 1rem}.item[data-on=true] .item-copy>*{opacity:1;translate:0}.item[data-on=true] .item-copy>:nth-child(2){transition-delay:60ms}.item[data-on=true] .item-copy>:nth-child(3){transition-delay:.12s}.item[data-on=true] .item-copy>:nth-child(n+4){transition-delay:.18s}.item-no{font-family:var(--mono);color:var(--color-ox);font-size:.85rem}.item-title{letter-spacing:-.045em;font-size:clamp(1.7rem,2.8vw,2.6rem);font-weight:700;line-height:.95;transition:color .3s}.item-link:hover .item-title{color:var(--color-ox)}.item-sub{max-width:34ch;color:var(--color-ink-2);font-size:clamp(1.02rem,1.3vw,1.15rem);line-height:1.45}.item-facts{flex-wrap:wrap;gap:.4rem;display:flex}.item-facts span,.chips li{border:1px solid var(--color-rule-2);font-family:var(--mono);color:var(--color-ink-2);border-radius:999px;padding:.28rem .65rem;font-size:.74rem}.item-go{color:var(--color-ox);margin-top:.4rem;font-weight:600}.item-go span{transition:translate .4s var(--ease-out-expo);display:inline-block}.item-link:hover .item-go span{translate:.35em}.back{font-family:var(--mono);color:var(--color-dim);font-size:.82rem}.back:hover{color:var(--color-ox)}.cs-head{justify-items:start;gap:1rem;margin:2rem 0 2.25rem;display:grid}.cs-title{letter-spacing:-.04em;max-width:18ch;font-size:clamp(2.2rem,4.6vw,4.2rem);font-weight:700;line-height:.92}.cs-sub{max-width:44ch;color:var(--color-ink-2);font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.4}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.cs-figure{margin-top:2.5rem}.tabs{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.wf-tab{border:1px solid var(--color-rule-2);background:var(--color-paper);cursor:pointer;border-radius:999px;padding:.55rem 1rem;font-weight:500;transition:background-color .2s,color .2s}.wf-tab:hover{border-color:var(--color-ink)}.wf-tab[aria-selected=true]{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-paper)}.wf-tab-index{font-family:var(--mono);opacity:.6;margin-right:.5rem;font-size:.72rem}.cs-plate{background:var(--color-plate);border-radius:22px;padding:clamp(10px,1.4vw,20px)}.cs-plate svg{border-radius:8px}.cs-notes{color:var(--color-ink-2);grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:1rem 2rem;margin-top:1.5rem;display:grid}.cs-notes li{gap:.7rem;line-height:1.45;display:flex}.cs-note-no{background:var(--color-ox);width:1.55rem;height:1.55rem;color:var(--color-paper);font-family:var(--mono);border-radius:50%;flex:none;place-items:center;font-size:.72rem;display:grid}.cs-prose{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem clamp(2rem,5vw,5rem);margin-top:clamp(4rem,9vw,7rem);display:grid}.cs-block{border-top:1px solid var(--color-ink);align-content:start;gap:.8rem;padding-top:1.2rem;display:grid}.cs-block h2{letter-spacing:-.035em;font-size:clamp(1.3rem,1.8vw,1.6rem);font-weight:700}.cs-block h2 span{font-family:var(--mono);letter-spacing:0;color:var(--color-ox);vertical-align:.4em;margin-right:.4rem;font-size:.8rem;font-weight:400}.cs-block p{color:var(--color-ink-2);font-size:1.08rem;line-height:1.6}.cs-block[data-draft=true] p:not(.draft-tag){color:var(--color-dim)}.draft-tag{border:1px dashed var(--color-champ-text);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border-radius:6px;justify-self:start;padding:.2rem .6rem;color:var(--color-champ-text)!important;font-size:.7rem!important}.cs-next{border-top:1px solid var(--color-ink);gap:.7rem;margin-top:clamp(4rem,9vw,7rem);padding-top:2rem;display:grid}.cs-next-title{letter-spacing:-.04em;font-size:clamp(1.7rem,3.4vw,3rem);font-weight:700;line-height:.95;transition:color .3s}.cs-next:hover .cs-next-title{color:var(--color-ox)}.bio-part{border-top:1px solid var(--color-ink);grid-template-columns:4rem minmax(0,16rem) minmax(0,1fr);gap:1rem clamp(1.5rem,4vw,3rem);padding:clamp(2rem,4vw,3rem) 0;display:grid}.bio-no{font-family:var(--mono);color:var(--color-ox);padding-top:.6rem;font-size:.85rem}.bio-label{letter-spacing:-.04em;font-size:clamp(1.5rem,2.2vw,2rem);font-weight:700;line-height:.95}.bio-text{max-width:60ch;color:var(--color-ink-2);font-size:clamp(1.08rem,1.4vw,1.25rem);line-height:1.6}.skills,.certs{margin-top:clamp(4rem,9vw,7rem)}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 3rem;margin-top:2rem;display:grid}.skill-group h3{letter-spacing:-.035em;margin-bottom:1rem;font-size:clamp(1.2rem,1.6vw,1.45rem);font-weight:700}.chips-big li{border-color:var(--color-ink);font-family:var(--sans);color:var(--color-ink);padding:.6rem 1.1rem;font-size:1.02rem;font-weight:500;transition:background-color .2s,color .2s}.chips-big li:hover{background:var(--color-ink);color:var(--color-paper)}.cert-list{margin-top:.5rem}.cert{border-bottom:1px solid var(--color-rule);grid-template-columns:minmax(0,1fr) minmax(0,13rem) 6rem;align-items:baseline;gap:.25rem 1.5rem;padding:1.05rem 0;display:grid}.cert-name{letter-spacing:-.01em;font-size:1.08rem;font-weight:600}.cert-name a:hover{color:var(--color-ox)}.cert-issuer{color:var(--color-ink-2)}.cert-when,.cert-id{font-family:var(--mono);color:var(--color-dim);font-size:.78rem}.cert-when{text-align:right}.cert-id{grid-column:1}.li-card{background:var(--color-ox);color:var(--color-paper);border-radius:28px;gap:.8rem;margin-top:clamp(4rem,9vw,7rem);padding:clamp(2rem,5vw,4rem);transition:background-color .3s;display:grid}.li-card .kicker{color:var(--color-champ)}.li-card:hover{background:var(--color-ox-2)}.li-name{letter-spacing:-.04em;font-size:clamp(1.8rem,4vw,3.6rem);font-weight:700;line-height:.95}.li-name span{transition:translate .5s var(--ease-out-expo);display:inline-block}.li-card:hover .li-name span{translate:.12em -.12em}.nf{align-content:center;gap:1.5rem;min-height:100svh;display:grid}.nf .page-intro{max-width:34rem}.nf-links{gap:.6rem;display:flex}.notice-veil{z-index:100;-webkit-backdrop-filter:blur(4px);background:#3025228c;place-items:center;padding:1rem;animation:.45s both notice-veil-in;display:grid;position:fixed;inset:0}.notice-veil[data-closing=true]{animation:.32s 60ms both notice-veil-out}html[data-notice]{scrollbar-gutter:stable;overflow:hidden!important}.notice{animation:.6s cubic-bezier(.16,1,.3,1) 80ms both notice-in}.notice-veil[data-closing=true] .notice{animation:.3s cubic-bezier(.65,0,.35,1) both notice-out}@media (prefers-reduced-motion:reduce){.notice{animation-name:notice-fade-in}.notice-veil[data-closing=true] .notice{animation-name:notice-fade-out}}@keyframes notice-veil-in{0%{opacity:0;-webkit-backdrop-filter:blur()}}@keyframes notice-veil-out{to{opacity:0;-webkit-backdrop-filter:blur()}}@keyframes notice-in{0%{opacity:0;transform:translateY(18px)scale(.96)}}@keyframes notice-out{to{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes notice-fade-in{0%{opacity:0}}@keyframes notice-fade-out{to{opacity:0}}.notice{background:var(--color-paper);border-radius:22px;max-width:30rem;padding:clamp(1.5rem,4vw,2.25rem);position:relative;overflow:hidden}.notice h2{letter-spacing:-.035em;font-size:1.6rem;font-weight:700}.notice p{color:var(--color-ink-2);margin:.9rem 0 1.5rem;line-height:1.6}.notice-clock{height:4px;width:calc(var(--left) / 5 * 100%);background:var(--color-ox);transition:width 1s linear;position:absolute;bottom:0;left:0}.wf-plate{animation:plate-in var(--dur-base) var(--ease-plate) both}@keyframes plate-in{0%{opacity:0}}.wf-region{animation:plot-region var(--plot-dur) var(--ease-plate) backwards;animation-delay:var(--d,0s)}@keyframes plot-region{0%{opacity:0;transform:translateY(5px)}}.wf-plotting .wf-ground{transform-box:fill-box;transform-origin:50% 0;animation:wf-ground .52s var(--ease-plate) backwards}@keyframes wf-ground{0%{opacity:0;transform:scaleY(0)}}.wf-plotting .wf-region{animation-delay:calc(var(--d,0s) + .38s)}.wf-plotting .wf-tick{stroke-dasharray:1;stroke-dashoffset:1px;animation:plot-tick .42s var(--ease-plate) forwards;animation-delay:var(--d,0s)}@keyframes plot-tick{to{stroke-dashoffset:0}}.wf-plotting .wf-label{animation:.2s ease-out backwards plot-label;animation-delay:calc(var(--d,0s) + .2s)}@keyframes plot-label{0%{opacity:0}}@media (width<=860px){.item-link{grid-template-columns:minmax(0,1fr)}.item[data-flip=true] .item-plate{order:0}.page-head,.cs-prose,.skills-grid{grid-template-columns:minmax(0,1fr)}.bio-part{grid-template-columns:minmax(0,1fr);gap:.6rem}.bio-no{padding-top:0}.cert{grid-template-columns:minmax(0,1fr) auto}.cert-issuer{grid-area:2/1}.cert-id{grid-row:3}}@media (width<=560px){.bar-last{display:none}.bar-nav{gap:.9rem}.foot{flex-direction:column;gap:.35rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important}.wf-plotting .wf-tick{stroke-dashoffset:0}}.bar-name{letter-spacing:-.01em;font-weight:600;transition:opacity .3s;display:inline-block}html[data-hero=in] .bar-name{opacity:0;pointer-events:none}:root :is(h1,h2,.h2,.steps-title,.close-big,.lens){font-family:var(--display)}:root :is(.hero-plot,.steps-demo){--color-paper:var(--navy);--color-paper-2:#111a2e;--color-plate:#1a2338;--color-ink:var(--navy-ink);--color-ink-2:#c4c9d5;--color-dim:#8c94a8;--color-rule:#222b41;--color-rule-2:#3b4661;--color-champ:#6f7890;--color-champ-text:#a3abbf;color:var(--color-ink)}:root .close{background:var(--navy);color:var(--navy-ink)}:root .close-line:last-child{color:var(--color-ox)}:root .close .kicker,:root .foot[data-dark=true]{color:#eef0f58c}:root .foot[data-dark=true]{border-color:#eef0f524}:root .foot[data-dark=true] a:hover{color:var(--navy-ink)}html[data-intro=play],html[data-intro=play] body{background:var(--navy)}html[data-intro=play] #root{visibility:hidden}.intro{z-index:70;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}html[data-intro=play] .intro{background:var(--navy)}html[data-intro] :is(.hero-line,.hero-role,.hero-plot>span,.bar,.sc-canvas){transition:opacity .6s}html[data-intro] .hero-name{transition:opacity .2s}html[data-intro]:not([data-intro=skip]) .sc-canvas{transition:none}html[data-intro=skip] :is(.hero-line,.hero-role,.hero-plot>span,.bar,.sc-canvas,.hero-name){transition-duration:.45s}html[data-intro=play] :is(.hero-line,.hero-role,.hero-plot>span,.bar,.sc-canvas,.hero-name),html[data-intro=land] .sc-canvas{opacity:0}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}.g{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(.75rem,1.6vw,1.5rem);display:grid}.sec{padding:clamp(5rem, 10vw, 8.5rem) var(--gut)}.sec-head{align-items:baseline;row-gap:1.25rem;margin-bottom:clamp(3rem,6vw,5rem)}.sec-head .kicker,.statement>.kicker,.close-body>.kicker{grid-column:1/4}.sec-head .h2{grid-column:4/span 7}.h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1}.cta{transition:background-size .45s var(--ease-out-expo), color .25s ease;background:linear-gradient(currentColor,currentColor) 0 100%/100% 2px no-repeat;align-items:baseline;gap:.45em;padding-bottom:.2em;font-weight:600;display:inline-flex}.cta:hover{background-position:100% 100%;background-size:0 2px}.cta>span[aria-hidden]{transition:translate .45s var(--ease-out-expo)}.cta:hover>span[aria-hidden]{translate:.2em}.cta-big{letter-spacing:-.02em;font-size:clamp(1.3rem,2vw,1.8rem)}.hero{height:170vh;position:relative}.hero-pin{height:100svh;padding:clamp(4.75rem, 10vh, 6rem) var(--gut) clamp(1.25rem, 3.5vh, 2.25rem);position:sticky;top:0;overflow:hidden}.hero-text{grid-column:1/6;grid-template-rows:minmax(0,1fr) auto auto;min-height:0;display:grid}.hero-role{align-items:baseline;gap:.9rem;margin:0 0 clamp(.75rem,2vh,1.25rem);font-size:.95rem;font-weight:500;display:flex}.hero-where{color:var(--color-dim);align-items:baseline;gap:.4rem;display:inline-flex}.hero-where:before{content:"";background:var(--color-rule-2);align-self:center;width:1.5rem;height:1px;margin-right:.5rem}.hero-line{z-index:1;letter-spacing:-.02em;text-wrap:balance;align-self:start;margin:0;font-size:clamp(1.35rem,2.15vw,2.05rem);font-weight:500;line-height:1.22;position:relative}.slot{--k:calc(1 - var(--t,0));margin-right:.26em;display:inline-block}.w{transform:translate(calc(var(--dx,0px) * var(--k)), calc(var(--dy,0px) * var(--k))) scale(calc(var(--sz,1) + (1 - var(--sz,1)) * var(--t,0)));opacity:calc(var(--op,1) + (1 - var(--op,1)) * var(--t,0));will-change:transform;animation:drift calc(3.2s + var(--i) * .37s) ease-in-out calc(var(--i) * -.9s) infinite alternate;display:inline-block}@keyframes drift{0%{translate:calc(var(--k) * -5px) calc(var(--k) * 4px)}to{translate:calc(var(--k) * 5px) calc(var(--k) * -6px)}}.w-mark{color:var(--color-ox);font-weight:600}.hero-name{font-size:calc((100vw - 2 * var(--gut)) / 14.2);letter-spacing:-.05em;white-space:nowrap;margin:0;padding-bottom:.04em;font-weight:700;line-height:.86}.hero-name span{display:block}.hero-plot{background-color:var(--color-paper-2);background-image:radial-gradient(circle, var(--color-rule-2) 1.1px, transparent 1.4px);background-position:16px 16px;background-size:32px 32px;border-radius:4px;grid-column:7/-1;min-height:0;position:relative;overflow:hidden}.hero-axis,.hero-tools,.hero-hint{letter-spacing:.12em;text-transform:uppercase;color:var(--color-dim);font-size:.68rem;font-weight:600;position:absolute}.hero-axis-y{top:1.25rem;left:1.25rem}.hero-axis-y:before{content:"↑ ";color:var(--color-ox)}.hero-tools{letter-spacing:.06em;text-transform:none;top:1.25rem;right:1.25rem}.hero-axis-x{bottom:1.25rem;right:1.25rem}.hero-axis-x:after{content:" →";color:var(--color-ox)}.hero-hint{opacity:calc(1 - var(--p,0) * 4);bottom:1.25rem;left:1.25rem}.hero-arrow{color:var(--color-ox);animation:1.6s ease-in-out infinite nudge;display:inline-block}@keyframes nudge{50%{translate:0 3px}}.steps{height:calc(100svh + var(--n) * 90vh);position:relative}.steps-pin{height:100svh;padding:clamp(5rem, 11vh, 6.5rem) var(--gut) clamp(1.5rem, 4vh, 3rem);grid-template-rows:auto minmax(0,1fr);row-gap:clamp(1.5rem,4vh,3rem);display:grid;position:sticky;top:0}.steps-head{align-items:baseline}.steps-head .kicker{grid-column:1/4}.steps-head .h2{grid-column:4/-1}.steps-body{min-height:0}.steps-rail{grid-column:1/4;align-content:start;gap:.25rem;display:grid}.steps-rail li{padding-left:1.1rem;position:relative}.steps-bar{background:var(--color-rule);width:2px;position:absolute;top:.35rem;bottom:.35rem;left:0}.steps-bar:after{content:"";background:var(--color-ox);transform-origin:top;position:absolute;inset:0;scale:1 0}.steps-rail li[data-state=done] .steps-bar:after{scale:1}.steps-rail li[data-state=now] .steps-bar:after{scale:1 var(--local,0)}.steps-tab{text-align:left;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:.8rem;width:100%;padding:.55rem 0;display:flex}.steps-no{letter-spacing:.12em;color:var(--color-dim);font-size:.72rem;font-weight:600;transition:color .3s}.steps-name{letter-spacing:-.02em;color:var(--color-dim);opacity:.55;font-size:clamp(1.1rem,1.6vw,1.45rem);font-weight:600;transition:color .3s,opacity .3s}.steps-rail li[data-state=done] .steps-name{opacity:.85}.steps-rail li[data-state=now] .steps-name{color:var(--color-ink);opacity:1}.steps-rail li[data-state=now] .steps-no,.steps-rail li[data-state=done] .steps-no{color:var(--color-ox)}.steps-tab:hover .steps-name{opacity:1}.steps-stage{grid-column:4/-1;min-height:0;display:grid}.steps-panel{opacity:0;visibility:hidden;min-height:0;transition:opacity .45s ease, translate .7s var(--ease-out-expo), visibility 0s linear .45s;grid-area:1/1;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:clamp(1.5rem,3vw,3rem);display:grid;translate:0 3rem}.steps-panel[data-state=done]{translate:0 -3rem}.steps-panel[data-state=now]{opacity:1;visibility:visible;transition:opacity .5s ease .12s, translate .8s var(--ease-out-expo) .12s, visibility 0s;translate:0}.steps-copy{flex-direction:column;justify-content:flex-end;gap:1rem;padding-bottom:.25rem;display:flex}.steps-count{letter-spacing:.12em;text-transform:uppercase;color:var(--color-ox);margin-bottom:auto;font-size:.72rem;font-weight:600}.steps-count span{color:var(--color-dim)}.steps-title{letter-spacing:-.045em;font-size:clamp(2.4rem,4.6vw,4.4rem);font-weight:700;line-height:.95}.steps-text{max-width:30ch;color:var(--color-ink-2);text-wrap:pretty;font-size:clamp(1.02rem,1.25vw,1.2rem);line-height:1.5}.steps-demo{background:var(--color-paper-2);border-radius:4px;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;min-height:0;padding:clamp(1.25rem,3vw,2.5rem);display:grid;overflow:hidden}.q{width:100%;max-width:32rem}.q-bar{border:1.5px solid var(--color-rule-2);background:var(--color-paper);letter-spacing:-.01em;border-radius:8px;align-items:center;gap:.8rem;padding:1rem 1.2rem;font-size:clamp(1rem,1.5vw,1.25rem);font-weight:600;transition:border-color .4s;display:flex}.q-bar[data-done=true]{border-color:var(--color-ox)}.q-icon{fill:none;width:1.2em;height:1.2em;stroke:var(--color-ink);stroke-width:2.2px;stroke-linecap:round;flex:none}.q-text{white-space:nowrap;min-height:1.3em}.q-caret{vertical-align:-.15em;background:var(--color-ox);width:2px;height:1.1em;margin-left:2px;animation:1s steps(2,start) infinite blink;display:inline-block}@keyframes blink{to{visibility:hidden}}.q-ghosts{color:var(--color-dim);gap:.1rem;margin:.5rem 1.2rem 0;font-size:.92rem;display:grid}.q-ghosts li{background:linear-gradient(var(--color-ox), var(--color-ox)) no-repeat 0 55% / 0 1.5px;transition:background-size .5s var(--ease-out-expo), opacity .5s ease;justify-self:start;padding:.3rem 0}.q-ghosts[data-done=true] li{opacity:.45;background-size:100% 1.5px}.q-ghosts[data-done=true] li:nth-child(2){transition-delay:.12s}.q-ghosts[data-done=true] li:nth-child(3){transition-delay:.24s}.c{grid-template-rows:repeat(3,auto);grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr);align-items:center;row-gap:clamp(.6rem,1.4vw,1rem);width:100%;max-width:44rem;display:grid;position:relative}.c-src{border:1.5px solid var(--color-ink);background:var(--color-paper);white-space:nowrap;opacity:0;translate:-60%;rotate:calc((var(--i) - 1) * -8deg);transition:opacity .5s ease, translate .9s var(--ease-out-expo), rotate .9s var(--ease-out-expo);transition-delay:calc(var(--i) * .13s);border-radius:6px;grid-column:1;align-items:center;gap:.6rem;padding:.75rem .95rem;font-size:clamp(.78rem,1vw,.9rem);font-weight:500;display:flex}.c-src:first-child{grid-row:1}.c-src:nth-child(2){grid-row:2}.c-src:nth-child(3){grid-row:3}.c-key{background:var(--color-rule-2);border-radius:2px;flex:none;width:.55rem;height:.55rem}.c[data-on=true] .c-src{opacity:1;translate:0;rotate:0deg}.c-pipes{grid-area:1/2/4;width:100%;height:100%;overflow:visible}.c-pipes path{fill:none;stroke-width:2px}.c-pipe{stroke:var(--color-rule-2);stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .7s var(--ease-plate) .65s}.c[data-on=true] .c-pipe{stroke-dashoffset:0}.c-flow{stroke:var(--color-ox);stroke-linecap:round;stroke-dasharray:.08 .92;stroke-dashoffset:1px;opacity:0;transition:opacity .4s 1.4s}.c[data-on=true] .c-flow{opacity:1;animation:1.6s linear infinite flow}.c-flow:nth-of-type(5){animation-delay:-.5s!important}.c-flow:nth-of-type(6){animation-delay:-1.1s!important}@keyframes flow{to{stroke-dashoffset:0}}.c-model{background:var(--color-ink);color:var(--color-paper);opacity:0;transition:opacity .5s ease 1.1s, scale .7s var(--ease-spring) 1.1s;border-radius:6px;grid-area:1/3/4;gap:.35rem;padding:clamp(1rem,2vw,1.4rem);display:grid;scale:.85}.c[data-on=true] .c-model{opacity:1;scale:1}.c-model-k{letter-spacing:-.02em;font-size:clamp(1rem,1.6vw,1.3rem);font-weight:700}.c-model-s{color:var(--color-champ);font-size:.75rem}.ins{width:100%;height:100%;overflow:visible}.ins-axis{stroke:var(--color-rule-2);stroke-width:.4px}.ins-pt{fill:var(--color-rule-2);opacity:0;transition:opacity .3s ease calc(var(--i) * 7ms), fill .5s ease}.ins[data-on=true] .ins-pt{opacity:1}.ins[data-on=true] .ins-pt:not(.ins-near){opacity:.7;transition-delay:calc(var(--i) * 7ms), 0s}.ins[data-on=true] .ins-near{fill:var(--color-ox);transition-delay:calc(var(--i) * 7ms), calc(1.7s + var(--i) * 6ms)}.ins-trend{fill:none;stroke:var(--color-ox);stroke-width:.9px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.1s var(--ease-plate) 1s}.ins[data-on=true] .ins-trend{stroke-dashoffset:0}.d{align-items:center;gap:clamp(.9rem,2.4vw,1.8rem);display:flex}.d-word{letter-spacing:-.03em;opacity:.22;font-size:clamp(1.4rem,2.6vw,2.2rem);font-weight:700;transition:opacity .4s,color .4s}.d-word[data-on=true]{opacity:1}.d-go[data-on=true]{color:var(--color-ox)}.d-switch{--h:clamp(3rem, 5vw, 4.2rem);width:calc(var(--h) * 1.95);height:var(--h);background:var(--color-rule-2);cursor:pointer;border:0;border-radius:999px;flex:none;transition:background-color .4s;position:relative}.d-switch[data-go=true]{background:var(--color-ox)}.d-knob{top:calc(var(--h) * .09);left:calc(var(--h) * .09);width:calc(var(--h) * .82);height:calc(var(--h) * .82);background:var(--color-paper);transition:translate .6s var(--ease-spring);border-radius:50%;position:absolute;box-shadow:0 6px 14px -4px #30252280}.d-switch[data-go=true] .d-knob{translate:calc(var(--h) * .95) 0}.statement{--lr:clamp(78px, 11vw, 170px);background:var(--color-paper-2);align-content:center;align-items:baseline;row-gap:2rem;min-height:100svh;overflow:hidden}.lens{touch-action:pan-y;-webkit-user-select:none;user-select:none;grid-column:4/-1;font-size:clamp(2rem,4.6vw,4.6rem);position:relative}.lens-blur,.lens-sharp{font-size:inherit;letter-spacing:-.04em;text-wrap:balance;font-weight:700;line-height:1.02}.lens-blur{filter:blur(7px);color:var(--color-ink-2);opacity:.5}.lens-sharp{clip-path:circle(var(--lr) at var(--lx,50%) var(--ly,50%));pointer-events:none;position:absolute;inset:0}.lens-sharp .lens-mark{color:var(--color-ox)}.lens-ring{left:var(--lx,50%);top:var(--ly,50%);width:calc(var(--lr) * 2);height:calc(var(--lr) * 2);border:2px solid var(--color-ink);pointer-events:none;transition:scale .4s var(--ease-spring);border-radius:50%;position:absolute;translate:-50% -50%;box-shadow:0 30px 60px -30px #30252273,inset 0 0 0 6px #faf6f059}.lens-ring:after{content:"";width:calc(var(--lr) * .55);background:var(--color-ink);transform-origin:0;height:9px;transform:rotate(45deg) translate(calc(var(--lr) + 1px), -50%);border-radius:999px;position:absolute;top:50%;left:50%}.lens[data-held=true] .lens-ring{scale:1.04}@media (hover:hover) and (pointer:fine){.lens{cursor:none}}.statement-hint{letter-spacing:.12em;text-transform:uppercase;color:var(--color-dim);grid-column:4/-1;font-size:.72rem;font-weight:600}.hint-touch{display:none}@media (hover:none){.hint-fine{display:none}.hint-touch{display:inline}}.fan-sec{overflow:hidden}.fan-all{grid-column:11/-1;justify-self:end}.fan{--w:clamp(10.5rem, 20vw, 18rem);--spread:clamp(2.3rem, 8.4vw, 8.6rem);height:calc(var(--w) * 1.15);position:relative}.fan-card{width:var(--w);margin-left:calc(var(--w) / -2);transform-origin:50% 180%;transform:rotate(calc(var(--c) * 1.4deg)) translateY(calc(var(--i) * -2px));transition:transform 1s var(--ease-out-expo), translate .45s var(--ease-out-expo);transition-delay:calc(var(--i) * 55ms), 0s;position:absolute;top:0;left:50%}.fan-sec[data-on=true] .fan-card{transform:translateX(calc(var(--c) * var(--spread))) translateY(calc(var(--c) * var(--c) * .5rem)) rotate(calc(var(--c) * 6deg))}.fan-card:hover,.fan-card:focus-within{z-index:10;translate:0 -1.6rem}.fan-card a{background:var(--color-paper);box-shadow:0 24px 50px -26px #30252299, 0 0 0 1px var(--color-rule);border-radius:8px;gap:.6rem;padding:.45rem .45rem .7rem;display:grid}.fan-plate{aspect-ratio:16/10;background:var(--color-plate);border-radius:4px;display:block;overflow:hidden}.fan-plate svg{height:100%}.fan-meta{gap:.55rem;padding:0 .3rem;display:flex}.fan-no{color:var(--color-ox);padding-top:.15rem;font-size:.7rem;font-weight:600}.fan-title{letter-spacing:-.01em;font-size:clamp(.8rem,1.05vw,.95rem);font-weight:600;line-height:1.25}.close{min-height:100svh;padding:clamp(5rem, 10vw, 8rem) var(--gut) 0;background:var(--color-ink);color:var(--color-paper);grid-template-rows:minmax(0,1fr) auto;display:grid}.close-body{align-content:center;align-items:baseline;row-gap:clamp(2rem,4vw,3rem)}html[data-dark=true] .bar[data-scrolled=true]{background:color-mix(in srgb, var(--color-ink) 88%, transparent);color:var(--color-paper);box-shadow:0 1px #faf6f01f}html[data-dark=true] .bar-nav a[aria-current=page]{color:var(--color-champ)}.close .kicker{color:#faf6f08c}.close .kicker>span{color:var(--color-champ)}.close-big{letter-spacing:-.04em;grid-column:4/-1;font-size:clamp(2.2rem,5.2vw,5.2rem);font-weight:700;line-height:1}.close-line{filter:blur(16px);opacity:0;transition:filter 1.2s ease, opacity .9s ease, translate 1.2s var(--ease-out-expo);transition-delay:calc(var(--i) * .28s);display:block;translate:0 .25em}.close-line:last-child{color:var(--color-champ)}.close[data-on=true] .close-line{filter:blur();opacity:1;translate:0}.close-row{flex-wrap:wrap;grid-column:4/-1;align-items:baseline;gap:1rem 2.5rem;padding-bottom:clamp(2.5rem,5vw,4rem);display:flex}.close-row .cta:not(.cta-big){color:var(--color-champ)}.close-row .cta:not(.cta-big):hover{color:var(--color-paper)}@media (width<=860px){.g>*{grid-column:1/-1!important}.hero-pin{grid-template-rows:minmax(0,1fr) auto;row-gap:1.25rem}.hero-plot{grid-row:1}.hero-text{grid-row:2;row-gap:1.1rem}.hero-line{font-size:clamp(1.2rem,4.6vw,1.6rem)}.hero-name{font-size:calc((100vw - 2 * var(--gut)) / 5.6)}.hero-tools,.hero-hint{display:none}.hero-line{min-height:calc(10.5rem * (1 - var(--done,0)))}.sec-head,.statement,.close-body{align-items:start}.fan-all{justify-self:start}.steps-pin{row-gap:1rem;padding-top:4.5rem}.steps-body{grid-template-rows:auto minmax(0,1fr);row-gap:1rem}.steps-rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem}.steps-rail li{padding:.55rem 0 0}.steps-bar{width:auto;height:2px;inset:0 0 auto}.steps-bar:after{transform-origin:0;scale:0 1}.steps-rail li[data-state=now] .steps-bar:after{scale:var(--local,0) 1}.steps-tab{flex-direction:column;gap:.15rem;padding:0}.steps-name{font-size:.85rem}.steps-panel{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:1rem}.steps-copy{gap:.5rem}.steps-count{display:none}.steps-title{font-size:2.1rem}.steps-text{font-size:.98rem}}@media (width<=640px){.fan-title{white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.fan{--w:8.2rem;--spread:2.1rem}.fan-sec[data-on=true] .fan-card{transform:translateX(calc(var(--c) * var(--spread))) translateY(calc(var(--c) * var(--c) * .35rem)) rotate(calc(var(--c) * 5deg))}}@media (prefers-reduced-motion:reduce){.hero{height:auto}.hero-pin{position:relative}.hero-hint{visibility:hidden}.lens-blur{filter:none;opacity:1;color:var(--color-ink)}.lens-sharp,.lens-ring,.statement-hint{display:none}}.sc-canvas{width:100%;height:100%;position:absolute;inset:0}
