/* Let the rooms carry the page. Keep labels available to assistive technology. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
:root{--sc-canvas:#10110f}
html,body,.room-panel{background:#10110f}
.scene-shade,.room-entrance .scene-shade{background:linear-gradient(180deg,#07080726,transparent 16%,transparent 85%,#0708073d)}
.entry-frame,.hello-tag{display:none!important}
.house-controls{box-sizing:border-box;height:94px;padding:18px var(--gutter) calc(18px + env(safe-area-inset-bottom));font-size:11px;background:linear-gradient(0deg,#08090866,transparent)}
.scroll-cue{display:flex;align-items:center;gap:18px;letter-spacing:.04em}
.scroll-cue svg{height:24px;width:16px;stroke-width:1}
.controls-right{gap:28px}
#motion-toggle,#room-sound,:is(#car-sound,#room-sound){min-height:44px;width:auto;padding:0;gap:9px;font-size:11px}
#motion-toggle span,#room-sound span,#car-sound span{display:inline}
.step-nav button{width:44px;height:44px;border-color:#ffffff2b;background:#15161018}
.step-nav button:not(:disabled):hover{background:#ffffff15}
.day-progress{height:1px;background:#ffffff18}.day-progress i{background:#ede7d1}
.brand-header .menu-toggle{padding:10px;border:1px solid #ffffff28;border-radius:50%}
.brand-header .menu-toggle:hover{background:#ffffff10}
/* A visual room selector, without timestamps, taglines, or extra interface copy. */
#room-menu{background:#10110f;box-sizing:border-box;padding-bottom:max(32px,env(safe-area-inset-bottom))}
#room-menu::backdrop{background:#10110f}
.menu-head{box-sizing:border-box;height:136px;padding:28px var(--gutter);position:relative}
.menu-wordmark{font-family:'Bodoni Moda','Didot',serif;font-weight:900;font-variation-settings:'wght' 900,'opsz' 72;font-size:64px;letter-spacing:-.065em;transform:scaleX(.79);transform-origin:left}
.menu-close{width:44px;height:44px;padding:0;display:grid;place-items:center;border:1px solid #ffffff28;border-radius:50%}
.menu-close:hover{background:#ffffff10}
.house-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:clamp(40px,9vh,110px) var(--gutter) 48px;max-width:1840px;margin:auto}
.house-gallery .room-link{display:block;position:relative;padding:0;border:0;border-radius:3px;aspect-ratio:1672/941;isolation:isolate;background:#1e211a;transition:transform .25s,box-shadow .25s}
.house-gallery .room-link img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;opacity:.72;transition:opacity .25s}
.house-gallery .room-link:hover,.house-gallery .room-link[aria-current="location"]{padding:0;transform:translateY(-4px);box-shadow:0 0 0 1px #f5f0de55,0 12px 35px #0005}
.house-gallery .room-link:hover img,.house-gallery .room-link[aria-current="location"] img,.house-gallery .room-link:focus-visible img{opacity:1}
.room-selected{position:absolute;right:14px;bottom:14px;width:7px;height:7px;background:#fff9e4;border-radius:50%;box-shadow:0 0 0 5px #10110f55;opacity:0}
[aria-current="location"] .room-selected{opacity:1}
@media(max-width:1100px){.house-gallery{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:24px;max-width:920px;gap:20px}.menu-head{height:112px}.menu-wordmark{font-size:56px}}
@media(max-width:850px){.room .scene-frame{background:#10110f}.room .composition{mask-image:none}.room .scene-shade{background:linear-gradient(180deg,#08090822,transparent 18%,transparent 82%,#08090822)}}
@media(max-width:600px){.house-controls{height:88px;padding:12px 18px calc(12px + env(safe-area-inset-bottom))}.controls-right{gap:16px}.scroll-cue{gap:8px;font-size:10px}.scroll-cue svg{width:13px;height:20px}.step-nav{display:none}#motion-toggle,#room-sound,:is(#car-sound,#room-sound){font-size:10px;gap:6px}.house-gallery{gap:16px;padding:18px 20px 32px}.house-gallery .room-link{aspect-ratio:1.48}.house-gallery .room-link img{object-fit:contain}.menu-head{height:112px;padding:22px 20px}.menu-wordmark{font-size:40px;white-space:nowrap}.room-selected{right:10px;bottom:10px;width:5px;height:5px}.brand-header .menu-toggle{border:0}}
@media(prefers-reduced-motion:reduce){.house-gallery .room-link{transition:none}.house-gallery .room-link:hover,.house-gallery .room-link[aria-current="location"]{transform:none}}
.menu-stage{max-width:1720px;min-height:calc(100svh - 235px);margin:auto;padding:0 var(--gutter);display:grid;grid-template-columns:1.7fr 1fr;align-items:center;gap:4vw}
.menu-stage .house-gallery{padding:24px 0;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;width:100%;max-width:none}
.menu-dancer{position:relative;height:min(66vh,740px);width:100%;display:grid;place-items:center;isolation:isolate}
.menu-dancer:before{content:'';position:absolute;inset:5% -10% 10%;z-index:-1;background:radial-gradient(ellipse,#eee1b50b,transparent 67%)}
.menu-dancer:after{content:'';position:absolute;bottom:1%;left:20%;right:20%;height:24px;background:#0009;border-radius:50%;filter:blur(14px);z-index:-1}
.menu-dancer canvas{position:absolute;inset:0;display:block;height:100%;width:100%;object-fit:contain;pointer-events:none}
.menu-dancer video{display:none!important;pointer-events:none}
.menu-controls{display:flex;gap:28px;justify-content:flex-end;padding:16px var(--gutter) 0}
.menu-controls button{display:flex;align-items:center;gap:8px;font-size:11px;min-height:44px}.menu-controls svg{width:17px;height:17px}
:is(#car-sound,#room-sound){padding:0 15px;min-height:46px;gap:9px;border:1px solid #ffffff70;border-radius:999px;background:#11150fe8;box-shadow:0 5px 22px #0004;font-size:12px;color:#fff9e9}
:is(#car-sound,#room-sound):hover{background:#263020;border-color:#fff9e9}
:is(#car-sound,#room-sound):focus-visible{outline:2px solid #fff2bd;outline-offset:4px}
:is(#car-sound,#room-sound,.speaker-hit) .sound-switch{display:block;position:relative;width:30px;height:18px;border-radius:20px;background:#666b62;flex-shrink:0;transition:background .18s}
:is(#car-sound,#room-sound,.speaker-hit) .sound-switch:after{content:'';position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .18s}
:is(#car-sound,#room-sound,.speaker-hit)[aria-pressed=true] .sound-switch{background:#9dad67}
:is(#car-sound,#room-sound,.speaker-hit)[aria-pressed=true] .sound-switch:after{transform:translateX(12px)}
.vehicle-music-label{position:absolute;left:52%;top:7%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 13px;border:1px solid #ffffff99;border-radius:999px;color:#fff9e9;background:#10140ff0;box-shadow:0 4px 18px #0005;font:500 12px/1.1 system-ui}
.music-indicator{font-size:18px;color:#e9e5c7}
.vehicle-hit[aria-pressed=true] .music-indicator{color:#cfe694}
.vehicle-hit:focus-visible .vehicle-music-label{outline:2px solid #fff2bd;outline-offset:3px}
@media(max-width:600px){:is(#car-sound,#room-sound){padding:0 10px;font-size:11px;min-height:44px;gap:7px}.vehicle-music-label{font-size:10px;padding:8px 10px;gap:5px}.vehicle-music-label .music-indicator{font-size:14px}}
@media(max-width:1000px){.menu-stage{grid-template-columns:1.5fr 1fr;gap:20px}.menu-stage .house-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.menu-dancer{height:min(60vh,580px)}}
@media(max-width:600px){.menu-head{position:sticky;top:0;background:#10110ff5;z-index:2}.menu-stage{display:flex;flex-direction:column-reverse;padding:0 20px;gap:0;min-height:0}.menu-dancer{height:250px;width:220px;margin:4px auto 12px}.menu-stage .house-gallery{padding:12px 0;gap:14px}.menu-controls{padding:4px 20px 0;justify-content:center}.menu-stage .room-link{aspect-ratio:1672/941}.menu-dancer:after{bottom:0;height:14px}}

/* Persistent music controls are anchored to each physical music device. */
.speaker-music-label{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);display:flex;align-items:center;gap:8px;min-height:44px;box-sizing:border-box;white-space:nowrap;padding:8px 12px;border:1px solid #ffffff99;border-radius:999px;color:#fff9e9;background:#10140ff0;box-shadow:0 4px 18px #0005;font:500 12px/1.1 system-ui}
.speaker-music-label:after{content:"";position:absolute;top:100%;left:50%;height:8px;border-left:1px solid #fff9e999}
.speaker-hit:hover .speaker-music-label{background:#263020;border-color:#fff9e9}
.speaker-hit:focus-visible{outline:0}
.speaker-hit:focus-visible .speaker-music-label{outline:2px solid #fff2bd;outline-offset:3px}
.speaker-hit[aria-pressed=true] .music-indicator{color:#cfe694}
.speaker-hit[aria-pressed=true] .speaker-music-label{border-color:#cfe694}
@media(max-width:600px){.speaker-music-label{gap:6px;padding:7px 9px;font-size:11px}.speaker-music-label .music-indicator{font-size:15px}.speaker-hit .sound-switch{width:26px;height:16px}.speaker-hit .sound-switch:after{width:10px;height:10px}.speaker-hit[aria-pressed=true] .sound-switch:after{transform:translateX(10px)}}
@media(prefers-reduced-motion:reduce){.sound-switch,.sound-switch:after{transition:none!important}}
