@media (max-width: 1024px) {
  .container { padding: 0 32px; }
  .section { padding: 80px 0; }
  .intro-grid, .story-grid, .contact-grid { grid-template-columns: 1fr; gap: 48px; }
  .services-grid { gap: 28px; }
  .why-grid, .phil-grid, .testimonial-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .showcase-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 320px 320px 320px;
  }
  .show-item.large { grid-row: span 1; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .page-hero { padding: 160px 0 60px; }
}

@media (max-width: 720px) {
  .container { padding: 0 24px; }
  .section { padding: 60px 0; }
  .nav-desktop { display: none; }
  .menu-toggle { display: flex; }

  .hero { min-height: 90vh; padding-top: 120px; }
  .hero-sub { font-size: 1rem; }
  .hero-ctas { flex-direction: column; align-items: flex-start; }
  .btn { width: auto; padding: 14px 28px; }

  .services-grid { grid-template-columns: 1fr; }
  .why-grid, .phil-grid, .testimonial-grid { grid-template-columns: 1fr; gap: 24px; }
  .showcase-grid {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, 280px);
  }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; padding-bottom: 40px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }

  .contact-form { padding: 32px 24px; }
  .approach-list li { grid-template-columns: 50px 1fr; gap: 16px; padding: 24px 0; }

  .section-head { margin-bottom: 48px; }
  .page-hero { padding: 140px 0 50px; }
}

@media (max-width: 420px) {
  .container { padding: 0 20px; }
  h1 { font-size: 2.4rem; }
  h2 { font-size: 1.9rem; }
  .testimonial-grid p { font-size: 1.15rem; }
}