@media (max-width: 1024px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-media { order: -1; }
  .grid-4 { grid-template-columns: repeat(3, 1fr); }
  .admin-stats { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 860px) {
  .admin-shell { grid-template-columns: 1fr; }
  .admin-sidebar {
    position: fixed; left: 0; top: 0; bottom: 0; width: 260px;
    transform: translateX(-100%); transition: transform var(--transition-base); z-index: 250;
  }
  .admin-sidebar.is-open { transform: translateX(0); }
  .admin-main { padding: 20px 16px; }
  #sidebar-toggle { display: inline-flex !important; }
}

@media (max-width: 768px) {
  .nav-links { display: none; }
  .nav-toggle { display: flex; }
  .grid-4, .grid-3, .grid-2 { grid-template-columns: repeat(2, 1fr); }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .form-row { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 26px; }
  .section { padding: 52px 0; }
  .emergency-banner { flex-direction: column; text-align: center; }
  .stepper .label { display: none; }

  .nav-links.is-open {
    display: flex; flex-direction: column;
    position: absolute; top: var(--header-height); left: 0; right: 0;
    background: var(--color-bg); padding: 14px 20px; box-shadow: var(--shadow-md);
    border-bottom: 1px solid var(--color-border);
  }
}

@media (max-width: 560px) {
  .grid-4, .grid-3, .grid-2 { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr; }
  .admin-stats { grid-template-columns: 1fr; }
  .hero-cta { flex-direction: column; align-items: stretch; }
  .search-panel { flex-direction: column; }
  .fab { width: 50px; height: 50px; font-size: 20px; }
  .cta-block { padding: 32px 20px; }
}
