@media (max-width: 680px) {
  body { -webkit-text-size-adjust: 100%; }
  main { width: auto !important; padding: calc(24px + env(safe-area-inset-top)) 16px calc(32px + env(safe-area-inset-bottom)) !important; }
  .card { margin-top: 20px !important; padding: 26px 20px !important; border-radius: 16px !important; box-shadow: 0 14px 38px #063d2010 !important; }
  h1 { font-size: clamp(32px, 10vw, 44px) !important; line-height: 1.08 !important; }
  h2 { font-size: 22px !important; }
  .grid { grid-template-columns: 1fr !important; gap: 30px !important; }
  input, button { min-height: 50px !important; font-size: 16px !important; }
  button { width: 100% !important; margin-top: 18px !important; }
  .note, .error { padding: 14px !important; }
  label { margin-top: 16px !important; }
}
