body {
  background:var(--surface-canvas);
  color:var(--text-primary);
}
.latest-shell {
  width:min(calc(100% - 2rem),var(--content-max));
  margin-inline:auto;
}
.latest-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:2rem;
  align-items:end;
  padding-block:clamp(2rem,5vw,4.5rem) 1.4rem;
  border-block-end:1px solid var(--ink-0);
}
.latest-hero h1 {
  margin:.35rem 0 .7rem;
  font-size:clamp(3rem,7vw,6.6rem);
  line-height:.9;
  letter-spacing:-.055em;
  color:var(--brand-deep);
}
.latest-hero p {
  max-inline-size:62rem;
  margin:0;
  color:var(--text-secondary);
  font-size:clamp(.95rem,1.3vw,1.08rem);
  line-height:1.8;
}
.latest-hero aside {
  min-inline-size:10rem;
  padding-block-start:.85rem;
  border-block-start:4px solid var(--brand-signal);
  display:grid;
  gap:.15rem;
}
.latest-hero aside strong {
  font-size:3rem;
  line-height:1;
}
.latest-hero aside span {
  color:var(--text-muted);
  font-size:.72rem;
}
.latest-filters {
  display:flex;
  gap:.45rem;
  overflow-x:auto;
  padding:.9rem 0 1rem;
  border-block-end:1px solid var(--border-subtle);
  scrollbar-width:thin;
}
.latest-filter {
  flex:0 0 auto;
  padding:.5rem .7rem;
  border:1px solid var(--border-subtle);
  background:var(--surface-raised);
  color:var(--text-secondary);
  font-size:.75rem;
  font-weight:850;
}
.latest-filter:hover,
.latest-filter:focus-visible {
  border-color:var(--accent);
  color:var(--accent);
}
.latest-filter.is-active {
  background:var(--brand-deep);
  border-color:var(--brand-deep);
  color:#fff;
}
.latest-dashboard {
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(18rem,.7fr);
  grid-template-areas:
    "lead side"
    "feed side";
  gap:1.5rem 1.75rem;
  padding-block:1.3rem 2rem;
}
.latest-dashboard__lead { grid-area:lead; }
.latest-dashboard__feed { grid-area:feed; }
.latest-sidebar { grid-area:side; display:grid; align-content:start; gap:1.35rem; }
.latest-lead {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(17rem,.75fr);
  gap:1.25rem;
  padding-block-end:1.3rem;
  border-block-end:2px solid var(--brand-nile);
}
.latest-lead__media {
  display:block;
  min-height:24rem;
  overflow:hidden;
  background:var(--surface-muted);
}
.latest-lead__media img,
.latest-lead__media .article-media-fallback {
  inline-size:100%;
  block-size:100%;
  min-height:24rem;
  object-fit:cover;
}
.latest-lead__body {
  align-self:end;
}
.latest-type {
  display:block;
  margin-block-start:.65rem;
  color:var(--brand-oxide);
  font-size:.72rem;
  font-weight:900;
}
.latest-lead h2 {
  margin:.35rem 0 .7rem;
  font-size:clamp(2rem,3.4vw,3.2rem);
  line-height:1.14;
  letter-spacing:-.025em;
}
.latest-lead p {
  margin:.4rem 0 .7rem;
  color:var(--text-secondary);
  line-height:1.7;
}
.latest-time {
  color:var(--text-muted);
  font-size:.72rem;
}
.latest-feed > header {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:end;
  padding-block:.2rem .7rem;
  border-block-end:1px solid var(--ink-0);
}
.latest-feed > header h2 {
  margin:.2rem 0 0;
  font-size:1.55rem;
  color:var(--brand-deep);
}
.latest-feed > header > strong {
  color:var(--ink-3);
  font-size:2rem;
  line-height:1;
}
.latest-feed ol {
  list-style:none;
  margin:0;
  padding:0;
}
.latest-feed li {
  display:grid;
  grid-template-columns:2.3rem 9rem minmax(0,1fr);
  gap:.8rem 1rem;
  align-items:start;
  padding:1rem 0;
  border-block-end:1px solid var(--border-subtle);
}
.latest-index {
  color:var(--ink-3);
  font-size:.8rem;
  font-weight:900;
}
.latest-feed__media {
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  background:var(--surface-muted);
}
.latest-feed__media img,
.latest-feed__media .article-media-fallback {
  inline-size:100%;
  block-size:100%;
  object-fit:cover;
}
.latest-feed__meta {
  display:flex;
  align-items:center;
  gap:.5rem;
  color:var(--text-muted);
  font-size:.7rem;
}
.latest-feed__meta > span:first-child {
  color:var(--brand-oxide);
  font-weight:900;
}
.latest-feed h3 {
  margin:.2rem 0 .35rem;
  font-size:clamp(1.05rem,1.6vw,1.4rem);
  line-height:1.45;
}
.latest-feed p {
  display:-webkit-box;
  overflow:hidden;
  margin:.3rem 0 0;
  color:var(--text-secondary);
  font-size:.82rem;
  line-height:1.6;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.latest-popular,
.latest-sections {
  padding-block-start:.8rem;
  border-block-start:4px solid var(--brand-oxide);
}
.latest-popular header h2,
.latest-sections header h2 {
  margin:.15rem 0 .5rem;
  font-size:1.3rem;
  color:var(--brand-deep);
}
.latest-popular ol {
  list-style:none;
  margin:0;
  padding:0;
}
.latest-popular li {
  display:grid;
  grid-template-columns:2.6rem minmax(0,1fr);
  gap:.75rem;
  padding:.75rem 0;
  border-block-end:1px solid var(--border-subtle);
}
.latest-popular__rank {
  color:var(--brand-oxide);
  font-size:1.5rem;
  line-height:1;
  font-weight:900;
  letter-spacing:-.06em;
}
.latest-popular h3 {
  margin:0;
  font-size:.9rem;
  line-height:1.5;
}
.latest-popular li div > span {
  display:block;
  margin-block-start:.3rem;
  color:var(--text-muted);
  font-size:.68rem;
}
.latest-sections {
  border-block-start-color:var(--brand-nile);
}
.latest-sections nav {
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}
.latest-sections a {
  padding:.45rem .55rem;
  border:1px solid var(--border-subtle);
  background:var(--surface-raised);
  color:var(--text-secondary);
  font-size:.72rem;
  font-weight:800;
}
.latest-sections a:hover,
.latest-sections a:focus-visible {
  border-color:var(--brand-nile);
  color:var(--brand-nile);
}
.latest-empty {
  padding:2rem 0;
  color:var(--text-muted);
}

@media(max-width:960px){
  .latest-dashboard {
    grid-template-columns:minmax(0,1fr) minmax(15rem,.6fr);
  }
  .latest-lead {
    grid-template-columns:1fr;
  }
  .latest-lead__media,
  .latest-lead__media img,
  .latest-lead__media .article-media-fallback {
    min-height:0;
    aspect-ratio:16/9;
  }
  .latest-feed li {
    grid-template-columns:2rem 7rem minmax(0,1fr);
  }
}
@media(max-width:760px){
  .latest-shell {
    width:min(calc(100% - 1.2rem),var(--content-max));
  }
  .latest-hero {
    grid-template-columns:1fr;
    gap:1rem;
    padding-block:1.7rem 1rem;
  }
  .latest-hero h1 {
    font-size:clamp(3rem,16vw,5rem);
  }
  .latest-hero aside {
    min-inline-size:0;
    max-inline-size:10rem;
  }
  .latest-filters {
    margin-inline:-.6rem;
    padding-inline:.6rem;
  }
  .latest-dashboard {
    grid-template-columns:1fr;
    grid-template-areas:
      "lead"
      "side"
      "feed";
    gap:1.2rem;
  }
  .latest-sidebar {
    grid-template-columns:1fr;
  }
  .latest-feed li {
    grid-template-columns:2rem 6rem minmax(0,1fr);
    gap:.65rem;
  }
}
@media(max-width:520px){
  .latest-lead h2 {
    font-size:clamp(1.7rem,8vw,2.35rem);
  }
  .latest-feed li {
    grid-template-columns:1.7rem 5.3rem minmax(0,1fr);
    gap:.55rem;
  }
  .latest-feed p {
    display:none;
  }
  .latest-feed__meta {
    flex-wrap:wrap;
    gap:.25rem .45rem;
  }
}

.latest-popular__more {
  display:inline-flex;
  margin-block:.15rem .55rem;
  color:var(--brand-oxide);
  font-size:.72rem;
  font-weight:900;
}


/* Latest V2 — reader-controlled full vs headlines-only density. */
.latest-controls {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  border-block-end:1px solid var(--border-subtle);
}
.latest-controls .latest-filters {
  border-block-end:0;
}
.latest-view-toggle {
  display:flex;
  align-items:center;
  gap:.4rem;
  white-space:nowrap;
}
.latest-view-toggle > span {
  color:var(--text-muted);
  font-size:.68rem;
  font-weight:800;
}
.latest-view-toggle a {
  padding:.45rem .58rem;
  border:1px solid var(--border-subtle);
  background:var(--surface-raised);
  color:var(--text-secondary);
  font-size:.7rem;
  font-weight:850;
}
.latest-view-toggle a.is-active {
  border-color:var(--brand-nile);
  color:var(--brand-nile);
}
.latest-headlines {
  padding-block:1.3rem 2rem;
}
.latest-headlines > header {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  padding-block-end:.75rem;
  border-block-end:3px solid var(--brand-nile);
}
.latest-headlines > header h2 {
  margin:.15rem 0 0;
  color:var(--brand-deep);
  font-size:1.55rem;
}
.latest-headlines > header strong {
  color:var(--ink-3);
  font-size:2rem;
  line-height:1;
}
.latest-headlines ol {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:1.5rem;
}
.latest-headlines li {
  display:grid;
  grid-template-columns:2.4rem minmax(0,1fr);
  gap:.7rem;
  padding:.8rem 0;
  border-block-end:1px solid var(--border-subtle);
}
.latest-headlines__index {
  color:var(--ink-3);
  font-size:.8rem;
  font-weight:900;
}
.latest-headlines__meta {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.35rem .5rem;
  color:var(--text-muted);
  font-size:.67rem;
}
.latest-headlines__meta > span:first-child {
  color:var(--brand-oxide);
  font-weight:900;
}
.latest-headlines h3 {
  margin:.18rem 0 0;
  font-size:1rem;
  line-height:1.48;
}
.latest-headlines footer {
  display:flex;
  justify-content:flex-end;
  padding-block-start:.9rem;
}
.latest-headlines footer a {
  color:var(--brand-oxide);
  font-size:.75rem;
  font-weight:900;
}
@media(max-width:820px){
  .latest-controls {
    grid-template-columns:1fr;
    gap:0;
  }
  .latest-view-toggle {
    padding-block:0 .8rem;
  }
}
@media(max-width:620px){
  .latest-headlines ol {
    grid-template-columns:1fr;
  }
  .latest-headlines li {
    grid-template-columns:2rem minmax(0,1fr);
    padding:.72rem 0;
  }
}
