/* =====================================================================
   MEASURI LTD — responsive.css
   Breakpoints:  1080  (laptop) · 900 (tablet) · 640 (mobile)
   Mobile-safe: no horizontal scroll, no overlap.
   ===================================================================== */

/* ---- Large laptop ------------------------------------------------- */
@media (max-width: 1080px) {
  :root { --container: 100%; }
  .footer-top { grid-template-columns: 1.4fr repeat(3, 1fr); }
}

/* ---- Tablet ------------------------------------------------------- */
@media (max-width: 900px) {
  .nav-links { display: none; }
  .nav-toggle { display: block; }
  .nav-actions .btn:not(.nav-toggle) { display: none; }

  .split,
  .split--reverse {
    grid-template-columns: 1fr;
    gap: var(--sp-5);
  }
  .split--reverse > :first-child { order: 0; }
  .split .split-media { order: -1; }
  .split--media-below .split-media { order: 1; }

  .grid-3, .grid-4 { grid-template-columns: repeat(2, 1fr); }

  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-6) var(--sp-5);
  }
  .footer-brand { grid-column: 1 / -1; }

  .field-row { grid-template-columns: 1fr; }
}

/* ---- Mobile ------------------------------------------------------- */
@media (max-width: 640px) {
  :root {
    --sp-8: 4rem;
    --sp-9: 5rem;
  }

  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }

  .section { padding-block: clamp(3rem, 10vw, 4.5rem); }

  .page-hero { padding-top: 7rem; }

  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: var(--sp-2); }

  .cta-actions { flex-direction: column; }
  .cta-actions .btn { width: 100%; justify-content: center; }

  .quote-author { flex-wrap: wrap; }

  .mobile-nav a { font-size: 1.6rem; }

  .brand small { display: none; }

  .timeline-item { padding-left: 2.75rem; }
}

/* ---- Very small --------------------------------------------------- */
@media (max-width: 380px) {
  .brand { font-size: 1.2rem; }
  .btn { padding: 0.8rem 1.25rem; }
}

/* ---- Fine-pointer hover niceties only where supported ------------- */
@media (hover: none) {
  .card:hover { transform: none; box-shadow: none; }
  .media--zoom:hover img { transform: none; }
}
