/* Headline roles use the same complete system font as the site. */
.news-row h2, .news-row h2 a,
.home-news-list h3, .home-news-feature h3,
.news-article .article-header h2 {
  font-family: var(--sans);
  font-weight: 400;
  font-style: normal;
  font-synthesis: none;
}

/* Keep imported articles in the existing news layout. */
.news-figure { max-width: 700px; margin: 28px auto; }
.news-figure img { display: block; width: 100%; height: auto; }
.news-poster { max-width: 420px; }
.news-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; margin: 28px 0; align-items: start; }
.news-gallery .news-figure { min-width: 0; max-width: none; margin: 0; }
.news-topics { list-style: disc; padding-left: 1.5em; margin: 28px 0; }
.news-article .news-source { margin-top: 50px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 14px; }
.news-source a { color: var(--blue); text-decoration: underline; text-underline-offset: 4px; }
.news-source a:hover, .news-source a:focus-visible { color: var(--deep); text-decoration-color: var(--gold); }
.home-news-list h3, .news-row h2 { overflow-wrap: anywhere; }
.home-news-list h3 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.home-news-list p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.news-row > div { min-width: 0; }
.news-row p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 650px) {
  .news-gallery { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .news-figure { margin-block: 22px; }
  .news-poster { max-width: 330px; }
}
