/* Content must be allowed to shrink inside grid tracks, including long case names. */
.case-hero-grid > *,
.article-section > * {
  min-width: 0;
}

/* Long legal source URLs wrap without changing their destinations or wording. */
.article-section .body-copy,
.legal-document {
  overflow-wrap: anywhere;
}

@media (max-width: 800px) {
  /* Keep every section link visible; no sideways scrolling is required. */
  .exp-jump > .wrap {
    flex-wrap: wrap;
    overflow: visible;
    gap: 4px 24px;
  }
  .exp-jump a {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
  }
}

@media (max-width: 540px) {
  #main .case-hero-grid h1 {
    font-size: clamp(2rem, 9vw, 2.5rem);
  }

  .exp-jump > .wrap {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
  }

  /* Let long labels wrap while the SVG keeps its shape and alignment. */
  #main :is(.button, .text-link, .premium-link),
  .mobile-nav .button {
    min-width: 0;
    max-width: 100%;
    gap: 16px;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  #main :is(.button, .text-link, .premium-link) > span:not(.arrow),
  .exp-signals li > div,
  .route-services a > span:not([aria-hidden]) {
    min-width: 0;
  }
}
