:root { --booking-rgb: 0,174,255; }
* { box-sizing: border-box; }
.booking-site { min-height: 100svh; background: #050607; color: #f4f7f9; }
.booking-hero { padding: clamp(150px, 18vw, 220px) 0 clamp(70px, 9vw, 110px); background: radial-gradient(circle at 85% 25%, rgba(var(--booking-rgb),.15), transparent 34rem), linear-gradient(145deg,#080b0e,#030405); }
.booking-hero__content { max-width: 1050px; }
.booking-hero h1 { max-width: 950px; margin: 18px 0 26px; font-family: var(--headline); font-size: clamp(54px, 8vw, 105px); font-weight: 600; line-height: .88; letter-spacing: -.06em; }
.booking-hero h1 em { color: rgb(var(--booking-rgb)); font-style: normal; text-shadow: 0 0 38px rgba(var(--booking-rgb),.28); }
.booking-hero p { max-width: 720px; color: #c5ced5; font-size: clamp(18px, 2vw, 22px); line-height: 1.55; }
.booking-promise { margin-top: 36px; padding: 22px 24px; display: grid; grid-template-columns: auto 1fr; gap: 18px 28px; border: 1px solid rgba(var(--booking-rgb),.4); border-radius: 18px; background: rgba(var(--booking-rgb),.07); }
.booking-promise strong { color: #fff; }
.booking-promise span { color: #aeb9c2; }
.booking-options { padding: clamp(70px, 9vw, 120px) 0; }
.room-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.room-choice-grid article { padding: clamp(28px,4vw,46px); border: 1px solid rgba(var(--booking-rgb),.34); border-radius: 26px; background: radial-gradient(circle at 90% 8%,rgba(var(--booking-rgb),.13),transparent 19rem),linear-gradient(150deg,rgba(18,23,29,.98),rgba(7,9,12,.99)); box-shadow: 0 28px 80px rgba(0,0,0,.4); }
.room-choice-grid article.room-choice-card--portal { --booking-rgb: 112,102,255; }
.room-choice-grid small { color: rgb(var(--booking-rgb)); font: 800 10px/1.3 var(--mono); letter-spacing: .12em; }
.room-choice-grid h2 { margin: 24px 0 20px; font-family: var(--headline); font-size: clamp(44px,5vw,68px); line-height: .92; letter-spacing: -.05em; }
.room-choice-grid p { min-height: 76px; color: #aeb9c2; line-height: 1.55; }
.room-choice-grid ul { margin: 26px 0; padding: 22px 0 0; display: grid; gap: 12px; border-top: 1px solid rgba(255,255,255,.12); list-style: none; }
.room-choice-grid li { color: #cad2d8; }
.session-choice { display: grid; gap: 12px; }
.session-choice > div { padding: 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(0,0,0,.22); }
.session-choice strong,.session-choice small { display: block; }
.session-choice strong { font-size: 18px; }
.session-choice small { margin: 4px 0 15px; color: #aeb9c2; font: 500 13px/1.4 var(--headline); letter-spacing: 0; }
.room-choice-grid a { min-height: 60px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; border: 1px solid rgba(var(--booking-rgb),.65); border-radius: 14px; background: linear-gradient(180deg,rgba(var(--booking-rgb),.28),rgba(var(--booking-rgb),.12)); color: #fff; font-weight: 800; text-decoration: none; }
.room-choice-grid a[aria-disabled="true"] { opacity: .72; }
.booking-note { margin: 22px 0 0; padding: 20px 24px; border-left: 2px solid rgb(var(--booking-rgb)); background: rgba(var(--booking-rgb),.055); color: #aeb9c2; }
.booking-note strong { color: #fff; }
.booking-note a { color: #9cddff; text-underline-offset: 3px; }
@media(max-width:760px){.room-choice-grid{grid-template-columns:1fr}.booking-promise{grid-template-columns:1fr}.room-choice-grid p{min-height:0}}
