/* Responsive safety net for every page that loads the site header.
   Keeps phones and desktops inside the screen; page-specific layouts stay as they are. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html, body { max-width: 100%; overflow-x: clip; }
img, video, iframe, canvas, svg { max-width: 100%; height: auto; }
p, li, h1, h2, h3, h4, a, td, th, label { overflow-wrap: anywhere; }
main table, .card table, .section table, .prose table, table {
  display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;
}
@media (pointer: coarse) {
  a.btn, a.button, button, .button, .btn, .plan-choice, .nav-cta {
    min-height: 44px;
  }
  input, select, textarea { font-size: 16px; }
}
@media (max-width: 640px) {
  .plan-choice-grid, .grid, .cards { grid-template-columns: 1fr !important; }
  .ctas, .actions { flex-wrap: wrap; }
  .ctas > *, .actions > * { flex: 1 1 100%; text-align: center; }
}
@media (min-width: 1024px) {
  main { max-width: 1180px; margin-left: auto; margin-right: auto; }
}
