/* =========================================================
   Responsive rules
   ========================================================= */

@media (max-width: 1024px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .hero-inner { grid-template-columns: 1fr; }
  .hero-art { order: -1; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .nav-links, .nav-cta .btn-outline-navy { display: none; }
  .nav-toggle { display: inline-flex; }
  .main-nav.is-open .nav-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--color-white);
    padding: var(--space-md);
    border-bottom: 1px solid var(--color-border);
    box-shadow: var(--shadow-md);
    gap: 1rem;
  }
  .grid-3, .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .split, .split.reverse .split-media { grid-template-columns: 1fr; order: initial; }
  .split { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .brand-text-fallback small { display: none; }
  .brand { font-size: 0.98rem; }
  .brand img { height: 38px; }
}

@media (max-width: 640px) {
  section { padding: var(--space-xl) 0; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: var(--space-lg); }
  .footer-bottom { flex-direction: column; text-align: center; }
  .hero-stats { grid-template-columns: 1fr; gap: var(--space-md); }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .newsletter-box { flex-direction: column; align-items: stretch; text-align: center; }
  .newsletter-form { flex-direction: column; }
  .newsletter-form input { min-width: 0; }
  .cta-banner { padding: var(--space-lg); }
  .btn-row { flex-direction: column; align-items: stretch; }
  .btn-row .btn { width: 100%; }
}
