/* The full-bleed opening stays grounded in the two original room photographs. */
.hero-alt-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%;z-index:-4;opacity:0;transform:scale(1.025);transition:opacity .7s var(--ease),transform 1.2s var(--ease);pointer-events:none}.hero.has-seat-photo .hero-alt-image{opacity:1;transform:scale(1)}
.hero-photo-picker{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 22px;max-width:560px}.hero-photo-picker button{min-height:44px;padding:8px 14px;border:1px solid #c5a06d80;background:linear-gradient(120deg,#30232dc9,#1a141de6);border-bottom:3px solid #57412d;color:#e8d8c6;font-size:12px;display:inline-flex;align-items:center;gap:9px;box-shadow:0 3px 10px #100b1855}.hero-photo-picker button span{font:italic 12px var(--latin);color:#ceaa76}.hero-photo-picker button[aria-pressed=true]{background:linear-gradient(120deg,#efd4a7,#bc915f);color:#34212a;border-color:#f3d7a7;border-bottom-color:#7b5734;box-shadow:0 3px 0 #3c281e,0 0 25px #e4bc7130}.hero-photo-picker button[aria-pressed=true] span{color:#5d3e26}.hero-photo-status{font-size:10px;color:#e2c9a4;line-height:1.7;max-width:18em}.hero .hero-line{animation-duration:1.15s!important}.hero .hero-line:nth-child(2){animation-delay:.18s!important}.hero .hero-line:nth-child(3){animation-delay:.36s!important}.hero.hero-ready .hero-light{animation:openingSpot 1.8s var(--ease) both}
@keyframes openingSpot{from{opacity:0;transform:translateX(40%) rotate(-15deg)}45%{opacity:.9}to{opacity:.6;transform:translateX(0) rotate(-15deg)}}
.scene-photo-label{display:block;position:absolute;left:24px;top:23px;z-index:3;max-width:calc(100% - 190px);color:#f2ddbe;background:#17121bd9;border:1px solid #bd9b6844;padding:6px 9px;font-size:10px;line-height:1.6;pointer-events:none}.gallery-dialog #largePhoto{touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-drag:none}.gallery-gesture-hint{font-size:11px;line-height:1.8;text-align:center;color:#d7bd9b;padding:11px 15px 0;margin:0}.gallery-close-bar{position:sticky;top:0;height:0;z-index:3;pointer-events:none}.gallery-dialog .dialog-close{position:absolute;top:8px;right:8px;margin:0;pointer-events:auto;z-index:3;width:44px;height:44px;background:#211827e8;border:1px solid #c3a06b99}.gallery-dialog .gallery-controls{padding-top:10px;padding-bottom:10px}
@media(max-width:850px){.hero-content{padding-top:133px;padding-bottom:35px}.hero h1{font-size:clamp(43px,6.5vw,57px)}.hero-photo-picker{margin-bottom:18px}.hero-photo-status{max-width:100%}}
@media(max-width:600px){.hero-content{padding:108px 22px 25px}.hero h1{font-size:clamp(34px,9.5vw,51px);line-height:1.43}.hero-location{margin-bottom:17px;font-size:10px;line-height:1.8}.hero-copy{margin:16px 0 17px;font-size:13px;line-height:1.9}.hero-photo-picker{gap:7px;margin-bottom:18px}.hero-photo-picker button{font-size:11px;padding:8px 12px;min-height:44px}.hero-photo-status{flex-basis:100%;font-size:10px;min-height:17px}.hero-alt-image{object-position:59% center}.hero-content>.btn{font-size:12px;min-height:50px}.hero-price-link{font-size:12px;min-height:44px}.hero-night-choices a{min-height:68px}.scene-photo-label{top:14px;left:14px;font-size:9px;max-width:calc(100% - 140px);padding:5px 7px}.gallery-gesture-hint{font-size:10px;padding-top:9px}.gallery-dialog>img{height:min(58svh,580px)}.gallery-dialog .gallery-controls{min-height:60px}.gallery-dialog{max-height:calc(100dvh - 20px)}.mood-live{top:67px}.mood-option{scroll-margin-top:155px}}
@media(max-width:370px){.hero-content{padding-left:19px;padding-right:19px}.hero h1{font-size:32px}.hero-price-link{margin-left:12px}.hero-night-choices{margin:0 14px}.hero-photo-picker button{padding-left:10px;padding-right:10px}}
@media(max-height:600px) and (min-width:601px){.hero{min-height:0}.hero-content{padding-top:115px;padding-bottom:25px}.hero h1{font-size:43px;line-height:1.35}.hero-copy{margin:12px 0}.hero-photo-picker{margin-bottom:13px}.hero-invitation{display:none}.hero-night-choices a{min-height:60px}.hero-foot{min-height:52px}.subpage-hero{min-height:350px;padding-top:110px}.scene-panel{position:relative;top:auto}}
@media(prefers-reduced-motion:reduce){.hero-alt-image{transition:none;transform:none}.hero.hero-ready .hero-light{animation:none!important}.hero .hero-line{animation:none!important}}

/* Keep image loading feedback in a stable space, including small screens. */
.gallery-dialog .photo-load-status{display:block;min-height:30px;padding:4px 18px 0;text-align:center;font-size:11px;line-height:1.8}.gallery-dialog.photo-loading #largePhoto{filter:brightness(.88);transition:filter .2s}.gallery-dialog .gallery-controls{padding-top:6px}.gallery-dialog #largePhoto{background:radial-gradient(ellipse at center,#46303c,#17131a)}
@media(max-width:600px){.gallery-dialog .photo-load-status{font-size:10px;min-height:27px;padding-left:13px;padding-right:13px}.gallery-dialog>img{height:min(54svh,580px)}.scene-photo-label{font-size:10px}.hero-photo-status{font-size:11px}.room-copy>p:not(.eyebrow){font-size:13px}.booking-price-note,.journey-note{font-size:12px!important}.mood-note{font-size:11px;line-height:1.8}}
@media(prefers-reduced-motion:reduce){.gallery-dialog.photo-loading #largePhoto{transition:none}}

/* Keep the close action visible while a long call guide scrolls inside the dialog. */
.booking-dialog{padding:0;width:min(560px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:calc(100svh - 28px);max-height:calc(100dvh - 28px);overflow:hidden}.booking-dialog[open]{display:flex;flex-direction:column}.booking-head{position:relative;flex:none;padding:31px 29px 22px;border-bottom:1px solid #c4a16e4d;background:linear-gradient(90deg,#201a22 24%,#201a22ad),url('/assets/photo-09.webp') center 55%/cover}.booking-head .eyebrow{font-size:10px;margin:0 45px 11px 0}.booking-head h2{font-size:28px;line-height:1.6;margin:0;max-width:12em}.booking-dialog .booking-head .dialog-close{position:absolute;top:12px;right:12px;min-width:44px;min-height:44px;margin:0}.booking-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:19px 29px 27px;scroll-padding:15px}.booking-scroll:focus-visible{outline:2px solid #dfbd87;outline-offset:-5px}.booking-dialog .booking-scroll #bookingContext{font-size:13px;line-height:1.8;margin:0}.booking-dialog .booking-scroll .phone-card{margin:15px 0 20px}.booking-scroll .dialog-hours{font-size:12px;line-height:1.9;margin:15px 0}.booking-scroll .dialog-hours span{font-size:11px;color:#cdb9a7}.booking-address{border-top:1px solid #b28b5355;border-bottom:1px solid #b28b5355;padding:16px 0;margin:16px 0}.booking-address-label{display:flex;align-items:center;gap:8px;font-size:11px;color:#e1c49b;margin:0 0 8px}.booking-address-label svg{width:16px;height:18px}.booking-address>p:nth-child(2){font-size:13px;line-height:1.9}.booking-address>p:nth-child(2)>span{font-size:12px;color:#d1bda8}.booking-address .text-link{font-size:12px;min-height:44px;margin-top:8px}.booking-scroll>.text-link{min-height:44px;font-size:12px;line-height:1.6}.booking-scroll .booking-guide{margin-bottom:16px}
@media(max-width:600px){.booking-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100svh - 20px);max-height:calc(100dvh - 20px);padding:0}.booking-head{padding:25px 21px 17px}.booking-head h2{font-size:25px;line-height:1.6}.booking-head .eyebrow{margin-bottom:9px;font-size:10px}.booking-scroll{padding:16px 19px 21px}.booking-dialog .booking-head .dialog-close{top:7px;right:7px}.booking-dialog .booking-scroll #bookingContext{font-size:12px}.booking-address{padding:13px 0;margin:13px 0}.booking-scroll .booking-price-note{font-size:12px}}
@media(max-height:500px){.booking-head{padding:16px 24px 13px}.booking-head h2{font-size:22px;line-height:1.5}.booking-head h2 br{display:none}.booking-head .eyebrow{margin-bottom:6px}.booking-scroll{padding-top:12px;padding-bottom:16px}}
