/* Call Booking (qualified) — page-specific layout */

.hero { padding-top: clamp(1.3rem, 3vw, 2rem); padding-bottom: clamp(2.4rem, 6vw, 4rem); }
.progress { margin-bottom: clamp(1.4rem, 3.5vw, 2rem); }
.hero-copy { margin-bottom: 2rem; max-width: 900px; }
.hero-copy .hero-headline { margin-bottom: 0.9rem; max-width: 30ch; margin-inline: auto; font-size: clamp(1.85rem, 3.5vw, 2.65rem); line-height: 1.1; }
.hero-copy .lead { max-width: 60ch; margin-inline: auto; text-wrap: balance; }

.calendar-wrap { max-width: 880px; margin: 0 auto; }
/* Break the calendar out of the 880px wrap so the booking row is ~95% of the
   viewport (capped on very wide monitors). Centers regardless of parent padding. */
.calendar-card {
  width: 80vw;
  max-width: 1200px;
  margin-left: 50%;
  transform: translateX(-50%);
  background: #fff;
  border: 1px solid var(--hairline);
  border-top: 3px solid var(--primary);
  border-radius: 16px;
  box-shadow: var(--shadow-card);
  padding: clamp(0.5rem, 1.6vw, 1rem);
  overflow: hidden;
}
.calendar-card iframe {
  display: block;
  width: 100%;
  min-height: 720px;
  border: none;
  border-radius: 12px;
  background: #fff;
}
@media (max-width: 640px) { .calendar-card iframe { min-height: 640px; } }

/* Glanceable proof nested directly below the calendar — teal glass cards with shimmer (matches landing) */
.hero-stats { display: grid; grid-template-columns: 1fr; gap: 0.9rem; }
@media (min-width: 680px) { .hero-stats { grid-template-columns: repeat(3, 1fr); } }
.below-cal { margin-top: 1.4rem; }
.hero-stats .stat {
  position: relative; overflow: hidden; backdrop-filter: blur(3px);
  background: linear-gradient(160deg, rgba(255,255,255,0.18), rgba(255,255,255,0.06));
  border: 1px solid rgba(255,255,255,0.3); box-shadow: 0 20px 44px -26px rgba(14,40,80,0.55);
}
.hero-stats .stat .num { color: #fff; }
.hero-stats .stat .lbl { color: rgba(255,255,255,0.84); }
.hero-stats .stat .ic { color: var(--tertiary); }
.hero-stats .stat::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; width: auto; height: auto;
  background: linear-gradient(115deg, transparent 32%, rgba(255,255,255,0.38) 50%, transparent 68%);
  transform: translateX(-150%); animation: statshimmer 5s ease-in-out infinite;
}
.hero-stats .stat:nth-child(2)::after { animation-delay: 0.5s; }
.hero-stats .stat:nth-child(3)::after { animation-delay: 1s; }
@keyframes statshimmer { 0%, 62% { transform: translateX(-150%); } 88%, 100% { transform: translateX(150%); } }
@media (prefers-reduced-motion: reduce) { .hero-stats .stat::after { animation: none; opacity: 0; } }

/* Social proof + scroll-back */
.proof .overline { justify-content: center; }
.proof .section-headline { max-width: 30ch; margin-inline: auto; }
.scrollback { margin-top: 2.4rem; display: flex; justify-content: center; }
