.news {
  margin: 0;
  padding-top: 6px;
  overflow-wrap: anywhere;
}
.news-source {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  color: #b6a084;
  font: 12px/1.4 Arial, sans-serif;
  text-underline-offset: 4px;
}
.news-post {
  --section-padding-inline: 0px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 44%);
  grid-template-areas: "heading heading" "copy media";
  gap: 0 16px;
  padding: 0 0 16px;
}
.news-post-heading { grid-area: heading; padding-block: 8px; }
.news-heading-main { min-width: 0; }
.news-category { display: block; margin-bottom: 3px; color: #b6a084; font: 12px/1.4 Arial, sans-serif; }
.news-copy { grid-area: copy; min-width: 0; padding: 12px 0 0 10px; }
.news-date { display: block; margin: 0; color: #ada08f; font: 12px/1.5 Arial, sans-serif; }
.news-title { margin: 0; color: #e7d9c6; font: 700 24px/1.2 var(--font-section-title); }
.news-text { margin: 0; color: #b9b3a9; font: 14px/1.6 Arial, sans-serif; white-space: pre-line; }
.news-media { grid-area: media; min-width: 0; align-self: start; display: grid; gap: 10px; margin: 12px 10px 0 0; }
.news-media img { display: block; width: 100%; height: auto; }
.news-media a { display: block; min-width: 0; }
.news-post.news-post--text { grid-template-columns: minmax(0, 1fr); grid-template-areas: "heading" "copy"; }
.news-post--text .news-copy { padding-right: 10px; }
.news-empty { margin: 0; padding: 18px 10px; color: #b9b3a9; font: 14px/1.6 Arial, sans-serif; }
.news-repost { margin: 12px 0 0; padding-left: 12px; border-left: 2px solid #795235; }
.news-attachment-note { margin: 10px 0 0; color: #b6a084; font: 12px/1.5 Arial, sans-serif; }
.news-post-footer { padding-top: 6px; }
.news-post-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #c5ad90; font: 13px/1.4 Arial, sans-serif; text-underline-offset: 4px; }
.news a:focus-visible { outline: 2px solid #eca36f; outline-offset: -2px; border-radius: 0; }
@media (hover: hover) {
  .news-source:hover, .news-post-link:hover { color: #f2c58f; text-decoration: underline; }
}
@media (max-width: 680px) {
  .news-post {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "heading" "media" "copy";
    gap: 0;
    padding-bottom: 12px;
  }
  .news-post-heading { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .news-date { grid-row: 1; font-size: 11px; }
  .news-media { margin: 10px 10px 0; }
  .news-copy { padding: 10px 10px 0; }
  .news-title { font-size: 22px; }
  .news-source { min-height: 44px; }
}
