@media (max-width: 1050px) {
  .nav-links { display: none; position: absolute; top: 74px; left: 16px; right: 16px; padding: 12px; background: #fff; border: 1px solid var(--border); border-radius: 18px; box-shadow: var(--shadow-md); flex-direction: column; align-items: stretch; }
  .nav-links.open { display: flex; }
  .mobile-menu-button { display: inline-grid; }
  .hero-content { grid-template-columns: 1fr; }
  .hero-logo { width: 110px; }
  .games-grid { grid-template-columns: 1fr; }
  .business-toolbar { grid-template-columns: 1fr 1fr; }
  .stats-grid { grid-template-columns: repeat(3, 1fr); }
  .admin-form-grid { grid-template-columns: repeat(2, 1fr); }
  .admin-split { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .section { padding: 56px 0; }
  .section-heading { align-items: start; flex-direction: column; }
  .grid.two, .grid.three, .grid.four { grid-template-columns: 1fr; }
  .hero-card { min-height: 560px; }
  .tree-toolbar, .family-search { grid-template-columns: 1fr; }
  .kinship-form { grid-template-columns: 1fr; }
  .business-toolbar { grid-template-columns: 1fr; }
  .business-submit-note { align-items: flex-start; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr; }
  .portal-login-layout { grid-template-columns: 1fr; }
  .portal-login-art { min-height: 42vh; }
  .admin-shell { grid-template-columns: 1fr; }
  .admin-sidebar { position: fixed; z-index: 500; width: 260px; transform: translateX(-105%); transition: .22s ease; }
  .admin-sidebar.open { transform: translateX(0); }
  .mobile-admin-menu { display: inline-grid; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .container { width: min(calc(100% - 22px), var(--max-width)); }
  .header-inner { min-height: 66px; }
  .brand-copy span { display: none; }
  .header-actions .button span { display: none; }
  .hero { padding-top: 14px; }
  .hero-card { border-radius: 24px; min-height: 500px; }
  .hero-content { padding: 24px; }
  .form-row, .admin-form-grid { grid-template-columns: 1fr; }
  .admin-form-grid .wide, .admin-form-grid .full { grid-column: auto; }
  .admin-content { padding: 16px; }
  .stats-grid { grid-template-columns: 1fr; }
  .gallery-grid { columns: 2 140px; }
  .tree-person { width: 160px; grid-template-columns: 42px 1fr; }
  .tree-person img { width: 42px; height: 42px; }
  .footer-bottom { flex-direction: column; }
}
