/* Mobile home rhythm: preserve the full opening hero and compact later sections. */
@media (max-width: 880px) {
  .exact-home > .snap-section:not(.exact-hero) {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
  }

  .exact-home > .exact-premium {
    height: 88svh !important;
    min-height: 640px !important;
  }

  .exact-home > .manifesto-section {
    height: 78svh !important;
    min-height: 540px !important;
  }

  .exact-home > .home-benefits {
    height: auto !important;
    min-height: 0 !important;
    padding: 68px 20px 60px !important;
  }

  .home-benefits-heading > p { margin-top: 18px !important; }
  .home-benefits-heading h2 { font-size: clamp(38px, 11vw, 48px) !important; }
  .home-benefits-list { margin-top: 30px !important; }
  .home-benefits-list article {
    min-height: 148px !important;
    padding: 20px !important;
  }
  .home-benefits-list h3 { margin-top: 20px !important; }
  .home-benefits-links { margin-top: 22px !important; }
  .home-benefits-note { margin-top: 14px !important; }

  .exact-home > .exact-location {
    height: auto !important;
    min-height: 0 !important;
  }
  .exact-location .location-panels { padding-top: 48px !important; }
  .exact-location .location-panels article {
    min-height: 172px !important;
    padding: 24px 22px !important;
  }
  .exact-location .location-panels article > div { margin-top: 12px !important; }

  .exact-home > .exact-brand {
    height: 94svh !important;
    min-height: 700px !important;
  }

  .exact-home > .exact-contact {
    height: auto !important;
    min-height: 0 !important;
    padding: 60px 16px 72px !important;
  }
  .exact-contact .contact-title p { margin-top: 10px !important; }
  .exact-contact .contact-map-layout { margin-top: 24px !important; }
  .exact-contact .contact-place {
    min-height: 172px !important;
    padding: 18px 18px 15px !important;
  }
  .exact-contact .contact-bottom { margin-top: 12px !important; }

  .exact-home > .site-footer.snap-section {
    height: auto !important;
    min-height: 0 !important;
    padding: 52px 20px 104px !important;
  }
}

@media (min-width: 521px) and (max-width: 880px) {
  .exact-home > .exact-premium {
    height: 90svh !important;
    min-height: 680px !important;
  }
  .exact-home > .manifesto-section {
    height: 82svh !important;
    min-height: 580px !important;
  }
  .exact-home > .exact-brand {
    height: 100svh !important;
    min-height: 760px !important;
  }
}
