/* ==========================================================================
   BayConnect — Responsive Rules
   Loaded after style.css and animations.css
   ========================================================================== */

@media (max-width: 980px) {
  .hero .container { grid-template-columns: 1fr; }
  .hero-graphic { display: none; }
  .two-col { grid-template-columns: 1fr; gap: 32px; }
  .grid-3, .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .stat-strip { grid-template-columns: repeat(3, 1fr); }
  .stat-strip .stat:nth-child(3n+1) { border-left: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .partner-grid { grid-template-columns: repeat(3, 1fr); }
  .backed-band { grid-template-columns: 1fr; text-align: left; }
  .filmstrip { grid-template-columns: repeat(2, 1fr); }
  .filmstrip img { height: 180px; }
  .image-band { height: 180px; }
}

@media (max-width: 760px) {
  .topbar .topbar-links { display: none; }
  .main-nav { position: fixed; top: 110px; left: 0; right: 0; bottom: 0; background: var(--white); flex-direction: column; align-items: stretch; padding: 20px; overflow-y: auto; transform: translateX(100%); transition: transform 0.25s ease; }
  .main-nav.open { transform: translateX(0); }
  .main-nav > ul { flex-direction: column; align-items: stretch; gap: 0; }
  .main-nav > ul > li > a { padding: 16px 4px; border-bottom: 1px solid var(--border); }
  .main-nav .cta-link { margin-top: 16px; }
  .main-nav .cta-link a { margin-left: 0; text-align: center; }
  .dropdown { position: static; box-shadow: none; border-top: none; opacity: 1; visibility: visible; transform: none; display: none; padding-left: 14px; }
  .has-dropdown.open .dropdown { display: block; }
  .nav-toggle { display: block; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .stat-strip { grid-template-columns: repeat(2, 1fr); }
  .stat-strip .stat:nth-child(2n+1) { border-left: none; }
  .footer-grid { grid-template-columns: 1fr; }
  .partner-grid { grid-template-columns: repeat(2, 1fr); }
  .form-grid, .checkbox-grid { grid-template-columns: 1fr; }
  .cta-band { flex-direction: column; text-align: center; }
  .hero { padding: 56px 0 48px; }
}

@media (max-width: 480px) {
  .partner-grid { grid-template-columns: 1fr 1fr; }
  .checkbox-grid { grid-template-columns: 1fr; }
  .topbar-contact { font-size: 0.72rem; gap: 12px; }
  .hero-stats { flex-wrap: wrap; row-gap: 18px; }
  .hero-stats div { flex: 1 1 45%; }
  .filmstrip { grid-template-columns: 1fr; }
  .filmstrip img { height: 200px; }
  .image-band { height: 140px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
