@media (max-width: 1080px) {
  .hero-grid { grid-template-columns: 1fr; }
  .dashboard-preview { max-width: 720px; margin-inline: auto; }
  .grid.cards, .stats, .payment-methods { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: fixed; inset: 0 auto 0 0; width: 280px; transform: translateX(-105%); transition: transform .25s; }
  .sidebar.open { transform: translateX(0); }
  .sidebar-close, .menu-btn { display: inline-grid; place-items: center; }
  .sidebar-close { position: absolute; top: 16px; right: 16px; }
  .item-row { grid-template-columns: 1fr 1fr; }
  .item-row .btn { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .container { width: min(100% - 28px, var(--container)); }
  .public-nav { align-items: center; padding: 12px 14px; flex-wrap: nowrap; }
  .public-menu-btn { display: inline-grid; place-items: center; }
  .nav-links { display: none; }
  .nav-actions { display: none; }
  .hero { padding-top: 48px; }
  .hero-metrics, .grid.cards, .stats, .payment-methods, .form-grid, .footer-grid, .preview-body, .preview-cards { grid-template-columns: 1fr; }
  .preview-sidebar { min-height: 120px; }
  .section { padding: 56px 0; }
  .section-head { display: block; }
  .content { padding: 16px; }
  .topbar { padding: 0 14px; }
  .btn { width: 100%; }
  .toolbar { align-items: stretch; }
  .search-row, .top-actions { width: 100%; }
  .cta-band { padding: 34px 18px; }
}

@media (max-width: 420px) {
  h1 { font-size: 38px; }
  .hero-actions .btn, .nav-actions .btn { width: 100%; }
  .mock-total { font-size: 20px; }
}
