@media (max-width: 1024px) {
  .section { padding: 90px 0; }
  .intro-grid, .why-grid, .two-col { gap: 60px; }
  .testimonials-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .showcase-grid { height: auto; grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .showcase-item.large { grid-row: span 1; grid-column: span 2; }
  .showcase-item { aspect-ratio: 4/3; }
  .showcase-item.large { aspect-ratio: 16/8; }
}

@media (max-width: 768px) {
  .container { padding: 0 24px; }
  .section { padding: 70px 0; }
  .section-head { margin-bottom: 50px; }

  .menu-toggle { display: flex; }
  .main-nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 80%;
    max-width: 360px;
    height: 100vh;
    background: var(--linen);
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 60px 40px;
    gap: 24px;
    transition: right 0.5s var(--ease);
    box-shadow: -10px 0 40px rgba(31,58,46,0.1);
  }
  .main-nav.open { right: 0; }
  .main-nav a { font-size: 1.4rem; font-family: var(--serif); }

  .hero { padding: 120px 0 60px; min-height: 90vh; }
  .hero-cta { flex-direction: column; width: 100%; }
  .hero-cta .btn { width: 100%; }
  .hero-scroll { display: none; }

  .intro-grid, .why-grid, .two-col, .contact-grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }
  .two-col.reverse > div:first-child { order: 0; }

  .services-grid { grid-template-columns: 1fr; gap: 16px; }
  .service-card { padding: 40px 32px; }

  .showcase-grid { grid-template-columns: 1fr; }
  .showcase-item.large { grid-column: span 1; }

  .testimonials-grid { grid-template-columns: 1fr; }
  .principles-grid { grid-template-columns: 1fr; }

  .cta-inner { padding: 60px 32px; }

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

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

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

@media (max-width: 480px) {
  .container { padding: 0 20px; }
  .section { padding: 60px 0; }
  h1 { font-size: 2.4rem; }
  h2 { font-size: 1.9rem; }
  .hero-sub { font-size: 1rem; }
  .service-card { padding: 36px 28px; }
  .testimonial { padding: 36px 28px; }
  .testimonial p { font-size: 1.15rem; }
  .cta-inner { padding: 50px 24px; }
}