@media (max-width: 1024px) {
  .hero-title { font-size: 2.2rem; }
  .cards-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .topics-grid { grid-template-columns: repeat(2, 1fr); }
  .features-grid { grid-template-columns: repeat(2, 1fr); }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-cards { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .page-hero-inner { grid-template-columns: 1fr; }
  .page-hero-inner > *:last-child { display: none; }
}

@media (max-width: 768px) {
  .header-inner { height: 60px; }
  .nav-main { display: none; }
  .hamburger { display: flex; }

  .hero { padding: 52px 0 44px; }
  .hero-inner { grid-template-columns: 1fr; gap: 40px; }
  .hero-title { font-size: 1.9rem; }
  .hero-visual { display: none; }
  .hero-stats { gap: 20px; flex-wrap: wrap; }

  .section { padding: 48px 0; }
  .section-title { font-size: 1.6rem; }

  .cards-grid,
  .cards-grid--2 { grid-template-columns: 1fr; }
  .cards-grid--3 { grid-template-columns: 1fr; }
  .features-grid { grid-template-columns: 1fr; }
  .topics-grid { grid-template-columns: 1fr 1fr; }
  .articles-grid { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: 1fr 1fr; }
  .stat-cards { grid-template-columns: 1fr 1fr; }

  .about-split { grid-template-columns: 1fr; gap: 32px; }
  .about-split img { max-height: 280px; width: 100%; object-fit: cover; }

  .contact-layout { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }

  .cta-band-inner { flex-direction: column; text-align: center; }

  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .footer-bottom-links { flex-wrap: wrap; justify-content: center; }

  .policy-layout { grid-template-columns: 1fr; }
  .policy-nav { display: none; }

  .two-col-text { grid-template-columns: 1fr; }
  .sitemap-grid { grid-template-columns: 1fr; }

  .hero-card-float { display: none; }

  .comparison-table { font-size: .8rem; }
  .comparison-table th,
  .comparison-table td { padding: 10px 12px; }
}

@media (max-width: 480px) {
  .container { padding: 0 16px; }
  .hero-title { font-size: 1.65rem; }
  .topics-grid { grid-template-columns: 1fr; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .team-grid { grid-template-columns: 1fr; }
  .stat-cards { grid-template-columns: 1fr; }
}
