.news-content {
    color: #374151;
    font-size: 1.0625rem;
    line-height: 1.85;
}
.news-content p { margin: 0 0 1.25rem; line-height: 1.8; }
.news-content h2 {
    margin: 2.5rem 0 1.25rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid rgba(94, 108, 48, 0.2);
    color: rgb(94, 108, 48);
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.3;
}
.news-content h3 {
    margin: 2rem 0 1rem;
    color: #1f2937;
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.35;
}
.news-content ul,
.news-content ol {
    margin: 0 0 1.5rem;
    padding-left: 2rem;
    line-height: 1.8;
}
.news-content ul { list-style: disc outside; }
.news-content ol { list-style: decimal outside; }
.news-content ul ul { list-style-type: circle; }
.news-content ol ol { list-style-type: lower-alpha; }
.news-content li { margin-bottom: 0.5rem; padding-left: 0.25rem; }
.news-content li::marker { color: rgb(94, 108, 48); font-weight: 600; }
.news-content a { color: rgb(94, 108, 48); font-weight: 500; text-decoration: underline; text-underline-offset: 0.15em; }
.news-content a:hover { color: rgb(74, 88, 38); }
.news-content blockquote {
    margin: 2rem 0;
    padding: 0.75rem 1.25rem;
    border-left: 4px solid rgb(94, 108, 48);
    background: #f7f7f4;
    color: #4b5563;
    font-style: italic;
}
.news-content figure { margin: 2.5rem auto; text-align: center; }
.news-content figure.article-figure { max-width: 48rem; }
.news-content figure.article-figure--wide { max-width: none; }
.news-content img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 2.5rem auto;
    border-radius: 0.75rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.news-content figure img { margin: 0 auto; }
.news-content figcaption { margin-top: 0.65rem; color: #6b7280; font-size: 0.875rem; line-height: 1.5; }
.news-content iframe,
.news-content video { display: block; width: 100%; max-width: 100%; margin: 2rem auto; border: 0; border-radius: 0.75rem; }
@media (max-width: 640px) {
    .news-content { font-size: 1rem; }
    .news-content h2 { font-size: 1.5rem; }
    .news-content h3 { font-size: 1.25rem; }
    .news-content ul,
    .news-content ol { padding-left: 1.5rem; }
}