@font-face{font-family:Science Gothic;font-style:normal;font-weight:100 900;font-stretch:50% 200%;font-display:swap;src:url(../media/ddfbecdba2e3f7ac.0h4hirlsp.zov.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:Science Gothic;font-style:normal;font-weight:100 900;font-stretch:50% 200%;font-display:swap;src:url(../media/6c471a06e610647f.022rg9.rvz75g.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Science Gothic;font-style:normal;font-weight:100 900;font-stretch:50% 200%;font-display:swap;src:url(../media/3f71e0ea42377adf.0~etnl86uaacy.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:Science Gothic;font-style:normal;font-weight:100 900;font-stretch:50% 200%;font-display:swap;src:url(../media/bb3fdd84337e9d78.07bxmubdizfl2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Science Gothic;font-style:normal;font-weight:100 900;font-stretch:50% 200%;font-display:swap;src:url(../media/79f912dd4696ed62.p.01z4np9uyxhqv.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}.science_gothic_c56b5bc3-module__0oR7Za__className{font-family:Science Gothic;font-style:normal}.science_gothic_c56b5bc3-module__0oR7Za__variable{--font-display:"Science Gothic"}
@font-face{font-family:B612;font-style:normal;font-weight:400;font-display:swap;src:url(../media/056f32eb5292b13f-s.p.0y4_~o66xov5-.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:B612;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c79d47b624486f92-s.p.12ilqa-jmcphj.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:B612 Fallback;src:local(Arial);ascent-override:88.07%;descent-override:22.81%;line-gap-override:0.0%;size-adjust:109.58%}.b612_27e1f1b8-module__xt5i-q__className{font-family:B612,B612 Fallback;font-style:normal}.b612_27e1f1b8-module__xt5i-q__variable{--font-sans:"B612", "B612 Fallback"}
@font-face{font-family:B612 Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c302982fe04302f9-s.0rwfxknmmibax.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:B612 Mono Fallback;src:local(Arial);ascent-override:66.18%;descent-override:17.15%;line-gap-override:0.0%;size-adjust:145.81%}.b612_mono_f5a6eee9-module__BV1Wfq__className{font-family:B612 Mono,B612 Mono Fallback;font-style:normal;font-weight:400}.b612_mono_f5a6eee9-module__BV1Wfq__variable{--font-mono:"B612 Mono", "B612 Mono Fallback"}
:root{--space:#000;--ink:#e9eaec;--ink-2:#e9eaecad;--ink-3:#e9eaec8a;--ink-4:#e9eaec6b;--rule:#e9eaec1f;--gold:#ffc890;--ease-out:cubic-bezier(.16, 1, .3, 1);--display:var(--font-display), var(--font-sans), ui-sans-serif, system-ui, sans-serif;--display-wdth:"wdth" 85;--sans:var(--font-sans), ui-sans-serif, system-ui, sans-serif;--mono:var(--font-mono), ui-monospace, "SFMono-Regular", monospace;--gutter:clamp(20px, 4.2vw, 72px);--section:clamp(96px, 14vw, 200px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--space);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}body{font-size:1rem;line-height:1.6}a{color:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:2px}code{font-family:var(--mono);font-size:.9em}.skip{left:var(--gutter);z-index:20;background:var(--ink);color:var(--space);padding:8px 12px;text-decoration:none;position:absolute;top:12px;transform:translateY(-200%)}.skip:focus-visible{transform:none}.scroll-track{height:240svh;position:relative}.scroll-track>.hero{position:sticky;top:0}.hero{isolation:isolate;background:var(--space);height:100svh;min-height:560px;position:relative;overflow:hidden}.hero>canvas,.scene>canvas{z-index:-1;touch-action:pan-y;width:100%;height:100%;display:block;position:absolute;inset:0}.hero-overlay,.scene-overlay{pointer-events:none;position:absolute;inset:0}.hero-overlay a,.scene-overlay a{pointer-events:auto}.hero[data-scene=fallback],.scene[data-scene=fallback]{background:radial-gradient(120% 90% at 66% 40%,#0d0f14,#000 68%)}.frame-nav{top:calc(var(--gutter) * .6);right:var(--gutter);letter-spacing:0;gap:clamp(18px,2.2vw,36px);font-size:14px;display:flex;position:absolute}.frame-nav a,.frame-links a{text-decoration:none;transition:color .2s}.frame-nav a{color:var(--ink-2)}.frame-hero{left:var(--gutter);bottom:calc(var(--gutter) * 1.05);max-width:min(46rem,60vw);position:absolute}.frame-name{font-family:var(--display);font-variation-settings:var(--display-wdth);letter-spacing:-.01em;margin:0 0 0 -.0475em;font-size:clamp(3.1rem,7.4vw,8.75rem);font-weight:400;line-height:.9}.frame-line{max-width:34ch;color:var(--ink-2);text-wrap:pretty;margin:clamp(16px,1.8vw,28px) 0 0;font-size:clamp(1.02rem,1.3vw,1.3rem);line-height:1.45}.frame-links{gap:28px;margin-top:clamp(20px,2.2vw,34px);font-size:15px;display:flex}.frame-links a{color:var(--ink);text-underline-offset:5px}.frame-links a:first-child{text-decoration:underline;-webkit-text-decoration-color:var(--ink-4);text-decoration-color:var(--ink-4);text-decoration-thickness:1px}.frame-instrument{right:var(--gutter);bottom:calc(var(--gutter) * 1.05);font-family:var(--mono);color:var(--ink-4);font-variant-numeric:tabular-nums;pointer-events:none;font-size:12px;position:absolute}.frame-instrument canvas{margin-left:auto;display:block}.frame-instrument span{white-space:nowrap;margin-top:6px;display:block}.frame-hero>*{animation:frame-rise .9s var(--ease-out) both;animation-delay:calc(.12s + var(--i,0) * 70ms)}.frame-nav{animation:frame-fade .9s var(--ease-out) .32s both}@keyframes frame-rise{0%{opacity:0;transform:translateY(14px)}}@keyframes frame-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.frame-hero>*{animation-name:frame-fade}.scroll-track{height:auto}.scroll-track>.hero{position:relative}}@media (max-width:400px){.frame-name{font-size:clamp(2.5rem,12.7vw,3.1rem)}}@media (max-width:720px){.frame-nav{left:var(--gutter);gap:20px;right:auto}.frame-hero{max-width:none;right:var(--gutter)}.frame-instrument{display:none}}.section{padding:var(--section) var(--gutter) 0;max-width:88rem;margin:0 auto;position:relative}.section-title{font-family:var(--display);font-variation-settings:var(--display-wdth);letter-spacing:0;margin:0;font-size:clamp(1.5rem,2.5vw,2.25rem);font-weight:400;line-height:1.05}.section-lede{max-width:44ch;color:var(--ink-2);text-wrap:pretty;margin:20px 0 0}.work-list{gap:clamp(64px,8vw,128px);margin:clamp(48px,7vw,112px) 0 0;padding:0;list-style:none;display:grid}.work-item{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;column-gap:clamp(24px,4vw,72px);display:grid;position:relative}.work-figure{margin:0}.work-value{letter-spacing:-.025em;font-variant-numeric:lining-nums proportional-nums;white-space:nowrap;font-size:clamp(3.25rem,6.2vw,6rem);font-weight:700;line-height:.95;display:block}.work-label{max-width:28ch;color:var(--ink-3);margin-top:14px;font-size:.9rem;line-height:1.5;display:block}.work-title{letter-spacing:0;margin:0;font-size:clamp(1.25rem,1.7vw,1.5rem);font-weight:400;line-height:1.2}.work-title a{text-underline-offset:6px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px;transition:text-decoration-color .2s}.work-title a:after{content:"";position:absolute;inset:-16px}.work-line{max-width:46ch;color:var(--ink-2);text-wrap:pretty;margin:12px 0 0}.work-meta{color:var(--ink-3);flex-wrap:wrap;gap:4px 20px;margin:18px 0 0;font-size:.875rem;display:flex}@media (hover:hover) and (pointer:fine){.frame-nav a:hover{color:var(--ink)}.work-item:hover .work-title a{-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}}@media (max-width:760px){.work-item{grid-template-columns:1fr;row-gap:20px}}.now-list{max-width:60rem;margin:clamp(40px,5vw,72px) 0 0;padding:0;list-style:none}.now-item{border-top:1px solid var(--rule);grid-template-columns:11rem minmax(0,1fr);gap:8px 32px;padding:22px 0;display:grid}.now-item time{color:var(--ink-3);font-variant-numeric:tabular-nums}.now-item p{text-wrap:pretty;max-width:56ch;margin:0}@media (max-width:640px){.now-item{grid-template-columns:1fr}}.notes-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:clamp(36px,4vw,64px) clamp(28px,4vw,72px);margin:clamp(40px,5vw,72px) 0 0;padding:0;list-style:none;display:grid}.notes-list h3{letter-spacing:0;text-wrap:balance;margin:0;font-size:1.125rem;font-weight:700;line-height:1.35}.notes-list p{color:var(--ink-2);text-wrap:pretty;margin:10px 0 0}.about-body{letter-spacing:0;max-width:40ch;margin:clamp(32px,4vw,56px) 0 0;font-size:clamp(1.125rem,1.5vw,1.35rem);line-height:1.55}.about-body p{text-wrap:pretty;margin:0 0 .9em}.about-body a{text-underline-offset:5px;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--ink-4);text-decoration-color:var(--ink-4)}.scene{isolation:isolate;background:var(--space);position:relative;overflow:hidden}.site-footer{margin-top:var(--section);height:max(640px,100svh)}.footer-content{left:var(--gutter);right:var(--gutter);bottom:calc(var(--gutter) * 1.05);gap:28px;display:grid;position:absolute}.footer-title{font-family:var(--display);font-variation-settings:var(--display-wdth);letter-spacing:-.01em;margin:0;font-size:clamp(2.4rem,5.6vw,5.5rem);font-weight:400;line-height:.95}.footer-title a{text-decoration:none}.footer-mail{color:var(--ink-2);text-underline-offset:5px;font-size:clamp(1.02rem,1.3vw,1.2rem);text-decoration-thickness:1px}.footer-links{flex-wrap:wrap;gap:12px 28px;font-size:15px;display:flex}.footer-links a{color:var(--ink-2);text-decoration:none;transition:color .2s}.colophon{max-width:72ch;color:var(--ink-3);margin:0;font-size:.8125rem;line-height:1.5}@media (hover:hover) and (pointer:fine){.footer-links a:hover{color:var(--ink)}}.void{height:100svh;min-height:560px}.page-top{padding:calc(var(--gutter) * .6) var(--gutter) 0;justify-content:space-between;align-items:baseline;gap:24px;font-size:14px;display:flex}.page-top a{color:var(--ink-2);text-decoration:none}.page-top nav{gap:clamp(18px,2.2vw,36px);display:flex}.page{max-width:88rem;padding:clamp(72px, 10vw, 144px) var(--gutter) var(--section);margin:0 auto}.page-title{font-family:var(--display);font-variation-settings:var(--display-wdth);letter-spacing:-.01em;text-wrap:balance;max-width:18ch;margin:0;font-size:clamp(2.1rem,4.4vw,4rem);font-weight:400;line-height:1}.index-list{margin:clamp(48px,6vw,96px) 0 0;padding:0;list-style:none}.index-item{border-top:1px solid var(--rule);grid-template-columns:minmax(0,4fr) minmax(0,6fr) minmax(0,3fr);gap:8px 32px;padding:24px 0;display:grid;position:relative}.index-item h2{margin:0;font-size:1.0625rem;font-weight:700;line-height:1.4}.index-item h2 a{text-decoration:none}.index-item h2 a:after{content:"";position:absolute;inset:0}.index-item p{color:var(--ink-2);margin:0}.index-item .index-status{color:var(--ink-3);font-size:.9375rem}@media (hover:hover) and (pointer:fine){.index-item:hover h2 a{text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:5px}}@media (max-width:760px){.index-item{grid-template-columns:1fr}}.case-figure{margin:clamp(48px,6vw,88px) 0 0}.case-figure .work-value{font-size:clamp(3.5rem,10vw,9rem)}.case-figure .work-label{max-width:40ch;font-size:1rem}.case-meta{color:var(--ink-3);flex-wrap:wrap;gap:4px 24px;margin:28px 0 0;display:flex}.case-body{max-width:62ch;margin:clamp(48px,6vw,88px) 0 0;font-size:1.0625rem;line-height:1.65}.case-body p{text-wrap:pretty;margin:0 0 1.1em}.case-links{gap:10px;margin:40px 0 0;padding:0;list-style:none;display:grid}.case-links a{text-underline-offset:5px;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--ink-4);text-decoration-color:var(--ink-4)}
