@media (max-width: 780px) {
  body { overflow-x: hidden; }
  .points-header-inner { padding: .7rem 1rem; gap: .55rem; }
  .points-brand > span { width: 2.25rem; height: 2.25rem; }
  .points-brand strong { font-size: 1.08rem; }
  .points-header nav {
    gap: .2rem;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .points-header nav::-webkit-scrollbar { display: none; }
  .points-header nav a {
    display: grid;
    place-items: center;
    min-height: 44px;
    padding: .55rem .75rem;
    font-size: .82rem;
  }
  main { padding: 1.25rem 1rem 4rem; }
  .points-hero { gap: 1rem; padding: 1.15rem 0 1.75rem; }
  .points-hero h1,
  .points-page-title h1 {
    font-size: clamp(2.15rem, 10.5vw, 3.1rem);
    line-height: .98;
    letter-spacing: -.04em;
  }
  .points-hero > div > p:not(.points-eyebrow) { display: none; }
  .points-page-title > p:not(.points-eyebrow) { font-size: 1rem; line-height: 1.55; }
  .points-status { align-items: flex-start; margin-top: .9rem; line-height: 1.4; }
  .points-hero aside {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .15rem 1rem;
    padding: 1rem 1.15rem;
    border-radius: 1rem;
  }
  .points-hero aside small,
  .points-hero aside > strong,
  .points-hero aside > span { grid-column: 1; }
  .points-hero aside > strong { grid-row: 2; font-size: 2.75rem; }
  .points-hero aside > span { grid-row: 3; font-size: .8rem; }
  .points-hero aside hr { display: none; }
  .points-hero aside p { grid-column: 2; grid-row: 1; margin: 0; font-size: .75rem; }
  .points-hero aside b { grid-column: 2; grid-row: 2 / 4; align-self: center; font-size: 1rem; letter-spacing: .06em; }
  .points-podium {
    grid-template-columns: repeat(3, minmax(245px, 80vw));
    gap: .65rem;
    margin: 0 -1rem 1.75rem;
    padding: 0 1rem .45rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .points-podium::-webkit-scrollbar { display: none; }
  .points-podium-card {
    padding: 1rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .7rem;
    scroll-snap-align: start;
  }
  .points-podium-card h2 { font-size: 1.15rem; overflow-wrap: anywhere; }
  .points-podium-card > strong { font-size: 1.25rem; white-space: nowrap; }
  .points-ranking,
  .points-rules-grid > article,
  .points-rules-grid > aside,
  .points-form-shell { padding: 1.15rem; border-radius: 1rem; }
  .points-section-head { gap: .7rem; margin-bottom: 1rem; }
  .points-section-head h2,
  .points-rules-grid h2,
  .points-privacy h2,
  .points-callout h2 { font-size: 1.65rem; }

  .points-table-wrap { overflow: visible; }
  .points-ranking table { min-width: 0; }
  .points-ranking thead { display: none; }
  .points-ranking tbody {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
  }
  .points-ranking tbody tr {
    display: grid;
    grid-template-columns: 2.1rem minmax(0, 1fr) minmax(0, 1fr);
    gap: .35rem .45rem;
    align-items: center;
    padding: .7rem;
    border: 1px solid #ebe6dc;
    border-radius: .8rem;
    background: #fff;
  }
  .points-ranking tbody th,
  .points-ranking tbody td { border: 0; padding: 0; text-align: left; }
  .points-ranking tbody td:first-child {
    grid-column: 1;
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: #e9efe9;
    color: var(--green);
  }
  .points-ranking tbody th { grid-column: 2 / 4; grid-row: 1; font-size: 1rem; overflow-wrap: anywhere; }
  .points-ranking tbody td:nth-child(3) { grid-column: 2; grid-row: 2; }
  .points-ranking tbody td:nth-child(4) { grid-column: 3; grid-row: 2; }
  .points-ranking tbody td:nth-child(n + 3) { display: grid; gap: .08rem; font-size: .92rem; }
  .points-ranking tbody td:nth-child(n + 3)::before {
    content: attr(data-label);
    font-size: .56rem;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--muted);
    font-weight: 650;
  }
  .points-note { margin-top: 1rem; }
  .points-callout { margin-top: 1rem; padding: 1.25rem; gap: .75rem; }
  .points-callout p:not(.points-eyebrow) { display: none; }
  .points-callout .points-button,
  .points-form-consent .points-button { width: 100%; min-height: 48px; }
  .points-page-title { padding: 1.5rem 0 2.25rem; }
  .points-rules-grid { gap: .8rem; }
  .points-score-list li { align-items: flex-start; padding: .9rem 0; }
  .points-score-list b { white-space: nowrap; }
  .points-privacy { padding: 1.25rem; }
  .points-form-shell form { gap: .85rem; }
  .points-form-shell input,
  .points-form-shell select { min-height: 48px; font-size: 16px; }
  .points-form-shell textarea { min-height: 140px; font-size: 16px; }
  .points-form-consent { gap: .75rem; }
  footer { gap: 1rem; padding: 1.5rem 1rem 2.5rem; line-height: 1.5; }
}

@media (max-width: 390px) {
  .points-header nav a { padding: .5rem .6rem; font-size: .78rem; }
  .points-position { width: 2.2rem; height: 2.2rem; }
  .points-ranking tbody { gap: .4rem; }
  .points-ranking tbody tr { padding: .6rem; grid-template-columns: 1.9rem minmax(0, 1fr) minmax(0, 1fr); }
  .points-ranking tbody td:first-child { width: 1.8rem; height: 1.8rem; font-size: .8rem; }
}
