.archive-intro {
  display: grid;
  grid-template-columns: 1.35fr .65fr;
  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
}
.archive-intro aside,
.source-note {
  border-left: 3px solid var(--gold);
  padding: 1.25rem 1.5rem;
  background: rgba(255,255,255,.32);
}
.archive-intro aside h3,
.source-note strong { font: 600 1.25rem var(--serif); }
.archive-intro aside p,
.source-note p { color: var(--muted); margin: .5rem 0 0; }
.archive-years { display: flex; flex-wrap: wrap; gap: .65rem; margin: 3rem 0; }
.archive-years a { border: 1px solid var(--line); padding: .4rem .75rem; text-decoration: none; }
.archive-years span { color: var(--muted); font-size: .85em; }
.archive-topic-summary { margin: 3rem 0; }
.archive-topic-summary h2 { font-size: 1.75rem; }
.archive-topic-summary ul { display: grid; grid-template-columns: repeat(3,1fr); gap: 0 2rem; list-style: none; padding: 0; }
.archive-topic-summary li { display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); padding: .55rem 0; }
.archive-year { scroll-margin-top: 110px; margin: 5rem 0; }
.archive-year-heading { display: flex; align-items: baseline; justify-content: space-between; border-bottom: 2px solid var(--red); padding-bottom: .75rem; }
.archive-year-heading h2 { font-size: 2.5rem; }
.archive-year-heading span,
.archive-list time { color: var(--muted); }
.archive-list { list-style: none; padding: 0; margin: 0; }
.archive-list > li { display: grid; grid-template-columns: 9rem 1fr; gap: 1.5rem; padding: 1.15rem 0; border-bottom: 1px solid var(--line); }
.archive-list time { font-variant-numeric: tabular-nums; }
.archive-list h3 { font: 500 1.3rem/1.45 var(--serif); margin: 0; }
.archive-labels,
.article-labels { display: flex; flex-wrap: wrap; gap: .4rem; margin: .5rem 0 0; }
.archive-labels span,
.article-labels li { font-size: .78rem; color: var(--red); border: 1px solid rgba(141,48,40,.25); padding: .1rem .45rem; list-style: none; }
.archive-article-hero { padding: clamp(3.5rem,8vw,6.5rem) 0 3rem; border-bottom: 1px solid var(--line); }
.archive-article-hero h1 { font: 500 clamp(2.5rem,6vw,4.8rem)/1.25 var(--serif); letter-spacing: -.025em; margin: .6rem 0 1.25rem; }
.archive-byline { display: flex; gap: 1.25rem; flex-wrap: wrap; color: var(--muted); }
.article-labels { padding: 0; margin-top: 1.2rem; }
.archive-article { padding: clamp(3rem,7vw,6rem) 0; }
.legacy-content { font: 400 1.18rem/1.9 var(--serif); overflow-wrap: anywhere; }
.legacy-content p,
.legacy-content div { margin: 1.15rem 0; }
.legacy-content h2,
.legacy-content h3,
.legacy-content h4 { font-family: var(--serif); line-height: 1.4; margin: 2.5rem 0 1rem; }
.legacy-content blockquote { border-left: 3px solid var(--red); margin: 2rem 0; padding: .4rem 0 .4rem 1.5rem; }
.legacy-content img { display: block; max-height: 900px; width: auto; margin: 2rem auto; }
.legacy-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.legacy-content td,
.legacy-content th { border: 1px solid var(--line); padding: .5rem; }
.legacy-media-link { font-family: var(--sans); font-size: .9rem; }
.source-note { margin-top: 4rem; }
.archive-pager { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; padding-bottom: 5rem; }
.archive-pager > a { border-top: 1px solid var(--line); padding-top: 1rem; text-decoration: none; }
.archive-pager > a:last-child { text-align: right; }
.archive-pager span,
.archive-pager strong { display: block; }
.archive-pager span { font-size: .78rem; color: var(--muted); }
.archive-pager strong { font: 500 1rem/1.45 var(--serif); }
.archive-pager .index-link { text-align: center; padding-inline: 1rem; }
@media (max-width: 900px) {
  .archive-intro { grid-template-columns: 1fr; }
  .archive-topic-summary ul { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 580px) {
  .archive-topic-summary ul { grid-template-columns: 1fr; }
  .archive-list > li { grid-template-columns: 1fr; gap: .25rem; }
  .archive-year { margin: 3.5rem 0; }
  .archive-article-hero h1 { font-size: 2.6rem; }
  .legacy-content { font-size: 1.08rem; }
  .archive-pager { grid-template-columns: 1fr; }
  .archive-pager > a,
  .archive-pager > a:last-child { text-align: left; }
  .archive-pager .index-link { order: -1; text-align: left; padding-inline: 0; }
}
