.news-page { min-height: 55vh; }
.news-hero { padding-block: 40px 64px; background: var(--sage); border-bottom: 1px solid var(--line); }
.news-back { color: var(--green); }
.news-back .icon { transform: rotate(180deg); }
.news-hero .eyebrow { margin-top: 38px; }
.news-hero h1 { max-width: 900px; margin-top: 16px; font-size: clamp(36px, 4.6vw, 60px); font-weight: 550; line-height: 1.14; overflow-wrap: anywhere; }
.news-intro { max-width: 580px; margin-top: 22px; }
.news-intro > * + * { margin-top: 1em; }
.news-archive { padding-block: 18px 80px; }
.news-item { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 40px; padding-block: 40px; border-bottom: 1px solid var(--line); }
.news-date { padding-top: 3px; color: var(--muted-small); font-size: var(--text-small); }
.news-item-copy { max-width: 740px; }
.news-item h2 { margin-top: 12px; font-size: clamp(25px, 2.7vw, 32px); letter-spacing: -0.035em; overflow-wrap: anywhere; }
.news-item h2 a:hover { color: var(--green); text-decoration: underline; }
.news-excerpt { margin-top: 15px; font-size: var(--text-body); }
.news-item .text-link { margin-top: 22px; color: var(--green); }
.news-reading-width { max-width: 780px; }
.news-meta { display: flex; align-items: center; gap: 16px; margin-top: 25px; color: var(--muted-small); font-size: var(--text-small); }
.news-article-body { padding-block: 48px 72px; }
.news-post-layout { display: grid; grid-template-columns: minmax(0, 740px) minmax(220px, 1fr); gap: 80px; align-items: start; }
.news-post-layout > .news-article-body { min-width: 0; }
.news-sidebar { margin-block: 48px 72px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--sage); }
.news-sidebar h2 { font-size: 20px; letter-spacing: -0.025em; }
.news-sidebar > .text-link { margin-top: 24px; color: var(--green); }
.news-related-posts { margin: 20px 0 0; padding: 0; list-style: none; }
.news-related-posts li + li { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.news-related-posts a { display: block; font-size: var(--text-ui); line-height: 1.6; overflow-wrap: anywhere; }
.news-related-posts a:hover { color: var(--green); text-decoration: underline; }
.news-hero .search-form { max-width: 620px; margin-top: 28px; }
.search-empty { padding-block: 32px; }
.search-empty h2 { font-size: 28px; }
.search-empty p { margin-top: 16px; }
.news-featured-image { margin-bottom: 36px; }
.news-featured-image img { display: block; width: 100%; border-radius: var(--radius); }
.news-content { font-size: var(--text-lead); line-height: 1.85; }
.news-content > h2, .news-content > h3, .news-content > h4 { margin-top: 1.8em; line-height: 1.3; }
.news-content > :first-child { margin-top: 0; }
.news-content ul, .news-content ol { padding-left: 1.4em; }
.news-content li + li { margin-top: 0.5em; }
.news-content blockquote { margin-inline: 0; padding: 18px 24px; border-left: 3px solid var(--green); background: var(--sage); }
.news-content blockquote cite { display: block; margin-top: 12px; font-size: var(--text-small); }
.news-content pre { max-width: 100%; border-radius: 6px; font-size: var(--text-small); line-height: 1.7; }
.news-content .wp-block-table { overflow-x: auto; }
.news-content figcaption { margin-top: 10px; color: var(--muted-small); font-size: var(--text-small); text-align: center; }
.news-content hr { margin-block: 36px; border: 0; border-top: 1px solid var(--line); }
.news-article-footer { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--line); }
.news-page .pagination { margin-top: 36px; }
.news-page .nav-links, .news-page-links { display: flex; flex-wrap: wrap; gap: 10px; }
.news-page .page-numbers, .news-page-links > * { display: inline-flex; justify-content: center; align-items: center; min-width: 42px; min-height: 42px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 6px; font-size: var(--text-ui); }
.news-page .page-numbers.current, .news-page-links .current { background: var(--green); border-color: var(--green); color: white; }
.news-page a.page-numbers:hover, .news-page-links a:hover { background: var(--sage); }
.news-page-links { margin-top: 28px; }

@media (max-width: 800px) {
	.news-post-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.news-sidebar { margin-top: 0; }
	.news-hero { padding-block: 30px 44px; }
	.news-hero .eyebrow { margin-top: 30px; }
	.news-item { grid-template-columns: 120px minmax(0, 1fr); gap: 24px; padding-block: 32px; }
}

@media (min-width: 801px) and (max-width: 1100px) {
	.news-post-layout { gap: 36px; }
}

@media (max-width: 600px) {
	.news-hero h1 { font-size: clamp(32px, 8vw, 42px); }
	.news-intro { font-size: var(--text-body); }
	.news-item { grid-template-columns: 1fr; gap: 14px; }
	.news-item h2 { font-size: 26px; }
	.news-archive { padding-bottom: 56px; }
	.news-article-body { padding-block: 32px 56px; }
	.news-content { font-size: var(--text-body); }
	.news-content h2 { font-size: 27px; }
	.news-content h3 { font-size: 22px; }
}
