@media (max-width: 1040px) {
  :root { --shell: min(100% - 40px, 900px); --space-8: 5rem; }
  .primary-nav { gap: 1rem; }
  .primary-nav a:not(.nav-action) { display: none; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero { min-height: auto; }
  .hero-visual { min-height: 440px; }
  .products-grid, .team-grid, .experience-grid, .conversion-grid, .brief-grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .product-copy, .brief-intro { position: static; }
  .material-figure { max-width: 580px; }
  .fit-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1.4fr 1fr; }
  .footer-grid > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  :root { --shell: calc(100% - 32px); --space-8: 4.25rem; }
  html { scroll-padding-top: 68px; }
  body { font-size: 15px; }
  .header-inner { min-height: 66px; }
  .nav-action { display: none; }
  .nav-toggle { display: block; }
  .primary-nav { position: absolute; top: 66px; right: 0; left: 0; display: none; align-items: stretch; flex-direction: column; gap: 0; padding: 0 16px 16px; border-bottom: 1px solid var(--hairline); background: var(--canvas); }
  .primary-nav.is-open { display: flex; }
  .primary-nav a:not(.nav-action) { display: block; min-height: 48px; padding: 0.85rem 0; border-bottom: 1px solid var(--hairline); }
  .hero { padding-top: 4.5rem; }
  h1 { font-size: clamp(3.05rem, 14vw, 5rem); }
  h2 { font-size: clamp(2.4rem, 11vw, 4rem); }
  .hero-visual { min-height: 370px; padding: 1rem; }
  .split-intro, .section-heading { grid-template-columns: 1fr; gap: var(--space-3); }
  .section-heading { margin-bottom: var(--space-5); }
  .capability-row { grid-template-columns: 44px 1fr; gap: 0.8rem; }
  .capability-row > p:last-child { grid-column: 2; }
  .category-index li { grid-template-columns: 42px 1fr; }
  .category-index small { grid-column: 2; }
  .process-step { grid-template-columns: 52px 1fr; }
  .process-step::after { display: none; }
  .process-step div { grid-template-columns: 1fr; gap: 1rem; }
  .proof-list, .form-grid, .check-grid { grid-template-columns: 1fr; }
  .fit-grid { grid-template-columns: 1fr; }
  .fit-card { min-height: 210px; }
  .button-group { flex-direction: column; }
  .conversion-section .button { width: 100%; }
  .brief-form { padding: 1.2rem; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div:last-child { grid-column: auto; }
  .footer-bottom { flex-wrap: wrap; }
}

@media (max-width: 400px) {
  :root { --shell: calc(100% - 24px); }
  .wordmark { font-size: 0.8rem; }
  .hero-visual { min-height: 320px; }
}
