/* ==========================================================================
   Know Thy Buyer — G+C Hybrid ("The Decision Brief, Questioned")
   Shared static stylesheet for the design preview. Track: Know Thy Buyer.
   Typeface register (license-clean, SIL OFL via Google Fonts):
     Questions + narrative prose ....... Newsreader (opsz variable), Georgia, serif
     Verdict stamps + finding numbers .. Barlow Condensed 600/700, Arial Narrow, sans-serif
     Data / labels / UI chrome ......... Archivo 400/500/600, system sans
   Restraint laws: NO shadows (box/text). NO gradients. NO border-radius (0).
   Hierarchy by space + weight only. Color on <10% of pixels.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400..700;1,6..72,400..700&family=Barlow+Condensed:wght@600;700&family=Archivo:wght@400;500;600&display=swap');

:root {
  --paper: #FAF7F1;
  --paper-deep: #F2EDE3;
  --ink: #171310;
  --ink-soft: #5C554B;
  --line: #E4DCCF;
  --strong: #1E6B48;
  --watch: #A86F1F;
  --weak: #5B6470;
  --action: #0E5E5A;
  --evidence: #2C4E7E;
  --counter: #EFE9DC;
}

/* ------------------------------------------------------------------ */
/*  Base: paper ground, ink text, mobile-first 390px, ~68ch column      */
/* ------------------------------------------------------------------ */

html {
  -webkit-text-size-adjust: 100%;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Newsreader", Georgia, serif;
  font-optical-sizing: auto;
  font-size: 1.0625rem;
  line-height: 1.65;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* Numbers everywhere: tabular figures, even where font stacks change. */
.num,
td,
th,
.finding-num,
.verdict-stamp,
.conf,
.freshness,
.depth-bar,
.copy-btn,
.typo-controls,
.resume-indicator {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

main,
.brief-hero,
.q-unit,
.report-foot,
.cover,
.chapter,
.appendix {
  max-width: 68ch;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

h1, h2, h3 {
  font-weight: inherit;
  line-height: 1.25;
}

p { margin: 0 0 1.1em; }

.cross-link {
  font-size: 0.92rem;
  color: var(--ink-soft);
}

a {
  color: var(--action);
  text-decoration: underline;
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1px;
}

/* ------------------------------------------------------------------ */
/*  Site chrome                                                       */
/* ------------------------------------------------------------------ */

.site-head {
  max-width: 68ch;
  margin: 0 auto;
  padding: 1rem 1.25rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border-bottom: 1px solid var(--line);
}

.site-head .brand {
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink);
}

/* Segmented view switcher: Quick read / Full report / Present it */
.view-switcher {
  display: inline-flex;
  border: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.view-switcher a {
  display: inline-block;
  padding: 0.55rem 0.9rem;
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--ink-soft);
  text-decoration: none;
  border-right: 1px solid var(--line);
}

.view-switcher a:last-child { border-right: 0; }

.view-switcher a[aria-current] {
  color: var(--paper);
  background: var(--ink);
  font-weight: 600;
}

/* Small grotesk depth indicator: "Brief · 5 min" / "Evidence" */
.depth-bar {
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-soft);
  border-bottom: 1px solid var(--line);
  padding: 0.65rem 1.25rem;
  max-width: 68ch;
  margin: 0 auto;
}

.report-foot {
  border-top: 1px solid var(--line);
  margin-top: 4rem;
  padding-top: 1.5rem;
  padding-bottom: 3rem;
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--ink-soft);
}

/* ------------------------------------------------------------------ */
/*  Verdict stamps — typographic, hairline frame, NO fill, NO gloss    */
/* ------------------------------------------------------------------ */

.verdict-stamp {
  display: inline-block;
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  line-height: 1;
  padding: 0.45em 0.85em 0.4em 1.05em; /* optical centering of tracking */
  border: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
}

.stamp-strong { color: var(--strong); border-color: var(--strong); }
.stamp-watch  { color: var(--watch);  border-color: var(--watch); }
.stamp-weak   { color: var(--weak);   border-color: var(--weak); }

/* Below the brief, verdict color drains: keep the stamp shape, ink only. */
.q-unit .verdict-stamp {
  color: var(--ink);
  border-color: var(--ink);
  font-size: 0.95rem;
}

/* ------------------------------------------------------------------ */
/*  Brief hero: stamp + one-line answer + numbered findings             */
/* ------------------------------------------------------------------ */

.brief-hero {
  padding-top: 3rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--line);
}

.brief-hero .verdict-stamp {
  font-size: 1.25rem;
  margin-bottom: 1.5rem;
}

.brief-hero .one-line {
  font-size: 1.5rem;
  line-height: 1.45;
  margin: 0 0 2.5rem;
  max-width: 30ch;
}

.brief-hero h2 {
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin: 0 0 1rem;
}

.finding-item {
  display: grid;
  grid-template-columns: 3.25rem 1fr;
  gap: 0 1rem;
  align-items: baseline;
  padding: 0.9rem 0;
  border-top: 1px solid var(--line);
}

.finding-num {
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 1;
  color: var(--ink);
}

.finding-item .finding-q {
  font-size: 1.125rem;
  line-height: 1.45;
}

.finding-item .finding-q a {
  color: var(--ink);
  text-decoration: none;
}

.finding-item .finding-q a:hover {
  color: var(--action);
  text-decoration: underline;
}

.skip-verdicts {
  display: inline-block;
  margin-top: 1.75rem;
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--action);
  text-decoration: none;
  border-bottom: 1px solid var(--action);
  padding-bottom: 0.15rem;
}

/* ------------------------------------------------------------------ */
/*  Moves checklist                                                   */
/* ------------------------------------------------------------------ */

.moves-checklist {
  list-style: none;
  margin: 0 0 3rem;
  padding: 0;
  border-top: 1px solid var(--line);
}

.move {
  border-bottom: 1px solid var(--line);
  padding: 1.1rem 0;
}

.move label {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 1rem;
  align-items: start;
  min-height: 2.75rem; /* generous touch target */
  cursor: pointer;
}

.move input[type="checkbox"] {
  width: 1.4rem;
  height: 1.4rem;
  margin-top: 0.25rem;
  accent-color: var(--action);
}

.move .move-title {
  font-size: 1.125rem;
  line-height: 1.45;
}

.move .move-title strong { font-weight: 600; }

.move-why {
  margin: 0.45rem 0 0.25rem;
  padding-left: 2.4rem;
  color: var(--ink-soft);
  font-size: 1rem;
}

.move-step {
  margin: 0 0 0.5rem;
  padding-left: 2.4rem;
  font-size: 1rem;
}

/* Text-only confidence marker: "confidence · high" */
.conf {
  display: block;
  margin: 0;
  padding-left: 2.4rem;
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-soft);
}

/* ------------------------------------------------------------------ */
/*  Partner plays strip: scroll-snap row on mobile, grid on desktop    */
/* ------------------------------------------------------------------ */

.partner-strip {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(16rem, 80%);
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 0.25rem 0 1.25rem;
  margin-bottom: 3rem;
  -webkit-overflow-scrolling: touch;
}

.partner-card {
  scroll-snap-align: start;
  border: 1px solid var(--line);
  border-radius: 0;
  padding: 1.1rem 1.15rem 1rem;
  background: transparent;
}

.partner-card h3 {
  margin: 0 0 0.35rem;
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 1rem;
  font-weight: 600;
}

.partner-link {
  color: var(--action);
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid var(--action);
}

.partner-fit {
  margin: 0.6rem 0 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--ink-soft);
}

/* ------------------------------------------------------------------ */
/*  Question units (Full report evidence)                              */
/* ------------------------------------------------------------------ */

.q-unit {
  padding: 3rem 1.25rem;
  border-bottom: 1px solid var(--line);
}

.q-unit:first-of-type { padding-top: 2.5rem; }

.q-question {
  font-family: "Newsreader", Georgia, serif;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.25;
  margin: 0 0 1.25rem;
  max-width: 24ch;
}

.q-verdict {
  font-family: "Newsreader", Georgia, serif;
  font-size: 1.25rem;
  line-height: 1.5;
  margin: 0 0 2rem;
  padding-left: 1.25rem;
  border-left: 2px solid var(--ink);
}

.q-verdict .label {
  display: block;
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-bottom: 0.4rem;
}

/* Evidence table: hairline rules, tnum figures */
.evidence-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 2rem;
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.9rem;
  line-height: 1.5;
}

.evidence-table caption {
  text-align: left;
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-soft);
  padding-bottom: 0.6rem;
}

.evidence-table th,
.evidence-table td {
  text-align: left;
  padding: 0.65rem 0.75rem 0.65rem 0;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}

.evidence-table thead th {
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-soft);
  border-bottom: 1px solid var(--ink);
}

/* Simple CSS bar charts: evidence-blue fills only */
.bars {
  margin: 0 0 2rem;
  padding: 0;
}

.bar-row {
  display: grid;
  grid-template-columns: 11rem 1fr 4.5rem;
  gap: 0 0.9rem;
  align-items: center;
  margin-bottom: 0.65rem;
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.875rem;
}

.bar-row .bar-label {
  color: var(--ink);
  line-height: 1.35;
}

.bar-row .bar-track {
  height: 0.85rem;
  background: var(--paper-deep);
  border-radius: 0;
}

.bar-fill {
  display: block;
  height: 100%;
  background: var(--evidence); /* evidence-blue: the only filled bars */
  border-radius: 0;
}

.bar-row .bar-value {
  text-align: right;
  font-weight: 600;
}

/* Evidence adjacency: quote + data + action in one view */
.adjacency {
  margin: 0 0 2rem;
  padding: 1.25rem 1.25rem 0.25rem;
  border: 1px solid var(--line);
  border-radius: 0;
}

.adj-quote {
  font-family: "Newsreader", Georgia, serif;
  font-style: italic;
  font-size: 1.2rem;
  line-height: 1.5;
  margin: 0 0 1rem;
}

.adjacency .adj-data,
.adjacency .adj-action {
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.9rem;
  line-height: 1.6;
}

.adjacency .adj-data { margin: 0 0 0.6rem; }
.adjacency .adj-action { margin: 0 0 1rem; }

.adjacency .kicker {
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-right: 0.4rem;
}

/* Counter-evidence: counter tint ground (#EFE9DC), NO red */
.counter-evidence {
  background: var(--counter);
  border-radius: 0;
  padding: 1.25rem 1.25rem 0.25rem;
  margin: 0 0 2rem;
}

.counter-evidence h3 {
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin: 0 0 0.75rem;
}

/* "So what:" grotesk lead-in */
.so-what {
  font-size: 1.05rem;
  margin: 0 0 1rem;
}

.so-what::before {
  content: "So what: ";
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-weight: 600;
  font-size: 0.95em;
}

.freshness {
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--ink-soft);
  margin: 0 0 1.5rem;
}

.q-unit .skip-verdicts { margin-top: 1.25rem; }

/* ------------------------------------------------------------------ */
/*  Reading chrome: ToC, copy buttons, typo controls, resume, share    */
/* ------------------------------------------------------------------ */

.toc {
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.875rem;
  line-height: 1.7;
}

.toc ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.toc a {
  color: var(--ink);
  text-decoration: none;
  display: block;
  padding: 0.35rem 0;
  border-bottom: 1px solid var(--line);
}

.toc a:hover { color: var(--action); }

.toc .toc-num {
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  margin-right: 0.5rem;
  color: var(--ink-soft);
}

/* On mobile the ToC is a collapsible <details>; on desktop it sticks. */
.toc-wrap { margin: 1.5rem 0 2.5rem; }

.toc-wrap details summary {
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  padding: 0.75rem 0;
  color: var(--ink);
}

.toc-wrap details[open] summary { border-bottom: 1px solid var(--line); }

/* Static action-teal text button with hairline frame (non-functional OK) */
.copy-btn {
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--action);
  background: transparent;
  border: 1px solid var(--action);
  border-radius: 0;
  padding: 0.5rem 0.9rem;
  cursor: pointer;
  letter-spacing: 0.02em;
}

.typo-controls {
  display: inline-flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--line);
  border-radius: 0;
}

.typo-controls button {
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ink);
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0.5rem 0.85rem;
  cursor: pointer;
}

.typo-controls button + button { border-left: 1px solid var(--line); }

.resume-indicator {
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.8rem;
  color: var(--ink-soft);
}

.share-sheet {
  border-top: 1px solid var(--line);
  margin-top: 3rem;
  padding-top: 1.5rem;
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.9rem;
}

.share-sheet h2 {
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 600;
  font-size: 1.05rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin: 0 0 1rem;
}

.share-sheet .draft-confirm {
  font-size: 0.8125rem;
  color: var(--ink-soft);
  margin: 1rem 0 0;
}

.share-sheet .share-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* ------------------------------------------------------------------ */
/*  Collapsed evidence trails (Quick read)                             */
/* ------------------------------------------------------------------ */

details.evidence-trail {
  margin: 0 0 1.5rem;
  border: 0;
  background: transparent;
}

details.evidence-trail summary {
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--action);
  cursor: pointer;
  list-style: none;
  display: inline-block;
  padding: 0;
}

details.evidence-trail summary::-webkit-details-marker { display: none; }

details.evidence-trail summary::before {
  content: "+ ";
}

details.evidence-trail[open] summary::before {
  content: "− ";
}

details.evidence-trail .evidence-trail-body {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}

/* ------------------------------------------------------------------ */
/*  Present it: cover, chapters, appendix                              */
/* ------------------------------------------------------------------ */

.cover {
  min-height: 92vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.cover .cover-kicker {
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin: 0 0 1.5rem;
}

.cover .cover-business {
  font-family: "Newsreader", Georgia, serif;
  font-weight: 600;
  font-size: 3rem;
  line-height: 1.1;
  margin: 0 0 1rem;
  max-width: 16ch;
}

.cover .cover-date {
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.9rem;
  color: var(--ink-soft);
  margin: 0 0 2rem;
}

.cover .verdict-line {
  font-size: 1.35rem;
  line-height: 1.5;
  max-width: 34ch;
  margin: 0 0 2rem;
  padding-left: 1.25rem;
  border-left: 2px solid var(--ink);
}

/* The slogan's single report placement: serif italic, small, at the foot */
.cover-signature {
  margin-top: auto;
  padding-top: 4rem;
  font-family: "Newsreader", Georgia, serif;
  font-style: italic;
  font-size: 1rem;
  color: var(--ink-soft);
  text-align: center;
}

.chapter {
  padding-top: 3.5rem;
  padding-bottom: 1rem;
  border-top: 1px solid var(--line);
}

.chapter-opener {
  margin-bottom: 2.5rem;
}

.chapter-opener .chapter-num {
  display: block;
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-bottom: 0.75rem;
}

.chapter-opener h2 {
  font-family: "Newsreader", Georgia, serif;
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.25;
  margin: 0;
  max-width: 22ch;
}

.appendix {
  padding-top: 3rem;
  padding-bottom: 4rem;
  border-top: 1px solid var(--line);
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.9rem;
  line-height: 1.65;
}

.appendix h2 {
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 600;
  font-size: 1.05rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin: 0 0 1.25rem;
}

.appendix .honest-ledger {
  font-style: italic;
  color: var(--ink-soft);
}

/* ------------------------------------------------------------------ */
/*  Desktop: composed, centered, generous                              */
/* ------------------------------------------------------------------ */

@media (min-width: 48rem) {
  body { font-size: 1.125rem; }

  main,
  .brief-hero,
  .q-unit,
  .report-foot,
  .cover,
  .chapter,
  .appendix {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .brief-hero { padding-top: 4.5rem; }
  .brief-hero .one-line { font-size: 1.75rem; }
  .q-question { font-size: 2.5rem; }
  .cover .cover-business { font-size: 4rem; }

  /* Partner strip becomes a calm grid on desktop */
  .partner-strip {
    grid-auto-flow: row;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    overflow-x: visible;
  }
  .partner-card { scroll-snap-align: none; }

  /* Sticky ToC on desktop; hide the mobile <details> summary chrome */
  .toc-wrap {
    position: sticky;
    top: 1rem;
  }

  .toc-wrap details summary {
    pointer-events: none;
    padding-bottom: 0.5rem;
  }

  .bar-row { grid-template-columns: 14rem 1fr 5rem; }

  .site-head { padding-left: 2.5rem; padding-right: 2.5rem; }
}

/* ------------------------------------------------------------------ */
/*  Print / PDF craft: print-shaped, no chrome                         */
/* ------------------------------------------------------------------ */

@media print {
  :root {
    --paper: #ffffff;
    --paper-deep: #f5f2ec;
    --counter: #f3efe6;
  }

  body {
    font-size: 10.5pt;
    line-height: 1.55;
    background: #ffffff;
    color: #000000;
  }

  /* Hide nav, chrome, and non-printing controls */
  .site-head,
  .view-switcher,
  .depth-bar,
  .toc-wrap,
  .copy-btn,
  .typo-controls,
  .resume-indicator,
  .share-sheet,
  .skip-verdicts,
  .move input[type="checkbox"] {
    display: none !important;
  }

  /* Brief hero fits one page reasonably */
  .brief-hero {
    min-height: auto;
    page-break-after: always;
    padding-top: 1rem;
    border-bottom: 0;
  }

  .cover {
    min-height: auto;
    height: 100vh;
    page-break-after: always;
    justify-content: center;
  }

  .finding-item,
  .move,
  .partner-card,
  .q-verdict,
  .adjacency,
  .counter-evidence,
  .evidence-table {
    page-break-inside: avoid;
  }

  .chapter {
    page-break-before: always;
    padding-top: 1rem;
  }

  .q-question,
  .chapter-opener h2,
  h2, h3 {
    page-break-after: avoid;
  }

  a {
    color: inherit;
    text-decoration: none;
  }

  .verdict-stamp { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .bar-fill { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* ================================================================== */
/*  Coordinator edit-hard patch (2026-10-06)                           */
/*  Aligns the stylesheet with the class names the page builders       */
/*  actually shipped; fixes cross-page inconsistencies found on read.  */
/* ================================================================== */

/* index.html used .verdict-line for the brief hero's one-line answer
   (stylesheet had .one-line). */
.brief-hero .verdict-line {
  font-size: 1.5rem;
  line-height: 1.45;
  margin: 0 0 2.5rem;
  max-width: 30ch;
}

/* Finding rows carry three children: number, question, mini stamp. */
ol.findings { list-style: none; margin: 0; padding: 0; }
.finding-item { grid-template-columns: 3.25rem 1fr auto; }
.mini-stamp {
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-soft);
  white-space: nowrap;
}

.move-title { font-weight: 600; }

/* Section headings on the brief page: restraint, grotesk small caps. */
.moves-checklist > h2,
section.partner-strip > h2,
.evidence > h2,
.share-sheet > h2 {
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin: 0 0 1rem;
}

/* The partner section is a section; the scroll row is .partner-cards. */
section.partner-strip {
  display: block;
  margin-bottom: 3rem;
  padding-top: 2.5rem;
  border-top: 1px solid var(--line);
}
.partner-cards {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(16rem, 80%);
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 0.25rem 0 1.25rem;
  -webkit-overflow-scrolling: touch;
}

.evidence {
  padding-top: 2.5rem;
  border-top: 1px solid var(--line);
  margin-bottom: 3rem;
}

/* Present-it cover: builders used -eyebrow / -meta / -verdict names. */
.cover-eyebrow {
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin: 0 0 1.5rem;
}
.cover-meta {
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-size: 0.9rem;
  color: var(--ink-soft);
  margin: 0 0 2rem;
}
.cover-verdict {
  margin: 0 0 2rem;
  padding-left: 1.25rem;
  border-left: 2px solid var(--ink);
  font-size: 1.35rem;
  line-height: 1.5;
  max-width: 34ch;
}

/* Present-it brief + moves list + appendix blocks. */
.brief {
  padding-top: 3rem;
  padding-bottom: 1rem;
  border-top: 1px solid var(--line);
}
.brief h3 {
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin: 2rem 0 0.75rem;
}
.moves-list {
  margin: 0 0 1rem;
  padding-left: 1.4rem;
  font-variant-numeric: tabular-nums;
}
.moves-list li { padding: 0.4rem 0; }
.appendix-method p,
.appendix-sources p { margin: 0 0 1rem; }
.appendix-ledger {
  font-style: italic;
  color: var(--ink-soft);
  margin: 1.5rem 0;
  padding-left: 1.25rem;
  border-left: 2px solid var(--line);
}
.appendix-version {
  color: var(--ink-soft);
  font-size: 0.85rem;
  margin-top: 1.5rem;
}

/* Site-head inner layout (present-it nests the switcher in the head). */
.site-head-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.site-mark {
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Full-report ToC ships as both <details> (mobile) and <nav> (desktop):
   never show both at once. */
details.toc summary {
  font-family: "Archivo", -apple-system, "Segoe UI", sans-serif;
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  padding: 0.75rem 0;
  color: var(--ink);
}
nav.toc { display: none; }

@media (min-width: 48rem) {
  .brief-hero .verdict-line { font-size: 1.75rem; }
  details.toc { display: none; }
  nav.toc {
    display: block;
    position: sticky;
    top: 1rem;
    margin-bottom: 2.5rem;
  }
  .partner-cards {
    grid-auto-flow: row;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    overflow-x: visible;
  }
  .partner-card { scroll-snap-align: none; }
  .cover-verdict { font-size: 1.5rem; }
}

/* Edit-hard round 2: Q0 is the brief block on the Full report page, so it
   keeps its verdict color; partner rank numerals make the top-5 legible. */
.q-unit.brief-block .verdict-stamp {
  color: var(--watch);
  border-color: var(--watch);
  font-size: 1.05rem;
}
.partner-rank {
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  margin-right: 0.5rem;
  color: var(--ink-soft);
}
/* ==========================================================================
   STONE VARIANT (2026-10-06) — A/B against gc-hybrid.
   Two changes only: (1) tonal limestone grain on the page ground,
   (2) Present-it cover panel. Everything else is byte-identical.
   Grain = inline SVG feTurbulence data-URI (no photo asset). Black speckle
   with per-pixel alpha, multiply-blended over the warm paper ground, so it
   tints neutrally and can never compete with text. Browsers without
   background-blend-mode get the identical result (black is blend-neutral).
   Print: grain drops silently (explicit override below).
   ========================================================================== */

:root {
  --grain: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27240%27%20height%3D%27240%27%3E%3Cfilter%20id%3D%27g%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.9%27%20numOctaves%3D%272%27%20seed%3D%2711%27%20stitchTiles%3D%27stitch%27%20result%3D%27f%27%2F%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.014%27%20numOctaves%3D%273%27%20seed%3D%274%27%20stitchTiles%3D%27stitch%27%20result%3D%27m%27%2F%3E%3CfeColorMatrix%20in%3D%27f%27%20type%3D%27matrix%27%20values%3D%270%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.04%200.04%200.04%200%20-0.02%27%20result%3D%27fa%27%2F%3E%3CfeColorMatrix%20in%3D%27m%27%20type%3D%27matrix%27%20values%3D%270%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.035%200.035%200.035%200%20-0.03%27%20result%3D%27ma%27%2F%3E%3CfeComposite%20in%3D%27fa%27%20in2%3D%27ma%27%20operator%3D%27over%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27240%27%20height%3D%27240%27%20filter%3D%27url%28%23g%29%27%2F%3E%3C%2Fsvg%3E");
  --grain-cover: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27240%27%20height%3D%27240%27%3E%3Cfilter%20id%3D%27g%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.9%27%20numOctaves%3D%272%27%20seed%3D%2729%27%20stitchTiles%3D%27stitch%27%20result%3D%27f%27%2F%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.014%27%20numOctaves%3D%273%27%20seed%3D%278%27%20stitchTiles%3D%27stitch%27%20result%3D%27m%27%2F%3E%3CfeColorMatrix%20in%3D%27f%27%20type%3D%27matrix%27%20values%3D%270%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.06%200.06%200.06%200%20-0.025%27%20result%3D%27fa%27%2F%3E%3CfeColorMatrix%20in%3D%27m%27%20type%3D%27matrix%27%20values%3D%270%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.05%200.05%200.05%200%20-0.035%27%20result%3D%27ma%27%2F%3E%3CfeComposite%20in%3D%27fa%27%20in2%3D%27ma%27%20operator%3D%27over%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27240%27%20height%3D%27240%27%20filter%3D%27url%28%23g%29%27%2F%3E%3C%2Fsvg%3E");
}

/* 1. Page ground — fine limestone grain over paper. ~6% mean presence:
   felt as "expensive paper," never seen as texture. Behind all text. */
body {
  background-color: var(--paper);
  background-image: var(--grain);
  background-size: 240px 240px;
  background-blend-mode: multiply;
}

/* 2. Present-it cover — limestone panel on paper-deep, slightly stronger
   grain (~10%), plus the verdict-ochre hairline rule system: 3px top rule,
   1px bottom rule, verdict blockquote keyed to ochre. Carved, not decorated. */
.cover {
  background-color: var(--paper-deep);
  background-image: var(--grain-cover);
  background-size: 240px 240px;
  background-blend-mode: multiply;
  border-top: 3px solid var(--watch);
  border-bottom: 1px solid var(--watch);
}
.cover-verdict {
  border-left-color: var(--watch);
}

@media print {
  /* Stone is a screen luxury: drop the grain silently in print/PDF. */
  body,
  .cover {
    background-image: none;
  }
}
