/* Responsive Overrides */

@media (max-width: 1080px) {
  .grid-5 { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr 1fr; gap: 32px; }
  .footer-grid > :nth-child(4),
  .footer-grid > :nth-child(5) { grid-column: span 1; }
}

@media (max-width: 900px) {
  section { padding: 72px 0; }
  .hero-home .hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .about-preview { grid-template-columns: 1fr; gap: 32px; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .hero-features { grid-template-columns: repeat(2, 1fr); }
  .cta-band { grid-template-columns: 1fr; text-align: center; }
  .cta-band .icon-wrap { margin: 0 auto; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .contact-cards { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  :root { --gutter: 18px; }
  section { padding: 56px 0; }
  .grid-2, .grid-3, .grid-4, .grid-5, .stats-grid, .login-cards, .form-grid { grid-template-columns: 1fr; }
  .btn { width: 100%; }
  .nav-inner .btn { display: none; }
  .cta-dark { padding: 40px 24px; }
  .event-card { grid-template-columns: 64px 1fr; }
  .event-card .btn { grid-column: 1 / -1; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; padding-bottom: 40px; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .footer-bottom a { margin: 0 10px; }
  .hero-inner { padding: 130px 0 60px; }
  .hero { padding: 130px 0 60px; }
  .card { padding: 22px; }
  .searchbar { flex-direction: column; }
}
