/* Shared mobile readability fixes */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

h1,
h2,
h3,
p,
li,
td,
th,
a,
strong,
span {
  overflow-wrap: break-word;
}

@media (max-width: 760px) {
  .site-header {
    padding: 14px 16px;
  }

  .brand {
    max-width: 100%;
    line-height: 1.1;
  }

  .nav {
    width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .nav::-webkit-scrollbar {
    display: none;
  }

  .nav a {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .hero,
  .section,
  .footer {
    padding-left: 16px;
    padding-right: 16px;
  }

  h1 {
    font-size: clamp(42px, 13vw, 64px);
    line-height: .95;
  }

  h2 {
    font-size: clamp(30px, 10vw, 46px);
    line-height: 1;
  }

  h3 {
    font-size: 22px;
    line-height: 1.08;
  }

  .dek {
    font-size: 18px;
  }

  .hero-card,
  .pick,
  .fit-card,
  .faq-item,
  .cta,
  .method {
    max-width: 100%;
  }

  .pick {
    min-height: auto;
  }

  .table-wrap {
    overflow: visible;
    border-radius: 18px;
  }

  table,
  thead,
  tbody,
  tr,
  th,
  td {
    display: block;
    width: 100%;
  }

  thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  tbody tr {
    padding: 16px;
    border-bottom: 1px solid var(--line);
    background: var(--panel);
  }

  tbody tr:last-child {
    border-bottom: 0;
  }

  td {
    display: grid;
    grid-template-columns: minmax(88px, .34fr) minmax(0, 1fr);
    gap: 12px;
    padding: 10px 0;
    border: 0;
    min-width: 0;
    overflow-wrap: anywhere;
  }

  td::before {
    color: var(--muted);
    font-weight: 900;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  td:nth-child(1)::before {
    content: "Provider";
  }

  td:nth-child(2)::before {
    content: "Score";
  }

  td:nth-child(3)::before {
    content: "Best for";
  }

  td:nth-child(4)::before {
    content: "Verify";
  }

  td strong {
    display: block;
    line-height: 1.12;
  }

  .content-grid,
  .criteria-grid,
  .deep-dive-grid,
  .caveat-grid,
  .checklist-grid,
  .quick-points {
    gap: 14px;
  }

  .deep-dive-card {
    padding-left: 14px;
  }

  .cta h2 {
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .hero,
  .section,
  .footer {
    padding-left: 14px;
    padding-right: 14px;
  }

  .eyebrow {
    max-width: 100%;
    font-size: 11px;
    letter-spacing: .08em;
  }

  .button {
    width: 100%;
    text-align: center;
  }

  td {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  td::before {
    margin-bottom: 2px;
  }

  .score {
    font-size: 42px;
  }
}
