@media (max-width: 980px) {
  .home {
    --home-mobile-square-title-font: 18px;
    --home-mobile-square-text-font: 24px;
    --home-mobile-program-text-font: 16px;
    --home-mobile-square-line: 1.3;
    --home-mobile-program-line: 1.55;
    --home-mobile-title-gap: 16px;
  }

  /* Text panels follow their content; image tiles retain their existing size. */
  .home .split-grid > article:not(.program-list),
  .home .program-list > div {
    display: block;
    height: auto;
    min-height: 0;
    aspect-ratio: auto;
    padding: 32px 24px;
    overflow: visible;
  }

  .home .program-list {
    min-height: 0;
    padding: 0;
    gap: 0;
    border: 0;
    background: transparent;
  }

  .home .program-list > div {
    max-width: none;
    border-bottom: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.92);
  }

  .home .split-grid > article .section-title > p {
    margin: 0 0 6px;
    font-size: var(--home-mobile-square-title-font);
    line-height: var(--home-mobile-square-line);
  }

  .home .split-grid > article .section-title > span {
    margin-bottom: var(--home-mobile-title-gap);
  }

  .home .split-grid > article .section-title h2,
  .home .split-grid > article > h2 {
    margin: 0;
    font-size: var(--home-mobile-square-text-font);
    line-height: var(--home-mobile-square-line);
    text-wrap: wrap;
    overflow-wrap: break-word;
  }

  .home .split-grid > article .section-title + h2 {
    margin-top: 16px;
  }

  .home .program-list h3 {
    margin: 0 0 14px;
    font-size: 22px;
    line-height: 1.3;
    overflow-wrap: break-word;
  }

  .home .program-list p,
  .home .program-list div:nth-child(3) p {
    margin: 0;
    font-size: var(--home-mobile-program-text-font);
    line-height: var(--home-mobile-program-line);
    text-wrap: wrap;
    overflow-wrap: break-word;
  }
}

@media (max-width: 380px) {
  .home .split-grid > article:not(.program-list),
  .home .program-list > div {
    padding: 28px 20px;
  }
}
