/* V3.1: one room fills the chapter; the rest of the approved page stays in styles.css. */
@media (min-width:761px){
  .arrival-copy{padding-top:clamp(30px,4.8vh,64px)}
  .arrival h1{font-size:clamp(60px,6.2vw,112px);line-height:.99;max-width:1050px}
  .hero-title{max-width:70%}
  .hero-positioning{margin-bottom:20px}
  .arrival-intro{position:relative;inset:auto;margin-top:clamp(28px,5vh,64px);max-width:480px}
  .arrival-intro p{font-size:13px}
}
@media(min-width:1700px){.arrival-intro{max-width:540px}.arrival-intro p{font-size:15px}.arrival-copy{padding-top:56px}.arrival h1{font-size:clamp(100px,5.6vw,128px)}}
@media(min-width:761px) and (max-width:1100px){.hero-title{max-width:66%}.arrival h1{font-size:clamp(54px,6.2vw,68px)}.arrival-intro{max-width:400px}.arrival-intro p{font-size:11px}}

.stage{--room:#342a22;--room-text:#fffdf8;--room-muted:#e1d6c8;--focus:#f1cf92;background:var(--room);color:var(--room-text);padding:0;transition:background-color 1.1s}
.stage[data-scene="hospitality"]{--room:#20383e;--room-muted:#d4e5e7;--focus:#c0e8ed}
.stage[data-scene="dining"]{--room:#514839;--room-muted:#ece3d2;--focus:#f2ddba}
.journey{background:#342a22;border-radius:0;box-shadow:0 -20px 65px #1d1c1828}
.stage a:focus-visible,.stage button:focus-visible{outline-color:var(--focus)}
.viewport{inset:0;display:block;height:100%;width:100%;overflow:hidden}
.frame{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;background:var(--room)}
.film-layer img,.film-layer video,.camera-exit{object-fit:cover;object-position:50% 66%}
/* The same veil covers both loop and departure, so switching media cannot flash. */
.viewport::after{content:'';position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(180deg,#17181352 0%,transparent 36%,transparent 66%,#151714b8 100%),radial-gradient(ellipse at 0% 0%,#1b1916c7 0%,#1b19167a 25%,transparent 60%)}
.room-ambience{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:var(--room)}
.room-ambience img{position:absolute;inset:-5%;width:110%;height:110%;max-width:none;object-fit:cover;filter:blur(28px);opacity:0;transition:opacity 1.1s}
.stage[data-scene="residential"] .room-ambience [data-room="residential"],.stage[data-scene="hospitality"] .room-ambience [data-room="hospitality"],.stage[data-scene="dining"] .room-ambience [data-room="dining"]{opacity:.45}
.room-ambience::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#14161475,transparent 50%,#15171480)}
.scene-opening{z-index:7;top:31px;right:calc(var(--edge) + 110px);left:auto;color:var(--room-text);font-size:11px}
.scene-count{font-size:11px;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.scene-caption{inset:auto;top:clamp(65px,8vh,110px);left:var(--edge);right:auto;width:min(500px,48vw);bottom:auto}
.scene-heading{position:static;color:inherit;text-shadow:none;max-width:none}
.scene-heading::before{display:none}
.scene-category{display:none}
.scene-heading h2{font-family:Manrope,'Segoe UI',sans-serif;font-size:clamp(32px,3.4vw,54px);font-weight:400;line-height:1.12;letter-spacing:-.045em;max-width:none}
.scene-context{position:static;margin-top:19px;padding:0;width:auto;max-width:310px;background:none;backdrop-filter:none;box-shadow:none;color:inherit;pointer-events:auto}
.scene-context p{font-size:13px;line-height:1.8;margin-bottom:16px;color:var(--room-text)}
.scene-browse{width:auto;min-height:44px;font-size:12px;gap:24px;border-bottom:1px solid #fffdf870}
.scene-browse:hover{border-bottom-color:var(--room-text)}
.media-tools{top:20px;right:var(--edge);bottom:auto;width:auto!important;z-index:8}
.motion-control,.framing-control{color:var(--room-text);background:#171b1826;border:1px solid #fffdf83d;backdrop-filter:blur(8px);border-radius:24px;font-size:11px;min-height:40px;padding:0 14px}
.motion-control:hover,.framing-control:hover{background:#171b1866}
.scene-tabs{height:48px;left:var(--edge);right:var(--edge);bottom:27px;gap:9px;border:0;align-items:center;flex-wrap:nowrap}
.scene-tab{min-width:0;min-height:44px;margin:0;padding:10px 20px;border:0;border-radius:28px;color:var(--room-text);font-size:12px;gap:14px;transition:background .3s,color .3s}
.scene-tab:hover{background:#fffdf81f}
.scene-tab.is-active{color:var(--room-text);background:#fffdf821;backdrop-filter:blur(12px);border:0;box-shadow:inset 0 0 0 1px #fffdf850}
.scene-tab.is-pending{color:var(--room-text);opacity:.65}
.tab-dot{display:block;flex-shrink:0;width:4px;height:4px}
.continue-link{color:var(--room-text);font-size:11px;border:0;min-height:44px;gap:24px;flex-shrink:0}
.site-header{transition:background-color .75s,color .75s,border-color .75s}
html[data-showroom="residential"]{--nav-room:#342a22}
html[data-showroom="hospitality"]{--nav-room:#20383e}
html[data-showroom="dining"]{--nav-room:#514839}
html[data-showroom] .site-header{background:var(--nav-room);color:#fffdf8;border-bottom-color:transparent}
html[data-showroom] .header-quote{background:#fffdf8;color:#292824;border-color:#fffdf8}
html[data-showroom] .header-quote:hover{background:#e8e2d8}
html[data-showroom] .primary-nav{background:var(--nav-room);color:#fffdf8}
html[data-showroom] .site-header :focus-visible{outline-color:#f2ddba}

.media-tools{gap:8px}
.framing-control{display:none;align-items:center;pointer-events:auto}
.framing-control[hidden]{display:none}
/* Phones default to the complete furniture setting over the blurred scene.
   Wider portrait screens retain their explicit framing choice. */
@media(max-aspect-ratio:5/4){
  .stage.is-overview .frame{top:calc(52% - 28.125vw);bottom:auto;height:auto;aspect-ratio:16/9;background:none;mask-image:linear-gradient(180deg,transparent,#000 7%,#000 94%,transparent)}
  .stage.is-overview .film-layer img,.stage.is-overview .film-layer video,.stage.is-overview .camera-exit{object-fit:contain;object-position:center}
  .viewport::after{background:linear-gradient(180deg,#151714b0 0%,#1517143d 30%,transparent 52%,#151714b8 100%)}
  .stage.is-overview .viewport::after{background:linear-gradient(180deg,#15171418 0%,transparent 32%,transparent 66%,#15171466 100%)}
  .framing-control{display:flex}
  .scene-opening{left:var(--edge);right:auto}
  .scene-caption{top:64px;width:calc(100% - 2*var(--edge));max-width:600px}
  .scene-heading h2{font-size:40px}
  .scene-context{margin-top:13px;max-width:340px}
  .scene-context p{font-size:12px;margin-bottom:7px;line-height:1.65}
  .scene-tabs{bottom:22px}
}
@media(max-width:760px){
  .scene-opening{top:29px;left:var(--edge);right:auto;font-size:10px}
  .scene-count{font-size:10px}
  .scene-caption{top:80px;width:calc(100% - 2*var(--edge));max-width:none}
  .scene-heading h2{font-size:clamp(28px,8.5vw,38px);line-height:1.15}
  .scene-context{margin-top:14px;max-width:310px}
  .scene-context p{font-size:11px;line-height:1.7;margin-bottom:6px}
  .scene-browse{font-size:11px;min-height:40px}
  .scene-tabs{height:100px;bottom:14px;gap:0 8px;display:grid;grid-template-columns:repeat(3,1fr);align-content:start}
  .scene-tab{font-size:10px;padding:10px 8px;gap:8px;justify-content:center;min-height:44px}
  .tab-dot{width:3px;height:3px}
  .continue-link{grid-column:1/-1;width:100%;margin:12px 0 0;justify-content:space-between;font-size:10px;min-height:44px;border:0}
  .media-tools{top:18px;bottom:auto;right:var(--edge)}
  .motion-control,.framing-control{min-height:44px;font-size:10px}
  .framing-control{display:none}
  .stage.is-overview .frame{top:calc(56% - 28.125vw);bottom:auto;height:auto;aspect-ratio:16/9;background:none;mask-image:linear-gradient(180deg,transparent,#000 7%,#000 94%,transparent)}
  .stage.is-overview .film-layer img,.stage.is-overview .film-layer video,.stage.is-overview .camera-exit{object-fit:contain;object-position:center}
}
@media(max-width:360px){.scene-context{max-width:270px}.scene-heading h2{font-size:28px}.scene-tab{padding:10px 5px;font-size:9px}}
/* Readable fallback for short windows, reduced motion, and scripts disabled. */
html.static-layout .stage,html:not(.enhanced) .stage{height:max(720px,calc(100svh - var(--header)))}
@media(max-aspect-ratio:5/4){html.static-layout .stage,html:not(.enhanced) .stage{height:max(790px,calc(100svh - var(--header)))}}
@media(prefers-reduced-motion:reduce){.site-header,.stage,.room-ambience img,.scene-tab{transition:none}}
