:root { --blue:#2874c6; --blue-dark:#175c9e; --orange:#ff5a1f; --green:#72bf25; --ink:#202020; --muted:#858585; --line:#ddd; --paper:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#f8f8f8; color:var(--ink); font-family:"Open Sans", Arial, Helvetica, sans-serif; }
img { display:block; max-width:100%; }
a { color:inherit; }
.page-shell { width:min(1200px, calc(100% - 40px)); margin-inline:auto; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; z-index:100; top:8px; left:8px; padding:10px 14px; transform:translateY(-150%); background:#fff; color:#000; }
.skip-link:focus { transform:none; }

.section-nav { position:relative; z-index:15; margin-top:16px; background:var(--blue); color:#fff; }
.section-nav--sticky { position:sticky; top:0; margin-top:0; }
.section-nav__inner { display:flex; min-height:54px; align-items:stretch; overflow-x:auto; scrollbar-width:none; }
.section-nav a { display:flex; flex:none; align-items:center; padding:0 20px; font-size:14px; font-weight:800; text-decoration:none; text-transform:uppercase; }
.section-nav a:hover,.section-nav a.is-active { background:var(--blue-dark); }

.home-page { padding-block:30px 46px; }
.section-listing-header { padding:4px 0 20px; margin-bottom:28px; border-bottom:2px solid var(--line); }
.section-listing-header p { margin-bottom:5px; color:var(--orange); }
.section-listing-header > div { display:flex; align-items:end; justify-content:space-between; gap:20px; }
.section-listing-header h1 { margin:0; font-size:32px; line-height:1; }
.section-listing-header span { color:var(--muted); font-size:13px; font-weight:700; }
.category-news .main-feed__secondary { align-items:start; }
.news-mosaic { display:grid; grid-template-columns:160px 176px minmax(0,1fr); gap:35px; align-items:start; }
.headline-rail article,.mini-rail article { padding:0 0 20px; margin:0 0 20px; border-bottom:1px solid var(--line); }
.headline-rail article > a,.mini-rail article > a { display:block; text-decoration:none; }
.headline-rail b,.mini-rail b,.news-card > b,.news-card a > b,.compact-news b,.category-label { display:block; margin:0 0 10px; color:var(--green); font-size:12px; }
.mini-rail b,.news-card > b,.news-card a > b,.compact-news b { color:var(--orange); }
.headline-rail h2,.mini-rail h2 { margin:0; font-size:14px; line-height:1.25; }
.headline-rail time { display:block; margin-top:10px; color:var(--muted); font-size:11px; font-weight:700; }
.headline-rail p { margin:12px 0 0; color:#7c7c7c; font-size:13px; line-height:1.4; }
.mini-rail img { width:100%; aspect-ratio:16/9; margin-bottom:11px; object-fit:cover; }
.headline-rail a:hover h2,.mini-rail a:hover h2,.news-card a:hover h2 { text-decoration:underline; }
.headline-rail a:focus-visible,.mini-rail a:focus-visible,.news-card a:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }

.main-feed { min-width:0; }
.empty-news { margin:0; padding:26px; border:1px solid var(--line); background:#fff; color:var(--muted); }
.main-feed__primary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 18px; }
.continuous-news { margin-top:38px; padding-top:34px; border-top:1px solid var(--line); }
.main-feed__secondary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 22px; }
.news-card { min-width:0; }
.news-card a { display:block; text-decoration:none; }
.news-card img { width:100%; aspect-ratio:16/9; margin-bottom:14px; object-fit:cover; }
.news-card h2 { margin:0; font-size:23px; line-height:1.05; letter-spacing:-.02em; }
.news-card p { margin:15px 0 0; color:#858585; font-size:14px; line-height:1.45; }
.news-card--wide { grid-column:span 2; }
.main-feed__secondary .news-card h2 { font-size:18px; line-height:1.1; }
.main-feed__secondary .news-card p { font-size:13px; }
.news-card--wide img { max-height:360px; }
.news-meta { display:flex; gap:12px; margin-top:12px; color:#929292; font-size:12px; font-weight:700; }
.read-link { display:inline-block; margin-top:16px; padding:7px 11px; border:1px solid #cbdff5; color:var(--blue); font-size:12px; font-weight:800; text-transform:uppercase; }
.pagination { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:38px; }
.pagination[hidden] { display:none; }
.pagination a,.pagination span { display:grid; min-width:36px; height:36px; place-items:center; padding-inline:10px; border:1px solid #d5d5d5; background:#fff; color:var(--blue); font-weight:700; text-decoration:none; }
.pagination span { background:var(--blue); color:#fff; }
.infinite-feed { display:grid; min-height:72px; place-items:center; margin-top:24px; }
.infinite-feed__sentinel { width:100%; height:1px; }
.infinite-feed__status { min-height:20px; margin:10px 0 0; color:var(--muted); font-size:13px; }
.infinite-feed__retry { cursor:pointer; padding:10px 18px; border:1px solid var(--blue); background:#fff; color:var(--blue); font-weight:800; }

.search-page { min-height:560px; padding-block:36px 60px; }
.listing-header p { margin:0 0 7px; color:var(--green); font-size:12px; font-weight:800; text-transform:uppercase; }
.listing-header h1 { margin:0 0 28px; font-size:30px; }
.search-form { max-width:720px; }
.search-form label { display:block; margin-bottom:8px; font-size:13px; font-weight:800; }
.search-form > div { display:flex; }
.search-form input { min-width:0; flex:1; height:46px; padding:0 14px; border:1px solid #bbb; background:#fff; font:inherit; }
.search-form button { width:120px; border:0; background:var(--blue); color:#fff; font-weight:800; }
.search-summary { margin:24px 0; color:#777; }
.search-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 20px; margin-top:30px; }

.top-stories { display:grid; grid-template-columns:repeat(3,1fr); gap:44px; padding-block:17px; }
.top-stories article a { display:grid; grid-template-columns:150px 1fr; gap:10px; align-items:start; font-size:14px; line-height:1.15; text-decoration:none; }
.top-stories img { width:150px; height:84px; object-fit:cover; }
.article-layout { display:grid; grid-template-columns:minmax(0,670px) 160px minmax(240px,300px); gap:35px; padding-block:28px 54px; align-items:start; }
.article-main h1 { margin:0 0 18px; font-size:25px; line-height:1.08; letter-spacing:-.025em; }
.category-label { margin-bottom:8px; color:var(--orange); }
.article-meta { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:22px; color:#1770c7; font-size:12px; font-weight:800; }
.article-main figure { margin:0 0 30px; }
.article-main figure img { width:100%; max-height:520px; object-fit:cover; }
.article-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:-14px 0 28px; }
.article-main .article-gallery figure { margin:0; }
.article-main .article-gallery img { aspect-ratio:4/3; max-height:330px; object-fit:cover; }
.article-lead,.article-body { font-family:"Open Sans", Arial, Helvetica, sans-serif; font-size:16px; line-height:1.48; }
.article-lead { margin:0 0 20px; }
.article-body { scroll-margin-top:75px; }
.article-body p { margin:0 0 18px; }
.article-readmore summary { display:inline-flex; cursor:pointer; list-style:none; margin:0 0 20px; padding:13px 28px; border-radius:3px; background:#3484c7; color:#fff; font-size:15px; font-weight:800; }
.article-readmore summary::-webkit-details-marker { display:none; }
.article-readmore summary span::before { content:"↪ "; }
.article-readmore[open] summary { display:none; }
.compact-news h2,.popular-news > h2,.inline-popular > h2 { margin:0 0 18px; padding:9px 14px; border-bottom:2px solid #d2d2d2; background:#ececec; font-size:23px; }
.compact-news article { padding:0 0 20px; margin-bottom:20px; border-bottom:1px solid var(--line); }
.compact-news img { width:100%; aspect-ratio:4/3; margin-bottom:10px; object-fit:cover; }
.compact-news h3 { margin:0; font-size:14px; line-height:1.25; }
.compact-news article > a,.popular-news article > a,.inline-popular article > a { display:block; text-decoration:none; }
.popular-news article { padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid var(--line); }
.popular-news img { width:100%; max-height:300px; object-fit:cover; }
.popular-news h3 { margin:13px 0 0; font-size:17px; line-height:1.18; }
.inline-popular { margin-top:34px; padding-top:20px; border-top:1px solid var(--line); }
.inline-popular > div { display:grid; grid-template-columns:1fr 1fr; gap:25px 16px; }
.inline-popular article img { width:100%; aspect-ratio:16/9; margin-bottom:10px; object-fit:cover; }
.inline-popular article b { font-size:14px; line-height:1.2; }

.site-footer { border-top:4px solid #1f1f1f; background:#252525; color:#d1d1d1; }
.site-footer__grid { display:grid; grid-template-columns:1.6fr repeat(3,1fr); gap:55px; padding-block:42px 38px; }
.site-footer__about strong { color:#fff; font-size:25px; }
.site-footer__about p { max-width:300px; margin:12px 0 0; color:#aaa; font-size:13px; line-height:1.55; }
.site-footer nav { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.site-footer nav b { margin-bottom:3px; color:#fff; font-size:14px; text-transform:uppercase; }
.site-footer nav a { color:#bbb; font-size:13px; text-decoration:none; }
.site-footer nav a:hover { color:#fff; text-decoration:underline; }
.site-footer__bottom { border-top:1px solid #3b3b3b; background:#1e1e1e; }
.site-footer__bottom > div { padding-block:16px; color:#888; font-size:12px; }

.comebacker { width:min(560px,calc(100% - 28px)); padding:0; overflow:hidden; border:0; border-radius:7px; box-shadow:0 24px 80px rgb(0 0 0 / 35%); }
.comebacker::backdrop { background:rgb(7 22 37 / 58%); }
.comebacker__bar { display:flex; align-items:center; justify-content:space-between; padding:12px 18px; background:var(--blue); color:#fff; font-weight:800; }
.comebacker__close { cursor:pointer; border:0; background:transparent; color:#fff; font-size:26px; }
.comebacker__body { padding:30px 34px 34px; }
.comebacker__eyebrow { margin:0 0 8px; color:var(--orange); font-size:11px; font-weight:900; text-transform:uppercase; }
.comebacker h2 { margin:0; font-size:27px; }
.comebacker__body > p:not(.comebacker__eyebrow) { color:#666; line-height:1.5; }
.comebacker__stories { display:grid; gap:10px; margin-top:20px; }
.comebacker__stories a { display:grid; grid-template-columns:96px minmax(0,1fr); gap:12px; align-items:center; padding:9px; border:1px solid #e2e7ed; border-radius:4px; background:#fff; text-decoration:none; }
.comebacker__stories img { width:96px; height:62px; object-fit:cover; }
.comebacker__stories small { display:block; margin-bottom:4px; color:var(--orange); font-size:11px; font-weight:800; }
.comebacker__stories b { display:block; font-size:14px; line-height:1.2; }
.top-stories a:hover b,.compact-news a:hover h3,.popular-news a:hover h3,.inline-popular a:hover b,.comebacker__stories a:hover b { text-decoration:underline; }
.comebacker__actions { display:flex; gap:12px; margin-top:24px; }
.comebacker__primary,.comebacker__secondary { padding:12px 16px; border:1px solid #ccd5df; border-radius:3px; font-weight:800; text-decoration:none; }
.comebacker__primary { border-color:var(--blue); background:var(--blue); color:#fff; }
.comebacker__secondary { cursor:pointer; background:#fff; color:#555; }

@media (max-width:1000px) {
  .news-mosaic { grid-template-columns:155px minmax(0,1fr); gap:24px; }
  .mini-rail { display:none; }
  .article-layout { grid-template-columns:minmax(0,1fr) 220px; }
  .compact-news { display:none; }
  .top-stories { gap:18px; }
  .top-stories article a { grid-template-columns:100px 1fr; }
  .top-stories img { width:100px; height:65px; }
}
@media (max-width:700px) {
  .page-shell { width:min(100% - 24px,1200px); }
  .section-nav { width:100%; margin-top:0; }
  .section-nav a { min-height:48px; padding:0 14px; font-size:12px; }
  .home-page { padding-top:18px; }
  .section-listing-header { margin-bottom:22px; }
  .section-listing-header h1 { font-size:27px; }
  .news-mosaic { display:block; }
  .headline-rail { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; margin-bottom:22px; }
  .headline-rail article:nth-child(n+3) { display:none; }
  .main-feed__primary,
  .main-feed__secondary { grid-template-columns:1fr; gap:28px; }
  .search-results { grid-template-columns:1fr; }
  .news-card--wide { grid-column:auto; }
  .news-card h2 { font-size:22px; }
  .top-stories { display:flex; overflow-x:auto; gap:12px; }
  .top-stories article { min-width:245px; }
  .article-layout { display:block; padding-top:20px; }
  .article-main h1 { font-size:26px; }
  .article-gallery { grid-template-columns:1fr; }
  .popular-news { margin-top:35px; }
  .compact-news { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:35px; }
  .compact-news h2 { grid-column:1/-1; }
  .inline-popular > div { grid-template-columns:1fr; }
  .site-footer__grid { grid-template-columns:1fr 1fr; gap:32px 26px; padding-block:32px; }
  .site-footer__about { grid-column:1/-1; }
  .comebacker__actions { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
