.news-section { width: var(--content); margin: 0 auto; padding: 48px 0 80px; }
.news-section > .notice-box { margin-bottom: 40px; }
.news-section > .notice-box h2 { font-size: 1.4rem; }
.news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.news-card { min-width: 0; padding: 28px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.news-card h3 { font-size: 1.35rem; line-height: 1.25; }
.news-card h3 a { color: var(--ink); }
.news-meta, .news-sources span { color: var(--ink-soft); font-size: .85rem; }
.news-status { width: fit-content; max-width: 100%; padding: 7px 12px; background: var(--green-soft); color: var(--green-deep); border-radius: 8px; font-size: .85rem; font-weight: 650; }
.news-article { width: var(--narrow); margin: 0 auto; padding: 48px 0 80px; overflow-wrap: anywhere; }
.news-article h1 { font-size: clamp(2.2rem, 5vw, 3.8rem); }
.news-article h2, .editorial-update h2 { font-size: clamp(1.6rem, 3vw, 2.35rem); }
.news-article section { margin-top: 40px; }
.news-article li { margin-bottom: 12px; }
.news-sources { padding-left: 22px; }
.news-sources li { margin-bottom: 20px; overflow-wrap: anywhere; }
.news-section > .source-note { margin-top: 28px; }
.editorial-update { scroll-margin-top: 130px; }
.editorial-update .source-note { font-size: .85rem; }
@media (max-width: 899px) {
    .news-grid { grid-template-columns: 1fr; }
    .site-nav { flex-wrap: wrap; justify-content: flex-start; overflow: visible; }
    .site-nav a:nth-child(n+3):not(.nav-cta) { display: inline-flex; }
    .site-header { position: relative; }
    html { scroll-padding-top: 18px; }
}

@media (max-width: 540px) {
    .subpage-hero h1, .section-heading h2, .editorial-update { overflow-wrap: anywhere; }
}
