/* Shared layout and touch controls for the guide and disclaimer. */
.grid > *, .fields > *, .field { min-width: 0; }
input, select { min-width: 0; max-width: 100%; min-height: 44px; }
button, .step summary { min-height: 44px; touch-action: manipulation; }
.contact a, .stat { overflow-wrap: anywhere; }
.check input { flex-shrink: 0; }
.check label { min-height: 44px; cursor: pointer; }

@media screen and (max-width: 760px) {
  .topline { flex-direction: column; gap: 8px; }
  .row { flex-wrap: wrap; }
  .scroll { max-width: 100%; }
  .scroll table { min-width: 440px; }
  .contact a { padding: 8px 0; }
}

@media screen and (max-width: 480px) {
  .shell { padding: 18px 16px; }
  header { flex-direction: column; gap: 8px; }
  .tag { max-width: none; text-align: left; }
  .hero { padding: 24px 0 18px; }
  nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  nav button, nav button[aria-current="page"] { padding: 10px 8px; line-height: 1.35; }
  nav button:last-child { grid-column: 1 / -1; }
  .card { padding: 18px; }
  .notice { padding: 16px; }
  .primary { width: 100%; }
  .links { gap: 10px; }
}
