/* Mobile refinements; desktop styles remain in each page. */
@media (max-width: 620px) {
  html { scroll-padding-top: 88px; }
  .wrap {
    padding-left: max(16px, env(safe-area-inset-left, 0px));
    padding-right: max(16px, env(safe-area-inset-right, 0px));
  }
  .wrap > *, .brand > span { min-width: 0; }
  .site-header .wrap { gap: 12px; padding-block: 12px; }
  .brand { gap: 8px; }
  .brand-name { font-size: 20px; }
  .brand-sub { white-space: normal; font-size: 9px; letter-spacing: .07em; line-height: 1.4; max-width: 24ch; }
  .head-actions { gap: 8px; flex-shrink: 0; }
  .menu-btn { min-width: 44px; min-height: 44px; justify-content: center; }
  .nav {
    width: min(340px, calc(100vw - 32px));
    max-height: calc(100dvh - 100px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .nav a { min-height: 44px; gap: 10px; }
  .nav a small { flex-shrink: 0; }
  section { padding-block: 48px; }
  .hero .wrap, .page-hero .wrap { padding-block: 36px 44px; gap: 28px; }
  .equation { font-size: clamp(30px, 8vw, 48px); margin-block: 18px 22px; }
  .page-hero h1 { font-size: clamp(30px, 8vw, 46px); }
  .hero-lede, .page-hero .lede, .sec-head p, .contact-card p { font-size: 17px; }
  .eyebrow { font-size: 11px; letter-spacing: .07em; }
  .eyebrow i { flex-shrink: 0; }
  h1, h2, h3, h4, .btn, .crumbs { overflow-wrap: anywhere; }
  .btn { min-height: 48px; justify-content: center; text-align: center; }
  .hero-cta, .detail .actions, .book .actions, .review .actions,
  .page-hero .actions, .contact-card .actions, .speak-card .actions { flex-direction: column; align-items: stretch; }
  .hero-cta .btn, .actions .btn { max-width: 100%; }
  .onepager-head, .onepager-foot { padding-inline: 16px; }
  .onepager ol { padding-inline: 16px; }
  .onepager li { grid-template-columns: 26px minmax(0, 1fr); gap: 8px; }
  .onepager li .chip { grid-column: 2; justify-self: start; }
  .proof .stat b { font-size: clamp(20px, 6vw, 30px); overflow-wrap: anywhere; }
  .onepager-head { flex-wrap: wrap; }
  .sec-head { margin-bottom: 28px; }
  .offer-card, .note, .learn, .talk, .tcard, .plan { padding: 22px 20px; }
  .detail .wrap, .review-grid, .two-col, .about-grid { gap: 28px; }
  .contact-card, .speak-card { padding: 28px 20px; gap: 24px; }
  .take { padding: 18px 16px; gap: 12px; }
  .copy, .rocket-tabs button, .platforms a { min-height: 44px; }
  .cta-band .inner { padding: 22px 20px; gap: 20px; }
  .cta-band .btn { width: 100%; }
  .booking-grid { gap: 28px; }
  /* Keep third-party scheduler minimum widths inside their own region. */
  .booking-embed { max-width: 100%; overflow-x: auto; }
  .booking-fallback { padding: 22px 18px; }
  .booking-fallback .btn { width: 100%; }
  footer .wrap { gap: 28px 20px; padding-block: 36px; }
  footer li a { display: inline-flex; align-items: center; min-height: 44px; }
  footer ul { gap: 2px; }
  .legal .wrap { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
  .float-cta { min-height: 48px; }
}
@media (max-width: 380px) {
  .formats, .facts-grid { grid-template-columns: 1fr; }
  .reach-row { flex-wrap: wrap; }
}
