@media (max-width: 980px) {
  .primary-nav { position: fixed; inset: 82px 20px auto 20px; display: none; flex-direction: column; align-items: stretch; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: #080e21; box-shadow: var(--shadow); }
  .primary-nav.open { display: flex; }
  .nav-toggle { display: block; }
  .hero-grid, .page-hero-grid, .split-grid, .story-grid, .contact-layout { grid-template-columns: 1fr; gap: 44px; }
  .hero { min-height: auto; padding-top: 90px; }
  .hero-visual { max-width: 700px; margin-inline: auto; }
  .service-grid, .value-grid, .next-grid { grid-template-columns: repeat(2, 1fr); }
  .timeline { grid-template-columns: repeat(2, 1fr); }
  .service-detail { grid-template-columns: 55px 1fr; }
  .service-detail aside { grid-column: 2; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 2; }
}

@media (max-width: 680px) {
  .container, .narrow { width: min(calc(100% - 28px), var(--container)); }
  .section { padding: 76px 0; }
  .nav-wrap { min-height: 72px; }
  .primary-nav { top: 72px; }
  h1 { font-size: clamp(2.55rem, 14vw, 4rem); }
  h2 { font-size: clamp(1.8rem, 10vw, 2.7rem); }
  .brand img { width: 38px; height: 38px; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-grid article:nth-child(2) { border-right: 0; }
  .stats-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .service-grid, .value-grid, .next-grid, .timeline { grid-template-columns: 1fr; }
  .service-detail { grid-template-columns: 1fr; gap: 16px; }
  .service-detail aside { grid-column: auto; }
  .feature-columns, .form-grid { grid-template-columns: 1fr; }
  .form-grid .full { grid-column: auto; }
  .contact-form { padding: 20px; }
  .floating-card { display: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .footer-grid > div:last-child { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
  .cta-card { padding: 48px 20px; }
}
