:root{--ink:#030405;--text:#e9e9e7;--muted:#9b9fa5;--mint:#e1e6f0;--line:#92969d3b}html{scroll-behavior:smooth;scroll-padding-top:0}body{background:#030405}.header,.header.scrolled{height:94px;background:none;backdrop-filter:none;border:0}.brand{width:114px}.brand img{filter:brightness(0) invert(1)}#atmosphere{z-index:0;background:#030405}#water{opacity:1;transition:none}#rain{opacity:1}.header{pointer-events:none}.header>*{pointer-events:auto}.header-actions{font-size:12px;letter-spacing:.06em}main{position:relative}.installation{position:fixed;inset:0;z-index:2;pointer-events:none}.installation button{pointer-events:auto}.installation-caption{position:absolute;left:6vw;top:27%;font-family:var(--serif);writing-mode:vertical-rl;display:flex;gap:25px;align-items:center}.installation-caption p{font-size:clamp(35px,4vw,57px);letter-spacing:.27em;line-height:1.7}.installation-caption>span{font:12px var(--serif);letter-spacing:.17em;opacity:.6;display:none}.field-side{position:absolute;right:5.2vw;top:30%;writing-mode:vertical-rl;display:flex;align-items:center;gap:25px;font-size:12px;letter-spacing:.2em}.field-rule{height:80px;width:1px;background:#989ca744}.field-side>#phase-name{font-size:18px}.experience-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:155px;display:flex;align-items:center;justify-content:space-between;gap:25px}.purpose-entry{font-size:12px;letter-spacing:.12em;color:#b7b9bd}.purpose-entry:hover{color:white}.phase-picker{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:17px;align-items:center;color:#626671}.phase-picker button{font-size:14px;letter-spacing:.08em;min-width:34px;min-height:42px;text-align:center;transition:color .4s}.phase-picker button[aria-pressed=true]{color:#fff}.phase-picker>span{font-size:12px;color:#454a51}.spatial-nav{position:absolute;bottom:30px;left:var(--gutter);right:var(--gutter);display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #969da13b;pointer-events:auto}.spatial-nav :is(button,a){display:flex;gap:18px;align-items:center;min-height:84px;position:relative;transition:color .4s;text-align:center;justify-content:center;color:#b6b9bd}.spatial-nav :is(button,a)+button:before{content:'';height:13px;width:1px;background:#6c788242;position:absolute;left:0}.spatial-nav :is(button,a)>span{font:11px var(--sans);letter-spacing:.04em;opacity:.6}.spatial-nav :is(button,a)>strong{font:400 15px var(--serif);letter-spacing:.1em;white-space:nowrap}.spatial-nav :is(button,a):hover{color:white}.spatial-nav :is(button,a):after{content:'';position:absolute;left:0;right:0;top:-1px;background:white;height:1px;transform:scaleX(0);transition:transform .4s}.spatial-nav :is(button,a):hover:after,.spatial-nav :is(button,a):focus-visible:after{transform:scaleX(1)}.scroll-distance{height:250svh;pointer-events:none}body>footer{display:none}.rooms{position:fixed;left:auto;right:0;top:0;width:min(1080px,90vw);height:100dvh;background:rgba(6,8,10,.96);overflow:auto;color:#dedfdc;z-index:40;box-shadow:-60px 0 150px #0008}.rooms::backdrop{background:rgba(0,0,0,.25);backdrop-filter:blur(8px)}.room-top{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;height:84px;background:#080a0cef;z-index:3;border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.room-top img{width:92px;filter:brightness(0) invert(1)}.room-top button{font-size:12px;min-height:44px}.room-top button span{font:24px var(--sans);margin-left:18px;vertical-align:middle}.rooms .section{padding:65px 5vw 90px;max-width:none}.rooms .reading-world{background:none;padding:0}.rooms section[data-space]{display:none}.rooms section[data-space].is-open{display:block}.rooms .section-heading h2{font-size:50px}.rooms .section-heading{margin-bottom:40px}.rooms .philosophy{background:none;min-height:0}.rooms .philosophy-copy{padding-left:22%;margin-top:60px;font-size:18px}.rooms .philosophy-last{font-size:50px}.rooms .section-kicker{display:flex}.rooms .making,.rooms .people{border-top:0}.rooms .product-layout{gap:45px}.rooms .product-copy h3{font-size:45px}.rooms .work-grid{gap:22px}.rooms .work-card h3{font-size:17px}.rooms .people-feature{gap:50px}.rooms .person-voice blockquote{font-size:23px}.rooms .adventure{min-height:calc(100dvh - 84px);height:calc(100dvh - 84px);margin-top:0;position:relative;text-align:center}.rooms .adventure.is-open{display:flex;align-items:center;justify-content:center}.rooms .adventure h2{font-size:clamp(70px,9vw,120px)}.rooms .adventure-content{width:100%}.rooms .letter{background:none;min-height:calc(100dvh - 84px);padding-top:110px}.rooms .shelter-line{top:45px}.rooms .letter h2{font-size:55px}.reader{background:#e1e1dc}.reader-top{background:#e1e1dc}.menu-dialog{background:#06080bf7}.menu-dialog nav a{font-size:35px}.skip{z-index:90}.locked #water{filter:brightness(.65)}.locked .installation-caption{opacity:.3}.scroll-cue{display:none}
@media(min-width:1700px){.rooms .section{padding-left:70px;padding-right:70px}.rooms .philosophy,.rooms .letter{padding-left:70px;padding-right:70px}}@media(max-width:900px){.spatial-nav :is(button,a){gap:10px}.spatial-nav :is(button,a)>strong{font-size:13px;letter-spacing:.05em}.spatial-nav :is(button,a)>span{font-size:10px}.experience-bottom{bottom:155px}.purpose-entry{max-width:170px;line-height:1.8}.rooms{width:94vw}.rooms .section-heading h2{font-size:43px}.rooms .stories{column-gap:25px}.rooms .people-feature{gap:30px}.rooms .person-voice blockquote{font-size:21px}}
@media(max-width:600px){.header,.header.scrolled{height:78px;padding:0 24px}.brand{width:95px}.header-actions{gap:19px}.header #motion{position:static;border:0;background:none;backdrop-filter:none;padding:0;min-height:44px;font-size:10px}.sound #sound-text{display:none}.header #menu-open{font-size:12px}.installation-caption{left:24px;top:19%;writing-mode:horizontal-tb}.installation-caption p{font-size:27px;letter-spacing:.23em}.field-side{right:24px;top:25%;font-size:11px;letter-spacing:.16em;gap:18px}.field-side>#phase-name{font-size:16px}.field-rule{height:45px}.experience-bottom{bottom:190px;left:24px;right:24px;justify-content:center;flex-direction:column;gap:9px}.phase-picker{position:static;transform:none;order:0;gap:20px}.phase-picker button{font-size:14px;min-height:35px}.purpose-entry{order:2;font-size:11px;max-width:none;margin-top:6px}.spatial-nav{left:24px;right:24px;bottom:max(24px,env(safe-area-inset-bottom));grid-template-columns:repeat(3,minmax(0,1fr));row-gap:0}.spatial-nav :is(button,a){min-height:62px;gap:8px;justify-content:flex-start;padding-left:8px}.spatial-nav :is(button,a)>strong{font-size:12px;letter-spacing:.03em}.spatial-nav :is(button,a)>span{font-size:10px}.spatial-nav :is(button,a):nth-child(n+4){border-top:1px solid #969da124}.spatial-nav :is(button,a):nth-child(4):before{display:none}.rooms{width:100%;height:100dvh;box-shadow:none;background:#080a0cf7}.room-top{height:74px;padding:0 24px}.room-top img{width:86px}.room-top button{font-size:12px}.rooms .section{padding:50px 24px 80px}.rooms .section-heading h2{font-size:37px}.rooms .section-heading>p{font-size:12px}.rooms .product-layout{gap:35px}.rooms .product-copy h3{font-size:46px}.rooms .work-grid{gap:35px}.rooms .work-card h3{font-size:18px}.rooms .philosophy-copy{padding:0;margin-top:55px;font-size:15px}.rooms .philosophy-last{font-size:37px}.rooms .people-feature{gap:32px}.rooms .person-voice blockquote{font-size:22px}.rooms .letter h2{font-size:37px}.rooms .adventure{min-height:calc(100dvh - 74px);height:calc(100dvh - 74px)}.rooms .adventure h2{font-size:16vw}.rooms .letter{padding-top:110px}.menu-dialog nav a{font-size:25px}.scroll-distance{height:220svh}}@media(max-height:680px) and (max-width:600px){.installation-caption{top:16%;font-size:23px}.experience-bottom{bottom:161px;gap:2px}.purpose-entry{display:none}.spatial-nav :is(button,a){min-height:54px}.field-side{top:23%}.spatial-nav{bottom:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:600px){.experience-bottom{bottom:172px;gap:7px}.experience-bottom .purpose-entry{display:none}.installation-caption button{padding:4px 0}.phase-picker button{font-size:14px}.phase-picker{gap:17px}}@media(max-height:680px) and (max-width:600px){.experience-bottom{bottom:153px}.phase-picker button{min-height:30px}}
/* Revision 3 — the interface lives inside the reconstructed field. */
#atmosphere{touch-action:pan-y}.header,.header.scrolled{background:linear-gradient(180deg,#000b,transparent)}.installation-caption{left:var(--gutter);top:15%;writing-mode:horizontal-tb}.installation-caption p{font-size:26px;letter-spacing:.24em;text-shadow:0 1px 16px #000}.field-side{top:24%;right:var(--gutter);font-size:12px;text-shadow:0 1px 10px #000}.field-side .field-rule{height:115px;background:#ffffff4a}.experience-bottom{bottom:28px;align-items:flex-end}.experience-bottom .purpose-entry{display:none}.phase-picker{position:static;transform:none;gap:12px;background:#04070cb3;padding:0 13px;backdrop-filter:blur(12px);border:1px solid #cbd2da38}.phase-picker button{font-size:12px;min-height:39px}.spatial-nav{inset:0;display:block;border:0;pointer-events:none}.spatial-nav :is(button,a){pointer-events:auto;position:absolute;min-height:52px;padding:0 24px 0 16px;justify-content:flex-start;gap:15px;color:#e8e9e9;background:rgba(5,8,12,.68);backdrop-filter:blur(10px);border:1px solid #cbd2da44;box-shadow:0 4px 20px #0002;transition:background .4s,color .4s,transform .6s}.spatial-nav :is(button,a):before{display:none!important}.spatial-nav :is(button,a):after{transform:none;left:0;right:auto;width:22px;top:-1px;height:1px;background:#e8e9e9;transition:width .5s}.spatial-nav :is(button,a):hover{background:#dee3e6;color:#10141a;transform:translateX(6px)}.spatial-nav :is(button,a):hover:after{width:100%}.spatial-nav :is(button,a)>span{font-size:12px;opacity:.5}.spatial-nav :is(button,a)>strong{font-size:16px;letter-spacing:.14em}.spatial-nav :is(button,a):nth-child(1){left:7%;top:32%}.spatial-nav :is(button,a):nth-child(2){right:21%;top:19%}.spatial-nav :is(button,a):nth-child(3){right:7%;top:62%}.spatial-nav :is(button,a):nth-child(4){left:12%;top:70%}.spatial-nav :is(button,a):nth-child(5){left:46%;top:79%}.spatial-nav :is(button,a):nth-child(6){right:6%;top:81%}.locked .installation-caption{opacity:.15}.rooms{border-left:1px solid #aeb7c355}.rooms .room-top{background:#070a0ded}.rooms .section-heading h2{letter-spacing:.23em}.menu-dialog nav a:hover{padding-left:20px;transition:padding .3s}.header #menu-open{background:#05080b5c;padding:0 12px}.spatial-nav :is(button,a):focus-visible{outline:2px solid white;outline-offset:5px;background:#121920}
@media(max-width:900px){.spatial-nav :is(button,a){min-height:48px;padding:0 17px 0 13px;gap:11px}.spatial-nav :is(button,a)>strong{font-size:14px}.spatial-nav :is(button,a):nth-child(2){right:16%;top:19%}.spatial-nav :is(button,a):nth-child(5){left:43%;top:78%}}
@media(max-width:600px){.header,.header.scrolled{padding:0 20px;height:74px}.header-actions{gap:13px}.header #motion{font-size:11px}.header #menu-open{padding:0 8px}.installation-caption{left:22px;top:13%;}.installation-caption p{font-size:21px;letter-spacing:.18em}.field-side{top:44%;right:19px;gap:10px}.field-side>span:last-child{display:none}.field-side .field-rule{height:48px}.field-side>#phase-name{font-size:13px}.experience-bottom{bottom:max(22px,env(safe-area-inset-bottom));left:20px;right:20px;display:flex;flex-direction:row;justify-content:space-between;gap:8px;align-items:center}.phase-picker{gap:8px;padding:0 9px;order:0}.phase-picker button{min-width:23px;min-height:37px;font-size:12px}.phase-picker>span{font-size:10px}.spatial-nav{inset:0;display:block}.spatial-nav :is(button,a){min-height:46px;padding:0 13px 0 11px;gap:9px;border:1px solid #cbd2da55;background:#05090fbb}.spatial-nav :is(button,a)>span{font-size:10px}.spatial-nav :is(button,a)>strong{font-size:13px;letter-spacing:.1em}.spatial-nav :is(button,a):nth-child(1){left:20px;top:25%;right:auto}.spatial-nav :is(button,a):nth-child(2){right:20px;top:34%;left:auto}.spatial-nav :is(button,a):nth-child(3){left:20px;top:63%;right:auto}.spatial-nav :is(button,a):nth-child(4){right:20px;top:71%;left:auto}.spatial-nav :is(button,a):nth-child(5){right:20px;top:18%;left:auto}.spatial-nav :is(button,a):nth-child(6){left:20px;top:80%;right:auto}.spatial-nav :is(button,a):nth-child(n+4){border-top:1px solid #cbd2da55}.spatial-nav :is(button,a):hover{transform:none}.rooms .section-heading h2{letter-spacing:.15em}}
@media(max-height:680px) and (max-width:600px){.installation-caption{top:14%}.installation-caption p{font-size:18px}.spatial-nav :is(button,a){min-height:41px}.spatial-nav :is(button,a):nth-child(1){top:27%}.spatial-nav :is(button,a):nth-child(5){top:19%}.spatial-nav :is(button,a):nth-child(6){top:78%}.experience-bottom{bottom:13px}.phase-picker button{min-height:31px}.phase-picker{gap:6px}.field-side{top:47%}}
@media(prefers-reduced-motion:reduce){.spatial-nav :is(button,a){transition:none}.spatial-nav :is(button,a):hover{transform:none}}

body:not(.locked){-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body.locked{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.rooms[open]{animation:room-emerge .48s cubic-bezier(.2,.7,.25,1) both}@keyframes room-emerge{from{clip-path:inset(38% 0 38% 0);opacity:.35}to{clip-path:inset(0 0 0 0);opacity:1}}@media(prefers-reduced-motion:reduce){.rooms[open]{animation:none}}

/* Revision 4: actual rain footage, with a native-video fallback. */
#rain-footage{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1) brightness(.66) contrast(1.2);pointer-events:none}
#atmosphere #water{opacity:0}#atmosphere #water.ready{opacity:1}
#atmosphere{background:#080b0d url('assets/rain-closeup-poster.jpg') center/cover no-repeat}

/* The brand stays intact above the reconstructed rain in every state. */
.installation-wordmark{position:absolute;left:50%;top:51%;width:min(82vw,1280px);height:auto;transform:translate(-50%,-50%);filter:brightness(0) invert(1);opacity:.87;pointer-events:none;user-select:none}
@media(max-width:600px){.installation-wordmark{width:88vw}}

/* A seventh fragment opens the existing MailPoet-hosted form in its own room. */
.spatial-nav :is(button,a):nth-child(7){left:8%;top:83%}
.newsletter-copy{max-width:650px;margin:52px 0 34px}
.newsletter-copy h3{font:400 clamp(24px,3vw,34px)/1.8 var(--serif);letter-spacing:.08em;margin-bottom:20px}
.newsletter-copy>p{font:400 16px/2.2 var(--serif);letter-spacing:.06em}
.newsletter-form{position:relative;max-width:620px;padding:16px;background:#e9e9e3;border:1px solid #cbd2da44;color:#28303d}
.newsletter-form iframe{display:block;width:100%;height:210px;border:0;background:#e9e9e3;color-scheme:light}
.newsletter-loading{padding:8px 20px;font:12px/1.8 var(--sans)}
.newsletter-note{margin:25px 0 20px;font:12px/2 var(--sans);color:#aeb3b9;letter-spacing:.04em}
.newsletter-fallback{display:inline-block;font:11px/1.9 var(--sans);color:#aeb3b9;text-underline-offset:6px;text-decoration:underline}
.newsletter-fallback:hover{color:white}
@media(max-width:600px){.spatial-nav :is(button,a):nth-child(7){left:auto;right:20px;top:80%}.rooms .newsletter .section-heading h2{font-size:clamp(27px,7.6vw,37px);letter-spacing:.08em}.newsletter-copy{margin:34px 0 25px}.newsletter-copy>p{font-size:14px;letter-spacing:0}.newsletter-form{padding:0}.newsletter-note{font-size:11px}}
@media(max-height:680px) and (max-width:600px){.spatial-nav :is(button,a):nth-child(7){top:78%}}

@media(max-width:380px){.menu-dialog nav a{font-size:22px;gap:12px}.menu-dialog nav small{font-size:9px}}

/* Keep signup quiet and readable; let short landscape screens breathe. */
.rooms[data-room=newsletter]{width:min(760px,100vw)}
.rooms .newsletter{padding:64px clamp(24px,5vw,64px) 80px}
.rooms .newsletter .section-heading{margin-bottom:44px}
.rooms .newsletter .section-heading h2{font-size:clamp(28px,4vw,42px);letter-spacing:.12em}
.newsletter-copy{margin:0 0 32px}
.newsletter-copy h3{font-size:clamp(23px,3vw,29px);margin-bottom:15px}
.newsletter-copy>p{font-size:16px;letter-spacing:0;line-height:2}
.newsletter-note{font-size:13px;line-height:2}
.newsletter-fallback{font-size:13px;min-height:44px;padding:10px 0}
.newsletter-form{padding:8px}
.newsletter-loading{font-size:13px;line-height:1.8}
@media(max-width:600px){
 .spatial-nav :is(button,a){min-height:46px}
 .spatial-nav :is(button,a)>strong{font-size:14px;letter-spacing:.04em}
 .rooms .newsletter{padding:42px 24px 64px}
 .rooms .newsletter .section-heading h2{font-size:clamp(27px,7.6vw,37px);letter-spacing:.06em}
 .newsletter-form{padding:0}
 .newsletter-copy>p{font-size:clamp(14px,4vw,16px)}
}
@media(orientation:landscape) and (max-height:500px) and (min-width:540px){
 .header,.header.scrolled{height:58px;padding:0 20px}
 .brand{width:88px}
 .installation-caption{left:50%;top:64px;transform:translateX(-50%)}
 .installation-caption p{font-size:18px;white-space:nowrap}
 .installation-wordmark{top:48%;width:min(52vw,calc((100svh - 240px)*3.17))}
 .field-side{display:none}
 .experience-bottom{top:63px;bottom:auto;left:20px;right:20px;display:flex;flex-direction:row;align-items:flex-start;gap:12px}
 .phase-picker{gap:6px;padding:0 7px}
 .phase-picker button{min-height:32px;font-size:12px;min-width:23px}
 .spatial-nav{inset:auto 20px max(12px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;pointer-events:none}
 .spatial-nav :is(button,a):nth-child(n){position:relative;inset:auto;min-height:44px;width:100%;padding:0 4px;gap:4px;justify-content:center}
 .spatial-nav :is(button,a)>span{font-size:10px}
 .spatial-nav :is(button,a)>strong{font-size:13px;letter-spacing:0}
 .rooms .room-top{height:58px}
 .rooms .newsletter{padding-top:30px}
}

.journal-count{font:13px/1.8 var(--sans);color:var(--muted);margin:18px 0 30px;letter-spacing:.04em}

/* Portraits are composed as individual full frames, never stretched over the viewport. */
.header .brand{width:42px;flex-shrink:0}.header .brand img{width:100%;height:auto}
.people-preview{position:absolute;left:50%;top:47%;width:min(75vw,1140px);transform:translate(-50%,-45%);display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(8px,1.2vw,18px);opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s;pointer-events:none}
.people-preview figure{margin:0;min-width:0;background:rgba(4,8,10,.7)}
.people-preview img{display:block;width:100%;height:auto;aspect-ratio:440/516;object-fit:cover;object-position:center top;filter:grayscale(1) brightness(1.12);background:rgba(4,8,10,.8)}
.people-preview figcaption{padding:12px 3px 14px;text-align:center;font-size:clamp(12px,1.1vw,15px);letter-spacing:.02em;line-height:1.5;white-space:nowrap}
.people-previewing .people-preview{opacity:1;visibility:visible}
.installation-wordmark{transition:opacity .4s}
.people-previewing .installation-wordmark{opacity:.08}
.locked .people-preview{opacity:0;visibility:hidden}
@media(max-width:900px){.people-preview{width:65vw;grid-template-columns:repeat(4,minmax(0,1fr));top:46%;gap:8px}.people-preview img{max-height:17vh}.people-preview figcaption{font-size:12px;padding:6px 2px}.header .brand{width:38px}}
@media(prefers-reduced-motion:reduce){.people-preview,.installation-wordmark{transition:none}}

.people-preview img[src$="osawa.jpg"]{object-position:53% 18%}.people-preview img[src$="yamamoto.jpg"]{object-position:52% 18%}
