/* News additions use the site's existing color, type, and spacing system. */
.news-toolbar[hidden] { display: none; }
.news-date { display: block; }
.news-solution-label { color: var(--muted); font-size: .85rem; }
.news-topic-pill { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.news-story-shell { padding: clamp(30px, 5vw, 64px) 0 72px; }
.news-back-link { display: inline-flex; margin-bottom: 1rem; color: var(--cyan); font-weight: 700; }
.news-story-heading { max-width: 900px; }
.news-story-heading h1 { margin: 20px 0; font-size: clamp(2rem, 4vw, 3.5rem); }
.news-story-heading .hero-lede { font-size: clamp(1.1rem, 2vw, 1.3rem); }
.news-story-meta { display: flex; flex-wrap: wrap; gap: .65rem 1.5rem; margin: 20px 0; color: var(--muted); }
.news-story-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .42fr); gap: 24px; margin-top: 30px; align-items: start; }
.news-story-content, .news-story-source { padding: clamp(22px, 3vw, 36px); border: 1px solid var(--line); border-radius: 24px; background: var(--panel-strong); }
.news-story-content h2, .news-story-source h2 { font-size: 1.35rem; margin-bottom: 1rem; }
.news-story-content p + h2 { margin-top: 2rem; }
.news-story-content p, .news-story-source p { color: var(--text-soft); margin: 1rem 0; }
.news-story-source .news-card-links { margin-top: 20px; }
.news-story-source .news-card-links a { width: 100%; white-space: normal; line-height: 1.35; text-align: center; }
.news-story-note { margin-top: 2rem; font-size: .92rem; line-height: 1.6; }
@media (max-width: 800px) { .news-story-grid { grid-template-columns: 1fr; } }
