/* ============================================================
   responsive.css
   ============================================================ */

@media (max-width: 960px) {
  .stats__grid { grid-template-columns: repeat(2, 1fr); }
  .stat:nth-child(3)::before, .stat:nth-child(odd)::before { display: none; }
  .stat:nth-child(3), .stat:nth-child(4) { border-top: 1px solid var(--line-dark); }
  .footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem 2.5rem; }
  .footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  :root { --nav-h: 68px; }

  .nav__toggle { display: flex; }
  .nav__menu, .nav__cta { display: none; }
  .nav__menu.is-open {
    display: flex; position: absolute; top: var(--nav-h); left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 0; background: var(--bg);
    padding: 0.5rem var(--gutter) 1.25rem; box-shadow: var(--shadow-md); animation: menu-in 0.3s var(--ease);
  }
  .nav__menu.is-open li { border-bottom: 1px solid var(--line); }
  .nav__menu.is-open a { display: block; padding: 1rem 0; font-size: 0.82rem; }
  .nav__menu.is-open a::after { display: none; }
  .nav.is-menu-open { background: var(--bg); box-shadow: var(--shadow-sm); }
  .nav.is-menu-open .nav__toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav.is-menu-open .nav__toggle span:nth-child(2) { opacity: 0; }
  .nav.is-menu-open .nav__toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .hero { grid-template-columns: 1fr; min-height: auto; gap: 2.5rem; padding-top: calc(var(--nav-h) + 2rem); }
  .split { grid-template-columns: 1fr; gap: 2.25rem; }
  .contact__grid { grid-template-columns: 1fr; text-align: left; }
  .contact__phone { display: none; }
  .field, .contact__form .btn { flex-basis: 100%; }

  .stats__grid { grid-template-columns: 1fr 1fr; }
  .footer__grid { grid-template-columns: 1fr; gap: 2rem; }
  .footer__brand { grid-column: auto; }
  .footer__bottom { flex-direction: column; }
}

@media (max-width: 420px) {
  .stats__grid { grid-template-columns: 1fr; }
  .stat::before { display: none !important; }
  .stat + .stat { border-top: 1px solid var(--line-dark); }
  .hero__actions { flex-direction: column; align-items: flex-start; gap: 1rem; }
}
