/* A shared readable scale for captions, controls and the Lavana wordmark. */
:root{--text-body:clamp(16px,1.25vw,20px);--text-label:clamp(14px,1vw,16px);--text-small:13px}
.cinema-header{padding-block:26px;align-items:center}
.brand{top:25px}
.brand>span{font-size:clamp(42px,4vw,68px);letter-spacing:.16em;padding-left:.16em}
.brand small{font-size:15px;line-height:1.4;margin-top:9px;opacity:.95;letter-spacing:0}
.header-action{min-height:44px;font-size:var(--text-label);gap:12px}
.header-action svg{width:22px;height:22px}
.start-overlay .intro-tag,.dialog-kicker{font-size:var(--text-label)}
.start-overlay p{font-size:var(--text-body);line-height:1.85;margin-top:22px}
.primary-button{font-size:16px;min-height:52px;min-width:210px}
.load-status{width:210px;font-size:13px;margin-top:20px}
.load-status>b{font-size:13px}
.load-status>i{top:31px}
.scene-copy .chapter-eyebrow,.transition-kicker{font-size:var(--text-label);line-height:1.8;margin-bottom:12px;letter-spacing:0}
.scene-copy p,.land-copy p,.interior-copy p{font-size:var(--text-body);line-height:1.85;color:#eeeae2;margin-top:18px}
.scene-copy .subtle-link,.model-note{font-size:14px;line-height:1.8}
.model-note{opacity:.8;margin-top:14px}
.interior-copy h2{font-size:clamp(32px,3.2vw,52px);line-height:1.45}
.photo-scene .interior-photo{padding-top:130px}
.interior-navigation span{font-size:14px;letter-spacing:.12em}
.interior-controls .interior-navigation button{width:44px;height:44px;font-size:24px}
.interior-steps{gap:6px}
.interior-steps span{font-size:12px}
.interior-steps button{color:#e3dfd1b8}
.interior-steps button[aria-current=step]{color:#fff}
.transition-detail{font-size:var(--text-label);line-height:1.85;color:#f2dfbe;margin-top:20px}
.hud-cell{font-size:13px;line-height:1.65;opacity:.85}
.cell-b{font-size:12px}
.cell-d{font-size:16px}
.tracking-target>span{font-size:18px;width:190px;right:-204px}
.tracking-target small{font-size:12px;line-height:1.65;opacity:.9;white-space:normal}
.project-hotspots button>span{font-size:14px;line-height:1.7;padding:5px 10px}
.day-label,.night-label{font-size:14px}
.cinema-bottom button,.scroll-cue{font-size:14px;line-height:1.7}
.scene-counter{font-size:13px}
.scene-counter>span{opacity:.8}
.final-copy>span{font-size:var(--text-label)}
.final-copy>p{font-size:20px}
.replay-button{font-size:16px}
.chapter-list button{font-size:25px}
.chapter-list button>span,.chapter-list button small{font-size:14px;color:#c2cec5}
.gallery-filters button{font-size:16px}
.gallery-filters small{font-size:13px}
.gallery-item>span:last-child{font-size:16px;line-height:1.8;color:#d8dfd2;margin-top:12px}
.gallery-note{font-size:14px;line-height:1.9;color:#bdcbbf}
.lightbox-meta{font-size:16px}
.lightbox-meta output{font-size:14px}
.lightbox-bottom{font-size:16px;line-height:1.8}
.lightbox-bottom a{font-size:14px}

@media(max-width:700px),(max-width:1000px) and (orientation:portrait){
 :root{--text-body:16px;--text-label:14px}
 .brand{top:23px}
 .brand>span{font-size:clamp(34px,9vw,46px);letter-spacing:.13em;padding-left:.13em}
 .brand small{font-size:14px;margin-top:7px}
 .cinema-header{padding-block:19px}
 .header-action{min-width:38px;min-height:44px}
 .start-overlay{padding-top:118px;padding-bottom:90px}
 .start-overlay .intro-tag{font-size:14px;margin-bottom:14px}
 .start-overlay p{font-size:16px;margin-top:18px}
 .start-overlay .primary-button{margin-top:23px;min-width:200px}
 .load-status{width:200px;font-size:12px;margin-top:18px}
 .load-status>b{font-size:12px}
 .scene-copy p{font-size:16px;line-height:1.85;margin-top:14px}
 .scene-copy .chapter-eyebrow{font-size:14px;margin-bottom:9px}
 .land-copy{top:23%}
 .scene-copy .subtle-link,.model-note{font-size:13px}
 .architecture-copy p{max-width:none}
 .photo-scene .interior-photo{padding:112px 24px 344px}
 .interior-copy{left:24px;right:24px;bottom:178px}
 .interior-copy h2{font-size:clamp(29px,7.8vw,38px);line-height:1.4}
 .interior-copy .chapter-eyebrow{font-size:13px;line-height:1.7;margin-bottom:8px}
 .interior-copy p{font-size:15px;line-height:1.8;margin-top:9px}
 .interior-controls{left:24px;right:24px;bottom:66px}
 .interior-navigation{margin-bottom:8px}
 .interior-navigation span{font-size:14px}
 .interior-controls .interior-navigation button{width:44px;height:44px;font-size:23px}
 .interior-steps{gap:4px}
 .interior-steps button{height:44px;gap:8px}
 .interior-steps span{font-size:12px}
 .transition-kicker{font-size:14px;line-height:1.8;margin-bottom:14px}
 .transition-detail{font-size:13px;line-height:1.85;margin-top:18px}
 .hud-cell{font-size:11px}
 .cell-b{font-size:10px}
 .cell-d{font-size:14px}
 .tracking-target>span{font-size:15px;width:119px;right:-128px}
 .tracking-target small{font-size:11px}
 .cinema-bottom button,.scroll-cue,.scene-counter{font-size:12px}
 .cinema-bottom{bottom:22px}
 .scroll-cue{white-space:nowrap;bottom:49px}
 .final-copy>span{font-size:14px}
 .final-copy>p{font-size:18px}
 .replay-button{font-size:15px}
 .chapter-list button{font-size:23px;gap:16px}
 .chapter-list button>span,.chapter-list button small{font-size:13px}
 .gallery-item>span:last-child{font-size:14px}
 .gallery-note{font-size:13px}
 .lightbox-meta{font-size:14px}
 .lightbox-meta output{font-size:12px}
 .lightbox-bottom{font-size:14px}
 .lightbox-bottom a{font-size:13px}
}
@media(max-height:700px) and (max-width:600px){
 .start-overlay{padding-top:105px;padding-bottom:72px}
 .start-overlay h1{font-size:44px;line-height:1.3}
 .start-overlay .intro-tag{margin-bottom:8px}
 .start-overlay p{margin-top:12px}
 .start-overlay .primary-button{margin-top:16px}
 .load-status{margin-top:12px}
 .photo-scene .interior-photo{padding-top:104px;padding-bottom:326px}
 .interior-copy{bottom:174px}
 .interior-copy h2{font-size:28px}
 .interior-copy p{font-size:14px}
}
@media(max-height:600px) and (min-width:701px){
 .brand{top:17px}
 .brand>span{font-size:38px}
 .brand small{font-size:13px;margin-top:6px}
 .scene-copy p,.interior-copy p{font-size:15px;line-height:1.8;margin-top:10px}
 .scene-copy .chapter-eyebrow{font-size:13px;margin-bottom:8px}
 .interior-copy h2{font-size:30px}
 .photo-scene .interior-photo{padding-top:100px;padding-bottom:72px}
 .start-overlay p{font-size:15px}
 .start-overlay h1{font-size:48px}
 .primary-button{min-height:44px}
 .load-status{margin-top:12px}
}
