/* Scope: isolated OK lab. The existing editorial grid, images, sounds and sequence remain authoritative. */
.listen-stage p { transform:scale(calc(.48 + var(--progress,0)*.52));transform-origin:50% 55%; }
.noise-music i { transform-origin:50% 50%; }
.noise-cut { overflow:clip; }
html.js:not(.scene-assets-ready) .hero-photo--casino,
html.js:not(.scene-assets-ready) .chandelier-ceiling,
html.js:not(.scene-assets-ready) .chandelier-visual,
html.js:not(.scene-assets-ready) .lamp-state-patch,
html.js:not(.scene-assets-ready) .door-visual,
html.js:not(.scene-assets-ready) .ottoman-visual { background-image:none!important; }
html:not(.js) body { overflow:auto!important; }
html:not(.js) .entry-intro,html:not(.js) .hero-actions,html:not(.js) .header-actions,html:not(.js) .noise-dot { display:none!important; }
html:not(.js) .reveal,html:not(.js) .hero-copy { opacity:1!important;transform:none!important;visibility:visible!important; }
html:not(.js) .full-menu { position:relative;inset:auto;display:block;visibility:visible;opacity:1;transform:none;height:auto;min-height:0;padding-top:130px; }
html:not(.js) .menu-links { display:flex;gap:20px;flex-wrap:wrap; }
html:not(.js) .menu-link { font-size:24px; }
html:not(.js) .host-panel { display:block;grid-template-rows:1fr;opacity:1;visibility:visible; }
html:not(.js) .host-panel-content { min-height:0;padding:24px; }
html:not(.js) .journey-step { clip-path:none!important; }
html:not(.js) .process-list .journey-step > p { max-height:none;opacity:1;visibility:visible; }
html:not(.js) .noise-music i { transform:none!important; }
html:not(.js) .contact-form { display:none; }
html:not(.js) .studio-sequence { height:auto; }
html:not(.js) .studio-sequence-stage { position:relative;height:auto;min-height:70vh; }
.language-switch a { border:0;background:none;color:inherit;opacity:.55;padding:10px 2px;font:inherit;text-decoration:none; }
.language-switch a[aria-current="page"] { opacity:1;text-decoration:underline;text-underline-offset:5px; }
@media(prefers-reduced-motion:reduce){.listen-stage p{transform:none}.noise-music i{transform:none!important}}
/* iPhone: keep the photo and every registered object on the same cover crop. */
@media(max-width:780px){
  .hero-photo--casino { background-position:50% 50%; }
  /* The absolutely positioned image plane supplies no intrinsic grid width. */
  .noise-picture { width:100%;width:min(100%,32.25svh); }
  .sound-toggle > .sound-bars { display:flex; }
}
@media(max-width:960px) and (max-height:500px) and (orientation:landscape){
  .noise-picture { width:min(100%,42svh);max-height:56svh;justify-self:end; }
}
