
/* ── layout ── */
.page-wrap { max-width:var(--container); margin:0 auto; padding:calc(var(--header-h) + 2.6rem) var(--pad-x) 5rem; }

/* ── breadcrumb ── */
.page-wrap .breadcrumb { font-family:var(--font-mono); font-size:var(--fs-xs); letter-spacing:.04em; text-transform:uppercase; color:var(--text-soft); margin-bottom:1.8rem; }
.page-wrap .breadcrumb a { color:var(--text-muted); text-decoration:none; }
.page-wrap .breadcrumb a:hover { color:var(--lime-deep); }
.page-wrap .breadcrumb .sep { margin:0 .5rem; color:var(--line-2); }

/* ── badges ── */
.page-wrap .badge { display:inline-block; font-family:var(--font-mono); font-size:.68rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase; border:1.5px solid var(--ink); border-radius:0; padding:.24em .6em; margin-right:.45rem; background:var(--paper); color:var(--ink); }
.page-wrap .badge-format { background:var(--ink); color:var(--bone); }
.page-wrap .badge-foundation { background:transparent; color:var(--lime-deep); border-color:var(--lime); }
.page-wrap .badge-intermediate { background:transparent; color:var(--orange-deep); border-color:var(--orange); }
.page-wrap .badge-advanced { background:transparent; color:var(--neg); border-color:var(--neg); }
.page-wrap .badge-time { background:transparent; color:var(--text-soft); border-color:var(--line-2); }

/* ── article ── */
.page-wrap .article { max-width:46rem; margin:0 auto; }
.page-wrap .article-header { margin:.4rem 0 2rem; }
.page-wrap .article-header > div:first-child { margin-bottom:.9rem; }
.page-wrap .article-header h1 { font-family:var(--font-display); font-weight:600; font-size:clamp(2rem,4.2vw,3.1rem); line-height:1.04; letter-spacing:-.02em; margin:.5rem 0 .6rem; }
.page-wrap .article-byline { font-family:var(--font-sans); font-size:.95rem; color:var(--text-muted); margin:.1rem 0 .35rem; }
.page-wrap .article-byline strong { font-weight:600; color:var(--text); }
.page-wrap .article-meta { font-family:var(--font-mono); font-size:var(--fs-xs); text-transform:uppercase; letter-spacing:.06em; color:var(--text-soft); }
.page-wrap .article-body { font-family:var(--font-sans); font-size:1.075rem; line-height:1.72; color:var(--text); }
.page-wrap .article-body p { margin:1.1rem 0; text-align:justify; text-justify:inter-word; hyphens:auto; -webkit-hyphens:auto; text-wrap:pretty; }
/* opening standfirst — larger and left-ragged so the article reads as an editorial lead-in */
.page-wrap .article-body > p:first-of-type { font-size:1.2rem; line-height:1.6; text-align:left; hyphens:manual; color:var(--text); }
.page-wrap .article-body h2 { font-family:var(--font-display); font-weight:600; font-size:1.85rem; line-height:1.1; letter-spacing:-.015em; margin:2.6rem 0 .6rem; }
.page-wrap .article-body h3 { font-family:var(--font-display); font-weight:500; font-size:1.32rem; margin:2rem 0 .4rem; }
/* the shared reset (styles.css) strips ul markers (list-style:none) and zeroes
   padding — restore real markers + indent for article prose (indent via padding,
   not margin, so the discs sit inside the text column, never clipped at the edge) */
.page-wrap .article-body ul, .page-wrap .article-body ol { margin:1.1rem 0; padding-left:1.5rem; }
.page-wrap .article-body ul { list-style:disc; }
.page-wrap .article-body ol { list-style:decimal; }
.page-wrap .article-body ul ul { list-style:circle; margin:.3rem 0; }
.page-wrap .article-body li { margin:.4rem 0; padding-left:.25rem; }
.page-wrap .article-body li::marker { color:var(--lime-deep); font-weight:700; }

/* ── term/definition list: bold term on its own line, muted definition beneath ── */
.page-wrap .article-body .def-list li { margin:.6rem 0; color:var(--text-muted); }
.page-wrap .article-body .def-list li strong { display:block; color:var(--text); font-weight:700; margin-bottom:.05rem; }

/* ── expandable prose (<details>): first line always shown, rest behind "read more" ── */
.page-wrap .article-body .readmore { margin:1.2rem 0; }
.page-wrap .article-body .readmore > summary { display:block; cursor:pointer; list-style:none; text-align:justify; hyphens:auto; -webkit-hyphens:auto; }
.page-wrap .article-body .readmore > summary::-webkit-details-marker { display:none; }
.page-wrap .article-body .readmore > summary::marker { content:""; }
.page-wrap .article-body .readmore > summary:focus-visible { outline:2px solid var(--lime-deep); outline-offset:3px; }
.page-wrap .article-body .rm-cue { font-family:var(--font-mono); font-size:.8em; letter-spacing:.02em; color:var(--lime-deep); white-space:nowrap; }
.page-wrap .article-body .readmore > summary:hover .rm-cue { text-decoration:underline; }
.page-wrap .article-body .rm-cue--less { display:none; }
.page-wrap .article-body .readmore[open] > summary .rm-cue--more { display:none; }
.page-wrap .article-body .readmore[open] > summary .rm-cue--less { display:inline; }
.page-wrap .article-body .readmore > p { margin:.9rem 0 0; }
.page-wrap .article-body .readmore > ul, .page-wrap .article-body .readmore > ol { margin:.9rem 0 0; }

/* ── the nine funding uses: an icon-led list where every item opens in place.
   The icon carries the category colour through the --use-accent custom property,
   which is set per
   category below and inverted for the dark toggle, so the SVGs never hard-code
   a hex. Hidden content indents to the summary's text column. ── */
.page-wrap .article-body .readmore--use { --use-accent:var(--lime-deep); margin:0; padding:1.15rem 0; border-top:1px solid var(--line); }
.page-wrap .article-body .readmore--use + h2 { margin-top:2.6rem; }
.page-wrap .article-body .readmore--use:not(:has(+ .readmore--use)) { border-bottom:1px solid var(--line); }
.page-wrap .article-body .readmore--use > summary { display:grid; grid-template-columns:56px 1fr; gap:1.1rem; align-items:start; text-align:left; hyphens:none; -webkit-hyphens:none; }
.page-wrap .article-body .use-ic { width:56px; height:56px; display:block; margin-top:-.2rem; }
.page-wrap .article-body .readmore--use > *:not(summary) { margin-left:calc(56px + 1.1rem); }
.page-wrap .article-body .use-recurring { --use-accent:var(--lime-deep); }
.page-wrap .article-body .use-growth { --use-accent:#D2761F; }
.page-wrap .article-body .use-balance { --use-accent:#4A7391; }
[data-theme="dark"] .page-wrap .article-body .use-recurring { --use-accent:#30B078; }
[data-theme="dark"] .page-wrap .article-body .use-growth { --use-accent:#E8973F; }
[data-theme="dark"] .page-wrap .article-body .use-balance { --use-accent:#7FA6C2; }
/* the four families of capital in 3.1.2: equity, debt, hybrid, public money.
   Equity and debt reuse the recurring/balance tones so the two funding
   articles read as one set; the public programmes take a gold of their own. */
.page-wrap .article-body .use-equity { --use-accent:var(--lime-deep); }
.page-wrap .article-body .use-debt { --use-accent:#4A7391; }
.page-wrap .article-body .use-hybrid { --use-accent:#D2761F; }
.page-wrap .article-body .use-public { --use-accent:#97711A; }
[data-theme="dark"] .page-wrap .article-body .use-equity { --use-accent:#30B078; }
[data-theme="dark"] .page-wrap .article-body .use-debt { --use-accent:#7FA6C2; }
[data-theme="dark"] .page-wrap .article-body .use-hybrid { --use-accent:#E8973F; }
[data-theme="dark"] .page-wrap .article-body .use-public { --use-accent:#DDB43C; }
@media (max-width:560px) {
  .page-wrap .article-body .readmore--use > summary { grid-template-columns:40px 1fr; gap:.85rem; }
  .page-wrap .article-body .use-ic { width:40px; height:40px; }
  .page-wrap .article-body .readmore--use > *:not(summary) { margin-left:0; }
}

/* ── pull-quote highlight: a bold display statement, distinct from the italic
   blockquote — thick ink rules top and bottom, lime accent bar at the left ── */
.page-wrap .article-body .pullquote { font-family:var(--font-display); font-weight:600; font-size:clamp(1.4rem,2.6vw,1.9rem); line-height:1.22; letter-spacing:-.015em; color:var(--ink); border-top:2px solid var(--ink); border-bottom:2px solid var(--ink); border-left:6px solid var(--lime); padding:1.3rem 0 1.3rem 1.3rem; margin:2.4rem 0; text-align:left; text-wrap:balance; }

/* ── case study panel: a worked example set apart from the prose. Quieter than
   the ink "Where Hedj fits" callout further down, so the two don't compete ── */
.page-wrap .article-body .casestudy { --case-accent:var(--lime); --case-accent-deep:var(--lime-deep); background:var(--bone-2); border:2px solid var(--ink); border-left:7px solid var(--case-accent); padding:1.7rem 1.9rem; margin:2.6rem 0; }
/* run-on case studies take the next logo accent so the reader can see which
   box they are still inside; a lone case study stays green */
.page-wrap .article-body .casestudy.cs-orange { --case-accent:var(--orange); --case-accent-deep:var(--orange-deep); }
.page-wrap .article-body .casestudy.cs-blue { --case-accent:var(--blue); --case-accent-deep:#456C89; }
.page-wrap .article-body .casestudy-label { display:inline-block; font-family:var(--font-mono); font-size:.72rem; font-weight:500; text-transform:uppercase; letter-spacing:.12em; color:var(--case-accent-deep); border-bottom:2px solid var(--case-accent); padding-bottom:.4rem; margin-bottom:.85rem; }
.page-wrap .article-body .casestudy-title { font-family:var(--font-display); font-weight:600; font-size:1.45rem; line-height:1.12; letter-spacing:-.015em; color:var(--ink); margin:0; }
.page-wrap .article-body .casestudy > p:first-of-type { margin-top:.7rem; }
.page-wrap .article-body .casestudy > *:last-child { margin-bottom:0; }
.page-wrap .article-body .casestudy img { margin:1.4rem 0 .3rem; }
/* a call-out nested inside a read-more block sits tighter than a free-standing
   one: the reader has already clicked into this point, so the panel is part of
   the answer rather than an interruption in the flow */
.page-wrap .article-body .readmore .casestudy { margin:1.3rem 0 .2rem; }
/* figure caption: the author's own line under a chart, set small and quiet */
.page-wrap .article-body p.figcap { font-size:.88rem; line-height:1.5; color:var(--text-muted); text-align:left; hyphens:manual; margin:.55rem 0 1.9rem; }

.page-wrap .article-body strong { font-weight:700; }

/* Debt-descriptor colour coding. One colour per pair, carried over from the
   author's own colouring in the Word draft, so the same term is the same
   colour in the seven-pairs list and in the worked sentences that follow. */
.page-wrap .article-body strong.dt-security  { color:#943634; }
.page-wrap .article-body strong.dt-seniority { color:#17365D; }
.page-wrap .article-body strong.dt-recourse  { color:#5F497A; }
.page-wrap .article-body strong.dt-tenor     { color:#4F6228; }
.page-wrap .article-body strong.dt-rate      { color:#4A442A; }
.page-wrap .article-body strong.dt-repay     { color:#E36C0A; }
.page-wrap .article-body strong.dt-level     { color:#4F81BD; }
.page-wrap .article-body a { color:var(--lime-deep); text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px; }
.page-wrap .article-body a:hover { color:var(--ink); background:var(--lime); }
.page-wrap .article-body img { max-width:100%; border:2px solid var(--ink); border-radius:0; }

/* Figures ship in two versions. The site's dark theme is a [data-theme] toggle,
   not a prefers-color-scheme media query, so this cannot be a <picture media>
   swap - it has to be CSS on the same attribute the toggle sets. */
.page-wrap .article-body img.fig-light,
.page-wrap .article-body img.fig-dark { display:block; }
.page-wrap .article-body img.fig-dark { display:none; }
[data-theme="dark"] .page-wrap .article-body img.fig-light { display:none; }
[data-theme="dark"] .page-wrap .article-body img.fig-dark { display:block; }
.page-wrap .article-body blockquote { border-left:3px solid var(--lime); margin:1.4rem 0; padding:.2rem 0 .2rem 1.2rem; color:var(--text-muted); font-style:italic; }
.page-wrap .article-body code { font-family:var(--font-mono); font-size:.9em; background:var(--bone-2); padding:.08em .35em; border:1px solid var(--line); }

/* ── tables ── */
.page-wrap .table-wrap { overflow-x:auto; margin:1.6rem 0; border:2px solid var(--ink); }
.page-wrap .article-body table { border-collapse:collapse; width:100%; font-size:.94rem; }
.page-wrap .article-body th, .page-wrap .article-body td { border:1px solid var(--line-2); padding:.6rem .8rem; text-align:left; vertical-align:top; }
.page-wrap .article-body th { background:var(--ink); color:var(--bone); font-family:var(--font-mono); font-weight:500; text-transform:uppercase; letter-spacing:.04em; font-size:.76rem; }
.page-wrap .article-body tbody tr:nth-child(even) { background:var(--bone-2); }

/* ── ratings scale table (<table class="ratings">) ─────────────────────────
   A rating scale is a ladder, not a list of equal rows: the grades run from
   safest at the top to default at the bottom, and the single boundary that
   decides most treasury policies sits in the middle of it. So the zebra
   striping comes off (it fights the band grouping), each band group takes a
   tone rail on its left edge, the grade cells are set in mono so the three
   agencies' alphabets line up column to column, and the investment-grade
   cliff is an ink bar straight across the table. Tones are the same three the
   social cards use, drawn from tokens so the figure follows the theme. ── */
.page-wrap .article-body table.ratings tbody tr:nth-child(even) { background:none; }
.page-wrap .article-body table.ratings td { border-left:none; border-right:none; }
.page-wrap .article-body table.ratings td.g { font-family:var(--font-mono); font-weight:500; font-size:.86rem; letter-spacing:.02em; white-space:nowrap; color:var(--ink); }
.page-wrap .article-body table.ratings td.q { font-weight:700; color:var(--ink); border-left:5px solid var(--line-2); }
.page-wrap .article-body table.ratings tr.ig td.q { border-left-color:var(--lime); }
.page-wrap .article-body table.ratings tr.spec td.q { border-left-color:var(--orange); }
.page-wrap .article-body table.ratings tr.dist td.q { border-left-color:var(--neg); }
.page-wrap .article-body table.ratings tr.band > td { border-top:2px solid var(--line-2); }
.page-wrap .article-body table.ratings tr.sub td { background:var(--bone-2); font-family:var(--font-mono); font-size:.72rem; font-weight:500; text-transform:uppercase; letter-spacing:.12em; color:var(--text-soft); border-left:5px solid var(--line-2); }
.page-wrap .article-body table.ratings td.cliff { background:var(--ink); color:var(--bone); font-family:var(--font-mono); font-size:.7rem; font-weight:500; text-transform:uppercase; letter-spacing:.11em; text-align:center; padding:.55rem .8rem; border:none; }

/* ── ranked-hierarchy figure (<figure class="waterfall">) ──────────────────
   For content where the ORDER is the point: a creditor waterfall, a priority
   of claims, a loss-absorption sequence. Safest band at the top, first to
   absorb losses at the bottom. Deliberately not a table: a table implies rows
   of equal standing, and the whole message here is that standing differs.
   The risk ramp is confined to the thin left rail; the single band the reader
   actually occupies is the only element pulled forward (ink border + hard lime
   shadow, the same idiom as the "Where Hedj fits" panel). Colours come from
   tokens only, so the figure follows the light/dark theme. ── */
.page-wrap .article-body .waterfall { margin:2.6rem 0; }
.page-wrap .article-body .wf-eyebrow { font-family:var(--font-mono); font-size:.72rem; font-weight:500; text-transform:uppercase; letter-spacing:.12em; color:var(--lime-deep); border-bottom:2px solid var(--lime); padding-bottom:.4rem; margin-bottom:1.1rem; display:inline-block; }
.page-wrap .article-body .wf-grid { display:grid; grid-template-columns:auto minmax(0,1fr); gap:0 1.1rem; }
/* left rail: the risk axis, captioned at both ends */
.page-wrap .article-body .wf-rail { display:flex; flex-direction:column; align-items:center; gap:.55rem; }
.page-wrap .article-body .wf-rail-cap { font-family:var(--font-mono); font-size:.62rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--text-soft); writing-mode:vertical-rl; white-space:nowrap; }
.page-wrap .article-body .wf-rail-line { flex:1; width:3px; min-height:2rem; background:linear-gradient(to bottom, var(--lime) 0%, var(--line-2) 20%, var(--orange) 62%, var(--neg) 100%); }
/* tiers */
.page-wrap .article-body .wf-tiers { display:flex; flex-direction:column; gap:.8rem; }
.page-wrap .article-body .wf-tier { border:1px solid var(--line-2); background:var(--bone-2); padding:.85rem 1rem; }
.page-wrap .article-body .wf-tier--exit { background:transparent; border:1px dashed var(--lime-deep); }
.page-wrap .article-body .wf-tier--you { background:var(--paper); border:2px solid var(--ink); box-shadow:6px 6px 0 var(--lime); padding:1.15rem 1.2rem; margin:.3rem 0 .55rem; }
.page-wrap .article-body .wf-tier--equity { border-color:var(--neg); }
.page-wrap .article-body .wf-level { font-family:var(--font-mono); font-size:.66rem; font-weight:500; text-transform:uppercase; letter-spacing:.12em; color:var(--text-soft); }
.page-wrap .article-body .wf-tier--exit .wf-level, .page-wrap .article-body .wf-tier--you .wf-level { color:var(--lime-deep); }
.page-wrap .article-body .wf-tier--equity .wf-level { color:var(--neg); }
.page-wrap .article-body .wf-name { font-family:var(--font-display); font-weight:600; font-size:1.05rem; line-height:1.22; letter-spacing:-.01em; color:var(--ink); margin:.18rem 0 0; }
.page-wrap .article-body .wf-tier-note { font-size:.86rem; line-height:1.5; color:var(--text-muted); margin:.3rem 0 0; }
.page-wrap .article-body .wf-rows { margin-top:.8rem; border-top:1px solid var(--line); }
.page-wrap .article-body .wf-rows--plain .wf-row { grid-template-columns:minmax(0,1fr); }
.page-wrap .article-body .wf-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:.15rem 1rem; padding:.44rem 0; border-bottom:1px solid var(--line); font-size:.9rem; line-height:1.45; }
.page-wrap .article-body .wf-row:last-child { border-bottom:0; }
.page-wrap .article-body .wf-row > span:first-child { color:var(--text); }
.page-wrap .article-body .wf-row > span + span { color:var(--text-soft); }
.page-wrap .article-body .wf-row--mark > span:first-child { font-weight:700; }
.page-wrap .article-body .wf-chips { display:flex; flex-wrap:wrap; gap:.4rem; margin:.8rem 0 0; }
.page-wrap .article-body .wf-chip { font-family:var(--font-mono); font-size:.72rem; letter-spacing:.02em; border:1px solid var(--line-2); padding:.26em .55em; color:var(--text-muted); }
.page-wrap .article-body .wf-flag { display:inline-block; font-family:var(--font-mono); font-size:.66rem; font-weight:500; text-transform:uppercase; letter-spacing:.1em; background:var(--lime); color:var(--lime-ink); padding:.28em .6em; margin-top:.75rem; }
.page-wrap .article-body .waterfall figcaption { font-family:var(--font-sans); font-size:.82rem; line-height:1.55; color:var(--text-soft); margin-top:1.1rem; padding-top:.7rem; border-top:1px solid var(--line); }
@media (max-width:560px) {
  .page-wrap .article-body .wf-grid { grid-template-columns:minmax(0,1fr); }
  .page-wrap .article-body .wf-rail { flex-direction:row; margin-bottom:.85rem; }
  .page-wrap .article-body .wf-rail-cap { writing-mode:horizontal-tb; }
  .page-wrap .article-body .wf-rail-line { width:auto; height:3px; min-height:0; align-self:center; background:linear-gradient(to right, var(--lime) 0%, var(--line-2) 20%, var(--orange) 62%, var(--neg) 100%); }
  .page-wrap .article-body .wf-row { grid-template-columns:minmax(0,1fr); }
  .page-wrap .article-body .wf-tier--you { box-shadow:4px 4px 0 var(--lime); }
}

/* ── table of contents ── */
.page-wrap .toc { border:2px solid var(--ink); background:var(--paper); padding:1.1rem 1.4rem; margin:1.8rem 0; }
.page-wrap .toc-title { font-family:var(--font-mono); font-weight:500; font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--text-soft); margin-bottom:.5rem; }
.page-wrap .toc a { display:block; color:var(--text-muted); text-decoration:none; padding:.2rem 0; font-size:.95rem; }
.page-wrap .toc a:hover { color:var(--lime-deep); }

/* ── "Where Hedj fits" callout — the one bold panel ── */
.page-wrap .hedj-fits { background:var(--ink); color:var(--on-ink); border:2px solid var(--ink); box-shadow:6px 6px 0 var(--lime); padding:1.7rem 1.9rem; margin:2.6rem 0; }
.page-wrap .hedj-fits-label { font-family:var(--font-mono); font-size:.72rem; font-weight:500; text-transform:uppercase; letter-spacing:.12em; color:var(--lime); margin-bottom:.6rem; }
.page-wrap .hedj-fits p { margin:.6rem 0 1.1rem; color:var(--on-ink-muted); }
.page-wrap .hedj-fits a:not(.btn) { color:var(--on-ink); text-decoration-color:var(--lime); }
.page-wrap .hedj-fits a:not(.btn):hover { background:var(--lime); color:var(--lime-ink); }

/* ── subscribe CTA (shown only once a Substack URL is set) ── */
.page-wrap .subscribe-cta { border:2px solid var(--ink); background:var(--paper); padding:1.3rem 1.6rem; margin:2rem 0; display:flex; justify-content:space-between; align-items:center; gap:1.2rem; flex-wrap:wrap; }
.page-wrap .subscribe-cta p { margin:0; font-size:.95rem; color:var(--text-muted); }

/* ── related / card grid ── */
.page-wrap .related { margin-top:3rem; border-top:2px solid var(--ink); padding-top:1.7rem; }
.page-wrap .related h2 { font-family:var(--font-display); font-weight:600; font-size:1.3rem; margin-bottom:1rem; }
.page-wrap .card-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1rem; }
.page-wrap .card { display:block; background:var(--paper); border:2px solid var(--ink); border-radius:0; padding:1.1rem 1.2rem; text-decoration:none; color:var(--text); transition:transform .18s var(--ease), box-shadow .18s var(--ease); }
.page-wrap a.card:hover { transform:translate(-3px,-3px); box-shadow:var(--sh-card); }
.page-wrap .card > div:first-child { margin-bottom:.35rem; }
.page-wrap .card .badge { font-size:.6rem; margin-bottom:.25rem; }
.page-wrap .card-title { font-family:var(--font-display); font-weight:600; font-size:1.05rem; line-height:1.2; margin:.5rem 0 .3rem; }
.page-wrap .card-desc { font-size:.9rem; color:var(--text-muted); line-height:1.5; }
.page-wrap .card.coming-soon { opacity:.5; pointer-events:none; border-style:dashed; }
.page-wrap .coming-tag { font-family:var(--font-mono); font-size:.64rem; text-transform:uppercase; letter-spacing:.08em; color:var(--text-soft); }

/* ── prev / next ── */
.page-wrap .prevnext { display:flex; justify-content:space-between; gap:1rem; margin-top:2rem; }
.page-wrap .prevnext .card { flex:1; }
.page-wrap .prevnext .dir { font-family:var(--font-mono); font-size:.66rem; font-weight:500; text-transform:uppercase; letter-spacing:.08em; color:var(--lime-deep); margin-bottom:.3rem; }

/* ── library / theme hero (restrained editorial) ── */
.page-wrap .lib-hero { padding:.5rem 0 2rem; border-bottom:2px solid var(--ink); margin-bottom:2.6rem; }
.page-wrap .lib-hero .eyebrow { display:inline-flex; align-items:center; gap:.5rem; font-family:var(--font-mono); font-size:.72rem; font-weight:500; text-transform:uppercase; letter-spacing:.14em; color:var(--lime-deep); margin-bottom:1rem; }
.page-wrap .lib-hero h1 { font-family:var(--font-display); font-weight:600; font-size:clamp(2.4rem,5.5vw,4.4rem); line-height:1.0; letter-spacing:-.025em; margin-bottom:1rem; max-width:18ch; }
.page-wrap .lib-hero p { font-size:var(--fs-lead); color:var(--text-muted); max-width:60ch; line-height:1.5; }

/* ── theme cards (index) ── */
.page-wrap .theme-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin:2.4rem 0; }
.page-wrap .theme-card { background:var(--paper); border:2px solid var(--ink); padding:1.4rem; text-decoration:none; color:var(--text); display:flex; flex-direction:column; transition:transform .18s var(--ease), box-shadow .18s var(--ease); }
.page-wrap .theme-card:hover { transform:translate(-3px,-3px); box-shadow:var(--sh-card); }
.page-wrap .theme-card h3 { font-family:var(--font-display); font-weight:600; font-size:1.15rem; line-height:1.1; margin-bottom:.5rem; }
.page-wrap .theme-card p { font-size:.87rem; color:var(--text-muted); line-height:1.5; margin-bottom:1rem; flex:1; }
.page-wrap .theme-count { font-family:var(--font-mono); font-size:.72rem; font-weight:500; text-transform:uppercase; letter-spacing:.06em; color:var(--lime-deep); }
.page-wrap .theme-card.coming-soon { opacity:.5; pointer-events:none; border-style:dashed; }

/* ── "start here" CTA (index) ── */
.page-wrap .start-here { background:var(--lime); color:var(--lime-ink); border:2px solid var(--ink); box-shadow:var(--sh-card); padding:1.7rem 1.9rem; margin:2rem 0; display:flex; justify-content:space-between; align-items:center; gap:1.4rem; flex-wrap:wrap; }
.page-wrap .start-here h2 { font-family:var(--font-display); font-weight:600; font-size:1.35rem; margin-bottom:.25rem; }
.page-wrap .start-here p { font-size:.95rem; margin:0; color:var(--lime-ink); opacity:.85; }
.page-wrap .start-here .btn { background:var(--ink); color:var(--bone); border-color:var(--ink); }
.page-wrap .start-here .btn:hover { background:transparent; color:var(--lime-ink); }

/* ── filters ── */
.page-wrap .filters { display:flex; gap:.6rem; flex-wrap:wrap; align-items:center; margin:2rem 0 1.2rem; }
.page-wrap .filter-chip { font-family:var(--font-mono); font-size:.76rem; text-transform:uppercase; letter-spacing:.04em; border:1.5px solid var(--ink); background:var(--paper); color:var(--text-muted); border-radius:0; padding:.4rem .9rem; cursor:pointer; transition:background .15s, color .15s; }
.page-wrap .filter-chip:hover { color:var(--ink); }
.page-wrap .filter-chip.on { background:var(--ink); color:var(--bone); }
.page-wrap .search-input { flex:1; min-width:220px; font-family:var(--font-sans); border:2px solid var(--ink); background:var(--paper); color:var(--text); border-radius:0; padding:.55rem .85rem; font-size:.95rem; }
.page-wrap .search-input:focus { outline:none; box-shadow:var(--sh-card); }
.page-wrap .search-input::placeholder { color:var(--text-soft); }

/* ── index theme sections + hub groups ── */
.page-wrap .theme-section { margin:2.8rem 0; }
.page-wrap .theme-section > h2 { font-family:var(--font-display); font-weight:600; font-size:1.6rem; letter-spacing:-.01em; margin-bottom:.3rem; }
.page-wrap .theme-section > .sub { font-size:.95rem; color:var(--text-muted); margin-bottom:1.1rem; }
.page-wrap .theme-section > .sub a { color:var(--lime-deep); text-decoration:none; font-weight:500; }
.page-wrap .hub-group { margin:1.9rem 0; }
.page-wrap .hub-group > h3 { font-family:var(--font-mono); font-weight:500; font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; color:var(--text-soft); margin-bottom:.8rem; }
.page-wrap .no-results { display:none; color:var(--text-muted); font-size:.95rem; padding:1.2rem 0; }

/* ── responsive ── */
@media (max-width:1000px){ .page-wrap .theme-cards { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){
  .page-wrap .theme-cards { grid-template-columns:1fr; }
  .page-wrap .prevnext { flex-direction:column; }
  .page-wrap .article-body { font-size:1rem; }
  .page-wrap .start-here, .page-wrap .hedj-fits, .page-wrap .subscribe-cta, .page-wrap .article-body .casestudy { padding:1.3rem 1.4rem; }
}

/* ── linked curve chart (<div class="curves" data-curves>) ─────────────────
   One chart with a <details> dropdown per curve beneath it. Opening a curve's
   dropdown draws that line in its colour and fades the other three to thin grey.
   The highlight is pure CSS (:has), so it works with no script at all; the
   script buildArticle injects adds one-open-at-a-time for browsers without
   <details name>, the clickable key, and the hover and keyboard readout.
   The plot is a stretched SVG (preserveAspectRatio none, non-scaling strokes)
   with every label in HTML, so the type stays at reading size at any width.
   Colours: the house green/blue/orange trio, validated all-pairs in both themes
   with the dataviz validator. The fourth curve takes ink, a neutral, because no
   fourth hue separates from all three under colour-vision deficiency. ── */
.page-wrap .article-body .curves { --cc-fwd:#23925F; --cc-swap:#3A6FA8; --cc-sov:var(--ink); --cc-corp:#D2761F; --cc-mute:#CBC4B6; margin:2rem 0 2.6rem; }
[data-theme="dark"] .page-wrap .article-body .curves { --cc-fwd:#2FA774; --cc-swap:#5E90DC; --cc-corp:#D6792F; --cc-mute:#2F3E3A; }
.page-wrap .article-body .curves [data-series="fwd"] { --c:var(--cc-fwd); }
.page-wrap .article-body .curves [data-series="swap"] { --c:var(--cc-swap); }
.page-wrap .article-body .curves [data-series="sov"] { --c:var(--cc-sov); }
.page-wrap .article-body .curves [data-series="corp"] { --c:var(--cc-corp); }
.page-wrap .article-body .cc { position:relative; background:var(--paper); border:2px solid var(--ink); padding:1.3rem 1.4rem .95rem; margin:0 0 1.1rem; }
.page-wrap .article-body .cc-title { font-family:var(--font-display); font-weight:600; font-size:1.2rem; line-height:1.15; letter-spacing:-.01em; color:var(--ink); }
.page-wrap .article-body .cc-sub { font-family:var(--font-mono); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--text-soft); margin-top:.35rem; }
.page-wrap .article-body .cc-legend { display:flex; flex-wrap:wrap; gap:.25rem 1.2rem; margin:.9rem 0 1.1rem; }
.page-wrap .article-body .cc-key { display:inline-flex; align-items:center; gap:.5rem; background:none; border:0; border-radius:0; padding:.2rem 0; margin:0; font-family:var(--font-sans); font-size:.88rem; line-height:1.3; color:var(--text); cursor:pointer; text-align:left; transition:opacity .25s var(--ease); }
.page-wrap .article-body .cc-key::before { content:""; flex:none; width:18px; height:3px; border-radius:2px; background:var(--c); }
.page-wrap .article-body .cc-key span { font-family:var(--font-mono); font-size:.68rem; letter-spacing:.04em; color:var(--text-soft); }
.page-wrap .article-body .cc-key:hover { text-decoration:underline; text-decoration-color:var(--c); text-decoration-thickness:2px; text-underline-offset:5px; }
.page-wrap .article-body .cc-key:focus-visible { outline:2px solid var(--lime-deep); outline-offset:3px; }
.page-wrap .article-body .cc-body { display:grid; grid-template-columns:2.8rem minmax(0,1fr) 7.4rem; }
.page-wrap .article-body .cc-y { position:relative; }
.page-wrap .article-body .cc-y span { position:absolute; right:.6rem; top:calc(var(--p) * 1%); transform:translateY(-50%); font-family:var(--font-mono); font-size:.68rem; line-height:1; color:var(--text-soft); font-variant-numeric:tabular-nums; white-space:nowrap; }
.page-wrap .article-body .cc-plot { position:relative; height:clamp(220px, 32vw, 290px); touch-action:pan-y; cursor:crosshair; }
.page-wrap .article-body .cc-plot:focus-visible { outline:2px solid var(--lime-deep); outline-offset:6px; }
.page-wrap .article-body .cc-plot svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; display:block; }
.page-wrap .article-body .cc-grid { stroke:var(--line); stroke-width:1; vector-effect:non-scaling-stroke; }
.page-wrap .article-body .cc-grid.cc-base { stroke:var(--line-2); }
.page-wrap .article-body .cc-line { fill:none; stroke:var(--c); stroke-width:2.25; vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-linejoin:round; transition:stroke .25s var(--ease), stroke-width .25s var(--ease); }
.page-wrap .article-body .cc-ends { position:absolute; top:0; bottom:0; left:100%; width:7.4rem; pointer-events:none; }
.page-wrap .article-body .cc-end { position:absolute; left:.7rem; top:calc(var(--p) * 1%); transform:translateY(-50%); display:flex; align-items:center; gap:.4rem; white-space:nowrap; font-size:.76rem; line-height:1; color:var(--text-muted); transition:opacity .25s var(--ease); }
.page-wrap .article-body .cc-end::before { content:""; flex:none; width:9px; height:3px; border-radius:2px; background:var(--c); }
.page-wrap .article-body .cc-end b { font-family:var(--font-mono); font-weight:500; font-size:.72rem; color:var(--text); }
.page-wrap .article-body .cc-x { grid-column:2; position:relative; height:1.75rem; }
.page-wrap .article-body .cc-x span { position:absolute; top:.6rem; left:calc(var(--p) * 1%); transform:translateX(-50%); font-family:var(--font-mono); font-size:.68rem; line-height:1; color:var(--text-soft); }
.page-wrap .article-body .cc-hint { font-family:var(--font-mono); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; color:var(--text-soft); margin:.5rem 0 0; padding-top:.65rem; border-top:1px solid var(--line); }
.page-wrap .article-body .cc-hover { position:absolute; inset:0; pointer-events:none; z-index:2; }
.page-wrap .article-body .cc-cross { position:absolute; top:-.35rem; bottom:0; left:calc(var(--p) * 1%); border-left:1px solid var(--text-soft); }
.page-wrap .article-body .cc-dot { position:absolute; left:calc(var(--x) * 1%); top:calc(var(--y) * 1%); width:9px; height:9px; border-radius:50%; background:var(--c); box-shadow:0 0 0 2px var(--paper); transform:translate(-50%,-50%); }
.page-wrap .article-body .cc-tip { position:absolute; top:0; min-width:9.4rem; background:var(--paper); border:1.5px solid var(--ink); box-shadow:3px 3px 0 var(--ink); padding:.45rem .65rem .5rem; }
.page-wrap .article-body .cc-tip-t { font-family:var(--font-mono); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; color:var(--text-soft); margin-bottom:.2rem; }
.page-wrap .article-body .cc-tip-r { display:grid; grid-template-columns:12px auto minmax(0,1fr); align-items:center; gap:.5rem; font-size:.78rem; line-height:1.6; white-space:nowrap; }
.page-wrap .article-body .cc-tip-r::before { content:""; height:3px; border-radius:2px; background:var(--c); }
.page-wrap .article-body .cc-tip-r b { font-family:var(--font-mono); font-weight:500; color:var(--ink); }
.page-wrap .article-body .cc-tip-r span { color:var(--text-muted); }
.page-wrap .article-body .cc-tip-r.on span { color:var(--ink); font-weight:700; }
.page-wrap .article-body .cc-data { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
/* a curve is open: its line comes forward, the other three go thin and grey */
.page-wrap .article-body .curves:has(.curve[open]) .cc-line { stroke:var(--cc-mute); stroke-width:1.25; }
.page-wrap .article-body .curves:has(.curve[open]) .cc-end,
.page-wrap .article-body .curves:has(.curve[open]) .cc-key { opacity:.45; }
.page-wrap .article-body .curves:has(.curve[open]) .cc-dot { background:var(--cc-mute); }
.page-wrap .article-body .curves:has(.curve[data-series="fwd"][open]) .cc-line[data-series="fwd"],
.page-wrap .article-body .curves:has(.curve[data-series="swap"][open]) .cc-line[data-series="swap"],
.page-wrap .article-body .curves:has(.curve[data-series="sov"][open]) .cc-line[data-series="sov"],
.page-wrap .article-body .curves:has(.curve[data-series="corp"][open]) .cc-line[data-series="corp"] { stroke:var(--c); stroke-width:3.5; }
.page-wrap .article-body .curves:has(.curve[data-series="fwd"][open]) :is(.cc-end, .cc-key)[data-series="fwd"],
.page-wrap .article-body .curves:has(.curve[data-series="swap"][open]) :is(.cc-end, .cc-key)[data-series="swap"],
.page-wrap .article-body .curves:has(.curve[data-series="sov"][open]) :is(.cc-end, .cc-key)[data-series="sov"],
.page-wrap .article-body .curves:has(.curve[data-series="corp"][open]) :is(.cc-end, .cc-key)[data-series="corp"] { opacity:1; font-weight:700; color:var(--ink); }
.page-wrap .article-body .curves:has(.curve[data-series="fwd"][open]) .cc-dot[data-series="fwd"],
.page-wrap .article-body .curves:has(.curve[data-series="swap"][open]) .cc-dot[data-series="swap"],
.page-wrap .article-body .curves:has(.curve[data-series="sov"][open]) .cc-dot[data-series="sov"],
.page-wrap .article-body .curves:has(.curve[data-series="corp"][open]) .cc-dot[data-series="corp"] { background:var(--c); }
/* the dropdowns */
.page-wrap .article-body .curve { border-top:1px solid var(--line); }
.page-wrap .article-body .curve:last-child { border-bottom:1px solid var(--line); }
.page-wrap .article-body .curve > summary { display:grid; grid-template-columns:22px auto minmax(0,1fr) 22px; align-items:center; gap:.3rem .85rem; padding:.8rem .1rem; cursor:pointer; list-style:none; }
.page-wrap .article-body .curve > summary::-webkit-details-marker { display:none; }
.page-wrap .article-body .curve > summary::marker { content:""; }
.page-wrap .article-body .curve > summary:focus-visible { outline:2px solid var(--lime-deep); outline-offset:2px; }
.page-wrap .article-body .curve-key { height:3px; border-radius:2px; background:var(--c); transition:height .2s var(--ease); }
.page-wrap .article-body .curve[open] .curve-key { height:6px; }
.page-wrap .article-body .curve > summary strong { font-family:var(--font-display); font-weight:600; font-size:1.12rem; line-height:1.2; letter-spacing:-.01em; color:var(--ink); }
.page-wrap .article-body .curve > summary:hover strong { text-decoration:underline; text-decoration-color:var(--c); text-decoration-thickness:2px; text-underline-offset:5px; }
.page-wrap .article-body .curve-src { font-family:var(--font-mono); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:var(--text-soft); }
.page-wrap .article-body .curve-cue { position:relative; width:22px; height:22px; border:1.5px solid var(--ink); transition:background .2s var(--ease); }
.page-wrap .article-body .curve-cue::before, .page-wrap .article-body .curve-cue::after { content:""; position:absolute; left:50%; top:50%; background:var(--ink); transform:translate(-50%,-50%); transition:transform .2s var(--ease); }
.page-wrap .article-body .curve-cue::before { width:10px; height:1.5px; }
.page-wrap .article-body .curve-cue::after { width:1.5px; height:10px; }
.page-wrap .article-body .curve[open] .curve-cue { background:var(--ink); }
.page-wrap .article-body .curve[open] .curve-cue::before { background:var(--paper); }
.page-wrap .article-body .curve[open] .curve-cue::after { transform:translate(-50%,-50%) scaleY(0); }
.page-wrap .article-body .curve > p { margin:.1rem 0 1.15rem; padding-left:calc(22px + .85rem); }
@media (max-width:560px) {
  .page-wrap .article-body .cc { padding:1rem 1rem .8rem; }
  .page-wrap .article-body .cc-body { grid-template-columns:2.5rem minmax(0,1fr) .6rem; }
  .page-wrap .article-body .cc-ends { display:none; }
  .page-wrap .article-body .cc-legend { gap:.1rem 1rem; }
  .page-wrap .article-body .curve > summary { grid-template-columns:18px minmax(0,1fr) 22px; row-gap:.1rem; }
  .page-wrap .article-body .curve-key { grid-column:1; grid-row:1; }
  .page-wrap .article-body .curve > summary strong { grid-column:2; grid-row:1; }
  .page-wrap .article-body .curve-src { grid-column:2; grid-row:2; }
  .page-wrap .article-body .curve-cue { grid-column:3; grid-row:1 / span 2; }
  .page-wrap .article-body .curve > p { padding-left:0; }
}

/* ── scenario build-up table (<table class="allin">) ───────────────────────
   Each scenario's all-in rate is drawn as a build-up bar (benchmark, margin,
   fee) on one shared 0-8% scale, so a rate shock reads as a longer green
   segment and a credit shock as a longer orange one. The dashed rule sits at
   the interest-cover covenant; a bar that crosses it is a breach, and says so
   in words. Numbers keep their own tabular columns, so nothing is colour-alone.
   Below 600px each row stacks: name, bar, then the three figures. ── */
.page-wrap .article-body .allin-wrap { --al-b:#23925F; --al-m:#D2761F; --al-f:var(--ink); margin:1.6rem 0 1.2rem; }
[data-theme="dark"] .page-wrap .article-body .allin-wrap { --al-b:#2FA774; --al-m:#D6792F; }
.page-wrap .article-body .allin-key { display:flex; flex-wrap:wrap; gap:.35rem 1.15rem; font-size:.8rem; line-height:1.3; color:var(--text-muted); margin:0 0 .85rem; }
.page-wrap .article-body .allin-k { display:inline-flex; align-items:center; gap:.45rem; }
.page-wrap .article-body .allin-k::before { content:""; flex:none; width:12px; height:12px; border-radius:2px; background:var(--k); }
.page-wrap .article-body .allin-k--b { --k:var(--al-b); }
.page-wrap .article-body .allin-k--m { --k:var(--al-m); }
.page-wrap .article-body .allin-k--f { --k:var(--al-f); }
.page-wrap .article-body .allin-k--cov::before { width:0; height:15px; border-radius:0; background:none; border-left:2px dashed var(--ink); }
.page-wrap .article-body table.allin { border-collapse:collapse; width:100%; font-size:.9rem; }
.page-wrap .article-body table.allin caption { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.page-wrap .article-body table.allin th, .page-wrap .article-body table.allin td { border:0; border-bottom:1px solid var(--line); background:none; padding:.62rem .5rem; vertical-align:middle; text-align:left; }
.page-wrap .article-body table.allin tbody tr:nth-child(even) { background:none; }
.page-wrap .article-body table.allin thead th { color:var(--text-soft); font-family:var(--font-mono); font-weight:500; font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; border-bottom:2px solid var(--ink); padding:.15rem .5rem .5rem; vertical-align:bottom; }
.page-wrap .article-body table.allin tr > :first-child { padding-left:0; }
.page-wrap .article-body table.allin tr > :last-child { padding-right:0; }
/* row headers are <th>, so undo the shared ink-header look (mono, uppercase) */
.page-wrap .article-body table.allin tbody th { font-family:var(--font-sans); font-weight:400; text-transform:none; letter-spacing:0; color:var(--text); width:31%; }
.page-wrap .article-body table.allin tbody th strong { display:block; font-weight:700; font-size:.92rem; line-height:1.25; color:var(--ink); }
.page-wrap .article-body table.allin tbody th span { display:block; font-family:var(--font-mono); font-size:.66rem; line-height:1.4; letter-spacing:.01em; color:var(--text-soft); margin-top:.2rem; }
.page-wrap .article-body table.allin .n { text-align:right; white-space:nowrap; font-family:var(--font-mono); font-size:.84rem; font-variant-numeric:tabular-nums; color:var(--text); }
.page-wrap .article-body table.allin thead .n { font-size:.62rem; }
.page-wrap .article-body table.allin .n small { display:block; font-size:.64rem; line-height:1.3; color:var(--text-soft); }
/* --pl/--pr carry the bar column's padding, so the covenant rule can find the
   track's 6.25% point (6.25 / 8 = .78125) from the cell edge and run the full
   height of every row as one continuous line */
.page-wrap .article-body table.allin .bar { --pl:.5rem; --pr:1.1rem; width:40%; padding-left:var(--pl); padding-right:var(--pr); }
.page-wrap .article-body table.allin tbody td.bar { position:relative; }
.page-wrap .article-body table.allin tbody td.bar::after { content:""; position:absolute; top:0; bottom:-1px; left:calc(var(--pl) + (100% - var(--pl) - var(--pr)) * .78125); border-left:2px dashed var(--ink); }
.page-wrap .article-body .allin-track { display:flex; height:14px; }
.page-wrap .article-body .allin-track i { display:block; height:100%; width:calc(var(--v) * 12.5% - 2px); margin-right:2px; background:var(--k); }
.page-wrap .article-body .allin-track i:last-child { width:calc(var(--v) * 12.5%); margin-right:0; border-radius:0 3px 3px 0; }
.page-wrap .article-body .allin-track i.b { --k:var(--al-b); }
.page-wrap .article-body .allin-track i.m { --k:var(--al-m); }
.page-wrap .article-body .allin-track i.f { --k:var(--al-f); }
.page-wrap .article-body .allin-flag { display:inline-block; font-family:var(--font-mono); font-style:normal; font-size:.58rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; line-height:1.4; color:#FEFCF8; background:var(--neg); padding:.1em .5em; margin-left:.4rem; vertical-align:.12em; }
.page-wrap .article-body table.allin tr.is-breach .n:last-child { color:var(--neg); font-weight:500; }
.page-wrap .article-body table.allin tfoot td { border-bottom:0; padding-top:.45rem; padding-bottom:0; }
.page-wrap .article-body .allin-axis { position:relative; display:block; height:1rem; }
.page-wrap .article-body .allin-axis span { position:absolute; top:0; left:calc(var(--v) * 12.5%); transform:translateX(-50%); font-family:var(--font-mono); font-size:.62rem; line-height:1; color:var(--text-soft); }
.page-wrap .article-body .allin-axis span:first-child { transform:none; }
.page-wrap .article-body .allin-axis span:last-child { transform:translateX(-100%); }
.page-wrap .article-body .allin-wrap p.allin-note { font-size:.84rem; line-height:1.5; color:var(--text-muted); text-align:left; hyphens:manual; margin:.75rem 0 0; }
@media (max-width:600px) {
  .page-wrap .article-body table.allin, .page-wrap .article-body table.allin tbody, .page-wrap .article-body table.allin tfoot { display:block; }
  .page-wrap .article-body table.allin thead { display:none; }
  .page-wrap .article-body table.allin tbody tr { display:grid; grid-template-columns:repeat(3, auto) minmax(0,1fr); column-gap:1.3rem; padding:.7rem 0 .75rem; border-bottom:1px solid var(--line); }
  .page-wrap .article-body table.allin tbody th, .page-wrap .article-body table.allin tbody td { border:0; padding:0; width:auto; }
  .page-wrap .article-body table.allin tbody th, .page-wrap .article-body table.allin tbody td.bar { grid-column:1 / -1; }
  .page-wrap .article-body table.allin tbody td.bar { --pl:0px; --pr:0px; width:auto; padding:.6rem 0 .55rem; }
  .page-wrap .article-body table.allin .n { text-align:left; }
  .page-wrap .article-body table.allin .n::before { content:attr(data-l); display:block; font-size:.56rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-soft); margin-bottom:.15rem; }
  .page-wrap .article-body table.allin tfoot tr { display:block; }
  .page-wrap .article-body table.allin tfoot td { display:none; }
  .page-wrap .article-body table.allin tfoot td.bar { --pl:0px; --pr:0px; width:auto; display:block; padding:.5rem 0 0; }
}
