@media (min-width: 768px) {
  .form-grid,
  .choices,
  .journey,
  .concept-grid,
  .design-flow,
  .insight-grid,
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .choices { grid-column: 1 / -1; }
  .field.full,
  .form-card .btn,
  .form-card .form-note { grid-column: 1 / -1; }
  .process-list { grid-template-columns: 1fr 1fr; }
  .design-flow { align-items: stretch; }
}

@media (min-width: 1024px) {
  .problem-stage,
  .contact-layout {
    grid-template-columns: 0.9fr 1.1fr;
    gap: 2rem;
  }

  .concept-grid,
  .footer-grid {
    grid-template-columns: 1.3fr 1fr 1fr 1fr;
  }

  .concept-grid { grid-template-columns: 1fr 1fr; }
  .design-flow { grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; }
  .design-arrow { display: block; }
  .insight-grid,
  .journey { grid-template-columns: repeat(3, 1fr); }
  .process-list { grid-template-columns: 1fr; }
  .approach-list { grid-template-columns: 1fr 1.2fr; }
  .approach-item:first-child { grid-column: 1 / -1; }
  .why-list { grid-template-columns: 1fr 1fr 1fr; }
}

@media (min-width: 1280px) {
  .hero-center h1 { font-size: 4.6rem; }
}

@media (max-width: 389px) {
  .hero-copy h1 { font-size: 2.35rem; }
  .btn { width: 100%; }
  .header-bar .btn { width: auto; }
}
