.hero-title-wall h1{font-size:clamp(3.2rem,6.5vw,6rem);letter-spacing:-.04em}.hero-rail h2,.room-label h2,.route-heading h2,.access h2{font-size:clamp(3.2rem,6vw,6rem);letter-spacing:-.04em}
.concept-line{margin:0;font:500 .62rem/1.5 var(--mono);text-transform:uppercase}
.threshold h2,.sequence h2,.visitor-body h2,.light-study h2,.sound-study h2,.pause h2,.sensory h2,.arrival h2,.conduct h2,.questions h2,.final-plan h2{margin:0;font:400 clamp(3.3rem,6.5vw,6rem)/.84 var(--display);letter-spacing:-.04em;text-transform:uppercase}

.threshold{display:grid;grid-template-columns:.35fr 1.2fr .45fr;gap:5vw;align-items:start;padding:clamp(90px,10vw,150px) clamp(22px,5vw,84px);background:var(--violet);color:var(--black)}.threshold-notes{align-self:end}.threshold-notes p{margin:0 0 36px}.threshold-notes span{display:block;border-top:1px solid;padding-top:12px;font:500 .6rem var(--mono);text-transform:uppercase}

.sequence{padding:clamp(90px,10vw,150px) clamp(22px,5vw,84px);background:var(--white);color:var(--black)}.sequence-copy{display:grid;grid-template-columns:1.15fr .55fr;gap:8vw;align-items:end;margin-bottom:70px}.sequence-copy p{max-width:52ch;margin:0}.sequence-line{position:relative;display:grid;grid-template-columns:repeat(6,1fr);margin:0;padding:0;list-style:none;border-top:2px solid var(--black)}.sequence-line::after{content:'';position:absolute;left:0;top:-8px;width:15px;height:15px;background:var(--violet)}.sequence-line li{display:grid;min-height:170px;padding:24px 16px;border-right:1px solid var(--black)}.sequence-line li:last-child{border:0}.sequence-line span,.sequence-line small{font:500 .6rem var(--mono)}.sequence-line strong{align-self:center;font:400 clamp(1.4rem,2.2vw,2.4rem)/1 var(--display);text-transform:uppercase}.sequence-line small{align-self:end}

.visitor-body{display:grid;grid-template-columns:1.25fr .75fr;min-height:85svh;background:#111318}.body-images{display:grid;grid-template-columns:1fr 1fr;min-width:0}.body-images figure{position:relative;margin:0;min-width:0;overflow:hidden}.body-images figure:first-child{margin-top:12vh}.body-images figure:last-child{margin-bottom:12vh}.body-images img{width:100%;height:100%;object-fit:cover}.body-images figcaption{position:absolute;left:14px;bottom:14px;padding:5px 7px;background:var(--black);font:500 .58rem var(--mono);text-transform:uppercase}.body-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(60px,8vw,120px) clamp(22px,5vw,70px)}.body-copy p{max-width:55ch;color:#c9cad0}

.light-study{position:relative;min-height:100svh;overflow:hidden}.light-study>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.light-caption{position:absolute;left:0;bottom:0;width:min(680px,55%);padding:clamp(28px,5vw,72px);background:var(--pink);color:var(--black)}.light-caption>span{font:500 .6rem var(--mono)}.light-caption h2{margin-top:36px}.light-caption p{max-width:55ch}

.sound-study{display:grid;grid-template-columns:.7fr 1.3fr;min-height:90svh;background:var(--black)}.sound-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(70px,9vw,140px) clamp(22px,5vw,72px)}.sound-copy p{max-width:55ch;color:#c6c7cd}.sound-scale{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;margin-top:50px;font:500 .58rem var(--mono);text-transform:uppercase}.sound-scale i{height:2px;background:linear-gradient(90deg,var(--cyan),var(--violet));transform-origin:left}.sound-study figure{position:relative;margin:0;min-width:0;overflow:hidden}.sound-study img{width:100%;height:100%;object-fit:cover}.sound-study figcaption{position:absolute;right:14px;top:78px;padding:6px 8px;background:var(--black);font:500 .58rem var(--mono);text-transform:uppercase}

.pause{padding:clamp(90px,10vw,150px) clamp(22px,5vw,84px);background:var(--cyan);color:var(--black)}.pause-copy{display:grid;grid-template-columns:1.1fr .55fr;gap:8vw;align-items:end;margin-bottom:60px}.pause-copy p{max-width:54ch;margin:0}.pause-strip{display:grid;grid-template-columns:repeat(4,1fr);height:clamp(280px,36vw,540px)}.pause-strip figure{position:relative;margin:0;overflow:hidden}.pause-strip figure:nth-child(even){margin-top:48px}.pause-strip img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}.pause-strip span{position:absolute;left:12px;bottom:12px;padding:5px 7px;background:var(--black);color:var(--white);font:500 .58rem var(--mono)}

.sensory{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;padding:clamp(90px,10vw,150px) clamp(22px,5vw,84px);background:#111318}.sensory>div:first-child p{max-width:52ch;color:#c8cad0}.sensory-map{align-self:end;border-top:1px solid #555861}.sensory-row{display:grid;grid-template-columns:.4fr repeat(4,1fr);gap:15px;padding:16px 0;border-bottom:1px solid #444750;font:500 .65rem var(--mono);text-align:center}.sensory-row>*:first-child{text-align:left;color:var(--cyan)}.sensory-head{color:var(--gray)}.sensory>small{grid-column:2;font:500 .58rem/1.5 var(--mono);color:var(--gray);text-transform:uppercase}

.arrival{padding:clamp(90px,10vw,150px) clamp(22px,5vw,84px);background:var(--white);color:var(--black)}.arrival h2{max-width:12ch;margin-bottom:64px}.arrival-path{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;border-top:2px solid}.arrival-path li{display:grid;min-height:250px;padding:24px;border-right:1px solid}.arrival-path li:last-child{border:0}.arrival-path span{font:500 .6rem var(--mono);color:#5842d5}.arrival-path strong{align-self:center;font:400 clamp(1.45rem,2.5vw,2.5rem)/1 var(--display);text-transform:uppercase}.arrival-path p{align-self:end;margin:0}

.conduct{display:grid;grid-template-columns:.65fr 1.35fr;background:var(--amber);color:var(--black)}.conduct-title{padding:clamp(80px,9vw,140px) clamp(22px,5vw,84px);background:var(--pink)}.conduct-rules{padding:clamp(80px,9vw,140px) clamp(22px,5vw,84px)}.conduct-rules article{display:grid;grid-template-columns:.65fr 1fr;gap:30px;padding:25px 0;border-bottom:1px solid}.conduct-rules strong{font:400 clamp(1.4rem,2.3vw,2.4rem)/1 var(--display);text-transform:uppercase}.conduct-rules p{margin:0}

.questions{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;padding:clamp(90px,10vw,150px) clamp(22px,5vw,84px);background:var(--black)}.questions>div:first-child p{max-width:50ch;color:#c6c8ce}.question-list{border-top:1px solid #5b5e66}.question-list details{border-bottom:1px solid #5b5e66}.question-list summary{position:relative;padding:22px 46px 22px 0;cursor:pointer;list-style:none;font:400 clamp(1.3rem,2.2vw,2.25rem)/1 var(--display);text-transform:uppercase}.question-list summary::after{content:'+';position:absolute;right:8px;color:var(--cyan)}.question-list details[open] summary::after{content:'–'}.question-list p{max-width:66ch;margin:0;padding:0 46px 24px 0;color:#c7c9cf}

.final-plan{display:grid;grid-template-columns:1.2fr .8fr;min-height:90svh;background:var(--violet);color:var(--black)}.final-aperture{min-width:0;overflow:hidden}.final-aperture img{width:100%;height:100%;object-fit:cover}.final-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(70px,9vw,140px) clamp(22px,5vw,72px)}.final-copy h2{margin:50px 0 24px}.final-copy p:not(.concept-line){max-width:52ch}.final-copy .plan-button{display:block;width:auto;margin-top:28px;text-align:center;text-decoration:none;background:var(--black)}.final-copy .plan-button:hover{background:var(--cyan)}

@media(max-width:900px){.threshold,.sequence-copy,.pause-copy,.sensory,.questions{grid-template-columns:1fr}.threshold{gap:44px}.sequence-line{grid-template-columns:repeat(3,1fr)}.sequence-line li:nth-child(3){border-right:0}.visitor-body,.sound-study,.final-plan{grid-template-columns:1fr}.body-images{min-height:70svh}.body-copy{order:-1}.sound-copy{order:2}.sound-study figure{min-height:70svh}.sensory>small{grid-column:auto}.arrival-path{grid-template-columns:1fr 1fr}.arrival-path li:nth-child(2){border-right:0}.conduct{grid-template-columns:1fr}.final-aperture{min-height:65svh}}
/* Physical offsets stay fluid and spectral scales use hard room colour, not decoration. */
.body-images figure:first-child{margin-top:clamp(2rem,8vw,7rem)}.body-images figure:last-child{margin-bottom:clamp(2rem,8vw,7rem)}.sound-scale i{background:var(--cyan)}
@media(max-width:650px){.threshold h2,.sequence h2,.visitor-body h2,.light-study h2,.sound-study h2,.pause h2,.sensory h2,.arrival h2,.conduct h2,.questions h2,.final-plan h2{font-size:clamp(2.7rem,13vw,4.4rem)}.threshold,.sequence,.pause,.sensory,.arrival,.questions{padding-inline:20px}.threshold{grid-template-columns:1fr}.sequence-line{grid-template-columns:1fr 1fr}.sequence-line li:nth-child(2n){border-right:0}.sequence-line li{min-height:140px}.body-images{grid-template-columns:1fr;min-height:auto}.body-images figure{height:55svh;margin:0!important}.light-study{min-height:88svh}.light-caption{width:100%}.sound-study figure{min-height:58svh}.sound-scale{grid-template-columns:1fr;gap:8px}.pause-strip{grid-template-columns:1fr 1fr;height:580px}.pause-strip figure:nth-child(even){margin-top:24px}.sensory-row{grid-template-columns:.35fr repeat(4,1fr);gap:5px;font-size:.52rem}.arrival-path{grid-template-columns:1fr}.arrival-path li{min-height:190px;border-right:0;border-bottom:1px solid}.conduct-title,.conduct-rules,.final-copy{padding-inline:20px}.conduct-rules article{grid-template-columns:1fr;gap:12px}.questions{gap:44px}.final-aperture{min-height:55svh}}
@media(max-width:650px){.threshold,.sequence-copy,.pause-copy,.sensory,.questions{grid-template-columns:minmax(0,1fr)}.threshold>*,.sequence>*,.pause>*,.sensory>*,.questions>*,.conduct>*,.final-plan>*{min-width:0}.threshold h2,.sequence h2,.sensory h2,.conduct h2{width:100%;overflow-wrap:anywhere}.room-controls>button{width:36px}.room-tabs{min-width:0}.room-tabs button{min-width:0}.sensory-map{width:100%;min-width:0}.sensory-row>*{min-width:0;overflow-wrap:anywhere}}

/* Room switcher: title, copy and the light/sound/access lines each wrap to a
   different depth per room, which shifted the page on narrow screens. Reserve
   the tallest room per band so switching only changes content. */
@media(max-width:620px){[data-room-title]{min-height:2lh}[data-room-copy]{min-height:2lh}[data-room-access],[data-room-light],[data-room-sound],[data-room-time]{min-height:2lh}}
@media(max-width:600px){[data-room-copy]{min-height:3lh}}
@media(max-width:430px){[data-room-copy]{min-height:4lh}[data-room-access]{min-height:3lh}}
/* Room titles run one to three lines, which pushed the time/light/sound notes
   down with them. Anchoring the notes to the bottom of the label column keeps
   them still while the title above is free to breathe. */
@media(min-width:621px){.room-label{display:flex;flex-direction:column}.room-notes{margin-top:auto}}
/* The difference-blend bar reads well over the hero, but on phones the big
   section headings pass straight through it and the nav becomes unreadable.
   Give the bar its own surface at that size. */
@media(max-width:620px){body header[class]{mix-blend-mode:normal;background:var(--black);color:var(--white)}}
/* Polish diacritics collided between lines at the old tight leading, and the
   longest words were being broken mid-syllable by the anywhere fallback.
   A smaller step plus room between baselines fixes both. */
@media(max-width:620px){.threshold h2,.sequence h2,.visitor-body h2,.light-study h2,.sound-study h2,.pause h2,.sensory h2,.arrival h2,.conduct h2,.questions h2,.final-plan h2{font-size:clamp(2.05rem,9.6vw,4.4rem);line-height:1}.hero-rail h2,.room-label h2,.route-heading h2,.access h2{line-height:.98}}
