@media (max-width: 1100px) {
  .nav-links {
    position: fixed;
    inset: 82px 12px auto 12px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--panel-strong);
    box-shadow: var(--shadow);
    backdrop-filter: blur(18px);
  }
  body.nav-open .nav-links { display: flex; }
  .menu-toggle { display: inline-grid; }
  .mega-panel { position: static; width: 100%; opacity: 1; transform: none; pointer-events: auto; display: none; margin-top: 8px; grid-template-columns: 1fr; box-shadow: none; }
  .mega:focus-within .mega-panel, .mega:hover .mega-panel { display: grid; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-card { min-height: 460px; }
  .grid.four { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  .section { padding: 70px 0; }
  .page-hero { padding-top: 132px; }
  .nav { height: 74px; }
  .brand span { display: none; }
  .nav-links { top: 74px; }
  .nav-actions .btn { display: none; }
  .hero { padding-top: 108px; }
  .hero-card { min-height: 380px; }
  .dashboard-preview { inset: 70px 18px 18px; }
  .floating-note { position: static; max-width: none; }
  .metric-row, .grid.three, .grid.two { grid-template-columns: 1fr; }
  .inline-form { grid-template-columns: 1fr; }
  .comparison { display: block; overflow-x: auto; white-space: nowrap; }
  .floating-actions { display: none; }
  .mobile-sticky-cta { display: block; }
}

@media (max-width: 520px) {
  .container { width: min(100% - 24px, 1180px); }
  h1 { font-size: clamp(2.25rem, 13vw, 3.4rem); }
  h2 { font-size: clamp(1.85rem, 10vw, 2.7rem); }
  .hero-ctas .btn, .button-row .btn { width: 100%; }
  .grid.four { grid-template-columns: 1fr; }
  .hero-card { min-height: 330px; }
  .metric-row { gap: 8px; }
  .metric { padding: 14px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { padding-bottom: 66px; }
  .logo-track { gap: 28px; }
  .card { padding: 20px; }
}
