@media (max-width: 980px) {
  .menu-toggle {
    display: inline-flex;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    font-weight: 680;
  }
  .nav-menu {
    position: fixed;
    left: 0;
    right: 0;
    top: 76px;
    display: none;
    padding: 22px;
    background: #fff;
    border-bottom: 1px solid var(--line);
    box-shadow: var(--shadow);
  }
  .nav-menu.is-open {
    display: grid;
    gap: 16px;
  }
  .hero-grid, .section-head, .split, .cta-inner, .footer-grid {
    grid-template-columns: 1fr;
  }
  .grid-4, .grid-3, .grid-2 { grid-template-columns: 1fr 1fr; }
  .visual-panel { min-height: 360px; }
}

@media (max-width: 640px) {
  .wrap { width: min(calc(100% - 28px), var(--max)); }
  .hero { padding: 58px 0; }
  section { padding: 62px 0; }
  .page-hero { padding: 48px 0; }
  .grid-4, .grid-3, .grid-2 { grid-template-columns: 1fr; }
  .actions { align-items: stretch; }
  .actions .btn, .cta-inner .btn { width: 100%; }
  .brand { font-size: 20px; }
  .visual-panel { min-height: 300px; }
  .wa-float { display: none; }
  .mobile-bottom-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 10px;
    background: rgba(255,255,255,.94);
    border-top: 1px solid var(--line);
    backdrop-filter: blur(16px);
  }
  .mobile-bottom-bar a {
    min-height: 46px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-weight: 720;
  }
  .mobile-bottom-bar a:first-child { background: var(--cyan-dark); color: #fff; }
  .mobile-bottom-bar a:last-child { background: var(--ink); color: #fff; }
  body { padding-bottom: 72px; }
}
