@media (max-width: 960px) {
  .hero-grid, .footer-grid, .grid-4, .grid-3, .grid-2, .form-grid { grid-template-columns: 1fr; }
  .nav-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .site-nav {
    display: none; position: absolute; left: 0; right: 0; top: var(--header-h);
    background: #0b1220; padding: 1rem;
  }
  .site-nav.open { display: block; }
  .nav-list { flex-direction: column; align-items: flex-start; }
  .logo-img { height: 52px; }
  .nav-cta { display: none; }
  .site-nav.open .nav-cta-mobile { display: flex; gap: .5rem; margin-top: 1rem; }
}
@media (min-width: 961px) {
  .nav-cta-mobile { display: none; }
}
@media (max-width: 360px) {
  .container { width: min(1180px, calc(100% - 1rem)); }
  .btn { width: 100%; }
}
