.news-article-hero {
    display: flex;
    align-items: end;
    min-height: clamp(360px, 36vw, 560px);
    padding: 80px 0 48px;
    color: #fff;
    background: linear-gradient(transparent, rgba(0, 0, 0, .6)), var(--article-hero) center / cover no-repeat;
}
.news-article-hero a { color: #fff; }
.news-article-hero h1 { max-width: 900px; margin: 16px 0 0; font-size: clamp(2rem, 3.2vw, 3.25rem); line-height: 1.12; }
.news-article-layout { display: grid; grid-template-columns: minmax(0, 1000px) minmax(0, 250px); gap: 40px; width: min(calc(100% - 50px), 1290px); }
.news-article-body { width: 100%; padding-top: 70px; padding-bottom: 50px; color: #333; }
.news-article-body .elementor-container { width: 100%; }
.news-article-body .elementor-widget { margin-bottom: 24px; }
.news-article-body .elementor-widget-heading { margin-bottom: 14px; }
.news-article-body h2 { font-size: clamp(1.6rem, 2.4vw, 2.25rem); line-height: 1.25; }
.news-article-body h4 { font-size: 1.25rem; line-height: 1.4; }
.news-article-body p, .news-article-body li { font-size: 1.05rem; line-height: 1.7; }
.news-article-body p { margin: 0 0 1.1em; }
.news-article-body ul { margin: 0 0 1.5em; padding-left: 1.5em; }
.news-article-body img { display: block; width: auto; max-width: 100%; height: auto; aspect-ratio: auto 3 / 2; }
.news-article-body .elementor-widget-image img { width: 100%; margin-inline: auto; }
.news-article-body .elementor-widget-image img[width] { width: auto; }
.news-article-body .elementor-inner-section > .elementor-container { display: flex; gap: 16px; align-items: start; }
.news-article-body .elementor-inner-section > .elementor-container > .elementor-column { flex: 1; min-width: 0; }
.news-article-body .gallery { display: grid; gap: 12px; margin: 12px 0 30px; }
.news-article-body .gallery-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.news-article-body .gallery-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.news-article-body .gallery-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.news-article-body .gallery-columns-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.news-article-body .gallery br { display: none; }
.news-article-body .gallery dt, .news-article-body .gallery dl { margin: 0; min-width: 0; }
.news-article-body .gallery img { width: 100%; height: auto; }
.news-article-body a { color: #582c83; text-decoration: underline; }
.news-imported-content { max-width: 850px; overflow-wrap: anywhere; }
.news-imported-content h2, .news-imported-content h3, .news-imported-content h4 { margin: 1.6em 0 .65em; }
.news-imported-content h3 { font-size: 1.45rem; line-height: 1.35; }
.news-imported-content ol { padding-left: 1.5em; margin-bottom: 1.5em; }
.news-imported-content img { margin: 1.4em auto; }
.news-imported-content figure { margin: 2em 0; }
.news-imported-content figcaption { color: #555; font-size: .9rem; text-align: center; }
.news-imported-content blockquote { margin: 2em 0; padding-left: 1.4em; border-left: 3px solid #f58220; }
.news-imported-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.news-imported-content th, .news-imported-content td { padding: .6em; border: 1px solid #ddd; }
.news-related { padding-bottom: 80px; }
.news-related h2, .news-recent h2 { font-size: 1.35rem; margin: 0 0 22px; text-transform: uppercase; }
.news-related-grid { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 40px) / 3); gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.news-related-grid::-webkit-scrollbar { display: none; }
.news-related-grid > article { scroll-snap-align: start; }
.news-related-grid img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.news-related-controls { display: flex; justify-content: end; gap: 8px; margin-top: 14px; }
.news-related-controls button { width: 36px; height: 36px; border: 1px solid #ccc; background: #fff; color: #213958; cursor: pointer; }
.news-related-controls button:disabled { opacity: .4; cursor: default; }
.news-related-grid h3 { font-size: 1rem; line-height: 1.4; margin: 16px 0 8px; }
.news-related-grid p { font-size: .9rem; line-height: 1.5; }
.news-related a, .news-recent a { color: #582c83; }
.news-recent { padding-top: 70px; }
.news-recent > a { display: block; padding: 12px 0; border-bottom: 1px solid #ddd; line-height: 1.4; }
@media (max-width: 900px) {
    .news-article-layout { display: block; width: min(calc(100% - 50px), 700px); }
    .news-recent { padding: 0 0 55px; }
}
@media (max-width: 700px) {
    .news-article-hero { min-height: 340px; padding: 64px 0 30px; }
    .news-article-body { padding-top: 36px; padding-bottom: 56px; }
    .news-related-grid { grid-auto-columns: 100%; }
    .news-article-body .elementor-inner-section > .elementor-container { flex-direction: column; }
    .news-article-body .elementor-inner-section > .elementor-container > .elementor-column { width: 100%; }
    .news-article-body .gallery-columns-4, .news-article-body .gallery-columns-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
