.news-overview { min-width: 0; scroll-margin-top: 100px; }
.news-overview-header { margin-bottom: 28px; }
.news-overview-title { display: flex; align-items: baseline; gap: 14px; margin-bottom: 18px; }
.news-overview-title h1 { margin: 0; color: #222; font-size: 26px; font-weight: 600; }
.news-overview-count { color: #999; font-size: 13px; }
.news-topic-nav { display: flex; flex-wrap: wrap; gap: 9px; }
.news-topic-nav .news-topic-link { padding: 8px 17px; border: 1px solid #eee; border-radius: 22px; color: #666; font-size: 14px; background: #fafafa; }
.news-topic-nav .news-topic-link:hover, .news-topic-nav .news-topic-link.is-active { border-color: #ff5266; color: #ff5266; background: #fff1f3; }
.news-topic-link:focus-visible { outline: 2px solid #ff5266; outline-offset: 3px; }
.news-topic-rail { display: flex; gap: 16px; overflow-x: auto; padding-bottom: 8px; scrollbar-width: thin; scrollbar-color: #ddd transparent; }
.news-topic-rail .program-card { flex: 0 0 calc((100% - 64px) / 5); margin-right: 0; }
.news-topic-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 26px 16px; }
.news-topic-grid .program-card { margin-right: 0; }
.news-topic-section .view-more { color: #ff5266; white-space: nowrap; }
@media (max-width: 1100px) and (min-width: 761px) {
  .news-topic-rail .program-card { flex-basis: calc((100% - 32px) / 3); }
  .news-topic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[lang="en"] body:has(#news-overview:not([hidden])) .primary-nav { min-width: 0; flex: 1; overflow-x: auto; }
  html[lang="en"] body:has(#news-overview:not([hidden])) .primary-nav .nav-link { flex: 0 0 auto; }
  html[lang="en"] body:has(#news-overview:not([hidden])) .header-tools { flex-shrink: 0; }
}
@media (max-width: 760px) {
  .news-overview-header { margin-bottom: 22px; }
  .news-overview-title { gap: 10px; margin-bottom: 14px; }
  .news-overview-title h1 { font-size: 22px; }
  .news-topic-nav { gap: 7px; }
  .news-topic-nav .news-topic-link { padding: 6px 12px; font-size: 12px; }
  .news-topic-rail { gap: 10px; scroll-snap-type: x proximity; }
  .news-topic-rail .program-card { flex-basis: calc(46% - 5px); scroll-snap-align: start; }
  .news-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 10px; }
}
