@media (max-width: 1024px) {
  :root { --section-pad: 80px; }
  .container { padding: 0 28px; }
  
  .intro-grid,
  .why-grid,
  .about-grid,
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .services-grid { grid-template-columns: 1fr; }

  .showcase-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }

  .showcase-item.large {
    grid-row: auto;
    grid-column: 1 / 3;
    height: 400px;
  }

  .showcase-item { height: 280px; }

  .testimonial-grid,
  .philosophy-grid {
    grid-template-columns: 1fr;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }

  .nav-desktop { display: none; }
  .menu-toggle { display: flex; }
}

@media (max-width: 640px) {
  :root { --section-pad: 60px; }
  .container { padding: 0 20px; }

  h1 { font-size: 2.2rem; }
  h2 { font-size: 1.8rem; }

  .hero { padding: 130px 0 70px; min-height: 90vh; }
  .hero-cta { flex-direction: column; align-items: stretch; }
  .btn { justify-content: center; }
  
  .hero-meta {
    flex-direction: column;
    gap: 24px;
    padding-top: 30px;
  }

  .hero-meta strong { font-size: 1.8rem; }

  .showcase-grid {
    grid-template-columns: 1fr;
  }
  
  .showcase-item.large,
  .showcase-item {
    grid-column: 1;
    height: 280px;
  }

  .footer-grid { grid-template-columns: 1fr; gap: 36px; }

  .contact-form { padding: 32px 24px; }
  .form-row { grid-template-columns: 1fr; }

  .approach-item { gap: 20px; }
  .approach-num { min-width: 40px; font-size: 1.3rem; }

  .page-hero { padding: 150px 0 70px; }

  .service-card { padding: 36px 28px; }
}