.booking-page { background:var(--ivory); }
.booking-main { max-width:1600px; min-height:85svh; margin:auto; padding:140px 5vw 85px; display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1.5fr); gap:4vw; align-items:start; }
.booking-intro { position:sticky; top:150px; padding-top:40px; }
.booking-intro .eyebrow { color:#806235; }
.booking-intro h1 { font:500 clamp(44px,5.4vw,80px)/1.03 var(--serif); color:var(--navy); }
.booking-intro>p:last-child { max-width:440px; margin-top:28px; font-size:20px; color:var(--muted); }
.booking-intro a { color:var(--navy); text-underline-offset:6px; }
.booking-frame { background:#fff; border-top:3px solid var(--gold); border-radius:8px; box-shadow:0 18px 50px #1a274419; padding:16px; }
.booking-frame iframe { display:block; width:100%; height:1180px; margin:auto; border:0; }
.booking-frame p { text-align:center; font-size:14px; color:var(--muted); margin:16px; }
.booking-frame a { text-underline-offset:4px; }
@media(max-width:850px) { .booking-main { grid-template-columns:1fr; padding:110px 6vw 55px; gap:34px; } .booking-intro { position:static; padding:0; } .booking-frame { padding:8px; } .booking-frame iframe { height:1100px; } }

.booking-intro .booking-direct { display:inline-block; margin-top:28px; color:var(--ivory); text-decoration:none; }
