@font-face{font-family:Space;src:url('./space-grotesk.woff2') format('woff2');font-weight:300 700;font-display:swap}:root{--bg:#242722;--ink:#f3f0e7;--muted:#c6c7bb;--accent:#daa07c;--gutter:clamp(24px,5vw,88px)}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:auto}body{margin:0;color:var(--ink);font-family:Space,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}a:hover{color:var(--accent)}.skip{position:fixed;z-index:20;top:8px;left:8px;background:var(--ink);color:var(--bg);padding:12px;transform:translateY(-150%)}.skip:focus{transform:none}#stage{position:fixed;inset:0;pointer-events:none}#stage canvas{display:block;width:100%;height:100%}.grain{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#1a1d19e6,#1a1d19d1 31%,#1a1d1900 62%)}.masthead{position:fixed;inset:0 0 auto;z-index:8;padding:24px var(--gutter);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#242722f0,transparent)}.wordmark{font-size:40px;letter-spacing:-4px;font-weight:600;line-height:1}.wordmark span,h1 span,h2 span{color:var(--accent)}.masthead nav{display:flex;gap:30px}.masthead nav a{display:flex;align-items:center;min-height:44px;font-size:13px}.masthead nav a[aria-current]{color:var(--accent)}main{position:relative;z-index:2}.chapter{min-height:125vh;padding:160px var(--gutter) 130px;display:flex;align-items:center;gap:40px}.copy{width:450px;max-width:100%}.intro .copy{width:570px}.eyebrow{font-size:10px;letter-spacing:2px;line-height:1.8;color:var(--accent);margin:0 0 30px}h1{font-size:clamp(78px,8.9vw,140px);font-weight:500;line-height:.89;letter-spacing:-.075em;margin:0 0 38px}h2{font-size:clamp(45px,4.7vw,76px);font-weight:400;line-height:1.03;letter-spacing:-.06em;margin:0 0 30px}.description{font-size:17px;line-height:1.7;color:var(--muted);margin:0 0 26px}.profile-note{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:28px}.visit{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:44px;padding:8px 0;border-bottom:1px solid #c8c6b875;font-size:14px}.chapter-note{font-size:9px;letter-spacing:1.6px;color:var(--muted);margin-top:28px}.profile{display:block;width:fit-content;margin-top:26px;min-height:44px;font-size:14px}.fallback-image{width:100%;height:auto;display:block;margin-top:28px}.studio-controls{position:fixed;z-index:10;bottom:0;left:var(--gutter);right:var(--gutter);height:64px;border-top:1px solid #ffffff32;background:#242722ed;display:flex;align-items:center;justify-content:space-between;padding:0 12px}#chapter-label{font-size:9px;letter-spacing:1.8px;line-height:1.8}#motion-toggle{min-height:44px;padding:0 10px;background:none;border:0;color:var(--ink);font-size:11px;cursor:pointer}.progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:#ffffff19}.progress i{display:block;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left}.webgl:not(.static-view) .chapter{height:125vh;min-height:125vh;padding:0}.webgl:not(.static-view) .chapter:last-child{height:100vh;min-height:100vh}.webgl:not(.static-view) .copy{position:fixed;top:50%;left:var(--gutter);transform:translateY(-50%);opacity:0;visibility:hidden;pointer-events:none}.webgl:not(.static-view) .active .copy{opacity:1;visibility:visible;pointer-events:auto;clip-path:inset(0 0 calc((1 - var(--reveal,1))*100%) 0)}.webgl:not(.static-view) .fallback-image{display:none}.static-view .grain{background:#242722d9}.static-view .copy{width:100%;max-width:1000px}.static-view .fallback-image{width:min(100%,700px)}.static-view .chapter{height:auto;min-height:100vh}.about h2{font-size:clamp(42px,4.2vw,67px)}.outro h2{font-size:clamp(46px,5vw,80px)}@media(max-width:800px){:root{--gutter:24px}.masthead{padding-top:18px}.wordmark{font-size:34px}.masthead nav{gap:15px}.masthead nav a{font-size:10px}.grain{background:linear-gradient(#242722f2,#242722e8 55%,#24272280 80%,#24272210)}.webgl:not(.static-view) .copy{top:130px;transform:none;width:calc(100% - 48px)}h1{font-size:clamp(65px,16vw,100px)}h2,.about h2,.outro h2{font-size:44px}.eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:22px}.description{font-size:14px;line-height:1.7;margin-bottom:18px}.visit{font-size:12px;gap:14px}.chapter-note{font-size:8px;margin-top:18px}.webgl:not(.static-view) .fallback-image{display:block;margin-top:20px}.webgl:not(.static-view) .project .chapter-note{display:none}.studio-controls{left:18px;right:18px;height:58px;padding-inline:0}#chapter-label{font-size:7px;letter-spacing:1px;max-width:160px}#motion-toggle{font-size:10px;padding:0}.chapter{padding:130px var(--gutter) 100px;min-height:100vh}.profile-note{font-size:13px}.profile{font-size:12px}.outro .visit{font-size:11px}}@media(max-width:360px){:root{--gutter:18px}.masthead nav{gap:10px}.masthead nav a{font-size:9px}.webgl:not(.static-view) .copy{width:calc(100% - 36px);top:120px}h2,.about h2,.outro h2{font-size:40px}.description br{display:none}.description{max-width:270px}.eyebrow{max-width:270px}.visit{font-size:11px}.outro .visit{font-size:10px}.studio-controls{left:12px;right:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* V5: phase-coupled optical dissolve, never a binary clipped reveal. */
.webgl:not(.static-view) .present .copy{visibility:visible;opacity:var(--presence,1);clip-path:none;transform:translateY(calc(-50% + var(--drift,0px)));pointer-events:none}.webgl:not(.static-view) .active .copy{opacity:var(--presence,1);clip-path:none;pointer-events:auto}.webgl:not(.static-view) .copy{will-change:transform,opacity}@media(max-width:800px){.webgl:not(.static-view) .present .copy{transform:translateY(var(--drift,0px));}}

/* Local atelier finish: one arrival, then only user-driven movement. */
.webgl #stage canvas{opacity:0}.webgl.room-ready #stage canvas{opacity:1;animation:room-arrival 900ms cubic-bezier(.2,.7,.2,1) both}@keyframes room-arrival{from{opacity:0;filter:brightness(.45)}to{opacity:1;filter:brightness(1)}}
.eyebrow{display:flex;align-items:center;gap:14px}.eyebrow:before{content:"";width:24px;height:1px;background:currentColor;flex-shrink:0}
.webgl:not(.static-view) .present .copy h2{transform:translateY(calc((1 - var(--presence,1))*12px))}.visit span{transition:transform 180ms ease}.visit:hover span{transform:translate(3px,-3px)}
@media(prefers-reduced-motion:reduce){.webgl.room-ready #stage canvas{animation:none}.visit span{transition:none}}

/* V7 / architectural editorial identity. Locally hosted type; no remote assets. */
.physical-hint{position:fixed;right:var(--gutter);top:96px;z-index:9;font-size:9px;letter-spacing:1.5px;color:var(--accent);padding-bottom:9px;border-bottom:1px solid #d5b79770;pointer-events:none}.physical-hint[hidden],.static-view .physical-hint{display:none}
:root{--bg:#22272c;--ink:#f1ece2;--muted:#c8c7c3;--accent:#d5b797;--gutter:clamp(28px,5vw,88px)}
.grain{background:linear-gradient(90deg,#171c22f5,#171c22ee 30%,#171c22d9 36%,#171c2240 49%,transparent 65%)}
.masthead{padding-top:27px;background:linear-gradient(#20262bd9,transparent)}
.wordmark{font-family:Georgia,serif;font-style:italic;font-weight:normal;font-size:46px;letter-spacing:-5px}
.masthead nav{gap:34px}.masthead nav a{font-size:11px;letter-spacing:.07em}
h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(86px,8.6vw,136px);letter-spacing:-.065em;line-height:.94;margin-bottom:26px}h1 br+*{font-style:italic}
h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.02;font-size:clamp(50px,4.9vw,76px)}
.intro .copy{width:550px}.eyebrow{font-size:9px;letter-spacing:2.1px;margin-bottom:27px;color:var(--accent)}
.description{font-size:15px;line-height:1.85;letter-spacing:.012em}.chapter-note{font-size:8px;letter-spacing:1.9px}
.visit{font-size:12px;letter-spacing:.02em;border-color:#d5b79770;min-width:190px}.visit span{color:var(--accent)}
.monitor-index{display:flex;gap:24px;margin-top:28px;padding-top:14px;border-top:1px solid #b9b4a82a;width:fit-content}.monitor-index a{font-size:9px;line-height:1.6;min-height:44px;display:flex;align-items:center;gap:12px;color:var(--muted)}.monitor-index a:hover{color:var(--accent)}
.studio-controls{height:60px;background:none;padding:0;border-top:1px solid #d4cbb02c}.studio-controls:before{content:'';position:absolute;inset:-14px -20px 0;z-index:-1;background:linear-gradient(transparent,#161c21bd)}
#chapter-label{font-size:8px;letter-spacing:1.7px}#motion-toggle{font-size:10px}.progress{height:1px}.progress i{height:1px}
.webgl #stage canvas{opacity:1}.webgl.room-ready #stage canvas{animation:none}
.static-view .grain{background:#22272cee}.static-view .intro .copy{width:100%}.static-view h1{font-size:clamp(72px,9vw,130px)}
@media(min-width:801px) and (max-width:1100px){:root{--gutter:32px}.copy{width:330px}.intro .copy{width:390px}h1{font-size:88px}h2,.about h2,.outro h2{font-size:52px}.eyebrow{font-size:8px}.description{font-size:14px}.monitor-index{gap:18px}.monitor-index a{font-size:8px}}
@media(max-width:800px){:root{--gutter:24px}.grain{background:linear-gradient(#22272cfb,#22272cf2 55%,#22272cbd 80%,#22272c75)}.masthead{padding-top:18px}.masthead nav{gap:16px}.masthead nav a{font-size:9px}.wordmark{font-size:38px}.intro .copy{width:calc(100% - 48px)}h1{font-size:clamp(68px,17vw,108px);line-height:.93}h2,.about h2,.outro h2{font-size:46px}.eyebrow{font-size:8px;margin-bottom:24px}.description{font-size:14px;line-height:1.8}.monitor-index{display:block;width:100%;margin-top:22px;padding-top:9px}.monitor-index a{min-height:44px;font-size:10px;justify-content:space-between}.fallback-image{box-shadow:0 18px 50px #0004;border:1px solid #c8b89840}.studio-controls{height:58px;left:24px;right:24px}#chapter-label{font-size:7px}.webgl:not(.static-view) .copy{top:145px}.webgl:not(.static-view) .project .copy{top:140px}.chapter-note{font-size:8px}}
@media(max-width:360px){:root{--gutter:18px}.masthead nav{gap:12px}.masthead nav a{font-size:8px}.webgl:not(.static-view) .copy{top:130px}.intro .copy{width:calc(100% - 36px)}h1{font-size:67px}h2,.about h2,.outro h2{font-size:40px}.description{font-size:13px}.studio-controls{left:18px;right:18px}.monitor-index{margin-top:16px}.chapter-note{letter-spacing:1.4px}}

/* V8: two compact controls, no opaque full-span tray. */
.studio-controls{height:64px;border:0;background:transparent;bottom:12px;pointer-events:none}
.studio-controls:before{display:none}#chapter-label,#motion-toggle{pointer-events:auto;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0 10px;min-height:44px;display:flex;align-items:center;color:#f1ece2;text-shadow:0 1px 5px #10161f,0 0 12px #10161f}#chapter-label{font-size:8px;pointer-events:none}.progress{width:24px;left:10px;right:auto;bottom:8px;background:#ffffff25}
