/* Money: Community Care reading, adopted 1 October 2026. Loaded after the
   shared chapter styles and before the final phone layer. */
/* -- the claim ledger: the thesis broken into its three claims --------------- */
.claim-ledger { display: grid; padding: 8px; border: 1px solid var(--r-line-soft); border-radius: var(--r-radius-panel); background: var(--r-wash); }
.claim-row { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; grid-template-rows: auto auto; gap: 10px 18px; align-items: start; padding: clamp(18px, 2.2vw, 28px) clamp(14px, 1.8vw, 24px); }
.claim-row + .claim-row::before { content: ''; position: absolute; left: 24px; right: 24px; top: 0; height: 1px; background: var(--r-line-soft); mask-image: linear-gradient(90deg, transparent, #000 12% 88%, transparent); }
.claim-n { grid-row: 1 / span 2; padding-top: 5px; color: var(--r-money-type); font-variant-numeric: tabular-nums; }
.claim-row .t-heading { max-width: 30ch; }
.claim-row .claim-figure { grid-column: 2; margin: 0; }
.claim-row .claim-figure b { color: var(--r-money-type); font-weight: 400; }
.claim-where { grid-column: 3; grid-row: 1 / span 2; display: grid; gap: 8px; justify-items: end; align-content: start; padding-top: 2px; }
.claim-where .t-label { text-align: right; }
.claim-where .mhc-link { width: auto; }
.claim-ledger-note { margin-top: 16px; }
@media (max-width: 760px) {
  .claim-row { grid-template-columns: 36px minmax(0, 1fr); }
  .claim-where { grid-column: 2; grid-row: 3; justify-items: start; padding-top: 4px; }
  .claim-where .t-label { text-align: left; }
}

/* A term of art wraps like the words around it. The chapter's gloss is a
   button, and a button is an inline block that breaks a line as one piece,
   which is how a colon came to open a line on its own. */
.gloss { display: inline; }
/* -- the handoff: the sentence that carries one section into the next ------ */
.handoff { position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 14px; max-width: var(--r-measure); margin-top: clamp(28px, 3vw, 44px); padding-top: 22px; border-top: 1px solid var(--r-line); color: var(--mhc-ink); }
.handoff svg { width: 18px; height: 18px; margin-top: .3em; fill: none; stroke: var(--r-money-ink); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.handoff b { font-weight: 400; color: var(--r-money-type); }

/* The mark, wherever the key writes one outside the chapter's own bars:
   the same five paints as .stages i, so a state looks the same everywhere. */
.sk-mark { display: inline-block; flex: none; width: 20px; height: 6px; border-radius: var(--r-radius-mark); background: color-mix(in srgb, var(--r-money) 22%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--r-money-ink) 20%, transparent); vertical-align: middle; }
.sk-mark[data-state='documented'] { background: var(--r-money-ink); box-shadow: none; }
.sk-mark[data-state='inferred'] { background: repeating-linear-gradient(45deg, var(--r-money-ink) 0 2px, transparent 2px 4px); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--r-money-ink) 34%, transparent); }
.sk-mark[data-state='proposed'] { background: none; box-shadow: inset 0 0 0 1px var(--r-money-ink); }
.sk-mark[data-state='blocked'], .sk-mark[data-state='withdrawn'] { background: linear-gradient(115deg, transparent calc(50% - 1px), var(--r-money-ink) calc(50% - 1px), var(--r-money-ink) calc(50% + 1px), transparent calc(50% + 1px)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--r-money-ink) 42%, transparent); }

.movement-main { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(44px, 5vw, 72px); min-width: 0; }
.movement-main > .mhc-section-head { grid-column: 1 / -1; margin: 0; }
.frame--sided > .frame-inner > .standing-key { position: sticky; top: var(--sk-top); align-self: start; }
.has-js {
  @media (prefers-reduced-motion: no-preference) {
    .movement-main > .mhc-section-head { opacity: 0; transform: translateX(-26px); transition: opacity .62s var(--r-ease-frame), transform .62s var(--r-ease-frame); }
    .frame.is-revealed .movement-main > .mhc-section-head { opacity: 1; transform: none; }
  }
}
@media (prefers-reduced-motion: reduce) { .movement-main > .mhc-section-head { opacity: 1; transform: none; transition: none; } }
/* The spending views keep their two heads under a section's own statement. */
.spending-view .view-heading em { font-style: normal; color: var(--r-money-type); }
.spending-view > .mhc-section-head { align-items: start; }
.spending-block { display: grid; gap: 24px; width: 100%; max-width: 1100px; }
.atlas--keyless { grid-template-rows: auto auto; grid-template-areas: 'series primer' 'register reading'; }
@media (max-width: 900px) { .atlas--keyless { grid-template-areas: 'series' 'primer' 'register' 'reading'; } }

/* -- a section's attached evidence, under a heading of its own --------------- */
.attachment { display: grid; gap: 14px; margin-top: clamp(28px, 3vw, 40px); padding-top: 24px; border-top: 1px solid var(--r-line); }
.attachment > .t-heading { max-width: 28ch; }
.attachment .finding { padding: 0; }
.attachment .frame-context { margin-top: 6px; }
/* A claim read inside a section lays its figure and claim beside its body,
   so the reading does not leave half the measure empty. */
.frame-aside .finding { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 10px clamp(28px, 4vw, 60px); align-items: start; }
.frame-aside .finding .finding-figure { grid-column: 1; }
.frame-aside .finding > .t-heading { grid-column: 1; max-width: 26ch; }
.frame-aside .finding > .t-body { grid-column: 2; grid-row: 1 / span 2; }
.frame-aside .finding > .limit { grid-column: 2; }
.frame-aside .finding > .gloss-note { grid-column: 2; }
@media (max-width: 900px) {
  .frame-aside .finding { grid-template-columns: minmax(0, 1fr); }
  .frame-aside .finding > :is(.t-body, .limit, .gloss-note) { grid-column: 1; grid-row: auto; }
}


/* C · Community Care. Main headings use the shared archive header without
   local type overrides. Event headings are one level below those sections. */
body[data-chapter='money'] {
  overflow-anchor: none;
  --case-top: calc(var(--archive-masthead-band, 68px) + env(safe-area-inset-top, 0px) + 12px);
  --case-section-size: clamp(34px, 5.4vw, 76px);
}
.frame .mhc-section-head { align-items: start; }
.frame .frame-aside { width: 100%; max-width: none; }
.movement-main { gap: clamp(32px, 4vw, 56px); }
.frame--overview .frame-aside > .spending-switch { margin: 0 0 28px; }
.spending-view > .mhc-section-head { margin-bottom: 32px; }
.spending-view .view-heading { font-size: var(--mhc-type-3xl); line-height: 1.2; letter-spacing: -.022em; max-width: 24ch; }
.spending-view .frame-copy > .money-detail-toggle { margin-top: 16px; }
.frame--coda .frame-aside > .organisation-reading { margin-top: 36px; }
.frame--case-head { padding-bottom: clamp(32px, 4vw, 56px); }
.frame--case-head .frame-aside:empty { display: none; }
.community-care-section { scroll-margin-top: 32px; }
.case-series { padding: 0 var(--r-gutter); --case-index-offset: 0px; }
body.mhc-archive-enabled .case-series { padding-left: calc(var(--elastic-content-left) + var(--r-gutter)); }
.case-series-inner { display: grid; grid-template-columns: 224px minmax(0, 1fr); gap: 0 clamp(32px, 4.4vw, 64px); max-width: 1360px; margin: 0 auto; align-items: start; }
.series-main { min-width: 0; }
.series-main > .frame { padding: 0 0 32px; min-height: 0; scroll-margin-top: calc(var(--case-top) + var(--case-index-offset)); }
body.mhc-archive-enabled .series-main > .frame { padding-left: 0; }
.frame--step[hidden], .step-panel[hidden], .step-tabs[hidden] { display: none !important; }
.frame--step .movement-main { gap: 24px; }
.case-event-head { display: grid; gap: 12px; }
.case-event-head > .t-label { color: var(--r-money-type); }
.case-event-head h3 { margin: 0; font-size: var(--mhc-type-4xl); font-weight: 400; line-height: 1.1; letter-spacing: -.026em; text-wrap: balance; }
.has-stages .case-event-head h3 { min-height: 2.2em; }
/* The staged entry stands alone, so its hand-off keeps the distance every other section's does. */
.has-stages .series-main > .frame { padding-bottom: 0; }
.series-foot { padding: 0 0 clamp(44px, 5vw, 80px); }
.series-companion { position: sticky; top: var(--case-top); align-self: start; display: grid; gap: 16px; }
.series-companion-title { color: var(--r-money-type); }
.series-index-wrap { position: relative; min-width: 0; }
.series-index { display: grid; gap: 4px; --view-ink: var(--mhc-ink); }
.series-index :is(a, button) { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 10px; align-items: baseline; padding: 10px 8px; min-height: 44px; width: 100%; border: 0; border-radius: var(--r-radius-card); background: transparent; color: var(--r-ink-soft); text-align: left; text-decoration: none; cursor: pointer; transition: background .2s var(--r-ease), color .2s var(--r-ease); }
.series-index time { font: inherit; font-size: var(--r-label); font-family: var(--r-mono); font-variant-numeric: tabular-nums; }
.series-index span { flex: 1; font-size: var(--r-note); line-height: 1.4; text-align: left; }
.series-index time { min-width: 52px; }

.series-index-where { display: none; }

/* This is part of the entry's flow. It never floats above its reading. */
.step-process { display: grid; padding: 20px 0; border-block: 1px solid var(--r-line-soft); }
.step-stages { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.step-stages li { display: grid; grid-template-rows: auto 6px 36px auto; gap: 8px; align-content: start; }
.step-stage { color: var(--r-money-type); }
.step-stages .sk-mark { width: 100%; height: 6px; }
.step-state { font-size: var(--r-note); line-height: 1.35; color: var(--r-ink-soft); }
.step-answer { min-height: 5.6em; font-size: var(--r-note); line-height: 1.4; }
.has-stages .step-process > .step-stages:not([data-active-answers]) { display: none; }
/* The two readings are a view switcher, and `.mhc-view-switcher` gives them the vessel. */
.step-tabs { display: flex; width: max-content; max-width: 100%; --view-ink: var(--mhc-ink); }
.step-tabs button { height: 40px; min-height: 40px; padding: 0 18px; border: 0; background: transparent; color: var(--r-ink-soft); font: 500 var(--r-note)/1.4 var(--r-sans); letter-spacing: .01em; cursor: pointer; }
.step-panels { display: grid; gap: 32px; }
.step-panel { max-width: none; }
.step-reading { display: grid; gap: 18px; max-width: 64ch; }
.step-reading > p { margin: 0; }
.step-reading .process-bridge { color: var(--r-ink-soft); }
.step-evidence { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 8px; }
.step-evidence .mhc-link { width: auto; }
.frame--step .attachment { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 0; padding: 0; border: 0; }
.attachment > .t-body { max-width: 64ch; }
.case-connection-list, .case-reference-list { display: grid; list-style: none; margin: 0; padding: 0; }
.case-connection-list > li + li, .case-reference-list > li + li { border-top: 1px solid var(--r-line-soft); }
.case-connection-list .mhc-link-row, .case-context > summary { display: grid; grid-template-columns: 4.8em minmax(0, 1fr); align-items: baseline; gap: 12px; min-height: 48px; padding: 14px 28px 14px 0; border: 0; border-radius: 0; color: var(--r-ink-soft); font-size: var(--mhc-type-lg); line-height: 1.45; text-decoration: none; cursor: pointer; }
.case-connection-list :is(time, .mhc-link-row > span:first-child:not(:last-child)) { color: var(--r-money-type); font: 400 var(--r-label)/1.5 var(--r-mono); font-variant-numeric: tabular-nums; }
.case-connection-list .mhc-link-row:is(:hover, :focus-visible), .case-context > summary:is(:hover, :focus-visible) { color: var(--mhc-ink); background: var(--r-wash-soft); }
.case-context > summary { position: relative; list-style: none; }
.case-context > summary::-webkit-details-marker { display: none; }
.case-context > summary::after { content: '+'; position: absolute; right: 0; top: 14px; }
.case-context[open] > summary::after { content: '−'; }
.case-context-copy { display: grid; gap: 16px; padding: 4px 0 24px calc(4.8em + 12px); font-size: var(--mhc-type-lg); }
.case-context-copy .t-body { max-width: 60ch; }
.case-reference-list .mhc-link-row { font-size: var(--r-note); }
:is(.series-index button, .step-tabs button, .case-connection-list .mhc-link-row, .case-context > summary):focus-visible { outline: 2px solid var(--r-money-ink); outline-offset: 3px; }
/* Shared arrivals must not animate the retained row or hide a switched panel. */
.has-stages .frame--step :is(.step-process, .step-panels, .case-event-head) { opacity: 1; transform: none; }
/* -- the conclusion: the thesis as the archive's epilogue, then the three claims -- */
/* Every chapter closes on the archive's epilogue (DESIGN.md, "Every chapter
   closes the same way"): one centred statement at display scale in the light
   weight, held in a landing moment, with its takeaway at the 56ch reading
   measure 28px below it. Money's conclusion keeps the order the 1 October
   reader chose, so the three claims still follow the statement as the
   evidence it rests on, and only the head takes the epilogue's form. */
#money-conclusion.frame--conclusion .mhc-section-head { grid-template-columns: minmax(0, 1fr); justify-items: center; align-content: center; gap: 0; min-height: 72vh; max-width: 900px; margin: 0 auto; text-align: center; }
#money-conclusion.frame--conclusion .mhc-section-statement { max-width: none; font: 300 var(--r-close)/.88 var(--sans, Helvetica, "Helvetica Neue", Arial, sans-serif); letter-spacing: -.04em; }
#money-conclusion.frame--conclusion .mhc-section-support { max-width: 56ch; margin: 28px auto 0; color: var(--mhc-ink); }
#money-conclusion.frame--conclusion .mhc-section-support .t-body { max-width: none; margin: 0; line-height: 1.55; }
#money-conclusion.frame--conclusion .frame-copy > :not(.gloss-note) { margin-top: 22px; }
#money-conclusion.frame--conclusion .frame-copy > :first-child { margin-top: 0; }
#money-conclusion.frame--conclusion .claim-row > .t-body { margin: 0; font-size: var(--mhc-type-lg); line-height: 1.55; }
.claim-ledger-title { margin-bottom: 16px; }
.claim-ledger--conclusion .claim-row { grid-template-columns: 44px minmax(0, 1fr) minmax(0, 1.15fr); grid-template-rows: auto auto auto; gap: 12px clamp(24px, 4vw, 56px); padding: clamp(22px, 2.6vw, 34px) clamp(14px, 1.8vw, 24px); }
.claim-ledger--conclusion .claim-n { grid-row: 1 / span 3; }
.claim-ledger--conclusion .claim-row > .t-heading { grid-column: 2; grid-row: 1; max-width: 24ch; }
.claim-ledger--conclusion .claim-figure { grid-column: 2; grid-row: 2; }
.claim-ledger--conclusion .claim-row > .t-body { grid-column: 3; grid-row: 1 / span 2; font-size: var(--mhc-type-lg); line-height: 1.55; }
.claim-ledger--conclusion .claim-row > .limit { grid-column: 3; grid-row: 3; }
.claim-ledger--conclusion .claim-where { grid-column: 2; grid-row: 3; justify-items: start; align-self: end; padding-top: 0; }
.claim-ledger--conclusion .claim-where .t-label { text-align: left; }
.frame--conclusion { padding-bottom: clamp(40px, 5vw, 72px); }


@media (max-width: 1100px) {
  .case-series-inner { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .series-companion { z-index: 2; gap: 0; }
  .series-companion-title { display: none; }
  .series-index-wrap { padding: 0; }
  .series-index { display: flex; overflow-x: auto; }
  .series-index > :is(a, button) { flex: 1 0 44px; min-width: 0; }
  .series-index :is(a, button) { display: flex; justify-content: center; padding: 12px 0; }
  .series-index :is(a, button) span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .series-index time { white-space: nowrap; min-width: 0; }
  .claim-ledger--conclusion .claim-row { grid-template-columns: 36px minmax(0, 1fr); grid-template-rows: auto; }
  .claim-ledger--conclusion .claim-n { grid-row: 1 / span 5; }
  .claim-ledger--conclusion .claim-row > :is(.t-heading, .claim-figure, .t-body, .limit, .claim-where) { grid-column: 2; grid-row: auto; }
}
@media (max-width: 760px) {
  body[data-chapter='money'] { --case-top: calc(80px + env(safe-area-inset-top, 0px)); }
  body[data-chapter='money']:has(> .mhc-xref-cluster) { --case-top: calc(136px + env(safe-area-inset-top, 0px)); }
  .case-event-head h3 { font-size: var(--mhc-type-3xl); }
  .has-stages .case-event-head h3 { min-height: 3.3em; }
  .step-stages { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .step-stages li { grid-template-columns: 96px minmax(0, 1fr); grid-template-rows: auto auto; gap: 6px 16px; }
  .step-stages .sk-mark { grid-column: 1; grid-row: 2; }
  .step-state { grid-column: 2; grid-row: 1; }
  .step-answer { grid-column: 2; grid-row: 2; min-height: 0; }
  .series-index time { font-size: var(--mhc-type-2xs); }
  .case-context-copy { padding-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .series-index :is(a, button) { transition: none; } }
@media print {
  .series-companion, .step-tabs, [data-active-answers] { display: none !important; }
  .case-series-inner { display: block; }
  .frame--step[hidden], .step-panel[hidden] { display: block !important; }
  .has-stages .step-process > .step-stages:not([data-active-answers]) { display: grid; }
  .frame--step { break-before: page; }
  .case-context > .case-context-copy { display: block; }
}


/* == Side heads · adopted 3 October 2026 =====================================
   Chosen from previews/money-hierarchy/, which compared three layouts of the
   chapter's prose over one shared set of tiers. Two parts follow: the tiers,
   which put every heading, paragraph, note and label on the hierarchy the
   other rooms already use, and the layout, which holds the section header's
   two axes all the way down the page. The section headers themselves are left
   as chapter-section-header.css draws them. These rules come last in the
   sheet so that they meet the cascade they were verified against.

     reading     a titled block under a statement, which is     clamp(27, 2.7vw, 34)
                 the hold title of Claims-makers and Frames
     figure      an instrument, an entry or a finding           21  (2xl)
     body        running prose, in full ink                     17  (xl)
     compact     lists, ledgers and the findings' readings      15  (lg)
     note        captions, sources, consequences and limits     13  (md)
     label       mono notation and reference rows               11  (xs) 500 .1em */

body[data-chapter='money'] {
  --r-reading: clamp(27px, 2.7vw, 34px);
  --r-block: clamp(48px, 5vw, 72px);              /* one titled block to the next */
  --r-head-gap: clamp(32px, 6vw, 90px);           /* the section header's column gap */
  --r-head-grid: minmax(0, 1.1fr) minmax(0, 1fr); /* the section header's two axes */
  --r-prose: 32rem;                               /* the support column's prose measure */
  /* The support axis as an inset of a box as wide as the header. */
  --r-a2: calc((100% - var(--r-head-gap)) * .5238095 + var(--r-head-gap));
}

/* -- reading: one step under the statement ---------------------------------
   The same rank had been drawn at 34, 27 and 21px, which set the findings in
   the size of a chart title. */
body[data-chapter='money'] :is(.spending-view .view-heading, #fr-growth, .case-event-head h3, .organisation-reading > h3, #inquiry-title, #fr-finding) {
  max-width: 22ch;
  margin: 0;
  color: var(--mhc-ink);
  font: 400 var(--r-reading)/1.1 var(--r-sans);
  letter-spacing: -.03em;
  text-wrap: balance;
}
body[data-chapter='money'] .case-event-head h3 { max-width: 26ch; }
body[data-chapter='money'] :is(.revenue-title, #country-chart-title, .attachment > .t-heading, .claim-row > .t-heading, .atlas-reading > .t-heading) {
  font-size: var(--mhc-type-2xl);
  font-weight: 400;
  line-height: 1.24;
  letter-spacing: -.018em;
}

/* -- body: the two spending views borrow the header's component, which set
   their paragraphs in the support's third ink; under a reading title they are
   the reading itself, so they take the body's full ink. */
body[data-chapter='money'] .spending-view .mhc-section-support { color: var(--mhc-ink); }
body[data-chapter='money'] .spending-view .mhc-section-support > .t-note { color: var(--r-ink-soft); }

/* -- note and limit: one measure for every qualification, and one mark for
   everything the evidence cannot settle, including the two limits that were
   plain notes, one of them 124px inside the atlas header's support. */
body[data-chapter='money'] :is(.frame-fig figcaption, .spending-policy, .sales-source, .inquiry-heading .t-note, .inquiry-limit, .process-limit, .beat-changed) {
  max-width: 62ch;
  font-size: var(--r-note);
  line-height: 1.52;
  color: var(--r-ink-soft);
}
body[data-chapter='money'] :is(.inquiry-limit, .process-limit) { position: relative; margin-left: 0; padding: 0 0 0 20px; border: 0; }
body[data-chapter='money'] :is(.inquiry-limit, .process-limit)::before { content: ''; position: absolute; left: 0; top: .18em; bottom: .12em; border-left: 1px dashed var(--r-money-ink); opacity: .7; }
body[data-chapter='money'] .process-limit { margin-top: 22px; }

/* A note that ends in references sets them on a line of their own, and a
   reference pill keeps its label whole. */
body[data-chapter='money'] :is(.spending-policy, .sales-source) { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 8px; }
body[data-chapter='money'] :is(.spending-policy, .sales-source) > .mhc-link { margin: 0; }
body[data-chapter='money'] :is(.spending-policy, .sales-source, .spending-related, .step-evidence) > .mhc-link { white-space: nowrap; }
body[data-chapter='money'] .claim-ledger--conclusion .claim-row > .t-heading { max-width: 30ch; }

/* -- label: reference rows say what they hold in one notation --------------- */
body[data-chapter='money'] :is(.organisation-related > .t-note, .step-evidence > .t-label) {
  font: 500 var(--r-label)/1.3 var(--r-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--r-ink-soft);
}
html.has-js body[data-chapter='money'] .money-detail-toggle { font-weight: 500; letter-spacing: .1em; }

/* -- rhythm: one distance between titled blocks ----------------------------- */
body[data-chapter='money'] :is(.account-growth, .organisation-reading, .organisation-inquiry) { margin-top: var(--r-block); padding-top: 32px; border-top: 1px solid var(--r-line); }
body[data-chapter='money'] .spending-view > .mhc-section-head { margin-bottom: 40px; }
body[data-chapter='money'] .revenue-title { margin-bottom: 20px; }
body[data-chapter='money'] .handoff { margin-top: var(--r-block); }

/* -- the closing section: the findings, then the epilogue ------------------- */
body[data-chapter='money'] #money-conclusion .money-findings { display: grid; gap: 24px; }
body[data-chapter='money'] #money-conclusion .claim-ledger-title { margin: 0; }
body[data-chapter='money'] #money-conclusion .money-findings + .mhc-section-head { margin-top: var(--r-block); }

/* -- the layout: side heads ---------------------------------------------------
   Every titled block below a section header is laid on the header's own grid,
   so that its title, its figure and its navigation stand on the statement's
   edge while every paragraph, note and link starts on the support's edge.
   Instruments span both columns, and their captions return to the prose edge
   beneath them. Below 901px the chapter keeps its single column, and below
   1101px the case reader keeps its year strip. */
@media (min-width: 901px) {
  body.chapter-reading[data-chapter='money'] :is(.spending-view > .mhc-section-head, .organisation-reading, .inquiry-heading) {
    grid-template-columns: var(--r-head-grid);
    gap: 18px var(--r-head-gap);
    align-items: baseline;
  }
  body.chapter-reading[data-chapter='money'] .spending-view .mhc-section-support { max-width: var(--r-prose); }

  /* The share chart spans; its caption and the coverage note take the prose edge. */
  body.chapter-reading[data-chapter='money'] #scope-us .frame-fig { grid-template-columns: var(--r-head-grid); column-gap: var(--r-head-gap); }
  body.chapter-reading[data-chapter='money'] #scope-us .frame-fig > :not(figcaption) { grid-column: 1 / -1; }
  body.chapter-reading[data-chapter='money'] #scope-us .frame-fig > figcaption { grid-column: 2; }
  body.chapter-reading[data-chapter='money'] :is(.spending-policy, .share-bridge, .inquiry-limit) { margin-left: var(--r-a2); max-width: var(--r-prose); }

  /* Growth: the head on the left, its reading and limit on the right, then
     the bars across both columns. */
  body.chapter-reading[data-chapter='money'] .account-growth { grid-template-columns: var(--r-head-grid); column-gap: var(--r-head-gap); row-gap: 0; align-items: baseline; }
  body.chapter-reading[data-chapter='money'] .account-growth-copy { display: contents; }
  body.chapter-reading[data-chapter='money'] .account-growth-copy > #fr-growth { grid-column: 1; grid-row: 1; }
  body.chapter-reading[data-chapter='money'] .account-growth-copy > :not(#fr-growth) { grid-column: 2; max-width: var(--r-prose); }
  body.chapter-reading[data-chapter='money'] .account-growth-copy > .t-body { grid-row: 1; margin-top: 0; }
  body.chapter-reading[data-chapter='money'] .account-growth-chart { grid-column: 1 / -1; margin-top: 40px; }

  /* Publishing: the figure's title on the left, the bars across, then the
     selected year as a figure on the left beside its source on the right. */
  body.chapter-reading[data-chapter='money'] #sales-title { grid-template-columns: var(--r-head-grid); column-gap: var(--r-head-gap); align-items: baseline; }
  body.chapter-reading[data-chapter='money'] #sales-title > .revenue-title { grid-column: 1; }
  body.chapter-reading[data-chapter='money'] #sales-title > .revenue { grid-column: 1 / -1; }
  body.chapter-reading[data-chapter='money'] #sales-title > .readout { grid-column: 1; align-self: start; }
  body.chapter-reading[data-chapter='money'] #sales-title > .sales-source { grid-column: 2; margin-top: 0; }
  body.chapter-reading[data-chapter='money'] .organisation-reading > div { max-width: var(--r-prose); }
  body.chapter-reading[data-chapter='money'] .inquiry-heading .t-note { padding-top: 0; }

  /* Hand-offs begin where the prose begins. */
  body.chapter-reading[data-chapter='money'] .frame-aside > .handoff { margin-left: var(--r-a2); max-width: var(--r-prose); }

  /* The findings take the same two columns: number, title, figure and the way
     back on the left; the reading and its limit on the right. The surface
     bleeds past the text so the text keeps the page's axes exactly. */
  body.chapter-reading[data-chapter='money'] .claim-ledger--conclusion { margin-inline: calc(-1 * clamp(22px, 2.6vw, 32px)); padding-inline: 0; }
  body.chapter-reading[data-chapter='money'] .claim-ledger--conclusion .claim-row {
    grid-template-columns: var(--r-head-grid);
    grid-template-rows: auto auto auto 1fr;
    gap: 10px var(--r-head-gap);
    padding-inline: clamp(22px, 2.6vw, 32px);
  }
  body.chapter-reading[data-chapter='money'] .claim-ledger--conclusion .claim-n { grid-column: 1; grid-row: 1; padding-top: 0; }
  body.chapter-reading[data-chapter='money'] .claim-ledger--conclusion .claim-row > .t-heading { grid-column: 1; grid-row: 2; }
  body.chapter-reading[data-chapter='money'] .claim-ledger--conclusion .claim-figure { grid-column: 1; grid-row: 3; }
  body.chapter-reading[data-chapter='money'] .claim-ledger--conclusion .claim-where { grid-column: 1; grid-row: 4; justify-items: start; align-self: end; padding-top: 14px; }
  body.chapter-reading[data-chapter='money'] .claim-ledger--conclusion .claim-row > .t-body { grid-column: 2; grid-row: 2 / span 2; max-width: var(--r-prose); }
  body.chapter-reading[data-chapter='money'] .claim-ledger--conclusion .claim-row > .limit { grid-column: 2; grid-row: 4; padding-top: 6px; }
}

/* The case reader: the seven years are the side heads of the story, so the
   index takes the statement's column, and the entry reads on the prose edge
   with its five answers set as a short ledger rather than five narrow
   columns. */
@media (min-width: 1101px) {
  body.chapter-reading[data-chapter='money'] .case-series-inner { grid-template-columns: var(--r-head-grid); column-gap: var(--r-head-gap); }
  body.chapter-reading[data-chapter='money'] .series-companion { max-width: 24rem; gap: 20px; }
  body.chapter-reading[data-chapter='money'] .series-index :is(a, button) { grid-template-columns: 64px minmax(0, 1fr); padding: 12px 12px; }
  body.chapter-reading[data-chapter='money'] .series-index span { font-size: var(--mhc-type-lg); line-height: 1.35; }
  body.chapter-reading[data-chapter='money'] .series-main { max-width: var(--r-prose); }
  body.chapter-reading[data-chapter='money'] .step-stages { grid-template-columns: minmax(0, 1fr); gap: 0; }
  body.chapter-reading[data-chapter='money'] .step-stages li { grid-template-columns: 116px minmax(0, 1fr); grid-template-rows: auto auto; gap: 4px 20px; padding: 14px 0; }
  body.chapter-reading[data-chapter='money'] .step-stages li + li { border-top: 1px solid var(--r-line-soft); }
  body.chapter-reading[data-chapter='money'] .step-stages .step-stage { grid-column: 1; grid-row: 1; }
  body.chapter-reading[data-chapter='money'] .step-stages .sk-mark { grid-column: 1; grid-row: 2; align-self: center; width: 100%; }
  body.chapter-reading[data-chapter='money'] .step-state { grid-column: 2; grid-row: 1; }
  body.chapter-reading[data-chapter='money'] .step-answer { grid-column: 2; grid-row: 2; min-height: 0; }
  body.chapter-reading[data-chapter='money'] .step-process { padding: 4px 0; }
}
