@media (max-width: 650px) {
  /* Price tracks must be allowed to shrink below their content's intrinsic width. */
  .package-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-inline-size: 0;
  }

  .package-row > div {
    min-inline-size: 0;
  }

  .package-row .plan {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .package-row:not(.package-collaboration) .plan {
    font-size: clamp(17px, 5.4vw, 21px);
  }

  /* Keep unusually long text and native controls inside their mobile columns. */
  main :where(div, section, article, fieldset, figure) {
    min-inline-size: 0;
  }

  main :where(h1, h2, h3, p, li, a, summary, label, legend) {
    overflow-wrap: anywhere;
  }

  main :where(.button, button, select, input, textarea) {
    box-sizing: border-box;
    min-inline-size: 0;
    max-inline-size: 100%;
  }

  body > :where(h1, h2, h3, p, ul, ol, dl) {
    min-inline-size: 0;
    overflow-wrap: anywhere;
  }

  /* Preserve the deliberately fixed-width before examples in their own scrollport. */
  .stell-320-demo-scroll {
    max-inline-size: 100%;
    overflow-x: auto;
  }
}
