@media (max-width: 760px) {
  .stage h2 { scroll-margin-top: 10rem; }
  .header-inner, main { width: min(100% - 2rem, 42rem); }
  .header-inner { align-items: flex-start; flex-direction: column; gap: 0.8rem; min-height: 4rem; padding: 0.8rem 0; }
  .intro { padding-top: 3.5rem; }
  .card-grid { grid-template-columns: 1fr; }
  .identity-fields { grid-template-columns: 1fr; }
  .name-controls { grid-template-columns: 1fr; }
  .field-compact { max-width: 10rem; }
  .stage-header { flex-direction: column; gap: 0.6rem; }
  .inline-progress { width: 100%; max-width: none; }
  .progress-count { justify-self: start; }
  .behavior-row { grid-template-columns: minmax(0, 1fr); }
  .behavior-select { width: 100%; }
  .question-screen .option-list { grid-template-columns: 1fr; }
  .question-screen .option:nth-child(even) { border-inline-start: 0; }
  .question-screen .option:nth-child(n + 2) { border-block-start: 1px solid var(--line); }
}
@media (max-width: 420px) {
  .header-inner, main { width: calc(100% - 1.5rem); }
  h1 { font-size: clamp(2.35rem, 14vw, 3.3rem); }
  .intro-actions, .modal-actions { align-items: stretch; flex-direction: column; }
  .button { width: 100%; }
  .stage-content { padding: 1.2rem; }
  .review-item { grid-template-columns: 1fr; gap: 0.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  .stage-transition-forward, .stage-transition-back { animation: none !important; }
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
