/* ===== RESPONSIVE - TABLET ===== */
@media (max-width: 1024px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .two-col-main { grid-template-columns: 1fr; }
  .two-col-main aside { order: -1; }
  .cta-strip { padding: 40px 36px; }
  .hero-content { max-width: 560px; }
}

@media (max-width: 900px) {
  .nav-main { display: none; }
  .nav-cta  { display: none; }
  .hamburger { display: flex; }
  .two-col  { grid-template-columns: 1fr; }
  .two-col-wide { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .grid-3   { grid-template-columns: repeat(2, 1fr); }
}

/* ===== RESPONSIVE - MOBILE ===== */
@media (max-width: 640px) {
  .section { padding: 56px 0; }
  .section-lg { padding: 72px 0; }
  .container, .container-wide { padding: 0 16px; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .hero-content { padding: 60px 0; }
  .hero-stat-row { gap: 20px; flex-wrap: wrap; }
  .hero-actions { flex-direction: column; align-items: flex-start; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .cta-strip { padding: 32px 24px; }
  .newsletter-form { flex-direction: column; }
  .newsletter-input { width: 100%; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .footer-bottom-links { justify-content: center; }
  .page-header { padding: 44px 0; }
  .article-img { height: 240px; }
  .chart-canvas-wrap { height: 220px; }
  .tabs-nav { flex-wrap: wrap; }
  .tab-btn { padding: 10px 16px; font-size: .82rem; }
  .policy-content { padding: 40px 16px; }
  .form-wrap { padding: 24px 20px; }
  .data-table th, .data-table td { padding: 10px 12px; font-size: .82rem; }
  .hero-stat-val { font-size: 1.3rem; }
  h1 { font-size: 1.75rem; }
  h2 { font-size: 1.4rem; }
  .section-header { margin-bottom: 32px; }
  #cookie-banner { flex-direction: column; gap: 12px; }
  .cookie-btns { width: 100%; flex-direction: column; }
  #back-to-top { bottom: 20px; right: 20px; }
}
