@media (max-width: 1024px) {
  .container { padding: 0 24px; }
  .section { padding: 80px 0; }
  .hero { padding: 160px 0 80px; min-height: auto; }
  .hero-inner { grid-template-columns: 1fr; gap: 60px; }
  .hero-visual { order: -1; max-width: 480px; margin: 0 auto; width: 100%; }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .process-steps { grid-template-columns: repeat(2, 1fr); }
  .about-grid, .contact-grid, .story-grid { grid-template-columns: 1fr; gap: 50px; }
  .story-image { position: static; max-width: 420px; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); gap: 36px; }
  .portfolio-grid { grid-template-columns: repeat(2, 1fr); }
  .header-inner { padding: 18px 24px; }
  .nav-links, .header-cta { display: none; }
  .menu-toggle { display: flex; }
  .page-hero { padding: 160px 0 70px; }
}

@media (max-width: 680px) {
  .container { padding: 0 16px; }
  .section { padding: 60px 0; }
  .section-head { margin-bottom: 50px; }
  h1 { font-size: clamp(2.2rem, 8vw, 3rem); }
  h2 { font-size: clamp(1.7rem, 6vw, 2.2rem); }

  .hero { padding: 140px 0 60px; }
  .hero-meta { flex-wrap: wrap; gap: 24px; }
  .hero-meta div { flex: 1 1 40%; }
  .hero-ctas { width: 100%; }
  .hero-ctas .btn { width: 100%; }

  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; gap: 18px; }
  .process-steps { grid-template-columns: 1fr; }
  .step { border-left: none; border-top: 1px solid var(--border); padding: 30px 0; }

  .portfolio-grid { grid-template-columns: 1fr; grid-auto-rows: 300px; }
  .portfolio-item.tall { grid-row: span 1; }

  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .footer-bottom { flex-direction: column; gap: 10px; text-align: center; }

  .contact-form { padding: 28px 22px; }

  .cta-band { padding: 70px 0; }
  .page-hero { padding: 130px 0 60px; }
}