/* Full-viewport, transparent booking keeps the existing sky. The old external tab discarded
   the scene; a restrained dark scrim protects text without an enclosing card or modal border. */
#booking{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;padding:0;color:#ecebe5;background:transparent;overflow:auto;overscroll-behavior:contain;scrollbar-color:#71859c #080b12;color-scheme:dark}
#booking::backdrop{backdrop-filter:none;background:linear-gradient(90deg,#080b12e8,#080b12bf 50%,#080b12d9)}
.booking-open #experience{visibility:hidden}
.booking-open :is(#cosmos,.sky-fallback){opacity:1!important}
.booking-open{background:#080b12!important}
.booking-top{position:sticky;top:0;z-index:3;background:linear-gradient(#080b12f5,#080b12dd 70%,#080b1200);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 6.6vw;color:#c2d8f0}
.booking-top button{font:11px Manrope,Arial,sans-serif;min-height:44px;color:#c2d8f0}
.booking-top>span{font-size:9px;letter-spacing:.19em;color:#b4bdcb}
.booking-content{max-width:1160px;margin:20px auto 60px;padding:0 24px}
.booking-arrival{text-align:center;margin:10px auto 22px}
.booking-arrival .eyebrow{color:#b4bdcb;font-size:9px;letter-spacing:.2em}
.booking-arrival h1{font:400 clamp(44px,5vw,68px)/1.1 Cormorant,Georgia,serif;letter-spacing:-.02em;margin:12px 0}
.booking-arrival h1 em{color:#c2d8f0;font-weight:400}
.booking-arrival>p:last-child{color:#b4bdcb;font-size:12px;line-height:1.8}
#booking-title:focus{outline:none}
#booking-frame{display:block;width:100%;min-height:280px;border:0;background:transparent;opacity:0;transition:opacity .35s ease}
#booking-frame.ready{opacity:1}
#booking-frame[hidden]{display:none}
#booking-loading,#booking-fallback,#booking-replace{font:13px/1.8 Manrope,Arial,sans-serif;color:#c2d8f0;text-align:center;margin:20px auto;max-width:620px}
#booking-fallback a,#booking-use-story{color:#ecebe5;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
#booking-replace{border-block:1px solid #7489a14d;padding:16px 0}
#booking :is(button,a):focus-visible{outline:2px solid #c2d8f0;outline-offset:4px}
@media(max-width:760px){.booking-top{padding:12px 20px;gap:12px}.booking-top>span{display:none}.booking-top button{font-size:10px}.booking-content{padding:0 20px;margin-top:12px}.booking-arrival{margin-bottom:14px}.booking-arrival .eyebrow{font-size:8px}.booking-arrival>p:last-child{font-size:11px}}
@media(prefers-reduced-motion:reduce){#booking-frame{transition:none}}
body.reduced #booking-frame{transition:none}
@media(forced-colors:active){#booking,#booking::backdrop{backdrop-filter:none;background:Canvas;color:CanvasText}}
