@media (max-width: 980px) {
  .container { width: min(calc(100% - 32px), var(--max)); }
  .nav-cta { display: none; }
  .nav-actions { margin-left: auto; }
  .menu-toggle { display: block; }
  .nav-links {
    position: fixed;
    top: 78px;
    right: 0;
    left: 0;
    width: 100%;
    height: calc(100vh - 78px);
    padding: 28px 20px;
    background: var(--white);
    border-top: 1px solid var(--line);
    display: grid;
    align-content: start;
    gap: 8px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  }
  .nav-open .nav-links {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
  .nav-links a { padding: 16px 0; font-size: 1.25rem; border-bottom: 1px solid var(--line); }
  .hero-grid, .section-head, .split { grid-template-columns: 1fr; gap: 34px; }
  .hero { padding-top: 54px; }
  .hero-visual { min-height: auto; }
  .editorial-frame img { height: 420px; }
  .metric-tile { right: 12px; top: 18px; }
  .mock-card { left: 12px; bottom: 18px; }
  .grid-3, .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-3.blog-grid { gap: 28px; }
  .article-card-body { padding: 20px; }
  .service-row { grid-template-columns: 72px 1fr; }
  .service-row > div:last-child { grid-column: 2; }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .stat:nth-child(2) { border-right: 0; }
  .stat:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .cta-band { grid-template-columns: 1fr; padding: 42px; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .section { padding: 74px 0; }
  .hero { padding-bottom: 60px; }
  h1 { font-size: clamp(2.8rem, 16vw, 4.4rem); }
  h2 { font-size: clamp(2rem, 10vw, 3.1rem); }
  .hero-actions, .btn { width: 100%; }
  .editorial-frame img { height: 340px; }
  .mock-card, .metric-tile { position: relative; inset: auto; width: 100%; margin-top: 14px; }
  .grid-2, .grid-3, .grid-4, .form-grid { grid-template-columns: 1fr; }
  .project-card img, .image-card img { height: 230px; }
  .service-row { grid-template-columns: 1fr; gap: 12px; padding: 28px 0; }
  .service-row > div:last-child { grid-column: auto; }
  .stats { grid-template-columns: 1fr; }
  .stat, .stat:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .stat:last-child { border-bottom: 0; }
  .timeline::before { left: 22px; }
  .step { grid-template-columns: 44px 1fr; gap: 14px; }
  .step-index { width: 44px; height: 44px; font-size: .85rem; }
  .step-panel { padding: 20px; }
  .cta-band { padding: 28px; }
  .footer-grid, .footer-bottom { grid-template-columns: 1fr; display: grid; }
}
