/* ==========================================================================
   SCRUB & GLOW — Responsive overrides
   ========================================================================== */

@media (max-width: 1100px) {
  .values-grid { grid-template-columns: repeat(2, 1fr); }
  .rc-split { grid-template-columns: 1fr; }
  .service-explorer { grid-template-columns: 1fr; min-height: auto; }
  .service-explorer__visual { aspect-ratio: 16/10; min-height: 320px; }
  .footer-grid { grid-template-columns: 1fr 1fr; row-gap: var(--sp-lg); }
  .process-grid { grid-template-columns: 1fr; gap: var(--sp-xl); }
  .contact-grid { grid-template-columns: 1fr; }
  .masonry { columns: 2 260px; }
}

@media (max-width: 960px) {
  .nav-desktop { display: none; }
  .nav-toggle { display: inline-flex; }
  .float-contact { display: inline-flex; }

  .split { grid-template-columns: 1fr; gap: var(--sp-lg); }
  .split--reverse .split__media { order: 0; }
  .split__media img { aspect-ratio: 16/11; }
  .split__media-tag { left: 1rem; bottom: -1rem; }

  .service-row { grid-template-columns: 1fr; }
  .service-row:nth-child(even) .service-row__media { order: 0; }

  .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 42vw; }
  .gallery-grid__item,
  .gallery-grid__item--a,
  .gallery-grid__item--b,
  .gallery-grid__item--c,
  .gallery-grid__item--d,
  .gallery-grid__item--e { grid-column: span 1; grid-row: span 1; }

  .category-nav { top: 4.2rem; overflow-x: auto; flex-wrap: nowrap; }
}

@media (max-width: 760px) {
  .footer-grid { grid-template-columns: 1fr; gap: var(--sp-lg); }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .form-row { grid-template-columns: 1fr; }
  .stat-strip { grid-template-columns: repeat(2, 1fr); }
  .values-grid { grid-template-columns: 1fr; }
  .masonry { columns: 1 100%; }
  .hero { align-items: flex-end; padding-top: 6rem; }
  .hero__content { padding-bottom: var(--sp-xl); }
  .hero__title { max-width: 100%; }
  .service-explorer__visual { min-height: 260px; }
  .lightbox__prev, .lightbox__next { display: none; }
  .lightbox__close { top: -56px; right: 0; }
}

@media (max-width: 540px) {
  :root { --sp-3xl: 5.5rem; --sp-2xl: 4rem; }
  .btn { width: 100%; }
  .hero__actions { flex-direction: column; align-items: stretch; }
  .hero__actions .btn { width: 100%; text-align: center; }
  .final-cta__actions { flex-direction: column; align-items: stretch; }
  .process-step__num { font-size: 2.6rem; }
  .split__num { font-size: 3.6rem; }
}
