@media (max-width: 980px) {
  .nav-toggle { display: block; }
  .nav-panel {
    position: fixed;
    inset: 82px 0 auto 0;
    display: grid;
    gap: 0;
    background: #fff;
    border-bottom: 1px solid var(--border);
    padding: 10px 20px 20px;
    transform: translateY(-120%);
    transition: transform .24s ease;
  }
  .nav-panel.open { transform: translateY(0); }
  .nav-panel a { padding: 13px 0; border-bottom: 1px solid var(--border); }
  .hero-grid, .split-grid, .newsletter-grid, .cta-grid, .contact-grid, .catalog-card { grid-template-columns: 1fr; }
  .hero { padding-top: 44px; }
  .strip-grid { grid-template-columns: repeat(3, 1fr); }
  .feature-grid, .product-grid, .cards-3, .timeline, .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .steps, .counters, .gallery-grid, .masonry, .review-grid { grid-template-columns: repeat(2, 1fr); }
  .catalog-card img { min-height: 240px; }
}

@media (max-width: 640px) {
  .container, .narrow { width: min(100% - 28px, 1180px); }
  .nav { height: 72px; }
  .brand img { width: 128px; }
  .nav-panel { top: 72px; }
  .hero-media img { min-height: 240px; }
  .floating-badge { position: static; display: inline-flex; margin: 10px 8px 0 0; }
  .strip-grid, .feature-grid, .product-grid, .steps, .counters, .gallery-grid, .masonry, .cards-3, .timeline, .footer-grid, .review-grid { grid-template-columns: 1fr; }
  .section { padding: 62px 0; }
  .page-hero { padding: 68px 0 48px; }
  .newsletter-grid, .cta-grid { text-align: left; }
  .inline-form { display: grid; }
  .cookie { right: 14px; left: 14px; display: grid; }
  .whatsapp { bottom: 124px; }
  .call { bottom: 72px; }
}
