@media (max-width: 980px) {
  .menu-toggle { display: block; }
  .main-nav {
    position: absolute; left: 20px; right: 20px; top: 72px; display: none;
    flex-direction: column; align-items: stretch; gap: 4px; padding: 18px;
    background: rgba(255,255,255,.98); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow);
  }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 12px; }
  .hero-grid, .split-grid, .contact-card { grid-template-columns: 1fr; }
  .hero-grid { gap: 34px; }
  .cards-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 640px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .section { padding: 78px 0; }
  .hero { padding-top: 64px; }
  .brand-text { display: none; }
  h1 { font-size: 3.15rem; }
  .hero-actions { flex-direction: column; }
  .button { width: 100%; }
  .cards-grid { grid-template-columns: 1fr; }
  .card { min-height: auto; }
  .card-icon { margin-bottom: 28px; }
  .service-item { grid-template-columns: 42px 1fr; gap: 16px; }
  .contact-card { padding: 28px; }
  blockquote { padding: 28px; }
}
