.news-main { padding:42px 0 0; }
.news-heading { padding-bottom:30px; }
.news-eyebrow { font:700 11px/1.4 var(--text); letter-spacing:.14em; color:var(--ink2); margin-bottom:12px; }
.news-heading h1 { font-size:clamp(38px,5vw,64px); line-height:1.08; letter-spacing:-.055em; }
.news-intro { margin-top:16px; color:var(--ink2); font-size:17px; }
.news-toolbar { display:flex; justify-content:space-between; gap:20px; border-top:3px solid var(--ink); border-bottom:1px solid var(--ink); }
.news-toolbar button, #news-pages button { background:none; border:0; color:var(--ink); font:700 14px/1.4 var(--text); cursor:pointer; min-height:48px; padding:12px 0; }
#news-filters { display:flex; gap:26px; }
#news-filters button { position:relative; white-space:nowrap; }
#news-filters button[aria-pressed="true"]::after { content:''; position:absolute; height:3px; background:#5953ff; bottom:-1px; left:0; right:0; }
.news-info { display:flex; justify-content:space-between; gap:12px; padding:14px 0; color:var(--ink2); font-size:12px; }
#news-list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; column-gap:40px; }
#news-list > li { min-width:0; border-bottom:1px solid var(--hair); }
.news-article { display:flex; flex-direction:column; height:100%; padding:24px 0; }
.news-meta { display:flex; align-items:baseline; gap:10px; font-size:12px; color:var(--ink2); margin-bottom:12px; }
.news-source { font-weight:800; color:var(--ink); }
.news-article h2 { font-size:23px; letter-spacing:-.025em; line-height:1.45; text-wrap:pretty; }
.news-article h2 a { text-decoration:none; }
.news-article h2 a:hover { text-decoration:underline; text-decoration-thickness:1.5px; }
.news-read { align-self:flex-start; margin-top:auto; padding-top:20px; font-size:12px; font-weight:700; text-decoration:none; }
.news-read:hover { text-decoration:underline; }
#news-empty { padding:40px 0; }
#news-pages button { border-bottom:2px solid var(--ink); margin-top:24px; font-size:16px; }
.news-toolbar button:disabled { opacity:.5; cursor:wait; }
[hidden] { display:none!important; }
@media(max-width:699px) {
 .news-main { padding-top:28px; }
 .news-heading { padding-bottom:24px; }
 .news-intro { font-size:15px; margin-top:12px; }
 #news-filters { gap:18px; }
 .news-toolbar { gap:12px; }
 .news-toolbar button { font-size:12px; }
 .news-info { display:block; font-size:11px; }
 .news-info > span { display:block; margin-top:4px; }
 #news-list { grid-template-columns:1fr; }
 .news-article { padding:20px 0; }
 .news-article h2 { font-size:20px; }
 .news-meta { margin-bottom:9px; font-size:11px; }
 .news-read { padding-top:12px; }
}
@media(max-width:359px) { #news-filters { gap:12px; } .news-toolbar button {font-size:11px;} }

.news-media { position:relative; display:block; aspect-ratio:2 / 1; overflow:hidden; margin-bottom:20px; background:var(--wash); text-decoration:none; }
.news-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; }
.news-media.has-image img { opacity:1; }
.news-media.has-image .news-media-fallback { visibility:hidden; }
.news-media-fallback { display:flex; flex-direction:column; justify-content:space-between; height:100%; padding:24px; border-top:3px solid var(--ink); background:var(--wash); color:var(--ink2); }
.news-media-fallback span { font-size:12px; font-weight:700; letter-spacing:.12em; }
.news-media-fallback strong { font-size:32px; line-height:1.2; letter-spacing:-.04em; }
.news-summary { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin-top:12px; font-size:15px; line-height:1.65; color:var(--ink2); }
.news-page-status { font-size:12px; color:var(--ink2); }
#news-list:focus { outline:none; }
#news-pages { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; padding:28px 0 0; }
#news-pages button { min-width:44px; min-height:44px; padding:10px; margin:0; border:1px solid var(--hair); font-size:14px; }
#news-pages button[aria-current="page"] { background:var(--ink); color:var(--paper); border-color:var(--ink); }
#news-pages button:disabled { opacity:.35; cursor:default; }
#news-filters { scroll-margin-top:16px; }
@media(max-width:699px){.news-media{margin-bottom:16px}.news-media-fallback{padding:18px}.news-media-fallback strong{font-size:26px}.news-summary{font-size:14px;margin-top:10px}#news-pages{gap:5px}#news-pages button{min-width:38px;padding:10px 8px;font-size:13px}}
