/**
 * Public presentation for The Follow-Up.
 *
 * The theme owns the global palette and typography. This stylesheet uses those
 * variables with safe fallbacks so the plugin remains readable in other themes.
 */

.followup-page,
.followup-archive {
  --followup-gutter: clamp(22px, 4.5vw, 64px);
  --followup-line-gap: clamp(28px, 3.2vw, 44px);
  --followup-content-left: calc(var(--followup-gutter) + var(--followup-line-gap));
  --followup-rule: var(--faint, #d8c9c4);
  --followup-card: var(--card, #fff9f4);
  --followup-paper: var(--paper, #f9f2ea);
  --followup-paper-deep: var(--paper-deep, #efe3da);
  --followup-ink: var(--ink, #181314);
  --followup-muted: var(--muted, #3b3639);
  --followup-red: var(--accent-hot, #f41326);
  --followup-red-readable: var(--accent-readable, #891f24);
  background: var(--followup-paper);
  color: var(--followup-ink);
  isolation: isolate;
  overflow: hidden;
  position: relative;
}

.followup-redline {
  background: var(--followup-red);
  bottom: 0;
  left: max(var(--followup-gutter), calc((100vw - 1440px) / 2 + var(--followup-gutter)));
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 2px;
  z-index: -1;
}

.followup-eyebrow,
.followup-field-label {
  color: var(--followup-red-readable);
  display: block;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .105em;
  line-height: 1.4;
  text-transform: uppercase;
}

.followup-hero,
.followup-overview,
.followup-reviews,
.followup-missed-editions,
.followup-new-leads,
.followup-sources,
.editorial-note,
.followup-archive-hero,
.followup-archive-ledger,
.followup-archive .navigation,
.followup-archive-method {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  padding-left: var(--followup-content-left);
  padding-right: var(--followup-gutter);
  width: 100%;
}

.followup-hero {
  padding-bottom: clamp(54px, 7vw, 94px);
  padding-top: clamp(70px, 8vw, 112px);
}

.followup-preview-banner {
  border: 1px solid var(--followup-red);
  color: var(--followup-red-readable);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .09em;
  margin: 0 0 28px;
  padding: 10px 12px;
  width: fit-content;
}

.followup-hero-meta {
  align-items: center;
  border-bottom: 1px solid var(--followup-rule);
  display: flex;
  gap: 28px;
  justify-content: space-between;
  padding-bottom: 20px;
}

.followup-hero-meta time {
  color: var(--followup-muted);
  font-size: 11px;
  font-weight: 620;
  letter-spacing: .035em;
}

.followup-hero h1 {
  font-size: clamp(48px, 7.4vw, 102px);
  font-weight: 790;
  letter-spacing: -.055em;
  line-height: .97;
  margin: clamp(34px, 5vw, 68px) 0 28px;
  max-width: 1100px;
  text-wrap: balance;
}

.followup-dek {
  color: var(--followup-muted);
  font-size: clamp(19px, 1.7vw, 25px);
  font-weight: 450;
  line-height: 1.55;
  margin: 0;
  max-width: 900px;
  text-wrap: pretty;
}

.followup-byline {
  align-items: end;
  border-top: 1px solid var(--followup-rule);
  display: flex;
  justify-content: space-between;
  margin-top: clamp(40px, 5vw, 66px);
  padding-top: 18px;
}

.followup-byline > span {
  color: var(--followup-muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .09em;
}

.followup-byline p {
  color: var(--followup-muted);
  font-size: 12px;
  margin: 0;
}

.followup-byline strong { color: var(--followup-ink); }

.followup-overview {
  align-items: start;
  background: color-mix(in srgb, var(--followup-paper-deep) 76%, var(--followup-paper));
  border-bottom: 1px solid var(--followup-rule);
  border-top: 1px solid var(--followup-rule);
  display: grid;
  gap: clamp(26px, 5vw, 76px);
  grid-template-columns: minmax(54px, .22fr) minmax(0, 1fr);
  max-width: none;
  padding-bottom: clamp(40px, 5vw, 72px);
  padding-left: max(var(--followup-content-left), calc((100vw - 1440px) / 2 + var(--followup-content-left)));
  padding-right: max(var(--followup-gutter), calc((100vw - 1440px) / 2 + var(--followup-gutter)));
  padding-top: clamp(40px, 5vw, 72px);
}

.followup-section-number {
  color: var(--followup-red-readable);
  font-size: clamp(28px, 3.4vw, 48px);
  font-variant-numeric: tabular-nums;
  font-weight: 300;
  letter-spacing: -.04em;
  line-height: 1;
  margin: 4px 0 0;
}

.followup-overview h2,
.followup-section-heading h2,
.followup-missed-editions h2,
.followup-sources h2,
.editorial-note h2 {
  font-size: clamp(29px, 3vw, 44px);
  font-weight: 720;
  letter-spacing: -.04em;
  line-height: 1.08;
  margin: 10px 0 20px;
  text-wrap: balance;
}

.followup-overview > div > p {
  color: var(--followup-muted);
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.7;
  margin: 0;
  max-width: 900px;
}

.followup-reviews,
.followup-new-leads {
  padding-bottom: clamp(76px, 9vw, 132px);
  padding-top: clamp(76px, 9vw, 132px);
}

.followup-section-heading {
  margin-bottom: clamp(40px, 6vw, 78px);
  max-width: 920px;
}

.followup-section-heading > p {
  color: var(--followup-muted);
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
  max-width: 780px;
}

.followup-review {
  --followup-status-color: var(--followup-red-readable);
  background: color-mix(in srgb, var(--followup-card) 82%, transparent);
  border-bottom: 1px solid var(--followup-rule);
  border-top: 1px solid var(--followup-rule);
  margin: 0 0 clamp(52px, 7vw, 86px);
  padding: clamp(30px, 4.5vw, 58px);
  position: relative;
}

.followup-review::before,
.followup-archive-entry::before {
  background: var(--followup-red);
  content: '';
  height: 2px;
  left: calc(-1 * var(--followup-line-gap));
  position: absolute;
  top: clamp(40px, 5vw, 62px);
  width: var(--followup-line-gap);
}

.followup-review::after,
.followup-archive-entry::after {
  background: var(--followup-paper);
  border: 2px solid var(--followup-red);
  border-radius: 50%;
  content: '';
  height: 10px;
  left: calc(-1 * var(--followup-line-gap) - 4px);
  position: absolute;
  top: calc(clamp(40px, 5vw, 62px) - 4px);
  width: 10px;
}

.followup-review[data-followup-status='development'] { --followup-status-color: #315d4d; }
.followup-review[data-followup-status='no_material_change'] { --followup-status-color: #665d59; }
.followup-review[data-followup-status='clarification'] { --followup-status-color: #66526b; }
.followup-review[data-followup-status='correction'] { --followup-status-color: var(--followup-red-readable); }

.followup-review-header {
  align-items: start;
  display: grid;
  gap: clamp(24px, 4vw, 62px);
  grid-template-columns: minmax(88px, .22fr) minmax(0, 1fr);
}

.followup-review-index {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.followup-review-index > span {
  color: var(--followup-red-readable);
  font-size: clamp(30px, 3vw, 46px);
  font-variant-numeric: tabular-nums;
  font-weight: 300;
  letter-spacing: -.04em;
  line-height: 1;
}

.followup-review-index time {
  color: var(--followup-muted);
  font-size: 10px;
  font-weight: 620;
  line-height: 1.45;
  text-transform: uppercase;
}

.followup-original-thread > span {
  color: var(--followup-muted);
  font-size: 9px;
  font-weight: 720;
  letter-spacing: .09em;
}

.followup-original-thread h3 {
  font-size: clamp(28px, 3.3vw, 48px);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.08;
  margin: 9px 0 0;
  max-width: 960px;
  text-wrap: balance;
}

.followup-original-thread a {
  text-decoration-color: transparent;
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
  transition: color 150ms ease, text-decoration-color 150ms ease;
}

.followup-original-thread a:hover {
  color: var(--followup-red-readable);
  text-decoration-color: currentColor;
}

.followup-original-thread i {
  color: var(--followup-red-readable);
  font-size: .55em;
  font-style: normal;
  margin-left: .2em;
  vertical-align: .3em;
}

.followup-status-line {
  align-items: baseline;
  background: color-mix(in srgb, var(--followup-status-color) 8%, transparent);
  border-left: 3px solid var(--followup-status-color);
  display: flex;
  gap: 14px;
  margin: clamp(28px, 4vw, 46px) 0;
  padding: 13px 16px;
}

.followup-status-line strong {
  color: var(--followup-status-color);
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 780;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.followup-status-line span {
  color: var(--followup-muted);
  font-size: 12px;
  line-height: 1.5;
}

.followup-review-copy {
  display: grid;
  gap: clamp(26px, 5vw, 72px);
  grid-template-columns: minmax(0, 1.7fr) minmax(220px, .8fr);
}

.followup-review-update p {
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.75;
  margin: 10px 0 0;
  max-width: 780px;
}

.followup-review-relationship {
  border-left: 1px solid var(--followup-rule);
  padding-left: clamp(20px, 3vw, 38px);
}

.followup-review-relationship strong {
  display: block;
  font-size: 15px;
  line-height: 1.55;
  margin-top: 10px;
}

.followup-correction {
  background: color-mix(in srgb, var(--followup-red) 3.5%, var(--followup-card));
  border-top-color: color-mix(in srgb, var(--followup-red) 55%, var(--followup-rule));
}

.followup-correction-detail {
  border: 1px solid color-mix(in srgb, var(--followup-red) 48%, var(--followup-rule));
  margin-top: clamp(32px, 4vw, 48px);
  padding: clamp(22px, 3vw, 34px);
}

.followup-correction-detail h4,
.followup-next-signals h4 {
  font-size: 12px;
  font-weight: 780;
  letter-spacing: .065em;
  margin: 0 0 22px;
  text-transform: uppercase;
}

.followup-correction-detail h4 { color: var(--followup-red-readable); }

.followup-correction-detail dl {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}

.followup-correction-detail dl > div {
  background: color-mix(in srgb, var(--followup-paper-deep) 66%, transparent);
  padding: 18px;
}

.followup-correction-detail dt {
  color: var(--followup-muted);
  font-size: 9px;
  font-weight: 760;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.followup-correction-detail dd {
  font-size: 13px;
  line-height: 1.65;
  margin: 9px 0 0;
}

.followup-next-signals {
  border-top: 1px solid var(--followup-rule);
  margin-top: clamp(32px, 4vw, 48px);
  padding-top: clamp(24px, 3vw, 34px);
}

.followup-next-signals ul {
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.followup-next-signals li {
  font-size: 14px;
  line-height: 1.65;
  padding-left: 21px;
  position: relative;
}

.followup-next-signals li::before {
  background: var(--followup-red);
  content: '';
  height: 7px;
  left: 0;
  position: absolute;
  top: .55em;
  width: 7px;
}

.followup-inline-sources {
  align-items: start;
  border-top: 1px solid var(--followup-rule);
  display: grid;
  gap: 18px;
  grid-template-columns: 90px minmax(0, 1fr);
  margin-top: 30px;
  padding-top: 20px;
}

.followup-inline-sources > span {
  color: var(--followup-muted);
  font-size: 9px;
  font-weight: 760;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.followup-inline-sources ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.followup-inline-sources a {
  color: var(--followup-red-readable);
  font-size: 11px;
  font-weight: 650;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, currentColor 42%, transparent);
  text-underline-offset: 3px;
}

.followup-inline-sources time {
  color: var(--followup-muted);
  font-weight: 500;
  margin-left: 5px;
}

.followup-missed-editions {
  border-bottom: 1px solid var(--followup-rule);
  border-top: 1px solid var(--followup-rule);
  display: grid;
  gap: clamp(34px, 6vw, 90px);
  grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr);
  padding-bottom: clamp(52px, 6vw, 80px);
  padding-top: clamp(52px, 6vw, 80px);
}

.followup-missed-editions ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.followup-missed-editions li {
  border-top: 1px solid var(--followup-rule);
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(120px, .35fr) minmax(0, 1fr);
  padding: 20px 0;
}

.followup-missed-editions time {
  color: var(--followup-red-readable);
  font-size: 11px;
  font-weight: 700;
}

.followup-missed-editions p {
  color: var(--followup-muted);
  font-size: 14px;
  line-height: 1.65;
  margin: 0;
}

.followup-new-leads { background: color-mix(in srgb, var(--followup-paper-deep) 60%, transparent); }

.followup-leads-list {
  border-top: 1px solid var(--followup-rule);
  max-width: 1100px;
}

.followup-lead {
  border-bottom: 1px solid var(--followup-rule);
  display: grid;
  gap: clamp(24px, 4vw, 58px);
  grid-template-columns: minmax(62px, .16fr) minmax(0, 1fr);
  padding: clamp(32px, 5vw, 58px) 0;
}

.followup-lead-number {
  color: var(--followup-red-readable);
  font-size: 25px;
  font-variant-numeric: tabular-nums;
  font-weight: 350;
}

.followup-lead h3 {
  font-size: clamp(24px, 2.6vw, 36px);
  letter-spacing: -.035em;
  line-height: 1.12;
  margin: 0 0 18px;
}

.followup-lead > div > p,
.followup-lead-copy p {
  font-size: 16px;
  line-height: 1.75;
  margin: 0;
  max-width: 790px;
}

.followup-lead-copy p + p { margin-top: 1em; }

.followup-boundary,
.followup-lead-signal {
  display: grid;
  gap: 20px;
  grid-template-columns: 150px minmax(0, 1fr);
  margin-top: 24px;
}

.followup-boundary {
  background: color-mix(in srgb, var(--followup-red) 6%, var(--followup-card));
  border-left: 3px solid var(--followup-red);
  padding: 18px 20px;
}

.followup-boundary span,
.followup-lead-signal span {
  color: var(--followup-red-readable);
  font-size: 9px;
  font-weight: 760;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.followup-boundary p,
.followup-lead-signal p {
  font-size: 13px;
  line-height: 1.65;
  margin: 0;
}

.followup-sources {
  padding-bottom: clamp(72px, 8vw, 110px);
  padding-top: clamp(72px, 8vw, 110px);
}

.followup-sources > header { max-width: 800px; }

.followup-sources ol {
  border-top: 1px solid var(--followup-rule);
  list-style: none;
  margin: 42px 0 0;
  max-width: 1020px;
  padding: 0;
}

.followup-sources li {
  align-items: baseline;
  border-bottom: 1px solid var(--followup-rule);
  display: grid;
  gap: 24px;
  grid-template-columns: 50px minmax(0, 1fr);
  padding: 17px 0;
  scroll-margin-top: 110px;
}

.followup-sources li > span {
  color: var(--followup-red-readable);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

.followup-sources li > div {
  align-items: baseline;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.followup-sources a {
  font-size: 14px;
  font-weight: 660;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--followup-red-readable) 45%, transparent);
  text-underline-offset: 4px;
}

.followup-sources time {
  color: var(--followup-muted);
  flex: 0 0 auto;
  font-size: 10px;
}

.editorial-note {
  background: var(--followup-ink);
  color: var(--followup-paper);
  max-width: none;
  padding-bottom: clamp(58px, 7vw, 90px);
  padding-left: max(var(--followup-content-left), calc((100vw - 1440px) / 2 + var(--followup-content-left)));
  padding-right: max(var(--followup-gutter), calc((100vw - 1440px) / 2 + var(--followup-gutter)));
  padding-top: clamp(58px, 7vw, 90px);
}

.followup-page .editorial-note .followup-eyebrow { color: var(--red-ribbon, #f41326); }
.followup-page .editorial-note h2 { color: var(--followup-paper); }

.followup-page .editorial-note p {
  color: color-mix(in srgb, var(--followup-paper) 80%, transparent);
  font-size: 16px;
  line-height: 1.75;
  margin: 0;
  max-width: 820px;
}

/* Archive: one continuous review ledger, deliberately not a tile grid. */
.followup-archive-hero {
  padding-bottom: clamp(64px, 8vw, 110px);
  padding-top: clamp(78px, 10vw, 138px);
}

.followup-archive-hero h1 {
  font-size: clamp(62px, 10vw, 142px);
  font-weight: 790;
  letter-spacing: -.065em;
  line-height: .9;
  margin: 22px 0 34px;
}

.followup-archive-hero p {
  color: var(--followup-muted);
  font-size: clamp(18px, 1.7vw, 24px);
  line-height: 1.65;
  margin: 0;
  max-width: 900px;
}

.followup-archive-ledger { padding-bottom: 80px; }

.followup-archive-heading {
  align-items: baseline;
  border-bottom: 1px solid var(--followup-rule);
  display: flex;
  justify-content: space-between;
  padding-bottom: 18px;
}

.followup-archive-heading h2 {
  font-size: 13px;
  font-weight: 760;
  letter-spacing: .08em;
  margin: 0;
  text-transform: uppercase;
}

.followup-archive-heading span {
  color: var(--followup-muted);
  font-size: 10px;
}

.followup-archive-entry {
  border-bottom: 1px solid var(--followup-rule);
  display: grid;
  gap: clamp(28px, 6vw, 90px);
  grid-template-columns: minmax(170px, .35fr) minmax(0, 1fr);
  padding: clamp(38px, 6vw, 78px) 0;
  position: relative;
}

.followup-archive-date {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.followup-archive-date > span {
  color: var(--followup-red-readable);
  font-size: 36px;
  font-variant-numeric: tabular-nums;
  font-weight: 300;
}

.followup-archive-date time {
  color: var(--followup-muted);
  font-size: 11px;
  font-weight: 620;
  line-height: 1.5;
}

.followup-archive-copy h3 {
  font-size: clamp(30px, 3.5vw, 50px);
  letter-spacing: -.045em;
  line-height: 1.05;
  margin: 10px 0 18px;
  max-width: 900px;
}

.followup-archive-copy h3 a { text-decoration: none; }
.followup-archive-copy h3 i { color: var(--followup-red-readable); font-size: .55em; font-style: normal; margin-left: .2em; }
.followup-archive-copy h3 a:hover { color: var(--followup-red-readable); }

.followup-archive-copy > p {
  color: var(--followup-muted);
  font-size: 15px;
  line-height: 1.7;
  margin: 0;
  max-width: 780px;
}

.followup-archive-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  margin-top: 25px;
}

.followup-archive-summary span {
  color: var(--followup-muted);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .035em;
}

.followup-archive-summary span + span { color: var(--followup-red-readable); }

.followup-archive-empty {
  align-items: start;
  display: grid;
  gap: 32px;
  grid-template-columns: 80px minmax(0, 1fr);
  padding: 70px 0;
}

.followup-archive-empty > span { color: var(--followup-red); font-size: 48px; line-height: 1; }
.followup-archive-empty h3 { font-size: 25px; margin: 0 0 12px; }
.followup-archive-empty p { color: var(--followup-muted); font-size: 14px; line-height: 1.7; margin: 0; max-width: 620px; }

.followup-archive .navigation { padding-bottom: 80px; }
.followup-archive .nav-links { align-items: center; display: flex; gap: 9px; justify-content: center; }
.followup-archive .page-numbers { align-items: center; border: 1px solid var(--followup-rule); display: inline-flex; font-size: 11px; font-weight: 650; justify-content: center; min-height: 42px; min-width: 42px; padding: 9px 13px; }
.followup-archive .page-numbers.current { background: var(--followup-ink); border-color: var(--followup-ink); color: var(--followup-paper); }
.followup-archive .page-numbers:hover { border-color: var(--followup-red); color: var(--followup-red-readable); }

.followup-archive-method {
  border-top: 1px solid var(--followup-rule);
  padding-bottom: clamp(70px, 9vw, 120px);
  padding-top: clamp(46px, 6vw, 78px);
}

.followup-archive-method p {
  font-size: clamp(20px, 2.4vw, 34px);
  font-weight: 580;
  letter-spacing: -.025em;
  line-height: 1.45;
  margin: 15px 0 0;
  max-width: 1040px;
}

.followup-hold {
  margin: 0 auto;
  max-width: 1040px;
  min-height: 58vh;
  padding: clamp(80px, 10vw, 140px) clamp(24px, 6vw, 80px);
}

.followup-hold h1 {
  font-size: clamp(38px, 6vw, 70px);
  letter-spacing: -.05em;
  line-height: 1;
  margin: 20px 0;
}

.followup-hold p { color: var(--followup-muted, #3b3639); line-height: 1.65; max-width: 680px; }
.followup-hold a { color: var(--followup-red-readable, #891f24); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }

.followup-page a:focus-visible,
.followup-archive a:focus-visible,
.followup-hold a:focus-visible {
  outline: 3px solid var(--followup-red);
  outline-offset: 4px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) .followup-review[data-followup-status='development'] { --followup-status-color: #7db6a0; }
  :root:not([data-theme='light']) .followup-review[data-followup-status='no_material_change'] { --followup-status-color: #c4b7af; }
  :root:not([data-theme='light']) .followup-review[data-followup-status='clarification'] { --followup-status-color: #c6a2c9; }
}

:root[data-theme='dark'] .followup-review[data-followup-status='development'] { --followup-status-color: #7db6a0; }
:root[data-theme='dark'] .followup-review[data-followup-status='no_material_change'] { --followup-status-color: #c4b7af; }
:root[data-theme='dark'] .followup-review[data-followup-status='clarification'] { --followup-status-color: #c6a2c9; }

@media (max-width: 780px) {
  .followup-page,
  .followup-archive {
    --followup-gutter: 18px;
    --followup-line-gap: 24px;
    --followup-content-left: 42px;
  }

  .followup-hero { padding-top: 54px; }
  .followup-hero-meta { align-items: flex-start; flex-direction: column; gap: 8px; }
  .followup-hero h1 { font-size: clamp(45px, 15vw, 68px); margin-top: 34px; }
  .followup-byline { align-items: flex-start; flex-direction: column; gap: 12px; }

  .followup-overview {
    display: block;
    padding-left: max(var(--followup-content-left), calc((100vw - 1440px) / 2 + var(--followup-content-left)));
  }
  .followup-section-number { font-size: 25px; margin-bottom: 24px; }

  .followup-review { padding: 25px 20px; }
  .followup-review-header { display: block; }
  .followup-review-index { align-items: baseline; flex-direction: row; justify-content: space-between; margin-bottom: 25px; }
  .followup-review-index > span { font-size: 27px; }
  .followup-original-thread h3 { font-size: clamp(26px, 8vw, 36px); }
  .followup-status-line { align-items: flex-start; flex-direction: column; gap: 5px; }
  .followup-review-copy { display: block; }
  .followup-review-relationship { border-left: 0; border-top: 1px solid var(--followup-rule); margin-top: 28px; padding-left: 0; padding-top: 24px; }
  .followup-correction-detail dl { display: block; }
  .followup-correction-detail dl > div + div { border-top: 1px solid var(--followup-rule); }
  .followup-inline-sources { display: block; }
  .followup-inline-sources > span { margin-bottom: 12px; }
  .followup-inline-sources ul { display: grid; }

  .followup-missed-editions { display: block; }
  .followup-missed-editions header { margin-bottom: 28px; }
  .followup-missed-editions li { display: block; }
  .followup-missed-editions li p { margin-top: 9px; }

  .followup-lead { display: block; }
  .followup-lead-number { display: block; margin-bottom: 18px; }
  .followup-boundary,
  .followup-lead-signal { display: block; }
  .followup-boundary span,
  .followup-lead-signal span { display: block; margin-bottom: 8px; }

  .followup-sources li > div { align-items: flex-start; flex-direction: column; gap: 7px; }

  .followup-archive-hero h1 { font-size: clamp(58px, 19vw, 88px); }
  .followup-archive-entry { display: block; }
  .followup-archive-date { align-items: baseline; flex-direction: row; justify-content: space-between; margin-bottom: 28px; }
  .followup-archive-date > span { font-size: 28px; }
  .followup-archive-copy h3 { font-size: 30px; }
  .followup-archive-heading { align-items: flex-start; flex-direction: column; gap: 7px; }
  .followup-archive-empty { display: block; }
  .followup-archive-empty > span { display: block; margin-bottom: 20px; }
  .followup-archive .nav-links { flex-wrap: wrap; }
}

@media (max-width: 420px) {
  .followup-page,
  .followup-archive { --followup-content-left: 38px; }
  .followup-review { padding-left: 16px; padding-right: 16px; }
  .followup-original-thread h3 { font-size: 25px; }
  .followup-sources li { gap: 12px; grid-template-columns: 34px minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .followup-original-thread a { transition: none; }
}

@media print {
  .followup-page,
  .followup-archive { --followup-paper: #fff; --followup-card: #fff; --followup-ink: #111; --followup-muted: #333; }
  .followup-redline { display: none; }
  .followup-hero,
  .followup-overview,
  .followup-reviews,
  .followup-missed-editions,
  .followup-new-leads,
  .followup-sources,
  .editorial-note { padding-left: 0; padding-right: 0; }
  .followup-review { break-inside: avoid; }
  .editorial-note { background: #fff; color: #111; }
  .editorial-note h2,
  .editorial-note p { color: #111; }
}
