@font-face{font-family:General;src:url('/fonts/GeneralSans-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:General;src:url('/fonts/GeneralSans-600.woff2') format('woff2');font-weight:600;font-display:swap}@font-face{font-family:General;src:url('/fonts/GeneralSans-700.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Mono;src:url('/fonts/IBMPlexMono-500.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:GeneralLockup;src:url('/fonts/GeneralSans-700.woff2') format('woff2');font-weight:700;font-display:block}@font-face{font-family:GeneralLockup;src:url('/fonts/GeneralSans-600.woff2') format('woff2');font-weight:600;font-display:block}
:root{--ink:#171817;--white:#fff;--red:#ef3427;--yellow:#f5ff63;--muted:#92938f;--gutter:clamp(22px,4.7vw,90px);--border:#ddd;--motion:1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:white;font-family:General,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid currentColor;outline-offset:6px}button{background:none;border:0}img{display:block;max-width:100%}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-weight:600;letter-spacing:-.055em}h2{font-size:clamp(40px,5.4vw,90px);line-height:1.04}p{line-height:1.55}em{font-family:Georgia,serif;font-weight:400}::selection{color:#171817;background:var(--yellow)}.wrap{padding-left:var(--gutter);padding-right:var(--gutter)}.eyebrow{font:500 12px/1.6 Mono,monospace;letter-spacing:.035em}.fine{font-size:12px;line-height:1.5;color:#737570}.muted{color:var(--muted)}.text-link{display:inline-block;font-size:16px;border-bottom:1px solid currentColor;padding:4px 0 8px;margin-top:22px;font-weight:600}.text-link:hover{opacity:.65}.pill{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:15px 24px;font-size:14px;border-radius:40px;white-space:nowrap}.outline{border:1px solid #b8b8b3}.outline:hover{background:var(--ink);color:white}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:16px;z-index:999;background:white;color:black;padding:12px;transform:translateY(-180%)}.skip-link:focus{transform:none}
.nav{position:absolute;inset:0 0 auto;height:102px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;z-index:20;color:white}.brand{display:inline-flex;align-items:center;font-size:24px;font-weight:600;letter-spacing:-1px;gap:9px}.brand-icon{font-size:45px;line-height:1;display:inline-block}.brand-tm{font-size:10px;align-self:flex-start;margin-top:7px}.nav nav{display:flex;align-items:center;gap:40px;font-size:14px}.nav sup{font-size:10px;margin-left:5px}.nav-contact{border:1px solid #ffffff80;border-radius:30px;padding:11px 18px}.nav-contact span{margin-left:20px}.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:99;pointer-events:none;mix-blend-mode:difference}.reading-progress span{display:block;width:100%;height:100%;background:white;transform-origin:left;transform:scaleX(0)}
.hero{height:150svh;background:var(--red);color:white;position:relative}.hero-stage{height:100svh;min-height:640px;position:sticky;top:0;overflow:hidden;container-type:inline-size;display:flex;flex-direction:column;justify-content:center;padding:104px var(--gutter) 45px}.hero-top{display:flex;justify-content:space-between;position:absolute;top:140px;left:var(--gutter);right:var(--gutter);z-index:2}.hero-intro{font-size:19px;line-height:1.25;max-width:230px;margin-right:2vw}.hero h1{font-family:GeneralLockup,General,Arial,sans-serif;font-size:clamp(76px,min(15vw,calc((100svh - 360px)/1.94)),320px);line-height:.85;letter-spacing:-.075em;font-weight:700;position:relative;z-index:1;padding-bottom:14px}.hero h1 span{display:block;white-space:nowrap}/* AI NATIVE lockup, from General Sans metrics: NATIVE (700) inks 3.308em after its -.075em tracking; the 38-character subline (600) inks 23.47em untracked, so at .125em it takes +.0809em per letter to end exactly under the E. Each line gives back its first glyph's side bearing (A .006em, N .07em, C .032em) so all three start on the gutter. */.hero .title-ai{margin-left:-.006em}.hero .title-native{margin-left:-.07em}.hero .title-sub{font-size:.125em;font-weight:600;letter-spacing:.0809em;line-height:1;margin:.9em 0 0 -.032em}.koi-stage{position:absolute;width:70%;height:100%;inset:0 auto auto 15%;z-index:3;pointer-events:none}.koi-stage canvas{width:100%;height:100%;filter:drop-shadow(32px 42px 13px #690b1735)}.koi-fallback{position:absolute;display:none}.koi-stage[data-render-mode=poster].present .koi-fallback{display:block}.hero-bottom{position:absolute;bottom:42px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:flex-end;z-index:5;font-size:14px}.hero-bottom p{line-height:1.5}.scroll-cue{display:flex;align-items:center;gap:18px;font-size:13px}.round-arrow{display:grid;place-items:center;border:1px solid #ffffff80;border-radius:50%;width:46px;height:46px;font-size:24px}.hero-location{font:500 12px/1.8 Mono,monospace;text-align:right}.hero-side{position:absolute;left:18px;top:53%;writing-mode:vertical-rl;transform:rotate(180deg);font:500 10px Mono;letter-spacing:.08em}
.manifesto{padding-top:150px;padding-bottom:130px;display:grid;grid-template-columns:1fr 2fr;gap:50px}.manifesto h2{font-size:clamp(65px,8.5vw,150px);margin-bottom:48px}.large-copy{font-size:clamp(22px,2.5vw,38px);max-width:870px;line-height:1.38;letter-spacing:-.025em}.small-copy{font-size:17px;max-width:570px;margin-top:28px;color:#71746f}.keyboard-section{padding:65px 0 35px;background:#fff;overflow:hidden}.section-top{display:flex;justify-content:space-between;align-items:flex-start}.section-top h2{font-size:clamp(38px,4.3vw,72px);margin-top:20px}.section-top .pill{margin-top:20px}.thought{display:flex;align-items:center;justify-content:center;font-family:Mono,monospace;font-size:clamp(14px,1.65vw,24px);margin:80px auto 0;gap:8px;width:min(85%,830px);color:#595b56}.thought input{min-width:0;width:100%;border:0;background:transparent;padding:12px 4px;border-bottom:1px solid #caccc5;font:inherit;text-align:center;color:var(--ink);border-radius:0}.thought input::placeholder{color:#92948e}.thought>span{white-space:nowrap}.thought button{font-size:26px;padding:8px 12px}.keyboard-stage{height:430px;max-width:1300px;margin:-20px auto 0;position:relative}.keyboard-stage canvas{position:absolute;width:100%;height:100%;touch-action:pan-y}.keyboard-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px}.keyboard-bottom output{font-size:16px;text-align:center;max-width:600px}.keyboard-bottom .eyebrow{font-size:11px}.keyboard-section.pulse{background:#fff}
.selfie{height:230svh;position:relative;background:#fff}.selfie-sticky{height:100svh;min-height:680px;position:sticky;top:0;overflow:hidden}.section-line{position:absolute;top:40px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;z-index:5}.section-line .text-link{margin:0;border:none}.selfie h2{font-size:clamp(80px,14vw,240px);line-height:.89;font-weight:700;text-align:center;position:absolute;top:21%;left:0;right:0;letter-spacing:-.07em;z-index:1}.figure-person{position:absolute;left:50%;bottom:20%;height:66%;width:auto;object-fit:contain;transform:translateX(-50%);z-index:3;will-change:transform}.source-photo{position:absolute;left:14%;top:33%;width:170px;background:white;padding:9px 9px 20px;box-shadow:0 14px 60px #0002;transform:rotate(-9deg);z-index:4;will-change:transform}.source-photo img{width:100%;height:200px;object-fit:cover}.source-photo figcaption{font:10px Mono;text-align:center;margin-top:14px}.selfie-caption{position:absolute;bottom:6%;left:50%;transform:translateX(-50%);text-align:center;z-index:5;width:90%}.selfie-caption p:nth-child(2){font-size:21px;margin-top:12px;line-height:1.35}.selfie-caption .fine{display:block;margin-top:12px}.image-counter{position:absolute;bottom:8%;right:var(--gutter)}.portrait-field{position:absolute;inset:0;z-index:2;pointer-events:none}.portrait{position:absolute;width:18%;max-width:270px;aspect-ratio:3/4;object-fit:cover;box-shadow:0 12px 45px #0002;will-change:transform,opacity}.p1{left:3%;top:19%;transform:rotate(-10deg)}.p2{right:3%;top:15%;transform:rotate(9deg)}.p3{left:12%;top:52%;transform:rotate(7deg)}.p4{right:11%;top:52%;transform:rotate(-8deg)}
.worlds{--return-tail:90svh;height:calc(420svh + var(--return-tail));background:#0e141b;color:#f7f8fb}.worlds-sticky{height:100svh;min-height:850px;position:sticky;top:0;overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#34404c 0,#17212b 35%,#0c1118 74%)}.worlds h2{position:absolute;top:16%;left:var(--gutter);font-size:clamp(40px,5.6vw,95px);z-index:1}.worlds h2 em{color:#a8b4c2}.aircraft-stage{position:absolute;inset:0;z-index:2}.aircraft-stage canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}.model-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}.model-fallback{width:100%;height:100%;object-fit:contain;opacity:.2}.aircraft-stage.ready .model-fallback,.aircraft-stage.ready .model-loading{display:none}.model-toolbar{position:absolute;right:var(--gutter);top:58%;z-index:4;display:flex;align-items:center;gap:20px}.dark-pill{border:1px solid #fff5;background:#ffffff0d;backdrop-filter:blur(10px)}.dark-pill:hover{background:#ffffff26}.model-toolbar .eyebrow{font-size:10px;color:#b9c0ca}.model-credit{text-decoration:underline;text-underline-offset:3px;opacity:.75}.model-toolbar>a.model-credit{display:inline}.model-credit:hover,.model-credit:focus-visible{opacity:1}.world-projects{display:grid;grid-template-columns:1fr 1fr;gap:8vw;position:absolute;bottom:6%;left:0;right:0;z-index:3}.world-projects article{border-top:1px solid #ffffff30;padding-top:20px}.world-projects h3{font-size:30px;margin:14px 0}.world-projects p{font-size:16px;color:#b4bcc6;max-width:510px}.world-projects .text-link{font-size:14px;margin-top:18px}
.living{position:relative;min-height:1050px;color:#fff;background:#10221d;overflow:hidden}.living-image{position:absolute;inset:0;overflow:hidden}.living-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.6);transition:opacity 1s,filter 1s;transform:scale(1.1);will-change:transform}.living:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#07120c1a 10%,#071a1066 47%,#06190feF 100%);pointer-events:none}.living-content{position:relative;z-index:2;padding-top:80px;padding-bottom:85px}.living h2{font-size:clamp(85px,10vw,170px);margin-top:80px;line-height:.91}.living h2 em{color:#dfff8c}.living-lede{font-size:24px;margin-top:35px}.living-projects{margin-top:150px;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.living-projects article{max-width:540px}.living-projects h3{font-size:35px;margin:16px 0}.living-projects p{font-size:17px;color:#d1dcd4}.living-caption{position:absolute;right:var(--gutter);bottom:25px;z-index:3;font-size:10px;color:#afc5b6}.living.night .living-image img{filter:brightness(.65)}
.systems{padding-top:130px;padding-bottom:100px}.systems-heading{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:100px}.systems-heading h2{font-size:clamp(40px,5.5vw,94px)}.system-case{display:grid;grid-template-columns:70px 1.05fr 1.3fr;align-items:center;border-top:1px solid var(--border);padding:75px 0;gap:30px}.case-number{align-self:start;font:500 14px Mono;color:#777}.case-copy{max-width:440px}.case-copy h3{font-size:clamp(36px,3.8vw,62px);line-height:1.05;margin:20px 0 24px}.case-copy p{font-size:17px;color:#717570}.case-copy p.fine{font-size:12px;margin-top:20px}.frequency-art{position:relative;background:#0b0b0e;height:480px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#f6f4ee}.frequency-art canvas{position:absolute;inset:0;width:100%;height:100%}.frequency-art>span{font-family:Georgia,serif;font-size:clamp(40px,5.1vw,95px);letter-spacing:-.065em;z-index:2}.justice-art{height:480px;background:#fff;position:relative;display:grid;place-items:center;overflow:hidden;perspective:900px}.document-stack{position:relative;width:64%;height:73%;transform:rotateY(-17deg) rotateX(14deg) rotateZ(-7deg);transform-style:preserve-3d;transition:transform .8s}.justice-art:hover .document-stack{transform:rotateY(6deg) rotateX(8deg) rotateZ(3deg)}.doc{position:absolute;inset:0;background:white;box-shadow:8px 16px 30px #00000010}.doc-back{transform:translate(-30px,-16px) translateZ(-45px);background:#b8bfef}.doc-mid{transform:translate(-14px,-8px) translateZ(-25px);background:#dbdcff}.doc-front{padding:30px}.doc-front>.eyebrow{font-size:11px}.doc h4{font-size:34px;line-height:1.08;margin:28px 0}.doc-row{font-size:11px;padding:11px 0;border-top:1px solid #ddd;display:flex;align-items:center;gap:10px}.doc-row span{font:10px Mono;color:#888}.doc-row b{margin-left:auto;font-size:14px}.doc-foot{font:8px Mono;position:absolute;bottom:20px;color:#777}
.van{height:330svh;background:#d9e0dd;color:#152922}.van-sticky{height:100svh;min-height:700px;position:sticky;top:0;overflow:hidden;background:#fff}.van-heading{position:relative;top:135px;display:flex;align-items:flex-end;justify-content:space-between;z-index:2;pointer-events:none}.van-heading h2{font-size:clamp(43px,5.5vw,90px)}.van-heading p{font-size:17px;line-height:1.4;max-width:240px}#van-stage{position:absolute;inset:15% 0 0;z-index:3}#van-stage canvas{width:100%;height:100%}.van-bottom{position:absolute;bottom:35px;left:0;right:0;display:flex;justify-content:space-between;z-index:4}.van.ready .model-loading{display:none}
.about{padding-top:150px;padding-bottom:130px;display:grid;grid-template-columns:1fr 1fr;gap:90px 8vw;align-items:center}.about-photo{position:relative}.about-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.photo-label{position:absolute;bottom:25px;left:25px;color:#fff;font-size:11px}.about-copy h2{margin:30px 0;font-size:clamp(40px,4.2vw,70px)}.about-copy>p:not(.eyebrow){font-size:18px;color:#747671;margin-top:20px}.career{grid-column:1/-1;margin-top:40px}.career>.eyebrow{margin-bottom:40px}.career-row{display:grid;grid-template-columns:1fr 1.5fr 1.5fr;gap:25px;padding:30px 0;border-top:1px solid #ddd;align-items:start}.career-row>span{font:12px Mono;color:#73746f}.career-row h3{font-size:24px;letter-spacing:-.035em}.career-row p{font-size:15px;color:#747671}.contact{background:var(--yellow);padding-top:55px}.contact-top{display:flex;justify-content:space-between;gap:25px}.contact-title{font-size:clamp(64px,10vw,175px);font-weight:600;letter-spacing:-.07em;line-height:.97;display:block;position:relative;margin:100px 0 70px}.contact-title>span{position:absolute;right:10px;top:20px;font-size:1.1em;font-weight:400;transition:transform .4s}.contact-title:hover>span{transform:translate(10px,-10px)}.contact-bottom{display:flex;justify-content:space-between;align-items:center;padding-bottom:90px;gap:30px}.email-link{font-size:clamp(20px,2.2vw,35px);letter-spacing:-.035em}.copy-button{font:11px Mono;text-transform:uppercase;border-bottom:1px solid;margin-left:20px;padding:5px 0}.contact-cta{background:var(--ink);color:white}footer{display:flex;align-items:center;justify-content:space-between;padding:25px 0;border-top:1px solid #17181740;gap:20px}footer .brand{font-size:20px}footer .brand-icon{font-size:30px}footer p,footer button,footer>a:last-child{font-size:12px}footer button{padding:10px 0}
.keyboard-fallback{width:85%;max-width:1030px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) perspective(950px) rotateX(27deg) rotateZ(-4deg);padding:16px;background:#303434;border:8px solid #8a8e8d;border-radius:15px;box-shadow:0 14px 0 #666d6d,0 38px 35px #0002;display:flex;flex-direction:column;gap:8px}.key-row{display:flex;gap:8px}.key-row button{height:45px;flex:1;min-width:0;border-radius:6px;background:linear-gradient(160deg,#fff,#cacdc8);border:1px solid #adb2ad;border-bottom:6px solid #a7aca6;font-family:Mono;font-size:11px;box-shadow:0 2px 1px #0009;transition:transform .07s}.key-row button[data-key="SPACE"]{flex:5;background:linear-gradient(160deg,#ff663a,#f73512);border-color:#b72812;color:#34190f}.key-row button[data-key="ENTER"]{background:#ff4f22;border-color:#bc321b;flex:1.5}.key-row button[data-key="SHIFT"],.key-row button[data-key="BACK"],.key-row button[data-key="CAPS"]{flex:1.5}.key-row button.pressed,.key-row button:active{transform:translateY(4px);border-bottom-width:2px}.keyboard-stage.ready .keyboard-fallback{display:none}.van-fallback{position:absolute;inset:0;transition:transform .15s linear}.van-fallback img{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:85%;height:95%;object-fit:contain;opacity:0;transition:opacity .4s}.van-fallback .van-iso{opacity:1}.van-fallback.side .van-iso,.van-fallback.exploded .van-iso{opacity:0}.van-fallback.side .van-side,.van-fallback.exploded .van-exploded{opacity:1}#van-stage.ready .van-fallback{display:none}
.js-enabled .reveal{opacity:0;transform:translateY(35px);transition:opacity .85s,transform .85s}.js-enabled .reveal.visible{opacity:1;transform:none}.motion-paused *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.motion-paused .reveal{opacity:1;transform:none}
@media(min-width:1700px){.worlds-sticky{min-height:1000px}.keyboard-stage{height:510px}.world-projects h3{font-size:38px}}
@media(max-width:900px){.nav{height:85px}.nav nav{gap:22px}.brand{font-size:21px}.brand-icon{font-size:36px}.hero-top{top:120px}.hero-stage{min-height:600px}.hero h1{font-size:max(76px,min(22vw,calc((100svh - 360px)/1.94)))}.hero-intro{font-size:16px}.hero-side{display:none}.hero-location{display:none}.manifesto{grid-template-columns:1fr;gap:35px;padding-top:90px;padding-bottom:90px}.manifesto h2{margin-bottom:35px}.keyboard-bottom>.eyebrow:last-child{display:none}.keyboard-stage{height:340px}.source-photo{left:7%;width:130px}.source-photo img{height:160px}.selfie h2{top:28%}.figure-person{height:60%;bottom:22%}.selfie-caption p:nth-child(2){font-size:18px}.image-counter{display:none}.worlds-sticky{min-height:780px}.worlds h2{top:13%;font-size:7vw}.aircraft-stage{inset:0}.world-projects{gap:35px}.world-projects h3{font-size:25px}.world-projects p{font-size:14px}.world-projects .eyebrow{font-size:10px}.model-toolbar{top:58%}.model-toolbar>.eyebrow{display:none}.living h2{margin-top:70px}.living-projects{gap:50px;margin-top:130px}.living-projects h3{font-size:28px}.living-projects p{font-size:16px}.systems-heading{grid-template-columns:1fr}.system-case{grid-template-columns:1fr 1.2fr;gap:25px}.case-number{display:none}.frequency-art,.justice-art{height:390px}.doc-front{padding:22px}.doc h4{font-size:28px}.doc-row{font-size:10px}.van-heading p{display:none}.about{gap:65px 40px;padding-top:90px}.about-copy>p:not(.eyebrow){font-size:16px}.career-row{grid-template-columns:.65fr 1.2fr 1.2fr}.career-row h3{font-size:20px}.career-row p{font-size:14px}footer .brand{display:none}}
@media(max-width:600px){.nav{height:78px}.nav .brand{font-size:19px;gap:6px}.brand-tm{display:none}.nav nav{gap:16px;font-size:13px}.nav-contact{padding:9px 12px}.nav-contact span{display:none}.nav nav>a:nth-child(2){display:none}.hero{height:135svh}.hero-stage{min-height:580px;padding-top:100px}.hero-top{top:116px}.hero-top .eyebrow{font-size:9px}.hero-intro{font-size:14px;margin:0}.hero h1{font-size:calc((100vw - 2*var(--gutter))/3.308);font-size:calc(100cqw/3.308);line-height:.85;position:absolute;left:var(--gutter);right:var(--gutter);top:39%}.koi-stage{left:-15%;width:130%;height:90%;top:4%}.koi-fallback{width:85vw}.hero-bottom{bottom:34px;align-items:flex-end}.hero-bottom p{font-size:12px}.scroll-cue{gap:10px}.scroll-cue>span:first-child{font-size:10px;max-width:80px}.round-arrow{width:37px;height:37px;font-size:20px}.manifesto{padding-top:80px;padding-bottom:80px}.manifesto h2{font-size:70px}.manifesto .eyebrow{font-size:10px}.large-copy{font-size:24px}.small-copy{font-size:16px}.keyboard-section{padding-top:45px}.section-top h2{font-size:36px}.section-top{position:relative}.section-top .eyebrow{font-size:10px}.section-top .pill{font-size:11px;padding:10px 14px;gap:8px;position:absolute;right:var(--gutter);top:140px}.thought{margin-top:90px;width:90%;font-size:12px;gap:3px}.thought input{font-size:12px}.thought button{padding:4px;font-size:22px}.keyboard-stage{height:250px;margin-top:0}.keyboard-bottom{display:block;text-align:center}.keyboard-bottom output{display:block;font-size:14px;margin:12px 0}.keyboard-bottom .eyebrow{font-size:9px}.selfie{height:185svh}.selfie-sticky{min-height:660px}.section-line{top:30px}.section-line .eyebrow{font-size:10px}.section-line .text-link{font-size:13px}.selfie h2{font-size:16vw;top:30%;line-height:.95}.figure-person{height:56%;bottom:24%}.source-photo{width:100px;top:25%;left:5%;padding:6px 6px 12px}.source-photo img{height:120px}.source-photo figcaption{font-size:7px;margin-top:9px}.portrait{width:25%}.p1{top:22%;left:-4%}.p2{top:21%;right:-4%}.p3{top:52%;left:0}.p4{top:53%;right:0}.selfie-caption{bottom:5%}.selfie-caption .eyebrow{font-size:10px}.selfie-caption p:nth-child(2){font-size:16px}.selfie-caption .fine{font-size:10px;max-width:300px;margin:12px auto 0}.worlds{height:calc(400svh + var(--return-tail))}.worlds-sticky{min-height:940px}.worlds h2{font-size:46px;top:11%;z-index:3}.aircraft-stage{inset:0}.world-projects{bottom:4%;grid-template-columns:1fr;gap:24px}.world-projects article{padding-top:16px}.world-projects h3{font-size:27px;margin:8px 0}.world-projects p{font-size:14px;max-width:400px}.world-projects .text-link{margin-top:8px;font-size:13px}.model-toolbar{top:52%;right:var(--gutter)}.model-toolbar .pill{font-size:12px;padding:10px 16px}.living{min-height:1130px}.living-content{padding-top:45px}.living h2{font-size:90px;margin-top:65px}.living-lede{font-size:20px;max-width:240px}.living-image img{object-position:45% center}.living-projects{grid-template-columns:1fr;gap:42px;margin-top:105px}.living-projects h3{font-size:30px;margin:12px 0}.living-projects p{font-size:16px}.living-projects .eyebrow,.living-content>.eyebrow{font-size:10px}.living-caption{font-size:8px;left:var(--gutter);right:auto}.systems{padding-top:85px;padding-bottom:40px}.systems-heading{margin-bottom:65px;gap:24px}.systems-heading h2{font-size:42px}.systems-heading .eyebrow{font-size:10px}.system-case{grid-template-columns:1fr;padding:42px 0;gap:35px}.case-copy h3{font-size:43px}.case-copy p{font-size:16px}.case-copy .eyebrow{font-size:10px}.frequency-art,.justice-art{height:360px}.frequency-art>span{font-size:65px}.doc h4{font-size:30px}.doc-row{font-size:11px}.van{height:300svh}.van-sticky{min-height:650px}.van-heading{top:112px}.van-heading h2{font-size:42px}.van .section-line .eyebrow:last-child{font-size:8px;max-width:98px;text-align:right}#van-stage{inset:20% -18% 5%;width:136%}.van-bottom .eyebrow{font-size:9px}.van-bottom .eyebrow:last-child{max-width:75px;text-align:right}.about{grid-template-columns:1fr;padding-top:80px;padding-bottom:80px;gap:50px}.about-photo{max-width:480px}.about-copy h2{font-size:49px}.about-copy>p:not(.eyebrow){font-size:18px}.career{margin-top:10px}.career>.eyebrow{font-size:10px}.career-row{grid-template-columns:1fr;gap:12px;padding:27px 0}.career-row h3{font-size:25px}.career-row p{font-size:15px}.contact{padding-top:35px}.contact-top>.eyebrow{font-size:9px}.contact-top>.eyebrow:last-child{display:none}.contact-title{font-size:14vw;margin:65px 0 40px}.contact-title>span{font-size:.75em;top:7px;right:0}.contact-bottom{display:block;padding-bottom:60px}.email-link{font-size:23px}.copy-button{font-size:9px;margin-left:12px}.contact-cta{margin-top:30px;font-size:13px;padding:14px 20px}footer{flex-wrap:wrap;gap:16px}footer p,footer button,footer>a:last-child{font-size:10px}.eyebrow{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js-enabled .reveal{opacity:1;transform:none;transition:none}*{animation:none!important;transition:none!important}.hero,.selfie,.worlds,.van{height:auto}.hero-stage,.selfie-sticky,.worlds-sticky,.van-sticky{position:relative}}
@media(max-width:600px){.keyboard-fallback{width:90%;padding:7px;border-width:5px;gap:4px;border-radius:9px;box-shadow:0 7px 0 #666d6d,0 20px 25px #0002}.key-row{gap:3px}.key-row button{height:24px;font-size:6px;border-radius:3px;border-bottom-width:3px}.van-fallback img{width:83%;height:95%;}}

@media(max-width:600px){.hero h1{top:41%}.koi-stage{top:6%;}.selfie-sticky{min-height:660px}}

[hidden]{display:none!important}
/* Second release: navigation, water, and the road home. */
#water-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.index-trigger{display:none;position:fixed;right:24px;bottom:max(22px,env(safe-area-inset-bottom));z-index:50;align-items:center;gap:12px;background:#182820ed;color:#fff;border:1px solid #ffffff25;border-radius:50px;padding:12px 17px;box-shadow:0 5px 24px #0002;backdrop-filter:blur(12px);font-size:12px;opacity:0;transform:translateY(90px);transition:transform .35s,opacity .35s}
.js-enabled .index-trigger{display:flex}.index-trigger.visible{opacity:1;transform:none}.index-symbol{font-size:24px;line-height:1}.index-count{font:10px Mono;color:#cfdfad;border-left:1px solid #ffffff30;padding-left:13px}.index-trigger:hover{background:#30483a}
.index-open{overflow:hidden}.project-index{border:0;max-width:none;max-height:none;width:100%;height:100dvh;margin:0;padding:35px var(--gutter) 30px;background:#12261e;color:#f3f7ec;overflow-y:auto;overscroll-behavior:contain}.project-index::backdrop{background:#12261e}.project-index[open]{display:flex;flex-direction:column;animation:index-in .35s both}.index-header{display:flex;align-items:center;justify-content:space-between}.index-header button{display:flex;align-items:center;gap:18px;border:1px solid #ffffff40;border-radius:50px;padding:8px 20px;font-size:13px;color:inherit}.index-header button span{font-size:30px;line-height:1}.index-content{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center;flex:1;padding:45px 0}.index-intro>.eyebrow{font-size:10px;color:#b1cbb9}.index-intro h2{font-size:clamp(64px,7vw,125px);line-height:1.03;margin:22px 0}.index-intro em{color:var(--yellow)}.index-intro>p:last-of-type{color:#b2c3b8;font-size:16px;line-height:1.65}.index-orbit{width:110px;height:110px;border:1px solid #63816f;border-radius:50%;display:grid;place-items:center;margin-top:34px;position:relative}.index-orbit:before{content:'';position:absolute;inset:10px -13px;transform:rotate(-36deg);border:1px solid #63816f;border-radius:50%}.index-orbit span{font-size:73px;color:var(--yellow);animation:orbit-turn 35s linear infinite}.index-projects a{display:grid;grid-template-columns:30px 1fr auto;gap:18px;position:relative;align-items:center;padding:20px 0;border-bottom:1px solid #ffffff24;transition:color .2s,padding .2s}.index-projects a:first-child{border-top:1px solid #ffffff24}.index-projects a>span{font:10px Mono;color:#819e8c;align-self:start;margin-top:6px}.index-projects strong{font-size:clamp(25px,2.8vw,43px);font-weight:400;line-height:1.05;letter-spacing:-.04em}.index-projects small{grid-column:2;font:10px Mono;color:#a3bbad;margin-top:-8px}.index-projects b{grid-column:3;grid-row:1/3;font-weight:400;font-size:24px;color:#738f7c}.index-projects a:hover,.index-projects a:focus-visible{color:var(--yellow);padding-left:12px}.index-projects a:hover b{color:var(--yellow)}.index-footer{border-top:1px solid #ffffff25;padding-top:25px;display:flex;justify-content:space-between;font-size:12px;color:#c1d2c7}.index-footer a:hover{color:var(--yellow)}
.van-steps{display:flex;gap:6px;align-items:center}.van-steps i{height:3px;width:34px;background:#324b3e25;position:relative;overflow:hidden}.van-steps i:after{content:'';position:absolute;inset:0;background:#324b3e;transform:scaleX(var(--fill,0));transform-origin:left}.van-heading{will-change:opacity,transform}.van-fallback{transition:none}.road-journey{position:absolute;inset:-25% -15% -15%;opacity:0;pointer-events:none;z-index:1}.road-journey svg{width:100%;height:100%;overflow:visible}.contours{fill:none;stroke:#7b9587;stroke-width:1;opacity:.32}.road-shoulder{stroke:#afbdab;stroke-width:85;fill:none}.road-asphalt{stroke:#53675e;stroke-width:70;fill:none}.road-center{stroke:#e7d9ac;stroke-width:1.4;stroke-dasharray:13 18;fill:none}.road-caption{position:absolute;left:18%;bottom:15%;font-size:11px;line-height:2;color:#274434}.road-caption span{font-size:9px;color:#657e6c}#van-stage.ready .road-journey{display:none}.van-bottom{padding-right:250px}
@keyframes index-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes orbit-turn{to{transform:rotate(360deg)}}
@media(max-width:900px){.index-content{gap:5vw}.index-projects a{padding:17px 0}.index-intro h2{font-size:65px}.index-orbit{width:80px;height:80px}.index-orbit span{font-size:55px}}
@media(max-width:600px){.index-trigger{right:16px;bottom:max(15px,env(safe-area-inset-bottom));padding:9px 14px;font-size:11px;gap:9px}.index-symbol{font-size:22px}.project-index{padding:22px 23px 28px}.index-header .brand{font-size:20px}.index-header .brand-icon{font-size:32px}.index-header button{padding:5px 12px;font-size:11px;gap:9px}.index-header button span{font-size:25px}.index-content{grid-template-columns:1fr;gap:28px;display:block;padding:32px 0;flex:1}.index-intro h2{font-size:53px;margin:16px 0 24px}.index-intro h2 br{display:none}.index-intro>.eyebrow{font-size:8px;letter-spacing:.04em}.index-intro>p:last-of-type,.index-orbit{display:none}.index-projects a{padding:14px 0;gap:12px;grid-template-columns:22px 1fr 25px}.index-projects strong{font-size:27px}.index-projects small{font-size:9px;margin-top:-6px}.index-projects b{font-size:22px}.index-footer{gap:18px;justify-content:flex-start;flex-wrap:wrap;font-size:11px;padding-top:22px}.index-footer a:last-child{display:none}.van-bottom{bottom:76px;padding-right:var(--gutter);gap:20px}.van-bottom .eyebrow:last-child{max-width:none}.van-steps i{width:19px}.road-caption{font-size:9px;bottom:18%;left:24%}.road-caption span{font-size:8px}.van-fallback.exploded img{width:77%;height:90%}}
@media(prefers-reduced-motion:reduce){.index-trigger,.project-index[open]{transition:none;animation:none}.index-orbit span{animation:none}}

.index-projects a{row-gap:8px}

/* Video is composited with a separate alpha channel. */
.hero{height:220svh}.koi-stage{inset:0;width:100%;height:100%}.koi-stage canvas{filter:drop-shadow(8px 16px 12px #690b1728)}.koi-fallback{max-width:none;filter:drop-shadow(8px 16px 12px #690b1728)}
@media(max-width:600px){.hero{height:200svh}.koi-stage{inset:0;width:100%;height:100%}}
@media(prefers-reduced-motion:reduce){.hero{height:auto}}

#water-canvas{z-index:0;mix-blend-mode:normal} .van-fallback img{top:58%;height:82%}



/* The koi passes in front of the headline; transparent water reveals the letters. */
.hero h1{z-index:1;pointer-events:none}.koi-stage{z-index:3}.hero-top{z-index:2;pointer-events:none}.hero-bottom{z-index:6}

/* The living chapter's hanging Monstera, isolated from the other scenes. */
.living{min-height:1160px}.living h2,.living-lede{position:relative;z-index:4;max-width:58%}.living-projects{position:relative;z-index:4;margin-top:260px}
.monstera-installation{position:absolute;right:-2vw;top:0;width:58%;height:770px;z-index:3;isolation:isolate}
.monstera-installation iframe,.monstera-poster{position:absolute;inset:0;width:100%;height:100%;border:0}
.monstera-poster{object-fit:contain;object-position:center top;filter:drop-shadow(12px 24px 22px #031c1455)}
.monstera-installation iframe{opacity:0}.monstera-installation.ready iframe{opacity:1}.monstera-installation.ready .monstera-poster{visibility:hidden}
.monstera-label{position:absolute;bottom:10px;right:12%;font-size:9px;color:#d7e5c5;pointer-events:none}
@media(max-width:900px){.monstera-installation{right:-7vw;width:65%;height:700px}.living h2{font-size:95px}.living-projects{margin-top:240px}}
@media(max-width:600px){.monstera-installation{position:relative;top:auto;right:auto;width:100%;height:510px;margin-top:20px}.living h2{max-width:100%;margin-top:25px;font-size:82px}.living-lede{max-width:270px}.living-projects{margin-top:65px}.monstera-label{right:0;bottom:12px;font-size:8px}.monstera-installation iframe{pointer-events:none}}

@media(pointer:coarse){.monstera-installation iframe{pointer-events:none}}

#van-stage{left:0;right:0;width:100%}

@media(max-width:600px){.worlds .model-toolbar{top:54px;bottom:auto}}

/* Reading progress on the compositor where scroll-driven animations are supported, so it keeps moving while the main thread prepares a 3D chapter. Motion-paused and reduced-motion switch animations off, and app.js then draws it. */
@supports (animation-timeline: scroll()){.reading-progress span{animation:reading-progress linear both;animation-timeline:scroll(root block)}@keyframes reading-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}}

/* Phones and iOS Safari: fixes from a real Mobile Safari walk (September 2026). */
html{font-variant-emoji:text;-webkit-text-size-adjust:100%;text-size-adjust:100%}.skip-link:not(:focus){opacity:0}
.project-index:focus{outline:none}
@media(max-width:600px){
  /* iOS zooms the whole page when a focused field is smaller than 16px. The row is set at 16px and scaled back to its 12px design size. */
  .thought{width:120%;margin:90px 0 -8px -10%;font-size:16px;gap:4px;transform:scale(.75);transform-origin:50% 0}
  .thought input{font-size:16px}
  .thought button{padding:5px;font-size:29px}
}
/* Phone header (nav.js): fixed at the top, hidden while reading down, back on any upward scroll. It replaces the floating index pill on phones. */
@media(max-width:600px){
  html{scroll-padding-top:0}
  .nav{position:fixed;height:60px;transition:transform .32s cubic-bezier(.2,.7,.2,1),opacity .32s,background-color .3s,box-shadow .3s}
  .nav.nav-solid{background:#12261ef2;box-shadow:0 1px 0 #ffffff1f}
  /* Fade as well as slide: iOS 26 Safari draws the page under the status bar, where a header that is only moved up stays visible. */
  .nav.nav-hidden{transform:translateY(-100%);opacity:0;pointer-events:none}
  .nav:focus-within{transform:none;opacity:1;pointer-events:auto}
  .nav nav a{display:inline-flex;align-items:center;min-height:44px}
  .nav nav .nav-work{min-height:38px;padding:0 14px}
  .index-trigger{display:none!important}
}
/* Coastal journey: one native-scroll chapter, then an aircraft-shaped handoff. */
.coast-chapter{height:800svh}.coast-chapter .van-sticky{isolation:isolate;background:#d5dfd7}.coast-chapter #van-stage{inset:0;width:100%;height:100%;z-index:1}.coast-chapter .van-heading,.coast-chapter .section-line{z-index:4}.coast-chapter .section-line{opacity:var(--coast-header,1)}.coast-chapter .van-bottom{z-index:4;opacity:var(--coast-progress,1)}
.coast-copy{position:absolute;z-index:5;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#f4f8f5;opacity:0;pointer-events:none;padding:30px;will-change:opacity,transform}.coast-copy .eyebrow{letter-spacing:.15em;font-size:11px}.coast-copy h2{font-size:clamp(54px,8vw,136px);line-height:.95;letter-spacing:-.055em;margin-top:25px}.coast-copy h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em}
.coast-flyby{position:fixed;max-width:none;height:auto;z-index:45;pointer-events:none;transform-origin:center;filter:drop-shadow(-12px 16px 15px #17324428);will-change:transform,left}.coast-clouds{position:fixed;inset:0;z-index:42;background:#fff center/cover no-repeat;pointer-events:none;will-change:clip-path,opacity}.worlds-sticky.coast-pinned{position:fixed!important;top:0;left:0;width:100%;height:100svh;z-index:40}
@media(max-width:600px){.coast-chapter{height:850svh}.coast-chapter .van-sticky{min-height:100svh}.coast-copy{padding:20px}.coast-copy h2{font-size:55px}.coast-copy .eyebrow{font-size:9px}.coast-chapter .van-bottom{bottom:32px}.coast-chapter .van-heading{top:110px}.coast-chapter .van-heading h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.coast-chapter{height:auto}.coast-flyby,.coast-clouds,.coast-copy{display:none}.worlds-sticky.coast-pinned{position:sticky!important;clip-path:none!important}}
.coast-journey-active .index-trigger{opacity:0!important;pointer-events:none}
.coast-light-labels .van-bottom{color:#f3f7f2;text-shadow:0 1px 4px #001b28}.coast-light-labels .van-steps i{background:#ffffff55}.coast-light-labels .van-steps i:after{background:#fff}

/* Explain the agency before introducing the projects and the founder. */
.manifesto h2{font-size:clamp(54px,7vw,120px);line-height:1.02}.agency-cta{margin-top:28px}.selfie-caption{max-width:620px;width:calc(100% - 44px)}.selfie-caption p:nth-child(2){font-size:clamp(17px,1.6vw,24px);line-height:1.4}.world-projects p{max-width:550px}
@media(max-width:600px){.manifesto h2{font-size:58px}.selfie-caption{bottom:4%}.selfie-caption p:nth-child(2){font-size:16px}.selfie-caption .fine{margin-top:8px}.world-projects .eyebrow{font-size:9px}.living-projects .eyebrow{font-size:9px}}

.selfie-sticky:after{content:'';position:absolute;left:0;right:0;bottom:0;height:26%;background:linear-gradient(transparent,#fffffff0 38%,#fff 84%);z-index:4;pointer-events:none}.coast-journey-active .nav{transform:translateY(-100%);opacity:0;pointer-events:none}

.coast-fallback .coast-copy{background:#07516a}
@media(orientation:landscape) and (max-height:500px){.hero-stage{min-height:0;padding-top:64px;padding-bottom:40px}.hero-top,.hero-side{display:none}.hero h1{font-size:calc((100svh - 150px)/2.2)}.hero-bottom{bottom:14px}}
