@media (max-width: 1024px) {
  nav { padding: 0 2rem; grid-template-columns: 1fr auto; }
  .nav-links, .nav-right { display: none; }
  .mobile-menu-btn {
    display: flex; align-items: center; justify-content: center;
    width: 42px; height: 42px; border: 1px solid var(--border);
    border-radius: 10px; background: var(--bg-card);
    box-shadow: var(--shadow-sm); justify-self: end; z-index: 102;
  }
  nav.nav-open .mobile-menu-btn-inner { transform: translateY(-50%) rotate(45deg); }
  nav.nav-open .mobile-menu-btn-inner::before { transform: translateY(0); opacity: 0; }
  nav.nav-open .mobile-menu-btn-inner::after { transform: translateY(0) rotate(-90deg); }
  body.mobile-nav-open::before,
  body.mobile-nav-closing::before {
    content: ""; position: fixed; inset: 68px 0 0 0;
    background: var(--mobile-nav-overlay); backdrop-filter: blur(2px);
    z-index: 99; pointer-events: none; opacity: 1; transition: opacity 0.2s ease;
  }
  body.mobile-nav-closing::before { opacity: 0; }
  nav.nav-open .nav-links,
  nav.nav-closing .nav-links {
    display: flex; position: fixed; top: 68px; left: 0; right: 0;
    background: var(--bg-card); border-bottom: 1px solid var(--border);
    flex-direction: column; align-items: stretch; gap: 0; padding: 1rem;
    box-shadow: var(--shadow-md); z-index: 101; border-radius: 0 0 16px 16px;
    transition: opacity 0.2s ease, transform 0.2s ease;
  }
  nav.nav-open .nav-links { opacity: 1; transform: translateY(0); pointer-events: auto; }
  nav.nav-closing .nav-links { opacity: 0; transform: translateY(-10px); pointer-events: none; }
  nav.nav-open .nav-links a {
    width: 100%; display: flex; align-items: center; justify-content: center;
    background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 12px; padding: 1rem; font-size: 1.1rem; font-weight: 600;
  }
  nav.nav-open .nav-links li + li { margin-top: 0.6rem; }
  nav.nav-open .nav-links-cta { display: block; }
  nav.nav-open .nav-links-cta .nav-cta {
    width: 100%; justify-content: center; background: var(--accent);
    border: 1px solid var(--accent); color: #fff !important;
  }
  body.mobile-nav-open { overflow: hidden; }
  .hero-inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .stats-bar-inner { grid-template-columns: 1fr; }
  .problem-grid { grid-template-columns: 1fr 1fr; }
  .services-process-rail { grid-template-columns: 1fr 1fr; }
  .process-steps { grid-template-columns: repeat(2, 1fr); }
  .process-steps::before { display: none; }
  .faq-grid { grid-template-columns: 1fr; }
  .strategy-dialog__content { grid-template-columns: 1fr; grid-template-areas: "copy" "calendar"; }
  .strategy-dialog__copy { border-right: none; border-bottom: 1px solid var(--border); }
  section { padding: 5rem 2rem; }
  .proof-bar { padding: 2rem; }
}

@media (max-width: 768px) {
  .hero { padding: 6rem 1.25rem 4rem; }
  .stats-bar { padding: 0 1.25rem 2rem; }
  .problem-grid { grid-template-columns: 1fr; }
  .services-process-rail { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: 1fr; }
  .case-card { flex: 0 0 88vw; }
  .comparison-table th, .comparison-table td { padding: 0.75rem; font-size: 0.8rem; }
  .footer-inner { flex-direction: column; text-align: center; }
  .footer-left .powered-by { justify-content: center; }
  .mobile-sticky-cta { display: block; }
  .strategy-dialog__panel {
    width: calc(100vw - 1.5rem);
    max-height: 94dvh;
  }
  .strategy-dialog__calendar,
  .strategy-dialog__calendar iframe {
    min-height: clamp(520px, 70dvh, 720px);
    height: clamp(520px, 70dvh, 720px);
  }
  .proof-logos { gap: 1.5rem; }
}
