.cta{text-decoration:none}
.booking-page{max-width:1360px;margin:0 auto;padding:116px 40px 44px;min-height:100svh}
.booking-intro{padding:0 24px 24px}
.booking-intro h1{font-size:48px;line-height:1.1;letter-spacing:-1.1px}
.booking-intro p{font-size:18px;line-height:1.6;color:var(--muted);margin:16px 0 0}
.booking-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;border-top:1px solid var(--rule);padding:24px 0 0}
.booking-layout.booking-form-view{grid-template-columns:minmax(0,1fr)}
.booking-details{padding:20px 24px}
.booking-details h2{font-size:30px;line-height:1.2;max-width:430px;margin:12px 0 20px}
.booking-details p{font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 20px}
.booking-details .eyebrow{font-size:12px;color:var(--rust);letter-spacing:.08em}
.booking-details .booking-meta{color:var(--ink);padding-bottom:20px;border-bottom:1px solid var(--rule)}
.booking-panel{position:relative;scroll-margin-top:96px}
.booking-handoff{margin:20px 24px;padding:30px 0 30px 30px;border-left:1px solid var(--rule)}
.booking-handoff .eyebrow{font-size:12px;letter-spacing:.08em;color:var(--rust);margin:0 0 16px}
.booking-handoff h2{font-size:30px;line-height:1.2;margin:0 0 20px;max-width:390px}
.booking-handoff p{font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 24px}
.booking-handoff .booking-handoff-note{font-size:13px;margin:0 0 20px}
.booking-consent-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:24px 0 16px}
.booking-consent-actions .cta{white-space:normal;min-height:48px;height:auto;padding:12px 18px;line-height:1.4;text-align:left}
.booking-consent-actions .quiet,.booking-loaded-controls .quiet{padding:12px 0;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.booking-loaded-controls{margin:12px 24px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.booking-panel [hidden]{display:none!important}
.booking-embed{height:760px;min-width:320px;color-scheme:light}
.booking-embed iframe{display:block;width:100%;height:100%;border:0}
.booking-status{padding:18px 24px;color:var(--muted);font-size:15px;line-height:1.5}
.booking-alternative{font-size:14px;color:var(--muted);line-height:1.6;margin:20px 24px}
.booking-panel a{text-underline-offset:4px}
.booking-panel a:hover{color:var(--ink)}
#mobile-menu nav>a{font-size:28px;padding:18px 0;text-decoration:none}
#mobile-menu nav>a.cta{font-size:14px;padding:0 20px;margin-top:32px}
@media(max-width:900px){
 .booking-page{padding:104px 16px 32px}
 .booking-intro{padding:0 8px 24px}
 .booking-intro h1{font-size:38px;line-height:1.15}
 .booking-intro p{font-size:16px}
 .booking-layout{grid-template-columns:1fr;gap:0}
 .booking-details{padding:8px}
 .booking-details h2{font-size:27px}
 .booking-handoff{margin:12px 8px 0;padding:28px 0 16px;border-left:0;border-top:1px solid var(--rule)}
 .booking-handoff h2{font-size:27px}
 .booking-alternative,.booking-loaded-controls{margin-inline:8px}
 .booking-embed{height:1060px}
}
@media(max-width:359px){
 .booking-page{padding-inline:0}
 .booking-intro{margin-inline:16px;padding-inline:0}
 .booking-details,.booking-handoff{margin-inline:16px}
}
