@media (max-width: 1100px) {
  .desktop-navigation { display: none; }
  .menu-toggle { display: grid; }
  .header-row { grid-template-columns: auto 1fr auto; }
  .site-branding { justify-self: center; }
  .header-search { display: none; }
  .hero-grid { grid-template-columns: 1fr 1fr; min-height: 500px; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-grid > section:last-child { grid-column: 1 / -1; }
}

@media (max-width: 780px) {
  :root { --theme-header-height: 68px; }
  body { padding-bottom: 68px; }
  .container, .narrow-content { width: min(calc(100% - 28px), var(--theme-container)); }
  .section-space { padding-block: 48px; }
  .hero-grid { grid-template-columns: 1fr; min-height: auto; gap: 30px; }
  .hero-content { text-align: center; }
  .hero-content .hero-description { margin-inline: auto; }
  .hero-content h1 { font-size: clamp(2.4rem, 12vw, 4rem); }
  .hero-media { width: min(100%, 540px); margin-inline: auto; }
  .features-grid { grid-template-columns: repeat(2, 1fr); }
  .feature-item { border-bottom: 1px solid var(--theme-border); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .footer-grid .footer-brand { grid-column: 1 / -1; }
  .mobile-bottom-nav { position: fixed; inset-inline: 0; bottom: 0; z-index: 1200; display: grid; grid-template-columns: repeat(4, 1fr); min-height: 64px; border-top: 1px solid var(--theme-border); background: color-mix(in srgb, var(--theme-bg) 96%, transparent); box-shadow: 0 -8px 30px rgba(0,0,0,.06); backdrop-filter: blur(14px); }
  .mobile-bottom-nav a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; color: var(--theme-muted); font-size: 11px; font-weight: 700; }
  .mobile-bottom-nav svg { width: 22px; height: 22px; }
  .mobile-bottom-nav a:hover { color: var(--theme-primary); }
  .content-card { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .header-actions .icon-button:first-of-type { display: none; }
  .features-grid { margin-inline: -14px; }
  .feature-item { padding: 18px 14px; }
  .section-heading { align-items: flex-end; }
  .section-heading h2 { font-size: 1.45rem; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid .footer-brand { grid-column: auto; }
  .footer-grid > section:last-child { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
}
