@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e27b85d01cb4b1af-s.2yhdohbnxjaph.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:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/10e5db483fb7b6ef-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/01a1b57b2e0cef27-s.1tzxx-40rxw3x.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:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/648e19a466ec92f1-s.3aj86x1l4-kru.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:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/29e2a75af8e45044-s.p.1d8-5gtibtj96.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:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e27b85d01cb4b1af-s.2yhdohbnxjaph.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:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/10e5db483fb7b6ef-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/01a1b57b2e0cef27-s.1tzxx-40rxw3x.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:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/648e19a466ec92f1-s.3aj86x1l4-kru.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:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/29e2a75af8e45044-s.p.1d8-5gtibtj96.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:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e27b85d01cb4b1af-s.2yhdohbnxjaph.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:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/10e5db483fb7b6ef-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/01a1b57b2e0cef27-s.1tzxx-40rxw3x.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:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/648e19a466ec92f1-s.3aj86x1l4-kru.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:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/29e2a75af8e45044-s.p.1d8-5gtibtj96.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:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/e27b85d01cb4b1af-s.2yhdohbnxjaph.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:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/10e5db483fb7b6ef-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/01a1b57b2e0cef27-s.1tzxx-40rxw3x.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:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/648e19a466ec92f1-s.3aj86x1l4-kru.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:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/29e2a75af8e45044-s.p.1d8-5gtibtj96.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:Nunito Fallback;src:local(Arial);ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.0%;size-adjust:101.39%}.y8wyZG_className{font-family:Nunito,Nunito Fallback;font-style:normal}.y8wyZG_variable{--font-nunito:"Nunito", "Nunito Fallback"}
:root{--bg:#f7f7f4;--surface:#ecece6;--surface-2:#e2e2db;--ink:#141414;--ink-2:#222220;--muted:#5c5c57;--paper-muted:#b9b9b2;--accent:#ff5a1f;--accent-hover:#ff7340;--font:var(--font-nunito), ui-rounded, system-ui, sans-serif;--mono:ui-monospace,  "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--t-mon:clamp(64px, 11vw, 200px);--t-big:clamp(36px, 5.2vw, 84px);--t-head:clamp(28px, 2.6vw, 40px);--t-lead:clamp(20px, 1.9vw, 29px);--t-small:14px;--m:28px;--gap:20px;--section:clamp(120px, 13vw, 200px);--band:calc(var(--m) + var(--t-mon) * .86 + 28px);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);interpolate-size:allow-keywords;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (max-width:767px){:root{--m:16px;--gap:12px;--t-mon:15vw;--band:calc(var(--m) + var(--t-mon) * .86 + 20px)}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--ink) var(--surface);scroll-padding-top:24px}body{background:var(--ink);color:var(--ink);font-family:var(--font);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;caret-color:var(--accent);margin:0;font-size:17px;line-height:1.55}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}img{max-width:100%;height:auto;display:block}a{color:inherit}button{font:inherit;color:inherit}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:3px solid var(--accent);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:50;background:var(--accent);color:var(--ink);transition:transform .2s var(--ease-out);border-radius:999px;padding:12px 18px;font-weight:800;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip:focus-visible{transform:none}.tabular{font-variant-numeric:tabular-nums}.page{z-index:1;background:var(--bg);position:relative}.dot{background:var(--accent);vertical-align:baseline;border-radius:.045em;width:.15em;height:.15em;margin-left:.05em;display:inline-block}.btn{background:var(--accent);min-height:54px;color:var(--ink);cursor:pointer;transition:transform .16s var(--ease-out), background-color .2s ease;border:0;border-radius:999px;align-items:center;gap:10px;padding:0 26px;font-size:17px;font-weight:800;text-decoration:none;display:inline-flex}.btn-small{min-height:44px;padding:0 20px}.btn:active{transform:scale(.97)}.arrow{transition:transform .2s var(--ease-out)}@media (hover:hover) and (pointer:fine){.btn:hover{background:var(--accent-hover)}.btn:hover .arrow{transform:translate(3px)}}.text-link{text-underline-offset:.28em;align-items:center;min-height:44px;font-weight:800;text-decoration:underline;text-decoration-thickness:2px;transition:text-decoration-color .2s;display:inline-flex}@media (hover:hover) and (pointer:fine){.text-link:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}}.caption{font-size:var(--t-small);color:var(--muted);line-height:1.45}.lead{font-size:var(--t-lead);letter-spacing:-.012em;font-weight:600;line-height:1.28}.section-title,.layer-title{font-size:var(--t-head);letter-spacing:-.025em;font-weight:800;line-height:1.05}.display-mid{font-size:var(--t-big);letter-spacing:-.04em;text-wrap:balance;font-weight:900;line-height:.95}.media{background:var(--surface);position:relative;overflow:hidden}.media img{object-fit:cover;width:100%;height:100%}.hero{--name-ink:var(--ink);position:relative}.hero[data-top=dark] .hero-first,.hero[data-bottom=dark] .hero-second{color:var(--bg)}.hero-pin{z-index:5;pointer-events:none;height:100svh;position:sticky;top:0}.hero-name{font-size:var(--t-mon);letter-spacing:-.055em;color:var(--name-ink);font-weight:900;line-height:.86}.hero-first,.hero-second{white-space:nowrap;transition:color .3s;position:absolute}.hero-first{top:var(--m);left:calc(var(--m) - .03em)}.hero-second{right:var(--m);bottom:calc(var(--m) - .02em)}.hero-name .dot{animation:dot-in .8s .45s var(--ease-out) both}@keyframes dot-in{0%{opacity:0;transform:translateY(-.4em)scale(.6)}}.hero-bar{top:var(--m);right:var(--m);z-index:6;align-items:center;gap:18px;display:flex;position:absolute}.lang{place-items:center;min-width:44px;min-height:44px;font-size:17px;font-weight:800;text-decoration:none;display:inline-grid}@media (hover:hover) and (pointer:fine){.lang:hover{text-underline-offset:.3em;text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}}.panel{min-height:100svh;padding:var(--band) var(--m);display:flex;position:relative}.panel-inner{column-gap:var(--gap);width:100%;min-height:calc(100svh - var(--band) * 2);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.panel-intro{background:var(--bg);margin-top:-100svh}.intro-copy{grid-area:1/3/auto/8;align-self:center}.intro-copy .lead{max-width:30ch}.metaphor{max-width:38ch;margin-top:44px}.intro-actions{flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:32px;display:flex}.intro-nav{flex-direction:column;grid-area:1/8/auto/10;place-self:center end;align-items:flex-end;gap:2px;display:flex}.intro-nav a{text-underline-offset:.3em;align-items:center;min-height:36px;font-size:17px;font-weight:700;text-decoration:none;text-decoration-thickness:2px;display:inline-flex}@media (hover:hover) and (pointer:fine){.intro-nav a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}}.intro-figure{flex-direction:column;grid-area:1/10/auto/13;gap:16px;min-height:0;display:flex}.intro-figure .media-fill{flex:1;min-height:220px}.intro-figure .media img{animation:settle 1.6s var(--ease-out) both}@keyframes settle{0%{transform:scale(1.08)}}.intro-figure figcaption{gap:4px;display:grid}.intro-figure figcaption p:not(.caption){font-weight:600}.panel-back{background:var(--surface)}.back-media{grid-column:1/8}.panel-back .layer-copy{grid-column:9/13;align-self:start}.layer-copy{align-content:start;gap:14px;display:grid}.layer-text{max-width:24ch;font-size:var(--t-lead);letter-spacing:-.012em;font-weight:600;line-height:1.28}.panel-infra{background:var(--ink);color:var(--bg)}.panel-infra .layer-copy{grid-column:1/5;align-self:start}.panel-infra .caption{color:var(--paper-muted)}.infra-media{background:var(--ink-2);grid-column:5/13}.media-fill{height:100%}@supports (animation-timeline:view()){.drift{animation:linear both drift;animation-timeline:view();animation-range:cover}@keyframes drift{0%{transform:scale(1.14)translateY(-3%)}to{transform:scale(1.02)translateY(3%)}}}.about{padding:var(--section) var(--m);column-gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.about-body{grid-column:3/12}.about-portrait{float:left;width:calc(var(--t-lead) * 1.3 * 5);height:calc(var(--t-lead) * 1.3 * 5);object-fit:cover;margin:.35em 28px 8px 0}.about-bio{font-size:var(--t-lead);letter-spacing:-.012em;max-width:52ch;font-weight:600;line-height:1.3}.work{padding:0 var(--m) var(--section)}.work-head{gap:12px;max-width:52ch;margin-bottom:48px;display:grid}.work-note{color:var(--ink)}.work-grid{column-gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.services{grid-column:1/8;gap:36px;display:grid}.services p{max-width:44ch;margin-top:10px}.work-title{font-size:var(--t-big);letter-spacing:-.045em;font-weight:900;line-height:1}.work-side{grid-column:9/13;gap:16px;display:grid;position:sticky;top:12vh}.work-stage{aspect-ratio:4/5;background:var(--surface);position:relative}.layers{--i:0;background:var(--surface);border-radius:999px;grid-template-columns:repeat(3,1fr);padding:4px;display:grid;position:relative}.layers button{z-index:1;cursor:pointer;min-height:44px;transition:color .2s ease, background-color .22s ease, transform .16s var(--ease-out);background:0 0;border:0;border-radius:999px;font-size:17px;font-weight:800;position:relative}.layers button:active{transform:scale(.97)}.layers-ink{z-index:2;background:var(--ink);color:var(--bg);pointer-events:none;clip-path:inset(0 calc((2 - var(--i)) * 33.3333%) 0 calc(var(--i) * 33.3333%) round 999px);transition:clip-path .28s var(--ease-out);border-radius:999px;grid-template-columns:repeat(3,1fr);font-size:17px;font-weight:800;display:grid;position:absolute;inset:4px}.layers-ink span{place-items:center;display:grid}.frame{height:100%;position:relative;overflow:hidden}.frame-layer{opacity:0;filter:blur(4px);transition:opacity .24s ease, transform .3s var(--ease-out), filter .24s ease;position:absolute;inset:0;transform:translateY(10px)}.frame-layer[data-on]{opacity:1;filter:none;transform:none}.frag{height:100%;font-size:14px;line-height:1.4}.frag-ui>*+*{margin-top:16px}.frag-ui:before{content:"";z-index:-1;background:#fff;border:1px solid #deded7;border-radius:14px;position:absolute;inset:28px}.frag-ui{z-index:0;padding:52px;position:relative}.ui-title{letter-spacing:-.01em;font-size:17px;font-weight:900}.ui-rows{gap:4px;display:grid}.ui-rows li{border-bottom:1px solid #ecece6;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:10px 0;display:grid}.ui-rows strong{font-weight:800;display:block}.ui-rows small,.ui-lines small{color:var(--muted);font-size:14px;display:block}.ui-time{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:800}.ui-state{background:#2e8b57;border-radius:50%;width:10px;height:10px}.ui-state[data-state=late]{background:var(--accent)}.ui-state[data-state=done]{background:#a3a39c}.ui-lines{display:grid}.ui-lines li{font-variant-numeric:tabular-nums;border-bottom:1px solid #ecece6;justify-content:space-between;gap:16px;padding:10px 0;display:flex}.ui-lines small[data-state=open]{color:#b33d0f;font-weight:800}.ui-total{font-weight:900;border-bottom:0!important}.ui-btn{background:var(--ink);min-height:40px;color:var(--bg);border-radius:999px;align-items:center;padding:0 18px;font-weight:800;display:inline-flex}.ui-btn-ghost{background:var(--surface);color:var(--ink)}.ui-progress{background:var(--surface);border-radius:999px;height:8px;display:block;overflow:hidden}.ui-progress span{border-radius:inherit;background:var(--accent);width:10%;height:100%;animation:canary 2.4s var(--ease-in-out) infinite alternate;transform-origin:0;display:block}@keyframes canary{to{transform:scaleX(1.6)}}.frag-code{background:var(--ink);color:#ecece8;overflow:auto}.frag-code pre{font-family:var(--mono);white-space:pre;margin:0;padding:28px;font-size:14px;line-height:1.65}.frag-infra{flex-direction:column;justify-content:center;gap:22px;padding:28px;display:flex}.flow{gap:18px;display:grid}.flow li{background:#fff;border:1px solid #d9d9d2;border-radius:10px;padding:12px 16px;font-weight:800;position:relative}.flow li+li:before{content:"";background:var(--ink);width:2px;height:18px;position:absolute;top:-19px;left:24px}.flow li:last-child{background:var(--ink);border-color:var(--ink);color:var(--bg)}.flow-side{flex-wrap:wrap;gap:8px;display:flex}.flow-side li{border:1.5px dashed #a3a39c;border-radius:999px;padding:6px 12px;font-weight:700}.process{column-gap:var(--gap);padding:var(--section) var(--m);background:var(--ink);color:var(--bg);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.process-copy{grid-column:1/6;gap:24px;max-width:30ch;display:grid}.slip{background:var(--bg);width:100%;max-width:480px;color:var(--ink);font-variant-numeric:tabular-nums;grid-column:7/12;padding:32px 32px 44px}.slip-title{font-weight:900}.slip-list li{padding-top:20px}.slip-list h3{font-size:17px;font-weight:900;line-height:1.3}.slip-list p{color:var(--muted)}.slip-result{background:var(--ink);min-height:48px;color:var(--bg);align-items:center;margin:28px -32px 0;padding:10px 32px;font-weight:900;display:flex}.stack{column-gap:var(--gap);padding:var(--section) var(--m);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.stack-aside{grid-column:1/6;gap:40px;display:grid;position:sticky;top:12vh}.stack-aside .lead{max-width:24ch}.stack-aside figure{gap:10px;display:grid}.stack-aside .media{aspect-ratio:2}.stack-aside .media img{filter:grayscale()contrast(1.05)}.stack-col{grid-column:7/13;container-type:inline-size}.stack-word{letter-spacing:-.05em;text-transform:uppercase;white-space:nowrap;margin-bottom:20px;font-size:30.5cqw;font-weight:900;line-height:.8}.bars details{background:var(--surface);margin-bottom:6px}.bars summary{cursor:pointer;min-height:56px;transition:background-color .2s ease, transform .16s var(--ease-out);transform-origin:50%;justify-content:space-between;align-items:center;padding:0 18px;font-weight:800;list-style:none;display:flex}.bars summary:active{transform:scale(.99)}.bars summary::-webkit-details-marker{display:none}@media (hover:hover) and (pointer:fine){.bars summary:hover{background:var(--surface-2)}}.bars summary:focus-visible{outline-offset:-3px}.plus{flex:none;width:16px;height:16px;position:relative}.plus:before,.plus:after{content:"";width:16px;height:2.5px;transition:transform .26s var(--ease-out);background:currentColor;border-radius:2px;position:absolute;top:7px;left:0}.plus:after{transform:rotate(90deg)}details[open] .plus:after{transform:rotate(0)}.bars details:not([open]) ul{display:none}.bars details[open] ul{animation:fold-in .32s var(--ease-out)}@keyframes fold-in{0%{opacity:0;transform:translateY(-6px)}}.bars ul{gap:14px;padding:6px 18px 22px;display:grid}.bars li{justify-content:space-between;gap:16px;display:flex}.freq{color:var(--muted)}.contact-rows li{min-height:150px;padding:0 var(--m) 26px;font-size:var(--t-big);letter-spacing:-.045em;justify-content:space-between;align-items:flex-end;gap:24px;font-weight:900;line-height:1;display:flex}.contact-rows li:nth-child(odd){background:var(--surface)}.contact-rows a{overflow-wrap:anywhere;text-decoration:none}@media (hover:hover) and (pointer:fine){.contact-rows a:not(.hi-link):hover{text-underline-offset:.14em;text-decoration:underline;text-decoration-thickness:.06em;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}}.contact-photo{object-fit:cover;border-radius:50%;flex:none;width:1.15em;height:1.15em}.hi-link{align-items:center;gap:24px;display:inline-flex}.hi-btn{background:var(--accent);width:.9em;height:.9em;color:var(--ink);transition:transform .22s var(--ease-out), background-color .2s ease;border-radius:50%;place-items:center;display:inline-grid}.hi-btn .arrow{width:.42em;height:.42em}.hi-link:active .hi-btn{transform:scale(.94)}@media (hover:hover) and (pointer:fine){.hi-link:hover .hi-btn{background:var(--accent-hover);transform:translate(6px)}}.footer{min-height:100svh;padding:40px var(--m) 20px;background:var(--ink);color:var(--bg);grid-template-rows:auto 1fr auto auto;display:grid}.footer-cols{column-gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));row-gap:32px;font-size:14px;display:grid}.footer-cols>*{grid-column:span 3}.footer-cols h2{margin-bottom:10px;font-size:14px;font-weight:900}.footer-cols li{color:var(--paper-muted);padding:2px 0}.footer-cols a{color:var(--bg);text-decoration:none}@media (hover:hover) and (pointer:fine){.footer-cols a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.25em}}.credits li{font-size:14px}.footer-mark{letter-spacing:-.06em;white-space:nowrap;grid-row:3;align-self:end;margin-left:-.04em;font-size:15.1vw;font-weight:900;line-height:.8}.legal{color:var(--paper-muted);grid-row:4;align-items:center;gap:12px;margin-top:20px;font-size:14px;display:flex}.legal-mark{width:34px;height:auto}.rise{animation:rise .9s var(--ease-out) var(--d,0s) both}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}[data-reveal]{transition:opacity .7s var(--ease-out) var(--d,0s), transform .9s var(--ease-out) var(--d,0s)}.js [data-reveal]:not([data-in]){opacity:0;transform:translateY(28px)}.js [data-reveal-kind=slip]:not([data-in]){transform:translateY(48px)rotate(-2deg)}@media (max-width:1100px){.intro-copy{grid-column:1/8}.intro-nav{display:none}.intro-figure{grid-column:8/13}.about-body{grid-column:2/13}.work-side{grid-column:8/13}.slip{grid-column:6/13}}@media (max-width:767px){.panel{padding:var(--band) var(--m) calc(var(--band) + 8px)}.panel-inner{flex-direction:column;gap:22px;min-height:0;display:flex}.intro-figure{order:-1}.intro-figure .media-fill,.back-media,.infra-media{flex:none;height:46svh}.intro-figure figcaption p{display:none}.intro-copy{max-width:none}.intro-actions{margin-top:22px}.intro-nav{display:none}.panel-infra .panel-inner{flex-direction:column-reverse;justify-content:flex-end}.layer-copy{max-width:none}.about{display:block}.about-portrait{width:38vw;height:38vw;margin-right:16px}.work-grid{flex-direction:column;gap:56px;display:flex}.work-side{position:static}.frag-ui{padding:40px}.frag-ui:before{inset:20px}.process,.stack{flex-direction:column;gap:48px;display:flex}.slip{max-width:none;padding:26px 22px 40px}.slip-result{margin-inline:-22px;padding-inline:22px}.stack-aside{gap:28px;position:static}.stack-col{order:-1;width:100%}.contact-hi :focus-visible{outline-color:var(--ink)}.contact-rows li{min-height:92px;padding-bottom:18px;font-size:28px}.contact-rows li.contact-hi{background:var(--accent);font-size:var(--t-big)}.contact-hi .hi-link{justify-content:space-between;width:100%}.contact-hi .hi-btn{background:var(--ink);width:56px;height:56px;color:var(--bg)}.contact-hi .hi-btn .arrow{width:22px;height:22px}.footer{grid-template-rows:auto minmax(20svh,1fr) auto auto}.footer-cols>*{grid-column:span 6}.footer-mark{white-space:normal;font-size:27vw}.fm-line{display:block}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{transition:opacity .3s ease var(--d,0s)}.js [data-reveal]:not([data-in]),.js [data-reveal-kind=slip]:not([data-in]){transform:none}.drift,.rise,.intro-figure .media img,.hero-name .dot,.ui-progress span{animation:none}.frame-layer{filter:none;transition-property:opacity;transform:none}.bars details[open] ul{animation:none}.hi-link:hover .hi-btn,.bars summary:active{transform:none}}
