/* =====================================================================
   HOMEPAGE, "Broadsheet" (2026-10-14 redesign; design round in
   Clark\fiatisfake\2026-10-14-ui-overhaul, prototype A plus judge grafts)
   Financial-press layout: asymmetric grid, hairline rules, square corners,
   one data chart in the hero. Every rule is scoped to body.home-v2, so no
   other page changes. Palette tokens only; Inter + Space Mono only.
   Spacing: multiples of 8 (4 for hairline offsets).
   Type scale (px): 11 / 12 mono labels, 15 / 17 body, 20 deck,
   24 row titles, 32 / 40 section and quote, 56 figure, clamp 40 to 84 H1.
   ===================================================================== */

/* The metric-matched Inter fallback that keeps the headline from reflowing when Inter loads now lives in
   system.css, for every page. */
body.home-v2 {
  --bs-rule: 1px solid var(--border-hi);
  --bs-rule-strong: 2px solid var(--text);
  --bs-gutter: 32px;
  font-feature-settings: "kern" 1;
}

/* No orange bar or glow at the top left at rest */
body.home-v2 #scroll-progress { display: none !important; }
/* main.js adds a 22px "#" link to every h2 with an id; a landing page has nothing to deep-link to */
body.home-v2 main a.heading-anchor:not(#bs) { display: none; }

/* Shared atoms ------------------------------------------------------ */
body.home-v2 .bs-kicker {
  margin: 0 0 8px;
  font-family: var(--font-mono);
  font-size: 11px;
  line-height: 1.45;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-3);
}
body.home-v2 .bs-mono { font-family: var(--font-mono); font-size: 0.9em; }
body.home-v2 .bs-h2 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 750;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: var(--text);
}
body.home-v2 .bs-h2 label { cursor: text; }
body.home-v2 .bs-h3 {
  margin: 0 0 8px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--text);
}
body.home-v2 main a:focus-visible,
body.home-v2 main button:focus-visible,
body.home-v2 main input:focus-visible {
  outline: 2px solid var(--orange-fg);
  outline-offset: 3px;
}
/* Kill the site-wide animated orange underline on links in this page's prose */
body.home-v2 main section p a,
body.home-v2 main section li a {
  background-image: none;
  transition: none;
}

/* Sections: one rhythm, rules instead of cards */
body.home-v2 main section.bs-section { padding: 64px 0 0; }
body.home-v2 main section.bs-section:last-child { padding-bottom: 0; }
body.home-v2 .bs-section-head {
  border-top: var(--bs-rule-strong);
  padding-top: 24px;
  margin-bottom: 32px;
}
body.home-v2 .bs-section-intro {
  margin: 12px 0 0;
  max-width: 60ch;
  font-size: 17px;
  line-height: 1.6;
  color: var(--text-2);
}
body.home-v2 .bs-section-intro a { color: var(--text); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.home-v2 .bs-section-intro a:hover { color: var(--orange-fg); }
body.home-v2 .bs-section-head-split {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--bs-gutter);
  align-items: end;
}
body.home-v2 .bs-section-head-split .bs-section-intro { margin: 0; justify-self: start; }

/* HERO -------------------------------------------------------------- */
body.home-v2 #hero.bs-hero {
  padding: 0 0 8px;
  min-height: 0;
  display: block;
  overflow: visible;
}
body.home-v2 .bs-folio {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4px 24px;
  padding: 12px 0;
  border-bottom: var(--bs-rule);
  font-family: var(--font-mono);
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-3);
}
body.home-v2 .bs-folio-name { color: var(--text-2); }

body.home-v2 .bs-h1 {
  margin: 40px 0 40px;
  font-family: var(--font-display);
  font-weight: 780;
  font-size: clamp(40px, 6vw, 84px);
  line-height: 0.98;
  letter-spacing: -0.04em;
  word-spacing: 0.04em;
  color: var(--text);
  text-wrap: balance;
}
body.home-v2 .bs-h1-line { display: block; }
body.home-v2 .bs-h1-accent { color: var(--orange-fg); }

body.home-v2 .bs-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  column-gap: var(--bs-gutter);
  border-top: var(--bs-rule-strong);
}
body.home-v2 .bs-hero-copy { padding: 32px 0 0; }
body.home-v2 .bs-deck {
  margin: 0 0 32px;
  max-width: 34em;
  font-size: 20px;
  line-height: 1.55;
  letter-spacing: -0.005em;
  color: var(--text-2);
}
body.home-v2 .bs-trust {
  margin: -16px 0 32px;
  padding-left: 16px;
  border-left: 2px solid var(--text);
  font-size: 16px;
  line-height: 1.5;
  font-weight: 600;
  color: var(--text);
}
body.home-v2 .bs-cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  margin-bottom: 40px;
}
body.home-v2 a.bs-cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 0 28px;
  background: var(--text);
  color: var(--bg);
  border: 0;
  border-radius: 0;
  font-family: var(--font-display);
  font-weight: 650;
  font-size: 18px;
  letter-spacing: -0.01em;
  text-decoration: none;
}
body.home-v2 a.bs-cta:hover { background: var(--orange-fg); color: var(--bg); }
body.home-v2 .bs-cta-note {
  margin: 0;
  max-width: 22em;
  font-size: 15px;
  line-height: 1.5;
  color: var(--text-3);
}
body.home-v2 .bs-urgent {
  display: grid;
  gap: 4px;
  padding: 4px 0 4px 16px;
  border-left: 3px solid var(--red);
}
body.home-v2 .bs-urgent p {
  margin: 0;
  max-width: 40em;
  font-size: 15px;
  line-height: 1.55;
  color: var(--text-2);
}
body.home-v2 .bs-urgent strong { color: var(--text); font-weight: 700; }
body.home-v2 a.bs-urgent-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  justify-self: start;
  min-height: 48px;
  margin-top: 8px;
  padding: 0 20px;
  border: 1px solid var(--text);
  font-weight: 700;
  font-size: 16px;
  color: var(--text);
  text-decoration: none;
}
body.home-v2 a.bs-urgent-link:hover { border-color: var(--orange-fg); color: var(--orange-fg); }

/* Chart ------------------------------------------------------------- */
body.home-v2 .bs-chart {
  position: relative;
  margin: 0;
  padding: 32px 0 0;
  min-width: 0;
}
/* Column rule centred in the gutter, so every 5/7 split on the page starts its
   second column at the same x */
body.home-v2 .bs-chart::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--bs-gutter) / -2);
  border-left: var(--bs-rule);
}
body.home-v2 figure.bs-chart figcaption.bs-source { font-style: normal; text-align: left; }
body.home-v2 .bs-chart-head { margin-bottom: 24px; }
body.home-v2 .bs-chart-title {
  margin: 0 0 16px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--text);
}
body.home-v2 .bs-chart-stat {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin: 0;
}
body.home-v2 .bs-chart-num {
  flex: none;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 56px;
  line-height: 1;
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums lining-nums;
  color: var(--orange-fg);
}
body.home-v2 .bs-chart-num-label {
  max-width: 26em;
  font-size: 15px;
  line-height: 1.5;
  color: var(--text-2);
}
body.home-v2 .bs-asof {
  display: block;
  margin-top: 8px;
  font-family: var(--font-mono);
  font-size: 11px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-3);
}
body.home-v2 .bs-ref {
  margin-left: 2px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text);
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.home-v2 .bs-plot {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  grid-template-rows: auto 28px;
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}
body.home-v2 .bs-plot-y { position: relative; grid-column: 1; grid-row: 1; }
body.home-v2 .bs-plot-y span {
  position: absolute;
  right: 12px;
  top: calc((1 - var(--v)) * 100%);
  transform: translateY(-50%);
  font-size: 11px;
  line-height: 1;
  color: var(--text-3);
  white-space: nowrap;
}
body.home-v2 .bs-plot-area {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  height: clamp(200px, 19vw, 260px);
}
body.home-v2 .bs-plot-area svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}
/* The loss is the visible shape: hatching between $1.00 and the CPI line */
body.home-v2 .bs-lost-area { stroke: none; }
body.home-v2 .bs-hatch-line { stroke: var(--text-3); stroke-width: 1.5; stroke-opacity: 0.7; }
body.home-v2 .bs-line {
  fill: none;
  stroke: var(--text);
  stroke-width: 2.5;
  stroke-linejoin: round;
  stroke-linecap: square;
  vector-effect: non-scaling-stroke;
}
body.home-v2 .bs-grid {
  position: absolute;
  left: 0;
  right: 0;
  top: calc((1 - var(--v)) * 100%);
  border-top: 1px solid var(--border-hi);
  opacity: 0.7;
}
body.home-v2 .bs-grid-base { border-top-color: var(--text-3); opacity: 1; }
body.home-v2 .bs-plot-x { position: relative; grid-column: 2; grid-row: 2; }
body.home-v2 .bs-plot-x span {
  position: absolute;
  top: 10px;
  left: calc(var(--x) * 1%);
  transform: translateX(-50%);
  font-size: 11px;
  line-height: 1;
  color: var(--text-3);
}
body.home-v2 .bs-plot-x span:first-child { transform: none; }
body.home-v2 .bs-dot {
  position: absolute;
  left: calc(var(--x) * 1%);
  top: calc((1 - var(--v)) * 100%);
  width: 8px;
  height: 8px;
  margin: -4px 0 0 -4px;
  background: var(--text);
}
body.home-v2 .bs-dot-end { width: 10px; height: 10px; margin: -5px 0 0 -5px; background: var(--orange-fg); }
body.home-v2 .bs-note {
  position: absolute;
  left: calc(var(--x) * 1%);
  top: calc((1 - var(--v)) * 100%);
  transform: translate(10px, calc(-100% - 6px));
  padding: 2px 4px;
  background: var(--bg);
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--text-2);
  white-space: nowrap;
}
body.home-v2 .bs-note-end {
  transform: translate(calc(-100% - 4px), calc(-100% - 22px));
  font-size: 12px;
  font-weight: 700;
  color: var(--orange-fg);
}
body.home-v2 .bs-lost {
  position: absolute;
  left: 40%;
  top: 22%;
  padding: 4px 8px;
  background: var(--bg);
  border: 1px solid var(--border-hi);
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text);
}
body.home-v2 .bs-source {
  margin: 16px 0 0;
  padding-top: 12px;
  border-top: var(--bs-rule);
  font-size: 13px;
  line-height: 1.6;
  color: var(--text-3);
}
body.home-v2 .bs-source a { color: var(--text-2); text-decoration: underline; text-underline-offset: 3px; }
body.home-v2 .bs-source a:hover { color: var(--orange-fg); }

/* ROUTES: numbered index ------------------------------------------ */
body.home-v2 .bs-index { list-style: none; margin: 0; padding: 0; border-bottom: var(--bs-rule); }
body.home-v2 .bs-index-row {
  display: grid;
  grid-template-columns: 64px minmax(0, 5fr) minmax(0, 3fr) 216px;
  gap: 0 var(--bs-gutter);
  align-items: start;
  padding: 24px 0;
  border-top: var(--bs-rule);
}
body.home-v2 .bs-index-row:first-child { border-top: 0; padding-top: 8px; }
body.home-v2 .bs-index-num {
  font-family: var(--font-mono);
  font-size: 24px;
  line-height: 1.2;
  color: var(--text-3);
  font-variant-numeric: tabular-nums;
}
body.home-v2 .bs-index-title {
  margin: 0 0 8px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
/* inline-block with padding and a matching negative margin: a 44px hit area without moving the layout */
body.home-v2 .bs-index-title a:not(.heading-anchor) { display: inline-block; min-height: 44px; padding: 8px 0; margin: -8px 0; color: var(--text); text-decoration: none; }
body.home-v2 .bs-index-title a:hover { color: var(--orange-fg); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
body.home-v2 .bs-index-desc {
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
  color: var(--text-2);
}
body.home-v2 .bs-index-links {
  list-style: none;
  margin: 0;
  padding: 0;
  border-left: var(--bs-rule);
  padding-left: 24px;
}
body.home-v2 .bs-index-links { border-top: var(--bs-rule); }
body.home-v2 .bs-index-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  border-bottom: var(--bs-rule);
  font-size: 15px;
  line-height: 1.4;
  color: var(--text);
  text-decoration: none;
}
body.home-v2 .bs-index-links a span[aria-hidden] { color: var(--text-3); }
body.home-v2 .bs-index-more {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 24px;
  margin: 24px 0 0;
  font-size: 16px;
  line-height: 1.6;
  color: var(--text-2);
}
body.home-v2 .bs-index-links a:hover { color: var(--orange-fg); text-decoration: underline; text-underline-offset: 3px; }
body.home-v2 a.bs-index-hub {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  margin-top: -8px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--orange-fg);
  text-decoration: none;
  white-space: nowrap;
}
body.home-v2 a.bs-index-hub:hover { text-decoration: underline; text-underline-offset: 4px; }
body.home-v2 .bs-index-row-alt .bs-index-main { grid-column: 2 / span 2; }

/* SEARCH ------------------------------------------------------------ */
body.home-v2 .bs-search-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--bs-gutter);
  border-top: var(--bs-rule-strong);
  padding-top: 24px;
  max-width: none;
  margin: 0;
}
body.home-v2 .bs-search-note { margin: 12px 0 0; max-width: 36ch; font-size: 15px; line-height: 1.55; color: var(--text-3); }
body.home-v2 .bs-search-field { position: relative; }
body.home-v2 input.bs-search-input {
  width: 100%;
  height: 56px;
  padding: 0 88px 0 16px;
  background: var(--bg);
  border: 1px solid var(--text-3);
  border-radius: 0;
  box-shadow: none;
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--text);
}
body.home-v2 input.bs-search-input::placeholder { color: var(--text-3); opacity: 1; }
body.home-v2 input.bs-search-input:focus { border-color: var(--text); box-shadow: none; }
body.home-v2 .bs-search-hint { border-radius: 0; border-color: var(--border-hi); }
body.home-v2 .bs-search-results a.search-result { border-radius: 0 !important; }
body.home-v2 .bs-try {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 20px;
  margin-top: 8px;
}
body.home-v2 .bs-try-label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-3);
}
body.home-v2 button.bs-try-item {
  min-height: 44px;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--text);
  text-decoration: underline;
  text-decoration-color: var(--border-hi);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  cursor: pointer;
}
body.home-v2 button.bs-try-item:hover { color: var(--orange-fg); text-decoration-color: currentColor; background: none; }

/* CALCULATORS: two-column directory --------------------------------- */
body.home-v2 .bs-directory {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-bottom: var(--bs-rule);
}
body.home-v2 .bs-directory li { border-top: var(--bs-rule); }
body.home-v2 .bs-directory li:nth-child(odd) { padding-right: var(--bs-gutter); border-right: var(--bs-rule); }
body.home-v2 .bs-directory li:nth-child(even) { padding-left: var(--bs-gutter); }
body.home-v2 .bs-directory li:nth-child(-n+2) { border-top: 0; }
body.home-v2 .bs-directory a {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
  padding: 20px 0 24px;
  text-decoration: none;
  color: inherit;
}
body.home-v2 .bs-dir-tool {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-3);
}
body.home-v2 .bs-dir-q {
  font-family: var(--font-display);
  font-weight: 650;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: -0.015em;
  color: var(--text);
}
body.home-v2 .bs-dir-desc {
  max-width: 52ch;
  font-size: 15px;
  line-height: 1.55;
  color: var(--text-2);
}
body.home-v2 a.bs-dir-all { margin-top: 16px; }
body.home-v2 .bs-directory a:hover .bs-dir-q { color: var(--orange-fg); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }

/* THE SITE'S VIEW: pull-quote ---------------------------------------- */
body.home-v2 .bs-view-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--bs-gutter);
  border-top: var(--bs-rule-strong);
  padding-top: 16px;
}
body.home-v2 .bs-view-head .bs-h2 { max-width: 12ch; }
body.home-v2 .bs-quote {
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  background: none;
}
body.home-v2 .bs-quote p {
  margin: 0;
  max-width: 28ch;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.18;
  letter-spacing: -0.03em;
  color: var(--text);
  text-wrap: pretty;
}
body.home-v2 .bs-quote-cite {
  margin: 0 0 32px;
  padding-top: 12px;
  border-top: var(--bs-rule);
  max-width: 60ch;
  font-family: var(--font-mono);
  font-size: 12px;
  line-height: 1.6;
  color: var(--text-3);
}
body.home-v2 .bs-view-text {
  margin: 0 0 16px;
  max-width: 60ch;
  font-size: 17px;
  line-height: 1.65;
  color: var(--text-2);
}
body.home-v2 .bs-view-alone {
  margin: 24px 0 0;
  max-width: 34ch;
  font-size: 16px;
  line-height: 1.6;
  color: var(--text-2);
}
/* Full-width ruled link rows: title left, arrow right */
body.home-v2 .bs-rows { list-style: none; margin: 0; padding: 0; border-top: var(--bs-rule); }
body.home-v2 .bs-rows a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 56px;
  border-bottom: var(--bs-rule);
  font-weight: 650;
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: var(--text);
  text-decoration: none;
}
body.home-v2 .bs-rows a span[aria-hidden] { color: var(--text-3); }

/* COLOPHON: full index, share, sources ------------------------------ */
body.home-v2 .bs-colophon-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: var(--bs-rule-strong);
}
body.home-v2 .bs-col { padding: 16px var(--bs-gutter) 32px 0; }
body.home-v2 .bs-col + .bs-col { padding: 16px 0 32px var(--bs-gutter); border-left: var(--bs-rule); }
body.home-v2 .bs-col p:not(.bs-kicker) { margin: 0 0 16px; max-width: 46ch; font-size: 16px; line-height: 1.6; color: var(--text-2); }
body.home-v2 a.bs-text-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-weight: 650;
  font-size: 16px;
  color: var(--text);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
body.home-v2 a.bs-text-cta:hover { color: var(--orange-fg); }
body.home-v2 .bs-share {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px 32px;
  margin-top: 16px;
}
body.home-v2 .bs-share-actions { display: flex; flex-wrap: wrap; gap: 8px; }
body.home-v2 .bs-share-action {
  min-height: 44px;
  padding: 0 16px;
  background: transparent;
  border: 1px solid var(--border-hi);
  border-radius: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.04em;
  color: var(--text);
}
body.home-v2 .bs-share-action:hover { border-color: var(--text); color: var(--text); }
body.home-v2 .bs-qr { flex-direction: row; align-items: center; gap: 12px; }
body.home-v2 .bs-qr .share-qr-canvas { width: 72px; height: 72px; }
body.home-v2 .bs-qr svg path { fill: var(--text); }
body.home-v2 .bs-qr .share-qr-label { max-width: 6em; line-height: 1.4; }

body.home-v2 .bs-endnotes {
  border-top: var(--bs-rule);
  padding: 16px 0 0;
}
body.home-v2 .bs-endnotes-title {
  margin: 0 0 8px;
  font-family: var(--font-mono);
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-3);
}
body.home-v2 .bs-sources {
  margin: 0 0 8px;
  padding-left: 20px;
  max-width: 90ch;
  font-size: 13px;
  line-height: 1.6;
  color: var(--text-3);
}
body.home-v2 .bs-sources a { color: var(--text-2); text-decoration: underline; text-underline-offset: 2px; }
body.home-v2 .bs-disclaimer { margin: 0; font-size: 13px; line-height: 1.6; color: var(--text-3); }
body.home-v2 .bs-disclaimer a { color: var(--text-2); text-decoration: underline; text-underline-offset: 2px; }

/* Footer sits after a rule, not a big gap */
body.home-v2 footer { margin-top: 64px; }

/* RESPONSIVE --------------------------------------------------------- */
@media (max-width: 1080px) {
  body.home-v2 .bs-hero-grid { grid-template-columns: minmax(0, 1fr); }
  body.home-v2 .bs-chart { margin-top: 40px; padding-top: 24px; border-top: var(--bs-rule); }
  body.home-v2 .bs-chart::before { content: none; }
  body.home-v2 .bs-index-row { grid-template-columns: 56px minmax(0, 1fr) minmax(0, 1fr); }
  body.home-v2 .bs-index-row .bs-index-hub { grid-column: 2 / -1; justify-self: start; margin-top: 8px; }
  body.home-v2 .bs-index-row-alt .bs-index-main { grid-column: 2 / -1; }
}

@media (max-width: 768px) {
  body.home-v2 { --bs-gutter: 16px; }
  body.home-v2 main section.bs-section { padding-top: 48px; }
  body.home-v2 .bs-folio { padding: 8px 0; }
  body.home-v2 .bs-folio-name { display: none; }
  body.home-v2 .bs-folio-terms { letter-spacing: 0.04em; }
  /* styles.css forces mobile h1/h2/h3 sizes with !important; these restore this page's scale */
  body.home-v2 h1.bs-h1 { margin: 24px 0; font-size: clamp(38px, 10.4vw, 56px) !important; line-height: 1.02; }
  body.home-v2 section h2.bs-h2 { font-size: 28px !important; }
  body.home-v2 section h2.bs-h3,
  body.home-v2 section h2.bs-chart-title,
  body.home-v2 section h3.bs-index-title { font-size: 22px !important; }
  body.home-v2 section h2.bs-endnotes-title { font-size: 11px !important; }
  body.home-v2 .bs-hero-copy { padding-top: 24px; }
  body.home-v2 .bs-deck { font-size: 18px; margin-bottom: 24px; }
  body.home-v2 .bs-cta-row { margin-bottom: 32px; }
  body.home-v2 a.bs-cta { width: 100%; justify-content: space-between; }
  body.home-v2 .bs-chart-num { font-size: 48px; }
  body.home-v2 .bs-chart-stat { flex-direction: column; gap: 8px; }
  body.home-v2 .bs-plot { grid-template-columns: 40px minmax(0, 1fr); }
  body.home-v2 .bs-plot-y span { right: 8px; font-size: 11px; }
  body.home-v2 .bs-plot-area { height: 200px; }
  body.home-v2 .bs-plot-x span:nth-child(2), body.home-v2 .bs-plot-x span:nth-child(3), body.home-v2 .bs-plot-x span:nth-child(5) { display: none; }
  body.home-v2 .bs-note-2000 { display: none; }
  body.home-v2 .bs-lost { left: 30%; top: 18%; font-size: 11px; }
  body.home-v2 .bs-trust { margin-top: -8px; margin-bottom: 24px; }
  body.home-v2 a.bs-urgent-link { align-self: stretch; justify-self: stretch; justify-content: space-between; }
  body.home-v2 .bs-view-alone { max-width: none; margin-top: 16px; }
  body.home-v2 .bs-rows a { font-size: 17px; }

  body.home-v2 .bs-section-head-split { grid-template-columns: minmax(0, 1fr); gap: 0; }
  body.home-v2 .bs-section-head-split .bs-section-intro { margin-top: 12px; }

  body.home-v2 .bs-index-row { grid-template-columns: 40px minmax(0, 1fr); padding: 24px 0; }
  body.home-v2 .bs-index-num { font-size: 18px; padding-top: 4px; }
  body.home-v2 .bs-index-links { grid-column: 2; margin-top: 12px; padding-left: 0; border-left: 0; }
  body.home-v2 .bs-index-links a { padding: 0; }
  body.home-v2 .bs-index-row .bs-index-hub { grid-column: 2; margin-top: 8px; }

  body.home-v2 .bs-search-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  body.home-v2 input.bs-search-input { font-size: 16px; padding-right: 16px; }
  body.home-v2 .bs-search-hint { display: none; }
  body.home-v2 .bs-try { gap: 0 16px; }
  body.home-v2 button.bs-try-item { min-width: 0 !important; }

  body.home-v2 .bs-directory { grid-template-columns: minmax(0, 1fr); }
  body.home-v2 .bs-directory li:nth-child(odd),
  body.home-v2 .bs-directory li:nth-child(even) { padding: 0; border-right: 0; }
  body.home-v2 .bs-directory li:nth-child(2) { border-top: var(--bs-rule); }
  body.home-v2 .bs-directory a { padding: 16px 0 20px; }
  body.home-v2 .bs-dir-q { font-size: 18px; }

  body.home-v2 .bs-view-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.home-v2 .bs-view-head .bs-h2 { max-width: none; }
  body.home-v2 .bs-quote p { font-size: 28px; }

  body.home-v2 .bs-colophon-grid { grid-template-columns: minmax(0, 1fr); }
  body.home-v2 .bs-col, body.home-v2 .bs-col + .bs-col { padding: 16px 0 32px; border-left: 0; }
  body.home-v2 .bs-col + .bs-col { border-top: var(--bs-rule); }
  body.home-v2 footer { margin-top: 48px; }
}

/* The "/" shortcut needs a keyboard; phones and touch screens do not get the hint */
@media (max-width: 768px), (hover: none) and (pointer: coarse) {
  body.home-v2 .bs-kbd-only { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  body.home-v2 main * { transition: none !important; }
}

/* Overrides for site-wide rules that would otherwise win on this page ------ */
/* section li gets a 68ch measure site-wide; grid rows here manage their own measure */
body.home-v2 .bs-index > li:not(#bs),
body.home-v2 .bs-directory > li:not(#bs),
body.home-v2 .bs-index-links > li:not(#bs) { max-width: none; }
body.home-v2 .bs-index-desc:not(#bs) { max-width: 48ch; }
body.home-v2 .bs-index-row-alt .bs-index-desc:not(#bs) { max-width: 60ch; }
/* "section .container li a[href]" paints every list link orange with an animated
   underline at specificity (0,4,3); :not(#bs) lifts these resets above it. */
body.home-v2 .bs-index a:not(#bs),
body.home-v2 .bs-directory a:not(#bs),
body.home-v2 .bs-rows a:not(#bs) {
  position: static;
  background-image: none;
  text-decoration: none;
}
body.home-v2 .bs-index-title a:not(#bs),
body.home-v2 .bs-index-links a:not(#bs),
body.home-v2 .bs-directory a:not(#bs),
body.home-v2 .bs-rows a:not(#bs) { color: var(--text); }
body.home-v2 .bs-rows a:not(#bs):hover { color: var(--orange-fg); }
body.home-v2 .bs-rows a:not(#bs):hover span:first-child { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
body.home-v2 .bs-rows > li:not(#bs) { max-width: none; }
body.home-v2 .bs-index a.bs-index-hub:not(#bs) { color: var(--orange-fg); }
body.home-v2 .bs-index-title a:not(#bs):hover,
body.home-v2 .bs-index-links a:not(#bs):hover { color: var(--orange-fg); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
body.home-v2 .bs-index a.bs-index-hub:not(#bs):hover { text-decoration: underline; text-underline-offset: 4px; }
body.home-v2 .bs-sources a:not(#bs) { color: var(--text-2); background-image: none; }
body.home-v2 .bs-index-more a.bs-text-cta:not(#bs) { color: var(--text); background-image: none; }
body.home-v2 .bs-index-more a.bs-text-cta:not(#bs):hover { color: var(--orange-fg); }
/* Site pull-quote style (italic, orange bar, tinted box, glyph) does not apply here */
body.home-v2 blockquote.bs-quote {
  position: static;
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  font-style: normal;
  max-width: none;
}
body.home-v2 blockquote.bs-quote::before { content: none; }
