/* Final responsive pass: stable rhythm on narrow screens. */
.stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 520px;
}

@media (max-width: 760px) {
  body { overflow-x: hidden; }
  .section h2 { max-width: 100%; overflow-wrap: anywhere; }

  .hero { padding-bottom: 7.25rem; }

  .hero-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .8rem;
  }

  .hero-actions .button {
    display: none;
  }

  .hero-actions .quiet-link {
    display: block;
    width: auto;
    margin: 0;
  }

  .hero-meta { bottom: 1.55rem; }

  .chapter,
  .chapter:nth-child(even) {
    min-height: 0;
    padding: 1.35rem;
  }

  .chapter h2 {
    max-width: 100%;
    font-size: clamp(2.45rem, 11vw, 3.25rem);
    line-height: .92;
    overflow-wrap: anywhere;
  }

  .chapter p {
    max-width: 100%;
    font-size: .9rem;
    overflow-wrap: anywhere;
  }

  .program-intro h2 {
    font-size: clamp(2.4rem, 10.8vw, 3.15rem);
    line-height: .93;
  }

  .chapters { padding-bottom: 2rem; }
  .program { padding-top: 3rem; }

  .program-intro > p:not(.section-kicker),
  .accordion details p { overflow-wrap: anywhere; }

  .portrait-placeholder {
    min-height: min(78vw, 340px);
    background-position: center 37%;
  }

  .footer-contacts { flex-wrap: wrap; row-gap: .6rem; }
  dialog { max-height: 92svh; overflow-y: auto; }
  .mobile-cta { bottom: max(1rem, env(safe-area-inset-bottom)); }
}
