/* Discovery call — the same paper, ocean navy and cyan as the main site. */
.booking-main { padding: 68px 0 80px; }
.booking-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.4fr); gap: 68px; align-items: start; }
.booking-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 25px; font-size: 15px; font-weight: 600; }
.booking-brand img { border-radius: 10px; flex: 0 0 48px; }
.booking-intro h1 { font-size: clamp(42px, 4.4vw, 62px); line-height: 1.04; letter-spacing: -.045em; }
.booking-lead { margin-top: 22px; max-width: 34ch; font-size: 19px; line-height: 1.6; }
.booking-host { margin-top: 26px; font-weight: 600; color: var(--rr-deep); }
.booking-details { display: flex; flex-wrap: wrap; gap: 22px; padding: 0; margin: 12px 0 0; list-style: none; }
.booking-details li { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.booking-details svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.booking-agenda { margin-top: 30px; padding-top: 25px; border-top: 1px solid var(--rr-steel); }
.booking-agenda h2 { font-size: 18px; letter-spacing: -.02em; }
.booking-agenda ul { padding-left: 20px; margin: 14px 0 0; color: var(--rr-hull); }
.booking-agenda li { padding-left: 3px; margin-bottom: 10px; }
.booking-agenda li::marker { color: var(--rr-cyan-shade); }
.booking-prepare { margin-top: 25px; font-size: 14px; line-height: 1.7; }
.booking-prepare strong { color: var(--rr-deep); }
.booking-email { margin-top: 24px; font-size: 13px; overflow-wrap: anywhere; }
.booking-email a, .booking-fallback a { text-decoration: underline; text-underline-offset: 3px; }
.booking-calendar { min-width: 0; scroll-margin-top: 100px; }
.booking-calendar-heading { padding: 0 0 22px; }
.booking-calendar-heading h2 { font-size: 22px; letter-spacing: -.025em; }
.booking-calendar-heading p { margin-top: 8px; font-size: 14px; }
.booking-widget-wrap { position: relative; overflow: hidden; background: var(--rr-deep); border-radius: 14px; border: 1px solid var(--rr-hull); border-top: 3px solid var(--rr-cyan); }
.booking-page .calendly-inline-widget { width: 100%; min-width: 0; min-height: 700px; height: 700px; }
.booking-status { position: absolute; z-index: 1; top: 16px; left: 20px; right: 20px; padding: 12px; border-radius: 6px; color: var(--rr-paper); background: var(--rr-deep); font-size: 14px; pointer-events: none; }
.booking-status[hidden] { display: none; }
.booking-fallback { margin-top: 16px; text-align: center; font-size: 13px; }
.booking-skip { position: fixed; top: 8px; left: 16px; z-index: 100; padding: 10px 16px; color: var(--rr-deep); background: var(--rr-cyan); transform: translateY(-180%); }
.booking-skip:focus { transform: translateY(0); }
.booking-page a:focus-visible, .booking-page button:focus-visible, .booking-calendar:focus-visible { outline: 3px solid var(--rr-cyan-shade); outline-offset: 4px; }
@media (max-width: 1040px) { .booking-layout { gap: 36px; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); } }
@media (max-width: 880px) {
  .booking-main { padding-top: 38px; }
  .booking-layout { grid-template-columns: 1fr; gap: 34px; max-width: 700px; }
  .booking-intro h1 br { display: none; }
  .booking-lead { max-width: 48ch; }
  .booking-agenda { display: none; }
  .booking-brand { margin-bottom: 18px; }
  .booking-host { margin-top: 20px; }
  .booking-prepare { margin-top: 18px; }
  .booking-email { margin-top: 14px; }
}
@media (max-width: 420px) {
  .booking-layout { padding-left: 16px; padding-right: 16px; }
  .booking-calendar-heading h2 { font-size: 20px; }
  .booking-widget-wrap { margin-left: -16px; margin-right: -16px; border-radius: 0; border-left: 0; border-right: 0; }
  .booking-lead { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) { .booking-page { scroll-behavior: auto; } }
