/* Keep the entire cast visible; room choices belong beside the adventure. */
.jp-stairway{text-align:center;padding:clamp(28px,5vw,64px) 20px;background:linear-gradient(100deg,#172746d9,#3e2740db),url(/jasons-place/assets/img/gold/hall.webp) center/cover;color:#fff0d4;border-block:1px solid #ddb66966}
.jp-stairway h2,.jp-upper-floor h2{font-family:Georgia,serif;color:#ffe2a0;font-size:clamp(28px,4vw,48px);margin:8px 0}.jp-stairway p{margin:12px auto 22px;max-width:600px}
.jph-foyer.jp-upper-floor{height:auto;min-height:0;max-height:none;padding:0 0 32px;overflow:visible;text-align:center;background:#21182b}
.jp-floor-photo{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:16/9}
.jp-upper-floor .jph-foyer-cap{position:static;transform:none;padding:28px 18px 10px;background:none;text-shadow:none}
.jp-floor-doors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:1180px;margin:18px auto 28px;padding:0 20px}
.jp-upper-floor .jp-room-door{position:relative;inset:auto;transform:none;display:flex;align-items:center;justify-content:flex-end;min-height:220px;padding:16px 10px;border-radius:100px 100px 14px 14px;background:linear-gradient(0deg,#171026ed,transparent 85%),var(--door-photo) center/cover;border:1px solid #e3b85b;box-shadow:inset 0 0 0 5px #34223c,0 8px 24px #0005;overflow:hidden;transition:box-shadow .3s,transform .3s}
.jp-upper-floor .jp-room-door i{position:absolute;inset:6px;border-radius:inherit;width:auto;height:auto;background:url(/jasons-place/assets/img/mansion/front-doors-720.webp) center 58%/cover;box-shadow:none;animation:none;opacity:.65;transition:transform .65s,opacity .65s;transform-origin:left;pointer-events:none}
.jp-upper-floor .jp-room-door b,.jp-room-door span{position:relative;z-index:1}.jp-upper-floor .jp-room-door b{background:#1b1730df;font-size:16px;white-space:normal;line-height:1.3}.jp-room-door span{font-size:12px;color:#ffe2a0;margin-top:8px;text-shadow:0 1px 5px #000}
.jp-room-door:hover,.jp-room-door:focus-visible{box-shadow:0 0 24px #efc96d80;transform:translateY(-3px)}.jp-room-door:hover i,.jp-room-door:focus-visible i{transform:perspective(600px) rotateY(-35deg);opacity:.2}
.jp-stairs-film{position:fixed;inset:0;z-index:1900;max-width:none;max-height:none;width:100%;height:100%;padding:0;border:0;background:#100e1b;color:#ffe2a0}.jp-stairs-film::backdrop{background:#100e1b}.jp-stairs-film video{width:100%;height:100%;object-fit:contain}.jp-film-controls{position:absolute;bottom:24px;left:16px;right:16px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.jp-film-controls button{padding:12px 20px;border:1px solid #e7bf69;border-radius:24px;background:#241d33e8;color:#ffe8b8;font:700 15px system-ui;min-height:44px}
@media(max-width:700px){.jp-floor-doors{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jp-upper-floor .jp-room-door{min-height:180px}.jp-upper-floor .jp-room-door b{font-size:14px}}
@media(prefers-reduced-motion:reduce){.jp-room-door,.jp-room-door i{transition:none!important}.jp-room-door:hover,.jp-room-door:focus-visible{transform:none}}
.jp-stairs-film{opacity:1;transition:opacity .55s ease}.jp-stairs-film.leaving{opacity:0}.jp-stairs-film::backdrop{transition:background-color .55s ease}.jp-stairs-film.leaving::backdrop{background:transparent}.jp-cinema-active .jpwel{visibility:hidden!important}.jp-film-controls{padding-bottom:env(safe-area-inset-bottom,0px)}.jp-film-controls button:focus-visible{outline:3px solid #fff2c6;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.jp-stairs-film,.jp-stairs-film::backdrop{transition:none}}
