@media (max-width: 1024px) {
  section { padding: 90px 0; }
  .intro-grid, .why-grid, .story-grid, .approach-grid {
    grid-template-columns: 1fr;
    gap: 60px;
  }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .testimonial-grid { grid-template-columns: 1fr; }
  .showcase-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 280px;
  }
  .showcase-item.large { grid-column: span 2; grid-row: span 1; }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
  .contact-grid { grid-template-columns: 1fr; gap: 50px; }
  .philosophy-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  body { font-size: 16px; }
  section { padding: 70px 0; }
  .container { padding: 0 22px; }
  .nav-desktop { display: none; }
  .menu-toggle { display: flex; }

  h1 { font-size: clamp(2.2rem, 8vw, 3rem); }
  h2 { font-size: clamp(1.8rem, 5vw, 2.4rem); }

  .hero { min-height: 90vh; }
  .hero-content { padding: 120px 22px 90px; }
  .hero-sub { font-size: 1rem; }
  .hero-cta { flex-direction: column; align-items: stretch; }
  .btn { padding: 14px 28px; }

  .services-grid { grid-template-columns: 1fr; }
  .showcase-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 260px;
  }
  .showcase-item.large { grid-column: span 1; }

  .footer-grid { grid-template-columns: 1fr; gap: 36px; }
  .contact-form { padding: 32px 24px; }
  .page-hero { padding: 130px 0 60px; }
  .section-head { margin-bottom: 50px; }
}

@media (max-width: 480px) {
  section { padding: 60px 0; }
  .intro-image img, .why-image img, .story-image img, .approach-image img {
    aspect-ratio: 3/4;
  }
}