/* Copyright (c) 2026 Raise Presence LLC. All rights reserved. */
/* Kyanos Papers — paper-specific stylesheet.
   Loaded AFTER /styles.css (the site-wide shared sheet) by every paper, via:
     <link rel="stylesheet" href="/styles.css">
     <link rel="stylesheet" href="/papers/papers.css">
   styles.css owns the shared Paper I chrome (wrap, page, breadcrumb, masthead,
   toc, abstract, section, pullquote, callout, footnotes, colophon, author-bio).
   This file owns the body-level components that individual papers use but that
   are not part of the shared system — tables, finding lists, lever maps, stat
   rows, theory blocks, scenario/break-even panels, and the supporting
   typography for papers whose body prose is not wrapped in .section. All colors
   are expressed through the styles.css token palette so every paper renders in
   the same light "Paper I" treatment. */

/* ----------------------------------------------------------------------------
   Compatibility tokens
   Some preserved paper bodies reference variable names that predate the shared
   palette (and a few inline styles still do). Map them onto the styles.css
   tokens so every reference resolves to the Paper I treatment.
---------------------------------------------------------------------------- */
:root {
  --ink1: var(--ink);
  --ink2: var(--ink-mid);
  --ink3: var(--ink-muted);
  --surface: var(--paper-warm);
  --surface2: var(--paper-accent);
  --rule2: var(--rule-light);
  --border: var(--rule);
  --punch: var(--red);
  --gold-light: #c8a84b;
  --gold-pale: #f0e6c8;
  --red-dark: #7a1f1f;
  --red-mid: var(--red);
  --red-pale: #f5eaea;
  --teal-dark: #1a4a3e;
  --teal-mid: #2d7a64;
  --teal-pale: #e8f5f0;
  --slate: #2a3a4a;
  --slate-pale: #e8f0f5;
  --column-width: 100%;
}

.paper { width: 100%; max-width: 100%; }

/* ----------------------------------------------------------------------------
   Body typography for papers whose prose is not wrapped in .section
   (styles.css only styles `.section p`; these rules give bare body prose and
   un-classed headings the same treatment without overriding Paper I sections —
   `p` is lower-specificity than `.section p`, and the heading rules are scoped
   to un-classed h2 so they never touch `.section-title`).
---------------------------------------------------------------------------- */
.page p {
  font-size: 18px;
  line-height: 1.7;
  margin-bottom: 22px;
  max-width: 70ch;
  color: var(--ink-mid);
}
.page p:last-child { margin-bottom: 0; }
.page p strong { color: var(--ink); font-weight: 600; }
.page p em { font-style: italic; }

/* Several papers mark section numbers with an inline <span>; render it as a
   block so it sits above the section title as in Paper I. */
.section-number { display: block; }

.page h2:not([class]) {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.12;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 56px 0 24px;
  border-top: 1px solid var(--rule);
  padding-top: 32px;
}
.page h2:not([class]) .section-number {
  display: block;
  font-family: 'DM Mono', monospace;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent-dark);
  margin-bottom: 12px;
}

.page h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  font-size: 21px;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 40px 0 14px;
}

/* Drop-cap lede paragraph */
.lede::first-letter {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 64px;
  font-weight: 700;
  float: left;
  line-height: 0.9;
  margin: 6px 12px 0 0;
  color: var(--accent-dark);
}

/* ----------------------------------------------------------------------------
   Abstract label (papers that use a labelled abstract block)
---------------------------------------------------------------------------- */
.abstract-label {
  display: block;
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent-dark);
  margin-bottom: 14px;
}

/* ----------------------------------------------------------------------------
   Pullquotes — styles.css styles `.pullquote p`; some papers place text (and a
   `.pullquote-attr`) directly in the container. Style the container so those
   render as pullquotes too; the inner <p> rule in styles.css still wins for
   papers that use it.
---------------------------------------------------------------------------- */
.pullquote {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: clamp(21px, 2.6vw, 27px);
  line-height: 1.4;
  color: var(--ink);
}
.pullquote-attr {
  display: block;
  font-family: 'DM Mono', monospace;
  font-style: normal;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-top: 16px;
}

/* ----------------------------------------------------------------------------
   Callouts — styles.css owns `.callout` / `.callout-label`. These add the
   display:block fix (for papers that use a <span> label with text directly in
   the callout) plus the colour variants.
---------------------------------------------------------------------------- */
.callout { font-size: 16px; line-height: 1.65; }
.callout-label { display: block; }

.callout-green {
  background: var(--paper-warm);
  border: 1px solid var(--rule);
  border-top: 3px solid var(--accent2);
  padding: 28px 32px;
  margin: 40px 0;
  max-width: 820px;
  font-size: 16px;
  line-height: 1.65;
}
.callout-green .callout-label { color: var(--accent2); }
.callout-green p { font-size: 16px; margin-bottom: 14px; max-width: 100%; }
.callout-green p:last-child { margin-bottom: 0; }

.callout-gold {
  background: var(--gold-pale);
  border-left: 4px solid var(--gold);
  padding: 26px 30px;
  margin: 40px 0;
  max-width: 820px;
}
.callout-gold p { font-size: 16px; line-height: 1.6; margin-bottom: 14px; }
.callout-gold p:last-child { margin-bottom: 0; }

/* ----------------------------------------------------------------------------
   Warning / epistemic-note panels
---------------------------------------------------------------------------- */
.warning {
  background: var(--red-pale);
  border-left: 3px solid var(--red);
  padding: 24px 28px;
  margin: 36px 0;
  max-width: 820px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--ink-mid);
}
.warning-label {
  display: block;
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--red-dark);
  margin-bottom: 10px;
}
.warning p { font-size: 15px; margin-bottom: 10px; }
.warning p:last-child { margin-bottom: 0; }

/* ----------------------------------------------------------------------------
   Theory framework block
---------------------------------------------------------------------------- */
.theory-block {
  background: var(--paper-warm);
  border: 1px solid var(--rule);
  border-top: 3px solid var(--accent2);
  padding: 24px 28px;
  margin: 32px 0;
  max-width: 820px;
}
.theory-label {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent2);
  margin-bottom: 8px;
}
.theory-name {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 10px;
}
.theory-block p { font-size: 15px; color: var(--ink-muted); margin-bottom: 8px; }
.theory-block p:last-child { margin-bottom: 0; }

/* ----------------------------------------------------------------------------
   Tables — shared base for every paper table variant
---------------------------------------------------------------------------- */
.data-table,
.asset-table,
.compare-table,
.comparison {
  width: 100%;
  border-collapse: collapse;
  margin: 28px 0 32px;
  font-size: 14px;
}
.data-table th,
.asset-table th,
.compare-table th,
.comparison th {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-muted);
  border-bottom: 1px solid var(--rule);
  padding: 10px 14px;
  text-align: left;
  font-weight: 400;
}
.data-table td,
.asset-table td,
.compare-table td,
.comparison td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--rule-light);
  vertical-align: top;
  color: var(--ink-mid);
  line-height: 1.55;
}
.data-table tr:last-child td,
.asset-table tr:last-child td,
.compare-table tr:last-child td,
.comparison tr:last-child td { border-bottom: none; }

/* data-table specifics */
.data-table td strong { color: var(--ink); font-weight: 600; }
.data-table td small {
  display: block;
  font-size: 12px;
  color: var(--ink-faint);
  margin-top: 3px;
  font-style: italic;
}
.data-table .total-row td {
  border-top: 1px solid var(--rule);
  border-bottom: none;
  color: var(--ink);
  font-weight: 600;
}
.data-table .kyanos-row td { background: rgba(74,184,196,0.08); }

/* asset-table specifics */
.asset-table th:first-child { width: 22%; }
.asset-table td:first-child { font-weight: 600; color: var(--accent-dark); font-size: 13px; }

/* compare-table before/after columns */
.compare-table th:first-child { width: 22%; }
.compare-table td:first-child { font-weight: 600; color: var(--ink); }
.compare-table .before, .compare-table th.before { color: var(--ink-muted); }
.compare-table .after, .compare-table th.after { color: var(--accent-dark); }

/* comparison-table specifics (dark header row) */
.comparison th { background: var(--ink); color: #fff; }
.comparison tr:nth-child(even) td { background: var(--paper-warm); }
.comparison td:first-child {
  font-family: 'DM Mono', monospace;
  font-size: 12px;
  color: var(--accent-dark);
  white-space: nowrap;
}

.table-note {
  font-size: 12px;
  color: var(--ink-muted);
  font-style: italic;
  margin: -16px 0 32px;
  max-width: 70ch;
}

/* ----------------------------------------------------------------------------
   Numbered list (auto-numbered items with a heading + body)
---------------------------------------------------------------------------- */
.numbered-list { list-style: none; counter-reset: nlist; margin: 28px 0; padding: 0; }
.numbered-list > li {
  counter-increment: nlist;
  position: relative;
  padding: 0 0 22px 48px;
  margin: 0;
}
.numbered-list > li::before {
  content: counter(nlist, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 1px;
  font-family: 'DM Mono', monospace;
  font-size: 13px;
  color: var(--accent);
}
.numbered-list strong { display: block; color: var(--ink); font-weight: 600; margin-bottom: 4px; }
.numbered-list p { font-size: 16px; margin: 0; max-width: 70ch; }

/* ----------------------------------------------------------------------------
   Org cards (endorsement economy)
---------------------------------------------------------------------------- */
.org-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  margin: 40px 0;
}
.org-card {
  background: var(--paper-warm);
  border: 1px solid var(--rule);
  padding: 28px 32px;
  position: relative;
}
.org-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--accent2);
}
.org-name {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 6px;
}
.org-type {
  display: block;
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 14px;
}
.org-card p { font-size: 14px; color: var(--ink-muted); margin: 0; line-height: 1.65; max-width: 100%; }
.org-card strong { color: var(--ink-mid); }

/* ----------------------------------------------------------------------------
   Mono section sub-heads
---------------------------------------------------------------------------- */
.sub-h {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent-dark);
  margin: 48px 0 16px;
}

/* ----------------------------------------------------------------------------
   Scenario / break-even key-value panels
---------------------------------------------------------------------------- */
.scenario-block,
.breakeven {
  background: var(--paper-warm);
  border: 1px solid var(--rule);
  border-left: 3px solid var(--accent);
  padding: 24px 30px;
  margin: 28px 0;
  max-width: 820px;
}
.scenario-label,
.breakeven-label {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent-dark);
  margin-bottom: 14px;
}
.scenario-row,
.breakeven-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  padding: 10px 0;
  border-bottom: 1px solid var(--rule-light);
  font-size: 14px;
}
.scenario-row:last-child,
.breakeven-row:last-child { border-bottom: none; padding-bottom: 0; }
.scenario-item,
.breakeven-item { color: var(--ink-mid); }
.scenario-val,
.breakeven-val {
  font-family: 'DM Mono', monospace;
  font-size: 13px;
  color: var(--ink);
  white-space: nowrap;
}

/* ----------------------------------------------------------------------------
   Stat rows
---------------------------------------------------------------------------- */
.stat-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 28px;
  margin: 36px 0;
}
.stat-block { border-top: 2px solid var(--accent); padding-top: 16px; }
.stat-number,
.big-number {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(36px, 5vw, 48px);
  font-weight: 700;
  color: var(--accent-dark);
  line-height: 1;
  margin-bottom: 6px;
}
.stat-label,
.big-number-label {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-muted);
  line-height: 1.5;
}
.stat-source { font-size: 12px; color: var(--ink-faint); margin-top: 6px; font-style: italic; }

/* ----------------------------------------------------------------------------
   Findings — two forms:
   (a) a single highlighted box (`.finding` on its own), and
   (b) a numbered grid of items inside `.findings` (more specific, wins).
---------------------------------------------------------------------------- */
.finding {
  background: var(--paper-warm);
  border-left: 4px solid var(--accent);
  padding: 24px 28px;
  margin: 32px 0;
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink-mid);
  max-width: 820px;
}
.finding strong { color: var(--ink); font-weight: 600; }

.findings {
  background: var(--paper-accent);
  padding: 36px 40px;
  margin: 48px 0;
  border-top: 2px solid var(--ink);
  border-bottom: 2px solid var(--ink);
}
.findings-label {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent-dark);
  margin-bottom: 20px;
}
.findings .finding {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 16px;
  background: none;
  border: none;
  border-bottom: 1px solid var(--rule-light);
  padding: 14px 0;
  margin: 0;
  max-width: none;
  font-size: 15.5px;
}
.findings .finding:last-child { border-bottom: none; }
.finding-num {
  font-family: 'DM Mono', monospace;
  font-size: 12px;
  color: var(--accent);
  font-weight: 500;
  padding-top: 2px;
}
.finding-text strong { color: var(--ink); font-weight: 600; }

/* ----------------------------------------------------------------------------
   Pricing cards
---------------------------------------------------------------------------- */
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  margin: 32px 0;
}
.pricing-card { border: 1px solid var(--rule); padding: 28px; background: var(--paper-warm); }
.pricing-tier {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent-dark);
  margin-bottom: 8px;
}
.pricing-name {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 10px;
}
.pricing-desc { font-size: 13px; color: var(--ink-muted); line-height: 1.6; margin-bottom: 20px; }
.pricing-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 8px 0;
  border-bottom: 1px solid var(--rule-light);
  font-size: 13px;
}
.pricing-row:last-child { border-bottom: none; }
.pricing-label { color: var(--ink-muted); }
.pricing-price { color: var(--ink); font-family: 'DM Mono', monospace; font-size: 13px; }

/* ----------------------------------------------------------------------------
   Lever map (limits of remediation)
---------------------------------------------------------------------------- */
.lever-table {
  margin: 32px 0;
  border-top: 2px solid var(--ink);
  border-bottom: 2px solid var(--ink);
}
.lever-row {
  display: grid;
  grid-template-columns: 1fr 130px;
  gap: 24px;
  align-items: center;
  padding: 18px 0;
  border-bottom: 1px solid var(--rule-light);
}
.lever-row:last-child { border-bottom: none; }
.lever-name { font-size: 16px; font-weight: 600; color: var(--ink); }
.lever-name em {
  display: block;
  font-style: italic;
  font-weight: 400;
  color: var(--ink-muted);
  font-size: 14px;
  margin-top: 4px;
}
.lever-tractability {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: center;
  padding: 5px 10px;
  border-radius: 3px;
}
.tract-high { background: var(--teal-pale); color: var(--teal-dark); }
.tract-mid { background: var(--gold-pale); color: var(--gold); }
.tract-low { background: var(--red-pale); color: var(--red-dark); }

/* ----------------------------------------------------------------------------
   References list (auto-numbered, matches the styles.css footnotes register)
---------------------------------------------------------------------------- */
.references { margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--rule); max-width: 820px; }
.references-label {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 20px;
}
.references ol { list-style: none; counter-reset: refs; padding: 0; }
.references li {
  counter-increment: refs;
  position: relative;
  padding: 10px 0 10px 32px;
  border-bottom: 1px solid var(--rule-light);
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink-muted);
}
.references li:last-child { border-bottom: none; }
.references li::before {
  content: counter(refs);
  position: absolute;
  left: 0;
  top: 10px;
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  color: var(--accent);
}
.references em { color: var(--ink); font-style: italic; }

/* ----------------------------------------------------------------------------
   Source notes (mono register at the foot of a paper)
---------------------------------------------------------------------------- */
.source-note {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  line-height: 1.8;
  color: var(--ink-muted);
  border-top: 1px solid var(--rule);
  margin-top: 60px;
  padding-top: 28px;
  max-width: 820px;
}
.source-note p {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  color: var(--ink-muted);
  margin-bottom: 8px;
  max-width: none;
}
.source-note strong { color: var(--ink); }

/* ----------------------------------------------------------------------------
   Inline footnote references (distinct from the styles.css `.fn-ref` span used
   by Paper I): the superscript-link form used by several papers.
---------------------------------------------------------------------------- */
sup.fn, sup.fn-ref {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  line-height: 0;
  vertical-align: super;
  margin-left: 2px;
}
sup.fn a, sup.fn-ref a {
  color: var(--accent-dark);
  text-decoration: none;
  font-weight: 500;
}
sup.fn a:hover, sup.fn-ref a:hover { text-decoration: underline; }

/* ----------------------------------------------------------------------------
   Author-block variants preserved from individual papers
   (Paper I's `.author-bio` is owned by styles.css and used directly by papers
   VII/VIII; these cover the two papers that carry their own author markup.)
---------------------------------------------------------------------------- */
.author-block {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 32px;
  margin-top: 56px;
  padding: 32px 36px;
  background: var(--paper-warm);
  border: 1px solid var(--rule);
}
.author-label {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 12px;
}
.author-name {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 8px;
}
.author-title { font-size: 14px; color: var(--ink-muted); line-height: 1.7; }
.author-title a { color: var(--accent-dark); text-decoration: none; }
.author-about { font-size: 15px; color: var(--ink-muted); line-height: 1.6; max-width: 100%; }
.author-about strong { color: var(--ink); }

/* doc-footer / bio block (last-mile-roi-v2) */
.doc-footer { margin-top: 56px; }
.author-bio-section {
  padding: 32px 36px;
  background: var(--paper-warm);
  border: 1px solid var(--rule);
}
.bio-divider { height: 3px; width: 48px; background: var(--accent); margin-bottom: 20px; }
.bio-eyebrow {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 12px;
}
.bio-name {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 10px;
}
.bio-text { font-size: 15px; color: var(--ink-muted); line-height: 1.65; max-width: 100%; }
.bio-text strong { color: var(--ink); }
.bio-contact {
  font-family: 'DM Mono', monospace;
  font-size: 12px;
  color: var(--ink-muted);
  margin-top: 16px;
}

/* ----------------------------------------------------------------------------
   Responsive
---------------------------------------------------------------------------- */
@media (max-width: 640px) {
  .org-grid, .pricing-grid, .stat-row { grid-template-columns: 1fr; }
  .lever-row { grid-template-columns: 1fr; gap: 8px; }
  .lever-tractability { justify-self: start; text-align: left; }
  .scenario-row, .breakeven-row { flex-direction: column; gap: 4px; }
  .data-table, .asset-table, .compare-table, .comparison { font-size: 13px; }
  .data-table td, .data-table th,
  .asset-table td, .asset-table th { padding: 10px 8px; }
}

/* ── Visual hierarchy improvements (2026-06-17) ─────────────────────────── */

/* Table gridlines */
.data-table { border-collapse: collapse; width: 100%; }
.data-table th {
  background: var(--accent);
  color: #fff;
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 10px 14px;
  border: 1px solid var(--accent);
  text-align: left;
}
.data-table td {
  padding: 10px 14px;
  border: 1px solid var(--rule, #d0d0d0);
  font-size: 15px;
  vertical-align: top;
}
.data-table tbody tr:nth-child(even) td { background: var(--paper-accent, #f8f8f6); }
.data-table .total-row td {
  background: rgba(74,184,196,0.08);
  font-weight: 600;
  border-top: 2px solid var(--accent);
}

/* Section number — prominent accent label above heading */
.section-number {
  display: block;
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent, #4ab8c4);
  margin-bottom: 10px;
  margin-top: 48px;
}

/* Section title — bigger, darker, more weight */
.section-title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--ink, #1a1a1a);
  margin-bottom: 28px;
  margin-top: 0;
}
.section-title em { color: var(--accent, #4ab8c4); font-style: italic; }

/* Sub-heads — visible hierarchy below section title */
.sub-h {
  font-family: 'DM Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink, #1a1a1a);
  border-left: 3px solid var(--accent, #4ab8c4);
  padding-left: 10px;
  margin-top: 32px;
  margin-bottom: 14px;
}

/* Callout gold — more color */
.callout-gold {
  border-left: 4px solid #c8a84b;
  background: #fffbf0;
  padding: 18px 22px;
  margin: 28px 0;
}

/* Warning box — visible border */
.warning {
  border: 1px solid var(--rule, #d0d0d0);
  border-left: 4px solid var(--red, #c0392b);
  background: #fdf9f9;
  padding: 18px 22px;
  margin: 28px 0;
}
.warning-label {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--red, #c0392b);
  margin-bottom: 10px;
}

/* Finding block — accent background */
.finding {
  background: rgba(74,184,196,0.07);
  border-left: 4px solid var(--accent, #4ab8c4);
  padding: 20px 24px;
  font-size: 18px;
  line-height: 1.6;
  margin: 28px 0;
  color: var(--ink, #1a1a1a);
}

/* Breakeven panels */
.breakeven {
  border: 1px solid var(--rule, #d0d0d0);
  border-top: 3px solid var(--accent, #4ab8c4);
  padding: 18px 22px;
  margin: 20px 0;
}
.breakeven-label {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent, #4ab8c4);
  margin-bottom: 12px;
}
.breakeven-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 6px 0;
  border-bottom: 1px solid var(--rule-light, #ebebeb);
  font-size: 14px;
}
.breakeven-row:last-child { border-bottom: none; }
.breakeven-val { font-weight: 600; white-space: nowrap; color: var(--ink, #1a1a1a); }
