@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.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:400;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.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:400;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.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:400;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.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:400;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.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:400;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.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;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.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:600;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.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:600;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.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:600;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.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:600;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.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:600;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.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%}.oLqJ9a_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.oLqJ9a_variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:libreCaslon;src:url(../media/LibreCaslonCondensed_Medium-s.p.2xu0-ortfcusz.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:libreCaslon Fallback;src:local(Arial);ascent-override:116.26%;descent-override:30.4%;line-gap-override:0.0%;size-adjust:88.64%}.Cv9C3q_className{font-family:libreCaslon,libreCaslon Fallback;font-style:normal;font-weight:500}.Cv9C3q_variable{--font-libre-caslon:"libreCaslon", "libreCaslon Fallback"}
:root{--c-bg:#fff;--c-ink:#000;--c-dot:#b0b0b0;--font-serif:var(--font-libre-caslon), "Libre Caslon Condensed", "Libre Caslon Text", Georgia, serif;--font-mono:var(--font-geist-mono), "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--mono-advance:.58em;--cols:12;--gutter:20px;--margin:20px;--rows:40;--row-gap:10px;--row-offset:20px;--nav-h:47px;--radius:4px;--dot-size:3px;--dot-cols:15;--dot-step-y:109px;--dot-offset-y:86px;--z-media:0;--z-dots:1;--z-content:2;--z-nav:10}@media (max-width:1023px){:root{--cols:8;--gutter:16px;--margin:20px;--dot-cols:9}}@media (max-width:639px){:root{--cols:4;--gutter:12px;--margin:20px;--dot-cols:5}}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + env(safe-area-inset-top,0px))}body{background:var(--c-bg);color:var(--c-ink);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}h1,h2,h3,p{font-weight:inherit;margin:0}img,svg,canvas,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}:focus-visible{outline:1px solid var(--c-ink);outline-offset:3px}.grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);padding-inline:var(--margin);display:grid}.page{isolation:isolate;min-height:100%;position:relative}.dots{z-index:var(--z-dots);pointer-events:none;background-image:radial-gradient(circle at calc(var(--dot-size) / 2) calc(var(--dot-size) / 2), var(--c-dot) calc(var(--dot-size) / 2), transparent calc(var(--dot-size) / 2 + .5px));background-size:calc((100% - 2 * var(--margin) - var(--dot-size)) / (var(--dot-cols) - 1)) var(--dot-step-y);background-position:var(--margin) var(--dot-offset-y);position:absolute;inset:0}.vp-scanner{z-index:9;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.page-transition{z-index:200;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.page-transition.is-on{pointer-events:auto}.nav__link.is-current{position:relative}.nav__link.is-current:after{content:"";border-radius:var(--radius);pointer-events:none;border:1.5px solid;position:absolute;inset:-4px -8px}.preloader{--pc:calc((100vw - 2 * var(--margin) - (var(--cols) - 1) * var(--gutter)) / var(--cols));z-index:300;background:var(--c-bg);color:var(--c-ink);font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;font-size:12px;line-height:1.2;position:fixed;inset:0}.pre{margin:0;position:absolute}.pre__l{white-space:pre;min-height:1.2em;display:block}.pre--title{left:calc(var(--margin) + 4 * (var(--pc) + var(--gutter)));top:22.1%}.pre--init{left:calc(var(--margin) + 4 * (var(--pc) + var(--gutter)));top:41.5%}.pre--load{left:calc(var(--margin) + 6 * (var(--pc) + var(--gutter)));top:48.6%}.pre--count{left:calc(var(--margin) + 3 * (var(--pc) + var(--gutter)));top:75%}.pre--status{left:calc(var(--margin) + 4 * (var(--pc) + var(--gutter)));top:75%}.preloader__fx{z-index:301;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}html.is-preloading{overflow:hidden}html:not(.js) .preloader{display:none}@media (max-width:1023px){.pre--title,.pre--init,.pre--status{left:var(--margin)}.pre--load{left:calc(var(--margin) + 3 * (var(--pc) + var(--gutter)));top:56%}.pre--count{left:var(--margin);top:82%}.pre--status{top:75%}}@media (max-width:639px){.pre--load{left:calc(var(--margin) + 1 * (var(--pc) + var(--gutter)))}}.cursor-fx{z-index:45;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@media (max-width:639px){.code__line{overflow-wrap:anywhere;white-space:pre-wrap!important}}
.nav{z-index:var(--z-nav);background:var(--c-bg);padding-top:calc(20px + env(safe-area-inset-top,0px));padding-inline:var(--margin);position:sticky;top:0}.nav__inner{font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;grid-template-columns:312fr 381fr 357fr 422fr;align-items:start;padding-bottom:10px;font-size:14px;line-height:1.2;display:grid;position:relative}.nav__inner:after{content:"";background:var(--c-ink);transform-origin:0;height:1px;position:absolute;bottom:0;left:0;right:0}.nav__link{white-space:nowrap;grid-row:1;justify-self:start}.nav__link:first-child{grid-column:1}.nav__link:nth-child(2){grid-column:2}.nav__link:nth-child(3){grid-column:3}.nav__link:nth-child(4){grid-column:4}.nav__link--end{grid-area:1/4;justify-self:end}@media (max-width:1023px){.nav__inner{justify-content:space-between;gap:8px;display:flex}}@media (max-width:639px){.nav__inner{font-size:12px}}.nav__label--short{display:none}@media (max-width:400px){.nav__label--full{display:none}.nav__label--short{display:inline}}.nav__sound{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;grid-area:1/4;justify-self:center;align-items:baseline;gap:6px;padding:0;display:inline-flex}.nav__sound-bars{align-items:flex-end;gap:2px;height:.8em;display:inline-flex}.nav__sound-bars i{background:currentColor;width:2px;height:2px;display:block}.nav__sound.is-on .nav__sound-bars i{animation:.9s ease-in-out infinite sbar}.nav__sound.is-on .nav__sound-bars i:nth-child(2){animation-delay:-.3s}.nav__sound.is-on .nav__sound-bars i:nth-child(3){animation-delay:-.6s}@keyframes sbar{0%,to{height:2px}50%{height:.8em}}@media (prefers-reduced-motion:reduce){.nav__sound.is-on .nav__sound-bars i{height:.6em;animation:none}}@media (max-width:639px){.nav__sound-label{display:none}}.sound-hint{z-index:61;pointer-events:none;opacity:0;transition:opacity .25s;position:fixed;top:0;left:0}.sound-hint.is-on{opacity:1}
.hero{height:100svh;min-height:720px;margin-top:calc(-1 * var(--nav-h));position:relative;overflow:clip}.hero__media{z-index:var(--z-media);position:absolute;inset:0}.hero__stage{aspect-ratio:740/921;max-width:calc(100% - 2 * var(--margin));position:absolute;top:30px;bottom:31px;left:50%;translate:-50%}.hero-gl-layer{z-index:var(--z-media);pointer-events:none;position:fixed;inset:0}@media (hover:none){.hero-gl-layer{height:100lvh;bottom:auto}}.hero-hearts{z-index:44;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.hero__gl{width:100%;height:100%;position:absolute;inset:0}.hero__grid{z-index:var(--z-content);grid-template-columns:repeat(var(--cols), minmax(0, 1fr));grid-template-rows:repeat(var(--rows), minmax(0, 1fr));column-gap:var(--gutter);row-gap:var(--row-gap);height:100%;padding:var(--row-offset) var(--margin);pointer-events:none;display:grid;position:relative}.hero__grid a,.hero__grid button{pointer-events:auto}.hero__title{font-family:var(--font-serif);text-align:center;grid-area:1/1/-1/-1;align-self:center;margin-top:-27px;font-size:clamp(28px,3.0423vw,72px);font-weight:500;line-height:1.2}.hero__title .u{text-underline-position:from-font;text-decoration-skip-ink:none;text-decoration-line:underline;text-decoration-thickness:from-font}.hud{font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;place-self:start;font-size:12px;line-height:1.2}.code__line{white-space:pre;display:block}.hud--approach,.hud--outcome,.hud--initial,.hud--reduction,.hud--sys{translate:0 10px}.hud--method{grid-area:4/1/auto/span 4;padding-left:10px}.hud--pipeline{padding-left:calc(10px + 8 * var(--mono-advance));grid-area:5/1/auto/span 4}.hud--code-aware{padding-left:calc(10px + 8 * var(--mono-advance));grid-area:9/1/auto/span 4}.hud--approach{grid-area:29/9/auto/span 4}.hud--outcome{margin-left:calc(-1 * var(--mono-advance));grid-area:33/2/auto/span 2}.hud--initial{grid-area:34/1/auto/span 2}.hud--reduction{grid-area:34/3/auto/span 3}.hud--sys{grid-area:34/9/auto/span 4}@media (min-width:1024px){.hero__title{translate:0 var(--d-title-y,-186px)}.hero__stage{top:calc(30px + var(--d-monkey-y,289px));bottom:calc(31px - var(--d-monkey-y,289px))}}@media (min-width:640px) and (max-width:1023px){.hud--wide-only{display:none}.hud--outcome{grid-column:1/-1;margin-left:0}.hud--initial{grid-area:35/1/auto/-1}.hero__title{grid-row:var(--t-title-row,7) / -1;font-size:var(--t-title-size,49px);align-self:start;margin-top:0}.hero__stage{--mw:min(var(--t-size-vw,81vw), var(--t-size-max,645px));width:var(--mw);height:calc(var(--mw) * 921 / 740);max-width:none;bottom:auto;top:calc(var(--t-center,74%) - var(--mw) * 921 / 740 * .325)}}@media (max-width:639px){.hero{min-height:600px}.hud--wide-only{display:none}.hud--outcome{grid-column:1/-1;margin-left:0}.hud--initial{grid-area:35/1/auto/-1}.hero__title{grid-row:var(--m-title-row,7) / -1;font-size:var(--m-title-size,32px);align-self:start;margin-top:0}.hero__stage{--mw:min(var(--m-size-vw,92vw), var(--m-size-max,410px));width:var(--mw);height:calc(var(--mw) * 921 / 740);max-width:none;bottom:auto;top:calc(var(--m-center,73%) - var(--mw) * 921 / 740 * .325)}}@media (hover:none){.hero,.nf{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}
.js:not(.intro-ready):has([data-section=hero]) [data-anim]{visibility:hidden}.js .nav__inner:after{transition:transform 1.1s cubic-bezier(.7,0,.2,1);transform:scaleX(0)}.js .nav.is-in .nav__inner:after{transform:none}.hero__title .w{white-space:nowrap}.hero__title .ch{position:relative}.js .hero__title .ch{color:#0000}.hero__title .ch:after{content:attr(data-s);color:var(--c-ink);line-height:normal;position:absolute;top:0;left:50%;translate:-50%}.hero__title .ch.is-in{color:inherit}.hero__title .ch.is-in:after{content:none}.js .hero__title .u{text-decoration-color:#0000;transition:text-decoration-color .5s}.js .hero__title .u.is-on{-webkit-text-decoration-color:var(--c-ink);text-decoration-color:var(--c-ink)}.hud.is-pending{pointer-events:auto;cursor:progress}.tip{border-radius:var(--radius);z-index:50;color:#fff;font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;white-space:pre;pointer-events:none;opacity:0;background:#000;padding:6px 8px;font-size:12px;line-height:1.2;transition:opacity .15s;position:fixed;top:0;left:0}.tip.is-on{opacity:1}@media (prefers-reduced-motion:reduce){.js .nav__inner:after,.js .hero__title .u{transition:none}}.hero__title .u.is-hoverable{pointer-events:auto;cursor:default}
.skills{--s2-fs:clamp(56px, 8.598vw, 180px);--s2-pitch:calc(var(--s2-fs) * .9692);--s2-blur:calc(var(--s2-fs) * .0346);--s2-dim:#00000054;--s2-col:calc((100cqw - 2 * var(--margin) - (var(--cols) - 1) * var(--gutter)) / var(--cols));height:100svh;min-height:max(720px, calc(var(--s2-fs) * 7.6));position:relative;overflow:clip;container-type:inline-size}.skills__rows{--s2-pad:calc(var(--s2-fs) * .5);left:0;right:0;top:calc(183 / 982 * 100% - var(--s2-pad));padding:var(--s2-pad) 0;z-index:var(--z-content);font-family:var(--font-serif);font-weight:500;font-size:var(--s2-fs);letter-spacing:-.01em;line-height:1.2;position:absolute}.skills__row{height:var(--s2-pitch);white-space:nowrap}.skills__track{color:var(--s2-dim);will-change:transform;display:inline-flex}.skills__track>*{filter:blur(var(--s2-blur))}.skills__word,.skills__sep{white-space:nowrap;display:inline-block}.skills__sep{margin:0 .3em}.skills__word{cursor:default;transition:opacity .3s}.skills__word.is-focus{opacity:0}.skills__word.is-fading{will-change:opacity}.skills__word.is-instant{transition:none}.skills__focus{white-space:nowrap;color:var(--c-ink);pointer-events:none;opacity:0;will-change:transform;display:inline-block;position:absolute;top:0;left:0}.skills__focus.is-in{animation:.55s cubic-bezier(.2,.7,.2,1) forwards s2-focus}.skills__focus.is-out{animation:.35s forwards s2-unfocus}@keyframes s2-unfocus{0%{opacity:1;filter:blur();color:var(--c-ink)}to{opacity:0;filter:blur(var(--s2-blur));color:var(--s2-dim)}}@keyframes s2-focus{0%{opacity:1;filter:blur(var(--s2-blur));color:var(--s2-dim)}to{opacity:1;filter:blur();color:var(--c-ink)}}.skills__lens{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.skills__card{border-radius:var(--radius);z-index:4;width:min(324px, calc(100% - 2 * var(--margin)));background:var(--card-bg,#a9edc6);box-shadow:inset 0 0 51.9px var(--card-glow,#f6edcf);font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;pointer-events:none;opacity:0;will-change:transform;padding:14px;font-size:12px;line-height:1.2;transition:opacity .25s,background-color .35s,box-shadow .35s;position:absolute;top:0;left:0}.skills__card.is-on{opacity:1}.skills__card-head{flex-direction:column;gap:8px;margin-bottom:30px;font-weight:600;display:flex}.skills__card-rule{border-top:1px dotted var(--c-ink);display:block}.skills__card-list{flex-direction:column;gap:20px;margin:0;padding:0;list-style:none;display:flex}.skills__card-list li{gap:10px;display:flex}.skills__card-list .n{flex:none;width:24px;font-weight:600}.tw{flex:1;min-width:0;display:block;position:relative}.tw__ghost{visibility:hidden}.tw__live{position:absolute;inset:0}.skills__grid{z-index:var(--z-content);grid-template-columns:repeat(var(--cols), minmax(0, 1fr));grid-template-rows:repeat(var(--rows), minmax(0, 1fr));column-gap:var(--gutter);row-gap:var(--row-gap);height:100%;padding:var(--row-offset) var(--margin);pointer-events:none;display:grid;position:relative}.s2-index{grid-area:4/1/auto/span 2;margin-top:8px}.s2-index .code__line{line-height:24px}.s2-meta{grid-area:4/3/auto/span 6;align-self:start;margin-top:12.8px}.s2-meta .hud+.hud{margin-top:9.6px}.s2-digital{margin-left:calc(var(--s2-col) + var(--gutter) - var(--mono-advance))}.s2-044{pointer-events:auto;cursor:default;grid-area:38/11/auto/span 2;position:relative}.s2-kyiv{pointer-events:none;opacity:0;width:200px;height:150px;transition:opacity .2s;position:absolute;bottom:0;right:calc(100% + 16px)}.s2-kyiv.is-on{opacity:1}.s2-kyiv canvas{width:100%;height:100%;display:block}.js .skills:not(.is-in) [data-s2-code]{visibility:hidden}.js .skills__rows{opacity:0;transition:opacity .7s}.js .skills.is-in .skills__rows{opacity:1}@media (max-width:1023px){.s2-meta{grid-column:3/-1}.s2-044{grid-column:6/-1}}@media (max-width:639px){.s2-index,.s2-044{display:none}.s2-meta{grid-column:1/-1}.s2-digital{margin-left:0}}@media (prefers-reduced-motion:reduce){.skills__focus.is-in{opacity:1;animation:none}.skills__focus.is-out{opacity:0;animation:none}}.s2m{display:none}@media (max-width:1023px){.skills{height:auto;min-height:0;padding:48px var(--margin) 56px}.skills__rows,.skills__card,.skills__grid,.skills__lens{display:none}.s2m{font-family:var(--font-mono);letter-spacing:-.02em;font-size:14px;line-height:1.2;display:block}.s2m__head{text-transform:uppercase;flex-direction:column;gap:4px;margin:0 0 32px;display:flex}.s2m__list{margin:0;padding:0;list-style:none}.s2m__item{border-bottom:1px solid var(--c-ink)}.s2m__row{width:100%;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-rows:auto auto;grid-template-columns:1fr auto;row-gap:6px;padding:20px 0;display:grid}.s2m__num{grid-area:1/1}.s2m__name{grid-area:2/1}.s2m__sign{grid-area:2/2;padding-left:16px}.s2m__card{border:1px solid var(--c-ink);border-radius:var(--radius);text-transform:none;margin:0 0 20px;padding:16px}.s2m__card-title{text-transform:uppercase;margin:0 0 20px}.s2m__points{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.s2m__points li{gap:10px;display:flex}.s2m__n{flex:none}.s2m__more{border:1px solid var(--c-ink);border-radius:var(--radius);width:100%;color:inherit;font:inherit;letter-spacing:inherit;text-transform:uppercase;cursor:pointer;background:0 0;margin-top:24px;padding:14px 0;display:block}}@media (min-width:640px) and (max-width:1023px){.skills{padding-top:64px;padding-bottom:72px}}
.work{height:100svh;min-height:760px;margin-top:-100px;position:relative;overflow:clip}.work__grid{z-index:var(--z-content);grid-template-columns:repeat(var(--cols), minmax(0, 1fr));grid-template-rows:repeat(var(--rows), minmax(0, 1fr));column-gap:var(--gutter);row-gap:var(--row-gap);height:100%;padding:var(--row-offset) var(--margin);pointer-events:none;display:grid;position:relative}.work__tag{white-space:pre;grid-area:3/1/auto/span 6;align-self:start}.work__caption{white-space:pre;grid-area:40/1/auto/-1;place-self:start center}.work__tag,.work__caption{font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;font-size:12px;line-height:1.2}.work__cta{z-index:3;font-family:var(--font-serif);white-space:nowrap;text-underline-position:from-font;text-decoration-skip-ink:none;font-size:clamp(32px,3.0423vw,64px);font-weight:500;line-height:1.2;text-decoration-line:underline;text-decoration-thickness:from-font;transition:opacity .4s;position:absolute;top:50%;left:50%;translate:-50% -50%}.work__stage{z-index:var(--z-content);pointer-events:none;position:absolute;inset:0}.work-card{pointer-events:auto;--card-media:277px;width:var(--card-media);will-change:transform;transition:opacity .45s,filter .45s;position:absolute;top:0;left:0}.work-card__link{color:inherit;flex-direction:column;gap:6px;display:flex}.work-card__coord{min-height:1.2em;font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;white-space:pre;gap:10px;font-size:14px;line-height:1.2;display:flex}.work-card__media{border-radius:var(--radius);width:var(--card-media);height:calc(var(--card-media) * .75);position:relative;overflow:hidden}.work-card__media img,.work-card__media video{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.work-card.is-shown .work-card__media img,.work-card.is-shown .work-card__media video{opacity:1}.work-card__ascii{width:100%;height:100%;position:absolute;inset:0}.work-card__title{min-height:1.2em;font-family:var(--font-serif);white-space:nowrap;margin:0;font-size:24px;font-weight:500;line-height:1.2}.work-card__desc{width:411px;font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;pointer-events:none;opacity:0;flex-direction:column;gap:30px;font-size:12px;line-height:1.2;transition:opacity .2s;display:flex;position:absolute;top:calc(1.4em + 6px)}.work-card__desc .code__line{white-space:pre;display:block}.work-card.side-left .work-card__desc{right:calc(100% + 10px)}.work-card.side-right .work-card__desc{left:calc(100% + 10px)}.work-card.is-hover .work-card__desc{opacity:1}.work__lens{z-index:4;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.work.is-focus .work-card:not(.is-hover){opacity:.12;filter:blur(3px)}.work.is-focus .work__cta{opacity:.2}.js .work:not(.is-in) [data-work-code]{visibility:hidden}.wm{display:none}@media (max-width:1023px){.work{height:auto;min-height:0;padding:48px var(--margin) 56px;margin-top:0}.work__stage,.work__grid,.work__lens{display:none}.wm{display:block}.wm__head,.wm__caption,.wm__desc{font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;font-size:12px;line-height:1.2}.wm__head{margin:0}.wm__caption{margin:6px 0 32px}.wm__list{flex-direction:column;gap:40px;margin:0;padding:0;list-style:none;display:flex}.wm__link{color:inherit;flex-direction:column;gap:12px;display:flex}.wm__media{aspect-ratio:4/3;border-radius:var(--radius);background:#f2f2f2;width:100%;display:block;position:relative;overflow:hidden}.wm__media img,.wm__media video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.wm__title{font-family:var(--font-serif);font-size:24px;font-weight:500;line-height:1.2}.wm__desc{flex-direction:column;gap:2px;display:flex}.wm__label{margin-top:10px}.wm__label:first-child{margin-top:0}.wm__line{padding-left:2ch}.work__cta{width:fit-content;margin:40px auto 0;display:block;position:static;translate:none}}@media (min-width:640px) and (max-width:1023px){.work{padding-top:64px;padding-bottom:72px}.wm__list{column-gap:var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));row-gap:48px;display:grid}.work__cta{margin-top:56px}}@media (prefers-reduced-motion:reduce){.work-card{transition:none}}
.lab{--lab-col:calc((100cqw - (var(--cols) - 1) * var(--gutter)) / var(--cols));min-height:100svh;padding:20px var(--margin);flex-direction:column;margin-top:150px;display:flex;position:relative;container-type:inline-size}.lab__head{z-index:var(--z-content);grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);align-items:start;display:grid;position:relative}.lab__title{font-family:var(--font-serif);letter-spacing:-.05em;white-space:nowrap;grid-area:1/4/auto/-1;margin:-.3em -.15em;padding:.3em .15em;font-size:clamp(56px,8.598vw,180px);font-weight:500;line-height:1.2}.lab__meta{grid-area:1/1/auto/span 3;margin-top:24px;padding-left:10px}.lab__list{--lab-card:calc(2 * var(--lab-col) + var(--gutter));z-index:var(--z-content);padding:0 calc(var(--lab-col) + var(--gutter));grid-template-columns:repeat(4, var(--lab-card));justify-content:space-between;row-gap:40px;margin:130px 0 0;list-style:none;display:grid;position:relative}.lab-item{cursor:default;flex-direction:column;display:flex}.lab-item__media{aspect-ratio:230/157;width:100%;position:relative}.lab-item__media img,.lab-item__media video{border-radius:var(--radius);object-fit:cover;filter:blur(18px)saturate(1.1);width:100%;height:100%;transition:filter .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1);display:block;transform:scale(1.04)}.lab-item.is-on .lab-item__media img,.lab-item.is-on .lab-item__media video{filter:none;transform:none}.lab-item__num{font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;margin:10px 0 0;font-size:12px;line-height:1.2}.lab-item__name{font-family:var(--font-serif);margin:21px 0 0;font-size:24px;font-weight:500;line-height:1.2}.lab-item__specs{font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;opacity:0;flex-direction:column;gap:16px;margin-top:18px;font-size:12px;line-height:1.2;transition:opacity .2s;display:flex}.lab-item.is-on .lab-item__specs{opacity:1}.lab-item__specs-label{white-space:nowrap}.lab .tw{display:block;position:relative}.lab .tw__ghost{visibility:hidden}.lab .tw__live{position:absolute;inset:0}.lab__foot{z-index:var(--z-content);margin-top:auto;padding-top:78px;position:relative}.lab__foot .hud+.hud{margin-top:14.4px}.lab__title.ar-pending .ar-ch{color:#0000}.lab__title .ar-ch.ar-in{color:inherit}.js .lab:not(.is-in) [data-lab-code]{visibility:hidden}@media (max-width:1023px){.lab__list{column-gap:var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.lab__meta{grid-area:2/5/auto/-1;margin-top:8px;padding-left:0}.lab__title{text-align:center;grid-area:1/1/auto/-1}}@media (min-width:640px) and (max-width:1023px){.lab{min-height:0;margin-top:0;padding-top:64px;padding-bottom:72px}.lab__list{row-gap:48px;margin-top:48px}.lab__foot{padding-top:56px}}@media (max-width:639px){.lab{min-height:0;margin-top:0;padding-top:48px;padding-bottom:56px}.lab__list{grid-template-columns:1fr;margin-top:60px}.lab__meta{grid-column:3/-1}}@media (hover:none){.lab-item__media img,.lab-item__media video{filter:none;transform:none}.lab-item__specs{opacity:1}.lab .tw__ghost{visibility:visible}.lab .tw__live{display:none}}
.footer{min-height:100svh;padding:calc(var(--nav-h) + 22px) var(--margin) 20px;flex-direction:column;display:flex;position:relative;overflow:clip}.footer__top,.footer__bottom{z-index:var(--z-content);grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);display:grid;position:relative}.footer__top>*,.footer__bottom>*{min-width:0;margin:0}.footer__statement{font-family:var(--font-serif);grid-area:1/6/auto/-1;font-size:clamp(28px,3.0423vw,64px);font-weight:500;line-height:1.2}.footer__statement p{margin:0}@media (max-width:639px){.footer__statement br.ft-br{display:none}.ft-keep{white-space:nowrap}}.footer__statement p+p{margin-top:1.2em}.footer__perspective{grid-area:1/2/auto/span 4;align-self:end;margin-bottom:.2em}.footer__intent{grid-area:2/9/auto/-1;justify-self:end;margin-top:66px}.ft-hl{--hl:#b3aaff;--hl-glow:#fff;box-shadow:inset 0 0 0 3px var(--c-ink);color:inherit;cursor:default;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:0 0;border-radius:10px;padding:0 .08em;transition:background-color .25s,box-shadow .25s}.ft-hl:hover,.ft-hl.is-on{background:var(--hl);box-shadow:inset 0 0 0 3px var(--c-ink), inset 0 0 34px var(--hl-glow)}.ft-hl--mint{--hl:#19ff90;--hl-glow:#d5ffeb}.ft-icon{z-index:4;border-radius:var(--radius);background:var(--c-ink);color:#fff;width:36px;height:36px;font-family:var(--font-mono);letter-spacing:0;white-space:pre;pointer-events:none;opacity:0;place-items:center;margin:0;font-size:7px;font-weight:600;line-height:1;display:grid;position:absolute;top:0;left:0}.footer__bottom{grid-template-rows:auto auto;margin-top:auto;padding-top:80px}.footer__mono{font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;font-size:12px;line-height:1.2}.footer__next{grid-area:1/1/auto/span 4}.footer__about{grid-area:1/6/auto/span 4}.footer__contact{grid-area:1/11/auto/span 2}.footer__links{margin:17px 0 0;padding:0;list-style:none}.footer__links a{white-space:nowrap}.footer__cta{font-family:var(--font-serif);letter-spacing:-.05em;white-space:nowrap;grid-area:2/1/auto/span 10;margin-top:29px;padding-bottom:.08em;font-size:clamp(56px,8.598vw,180px);font-weight:500;line-height:.9}.footer__cta-link{color:inherit;text-underline-position:from-font;text-decoration-skip-ink:none;cursor:pointer;text-decoration-line:underline;text-decoration-thickness:from-font;display:inline-block}.footer__cta-link .ar-ch{position:relative}.footer__cta-link .ar-ch.is-scr{color:#0000}.footer__cta-link .ar-ch.is-scr:after{content:attr(data-s);color:var(--c-ink);line-height:normal;position:absolute;top:0;left:50%;translate:-50%}.footer__cta-line{margin:-.35em -.15em;padding:.35em .15em;display:inline-block}.footer__smile{vertical-align:-.02em;width:.71em;height:auto;margin-left:.12em;display:inline-block;overflow:visible}.footer__smile ellipse{fill:currentColor}.footer__smile path{fill:none;stroke:currentColor;stroke-width:9px;stroke-linecap:round;stroke-linejoin:miter}.footer__start{border-radius:var(--radius);background:var(--c-ink);color:#fff;cursor:pointer;height:110px;font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;grid-area:2/11/auto/-1;align-self:end;margin-bottom:.1em;font-size:12px;line-height:1.2;display:block;position:relative;overflow:hidden}.footer__start-win{position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 4%,#000 34% 66%,#0000 96%);mask-image:linear-gradient(#0000 4%,#000 34% 66%,#0000 96%)}.footer__start-track{text-align:center;position:absolute;inset:0}.footer__start-line{white-space:pre;will-change:transform;height:24px;line-height:24px;display:block;position:absolute;top:0;left:0;right:0}.js .footer:not(.is-in) [data-ft-code]{visibility:hidden}.footer .ar-pending .ar-ch{color:#0000}.footer .ar-pending .ar-ch.ar-in{color:inherit}.footer .ar-pending .footer__cta-link{text-decoration-color:#0000}.footer .ar-pending .ft-hl{box-shadow:none}@media (max-width:1023px){.footer__statement{grid-column:1/-1}.footer__perspective{grid-area:2/1/auto/span 4;align-self:start;margin-top:48px}.footer__intent{grid-area:2/5/auto/-1;margin-top:48px}.footer__about{display:none}.footer__next{grid-column:1/span 4}.footer__contact{grid-area:1/6/auto/-1}.footer__cta{white-space:normal;grid-column:1/-1}.footer__start{grid-area:3/1/auto/-1;height:110px;margin-top:24px}}@media (min-width:640px) and (max-width:1023px){.footer{min-height:0}.footer__top+.footer__bottom{margin-top:40px}}@media (max-width:639px){.footer__perspective,.footer__intent{display:none}.footer__contact{grid-area:2/1/auto/-1;margin-top:24px}.footer__cta{grid-row:3}.footer__start{grid-row:4;height:110px}}
.archive{--a-col:calc((100cqw - (var(--cols) - 1) * var(--gutter)) / var(--cols));z-index:var(--z-content);padding:21px var(--margin) 0;position:relative;container-type:inline-size}.archive__head{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);align-items:start;display:grid}.archive__title{font-family:var(--font-serif);letter-spacing:-.05em;grid-area:1/1/auto/span 6;margin:-.3em -.15em;padding:.3em .15em;font-size:clamp(56px,8.598vw,180px);font-weight:500;line-height:1.2}.archive__lead{grid-area:2/1/auto/span 4;margin:10px 0 0}.archive__meta{grid-area:1/7/auto/span 4;margin-top:23px}.archive__mono,.arow__meta,.arow__desc,.arow__thumb-num{font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;font-size:12px;line-height:1.2}.archive__list{margin:76px calc(-1 * var(--margin)) 0;padding:0;list-style:none}.arow{isolation:isolate;cursor:pointer;color:var(--c-ink);transition:color .35s;position:relative}.arow:before{content:"";z-index:-1;background:var(--c-ink);opacity:0;pointer-events:none;transition:opacity .35s;position:absolute;inset:0}.arow.is-hover:before{opacity:1}.archive.has-ascii-bg .arow:before{opacity:0;transition:none}.archive.has-ascii-bg .arow.is-bg-solid:before{opacity:1}.archive.has-ascii-bg .archive__list{position:relative}.arow__bg{visibility:hidden;pointer-events:none;position:absolute;top:0;left:0}.archive.has-ascii-bg .arow.is-hover{transition:color .2s .16s}.arow__link{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);min-height:195px;padding:20px var(--margin) 40px;color:inherit;grid-template-rows:auto auto;align-content:start;display:grid}.arow:after{content:"";left:var(--margin);right:var(--margin);background:var(--c-ink);transform-origin:0;height:1px;transition:transform .45s cubic-bezier(.7,0,.2,1),opacity .35s;position:absolute;bottom:0}.arow.is-pending:after{transform:scaleX(0)}.js .archive:not(.is-in) .arow:after{transition:none;transform:scaleX(0)}.arow.is-hover{color:#fff}.arow.is-hover:after{opacity:0}.arow.is-quick,.arow.is-quick:before,.arow.is-quick:after,.arow.is-quick .arow__thumbs{transition-duration:80ms}.arow__num{font-family:var(--font-serif);grid-area:1/1;margin:0;font-size:24px;font-weight:500;line-height:1.2}.arow__title{font-family:var(--font-serif);grid-area:1/5/auto/span 6;margin:0;font-size:24px;font-weight:500;line-height:1.2}.arow__meta{white-space:pre;grid-area:2/5/auto/span 2;margin:18px 0 0}.arow__desc{grid-area:2/7/auto/span 4;margin:18px 0 0}.arow__thumbs{pointer-events:none;opacity:0;will-change:opacity;grid-area:1/2/span 2/span 3;place-self:start end;align-items:flex-start;gap:10px;height:0;transition:opacity .35s;display:flex;overflow:visible}.arow.is-hover .arow__thumbs{opacity:1}.arow__thumb{border-radius:var(--radius);background:0 0;position:relative;overflow:hidden}.arow__thumb--main{aspect-ratio:207/155;order:3;width:207px}.arow__thumb--small{aspect-ratio:70/53;width:70px}.arow__thumb--second{order:2}.arow__thumb--third{order:1}.arow__thumb img,.arow__thumb video{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.arow__thumb.is-shown img,.arow__thumb.is-shown video{opacity:1}.arow__thumb canvas{width:100%;height:100%;position:absolute;inset:0}.arow.is-pending .arow__meta,.arow.is-pending .arow__desc{visibility:hidden}.archive .ar-pending .ar-ch{color:#0000}.archive .ar-pending .ar-ch.ar-in{color:inherit}.js .archive:not(.is-in) [data-archive-code]{visibility:hidden}.arch-tip{z-index:60;border-radius:var(--radius);color:#000;mix-blend-mode:difference;font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;white-space:pre;pointer-events:none;opacity:0;background:#fff;padding:6px 8px;font-size:12px;line-height:1.2;transition:opacity .15s;position:fixed;top:0;left:0}.arch-tip.is-on{opacity:1}.footer--archive{min-height:0;padding-top:105px}@media (max-width:1023px){.archive__title{grid-column:1/-1}.archive__meta{grid-area:3/1/auto/-1;margin-top:24px}.arow__title{grid-column:3/-1}.arow__meta{grid-column:3/span 3}.arow__desc{grid-area:3/3/auto/-1}.arow__thumbs{display:none}}.arow__cover{display:none}@media (max-width:639px){.arow__link{grid-template-rows:auto auto auto auto;min-height:0;padding-bottom:28px}.arow__cover{aspect-ratio:4/3;border-radius:var(--radius);background:#f2f2f2;grid-area:1/1/auto/-1;margin-bottom:16px;display:block;position:relative;overflow:hidden}.arow__cover img,.arow__cover video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.arow__num{grid-row:2}.arow__title{grid-area:2/2/auto/-1}.arow__meta{grid-area:3/2/auto/-1}.arow__desc{grid-area:4/1/auto/-1}}@media (hover:none){.arow:hover{color:var(--c-ink);background:0 0}.arow:hover:after{opacity:1}.arow:before{display:none}}
.case{z-index:var(--z-content);padding:21px var(--margin) 0;position:relative}.case__grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);align-items:start;display:grid;position:relative}.case__grid>*{min-width:0;margin:0}.case__title{font-family:var(--font-serif);letter-spacing:-.05em;margin:-.3em -.15em;padding:.3em .15em;font-size:clamp(56px,8.598vw,180px);font-weight:500;line-height:1.2}.case__mono{font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;font-size:12px;line-height:1.2}.case__mono .code__line{white-space:pre;display:block}.case__text{font-family:var(--font-serif);font-size:24px;font-weight:500;line-height:1.2}.case__num{font-family:var(--font-serif);font-size:clamp(32px,3.0423vw,64px);font-weight:500;line-height:1.2}.case__meta{margin-top:43px}.case__meta-tags{white-space:pre;grid-column:1/span 4}.case__meta-sum{grid-column:7/span 4}.case__intro{margin-top:199px}.case__intro-col:first-child{grid-column:1/span 5}.case__intro-col:nth-child(2){grid-column:7/span 5}.case__intro .case__text{margin-top:30px}.case__section{margin-top:150px}.case__label{grid-area:1/1/auto/span 4}.case__heading{grid-area:2/1/auto/span 4;margin-top:94px}.case__para{grid-area:2/6/auto/span 5;margin-top:94px}.case__img{border-radius:var(--radius);position:relative;overflow:hidden}.case__img img,.case__img video{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.case__img.is-shown img,.case__img.is-shown video{opacity:1}.case__img canvas{width:100%;height:100%;position:absolute;inset:0}.case__lens{z-index:8;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}body:not([data-page=case]) .case__lens{display:none}.case .ar-pending .ar-ch{color:#0000}.case .ar-pending .ar-ch.ar-in{color:inherit}.case [data-cr=type]:not(.is-in){visibility:hidden}.footer--case{min-height:0;padding-top:150px}@media (max-width:1023px){.case__meta-tags{grid-column:1/-1}.case__meta-sum{grid-column:1/-1;margin-top:16px}.case__intro-col:first-child,.case__intro-col:nth-child(2){grid-column:1/-1}.case__intro-col:nth-child(2){margin-top:48px}.case__heading,.case__para{grid-column:1/-1}.case__para{grid-row:3;margin-top:24px}}.cb-todo{color:#b0b0b0;border-bottom:1px dashed}.cb-meta{row-gap:24px;margin-top:120px}.cb-meta__item{grid-column:span 2}.cb-meta__item:first-child{grid-column:1/span 2}.cb-meta__v{margin-top:8px!important}.cb-full{margin:150px calc(-1 * var(--margin)) 0}.cb-fig{margin:0}.cb-fig--full .cb-media{aspect-ratio:4/3;border-radius:0}.cb-fig--full .cb-cap{padding:0 var(--margin)}.cb-cap{margin-top:10px}.cb-media{position:relative}.cb-split{margin-top:150px}.cb-split__text{grid-column:1/span 4}.cb-split__text .cb-h{margin-top:40px}.cb-split__text .cb-p{margin-top:24px}.cb-split__fig{grid-column:6/-1}.cb-split__fig .cb-media{aspect-ratio:4/3}.cb-split.is-flip .cb-split__text{grid-area:1/9/auto/-1}.cb-split.is-flip .cb-split__fig{grid-area:1/1/auto/span 7}.cb-steps{row-gap:56px;margin-top:150px}.cb-steps__label{grid-area:1/1/auto/span 4}.cb-step{grid-column:span 3}.cb-step:first-of-type{grid-area:1/6/auto/span 3}.cb-step:nth-of-type(2){grid-area:2/6/auto/span 3}.cb-step:nth-of-type(3){grid-area:1/9/auto/span 3}.cb-step:nth-of-type(4){grid-area:2/9/auto/span 3}.cb-step__t{margin-top:18px!important}.cb-step__d{margin-top:14px!important}.cb-quote{margin-top:170px}.cb-quote__text{text-align:left;font-family:var(--font-serif);letter-spacing:-.02em;grid-column:3/span 6;font-size:clamp(32px,3.0423vw,64px);font-weight:500;line-height:1.15}.cb-quote__by{text-align:left;grid-column:3/span 6;margin-top:24px!important}.cb-pair{align-items:start;margin-top:150px}.cb-pair__a{grid-column:1/span 7}.cb-pair__a .cb-media{aspect-ratio:4/3}.cb-pair__b{grid-column:9/-1;margin-top:180px}.cb-pair__b .cb-media{aspect-ratio:4/3}.cb-details{row-gap:20px;margin-top:150px}.cb-details__label{grid-column:1/-1;margin-bottom:20px!important}.cb-detail{grid-column:span 4}.cb-detail .cb-media{aspect-ratio:4/3}.cb-outcome{margin-top:170px}@media (min-width:1024px){.cb-outcome .case__para{grid-column:4/span 6}}.cb-outcome .case__para>.case__text{letter-spacing:-.02em;font-size:clamp(32px,3.0423vw,64px);line-height:1.15}.cb-list{border-top:1px solid var(--c-ink);margin:28px 0 0;padding:0;list-style:none}.cb-list li{border-bottom:1px solid var(--c-ink);padding:10px 0}@media (max-width:1023px){.cb-meta{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:32px}.cb-meta__item,.cb-meta__item:first-child{grid-column:auto}.cb-meta__v .code__line{white-space:pre-wrap}.cb-split__text,.cb-split__fig,.cb-split.is-flip .cb-split__text,.cb-split.is-flip .cb-split__fig{grid-area:auto/1/auto/-1}.cb-split__fig{margin-top:32px}.cb-steps__label{grid-area:auto/1/auto/-1}.cb-step,.cb-step:nth-of-type(n){grid-area:auto/span 4}.cb-quote__text,.cb-quote__by{grid-column:1/-1}.cb-pair__a,.cb-pair__b{grid-column:1/-1;margin-top:0}.cb-pair__b{margin-top:32px}.cb-detail{grid-column:1/-1}}@media (max-width:639px){.cb-meta{grid-template-columns:repeat(var(--cols), minmax(0, 1fr))}.cb-meta__item,.cb-meta__item:first-child{grid-column:span 2}.cb-step,.cb-step:nth-of-type(n){grid-column:1/-1}.cb-steps{row-gap:40px}}.cn{z-index:var(--z-content);padding:0 var(--margin);grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);align-items:start;margin-top:150px;display:grid;position:relative}.cn__cards{gap:var(--gutter);grid-column:1/span 6;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.cn__card{color:inherit;flex-direction:column;gap:10px;display:flex}.cn__media{aspect-ratio:4/3;border-radius:var(--radius);background:#f2f2f2;display:block;position:relative;overflow:hidden}.cn__media img,.cn__media video{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.cn__card:hover .cn__media img,.cn__card:hover .cn__media video{transform:scale(1.03)}.cn__ascii{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.cn__media.is-pending img,.cn__media.is-pending video{opacity:0}.cn__text.ar-pending{text-decoration-color:#0000}.cn__text.ar-pending .ar-ch{color:#0000}.cn__text.ar-pending+.cn__arrow{opacity:0}.cn__text .ar-ch.ar-in{color:inherit}.cn__name.is-pending{visibility:hidden}.cn__title{display:none}.cn__next{color:inherit;flex-direction:column;grid-column:8/-1;gap:16px;display:flex}.cn__label{font-family:var(--font-serif);letter-spacing:-.05em;white-space:nowrap;align-items:center;gap:.3em;font-size:clamp(56px,8.598vw,180px);font-weight:500;line-height:1;display:flex}.cn__arrow{fill:none;stroke:currentColor;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:.5em;height:auto;transition:transform .4s cubic-bezier(.2,.7,.2,1),opacity .4s;overflow:visible}.cn__next:hover .cn__arrow{transform:translate(.12em)}.cn__text{text-underline-position:from-font;text-decoration-skip-ink:none;text-decoration-line:underline;text-decoration-thickness:from-font}.cn__text .ar-ch{position:relative}.cn__text .ar-ch.is-scr{color:#0000}.cn__text .ar-ch.is-scr:after{content:attr(data-s);color:var(--c-ink);line-height:normal;position:absolute;top:0;left:50%;translate:-50%}.cn__name{font-family:var(--font-serif);font-size:24px;font-weight:500;line-height:1.2}@media (max-width:1023px){.cn__cards{grid-column:1/span 4}.cn__next{grid-column:5/-1}}@media (max-width:639px){.cn{row-gap:40px;margin-top:96px}.cn__next{grid-area:1/1/auto/-1;gap:10px}.cn__cards{grid-area:2/1/auto/-1}.cn__name{font-size:20px}.cn__title{font-family:var(--font-serif);font-size:16px;font-weight:500;line-height:1.2;display:block}.footer--case{padding-top:96px}}
.contact{--cc:calc((100cqw - (var(--cols) - 1) * var(--gutter)) / var(--cols));z-index:var(--z-content);min-height:calc(100svh - var(--nav-h));padding:68px var(--margin) 80px;position:relative;container-type:inline-size}.contact__grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);align-items:start;display:grid;position:relative}.contact__grid>*{min-width:0;margin:0}.contact__mono{font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;font-size:12px;line-height:1.2}.contact__mono .code__line{white-space:pre;display:block}.contact__kicker{grid-column:2/span 6}.contact__title{font-family:var(--font-serif);grid-column:2/span 8;font-size:clamp(32px,3.0423vw,64px);font-weight:500;line-height:1.2;margin-top:34px!important}.contact__lead{grid-column:2/span 6;margin-top:16px!important}.contact__form{row-gap:0;margin-top:70px}.cf{position:relative}.cf--name{grid-column:2/span 5}.cf--email{grid-column:7/span 5}.cf--topic,.cf--msg{grid-column:2/span 10;margin-top:30px}.cf__input{border:0;border-bottom:1px solid var(--c-ink);width:100%;color:var(--c-ink);font-family:var(--font-serif);resize:none;background:0 0;border-radius:0;outline:none;padding:0 0 8px;font-size:24px;font-weight:500;line-height:1.3;display:block;overflow:hidden}.cf__input::placeholder{color:#878787;opacity:1}.cf__input:focus{border-bottom-color:var(--c-ink);box-shadow:0 1px 0 0 var(--c-ink)}.cf__label{margin-top:10px;display:block}.cf.is-error .cf__label{color:red}.cf.is-error .cf__input{border-bottom-color:red}.cf__count{background:var(--c-bg);color:#878787;opacity:0;pointer-events:none;padding-left:12px;transition:opacity .2s,color .2s;position:absolute;bottom:0;right:0}.cf__count.is-on{opacity:1}.cf__count.is-full{color:red}@media (max-width:639px){.cf__count{text-align:right;margin-top:6px;padding:0;display:block;position:static}}.cf__chips{border-bottom:1px solid var(--c-ink);flex-wrap:wrap;gap:4px;padding-bottom:10px;display:flex}.cf__chip{border:1px solid var(--c-ink);border-radius:var(--radius);color:var(--c-ink);font-family:var(--font-serif);cursor:pointer;background:0 0;padding:0 6px;font-size:24px;font-weight:500;line-height:1.2;transition:background-color .15s,color .15s}.cf__chip:hover{background:#0000000f}.cf__chip[aria-pressed=true]{background:var(--c-ink);color:#fff}.cf__hp{opacity:0;width:1px;height:1px;left:-9999px;position:absolute!important}.contact__send{grid-column:2/span 3;height:62px;margin-top:30px}.contact__error{color:red;grid-column:2/span 10;margin-top:12px!important}.tkr{border-radius:var(--radius);background:var(--c-ink);color:#fff;cursor:pointer;width:100%;font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;border:0;font-size:12px;line-height:1.2;transition:background-color .3s,color .3s;display:block;position:relative;overflow:hidden}.tkr__win{position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 2%,#000 30% 70%,#0000 98%);mask-image:linear-gradient(#0000 2%,#000 30% 70%,#0000 98%)}.tkr__track{text-align:center;position:absolute;inset:0}.tkr__line{white-space:pre;will-change:transform;height:24px;line-height:24px;transition:opacity .25s;display:block;position:absolute;top:0;left:0;right:0}.tkr.is-disabled{color:#00000073;cursor:not-allowed;background:#e6e6e6}.contact__status{white-space:pre;grid-column:2/span 10;margin-top:254px}.contact__status .blink{animation:.9s step-end infinite cblink}@keyframes cblink{50%{opacity:0}}.contact__done{text-align:center;flex-direction:column;grid-column:1/-1;align-items:center;margin-top:24px;display:flex}.contact__done-text{font-family:var(--font-serif);margin:0;font-size:24px;font-weight:500;line-height:1.2}.contact__back{width:min(353px,100%);height:62px;margin-top:38px}.contact[data-state=form] .contact__status,.contact[data-state=form] .contact__done,.contact[data-state=sending] .contact__form,.contact[data-state=sending] .contact__intro,.contact[data-state=sending] .contact__done,.contact[data-state=sent] .contact__form,.contact[data-state=sent] .contact__intro{display:none}.contact[data-state=sending] .contact__status{margin-top:186px}.contact[data-state=sent]{height:100svh;min-height:720px;margin-top:calc(-1 * var(--nav-h));padding:0 var(--margin) 105px;flex-direction:column;justify-content:flex-end;display:flex;overflow:clip}.contact[data-state=sent] .contact__grid{position:static}.contact[data-state=sent] .contact__status{z-index:var(--z-content);left:calc(var(--margin) + var(--cc) + var(--gutter));margin:0;position:absolute;top:32.8%}.contact__status .code__line+.code__line{margin-top:14px}.contact[data-state=sent] .contact__done{z-index:var(--z-content);margin-top:0;position:relative}.contact[data-state=sent] .contact__back{width:calc(4 * var(--cc) + 3 * var(--gutter));margin-top:49px}.contact .ar-pending .ar-ch{color:#0000}.contact .ar-pending .ar-ch.ar-in{color:inherit}.contact [data-ct=type]:not(.is-in){visibility:hidden}.js .contact .cf__input,.js .contact .cf__chips,.js .contact .cf__chip,.js .contact .contact__send{clip-path:inset(-8px 100% -8px 0);transition:clip-path .6s cubic-bezier(.7,0,.2,1)}.js .contact .cf.is-shown .cf__input,.js .contact .cf.is-shown .cf__chips,.js .contact .cf__chip.is-shown,.js .contact .contact__send.is-shown{clip-path:inset(-8px)}.js .contact .cf:not(.is-shown) .cf__label{visibility:hidden}@media (prefers-reduced-motion:reduce){.js .contact .cf__input,.js .contact .cf__chips,.js .contact .cf__chip,.js .contact .contact__send{clip-path:none;transition:none}.js .contact .cf:not(.is-shown) .cf__label{visibility:visible}}@media (max-width:639px){.contact[data-state=sent]{--mstage-bottom:300px;padding-bottom:48px}.contact[data-state=sent] .contact__status{left:var(--margin);top:calc(var(--nav-h) + 24px)}.contact[data-state=sent] .contact__back{width:100%;margin-top:32px}}@media (max-width:1023px){.contact[data-state=sent]{min-height:600px}.contact__kicker,.contact__title,.contact__lead,.cf--name,.cf--email,.cf--topic,.cf--msg,.contact__status{grid-column:1/-1}.cf--email{margin-top:30px}.contact__send,.contact__error{grid-column:1/-1}.cf__chip{font-size:20px}}
.mstage{inset:0 0 var(--mstage-bottom,330px);z-index:var(--z-media);pointer-events:none;position:absolute}.mstage__fig{aspect-ratio:740/921;height:min(921px,156%);max-width:calc(100% - 2 * var(--margin));position:absolute;top:calc(100% - min(921px,156%)/1.5625);left:50%;translate:-50%}@media (max-width:639px){.mstage__fig{height:calc((100% + var(--nav-h) + 70px) / .65);top:0}}.nf{--cc:calc((100cqw - (var(--cols) - 1) * var(--gutter)) / var(--cols));height:100svh;min-height:720px;margin-top:calc(-1 * var(--nav-h));padding:0 var(--margin) 105px;flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:clip;container-type:inline-size}.nf__mono{font-family:var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;margin:0;font-size:12px;line-height:1.2}.nf__mono .code__line{white-space:pre;display:block}.nf__serif{font-family:var(--font-serif);margin:0;font-size:24px;font-weight:500;line-height:1.2}.nf__status{z-index:var(--z-content);left:calc(var(--margin) + var(--cc) + var(--gutter));position:absolute;top:32.8%}.nf__status .code__line+.code__line{margin-top:14px}.nf__text{z-index:var(--z-content);text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.nf__title{margin-top:29px}.nf__lead{margin-top:9px}.nf__back{width:calc(4 * var(--cc) + 3 * var(--gutter));height:62px;margin-top:40px;text-decoration:none}.nf .ar-pending .ar-ch{color:#0000}.nf .ar-pending .ar-ch.ar-in{color:inherit}@media (max-width:1023px){.nf{min-height:600px}}@media (max-width:639px){.nf{--mstage-bottom:300px;padding-bottom:48px}.nf__status{left:var(--margin);top:calc(var(--nav-h) + 24px)}.nf__lead .code__line{text-wrap:balance}.nf__back{width:100%;margin-top:32px}}
