:root{color-scheme:dark;--black:#030303;--white:#f1f0ed;--silver:#9b9d9f;--line:rgba(255,255,255,.22);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-synthesis:none;background:var(--black);color:var(--white)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--black)}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid white;outline-offset:8px}::selection{background:#eee;color:#111}.mono{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:12px;letter-spacing:.11em;line-height:1.6}.skip{position:fixed;z-index:10;top:15px;left:20px;padding:12px 20px;color:#000;background:#fff;transform:translateY(-160%)}.skip:focus{transform:none}
.stage{position:fixed;inset:0;pointer-events:none;overflow:hidden;background:#030303}.stage canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity 1.4s}.stage.ready canvas{opacity:1}.fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7;transition:opacity 1.4s}.stage.ready .fallback{opacity:0}.vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 30%,transparent 62%,rgba(0,0,0,.28));pointer-events:none}.grain{position:fixed;inset:0;z-index:3;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.8' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.masthead{position:absolute;z-index:5;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;padding:34px 4.4vw}.wordmark{font-size:28px;font-weight:400;letter-spacing:-1.3px}.wordmark-dot{font-size:10px;vertical-align:top;display:inline-block;margin:5px 0 0 4px;letter-spacing:0}.chapter-link{font-size:14px;display:flex;gap:25px;align-items:center}.chapter-link span{font-size:20px}.chapter-link:hover{color:#a9a9a9}
main{position:relative;z-index:2}.scene{position:relative;min-height:780px;height:100svh}.opening{height:110svh;min-height:840px}.edition{position:absolute;top:150px;left:4.4vw;color:#a7a7a7}.side-note{position:absolute;right:4.4vw;top:34%;display:flex;flex-direction:column;gap:5px;font-size:11px;color:#909090}.hero-copy{position:absolute;left:4.4vw;bottom:20%;max-width:92vw}.eyebrow{font-size:15px;line-height:1.5;margin:0 0 20px;font-weight:400;color:#c4c4c4}.hero-copy h1{font-size:clamp(64px,7.5vw,124px);line-height:.99;letter-spacing:-.065em;font-weight:300;margin:0}.hero-copy h1 span{color:#9d9d9f}.scroll-cue{position:absolute;bottom:12%;left:4.4vw;display:flex;align-items:center;gap:18px;font-size:11px}.scroll-line{width:1px;height:35px;background:#5e5e5e;position:relative;overflow:hidden}.scroll-line:after{content:"";position:absolute;width:1px;height:13px;top:0;left:0;background:white;animation:scroll-cue 2.6s infinite}.coordinate{position:absolute;right:4.4vw;bottom:12%;font-size:11px;color:#818181;writing-mode:vertical-rl}.convergence{height:110svh;min-height:840px}.section-copy{position:absolute;top:30%;left:7.5vw}.section-copy h2{font-size:clamp(66px,7vw,118px);font-weight:300;letter-spacing:-.062em;line-height:1.02;margin:0}.section-copy h2 span{color:#a6a6a6}.description{font-size:17px;line-height:1.7;color:#a5a5a5;font-weight:400;margin-top:30px}.joining{position:absolute;bottom:12%;left:7.5vw;display:flex;align-items:center;gap:25px;color:#b0b0b0;font-size:11px}.joining-rule{width:80px;height:1px;background:linear-gradient(90deg,#777,#fff,#777)}
.announcement{height:110svh;min-height:860px;display:flex;align-items:center;justify-content:center;text-align:center}.announcement-copy{width:100%;padding:0 24px;margin-top:13vh}.announcement .eyebrow{margin-bottom:25px}.announcement h2{font-weight:300;font-size:clamp(55px,6.8vw,108px);letter-spacing:-.063em;line-height:1.04;margin:0}.announcement h2 span{color:#efefef}.announcement .description{margin:28px auto;color:#a8a8a8}.enter-link{display:inline-flex;gap:35px;align-items:center;padding:18px 0 16px;border-bottom:1px solid #777;font-size:15px;margin-top:10px;transition:gap .25s,border-color .25s}.enter-link span{font-size:24px;line-height:1}.enter-link:hover{gap:50px;border-color:white}footer{position:absolute;bottom:40px;left:4.4vw;right:4.4vw;display:flex;align-items:flex-end;justify-content:space-between;text-align:left}.footer-lockup{display:flex;flex-direction:column;font-size:25px;letter-spacing:-1px;line-height:1.05}.footer-lockup strong{font-size:34px;font-weight:650;letter-spacing:-1.6px}.footer-lockup>span{font-weight:300}footer p{color:#777;font-size:10px!important;margin:0}.back-top{font-size:11px;display:flex;gap:20px;color:#aaa}
.experience-controls{position:fixed;right:4.4vw;bottom:34px;z-index:6;transition:opacity .3s}.motion-button{display:flex;gap:10px;align-items:center;border:0;color:#999;background:rgba(3,3,3,.65);padding:10px 12px;cursor:pointer;font-size:12px;backdrop-filter:blur(8px)}.motion-button:hover{color:white}.motion-icon{font-size:14px;min-width:14px}.progress{position:fixed;z-index:6;left:0;bottom:0;right:0;height:2px;background:#141414}.progress span{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(0);background:#d6d6d6}.at-end .experience-controls{bottom:135px}.no-webgl .experience-controls{display:none}
@keyframes scroll-cue{0%{transform:translateY(-14px)}65%,100%{transform:translateY(38px)}}
@media(min-width:1800px){.scene{max-height:1350px}.hero-copy h1{font-size:138px}}
@media(max-width:760px){.masthead{padding:26px 6vw}.wordmark{font-size:24px}.chapter-link{font-size:12px;gap:10px}.chapter-link span{font-size:17px}.scene{min-height:740px}.opening{height:105svh;min-height:760px}.edition{left:6vw;top:110px;font-size:9px;letter-spacing:.075em}.side-note{display:none}.hero-copy{left:6vw;bottom:23%}.eyebrow{font-size:14px;margin-bottom:17px}.hero-copy h1{font-size:clamp(38px,10.4vw,78px);letter-spacing:-.067em;line-height:1.04}.scroll-cue{left:6vw;bottom:14%;font-size:10px;gap:14px}.coordinate{right:6vw;bottom:15%;font-size:9px}.convergence{height:110svh;min-height:780px}.section-copy{left:7vw;top:44%}.section-copy h2{font-size:clamp(55px,12vw,80px)}.description{font-size:16px;line-height:1.65;margin-top:22px}.joining{left:7vw;right:7vw;gap:14px;bottom:11%;font-size:9px;letter-spacing:.04em}.joining-rule{width:40px;flex-shrink:1}.announcement{height:100svh;min-height:740px}.announcement-copy{padding:0 6vw;margin-top:6vh}.announcement h2{font-size:clamp(33px,9.2vw,70px);line-height:1.08;letter-spacing:-.06em}.announcement .description{max-width:330px;margin:22px auto;font-size:15px}.desktop-break{display:none}.enter-link{font-size:14px;margin-top:5px;padding:15px 0;gap:25px}footer{bottom:30px;left:6vw;right:6vw;align-items:flex-end}.footer-lockup{font-size:21px}.footer-lockup strong{font-size:29px}footer p{display:none}.back-top{font-size:9px;gap:10px}.experience-controls{right:4vw;bottom:22px}.motion-button{font-size:11px;padding:10px}.at-end .experience-controls{bottom:120px}.fallback{object-fit:contain}}
@media(max-height:650px) and (min-width:761px){.scene{min-height:700px}.opening{min-height:760px}.edition{top:110px}.hero-copy h1{font-size:75px}.section-copy h2{font-size:80px}.announcement h2{font-size:75px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Keep small captions legible across phone sizes. */
.section-copy{right:7.5vw}.motion-paused .scroll-line:after{animation-play-state:paused}
.mono,.side-note,.scroll-cue,.coordinate,.joining,.back-top,footer p{font-size:12px!important}
@media(max-width:760px){.edition{font-size:11px!important}.joining{letter-spacing:0;gap:12px}.joining-rule{width:24px}.coordinate{display:none}.back-top{font-size:11px!important}}

.at-end .experience-controls{top:22px;bottom:auto}
@media(max-width:400px){.footer-lockup strong{font-size:24px;letter-spacing:-1.1px}.back-top{gap:8px}}
