/* Extracted from book.html. */
/* ── Booking Section (Side-by-Side Layout) ── */
    .booking-section {
      background: var(--color-surface);
      /* Increased top padding to accommodate the header since hero is removed */
      padding: 160px clamp(24px, 8vw, 120px) 120px;
    }

    .booking-layout {
      max-width: 1300px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
      align-items: start;
    }

    .booking-left {
      background: var(--color-surface);
      border: 1px solid var(--color-border-soft);
      border-radius: 8px;
      box-shadow: 0 16px 48px rgba(0,0,0,0.04);
      padding: 16px 0;
    }

    .booking-right {
      padding-top: 32px;
    }

    .booking-info-title {
      font-family: var(--font-heading);
      font-size: var(--text-page-section-size);
      color: var(--color-ink);
      margin: 0 0 24px;
      line-height: 1.1;
      font-weight: 400;
    }

    .booking-info-text {
      font-family: var(--font-body);
      font-size: var(--text-page-body-size);
      line-height: var(--text-page-body-height);
      color: var(--color-text-soft);
      margin: 0 0 40px;
    }

    .booking-info-list {
      list-style: none;
      padding: 0;
      margin: 0 0 48px;
    }

    .booking-info-list li {
      font-family: var(--font-body);
      font-size: var(--text-page-body-size);
      line-height: var(--text-page-body-height);
      color: var(--color-text-soft);
      margin-bottom: 24px;
      padding-left: 24px;
      position: relative;
    }

    .booking-info-list li::before {
      content: '';
      position: absolute;
      left: 0;
      top: 10px;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--color-text-muted-warm);
    }

    .booking-contact-note {
      padding-top: 32px;
      border-top: 1px solid var(--color-border-soft);
    }

    .booking-contact-note p {
      font-family: var(--font-body);
      font-size: var(--text-small-size);
      color: var(--color-text-muted-warm);
      margin: 0 0 8px;
    }

    .booking-contact-note a {
      font-family: var(--font-body);
      font-size: var(--text-small-size);
      font-weight: 500;
      color: var(--color-ink);
      text-decoration: none;
      border-bottom: 1px solid var(--color-ink);
      padding-bottom: 2px;
      transition: all 0.3s ease;
    }

    .booking-contact-note a:hover {
      color: var(--color-text-muted-warm);
      border-color: var(--color-text-muted-warm);
    }

    /* ── Responsive ── */
    @media (max-width: 1024px) {
      .booking-layout {
        grid-template-columns: 1.1fr 0.9fr;
        gap: 40px;
      }
    }

    @media (max-width: 900px) {
      .booking-section {
        padding: 120px 24px 80px;
      }
      .booking-layout {
        grid-template-columns: 1fr;
        gap: 56px;
      }
      .booking-right {
        order: -1; /* Brings the text above the calendar on mobile */
        padding-top: 0;
      }
    }

    /* ── Scroll Reveal Animation ── */
    .prog-reveal {
      opacity: 0;
      transform: translateY(36px);
      transition: opacity 0.9s var(--motion-ease-out),
                  transform 0.9s var(--motion-ease-out);
    }

    .prog-reveal.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    .prog-reveal--delay-1 { transition-delay: var(--motion-delay-1); }
    .prog-reveal--delay-2 { transition-delay: var(--motion-delay-2); }

.booking-calendly-widget {
  min-width: 320px;
  height: 700px;
}
