/* Front page (/). Owned by the home page designer (js/pages/home.js).
   Paper, ink, rules and type. No shadows, gradients, glows, pills or icon tiles. Every class is prefixed .home-.
   Minimum text size on this page is 11px. */

.home { overflow-x: clip; }
.home a { text-underline-offset: 3px; }

/* ---------- shared bits ---------- */
.home-slug { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-top: var(--heavy); padding-top: 7px; margin-bottom: var(--s-4); }
.home-slug-k { font: 700 11px/1 var(--font-label); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--red-ink); }
.home-slug-d { font: 400 var(--fs-xs)/1 var(--mono); color: var(--ink-3); }
.home-fine { font-size: var(--fs-xs); color: var(--ink-3); font-style: italic; font-family: var(--font-display); margin: 6px 0 0; line-height: 1.45; }
.home-sub { font: 700 var(--fs-md)/1.22 var(--font-display); margin: 0 0 3px; letter-spacing: -.005em; text-wrap: balance; }
.home-sub a { color: var(--ink); text-decoration: none; }
.home-sub a:hover { text-decoration: underline; }
.home-sub-rule { border-top: var(--hair-2); padding-top: var(--s-3); margin-top: var(--s-5); }
.home-sub-dek { font: italic var(--fs-sm)/1.45 var(--font-display); color: var(--ink-2); margin: 0 0 var(--s-3); }
.home-chart { min-height: 120px; }
.home .link-arrow { margin-top: var(--s-3); }
.home .stamp { margin: 0 1px; font-size: 11px; }
.home-unit { font: 400 var(--fs-xs)/1 var(--mono); color: var(--ink-3); text-transform: none; letter-spacing: 0; }
.home-legend { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: var(--fs-xs); color: var(--ink-2); margin: 6px 0 var(--s-3); }
.home-legend i { display: inline-block; width: 10px; height: 10px; margin-right: 6px; vertical-align: -1px; }
.home-fn { border-top: var(--hair); margin-top: var(--s-5); }
.home-fn .fnlist { columns: 2; column-gap: var(--s-7); }
.home-fn .fnlist li { break-inside: avoid; }
.home sup.fn { vertical-align: super; position: relative; top: -.15em; }
.home-sub sup.fn { font-size: .55em; }

/* ---------- 1. the lead ---------- */
.home-front { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr); gap: var(--s-7); padding-top: var(--s-6); }
.home-lead { min-width: 0; }
.home-hed { font: 700 clamp(34px, 4.1vw, 60px)/1.03 var(--font-display); letter-spacing: -.022em; margin: 0 0 var(--s-3); text-wrap: balance; max-width: 22ch; }
.home-hed2 { font: 400 clamp(19px, 1.6vw, 23px)/1.3 var(--font-display); color: var(--ink); margin: 0 0 var(--s-4); padding-bottom: var(--s-4); border-bottom: var(--hair); max-width: 48ch; }
.home-stampline { display: flex; align-items: center; gap: 12px; margin: 0 0 var(--s-3); }
.home .home-bigstamp { font-size: 12px; padding: 5px 9px 4px; letter-spacing: .2em; border-width: 2px; transform: rotate(-2deg); }
.home-status { font: 700 11px/1 var(--font-label); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--ink-2); }
.home-dek { margin: 0 0 var(--s-5); max-width: 62ch; }
.home-lead-body { columns: 2; column-gap: var(--s-7); column-rule: var(--hair); font-size: var(--fs-base); line-height: var(--lh-body); color: var(--ink); }
.home-lead-body p { margin: 0 0 var(--s-3); hyphens: auto; }
.home-lead-foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px 24px; flex-wrap: wrap; border-top: var(--hair); margin-top: var(--s-3); }
.home-lead-foot .fnlist { columns: 2; column-gap: var(--s-6); }
.home-lead-foot .fnlist li { break-inside: avoid; }
.home-lead-foot > :first-child { flex: 1 1 420px; }

/* the last 60 days */
.home-edition { min-width: 0; border-left: var(--hair); padding-left: var(--s-6); }
.home-ed-h { font: 700 var(--fs-xs)/1 var(--font-label); letter-spacing: .16em; text-transform: uppercase; color: var(--ink); border-top: var(--double); padding-top: 9px; margin-bottom: 8px; }
.home-ed-h2 { margin-top: var(--s-4); }
.home-tl-fig, .home-inset { margin: 0; }
.home-tl { min-height: 60px; }
.home-tl-svg text { font: 400 11px var(--font-label); fill: var(--ink-3); }
.home-tl-svg .home-tl-ax { font: 400 11px var(--mono); }
.home-tl-axis { stroke: var(--ink); stroke-width: 1; }
.home-tl-nb { stroke: var(--ink-3); stroke-width: 2; }
.home-tl-ev line { stroke: var(--ink-3); stroke-width: 1; }
.home-tl-ev circle { fill: var(--ink); }
.home-tl-ev rect { fill: var(--paper); stroke: var(--ink); stroke-width: 1.25; }
.home-tl-svg .home-tl-ev text.n { font: 700 11px var(--mono); fill: var(--ink); }
.home-tl-svg .home-tl-ev text.lab { font: italic 12.5px var(--font-display); fill: var(--ink-2); }
.home-tl-ev.hot line, .home-tl-ev.hot rect { stroke: var(--red); }
.home-tl-ev.hot circle { fill: var(--red); }
.home-tl-svg .home-tl-ev.hot text { fill: var(--red-ink); }
.home-tl-ev { cursor: pointer; outline: none; }
.home-tl-ev:focus-visible rect { stroke-width: 2.5; }
.home-tl-cap { font: italic var(--fs-xs)/1.4 var(--font-display); color: var(--ink-3); margin-top: 4px; }
.home-inset { margin-top: var(--s-4); border-top: var(--hair); padding-top: var(--s-2); }
.home-inset-h { font: 700 11px/1.3 var(--font-label); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--ink-3); margin-bottom: 2px; }
.home-changed li.stub a { font-style: italic; color: var(--ink-2); }
.home-changed { list-style: none; margin: 0; padding: 0; }
.home-changed li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 8px; padding: 8px 0; border-bottom: var(--hair); }
.home-changed .n { width: 16px; height: 16px; border: 1.25px solid var(--ink); font: 700 11px/14px var(--mono); text-align: center; margin-top: 2px; }
.home-changed li.hot .n { border-color: var(--red); color: var(--red-ink); }
.home-changed .k { display: block; font: 700 11px/1.3 var(--font-label); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--ink-3); }
.home-changed .k .mono { font: 400 var(--fs-xs)/1.3 var(--mono); letter-spacing: 0; text-transform: none; }
.home-changed a { font: 400 var(--fs-sm)/1.38 var(--font-body); color: var(--ink); text-decoration: none; }
.home-changed a:hover { text-decoration: underline; }
.home-quiet { font: italic var(--fs-sm)/1.4 var(--font-display); color: var(--ink-2); margin: 8px 0 0; }
.home-inside { margin-top: var(--s-5); }
.home-inside ol { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: var(--s-4); }
.home-inside li { break-inside: avoid; border-bottom: var(--hair); }
.home-inside a { display: grid; grid-template-columns: 30px 1fr; gap: 0 4px; padding: 6px 0; color: var(--ink); text-decoration: none; }
.home-inside a:hover .t { text-decoration: underline; }
.home-inside .n { grid-row: span 2; font: 400 var(--fs-xs)/1.5 var(--mono); color: var(--red-ink); }
.home-inside .t { font: 700 var(--fs-sm)/1.3 var(--font-display); }
.home-inside .d { font: italic 12.5px/1.3 var(--font-display); color: var(--ink-3); }

/* ---------- graphics desk ---------- */
.home-desk { margin-top: var(--s-9); }
.home-desk .shead h2 { max-width: 30ch; }
.home-desk-deck { margin: calc(-1 * var(--s-2)) 0 var(--s-5); max-width: 80ch; }
.home-desk-grid { display: grid; grid-template-columns: minmax(0, 2.3fr) minmax(0, 1fr); gap: var(--s-7); }
.home-desk-fig { margin: 0; min-width: 0; }
.home-aid { min-height: 330px; }
.home-aid svg text.home-aid-direct, .home-aid svg text.home-aid-missing-t { font-family: var(--font-display); font-style: italic; letter-spacing: 0; text-transform: none; }
.home-aid svg text.home-aid-direct { font-size: 12.5px; fill: var(--ink); }
.home-aid svg text.home-aid-missing-t { font-size: 12px; fill: var(--ink-2); }
.home-aid-tick { stroke: var(--ink); stroke-width: 2; }
.home-aid-lead { stroke: var(--ink-3); stroke-width: 1; stroke-dasharray: 2 2; }
.home-desk-notes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-5); border-top: var(--hair); margin-top: var(--s-3); padding-top: var(--s-3); }
.home-desk-notes p { margin: 0; font: italic var(--fs-sm)/1.45 var(--font-display); color: var(--ink-2); }
.home-desk-notes b { font-style: normal; font-family: var(--font-label); font-size: 11px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--ink); margin-right: 4px; }
.home-desk-side { min-width: 0; border-left: var(--hair); padding-left: var(--s-6); }
.home-side-h { font: 700 var(--fs-md)/1.2 var(--font-display); margin: 0 0 4px; }
.home-side-dek { font: italic 14px/1.4 var(--font-display); color: var(--ink-2); margin: 0 0 var(--s-3); }
.home-s24 { margin-bottom: var(--s-6); }

/* ---------- briefs ---------- */
.home-briefs { margin-top: var(--s-9); }
.home-brief-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-brief-col { min-width: 0; padding: 0 var(--s-5); }
.home-brief-col:first-child { padding-left: 0; }
.home-brief-col:last-child { padding-right: 0; }
.home-brief-col + .home-brief-col { border-left: var(--hair); }
.home-brief-h { font: 700 var(--fs-xs)/1 var(--font-label); letter-spacing: .16em; text-transform: uppercase; border-bottom: var(--heavy); padding-bottom: 7px; }
.home-brief-h a { color: var(--ink); text-decoration: none; }
.home-brief-col ol { list-style: none; margin: 0; padding: 0; }
.home-brief { padding: var(--s-3) 0; border-bottom: var(--hair); }
.home-brief-k { display: flex; justify-content: space-between; gap: 8px; font: 700 11px/1.3 var(--font-label); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--ink-3); }
.home-brief-k .mono { font: 400 var(--fs-xs)/1.3 var(--mono); letter-spacing: 0; text-transform: none; white-space: nowrap; }
.home-type { color: var(--red-ink); }
.home-brief-t { display: block; font: 700 var(--fs-base)/1.28 var(--font-display); color: var(--ink); text-decoration: none; margin: 5px 0 3px; text-wrap: pretty; }
.home-brief-t:hover { text-decoration: underline; }
.home-brief-s { margin: 0; font-size: var(--fs-sm); line-height: 1.45; color: var(--ink-2); }
.home-brief-src { margin: 4px 0 0; font-size: var(--fs-xs); color: var(--ink-3); }
.home-brief .tally { margin: 8px 0 4px; }

/* ---------- section fronts (each its own composition) ---------- */
.home-front-sec { margin-top: var(--s-9); }

/* Money: chart leads, a two-streams sidebar explains the difference */
.home-money { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: var(--s-7); }
.home-money-fig { margin: 0; min-width: 0; }
.home-money-side { min-width: 0; border-left: var(--hair); padding-left: var(--s-6); }
.home-streams p { font-size: var(--fs-sm); line-height: var(--lh-body); color: var(--ink-2); margin: 0 0 var(--s-3); }
.home-streams b { font-family: var(--font-label); font-size: 11px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--ink); margin-right: 4px; }

/* Congress: the closest vote as a seat chart, with a rail */
.home-congress { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: var(--s-7); }
.home-c-vote { min-width: 0; }
.home-c-vote > .deck { margin: calc(-1 * var(--s-2)) 0 var(--s-3); }
.home-hemi { max-width: 640px; }
.home-c-rail { min-width: 0; border-left: var(--hair); padding-left: var(--s-6); }
.home-thresh { max-width: 640px; margin: var(--s-3) 0 0; }
.home-thresh .bar { position: relative; display: flex; gap: 2px; height: 14px; }
.home-thresh .y { background: var(--yea); }
.home-thresh .n { background: var(--nay); }
.home-thresh .rule { position: absolute; top: -5px; bottom: -5px; width: 0; border-left: 2px solid var(--ink); }
.home-thresh .lab { position: relative; display: flex; justify-content: space-between; font: 400 var(--fs-xs)/1.3 var(--mono); color: var(--ink-2); margin-top: 8px; min-height: 2.6em; }
.home-thresh .mid { position: absolute; top: 0; transform: translateX(-50%); font: italic 12.5px/1.3 var(--font-display); color: var(--ink); white-space: nowrap; }
.home-congress-2 { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--s-7); border-top: var(--hair-2); margin-top: var(--s-6); padding-top: var(--s-5); }
.home-congress-2 > * + * { border-left: var(--hair); padding-left: var(--s-6); }
.home-congress-2 > * { min-width: 0; }
.home-hb { list-style: none; margin: 0; padding: 0; }
.home-hb li { display: grid; grid-template-columns: minmax(0, 210px) minmax(0, 1fr) 34px; gap: 10px; align-items: center; padding: 4px 0; border-bottom: var(--hair); }
.home-hb .l { font-size: var(--fs-sm); color: var(--ink); line-height: 1.25; }
.home-hb .l a { color: var(--ink); text-decoration: none; }
.home-hb .l a:hover { text-decoration: underline; }
.home-hb .b { display: block; height: 10px; }
.home-hb .b i { display: block; height: 100%; background: var(--cat-a); min-width: 2px; }
.home-hb .v { font: 400 var(--fs-xs)/1 var(--mono); text-align: right; color: var(--ink); }

/* Influence: the FARA chart at full width, then docket + lobbying */
.home-fara-fig { margin: 0; }
.home-fara-fig > .deck { margin: calc(-1 * var(--s-2)) 0 var(--s-3); max-width: 80ch; }
.home-infl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-7); border-top: var(--hair-2); margin-top: var(--s-5); padding-top: var(--s-5); }
.home-infl > * { min-width: 0; }
.home-infl > * + * { border-left: var(--hair); padding-left: var(--s-6); }
.home-docket { list-style: none; margin: var(--s-3) 0 0; padding: 0; border-top: var(--hair-2); }
.home-docket li { border-bottom: var(--hair); }
.home-docket a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; align-items: baseline; padding: 8px 0; color: var(--ink-2); text-decoration: none; font-size: var(--fs-sm); line-height: 1.35; }
.home-docket a:hover .t { text-decoration: underline; color: var(--ink); }
.home-docket .d { font-size: var(--fs-xs); color: var(--ink-3); white-space: nowrap; }
.home-elect { font: italic var(--fs-sm)/1.45 var(--font-display); color: var(--ink-2); border-top: var(--hair); padding-top: var(--s-3); margin-top: var(--s-4); }
.home-elect b { font-style: normal; font-size: var(--fs-md); color: var(--ink); margin-right: 4px; }

/* Coverage: outlets chart, fact checks in a boxed sidebar */
.home-cover { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: var(--s-7); align-items: start; }
.home-cv-news { min-width: 0; }
.home-cv-news > .deck { margin: calc(-1 * var(--s-2)) 0 var(--s-3); }
.home-ties-line { font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.7; margin: var(--s-4) 0 0; }
.home-factbox { border: var(--hair-2); border-top: var(--heavy); padding: var(--s-4) var(--s-5) var(--s-4); background: var(--paper-2); min-width: 0; }
.home-factbox-h { font: 700 var(--fs-xs)/1 var(--font-label); letter-spacing: .16em; text-transform: uppercase; color: var(--ink); margin-bottom: 6px; }
.home-facts { list-style: none; margin: 0; padding: 0; }
.home-facts li { border-bottom: var(--hair); }
.home-facts li:last-child { border-bottom: 0; }
.home-facts a { display: grid; grid-template-columns: 1fr; gap: 5px; padding: 11px 0; color: var(--ink); text-decoration: none; }
.home-facts a:hover q { text-decoration: underline; }
.home-facts q { font: 400 var(--fs-md)/1.33 var(--font-display); quotes: "“" "”"; }
.home-facts .verdict { justify-self: start; font-size: 11px; }

/* note on method */
.home-method { margin: var(--s-9) auto 0; max-width: 820px; border-top: var(--double); padding-top: var(--s-4); text-align: center; }
.home-method-h { font: 700 var(--fs-xs)/1 var(--font-label); letter-spacing: .2em; text-transform: uppercase; color: var(--ink); margin-bottom: var(--s-3); }
.home-method p { margin: 0; font-size: var(--fs-sm); line-height: 1.7; color: var(--ink-2); text-align: left; }

/* ---------- responsive ---------- */
@media (max-width: 1360px) {
  .home-desk-notes { grid-template-columns: 1fr 1fr; }
  .home-inside ol { columns: 1; }
}
@media (max-width: 1000px) {
  .home-front, .home-desk-grid, .home-money, .home-cover, .home-congress { grid-template-columns: 1fr; }
  .home-edition, .home-desk-side, .home-money-side, .home-c-rail { border-left: 0; padding-left: 0; border-top: var(--hair); padding-top: var(--s-5); }
  .home-inside ol { columns: 2; }
  .home-desk-side { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-6); }
}
@media (max-width: 800px) {
  .home-lead-body, .home-lead-foot .fnlist, .home-fn .fnlist { columns: 1; }
  .home-brief-grid, .home-congress-2, .home-infl { grid-template-columns: 1fr; }
  .home-brief-col { padding: 0 !important; border-left: 0 !important; margin-bottom: var(--s-5); }
  .home-congress-2 > * + *, .home-infl > * + * { border-left: 0; padding-left: 0; border-top: var(--hair); padding-top: var(--s-5); }
  .home-desk-side { grid-template-columns: 1fr; }
  .home-desk-notes { grid-template-columns: 1fr; gap: var(--s-2); }
}
@media (max-width: 640px) {
  .home-front { padding-top: var(--s-3); gap: var(--s-5); }
  .home-hed { font-size: 32px; }
  .home-hed2 { font-size: 18px; }
  .home-inside { display: none; }
  .home-desk, .home-briefs, .home-front-sec { margin-top: var(--s-7); }
  .home-aid { min-height: 270px; }
  /* compact section fronts: one graphic and one link; footnote lists stay visible */
  .home-x { display: none !important; }
  .home-brief-col li:nth-child(n+3) { display: none; }
  .home-fn .fnlist { font-size: var(--fs-xs); }
  .home-hb li { grid-template-columns: minmax(0, 1fr) 34px; }
  .home-hb .l { grid-column: 1 / -1; }
  .home-factbox { padding: var(--s-3) var(--s-4); }
  .home-method { margin-top: var(--s-7); }
  .home-thresh .mid { font-size: 11.5px; }
}
.home-phone-only { display: none; }
@media (max-width: 640px) { .home-phone-only { display: block; margin: 0; } }

/* round 4 */
.home .chart-legend, .home .hemi-legend { font-size: 11px; }
.home .fnlist-h { font-size: 11px; }
.home-hemi svg .ttl { font-size: 14px; }
@media (max-width: 640px) { .home-hemi svg .ttl { font-size: 20px; } .home-hemi svg text[style*="46px"] { font-size: 52px !important; } }
.home-hb-defs { position: absolute; }
.home-hb .b svg { display: block; }
.home-hb-s24 li { grid-template-columns: minmax(0, 1fr) 90px 44px; }
.home-hb-s24 .l { font-size: 13.5px; }
.home-months { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2px; margin: 8px 0 6px; }
.home-months .c { display: flex; flex-direction: column; align-items: center; border-top: 6px solid var(--paper-3); padding-top: 2px; }
.home-months .c.on { border-top-color: var(--ink); }
.home-months b { font: 700 11px/1.2 var(--mono); min-height: 13px; }
.home-months i { font: 400 11px/1.2 var(--mono); font-style: normal; color: var(--ink-3); }
/* varied section heads: side-hung kicker (Money), headline on the rule (Coverage) */
.home-shead { counter-increment: sec; }
.home-shead .num::before { content: "§\00a0" counter(sec); font: 700 15px var(--font-display); color: var(--red-ink); }
.home-shead-k { display: flex; flex-direction: column; gap: 4px; font: 700 11px/1.2 var(--font-label); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--ink-3); }
.home-shead h2 { font: 700 var(--fs-xl)/1.12 var(--font-display); letter-spacing: -.01em; margin: 0; text-wrap: balance; }
.home-shead .deck { margin: 6px 0 0; }
.home-shead-side { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: var(--s-5); border-top: var(--double); padding-top: var(--s-4); margin-bottom: var(--s-5); align-items: start; }
.home-shead-side .home-shead-k { border-right: var(--hair); padding-right: var(--s-4); min-height: 100%; }
.home-shead-a .link-arrow { margin-top: 0; }
.home-shead-rule { border-top: var(--heavy); padding-top: var(--s-2); margin-bottom: var(--s-3); }
.home-shead-rule .home-shead-k { flex-direction: row; gap: 10px; align-items: baseline; margin-bottom: 6px; }
.home-factbox-h { font: 700 var(--fs-lg)/1.2 var(--font-display); letter-spacing: 0; text-transform: none; margin: 0 0 4px; }
.home-factbox-d { font: italic var(--fs-sm)/1.4 var(--font-display); color: var(--ink-2); margin: 0 0 6px; }
.home-share { margin-top: var(--s-5); }
.home-share-h { font: 700 11px/1.3 var(--font-label); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--ink-3); margin-bottom: 6px; }
.home-desk-side .home-desk-notes { grid-template-columns: 1fr; border-top: var(--hair-2); margin-top: var(--s-5); }
.home-desk-fig .ledger { margin-top: var(--s-5); }
.home-aid svg text.home-aid-hot { font: italic 12.5px var(--font-display); fill: var(--red-ink); }
.home-aid-hotrule { stroke: var(--red); stroke-width: 1; }
.home-method { margin-bottom: 0; }
@media (max-width: 800px) { .home-shead-side { grid-template-columns: 1fr; gap: 6px; } .home-shead-side .home-shead-k { border-right: 0; flex-direction: row; gap: 10px; align-items: baseline; } }
.home-lead .home-inside { margin-top: var(--s-6); }
.home-lead .home-inside ol { columns: 3; }
@media (max-width: 1000px) { .home-lead .home-inside ol { columns: 2; } }
/* round 5 */
.home sup.fn { font-size: 11px; }
.home sup.fn a { padding: 0 3px; }
.home .verdict.mixed { color: var(--ink); border-color: var(--ink); }
.home-tl-ev .ring { fill: none; stroke: none; }
.home-tl-ev:focus-visible .ring { stroke: var(--ink); stroke-width: 2; }
.home-bandkey { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 4px 10px; max-width: 640px; font: 400 var(--fs-xs)/1.3 var(--mono); color: var(--ink-2); margin: 4px 0 0; }
.home-bandkey .t { font: italic 12.5px var(--font-display); color: var(--ink-3); }
.home-cross { font: italic var(--fs-sm)/1.4 var(--font-display); color: var(--ink-2); margin: 8px 0 0; }
.home-brief-note .home-brief-s { font-style: italic; font-family: var(--font-display); }
.home-sec-cover .home-inset { margin-top: var(--s-5); }
@media (max-width: 640px) { .home-desk-side { border-top: 0; padding-top: 0; } }
/* round 6 */
.home sup.fn a { padding: 4px; margin: -4px -2px; }
.home-aid svg text.home-aid-na { font: italic 11.5px var(--font-display); fill: var(--ink-3); letter-spacing: 0; text-transform: none; }
.home-snip { font: italic var(--fs-sm)/1.45 var(--font-display); color: var(--ink-3); margin-top: 3px; }
@media (max-width: 1000px) { .home-congress-2 { grid-template-columns: 1fr 1fr; } .home-congress-2 > :nth-child(3) { grid-column: 1 / -1; border-left: 0; padding-left: 0; border-top: var(--hair); padding-top: var(--s-5); } }
/* final palette: legend swatches for hatched and outlined roles */
.home-legend i { box-sizing: border-box; }
.home-legend i.hatch { position: relative; background: none !important; border: 1px solid var(--hc); }
.home-legend i.hatch::after { content: ""; position: absolute; inset: 0; background-color: var(--hc); -webkit-mask: var(--hatch-mask) repeat; mask: var(--hatch-mask) repeat; }
.home-legend i.ol { background: var(--paper) !important; border: 1.5px solid; }
.home-legend-fara { font-family: var(--font-label); font-size: 11px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--ink-2); }
/* round 7 */
@media (max-width: 640px) { .home-legend.home-phone-only { display: flex; flex-wrap: wrap; gap: 4px 16px; } }
.home-money-svg text { font: 400 11px var(--mono); fill: var(--ink-3); }
.home-money-svg .home-mo-val { font: 700 11px var(--mono); fill: var(--ink); }
.home-money-svg .home-mo-dir { font: italic 12px var(--font-display); fill: var(--ink-2); }
.home-mo-grid { stroke: var(--grid); }
.home-mo-zero { stroke: var(--ink); stroke-width: 1; }
.home-money-svg [data-rove]:focus-visible { outline: none; }
.home-money-svg [data-rove]:focus-visible .hit { stroke: var(--ink); stroke-width: 2; }
/* round 8 */
.home-money-svg text.home-mo-gap { font: italic 11px var(--font-display); fill: var(--ink-2); }
html[data-theme="night"] .home-money-svg rect.hat { stroke-width: 1.5; }
/* final polish */
.home-hb .b i.ol { background: var(--paper); border: 1.5px solid; box-sizing: border-box; }
.home-fara-cap { stroke: var(--ink); stroke-width: 1.5; stroke-dasharray: 4 3; }
.home-mo-split { stroke: var(--rule-2); stroke-dasharray: 2 3; }
