/* Shared editorial columns use the existing type, colour and spacing tokens. */
.home-news-section{margin:32px 0;border-top:1px solid var(--ink);padding-top:24px}
.home-news-section>.section-heading{margin-bottom:20px}
.news-section-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.news-section-column{min-width:0}
.news-section-column+.news-section-column{border-left:1px solid var(--line);padding-left:24px}
.news-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}
.news-section-header h3{font-size:18px;line-height:1.45}
.news-section-header>a{flex:none;font-size:10px;color:var(--muted);white-space:nowrap}
.news-section-lead .story-image{aspect-ratio:1.8}
.news-section-copy{padding-top:12px}
.news-section-copy h4{font-size:19px;line-height:1.5;letter-spacing:var(--title-tracking);word-break:keep-all;overflow-wrap:anywhere;margin:0;font-weight:700}
.news-section-lead a:hover h4{color:#74632c}
.news-section-summary{font-size:12px;line-height:1.75;color:var(--muted);margin-top:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-section-copy .story-meta{margin-top:10px;flex-wrap:wrap}
.news-section-list{list-style:none;padding:0;margin-top:15px;border-top:1px solid var(--line)}
.news-section-list li{border-bottom:1px solid var(--line)}
.news-section-list a{display:block;padding:12px 0;font-size:15px;line-height:1.6;font-weight:600;word-break:keep-all;overflow-wrap:anywhere}
.news-section-list a:hover{color:#74632c}
.home-category-empty{font-size:12px;line-height:1.8;color:var(--muted);padding:20px 0;border-top:1px solid var(--line)}
.completed-section--empty{padding-bottom:32px}
@media(max-width:1000px){
 .news-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
 .news-section-column:nth-child(odd){border-left:0;padding-left:0}
 .news-section-column:nth-child(n+3){border-top:1px solid var(--line);padding-top:20px}
}
@media(max-width:600px){
 .home-news-section{margin:28px 0;padding-top:22px}
 .news-section-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .news-section-column+.news-section-column{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:20px}
 .news-section-header h3{font-size:19px}
 .news-section-lead .story-image{aspect-ratio:1.8}
 .news-section-copy h4{font-size:21px}
 .news-section-summary{font-size:13px}
 .news-section-list a{font-size:16px}
}
