@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-cyrillic-ext-wght-normal.1dtltwig2y3wh.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-cyrillic-wght-normal.1hmx3sz6swr8m.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-greek-wght-normal.37b2k1x9f-55d.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-vietnamese-wght-normal.3xvzy9_grgcx4.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-latin-ext-wght-normal.0-hru0xfwhnbp.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-latin-wght-normal.1p_a2k8qd5zhp.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(../media/space-grotesk-vietnamese-wght-normal.0da2o5sn3utep.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(../media/space-grotesk-latin-ext-wght-normal.0ww4yqxbk72bj.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(../media/space-grotesk-latin-wght-normal.092gko6h6levo.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{--bg:#050a10;--text:#d8e5ef;--muted:#8b9ead;--quiet:#657b8d;--accent:#b7d8f2;--line:#97b5cd2b;--display:"Space Grotesk Variable", sans-serif;--body:"Manrope Variable", sans-serif;--ease:cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{color:var(--text);font-family:var(--body);font-size:max(var(--reading-min,0px), calc(14px * var(--reading-scale,1)));-webkit-font-smoothing:antialiased;margin:0;line-height:1.75}::selection{color:#fff;background:#48677e}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}button{background:0 0;border:0;border-radius:0}a:focus-visible,button:focus-visible,input:focus-visible{outline:1px solid var(--accent);outline-offset:7px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}svg{display:block}button svg{width:19px;height:19px}i{font-style:normal}a,button{touch-action:manipulation}.micro{font-size:max(var(--reading-min,0px), calc(9px * var(--reading-scale,1)));letter-spacing:.22em;text-transform:uppercase;font-weight:500;line-height:1.8}.eyebrow{color:var(--muted);margin-bottom:28px}.text-link{font-size:max(var(--reading-min,0px), calc(9px * var(--reading-scale,1)));letter-spacing:.19em;text-transform:uppercase;align-items:center;gap:19px;min-height:40px;font-weight:650;line-height:24px;display:inline-flex}.link-line{background:var(--text);width:27px;height:1px;transition:width .3s var(--ease), transform .3s var(--ease);opacity:.8}.text-link:hover .link-line{width:44px}.text-link:hover{color:#fff}.skip-link{z-index:100;background:var(--text);color:var(--bg);padding:10px 20px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}.site-shell{isolation:isolate;min-height:100svh}.world{z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 65% 36%, #0b1420 0%, var(--bg) 60%, #04080d 100%);position:fixed;inset:0;overflow:hidden}.portrait-scene{position:absolute;inset:0}.portrait-scene canvas{display:block}.static-points{width:100%;height:100%;position:absolute;inset:0}.mobile-portrait{aspect-ratio:3/4;mix-blend-mode:screen;opacity:.78;height:87svh;transition:left .8s var(--ease), opacity .8s var(--ease), transform .8s var(--ease);position:absolute;top:33svh;left:58%;transform:translate(-50%,-50%)}.mobile-portrait img{object-fit:contain}.portrait-scene[data-scene=menu] .mobile-portrait{opacity:.42;left:35%;transform:translate(-50%,-50%)scale(.95)}.portrait-scene[data-scene=work] .mobile-portrait,.portrait-scene[data-scene=project] .mobile-portrait,.portrait-scene[data-scene=lab] .mobile-portrait{opacity:.075}.portrait-scene[data-scene=about] .mobile-portrait,.portrait-scene[data-scene=contact] .mobile-portrait{opacity:.24}.world-vignette{background:linear-gradient(#03070c1a,#0000 25% 70%,#03070c61);position:absolute;inset:0;box-shadow:inset 0 0 120px 40px #03070c1f}.site-header{z-index:30;justify-content:space-between;align-items:center;height:100px;padding:33px 6.9%;display:flex;position:absolute;inset:0 0 auto}.brand-group{align-items:center;gap:32px;display:flex}.wordmark{font-family:var(--display);letter-spacing:.055em;font-size:25px;font-weight:400;line-height:1}.brand-divider{background:#c6d7e866;width:1px;height:23px}.brand-tagline{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));letter-spacing:.22em;color:var(--muted);word-spacing:.4em;font-weight:500}.brand-tagline i{color:#9eacb9;margin:0 7px}.header-right{align-items:center;gap:45px;display:flex}.desktop-nav{gap:31px;display:flex}.desktop-nav a{font-size:max(var(--reading-min,0px), calc(9px * var(--reading-scale,1)));letter-spacing:.17em;text-transform:uppercase;padding:12px 0;font-weight:550;transition:color .2s;position:relative}.desktop-nav a:after{content:"";background:var(--accent);width:0;height:1px;transition:width .25s;position:absolute;bottom:5px;left:0}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{width:100%}.menu-toggle{border:1px solid #9cabb5;border-radius:50%;place-items:center;width:32px;height:32px;transition:border-color .25s,transform .4s;display:grid;position:relative}.menu-toggle:before{content:"";position:absolute;inset:-8px}.menu-toggle>span:first-child{background:#e1ecf5;border-radius:50%;width:7px;height:7px;transition:all .3s}.menu-toggle>span:last-child{background:#e1ecf5;width:0;height:1px;transition:all .3s;position:absolute}.menu-toggle:hover{border-color:#e5f2ff;transform:rotate(90deg)}.menu-toggle.is-open>span:first-child{border-radius:0;width:12px;height:1px;transform:rotate(45deg)}.menu-toggle.is-open>span:last-child{width:12px;transform:rotate(-45deg)}.coordinate-nav{z-index:20;flex-direction:column;gap:10px;display:flex;position:fixed;top:31%;left:2.85%}.coordinate-nav>a{width:28px;font-size:max(var(--reading-min,0px), calc(9px * var(--reading-scale,1)));color:var(--muted);flex-direction:column;align-items:flex-start;gap:9px;display:flex;position:relative}.coordinate-number{letter-spacing:.12em;transition:color .25s}.coordinate-track{background:linear-gradient(var(--quiet), #6882970f);opacity:.42;width:1px;height:39px;margin-left:5px;position:relative}.coordinate-track:before{content:"";background:#a1b6c7;border-radius:50%;width:3px;height:3px;position:absolute;top:0;left:-1px}.coordinate-nav a[aria-current]{color:#f0f7fc}.coordinate-nav a[aria-current] .coordinate-track{opacity:1;height:52px}.coordinate-nav a[aria-current] .coordinate-track:before{background:#e2f1fe;width:5px;height:5px;left:-2px;box-shadow:0 0 9px #b7d8f233}.coordinate-label{letter-spacing:.15em;font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));text-transform:uppercase;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;position:absolute;top:0;left:27px;transform:translate(-3px)}.coordinate-nav a:hover .coordinate-label,.coordinate-nav a:focus-visible .coordinate-label{opacity:1;transform:none}.route-container{transition:opacity .3s var(--ease), filter .3s}.route-container.is-obscured{opacity:0;pointer-events:none}.route-stage{animation:route-in .75s var(--ease) both;outline:none}.home-page{height:100svh;min-height:780px;position:relative}.home-intro{gap:40px;display:flex;position:absolute;top:25.8%;left:8.15%}.intro-rule{flex-direction:column;align-items:center;gap:10px;display:flex;transform:translateY(-47px)}.intro-rule>span{font-size:max(var(--reading-min,0px), calc(10px * var(--reading-scale,1)));letter-spacing:.08em}.intro-rule>i{background:linear-gradient(#c0d3e3 0%,#5a738b 45%,#0000 100%);width:1px;height:287px;position:relative}.intro-rule>i:before{content:"";background:#e2eaf3;border-radius:50%;width:3px;height:3px;position:absolute;top:0;left:-1px}.home-intro h1{letter-spacing:.29em;font-size:clamp(25px,2.15vw,36px);font-weight:300;line-height:1.55}.home-description{color:#92a7b9;font-size:max(var(--reading-min,0px), calc(13px * var(--reading-scale,1)));letter-spacing:.01em;margin-top:21px;line-height:1.9}.home-description strong{color:var(--text);font-weight:500}.explore-link{margin-top:25px}.reveal-prompt{color:#b1c9dc;pointer-events:none;align-items:center;gap:17px;width:fit-content;margin-top:40px;display:flex}.reveal-prompt>.micro{font-size:max(var(--reading-min,0px), calc(9px * var(--reading-scale,1)));letter-spacing:.22em;line-height:2.1}.reveal-orbit{border:1px solid #acbccc;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:relative}.reveal-orbit:after{content:"";transform-origin:0 0;filter:blur(5px);clip-path:polygon(0 50%,100% 0,100% 100%);background:linear-gradient(90deg,#9ccdfa2b,#0000);width:60px;height:28px;position:absolute;top:19px;left:19px;transform:rotate(28deg)}.reveal-orbit i{background:#e7f1ff;border-radius:50%;width:6px;height:6px;box-shadow:0 0 15px #a8d5ff50}.home-aside{flex-direction:column;align-items:flex-end;gap:23px;display:flex;position:absolute;top:65%;right:6.85%}.aside-rule{background:linear-gradient(#0000,#a9b9c9);width:1px;height:72px}.home-aside p{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));letter-spacing:.28em;color:#9cadbe;line-height:2.1}.home-capabilities{position:absolute;bottom:9.2%;left:6.9%;right:6.9%}.capabilities-heading{justify-content:space-between;align-items:center;margin-bottom:29px;display:flex}.capabilities-heading h2{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));letter-spacing:.28em;color:#b2c4d5;font-weight:500}.capabilities-grid{grid-template-columns:repeat(4,minmax(0,1fr)) .7fr;align-items:start;gap:28px;display:grid}.capability-link{align-items:flex-start;gap:24px;max-width:245px;padding:8px 0;transition:color .2s;display:flex;position:relative}.capability-link>div{min-width:0}.capability-coordinate{font-size:max(var(--reading-min,0px), calc(9px * var(--reading-scale,1)));letter-spacing:.07em;flex-direction:column;gap:6px;padding-top:2px;display:flex}.capability-coordinate i{background:linear-gradient(#93a9be,#0000);width:1px;height:15px;margin-left:5px;position:relative}.capability-coordinate i:before{content:"";background:#c3d5e7;border-radius:50%;width:2.5px;height:2.5px;position:absolute;top:0;left:-.7px}.capability-link h3{text-transform:uppercase;font-size:max(var(--reading-min,0px), calc(9px * var(--reading-scale,1)));letter-spacing:.15em;margin-bottom:5px;font-weight:650;line-height:1.65}.capability-link p{font-size:max(var(--reading-min,0px), calc(11px * var(--reading-scale,1)));color:#8d9fb1;line-height:1.65}.capability-arrow{opacity:0;transition:opacity .2s,transform .2s;position:absolute;top:5px;right:0;transform:translate(-5px,5px)}.capability-link:hover .capability-arrow,.capability-link:focus-visible .capability-arrow{opacity:1;transform:none}.capability-link:hover h3{color:#fff}.capability-link:hover p{color:#b7cadd}.capabilities-more{white-space:nowrap;font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));place-self:center end;gap:13px}.home-status{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)));letter-spacing:.16em;color:#677e91;align-items:center;gap:9px;display:flex;position:absolute;bottom:24px;left:6.9%;right:6.9%}.signature-dock{right:6.9%;bottom:max(22px, env(safe-area-inset-bottom));z-index:31;pointer-events:none;isolation:isolate;width:132px;position:fixed}.signature-dock:before{content:"";z-index:-1;background:radial-gradient(#050a10e6 25%,#050a1080 55%,#0000 75%);position:absolute;inset:-16px -24px}.signature{opacity:.64;mix-blend-mode:screen;flex-shrink:0;width:100%;display:block}.signature img{filter:sepia()hue-rotate(165deg)saturate(.55);width:100%;height:auto;display:block}.status-dot{background:#9ab8cb;border-radius:50%;flex-shrink:0;width:4px;height:4px;display:inline-block;box-shadow:0 0 8px #a2c5de22}.navigation-panel{z-index:25;animation:menu-in .5s var(--ease) both;flex-direction:column;justify-content:center;padding:15vh 14% 7vh 54%;display:flex;position:fixed;inset:0}.navigation-panel nav{flex-direction:column;display:flex}.menu-close{z-index:35;position:absolute;top:34px;right:6.9%}.navigation-panel nav a{min-height:85px;font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:24px;font-size:23px;transition:color .3s,padding .3s;display:flex}.navigation-panel nav a>i{background:var(--line);flex:1;height:1px;transition:background .3s}.navigation-panel nav .menu-number{font-family:var(--body);font-size:max(var(--reading-min,0px), calc(9px * var(--reading-scale,1)));letter-spacing:.12em;color:var(--muted)}.navigation-panel nav a svg{opacity:0;width:15px;height:15px;transition:opacity .2s}.navigation-panel nav a:hover{color:#fff;padding-left:10px}.navigation-panel nav a:hover svg{opacity:1}.navigation-panel nav a:hover>i{background:#aacce766}.menu-caption{color:var(--muted);line-height:2.2;position:absolute;bottom:15%;left:8%}.menu-bottom{color:var(--quiet);justify-content:space-between;padding-right:172px;display:flex;position:absolute;bottom:6%;left:7%;right:7%}.menu-bottom .micro{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)))}.content-page{width:calc(100% - 240px);max-width:1320px;margin:0 auto;padding-top:174px}.page-heading{justify-content:space-between;align-items:flex-end;margin-bottom:73px;display:flex}.page-heading h1,.about-intro>h1{letter-spacing:.25em;font-size:41px;font-weight:300;line-height:1.25}.page-heading>p{font-size:max(var(--reading-min,0px), calc(13px * var(--reading-scale,1)));color:#bacbd9;padding-bottom:1px;line-height:1.85}.page-heading>p>span{color:var(--muted)}.page-heading>.micro{color:var(--muted);margin-bottom:5px}.artwork{object-fit:cover;width:100%;height:100%;transition:transform .75s var(--ease), filter .6s;overflow:visible}.art-caption{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)));letter-spacing:.2em;color:var(--muted);position:absolute;bottom:20px;left:23px}.placeholder-note{font-size:max(var(--reading-min,0px), calc(11px * var(--reading-scale,1)));color:var(--quiet);line-height:1.85}.site-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;min-height:140px;margin-top:116px;padding:48px 172px 39px 0;display:flex}.site-footer>div>.micro{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));color:var(--muted)}.footer-invitation{letter-spacing:-.015em;align-items:center;gap:30px;margin-top:13px;font-size:25px;font-weight:350;display:flex}.footer-invitation svg{width:23px;height:23px;transition:transform .25s}.footer-invitation:hover svg{transform:translate(4px,-4px)}.footer-meta{color:var(--quiet);font-size:max(var(--reading-min,0px), calc(9px * var(--reading-scale,1)));flex-direction:column;align-items:flex-end;gap:3px;display:flex}.back-link{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));color:var(--muted);gap:12px}.back-link>span{font-size:max(var(--reading-min,0px), calc(18px * var(--reading-scale,1)));letter-spacing:0}.project-page{padding-top:145px}.project-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin:51px 0 48px;display:flex}.project-heading .eyebrow{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));margin-bottom:17px}.project-heading h1{font-family:var(--display);letter-spacing:-.04em;font-size:clamp(55px,6.5vw,105px);font-weight:350;line-height:1.1}.project-tagline{color:#a4b8c9;margin-top:22px;font-size:22px;font-weight:350;line-height:1.55}.project-discipline{color:var(--muted);font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));margin-bottom:5px}.project-hero-art{aspect-ratio:1.9;border:1px solid var(--line);position:relative;overflow:hidden}.project-hero-art .artwork{width:100%;height:100%}.project-overview{grid-template-columns:1fr 1fr;gap:110px;margin-top:82px;display:grid}.project-overview .micro{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));color:var(--muted)}.project-overview h2{margin-top:24px;font-size:26px;font-weight:350;line-height:1.55}.project-overview>div>p:first-child{font-size:max(var(--reading-min,0px), calc(15px * var(--reading-scale,1)));color:#a1b3c3;padding-top:39px;line-height:1.95}.project-overview .placeholder-note{margin-top:25px}.project-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1.2fr 1.2fr 1fr;gap:35px;margin-top:58px;padding:30px 0;display:grid}.project-facts .micro{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));color:var(--quiet)}.project-facts p{font-size:max(var(--reading-min,0px), calc(11px * var(--reading-scale,1)));color:#b0c1d1;margin-top:8px}.project-approach{grid-template-columns:1fr 1fr;gap:110px;margin:94px 0;display:grid}.project-approach>.micro{color:var(--muted);font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));padding-top:9px}.project-approach h2{font-size:34px;font-weight:350;line-height:1.4}.project-approach p{font-size:max(var(--reading-min,0px), calc(14px * var(--reading-scale,1)));color:var(--muted);margin-top:24px;line-height:1.95}.next-project{border-top:1px solid var(--line);padding-top:34px;display:block}.next-project>.micro{color:var(--muted);font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)))}.next-project>div{justify-content:space-between;align-items:center;margin-top:20px;display:flex}.next-project h2{font-family:var(--display);letter-spacing:-.025em;font-size:52px;font-weight:350}.next-project svg{width:43px;height:43px;transition:transform .3s}.next-project:hover svg{transform:translate(6px,-6px)}.project-page .site-footer{margin-top:70px}.about-page{padding-top:168px}.about-intro{max-width:550px;min-height:calc(100svh - 168px)}.about-intro>.eyebrow{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)))}.about-intro>h1{margin-bottom:40px;font-size:27px}.about-intro>h2{letter-spacing:-.025em;font-size:41px;font-weight:350;line-height:1.45}.about-intro>h2 span{color:#91a8bc}.about-description{max-width:390px;color:var(--muted);font-size:max(var(--reading-min,0px), calc(13px * var(--reading-scale,1)));margin-top:31px;line-height:1.95}.about-description p+p{margin-top:17px}.about-intro>.text-link{margin-top:26px}.about-capabilities{margin-top:54px;padding-top:37px;scroll-margin-top:50px}.about-reading{isolation:isolate;position:relative}.about-reading:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0000,#050a10f2 160px);width:100vw;position:absolute;top:-110px;bottom:0;left:50%;transform:translate(-50%)}.capability-detail{border-bottom:1px solid var(--line);grid-template-columns:.85fr 1.15fr;gap:60px;padding:40px 0;scroll-margin-top:60px;display:grid}.capability-detail h3{font-family:var(--display);letter-spacing:-.025em;font-size:26px;font-weight:350}.capability-detail .micro{color:var(--quiet);font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)));letter-spacing:.13em;margin-top:12px;line-height:1.9}.capability-detail>p{color:var(--muted);font-size:max(var(--reading-min,0px), calc(13px * var(--reading-scale,1)));max-width:530px;line-height:1.95}.about-approach{grid-template-columns:.85fr 1.15fr;gap:60px;padding-top:82px;display:grid}.about-approach>.micro{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));color:var(--quiet);padding-top:9px}.about-approach h2{font-family:var(--display);letter-spacing:-.025em;margin-bottom:24px;font-size:32px;font-weight:350}.about-approach>div>p{font-size:max(var(--reading-min,0px), calc(13px * var(--reading-scale,1)));color:var(--muted);max-width:530px;line-height:1.95}.about-approach p+p{margin-top:18px}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding-bottom:27px;display:flex}.section-heading>.micro{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));color:var(--muted);font-weight:500}.section-heading>.micro:last-child{color:var(--quiet)}.contact-page{flex-direction:column;min-height:100svh;padding-top:200px;display:flex}.contact-intro{max-width:560px}.contact-intro>.eyebrow{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));margin-bottom:34px}.contact-intro>h1{letter-spacing:.12em;font-size:clamp(36px,3.5vw,61px);font-weight:300;line-height:1.4}.contact-intro>h1>span{color:#8da7bd}.contact-description{font-size:max(var(--reading-min,0px), calc(14px * var(--reading-scale,1)));color:#91a6b9;margin-top:31px;line-height:1.95}.contact-description>span{color:#bdcddc;margin-top:13px;display:inline-block}.contact-details{max-width:450px;margin-top:54px}.contact-details>.micro{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));color:var(--quiet)}.contact-link{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:22px 0;transition:border-color .25s,color .25s;display:flex}.contact-link:hover{color:var(--accent);border-color:#8aa8bf80}.contact-brand{color:#b7ccdc;flex-shrink:0;width:29px;height:29px}.contact-link-copy{flex-direction:column;gap:6px;min-width:0;display:flex}.contact-link-copy>span:first-child{font-family:var(--display);letter-spacing:-.02em;font-size:25px}.contact-link-copy>span:last-child{font-size:max(var(--reading-min,0px), calc(10px * var(--reading-scale,1)));color:var(--muted);overflow-wrap:anywhere}.contact-link-arrow{flex-shrink:0;width:18px;height:18px;margin-left:auto;transition:transform .25s}.contact-link:hover .contact-link-arrow{transform:translate(3px,-3px)}.contact-bottom{justify-content:space-between;align-items:center;gap:20px;margin-top:auto;padding:68px 172px 38px 0;display:flex}.contact-bottom>.micro{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));color:var(--quiet)}.lab-page .page-heading h1{letter-spacing:.19em;font-size:34px}.experiment{border:1px solid var(--line);background:#071019}.experiment-stage{height:510px;position:relative;overflow:hidden}.experiment-stage>svg{width:100%;height:100%}.experiment-constellation{transform-origin:500px 300px;animation:80s linear infinite paused constellation-turn}.is-playing .experiment-constellation{animation-play-state:running}.experiment-label{color:var(--muted);font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)));justify-content:space-between;display:flex;position:absolute;inset:auto 25px 21px}.experiment-controls{border-top:1px solid var(--line);align-items:center;gap:38px;padding:26px 28px;display:flex}.experiment-controls>label{flex-direction:column;flex:1;gap:11px;display:flex}.experiment-controls label>.micro{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));color:var(--muted);justify-content:space-between;display:flex}.experiment-controls input{appearance:none;cursor:pointer;width:100%;height:2px;accent-color:var(--accent);background:#324554;margin:0}.experiment-controls input::-webkit-slider-thumb{appearance:none;background:#cadfed;border-radius:50%;width:8px;height:8px}.experiment-controls input::-moz-range-thumb{background:#cadfed;border:0;border-radius:50%;width:8px;height:8px}.experiment-controls button{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));gap:14px}.experiment-controls button>span{font-size:max(var(--reading-min,0px), calc(16px * var(--reading-scale,1)))}.lab-description{grid-template-columns:1fr 1fr;gap:30px;margin-top:33px;display:grid}.lab-description>.micro{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));color:var(--muted)}.lab-description>p{font-size:max(var(--reading-min,0px), calc(13px * var(--reading-scale,1)));color:var(--muted);max-width:500px;line-height:1.9}.not-found{min-height:100svh;padding-top:28vh}.not-found>h1{letter-spacing:-.03em;font-size:72px;font-weight:350;line-height:1.2}.not-found>p:not(.eyebrow){font-size:max(var(--reading-min,0px), calc(16px * var(--reading-scale,1)));color:var(--muted);margin:25px 0}.not-found .text-link{margin-right:35px}@keyframes route-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes menu-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes constellation-turn{to{transform:rotate(360deg)}}@media (min-width:1700px){.home-intro{top:29%;left:11%}.home-capabilities{left:10%;right:10%}.home-description{font-size:max(var(--reading-min,0px), calc(15px * var(--reading-scale,1)))}.capability-link p{font-size:max(var(--reading-min,0px), calc(12px * var(--reading-scale,1)))}.home-intro h1{font-size:38px}.intro-rule>i{height:340px}.capability-link h3{font-size:max(var(--reading-min,0px), calc(11px * var(--reading-scale,1)))}.home-aside{right:8%}.home-status{left:10%;right:10%}}@media (max-width:1150px){.site-header{padding-left:7%;padding-right:7%}.brand-group{gap:24px}.brand-tagline{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)));letter-spacing:.13em}.header-right{gap:30px}.desktop-nav{gap:23px}.home-intro{gap:29px;top:26%;left:8.7%}.home-intro h1{font-size:25px}.home-description{font-size:max(var(--reading-min,0px), calc(12px * var(--reading-scale,1)))}.home-aside{top:63%;right:5.5%}.home-aside p{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)))}.capabilities-grid{gap:15px}.capability-link{gap:14px}.capability-link p{font-size:max(var(--reading-min,0px), calc(9px * var(--reading-scale,1)))}.capability-link h3,.capability-link .capability-coordinate{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)))}.capabilities-more{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)));gap:10px}.capabilities-more .link-line{width:19px}.home-capabilities{bottom:10%}.content-page{width:calc(100% - 170px)}.project-overview,.project-approach{gap:60px}.lab-page .page-heading{gap:25px}.lab-page .page-heading h1{font-size:29px}.navigation-panel{padding-left:49%;padding-right:10%}.navigation-panel nav a{font-size:max(var(--reading-min,0px), calc(20px * var(--reading-scale,1)))}}@media (max-width:900px){.brand-tagline,.brand-divider,.home-aside{display:none}.home-intro{gap:20px;left:9%}.home-intro h1{letter-spacing:.23em;font-size:23px}.home-description{max-width:270px;font-size:max(var(--reading-min,0px), calc(12px * var(--reading-scale,1)))}.desktop-break{display:none}.capabilities-grid{grid-template-columns:repeat(4,1fr)}.capabilities-more{position:absolute;top:-10px;right:0}.home-capabilities{bottom:11%}.capabilities-heading{margin-bottom:25px}.capability-link{gap:12px}.capability-link p{font-size:max(var(--reading-min,0px), calc(9px * var(--reading-scale,1)))}.capability-link h3{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)))}.content-page{width:calc(100% - 140px)}.page-heading{margin-bottom:50px}.page-heading h1{font-size:35px}.art-caption{font-size:max(var(--reading-min,0px), calc(6px * var(--reading-scale,1)));left:15px}.project-heading{display:block}.project-discipline{margin-top:22px}.project-overview{gap:45px}.project-overview h2{font-size:23px}.project-facts{gap:20px}.project-facts p{font-size:max(var(--reading-min,0px), calc(10px * var(--reading-scale,1)))}.about-intro>h2{font-size:36px}.about-intro{max-width:380px}.lab-page .page-heading{flex-direction:column;align-items:flex-start}.experiment-controls{gap:22px;padding:24px}.experiment-stage{height:400px}.contact-intro>h1{font-size:40px}}@media (max-width:760px){html{scroll-padding-bottom:104px}.menu-close{top:28px;right:7%}.site-header{height:86px;padding:27px 7%}.wordmark{font-size:23px}.desktop-nav{display:none}.menu-toggle{width:30px;height:30px}.coordinate-nav{display:none}.home-page{height:auto;min-height:100svh;padding:0 7% 30px}.home-intro{z-index:2;min-height:0;padding-top:47svh;display:block;position:relative;top:auto;left:auto}.intro-rule{display:none}.home-intro h1{letter-spacing:.22em;font-size:30px;line-height:1.48}.home-description{font-size:max(var(--reading-min,0px), calc(12px * var(--reading-scale,1)));max-width:295px;margin-top:18px;line-height:1.9}.explore-link{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));margin-top:18px}.world-vignette{background:linear-gradient(to bottom, #050a100a, transparent 23%, #050a1029 40%, #050a10f2 73%, var(--bg) 90%);box-shadow:none}.home-capabilities{border-top:1px solid var(--line);margin-top:76px;padding-top:23px;position:relative;bottom:auto;left:auto;right:auto}.capabilities-heading{margin-bottom:19px}.capabilities-heading h2{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)));letter-spacing:.2em}.capabilities-grid{grid-template-columns:1fr 1fr;gap:23px 20px}.capability-link{gap:10px;max-width:100%;padding:5px 0}.capability-link h3{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));letter-spacing:.1em}.capability-link p{font-size:max(var(--reading-min,0px), calc(10px * var(--reading-scale,1)))}.capability-link .capability-coordinate{font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)))}.capabilities-more{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)));top:11px}.capabilities-more .link-line{width:16px}.home-status{font-size:max(var(--reading-min,0px), calc(6px * var(--reading-scale,1)));letter-spacing:.07em;gap:6px;margin-top:42px;position:relative;bottom:auto;left:auto;right:auto}.signature-dock{width:116px;right:7%}.signature-dock:before{background:linear-gradient(#0000,#050a10 26px);height:104px;position:fixed;inset:auto 0 0}.route-container{padding-bottom:104px}.navigation-panel{background:linear-gradient(90deg,#050a10bb,#050a1070);justify-content:center;padding:140px 9% 130px}.navigation-panel nav{margin-left:8%}.navigation-panel nav a{gap:22px;min-height:79px;font-size:21px}.navigation-panel nav a svg{opacity:.6}.menu-caption{display:none}.menu-bottom{flex-direction:column;align-items:flex-start;gap:10px;bottom:120px;left:8%;right:8%}.menu-bottom>.micro{font-size:max(var(--reading-min,0px), calc(6px * var(--reading-scale,1)));max-width:180px}.menu-bottom>.micro:last-child{white-space:nowrap}.content-page{width:auto;margin:0 7%;padding-top:137px}.page-heading{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:40px}.page-heading h1{letter-spacing:.22em;font-size:35px}.page-heading .eyebrow{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)));margin-bottom:20px}.page-heading>p{font-size:max(var(--reading-min,0px), calc(12px * var(--reading-scale,1)))}.page-heading>.micro{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)))}.art-caption{font-size:max(var(--reading-min,0px), calc(6px * var(--reading-scale,1)));bottom:17px;left:17px}.site-footer{margin-top:70px;padding:33px 0;display:block}.site-footer>div>.micro{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)))}.footer-invitation{gap:20px;font-size:23px}.footer-invitation svg{width:20px;height:20px}.footer-meta{min-height:58px;font-size:max(var(--reading-min,0px), calc(8px * var(--reading-scale,1)));justify-content:center;align-items:flex-start;gap:5px;margin-top:40px}.project-page{padding-top:120px}.project-heading{margin:39px 0 29px}.project-heading .eyebrow{font-size:max(var(--reading-min,0px), calc(6px * var(--reading-scale,1)));letter-spacing:.17em}.project-heading h1{font-size:66px}.project-tagline{font-size:max(var(--reading-min,0px), calc(19px * var(--reading-scale,1)));margin-top:15px}.project-discipline{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)));margin-top:24px}.project-hero-art{aspect-ratio:1.15;margin:0 -3%}.project-overview{margin-top:42px;display:block}.project-overview h2{max-width:360px;margin-top:15px;font-size:25px}.project-overview>div>p:first-child{font-size:max(var(--reading-min,0px), calc(13px * var(--reading-scale,1)));padding-top:25px;line-height:1.9}.project-overview .placeholder-note{font-size:max(var(--reading-min,0px), calc(10px * var(--reading-scale,1)));margin-top:20px}.project-facts{grid-template-columns:1fr;gap:23px;margin-top:35px;padding:26px 0}.project-facts .micro{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)))}.project-facts p{font-size:max(var(--reading-min,0px), calc(11px * var(--reading-scale,1)));margin-top:6px}.project-approach{margin:48px 0;display:block}.project-approach>.micro{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)));margin-bottom:20px;display:block}.project-approach h2{font-size:29px}.project-approach p{font-size:max(var(--reading-min,0px), calc(13px * var(--reading-scale,1)));margin-top:17px}.next-project{padding-top:27px}.next-project>.micro{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)))}.next-project>div{margin-top:15px}.next-project h2{font-size:43px}.next-project svg{width:31px;height:31px}.about-page{padding-top:143px}.about-intro{max-width:100%;min-height:0;padding-bottom:30px}.about-intro>.eyebrow{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)))}.about-intro>h1{margin-bottom:35px;font-size:26px}.about-intro>h2{font-size:37px;line-height:1.45}.about-description{font-size:max(var(--reading-min,0px), calc(13px * var(--reading-scale,1)));max-width:320px;margin-top:25px}.about-intro>.text-link{margin-top:22px}.about-capabilities{margin-top:27px}.capability-detail{grid-template-columns:1fr;gap:18px;padding:29px 0;scroll-margin-top:28px}.capability-detail h3{font-size:25px}.capability-detail .micro{font-size:max(var(--reading-min,0px), calc(6px * var(--reading-scale,1)));margin-top:8px}.capability-detail>p{font-size:max(var(--reading-min,0px), calc(12px * var(--reading-scale,1)))}.about-approach{grid-template-columns:1fr;gap:21px;padding-top:50px}.about-approach h2{font-size:29px}.about-approach>div>p{font-size:max(var(--reading-min,0px), calc(12px * var(--reading-scale,1)))}.section-heading{padding-bottom:19px}.section-heading>.micro{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)))}.section-heading>.micro:last-child{display:none}.contact-page{min-height:100svh;padding-top:164px}.contact-intro>.eyebrow{font-size:max(var(--reading-min,0px), calc(6px * var(--reading-scale,1)));margin-bottom:31px}.contact-intro>h1{letter-spacing:.105em;font-size:35px;line-height:1.5}.contact-description{font-size:max(var(--reading-min,0px), calc(13px * var(--reading-scale,1)));margin-top:28px}.contact-details{margin-top:40px}.contact-link{gap:16px}.contact-link-copy>span:last-child{font-size:max(var(--reading-min,0px), calc(9px * var(--reading-scale,1)))}.contact-bottom{padding:63px 0 29px}.contact-bottom>.micro{font-size:max(var(--reading-min,0px), calc(6px * var(--reading-scale,1)));letter-spacing:.13em}.lab-page .page-heading{gap:20px}.lab-page .page-heading h1{letter-spacing:.15em;font-size:26px}.experiment-stage{height:310px}.experiment-stage>svg{width:140%;max-width:none;margin-left:-20%}.experiment-label{font-size:max(var(--reading-min,0px), calc(6px * var(--reading-scale,1)));inset:auto 16px 17px}.experiment-controls{grid-template-columns:1fr 1fr;gap:27px 25px;padding:24px 20px 18px;display:grid}.experiment-controls label>.micro{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)))}.experiment-controls button{justify-content:space-between;min-height:33px}.lab-description{margin-top:26px;display:block}.lab-description>.micro{font-size:max(var(--reading-min,0px), calc(7px * var(--reading-scale,1)))}.lab-description>p{font-size:max(var(--reading-min,0px), calc(12px * var(--reading-scale,1)));margin-top:14px}.not-found{padding-top:29svh}.not-found>h1{font-size:57px}.not-found>p:not(.eyebrow){font-size:max(var(--reading-min,0px), calc(13px * var(--reading-scale,1)))}}@media (max-width:380px){.home-intro h1{letter-spacing:.2em;font-size:27px}.capability-link{gap:10px}.capability-link p{font-size:max(var(--reading-min,0px), calc(9px * var(--reading-scale,1)))}.home-status{font-size:max(var(--reading-min,0px), calc(5px * var(--reading-scale,1)))}.contact-intro>h1{font-size:31px}.contact-link-copy>span:first-child{font-size:22px}.lab-page .page-heading h1{font-size:23px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.experiment-constellation{animation:none!important}.route-stage,.navigation-panel{transform:none}}@media (max-width:760px),(hover:none){.reveal-prompt{display:none}}.site-shell.scene-work,.site-shell.scene-project{position:relative}.scene-work .signature-dock,.scene-project .signature-dock{position:absolute}.scene-work .signature-dock:before,.scene-project .signature-dock:before{background:radial-gradient(#050a10e6 25%,#050a1080 55%,#0000 75%);height:auto;position:absolute;inset:-16px}:root[data-reading=comfortable]{--reading-scale:1.15;--reading-min:12px}:root[data-reading=large]{--reading-scale:1.3;--reading-min:14px}:root[data-reading=comfortable] .brand-tagline,:root[data-reading=large] .brand-tagline{letter-spacing:.1em}:root:not([data-reading=original])[data-reading] .home-status,:root:not([data-reading=original])[data-reading] .footer-meta{flex-wrap:wrap}@media (min-width:761px){.scene-work .route-container,.scene-project .route-container{padding-bottom:72px}}.ambient-particles{opacity:0;pointer-events:none;transition:opacity 1.8s ease-in-out;position:absolute;inset:0;overflow:hidden}.ambient-particles[data-active=true]{opacity:.7}.ambient-particles i{width:var(--particle-size);height:var(--particle-size);animation:ambient-drift var(--duration) ease-in-out var(--delay) infinite alternate;background:#aecddd;border-radius:50%;position:absolute;box-shadow:0 0 7px #a3d2eb38}.ambient-particles[data-active=false] i,.ambient-particles[data-paused=true] i{animation-play-state:paused}@keyframes ambient-drift{0%{opacity:.18;transform:translate(0,0)}to{transform:translate3d(var(--drift-x), var(--drift-y), 0);opacity:.65}}.portrait-scene[data-scene=work] .mobile-portrait,.portrait-scene[data-scene=project] .mobile-portrait{transform:translate(-46%,-50%)scale(1.05)}.mobile-portrait{transition:left 1.3s ease-in-out,opacity 1.5s ease-in-out,transform 1.5s ease-in-out}@media (prefers-reduced-motion:reduce){.ambient-particles,.mobile-portrait{transition:none}.ambient-particles i{opacity:.3;animation:none}}.about-intro>.about-cv-link{color:var(--muted);margin-left:28px}
