@media (max-width: 1024px) {
  .hero .container { grid-template-columns: 1fr; text-align: center; }
  .hero__text { margin-left: auto; margin-right: auto; }
  .hero__actions { justify-content: center; }
  .hero__visual { display: none; }
  .features-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .about-block { grid-template-columns: 1fr; }
  .cta-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .about-cards { grid-template-columns: repeat(2, 1fr); }
  .service-layout { grid-template-columns: 1fr; }
  .service-sidebar { position: static; }
  .review-card { flex: 0 0 calc((100% - var(--carousel-gap)) / 2); min-height: 240px; }
}

@media (max-width: 768px) {
  .top-bar { display: none; }
  .nav-toggle { display: block; }
  .main-nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 300px;
    height: 100vh;
    background: var(--surface);
    box-shadow: var(--shadow-lg);
    padding: 80px 24px 24px;
    transition: right var(--transition);
    z-index: 999;
    overflow-y: auto;
  }
  .main-nav.open { right: 0; }
  .main-nav ul { flex-direction: column; align-items: stretch; }
  .main-nav a { padding: 14px 16px; }
  .main-nav .services-dropdown {
    position: static;
    left: auto;
    width: 100%;
    display: none;
    grid-template-columns: 1fr;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    box-shadow: none;
    border: 1px solid var(--border);
    margin-top: 8px;
    padding: 10px;
  }
  .main-nav .services-dropdown::before,
  .main-nav .services-dropdown::after { display: none; }
  .main-nav .has-dropdown.open .services-dropdown { display: grid; }
  .main-nav .has-dropdown:hover .services-dropdown,
  .main-nav .has-dropdown:focus-within .services-dropdown {
    transform: none;
  }
  .header-cta { display: none; }
  .hero { padding: 70px 0 90px; }
  .section { padding: 60px 0; }
  .features-grid,
  .services-showcase,
  .values-grid,
  .contact-cards { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .stat-item__num { font-size: 36px; }
  .form-row { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .legal-content { padding: 28px; }
  .service-content { padding: 24px; }
  .about-cards { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .review-card { flex: 0 0 100%; }
  .testimonial-carousel { --carousel-gap: 16px; }
}

@media (max-width: 480px) {
  .stats-grid { grid-template-columns: 1fr; }
  .hero h1 { font-size: 32px; }
  .btn { padding: 12px 24px; font-size: 14px; }
}
