.booking-section{background:#dfe5d5;padding:68px 0 62px;scroll-margin-top:32px}
.booking-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,450px);gap:64px;align-items:end;margin-bottom:34px}
.booking-heading .eyebrow{font-size:12px;line-height:1.6;letter-spacing:1.6px;margin:0 0 20px}
.booking-heading h1{font:clamp(48px,5vw,70px)/.95 Bebas,Impact,sans-serif;margin:0;letter-spacing:.2px}
.booking-heading h1 span{color:#a47620}
.booking-guidance{border-left:1px solid #98a590;padding:4px 0 4px 28px}
.booking-guidance p{font-size:16px;line-height:1.7;margin:0 0 18px}
.booking-fallback{display:inline-flex;align-items:center;justify-content:center;min-height:64px;padding:18px 24px;background:#14382b;color:#f4f0e5;font:26px/1.15 Bebas,Impact,sans-serif;letter-spacing:.5px;text-align:center;text-decoration:none;border:2px solid #14382b}
.booking-fallback:hover{background:#244c3a}
.booking-guidance .booking-mobile-intro{display:none}
.booking-fallback:focus-visible{outline:3px solid #dbaf43;outline-offset:5px}
.booking-guidance small{display:block;color:#5d695e;font-size:12px;line-height:1.5;margin-top:9px}
.booking-shell{background:#fff;border:1px solid #8f9a8c;box-shadow:8px 8px 0 #14382b;padding:0}
.booking-bar{display:flex;justify-content:space-between;gap:24px;background:#14382b;color:#f4f0e5;padding:15px 20px;font-size:11px;font-weight:bold;letter-spacing:1.2px;line-height:1.4}
.booking-viewport{position:relative;overflow:hidden;background:#fff}
.booking-scroll-hint{display:none}
.booking-iframe{display:block;width:100%;height:1600px;border:0;background:#fff;pointer-events:auto}
.booking-live-note{margin:0;border-top:1px solid #c69c39;background:#f1d786;color:#34483d;padding:15px 20px;font-size:12px;line-height:1.6;letter-spacing:.1px}
.booking-live-note strong{color:#14382b;letter-spacing:.8px}
.booking-support{padding:48px 0 58px}
.booking-support .cards{gap:24px}
.booking-support .card{padding:26px}
.booking-support .card h3{font:30px/1.1 Bebas,Impact,sans-serif;margin:0 0 12px}
.booking-support .card p{font-size:14px;line-height:1.7;margin:0}

@media(max-width:1000px){
  .booking-heading{gap:38px}
  /* Keep provider-centered dialogs near the visible screen, not halfway down a long frame. */
  .booking-page .booking-iframe{height:80vh;height:80svh;max-height:800px}
  .booking-scroll-hint{display:block;margin:0;padding:10px 16px;background:#f4f0e5;color:#14382b;font-size:12px;line-height:1.5}
}
@media(max-width:800px){
  .booking-page .hero,.booking-page .ribbon{display:none}
  .booking-page .sticky-mobile{display:none}
  .booking-section{padding:46px 0 44px}
  .booking-page .booking-section{padding:22px 0 38px}
  .booking-heading{grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:14px}
  .booking-heading .eyebrow{margin-bottom:10px}
  .booking-guidance{border-left:0;border-top:1px solid #98a590;padding:10px 0 0}
  .booking-guidance p{display:none}
  .booking-guidance .booking-mobile-intro{display:block;margin:4px 0 18px}
  .booking-fallback{display:flex;width:100%;box-sizing:border-box;font-size:25px;min-height:72px}
  .booking-shell{display:none}
  .booking-bar{align-items:flex-start;flex-direction:column;gap:4px;padding:14px 16px}
  .booking-live-note{padding:14px 16px}
  .booking-support{padding:34px 0 70px}
}
@media(max-width:420px){
  .booking-heading h1{font-size:42px}
}
