@media (max-width: 1024px) {
  .main-layout { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  .nav-toggle { display: block; }
  .site-nav {
    position: absolute; top: var(--header-h); left: 0; right: 0;
    background: var(--white); border-bottom: 1px solid var(--border);
    box-shadow: var(--shadow-md);
    transform: translateY(-10px); opacity: 0; pointer-events: none;
    transition: all .2s;
  }
  .site-nav.open { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .site-nav ul { flex-direction: column; align-items: stretch; padding: 12px; gap: 0; }
  .site-nav a { padding: 14px; border-radius: 0; border-bottom: 1px solid var(--border); }
  .site-nav .dropdown { position: static; box-shadow: none; border: 0; padding-left: 16px; }
  .site-nav .has-dropdown:hover .dropdown { display: flex; }

  .hero { padding: 32px 0; }
  .hero-inner { grid-template-columns: 1fr; gap: 24px; }
  .hero h1 { font-size: 26px; }
  .hero p { font-size: 15px; }
  .hero-image { order: -1; }

  .main-layout { padding: 32px 16px; gap: 24px; }
  .section { margin-bottom: 32px; }
  .section-header h2 { font-size: 18px; }

  .article-grid { grid-template-columns: 1fr; gap: 16px; }
  .category-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .pref-grid { grid-template-columns: repeat(2, 1fr); }

  .article-body { padding: 24px 18px; }
  .article-body h1 { font-size: 22px; }
  .article-body h2 { font-size: 18px; }

  .footer-inner { grid-template-columns: 1fr; gap: 24px; padding: 32px 20px; }
  .pref-info dl { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .category-grid { grid-template-columns: 1fr; }
  .hero-cta { flex-direction: column; }
  .hero-cta .btn { width: 100%; }
  .logo-text { font-size: 15px; }
}
