/* The entrance and its controls share one real 3D scene on every screen. */
.tour-top .tour-brand{position:static;transform:none;pointer-events:auto;display:block;min-height:44px;line-height:44px;font-size:35px}
.home-intro .tour-brand{opacity:1}.tour-top{gap:20px}.tour-top .header-actions{margin-left:auto}
.welcome{left:7%;top:45%;max-width:650px}.welcome h1{font-size:clamp(90px,9vw,145px);margin:24px 0}.welcome-copy{font-size:17px;line-height:1.75}
.welcome .enter-button{position:relative;display:flex;align-items:center;gap:20px;padding:16px 20px;background:var(--cream);color:#1d2b23;border:1px solid #ffe8b0;border-radius:5px;box-shadow:0 0 0 5px #ead8ac15,0 12px 35px #0005;min-height:78px;min-width:325px;font-size:14px;font-weight:600;letter-spacing:0;text-align:left;transition:background .2s,transform .2s}
.welcome .enter-button:hover{background:#ffefc9;transform:translateY(-2px)}.enter-button small{display:block;font-size:10px;font-weight:400;margin-top:4px;letter-spacing:.02em}.hand-icon{width:32px;height:32px;flex-shrink:0}.welcome .round-arrow{border:0;width:30px;height:36px;margin-left:auto;font-size:28px}.welcome-hint{font-size:11px;max-width:none;color:#e2d7bf}
.home-intro .intro-shade{background:linear-gradient(90deg,#15211df5 0%,#15211dca 34%,#15211d22 67%,#15211d00 100%)}
.home-opening .welcome{opacity:calc(1 - var(--entrance,0)*3);transform:translateY(-44%) translateX(calc(var(--entrance,0)*-140px));pointer-events:none}.home-opening .welcome button{pointer-events:none}.home-opening .intro-shade{opacity:calc(1 - var(--entrance,0)*2)}
.door-handle{position:absolute;z-index:4;display:flex;align-items:center;gap:12px;transform:translate(-18px,-50%);font-size:10px;white-space:nowrap;background:#18241bd9;border:1px solid #ead8ac6b;padding:11px 16px;border-radius:40px;color:#f3e5c8;box-shadow:0 0 25px #ead8ac35;min-height:52px}.door-handle svg{width:26px;height:29px;pointer-events:none}.door-handle:hover{background:#f1e7d4;color:#17201b}.home-opening .door-handle{display:none}
.home-intro .room-nav{visibility:hidden}.home-opening .tour-bottom{pointer-events:none}
.room-transition{position:absolute;inset:0;z-index:4;background:#17201b;opacity:0;pointer-events:none}.house-home #three-stage{isolation:isolate}
.hotspot{left:0;top:0;transform:translate3d(var(--spot-x,0px),var(--spot-y,0px),0) translate(-22px,-50%);will-change:transform;filter:none}.hotspot.is-flipped{transform:translate3d(var(--spot-x,0px),var(--spot-y,0px),0) translate(calc(-100% + 22px),-50%)}
.hotspot-label{backdrop-filter:none;background:#14221bee}.hotspot-ring{box-shadow:0 0 18px #ffe3a32e}
.house-footer{position:absolute;z-index:8;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:12px 4% calc(10px + env(safe-area-inset-bottom));background:linear-gradient(#14201bd9,#14201b);pointer-events:none;border-top:1px solid #ead8ac1c}
.house-footer p{font-size:9px;color:#d8d2c3;line-height:1.65}.house-footer p span{display:block;font-size:9px;letter-spacing:.1em;color:#bcbba9}.footer-ruway{display:block;width:75px;height:39px;flex-shrink:0;background:#e9dcc0;--ruway-mark:url(assets/ruway-logo.png);mask:var(--ruway-mark) center/contain no-repeat;-webkit-mask:var(--ruway-mark) center/contain no-repeat}
.tour-bottom{bottom:64px}.room-caption{bottom:192px}.touch-controls{bottom:206px}
.episode-section{margin-top:32px}.episode-section h3{font-size:33px;margin-bottom:20px}.episode-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.episode-card{display:block;padding:0;text-align:left;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:#202a23;transition:border-color .2s,transform .2s}.episode-card:hover{border-color:var(--accent);transform:translateY(-2px)}.episode-cover{position:relative;display:block;aspect-ratio:16/9}.episode-cover img{width:100%;height:100%;object-fit:contain}.episode-play{position:absolute;right:12px;bottom:10px;border-radius:50%;display:grid;place-items:center;width:40px;height:40px;background:#1b2b21e8;color:var(--cream);font-size:26px;box-shadow:0 4px 14px #0004}.episode-caption{display:grid;grid-template-columns:1fr auto;gap:7px;padding:16px}.episode-caption small{font:9px/1.4 Manrope,sans-serif;letter-spacing:.12em;color:var(--accent);grid-column:1/-1}.episode-caption strong{font:28px/1.1 Cormorant,serif}.episode-caption>span{font-size:9px;align-self:center;color:var(--muted)}
.player-heading{font:26px/1.3 Cormorant,serif;padding:0 0 15px;color:var(--cream)}.story-dialog.is-reading{width:min(1320px,96vw);max-height:96dvh}.flipbook-player iframe{height:68dvh;min-height:340px;aspect-ratio:auto;background:#e8dcc4}.story-object button{min-height:44px;font-size:11px}.story-object{font-size:11px}.media-player .small-button{font-size:11px}
.player-notice{font-size:13px;line-height:1.7;color:var(--cream);padding:16px;border:1px solid var(--line);margin-top:16px}
@media(max-width:760px){
  .tour-top .tour-brand{font-size:29px;line-height:44px}.tour-top{padding:12px 6%;gap:12px}.tour-top .header-actions{gap:17px}.tour-top .contact-link{font-size:10px;gap:6px}
  .welcome{top:94px;bottom:212px;left:7%;right:7%;transform:none;max-width:none;display:flex;flex-direction:column;align-items:flex-start}.welcome h1{font-size:clamp(70px,18vw,110px);line-height:.9;margin:15px 0}.welcome h1 em{display:inline;margin:0}.welcome-copy{font-size:12px;line-height:1.6}.welcome .enter-button{margin-top:auto;min-width:0;width:100%;min-height:70px;padding:14px 16px;font-size:13px;gap:16px}.welcome-hint{font-size:10px;line-height:1.5;max-width:32ch;margin-top:14px}
  .home-intro .intro-shade{background:linear-gradient(0deg,#14211df5 15%,#14211d25 55%,#14211d90 80%,#14211dc9)}.home-opening .welcome{transform:translateY(calc(var(--entrance,0)*-90px))}.door-handle{gap:0;padding:10px;border-radius:50%;transform:translate(-50%,-50%)}.door-handle span{display:none}
  .house-footer{gap:15px;padding:10px 5% calc(9px + env(safe-area-inset-bottom))}.house-footer p{font-size:8px;line-height:1.6;max-width:calc(100% - 75px)}.house-footer p span{font-size:8px;margin-top:3px}.footer-ruway{width:61px;height:32px}.tour-bottom{bottom:69px;padding-bottom:10px}.room-caption{bottom:206px;max-width:calc(100% - 175px)}.room-caption h2{font-size:34px}.room-caption>p:last-child{font-size:10px}.touch-controls{bottom:229px;right:16px}.touch-controls button{background:#19271fe8;backdrop-filter:none}
  .room-caption{width:calc(100% - 205px);max-width:calc(100% - 205px)}.room-caption h2{font-size:32px;white-space:normal}
  .episode-grid{grid-template-columns:1fr;gap:20px}.episode-caption strong{font-size:30px}.episode-caption>span{font-size:11px}.episode-section h3{font-size:32px}.story-text-only .story-content{padding-inline:25px}.story-dialog.is-reading{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0}.flipbook-player{padding:12px}.flipbook-player iframe{height:65dvh;min-height:280px}.player-heading{font-size:24px}.story-object{flex-wrap:wrap;gap:4px 8px}.modal-top{gap:12px}.modal-top>div{gap:12px}.player-actions{gap:8px}
}
@media(max-width:360px){.tour-top{padding-inline:5%}.tour-top .tour-brand{font-size:26px}.tour-top .header-actions{gap:12px}.welcome{top:86px;bottom:202px}.welcome h1{font-size:66px}.welcome .enter-button{font-size:11px;gap:12px;padding:12px}.welcome .hand-icon{width:26px}.welcome-copy{font-size:11px}.welcome-hint{font-size:9px}.door-handle{display:none}.room-caption{max-width:130px}.room-caption h2{font-size:30px}.house-footer p{font-size:7px}.room-nav button{padding-inline:12px}.tour-bottom{padding-inline:5%}}
@media(max-height:550px) and (min-width:600px){
  .welcome{left:7%;top:48%;bottom:auto;transform:translateY(-50%);display:block}.welcome h1{font-size:70px;line-height:.9;margin:12px 0}.welcome-copy{font-size:11px;line-height:1.5}.welcome .enter-button{min-height:55px;margin-top:18px;min-width:280px;width:auto;padding:9px 15px;font-size:12px}.welcome .enter-button small{font-size:9px}.welcome .hand-icon{width:25px}.welcome .eyebrow{font-size:8px}.welcome-hint{display:none}.home-intro .intro-shade{background:linear-gradient(90deg,#15211df2,#15211d99 40%,#15211d00)}
  .house-footer{padding-block:5px}.footer-ruway{height:25px;width:50px}.house-footer p{font-size:7px}.house-footer p span{display:inline;margin-left:12px}.tour-bottom{bottom:40px;padding-block:6px}.room-caption{bottom:113px}.room-caption h2{font-size:30px}.room-caption>p:last-child{display:none}.touch-controls{bottom:116px}.touch-controls button{width:40px;height:40px;margin:1px}.tour-top{padding-block:5px}.tour-top .tour-brand{font-size:28px}.welcome .enter-button .round-arrow{height:30px}.door-handle span{display:none}.episode-grid{grid-template-columns:1fr 1fr}.flipbook-player iframe{height:75dvh;min-height:230px}
}
@media(prefers-reduced-motion:reduce){.home-opening .welcome{transform:none}.hotspot{will-change:auto}}
