/* ============================================================
   The Standard of Employee Benefits 2026–27 — Plum
   Web edition. Aesthetic from the print report:
   dark plum · cream paper · coral · damask ASCII patterns
   Type: New Spirit (serif) · New Spirit Condensed · Fragment Mono
   ============================================================ */

/* ---------- fonts ---------- */

/* ---------- tokens ---------- */
@font-face{font-family:"New Spirit Condensed";src:url("fonts/NewSpiritCondensed-Light.otf") format("opentype");
  font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Passenger Sans";src:url("fonts/PassengerSans-Light.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Passenger Sans";src:url("fonts/PassengerSans-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Passenger Sans";src:url("fonts/PassengerSans-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Passenger Sans";src:url("fonts/PassengerSans-Semibold.woff2") format("woff2");font-weight:600 900;font-style:normal;font-display:swap}
:root{
  /* the report's inks */
  --plum:#1D0716;          /* the dark ground */
  --plum-2:#2A0F22;        /* a lifted plum for cards on dark */
  --plum-3:#3A1830;        /* borders / rules on dark */
  --paper:#FFFAF2;         /* the cream paper */
  --paper-2:#F6EFE4;       /* a deeper cream wash */
  --coral:#FF4052;         /* the brand red */
  --coral-deep:#E93A4A;
  --magenta:#F340B7;       /* the highlight pink */
  --purple:#AB79F6;        /* kickers on dark */
  --purple-2:#9C7BFF;
  --lav:#C0ADDD;           /* lavender headings on dark */
  --lav-pale:#F2E8FF;      /* pale lavender sidebar ground */
  --lav-mid:#D9CBEE;
  --pink-card:#F2D7DD;     /* founder's-note pink card */
  --maroon:#802029;        /* chart ink on light */
  --maroon-deep:#55151B;   /* darkest maroon */
  --gold:#C2A83E;          /* starter-quadrant olive/gold */
  --grey:#939290;

  /* per-theme slots (light is the default reading surface) */
  --bg:var(--paper);
  --ink:#43141d;           /* body ink on cream — warm maroon-brown */
  --ink-2:#6d3a41;
  --ink-3:#95656a;
  --ink-4:#b5908f;
  --head:var(--maroon-deep);
  --accent:var(--coral);
  --kick:var(--maroon);
  --rule:#e5d4c8;
  --rule-2:#efe2d7;
  --card:#fdf4e9;
  --hl:var(--coral);
  --hl-ink:#fff;
  --hl-soft:#ffe6e8;

  /* type */
  --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --cond:"New Spirit Condensed","Iowan Old Style",Palatino,serif;   /* chapter titles, stories, statements */
  --display:"Iowan Old Style",Palatino,serif;          /* section headings (Medium) */
  --sans:"Passenger Sans","Helvetica Neue",Arial,sans-serif;         /* kickers, charts, legends, tables */
  --mono:"Azeret Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --fs:17px;
  --lh:1.6;

  /* grid */
  --cols:20;
  --gutter:clamp(10px,1.1vw,20px);
  --pad:clamp(16px,2.4vw,38px);
  --rail:264px;

  /* rhythm */
  --railw:30px;
  --s1:.3rem;--s2:.6rem;--s3:1rem;--s4:1.6rem;
  --s5:2.6rem;--s6:4rem;--s7:6.4rem;--s8:10rem;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:var(--fs);color-scheme:light}
body{
  margin:0;background:var(--plum);color:var(--ink);
  font-family:var(--serif);font-weight:400;font-size:1rem;line-height:var(--lh);
  text-rendering:optimizeLegibility;font-kerning:normal;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-color:color-mix(in srgb,currentColor 42%,transparent);text-underline-offset:2px}
::selection{background:var(--coral);color:#fff}

/* ============================================================
   THEMES — each band of the report carries its print surface
   ============================================================ */
.band{position:relative}
.band-dark{
  --bg:var(--plum);--ink:#F4E9DC;--ink-2:#D9C8BC;--ink-3:#A8919C;--ink-4:#7c6273;
  --head:var(--lav);--kick:var(--purple);--accent:var(--coral);
  --rule:#43203a;--rule-2:#331830;--card:var(--plum-2);
  --hl-soft:#47152a;
  background:var(--bg);color:var(--ink);color-scheme:dark;
}
.band-light{
  --bg:var(--paper);--ink:#43141d;--ink-2:#6d3a41;--ink-3:#95656a;--ink-4:#b5908f;
  --head:var(--maroon-deep);--kick:var(--maroon);--accent:var(--coral-deep);
  --rule:#e5d4c8;--rule-2:#f0e4d9;--card:#fdf4e9;
  --hl-soft:#ffe6e8;
  background:var(--bg);color:var(--ink);
}
.band-coral{
  --bg:var(--coral);--ink:#FFFAF2;--ink-2:#ffe4de;--ink-3:#ffc9c4;
  --head:#FFFAF2;--kick:#5c0f16;--accent:#5c0f16;--rule:#ff6f7d;--card:#e93a4a;
  background:var(--bg);color:var(--ink);
}
.band-dark ::selection{background:var(--magenta);color:var(--plum)}

/* ============================================================
   GRID
   ============================================================ */
.sheet{
  display:grid;
  grid-template-columns:repeat(var(--cols),minmax(0,1fr));
  column-gap:var(--gutter);
  padding-inline:var(--pad);
  max-width:1560px;margin-inline:auto;
  align-items:start;
}
.c-full  {grid-column:3 / 19}
.c-kick  {grid-column:3 / 19;margin-bottom:var(--s2)}
.c-left  {grid-column:3 / 10}
.c-right {grid-column:11 / 19}
.c-narrow{grid-column:6 / 16}
.c-bleed {grid-column:2 / 20}
.c-edge  {grid-column:1 / 21}

/* ============================================================
   TYPE
   ============================================================ */
h1,h2,h3,h4,h5{font-family:var(--display);font-weight:500;letter-spacing:-.004em;margin:0;color:var(--head)}
h1{font-size:2.9rem;line-height:1.06;max-width:24ch}
h2{font-size:2.1rem;line-height:1.12;max-width:28ch}
h3{font-size:1.55rem;line-height:1.2;max-width:34ch}
h4{font-size:1.12rem;line-height:1.34;max-width:46ch;font-weight:500}
p{margin:0 0 var(--s3)}
ul,ol{padding-left:1.15rem;margin:0 0 var(--s3)}
li{margin:var(--s2) 0}
li::marker{color:var(--accent)}
em,i{font-style:italic}
strong,b{font-weight:500;color:var(--head)}
.mono{font-family:var(--mono)}
.label{font-family:var(--sans);font-size:.78rem;letter-spacing:.01em;text-transform:none;
  color:var(--kick);font-weight:400;display:block}
.num{font-family:var(--cond);font-weight:300;font-variant-numeric:lining-nums tabular-nums}
.chapnum{font-family:var(--mono);font-size:.72rem;letter-spacing:.3em;color:var(--kick)}

/* the big condensed figures used for stat callouts */
.statnum{font-family:var(--cond);font-weight:300;font-size:3.4rem;line-height:1;color:var(--head);
  letter-spacing:-.01em;font-variant-numeric:lining-nums}
.stat .statlbl{font-size:.92rem;color:var(--ink-2);max-width:24ch;margin-top:var(--s2)}


/* ============================================================
   COVER — the Frame opening
   ============================================================ */
#cover{min-height:100svh;position:relative;overflow:hidden;background:#1E0816;display:flex;align-items:flex-end}
#cover .coverart{position:absolute;inset:0;background:url("assets/frame-opening.webp") center / cover no-repeat;pointer-events:none}
#cover .covertext{position:relative;z-index:2;padding:var(--pad);padding-bottom:clamp(3rem,9vh,7rem);max-width:44rem}
#cover .plumlogo{width:5rem;height:auto;color:var(--coral);margin-bottom:var(--s4)}
#cover h1{font-family:var(--display);color:var(--paper);font-size:clamp(2.6rem,5vw,4.4rem);line-height:1.04;max-width:14ch;font-weight:500}
#cover .year{font-family:var(--cond);font-weight:300;font-size:clamp(1.8rem,3.2vw,2.8rem);color:var(--coral);display:block;margin-top:var(--s3)}
#cover .coverkick{font-family:var(--sans);font-size:.95rem;letter-spacing:.01em;color:var(--lav);margin-top:var(--s5);display:block;max-width:34ch}
.scrollcue{position:absolute;bottom:1.4rem;right:1.8rem;z-index:2;
  font-family:var(--mono);font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--lav);
  opacity:.75;animation:cue 2.6s ease-in-out infinite}
@keyframes cue{0%,100%{transform:translateY(0)}50%{transform:translateY(.45rem)}}
@media (prefers-reduced-motion:reduce){.scrollcue{animation:none}}

/* ============================================================
   TOOLBAR
   ============================================================ */
.toolbar{position:sticky;top:0;z-index:60;border-bottom:1px solid var(--plum-3)}
.toolbar::before{content:"";position:absolute;inset:0;z-index:-1;
  background:color-mix(in srgb,var(--plum) 88%,transparent);backdrop-filter:blur(10px)}
.toolbar .bar{grid-column:1 / -1;display:flex;align-items:center;gap:var(--s3);padding-block:.55rem;
  color:#EDE0D3}
.toolbar .tbrand{font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:#C9B5C4;margin-inline:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toolbar .tbrand b{color:var(--paper);font-weight:400}
#menubtn,#printbtn{display:inline-flex;align-items:center;gap:.45rem;border:0;background:none;
  cursor:pointer;font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
  color:#C9B5C4;padding:.45rem .65rem;border-radius:4px;transition:background .16s,color .16s}
#menubtn:hover,#menubtn[aria-expanded="true"],#printbtn:hover{background:var(--coral);color:#fff}
#menubtn .mb-chev{width:8px;height:8px;transition:transform .22s}
#menubtn[aria-expanded="true"] .mb-chev{transform:rotate(180deg)}

/* ============================================================
   SCROLL RAIL — the reading progress lives on the left edge,
   drawn in the chart's stroke-line aesthetic; click opens contents
   ============================================================ */
#scrollrail{position:fixed;left:0;top:0;bottom:0;width:var(--railw);z-index:72;cursor:pointer;border:0;
  background:
    repeating-linear-gradient(to bottom, color-mix(in srgb,var(--lav) 26%,transparent) 0 2px, transparent 2px 7px)
    center / 12px 100% no-repeat,
    var(--plum);
  border-right:1px solid var(--plum-3);padding:0}
#scrollrail .fill{position:absolute;left:50%;transform:translateX(-50%);top:0;width:12px;height:0;
  background:repeating-linear-gradient(to bottom, var(--coral) 0 2px, transparent 2px 7px);
  transition:height .12s linear}
#scrollrail:hover{background-color:var(--plum-2)}
#scrollrail .knob{position:absolute;left:0;right:0;height:2px;background:var(--magenta);top:0;transition:top .12s linear}
#scrollrail .sr-label{position:absolute;left:50%;bottom:.9rem;transform:translateX(-50%) rotate(180deg);
  writing-mode:vertical-rl;font-family:var(--mono);font-size:.52rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--lav);opacity:.85;pointer-events:none}
body{padding-left:var(--railw)}
@media (max-width:760px){:root{--railw:16px}#scrollrail{width:16px}#scrollrail .sr-label{display:none}}

/* ============================================================
   TOC RAIL
   ============================================================ */
nav.toc{position:fixed;top:0;left:var(--railw);width:var(--rail);height:100dvh;overflow-y:auto;overscroll-behavior:contain;
  padding:var(--s5) var(--s4) var(--s6) var(--pad);
  background:var(--plum);color:#D9C8BC;
  font-size:.8rem;z-index:70;transform:translateX(-102%);transition:transform .26s cubic-bezier(.22,.7,.3,1);
  border-right:1px solid var(--plum-3);scrollbar-width:thin}
body.toc-open nav.toc{transform:none}
nav.toc .tochead{font-family:var(--mono);font-size:.56rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--purple);padding-bottom:var(--s3);margin-bottom:var(--s3);border-bottom:1px solid var(--plum-3)}
nav.toc .tocgrp{margin-bottom:var(--s2)}
nav.toc .tocgrp > button{all:unset;display:flex;align-items:baseline;gap:.45rem;width:100%;cursor:pointer;
  font-family:var(--mono);font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:#A8919C;padding:.4rem 0}
nav.toc .tocgrp > button:hover{color:var(--paper)}
nav.toc .tocgrp > button .caret{display:inline-block;transition:transform .18s;font-size:.4rem;color:#5f3f56}
nav.toc .tocgrp[data-open="false"] > button .caret{transform:rotate(-90deg)}
nav.toc .toclinks{display:grid;gap:.08rem;padding-bottom:.3rem}
nav.toc .tocgrp[data-open="false"] .toclinks{display:none}
nav.toc a{display:block;color:#D9C8BC;text-decoration:none;line-height:1.35;
  padding:.22rem .45rem;margin-left:-.45rem;border-radius:3px;transition:background .16s,color .16s}
nav.toc a:hover{background:#47152a;color:var(--paper)}
nav.toc a.on{background:var(--coral);color:#fff}
nav.toc .tocgrp.active > button{color:var(--paper)}
nav.toc a.sb{padding-left:1.15rem;font-family:var(--serif);font-style:italic;font-size:.94em;color:#A8919C}
nav.toc a.sb:hover,nav.toc a.sb.on{color:#fff}
.tocscrim{position:fixed;inset:0;background:rgba(14,3,11,.5);z-index:65;opacity:0;
  pointer-events:none;transition:opacity .22s}
body.toc-open .tocscrim{opacity:1;pointer-events:auto}
@media (min-width:1181px){
  .tocscrim{display:none}
  .railshift{transition:margin-left .26s cubic-bezier(.22,.7,.3,1)}
  body.toc-open .railshift{margin-left:var(--rail)}
}


/* ============================================================
   BANDS & SECTION STRUCTURE
   ============================================================ */
.band{padding-block:var(--s7)}
.band-tight{padding-block:var(--s6)}
section.sec{margin-top:var(--s7)}
section.sec:first-child{margin-top:0}
.secnum{font-family:var(--sans);font-size:.78rem;letter-spacing:.01em;color:var(--kick);display:block}
hr.secrule{grid-column:1 / -1;border:0;height:0;margin:0 0 var(--s5);border-top:1px solid var(--rule)}
.row{grid-column:3 / 19;display:grid;grid-template-columns:repeat(16,minmax(0,1fr));
  column-gap:var(--gutter);align-items:start}
.row > .c-kick{grid-column:1 / -1;margin-bottom:var(--s2)}
.row .lead{grid-column:1 / 8}
.row .body{grid-column:9 / 17}
.row .lead > :first-child,.body > :first-child{margin-top:0}
.stmt{font-family:var(--display);font-size:1.22rem;line-height:1.3;font-weight:500;color:var(--accent);max-width:28ch;margin:var(--s3) 0 0}
.stmt.cond{font-size:1.5rem;line-height:1.26}
.band-dark .stmt{color:var(--lav)}
.src{max-width:62ch}
.src p{max-width:62ch}
@media (min-width:761px){
  .row .lead{position:sticky;top:calc(3.2rem + var(--s4));align-self:start;z-index:1;
    max-height:calc(100dvh - 3.2rem - var(--s5))}
}

/* chapter openers — full-bleed coral divider in the print style */
.chapdivider{min-height:56vh;display:grid;place-items:center;text-align:center;position:relative;
  padding-block:var(--s7)}
.chapdivider .manicule{width:clamp(64px,7vw,104px);height:auto;margin-inline:auto;margin-bottom:var(--s4);
  color:var(--paper)}
.chapdivider .chapno{font-family:var(--sans);font-size:.8rem;letter-spacing:.3em;color:var(--ink)}
.chapdivider h2{font-family:var(--cond);font-weight:300;font-size:clamp(2.8rem,6vw,4.8rem);line-height:1.02;
  max-width:14ch;margin-inline:auto;text-wrap:balance;color:var(--head);letter-spacing:-.005em}
.chapdivider .chapkick{font-family:var(--sans);font-size:1.02rem;letter-spacing:.01em;text-transform:none;
  color:var(--ink);display:block;margin:var(--s3) 0 var(--s5)}
.chapdivider .chapsub{color:var(--ink-2);font-size:1.05rem;max-width:52ch;margin:var(--s4) auto 0}

/* essay pages (The Wall at Fudai, Le Grand K, parables) */
.essay{grid-column:6 / 16;max-width:58ch;margin-inline:auto;padding-block:var(--s5)}
.essay .label{margin-bottom:var(--s4)}
.essay h2,.essay h1{margin-bottom:var(--s4)}
.essay h1,.essay h2,.dark-card > h2,.dark-card .essay h2{font-family:var(--cond);font-weight:300;font-size:clamp(2.4rem,4.4vw,3.4rem);line-height:1.04;letter-spacing:-.004em}
.essay p,.story p{font-family:var(--cond);font-weight:300;font-size:1.42rem;line-height:1.36;letter-spacing:.002em}
.essay .turn{color:var(--accent);font-size:1.42rem}
.band-dark .essay .turn{color:var(--coral)}
@media (max-width:1000px){.essay{grid-column:2/20}}

/* ============================================================
   VOICE — pull quotes, verbatims, glosses
   ============================================================ */
.pull{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));column-gap:var(--gutter);
  border-top:1px solid var(--rule);padding:var(--s6) 0;margin:var(--s6) 0}
.pull .pq{grid-column:2 / 13;font-family:var(--cond);font-weight:300;font-size:clamp(1.9rem,3vw,2.6rem);
  line-height:1.26;letter-spacing:-.012em;text-wrap:balance;margin:0;color:var(--head)}
.pull .pq .hl{color:var(--accent);font-weight:300}
.band-dark .pull .pq .hl{color:var(--magenta)}
.pull .pn{grid-column:2 / 11;font-size:.94rem;color:var(--ink-2);margin:var(--s4) 0 0}
.pull .pc{grid-column:2 / -1;margin-top:var(--s4);color:var(--ink-3)}
.pull.solo .pq{grid-column:2 / 14}
blockquote.verbatim{margin:var(--s4) 0;padding-left:var(--s4);border-left:2px solid var(--accent);max-width:56ch}
blockquote.verbatim p{font-style:italic;font-size:1.02rem}
blockquote.verbatim .who{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;
  color:var(--ink-3);margin-top:var(--s2);font-style:normal}

/* statement interludes — the report's full-page italic statements */
.statement{grid-column:4 / 18;text-align:center;padding-block:var(--s6)}
.statement p{font-family:var(--cond);font-weight:300;font-size:clamp(1.9rem,3.2vw,2.7rem);
  line-height:1.32;max-width:34ch;margin:0 auto;color:var(--head);text-wrap:balance}
.statement .hl{color:var(--accent)}
.band-dark .statement .hl{color:var(--magenta)}

/* bullet briefs — the exec-summary triangle bullets */
ul.brief{list-style:none;padding:0;margin:var(--s4) 0}
ul.brief li{position:relative;padding:.85rem 0 .85rem 1.5rem;margin:0;border-top:1px solid var(--rule-2);
  max-width:62ch}
ul.brief li:last-child{border-bottom:1px solid var(--rule-2)}
ul.brief li::before{content:"";position:absolute;left:0;top:1.28rem;
  border-left:.45rem solid var(--accent);border-top:.32rem solid transparent;border-bottom:.32rem solid transparent}
.band-dark ul.brief li::before{border-left-color:var(--coral)}

/* stat rows */
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--s4) var(--s5);
  margin:var(--s5) 0}

/* ============================================================
   CARDS — sidebar, founder's note, dark insert
   ============================================================ */
.sidebar-card{position:relative;background:var(--lav-pale);color:#43141d;
  width:calc(100vw - var(--railw));margin-left:calc(50% - 50vw + var(--railw)/2);border-radius:0;
  padding:var(--s7) max(clamp(2.5rem, 11vw, 11rem), calc(50vw - 560px));margin-block:var(--s7);
  --head:#55151B;--ink-2:#6d3a41;--rule:#d9c8e6;--rule-2:#e4d7ef;--kick:#7a4fb5;--accent:#B0343F;
  clip-path:polygon(2rem 0,100% 0,100% calc(100% - 2rem),calc(100% - 2rem) 100%,0 100%,0 2rem)}
.sidebar-card .sidetag{position:absolute;top:1rem;left:calc(2rem + 4px);background:#C9B8DF;color:#3d2354;
  font-family:var(--mono);font-size:.56rem;letter-spacing:.22em;text-transform:uppercase;
  padding:.5rem .9rem;border-radius:4px 0 4px 0}
.pink-card{position:relative;background:var(--pink-card);color:#4a1420;
  width:calc(100vw - var(--railw));margin-left:calc(50% - 50vw + var(--railw)/2);border-radius:0;
  padding:var(--s7) max(clamp(2.5rem, 11vw, 11rem), calc(50vw - 560px));margin-block:var(--s7);
  --head:#55151B;--ink-2:#7a3644;--rule:#e3bfca;--kick:#a04456;--accent:#c22a3d;
  clip-path:polygon(2rem 0,100% 0,100% calc(100% - 2rem),calc(100% - 2rem) 100%,0 100%,0 2rem)}
.dark-card{position:relative;background:var(--plum);color:#F4E9DC;
  width:calc(100vw - var(--railw));margin-left:calc(50% - 50vw + var(--railw)/2);border-radius:0;
  padding:var(--s7) max(clamp(2.5rem, 11vw, 11rem), calc(50vw - 560px));margin-block:var(--s7);
  --head:var(--lav);--ink:#F4E9DC;--ink-2:#D9C8BC;--ink-3:#A8919C;--kick:var(--purple);
  --accent:var(--coral);--rule:#43203a;--rule-2:#331830;color-scheme:dark;
  clip-path:polygon(2rem 0,100% 0,100% calc(100% - 2rem),calc(100% - 2rem) 100%,0 100%,0 2rem)}
.dark-card .sidetag,.sidebar-card .sidetag{z-index:2}
.dark-card .sidetag{background:var(--plum-3);color:var(--lav);top:1rem;left:calc(2rem + 4px)}
.sidebar-card > *,.pink-card > *,.dark-card > *{max-width:64ch;margin-inline:auto}
.pink-card h4,.sidebar-card h4,.dark-card h4{max-width:64ch;}
.pink-card h4{font-family:var(--sans);font-weight:500;font-size:1rem;letter-spacing:0;color:var(--head);margin:var(--s4) auto var(--s2)}
.sidebar-card .figart,.pink-card .figart,.dark-card .figart,
.sidebar-card .tablewrap,.pink-card .tablewrap,.dark-card .tablewrap,
.sidebar-card .figspread,.pink-card .figspread,.dark-card .figspread{max-width:none}
.card-kick{font-family:var(--sans);font-size:.78rem;letter-spacing:.01em;text-transform:none;
  color:var(--kick);display:block;margin-bottom:var(--s3)}

/* spot icons from the report, floated beside briefs */
.spoticon{width:3.4rem;height:auto;flex:none}
.lead .spotart{width:4.6rem;margin:0 0 var(--s3)}
img.spoticon{display:block;width:clamp(4.4rem,6vw,5.6rem);height:auto;margin:0 0 var(--s3)}
img.spoticon.wide{width:clamp(6rem,9vw,8rem)}
.ch-withhand{display:flex;align-items:center;justify-content:center;gap:var(--s4)}
.ch-withhand .chart{flex:1;min-width:0;margin:0}
img.spoticon.hand-point{width:clamp(4.2rem,6vw,5.4rem);margin:0;flex:none;transform:scaleX(-1)}
img.manicule-ico{display:block;width:clamp(4.2rem,6vw,6rem);height:auto;margin:0 auto var(--s4)}
/* headings the print sets in New Spirit Condensed Light */
.cond,h1.cond,h2.cond,h3.cond,h4.cond,p.cond{font-family:var(--cond)!important;font-weight:300!important;letter-spacing:-.004em}
h2.cond{font-size:clamp(2.3rem,4vw,3.2rem);line-height:1.06}
h3.cond{font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.08}
.iconrow{display:flex;gap:var(--s4);align-items:flex-start;margin:var(--s4) 0}
.iconrow > div{flex:1;min-width:0}

/* ============================================================
   FIGURES — artwork cropped from the report's own SVG pages
   ============================================================ */
figure.fig{background:none;border:0;padding:0;margin:var(--s6) 0}
figure.fig .figart{position:relative;width:100%;margin-inline:auto}
/* JS sets --figw so tall artwork never exceeds a comfortable screen height */
figure.fig .figart[data-page]{max-width:var(--figmax,100%)}
figure.fig .figart svg{width:100%;height:auto;display:block}
figure.fig .figart.frame{background:var(--card);border:1px solid var(--rule-2);border-radius:6px;
  padding:clamp(.6rem,1.6vw,1.4rem)}
figure.fig figcaption{margin:var(--s3) 0 0;max-width:66ch;display:grid;gap:.28rem}
figure.fig .fnum{font-family:var(--sans);font-size:.74rem;letter-spacing:.01em;color:var(--kick)}
figure.fig .ftitle{font-size:.94rem;color:var(--head);line-height:1.4}
figure.fig .fsrc{font-family:var(--sans);font-size:.74rem;color:var(--ink-3);line-height:1.6}
.figtools{display:flex;gap:.6rem;margin-top:var(--s2)}
.figtools button,.figtools a{font-family:var(--mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;
  border:1px solid var(--rule);background:none;color:var(--ink-2);padding:.38rem .7rem;border-radius:3px;
  cursor:pointer;text-decoration:none;transition:all .16s}
.figtools button:hover,.figtools a:hover{border-color:var(--accent);color:var(--accent)}

/* a chart that ran across a print spread — two page crops joined flush */
.figspread{display:flex;align-items:flex-start;gap:0;margin:0 auto;max-width:var(--figmax,100%)}
.figspread .figart{margin:0}
.figspread .figart svg{display:block}

/* stacked narrow diagrams (old way / new standard) */
.figstack{max-width:600px;margin-inline:auto}
.figstack figure.fig{margin:var(--s5) auto}

/* figure pairs / grids for broken-down panels */
.figgrid{display:grid;gap:var(--s4) var(--s4);margin:var(--s5) 0}
.figgrid.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}
.figgrid.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}
.figgrid.cols4{grid-template-columns:repeat(4,minmax(0,1fr))}
.figgrid figure.fig{margin:0}
.figgrid .cell-lbl{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;color:var(--ink-2);
  margin-top:var(--s2);text-align:center}
@media (max-width:1000px){.figgrid.cols4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .figgrid.cols3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.figgrid.cols2,.figgrid.cols3,.figgrid.cols4{grid-template-columns:minmax(0,1fr)}}

/* ============================================================
   BENCHMARKS — interactive plates rebuilt from the report data.
   Industry nav on the left · animated plate switch · numbers on hover.
   Breaks out wider than the reading column.
   ============================================================ */
.benchmarks{width:min(calc(100vw - var(--railw) - 60px), 1600px);margin-left:calc(50% - min(50vw - var(--railw)/2 - 30px, 800px));
  margin-block:var(--s6);display:grid;grid-template-columns:17rem minmax(0,1fr);gap:var(--s6);outline:none;
  align-items:start}
.benchside{position:sticky;top:4.4rem;align-self:start}
.benchside .bn-head{font-family:var(--sans);font-size:.78rem;color:var(--ink-3);margin:0 0 var(--s2);
  display:flex;justify-content:space-between;align-items:baseline;padding-bottom:var(--s2);border-bottom:1px solid var(--rule)}
.benchside .bn-head span{font-family:var(--mono);font-size:.7rem}
.benchnav{display:flex;flex-direction:column;gap:0}
.benchnav button{position:relative;display:flex;align-items:baseline;gap:.8rem;width:100%;border:0;background:none;
  text-align:left;cursor:pointer;padding:.62rem .4rem .62rem .9rem;border-bottom:1px solid var(--rule-2);
  font-family:var(--sans);font-size:.94rem;line-height:1.3;color:var(--ink-2);transition:color .18s,background .18s}
.benchnav button .bn-i{font-family:var(--mono);font-size:.66rem;color:var(--ink-4);flex:none;width:1.4rem}
.benchnav button .bn-t{flex:1}
.benchnav button::before{content:"";position:absolute;left:0;top:.5rem;bottom:.5rem;width:2px;border-radius:2px;
  background:var(--accent);transform:scaleY(0);transition:transform .22s ease}
.benchnav button:hover{color:var(--head);background:color-mix(in srgb,var(--accent) 5%,transparent)}
.benchnav button[aria-selected="true"]{color:var(--head);font-weight:500}
.benchnav button[aria-selected="true"] .bn-i{color:var(--accent)}
.benchnav button[aria-selected="true"]::before{transform:scaleY(1)}
.benchplate{min-width:0}
.benchplate .bp-top{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s4);margin-bottom:var(--s4);
  padding-bottom:var(--s3);border-bottom:1px solid var(--rule)}
.benchplate .bp-title.in{animation:bpin .35s ease}
@keyframes bpin{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.bp-step{display:flex;align-items:center;gap:.5rem;flex:none}
.bp-step button{width:2rem;height:2rem;border-radius:50%;border:1px solid var(--rule);background:none;cursor:pointer;
  color:var(--ink-2);font-size:1.1rem;line-height:1;transition:all .16s}
.bp-step button:hover{border-color:var(--accent);color:var(--accent)}
.bp-count{font-family:var(--mono);font-size:.7rem;color:var(--ink-3);min-width:4.2rem;text-align:center}
.benchplate .bp-title{font-family:var(--display);font-weight:500;font-size:1.5rem;color:var(--head);margin:0 0 var(--s1)}
.benchplate .bp-sub{font-family:var(--sans);font-size:.82rem;color:var(--ink-3);margin:0}
.bench-row{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:var(--s4);align-items:center;
  padding:.42rem 0;border-bottom:.5px solid var(--rule-2);transition:background .15s}
.bench-row:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}
.bench-row:last-child{border-bottom:0}
.bench-lbl{font-family:var(--mono);font-size:.7rem;letter-spacing:.01em;color:var(--ink-2);line-height:1.35}
.bench-bar{display:flex;height:1.5rem;gap:2px;min-width:0;overflow:hidden}
.bench-seg{position:relative;height:100%;min-width:2px;flex:none;overflow:hidden;border-radius:1px;
  transition:width .5s cubic-bezier(.22,.7,.3,1), filter .15s}
.bench-seg .sl{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:.64rem;font-weight:500;color:var(--maroon-deep);text-shadow:0 0 3px #FBEFE4,0 0 3px #FBEFE4;white-space:nowrap;
  opacity:0;transition:opacity .15s;overflow:hidden}
.bench-row:hover .bench-seg .sl{opacity:1}
.bench-row:hover .bench-seg{filter:saturate(1.15)}
/* stroke-line fill in the print hatch style, per tone */
.bench-seg.t-red     {background:repeating-linear-gradient(90deg,#E8564A 0 2px,#FBEFE4 2px 5px)}
.bench-seg.t-pink    {background:repeating-linear-gradient(90deg,#E667B4 0 2px,#FBEFE4 2px 5px)}
.bench-seg.t-lavender{background:repeating-linear-gradient(90deg,#B9A5E0 0 2px,#FBEFE4 2px 5px)}
.bench-seg.t-purple  {background:repeating-linear-gradient(90deg,#8F6BD8 0 2px,#FBEFE4 2px 5px)}
.bench-seg.t-olive   {background:repeating-linear-gradient(90deg,#B5A455 0 2px,#FBEFE4 2px 5px)}
.bench-seg.t-cream   {background:repeating-linear-gradient(90deg,#D9C8A8 0 2px,#FBEFE4 2px 5px)}
.bench-seg.t-grey    {background:repeating-linear-gradient(90deg,#A39B94 0 2px,#FBEFE4 2px 5px)}
.bench-note{grid-column:1 / -1;font-family:var(--mono);font-size:.56rem;color:var(--ink-3);
  letter-spacing:.05em;line-height:1.7;margin-top:var(--s3)}
/* hover tooltip listing every segment of the row */
#benchtip{position:fixed;z-index:290;display:none;background:var(--plum);color:#F4E9DC;border-radius:5px;
  padding:.7rem .9rem;font-family:var(--sans);font-size:.8rem;line-height:1.8;max-width:340px;
  box-shadow:0 14px 40px rgba(20,4,15,.4);pointer-events:none}
#benchtip .tt{color:var(--lav);letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:.2rem}
#benchtip .row{display:flex;justify-content:space-between;gap:1.2rem}
#benchtip .row .v{color:var(--paper)}
#benchtip .sw{display:inline-block;width:.6rem;height:.6rem;border-radius:1px;margin-right:.5rem;vertical-align:-.05rem}
#benchtip .sw.t-red{background:#E8564A}#benchtip .sw.t-pink{background:#E667B4}#benchtip .sw.t-lavender{background:#B9A5E0}
#benchtip .sw.t-purple{background:#8F6BD8}#benchtip .sw.t-olive{background:#B5A455}#benchtip .sw.t-cream{background:#D9C8A8}#benchtip .sw.t-grey{background:#A39B94}
#benchtip .row .v.est::after{content:"≈";margin-left:.2rem;color:var(--ink-3)}
@media (max-width:1100px){
  .benchmarks{grid-template-columns:minmax(0,1fr);gap:var(--s4);width:min(calc(100vw - var(--railw) - 40px), 1600px);margin-left:calc(50% - min(50vw - var(--railw)/2 - 20px, 800px))}
  .benchside{position:static}
  .benchnav{flex-direction:row;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--rule);
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 1.5rem,#000 calc(100% - 1.5rem),transparent);mask-image:linear-gradient(90deg,transparent,#000 1.5rem,#000 calc(100% - 1.5rem),transparent)}
  .benchnav::-webkit-scrollbar{display:none}
  .benchnav button{width:auto;flex:none;white-space:nowrap;border-bottom:0;padding:.7rem 1rem}
  .benchnav button::before{left:.8rem;right:.8rem;top:auto;bottom:0;width:auto;height:2px;transform:scaleX(0)}
  .benchnav button[aria-selected="true"]::before{transform:scaleX(1)}
  .bench-row{grid-template-columns:9rem minmax(0,1fr);gap:var(--s3)}
}


/* ============================================================
   CHARTS — native rebuilds in the print style
   ============================================================ */
.chart{--t-wf:#DC5A55;--t-hl:#E062B3;--t-is:#B7A1E3;--t-st:#B9A65A;--t-hc:#9B7CF2;--t-id:#E07CC6;
  --t-total:#E0555A;--t-hlp:#EFBFE0;--t-carry:#DDD0F0;--t-neg:#C9B8A6;--t-grey:#B3AAA2;--t-p75:#8F78E8;--t-med:#8FA0EC;
  --c-axis:#B7A6DE;--c-text:var(--ink-2);--c-strong:var(--head);--c-muted:var(--ink-3);
  font-family:var(--sans);margin:0 auto;max-width:980px}
.band-dark .chart,.dark-card .chart{--t-carry:#4A2A45;--t-neg:#6b5a5a;--c-axis:#8F7DB8}
.chart .ch-head{margin-bottom:var(--s4)}
.chart .ch-title{font-family:var(--sans);font-weight:500;font-size:1.02rem;color:var(--c-strong);margin:0 0 .3rem;line-height:1.35}
.chart .ch-sub{font-family:var(--sans);font-size:.84rem;color:var(--c-muted);margin:0 0 .7rem}
.chart .ch-legend{display:flex;flex-wrap:wrap;gap:.45rem 1.4rem;padding:.55rem 0;border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);font-size:.82rem;color:var(--c-text)}
.chart .ch-li{display:inline-flex;align-items:center;gap:.5rem}
.chart svg.ch-sw{width:16px;height:11px;flex:none;display:inline-block}
.chart .ch-dot{width:7px;height:12px;border-radius:2px;display:inline-block}
.chart .ch-axiskey{display:flex;gap:1.4rem;padding-top:.55rem;font-size:.82rem;color:var(--c-text)}
.chart .ch-axiskey span{display:inline-flex;align-items:center;gap:.45rem}
.chart .ch-ak{width:20px;height:10px;fill:none;stroke:var(--c-text);stroke-width:1.2}
.chart .ch-ak.v{width:10px;height:18px}
.chart .ch-svg{display:block;width:100%;height:auto;max-height:66vh;overflow:visible}
.chart .ch-scroll{overflow-x:auto;scrollbar-width:thin}
.chart .ch-grid{display:grid;gap:0}
.chart .ch-grid.cols-1{grid-template-columns:1fr}
.chart .ch-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.chart .ch-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.chart .ch-grid.cols-2 .ch-cell{padding:var(--s3) var(--s3) var(--s3) 0}
.chart .ch-grid.cols-2 .ch-cell:nth-child(2n){border-left:1px solid var(--rule);padding-left:var(--s4)}
.chart .ch-grid.cols-2 .ch-cell:nth-child(n+3){border-top:1px solid var(--rule)}
.chart .ch-grid.cols-3 .ch-cell + .ch-cell{border-left:1px solid var(--rule);padding-left:var(--s3)}
.chart .ch-cell.center{grid-column:1 / -1;max-width:50%;margin-inline:auto;border-left:0!important;padding-left:0!important}
.chart .ch-ptitle{font-weight:500;font-size:.9rem;color:var(--c-strong);margin:0 0 .15rem}
.chart .ch-psub{font-size:.76rem;color:var(--c-muted);margin:0 0 .3rem}
.chart .ch-note{font-size:.76rem;color:var(--c-muted);margin:var(--s3) 0 0;line-height:1.55}
.chart .ch-narrow{max-width:460px;margin:0 auto}
.chart .ch-narrow.wide{max-width:640px}
@media (max-width:760px){.chart .ch-grid.cols-2,.chart .ch-grid.cols-3{grid-template-columns:1fr}
  .chart .ch-grid .ch-cell{border-left:0!important;padding-left:0!important}
  .chart .ch-cell.center{max-width:none}}

/* marks */
.chart .hz line{stroke-linecap:round}
.chart .t-wf{stroke:var(--t-wf)}.chart .t-hl{stroke:var(--t-hl)}.chart .t-is{stroke:var(--t-is)}
.chart .t-st{stroke:var(--t-st)}.chart .t-hc{stroke:var(--t-hc)}.chart .t-id{stroke:var(--t-id)}
.chart .t-total{stroke:var(--t-total)}.chart .t-carry{stroke:var(--t-carry)}.chart .t-neg{stroke:var(--t-neg)}
.chart .t-grey{stroke:var(--t-grey)}.chart .t-hlp{stroke:var(--t-hlp)}.chart .t-p75{stroke:var(--t-p75)}.chart .t-med{stroke:var(--t-med)}
.chart .t-red{stroke:var(--t-wf)}.chart .t-pink{stroke:var(--t-hl)}.chart .t-lavender{stroke:var(--t-is)}
.chart .t-purple{stroke:var(--t-hc)}.chart .t-olive{stroke:var(--t-st)}
.chart [class*="t-bg-"]{stroke:none}
.chart .t-bg-wf,.chart .t-bg-red{fill:var(--t-wf);background:var(--t-wf)}
.chart .t-bg-hl,.chart .t-bg-pink{fill:var(--t-hl);background:var(--t-hl)}
.chart .t-bg-is,.chart .t-bg-lavender{fill:var(--t-is);background:var(--t-is)}
.chart .t-bg-hc,.chart .t-bg-purple{fill:var(--t-hc);background:var(--t-hc)}
.chart .t-bg-st,.chart .t-bg-olive{fill:var(--t-st);background:var(--t-st)}
.chart .t-bg-med{fill:var(--t-med);background:var(--t-med)}.chart .t-bg-p75{fill:var(--t-p75);background:var(--t-p75)}
.chart .t-fill-hc{fill:var(--t-hc)}.chart .t-fill-id{fill:var(--t-id)}.chart .t-fill-neg{fill:var(--c-muted)}
.chart .t-fill-hl{fill:var(--t-hl)}.chart .t-fill-wf{fill:var(--t-wf)}.chart .t-fill-is{fill:var(--t-hc)}
.chart .t-fill-hlp{fill:var(--t-hl)}.chart .t-fill-med{fill:var(--t-med)}.chart .t-fill-p75{fill:var(--t-p75)}
.chart .ch-hit{fill:transparent;cursor:crosshair}
.chart .c-axis path{fill:none;stroke:var(--c-axis);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.chart .c-outline{fill:none;stroke:var(--head);stroke-width:1;stroke-dasharray:3 2.5;opacity:.7}
.chart .c-tick{font-family:var(--sans);font-size:11px;fill:var(--c-muted)}
.chart path.c-tick{fill:none;stroke:var(--c-muted);stroke-width:.8}
.chart .c-ptitle{font-family:var(--sans);font-weight:500;font-size:13px;fill:var(--c-strong)}
.chart .c-qval{font-family:var(--sans);font-size:11.5px;fill:var(--c-text)}
.chart .c-qval.is-hl{fill:var(--t-hl);font-weight:500}
.chart .c-val{font-family:var(--mono);font-size:11.5px;fill:var(--c-strong)}
.chart .c-val.strong{font-weight:500}
.chart .c-val.onbar{fill:var(--maroon-deep);font-size:10.5px}
.chart .c-xlab{font-family:var(--sans);font-size:11.5px;fill:var(--c-text)}
.chart .c-xlab.strong{font-weight:500;fill:var(--c-strong)}
.chart .c-ylab,.chart .c-axlab{font-family:var(--sans);font-size:11px;fill:var(--c-muted)}
.chart .c-flab{font-family:var(--sans);font-size:10px;fill:var(--c-muted)}
.chart .c-fval{font-family:var(--sans);font-size:11.5px;fill:var(--c-text)}
.chart .c-fval.strong{font-weight:500;fill:var(--c-strong)}
.chart .c-fsep{font-family:var(--sans);font-size:12px;fill:var(--c-muted)}
.chart .c-base{stroke:var(--c-axis);stroke-width:1}
.chart .c-rule{stroke:var(--rule);stroke-width:1}
.chart .c-grid{stroke:var(--c-axis);stroke-width:.9;stroke-dasharray:5 4;opacity:.75}
.chart .c-leader{stroke:var(--head);stroke-width:.9;stroke-dasharray:3 3;opacity:.7}
.chart .c-ref{stroke:var(--head);stroke-width:1.1;stroke-dasharray:4 4}
.chart .c-reflab{font-family:var(--sans);font-size:11px;fill:var(--c-text)}
.chart .c-gtitle{font-family:var(--sans);font-weight:500;font-size:13.5px;fill:var(--c-strong)}
.chart .c-gtitle .p-accent{fill:var(--accent)}.chart .c-gtitle .p-muted{fill:var(--c-muted);font-weight:400}
.chart .c-rlab{font-family:var(--mono);font-size:11.5px;fill:var(--c-text)}
.chart .c-qname{font-family:var(--mono);font-size:12px;fill:var(--c-text)}
.chart .c-node{stroke:none}
.chart .c-node.top.n0{fill:#8A6E6A}.chart .c-node.top.n1{fill:#8C8577}
.chart .c-node.vendor{fill:#5A4A66}.chart .c-node.svc{fill:#5B4A80}
.chart .c-node.hub{fill:#8A1F3B}.chart .c-node.pillar{fill:#6E1B2A}
.band-light .chart .c-node.top.n0,.sidebar-card .chart .c-node.top.n0{fill:#E4CFCB}
.band-light .chart .c-node.top.n1,.sidebar-card .chart .c-node.top.n1{fill:#E6E2CB}
.band-light .chart .c-node.vendor,.sidebar-card .chart .c-node.vendor{fill:#E9E4EC}
.band-light .chart .c-node.svc,.sidebar-card .chart .c-node.svc{fill:#E6DCFB}
.band-light .chart .c-node.hub,.sidebar-card .chart .c-node.hub{fill:#E8454F}
.chart .c-nodelab{font-family:var(--mono);font-size:11px;fill:#F4E9DC}
.band-light .chart .c-nodelab{fill:#6B3A52}
.chart .c-nodelab.light{fill:#FBEFE4}
.chart .c-hublab{font-family:var(--display);font-weight:500;font-size:16px;fill:#FFF3EC}
.chart .c-mono{font-family:var(--mono);font-size:10px;fill:var(--c-text)}
.chart .c-mazeline{fill:none;stroke:#8C7A72;stroke-width:2.2;opacity:.85}
.band-light .chart .c-mazeline{stroke:#D8C9BF}
.chart .c-flow{fill:none;stroke:#6E5BA0;stroke-width:3;stroke-linecap:round}
.band-light .chart .c-flow{stroke:#D9CCF5}
.chart .c-flow.out{stroke:#8A1F3B}.band-light .chart .c-flow.out{stroke:#E8454F}
.chart .c-arrow{fill:none;stroke:#8A1F3B;stroke-width:2}.band-light .chart .c-arrow{stroke:#E8454F}
.chart .c-outlab{font-family:var(--sans);font-weight:500;font-size:12.5px;fill:var(--c-strong)}
.chart .c-outsub{font-family:var(--sans);font-size:11.5px;fill:var(--accent)}
.chart .c-cap{stroke:none}
.chart .ch-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4);margin-top:var(--s3)}
.chart ul.brief.small li{font-size:.9rem;padding:.5rem 0 .5rem 1.3rem}
/* quadlist */
.chart .ch-quadlist{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;
  gap:0;padding:3.2rem 1.2rem 3.2rem 4.6rem;max-width:800px;margin:0 auto}
.chart .ql-lines{position:absolute;top:2.4rem;left:4rem;right:0;width:calc(100% - 4rem);height:calc(100% - 4.8rem);pointer-events:none}
.chart .ql-lines path{fill:none;stroke:var(--head);stroke-width:.35;vector-effect:non-scaling-stroke}
.chart .ql-corner{position:absolute;font-size:.76rem;line-height:1.35;white-space:pre-line}
.chart .ql-corner.tl{top:0;left:0;color:var(--t-hc)}.chart .ql-corner.tr{top:0;right:0;text-align:right;color:var(--accent)}
.chart .ql-corner.bl{bottom:0;left:0;color:var(--c-muted)}.chart .ql-corner.br{bottom:0;right:0;text-align:right;color:var(--t-hl)}
.chart .ql-ax{position:absolute;font-size:.76rem;color:var(--c-text)}
.chart .ql-ax.y{top:.4rem;left:50%;transform:translateX(-50%)}
.chart .ql-ax.x{top:50%;left:0;transform:translateY(-50%)}
.chart .ql-q{padding:1.2rem 1.4rem;min-height:9rem;border-radius:18px}
.chart .ql-q.tr,.chart .ql-q.br{text-align:right}
.chart .t-glow-is{background:radial-gradient(closest-side,rgba(183,161,227,.22),transparent)}
.chart .t-glow-wf{background:radial-gradient(closest-side,rgba(232,86,74,.14),transparent)}
.chart .t-glow-hl{background:radial-gradient(closest-side,rgba(224,98,179,.14),transparent)}
.chart .ql-title{font-family:var(--mono);font-weight:500;font-size:.84rem;color:var(--c-strong);margin:0 0 .5rem}
.chart .ql-items{list-style:none;margin:0;padding:0;font-family:var(--mono);font-size:.82rem;color:var(--c-text)}
.chart .ql-items li{margin:.25rem 0}
.chart .ql-q.tl .ql-items li::before,.chart .ql-q.bl .ql-items li::before{content:"●";margin-right:.6rem;font-size:.6em;vertical-align:.2em}
.chart .ql-q.tr .ql-items li::after,.chart .ql-q.br .ql-items li::after{content:"●";margin-left:.6rem;font-size:.6em;vertical-align:.2em}
.chart .t-dot-is::before,.chart .t-dot-is::after{color:var(--t-hc)}
.chart .t-dot-wf::before,.chart .t-dot-wf::after{color:var(--t-wf)}
.chart .t-dot-hl::before,.chart .t-dot-hl::after{color:var(--t-hl)}
/* loop cards */
.chart .ch-loop{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4) var(--s5);max-width:820px;margin:0 auto}
.chart .lp-step{border-radius:14px;padding:1.2rem 1.3rem 1.3rem}
.chart .lp-title{font-family:var(--sans);font-weight:500;font-size:1rem;color:var(--maroon-deep);margin:0 0 .6rem}
.chart .lp-n{font-family:var(--mono);font-weight:400;margin-right:.9rem}
.chart .lp-text{font-family:var(--mono);font-size:.8rem;line-height:1.55;color:#6B2A38;margin:0 0 .6rem}
.chart .t-card-hc{background:#DCDDFB}.chart .t-card-is{background:#EDE0FA}
.chart .t-card-hl{background:#F8D9EF}.chart .t-card-wf{background:#FADADA}
#chtip{position:fixed;z-index:300;display:none;pointer-events:none;background:var(--plum);color:#F4E9DC;
  font-family:var(--sans);font-size:.78rem;padding:.4rem .6rem;border-radius:4px;box-shadow:0 8px 24px rgba(20,4,15,.35)}
figure.chartfig{margin:var(--s6) 0}
figure.chartfig figcaption{margin-top:var(--s3)}

/* ============================================================
   LIGHTBOX — the original page, full
   ============================================================ */
#lightbox{position:fixed;inset:0;z-index:300;background:rgba(14,3,11,.82);display:none;
  align-items:center;justify-content:center;padding:2.4rem;backdrop-filter:blur(6px)}
#lightbox.open{display:flex}
#lightbox .lb-inner{max-height:100%;max-width:min(720px,92vw);overflow:auto;border-radius:6px;
  box-shadow:0 30px 80px rgba(0,0,0,.5)}
#lightbox img,#lightbox svg{display:block;width:100%;height:auto}
#lightbox .lb-close{position:absolute;top:1rem;right:1.2rem;border:0;background:none;color:#F4E9DC;
  font-size:1.6rem;cursor:pointer;font-family:var(--serif)}
#lightbox .lb-cap{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);
  font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;color:#D9C8BC;text-transform:uppercase}

/* ============================================================
   TABLES
   ============================================================ */
.tablewrap{position:relative;margin:var(--s5) 0}
.tablescroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
table{border-collapse:collapse;font-family:var(--sans);font-size:.88rem;width:100%;min-width:min(100%,42rem);
  font-variant-numeric:lining-nums tabular-nums}
caption{text-align:left;padding-bottom:var(--s2);font-family:var(--sans);font-weight:500;font-size:.9rem;
  color:var(--ink-3);letter-spacing:.06em}
thead th{border-top:1px solid var(--rule)}
th{text-align:left;padding:var(--s2) var(--s3) var(--s2) 0;font-family:var(--mono);font-size:.56rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--kick);vertical-align:bottom;
  border-bottom:1px solid var(--ink-4);font-weight:400}
td{padding:.66rem var(--s3) .66rem 0;border-bottom:.5px solid var(--rule-2);vertical-align:top;line-height:1.5}
/* wide tables scroll sideways with no squeezed columns */
.tablescroll th,.tablescroll td{min-width:9rem}
.tablescroll td:not(.num):not(:first-child){min-width:12rem}
.tablescroll th:first-child,.tablescroll td:first-child{min-width:11rem}
tbody tr:last-child td{border-bottom:1px solid var(--rule)}
td.num,th.num{font-family:var(--mono);font-weight:400;font-size:.84rem;white-space:nowrap}
td b{font-weight:500}
tr.leadrow td{color:var(--head);font-weight:400}
table .old{color:var(--ink-3)}
table .new{color:var(--head);font-weight:400}

/* comparison table with the report's arrow motif */
.vs td:first-child{color:var(--ink-3)}
.vs td:last-child{color:var(--head)}

/* ============================================================
   GLOSSARY
   ============================================================ */
#glosearch{width:100%;max-width:52ch;padding:.7rem 1rem;font-size:.85rem;border:1px solid var(--rule);
  border-radius:8px;background:var(--card);font-family:var(--mono);color:var(--ink);
  margin:var(--s3) 0 var(--s5);display:block}
#glosearch:focus{outline:none;border-color:var(--accent)}
#glosearch::placeholder{color:var(--ink-4)}
#glolist{max-width:none}
@media (min-width:1000px){#glolist{columns:2;column-gap:var(--s6)}}
@media (min-width:1500px){#glolist{columns:3;column-gap:var(--s6)}}
.gitem{break-inside:avoid;page-break-inside:avoid}
.gitem{border-bottom:.5px solid var(--rule-2);padding:var(--s3) 0}
.gitem .gt{font-family:var(--serif);font-weight:500;font-size:1rem;color:var(--head)}
.gitem .ga{color:var(--ink-4);font-family:var(--mono);font-size:.6rem;margin-left:.5rem;letter-spacing:.06em}
.gitem .gd{margin-top:.2rem;max-width:62ch}
.gitem .gc{margin-top:.25rem;font-size:.86rem;color:var(--ink-2);max-width:62ch}
.gitem .gc::before{content:"In this report · ";font-family:var(--mono);font-size:.56rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--kick)}
.gloscount{font-family:var(--mono);font-size:.6rem;color:var(--ink-3);letter-spacing:.1em}

/* jargon underlines with popover */
.jargon{border-bottom:1px dotted var(--accent);cursor:help;text-decoration:none}
.jargon:hover{background:var(--hl-soft);border-radius:.15em}
#pop{position:absolute;z-index:260;max-width:min(360px,92vw);background:var(--paper);color:#43141d;
  border:1px solid var(--maroon-deep);border-radius:6px;padding:var(--s3) var(--s4);font-size:.86rem;
  display:none;font-family:var(--serif);box-shadow:0 12px 34px rgba(20,4,15,.28)}
#pop .pt{font-weight:500;color:var(--maroon-deep)}
#pop .px{font-family:var(--mono);font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;
  color:#95656a;margin-bottom:var(--s1);display:block}
#pop .ctx{border-top:.5px solid #e5d4c8;margin-top:var(--s2);padding-top:var(--s2);color:#6d3a41;font-size:.82rem}
#pop .close{position:absolute;top:2px;right:8px;border:none;background:none;font-size:1rem;color:#95656a;cursor:pointer}

/* ============================================================
   FOOTER
   ============================================================ */
footer.site{border-top:1px solid var(--plum-3);padding-block:var(--s6);color:#D9C8BC}
footer.site .fcols{grid-column:3/19;display:flex;flex-wrap:wrap;gap:var(--s5);justify-content:space-between;
  align-items:flex-end}
footer.site .plumlogo{width:3.6rem;color:var(--coral)}
footer.site .fnote{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;color:#A8919C;line-height:1.9}

/* ============================================================
   BACK-TO-TOP + misc
   ============================================================ */
#totop{position:fixed;right:1.2rem;bottom:1.2rem;z-index:55;border:1px solid var(--plum-3);
  background:var(--plum);color:#D9C8BC;width:2.6rem;height:2.6rem;border-radius:50%;cursor:pointer;
  display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .2s}
#totop.show{opacity:1;pointer-events:auto}
#totop:hover{background:var(--coral);color:#fff;border-color:var(--coral)}
.anchorlink{margin-left:.5rem;font-size:.8em;opacity:0;text-decoration:none;color:var(--accent);
  transition:opacity .15s}
h2:hover .anchorlink,h3:hover .anchorlink,h4:hover .anchorlink{opacity:.9}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1000px){
  h1{font-size:2.4rem}h2{font-size:1.85rem}h3{font-size:1.42rem}.pull .pq{font-size:1.45rem}
  .c-full,.c-kick,.row{grid-column:2 / 20}
  .c-left{grid-column:2 / 9}.c-right{grid-column:9 / 20}
  .c-narrow{grid-column:3 / 19}
}
@media (max-width:760px){
  :root{--gutter:8px}
  h1{font-size:2rem}h2{font-size:1.6rem}h3{font-size:1.3rem}
  .stmt{font-size:1.1rem}.pull .pq{font-size:1.3rem}
  .c-full,.c-kick,.c-left,.c-right,.c-narrow,.c-bleed,.row,.statement,.essay{grid-column:2 / 20}
  .row .lead,.row .body{grid-column:1 / -1}
  .row .lead{margin-bottom:var(--s3);position:static;max-height:none}
  .pull{grid-template-columns:minmax(0,1fr);gap:var(--s3) 0}
  .pull .pq,.pull .pn,.pull .pc{grid-column:1}
  h1,h2,h3,h4,.pull .pq,.statement p{max-width:none}
  table{font-size:.8rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ============================================================
   PRINT
   ============================================================ */
@page{size:A4;margin:18mm 16mm 20mm}
@media print{
  :root{--fs:10.2pt;--lh:1.5}
  html,body{background:#fff}
  .band,.band-dark,.band-light,.band-coral{background:#fff!important;color:#000!important;
    --ink:#000;--ink-2:#333;--ink-3:#555;--head:#000;--accent:#B0343F;--kick:#802029;--rule:#bbb;--rule-2:#ddd}
  nav.toc,.toolbar,.tocscrim,#pop,#totop,#lightbox,.figtools,.scrollcue,#glosearch{display:none!important}
  .railshift{margin-left:0!important}
  .sheet{display:block;max-width:none;padding:0}
  .c-full,.c-kick,.c-left,.c-right,.c-narrow,.c-bleed,.c-edge,.row,.row .lead,.row .body,.essay,.statement{grid-column:auto}
  .row{display:block}
  .row .lead{position:static;max-height:none;margin-bottom:3mm}
  #cover{min-height:0;page-break-after:always}
  .chapdivider{min-height:0;page-break-before:always}
  figure.fig,.pull,.sidebar-card,.pink-card,.dark-card,blockquote.verbatim,.gitem{break-inside:avoid}
  .dark-card{background:#fff;color:#000;border:1pt solid #000}
  .pink-card,.sidebar-card{background:#fff;border:.5pt solid #999;clip-path:none}
  h1,h2,h3,h4{page-break-after:avoid}
  thead{display:table-header-group}
  tr{break-inside:avoid}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}


/* =====================================================================
   REVISION 4 — one strict type & layout system
   Fonts (measured against the print outlines):
     GT Alpina → Iowan    body copy, all headings
     New Spirit Cond. Lt  chapter titles, stories, bold statements, quotes
     Passenger Sans       kickers, sub-heads, chart text, figures in prose
     Azeret Mono          tables, contents, data labels
   Layout rule:
     centred stack  → chapter starts, sub-chapter starts, bold-statement headings
     left / right   → every other section (heading left, text right)
   ===================================================================== */
:root{
  --display:var(--serif);
  --body-size:clamp(1rem, .86rem + .32vw, 1.2rem);       /* ≈19px at 1440, never below 17px */
  --lh-body:1.58;
  --t-h2:clamp(1.75rem, 1.2rem + 1.1vw, 2.4rem);
  --t-h3:clamp(1.4rem, 1.05rem + .7vw, 1.8rem);          /* section heading */
  --t-h4:clamp(1.12rem, .95rem + .35vw, 1.35rem);
  --t-stmt:clamp(2rem, 1.2rem + 1.8vw, 3.1rem);          /* bold condensed statements */
  --t-kick:.8rem;
}
em,i,cite{font-style:normal}
body{font-size:1rem}

/* ---------- headings ---------- */
h1,h2,h3,h4,h5{font-family:var(--serif);font-weight:400;letter-spacing:-.006em;color:var(--head)}
h2{font-size:var(--t-h2);line-height:1.1;max-width:24ch}
h3{font-size:var(--t-h3);line-height:1.14;max-width:22ch}
h4{font-size:var(--t-h4);line-height:1.25;max-width:30ch;font-weight:400}
strong,b{font-weight:600}
.label,.secnum,.card-kick,.chapkick{font-family:var(--sans);font-size:var(--t-kick);letter-spacing:.01em;text-transform:none}
.secnum{color:var(--kick);margin-bottom:var(--s3)}

/* ---------- body copy: only real text blocks ---------- */
.src p,.body p,.body li,ul.brief li,.essay p,.story p,.myth-body p,
.sidebar-card p,.sidebar-card li,.pink-card p,.dark-card p,.dark-card li,.flip-body li,.art-result{
  font-size:var(--body-size);line-height:var(--lh-body)}
.src p,.body p,.body li,ul.brief li,.essay p,.story p,.myth-body p,
.sidebar-card p,.pink-card p,.dark-card p,.gitem .gd,.gitem .gc{
  text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}
.src,.src p{max-width:none}
p{margin:0 0 .9em}
ul.brief li{padding:.7rem 0 .7rem 1.4rem}
ul.brief li::before{top:1.15em}
.fig-n{font-family:var(--sans);font-weight:500;font-size:.92em;letter-spacing:0}
.chart p,.chart li{text-align:left;hyphens:manual}

/* ---------- the strict two-column row ---------- */
.row{row-gap:0}
.row > .c-kick{grid-column:1 / -1;margin-bottom:var(--s3)}
.row .lead{grid-column:1 / 6;position:sticky;top:calc(3.4rem + var(--s4));align-self:start;max-height:none}
.row .body{grid-column:7 / 17}
.row .lead h3,.row .lead h4{margin:0}
.row .lead h3{font-size:var(--t-h3)}
.row .lead h4{font-size:var(--t-h4)}
.stmt{font-family:var(--serif);font-weight:400;font-size:var(--body-size);line-height:1.45;color:var(--accent);
  max-width:28ch;margin:var(--s3) 0 0}
.row .body > :first-child{margin-top:0}
.row + .row{margin-top:var(--s6)}
@media (max-width:1000px){.row .lead{grid-column:1 / -1;position:static;margin-bottom:var(--s4)}.row .body{grid-column:1 / -1}}

/* ---------- the centred stack ---------- */
.row.center{text-align:center}
.row.center > .c-kick{text-align:center}
.row.center .lead{grid-column:1 / -1;position:static;display:flex;flex-direction:column;align-items:center;margin-bottom:var(--s5)}
.row.center .lead img.spoticon{margin:0 auto var(--s4)}
.row.center .lead h3,.row.center .lead h4{font-family:var(--serif);font-size:var(--t-h3);max-width:24ch;margin:0 auto;text-wrap:balance}
.row.center .lead .cond{font-family:var(--cond);font-weight:300;font-size:var(--t-stmt);line-height:1.04;max-width:20ch;
  margin:0 auto;text-wrap:balance;letter-spacing:-.008em}
.row.center .lead h3 + .stmt,.row.center .lead h4 + .stmt{margin-top:var(--s4)}
.row.center .lead .stmt.cond{color:var(--accent)}
.row.center .lead .stmt:not(.cond){max-width:44ch;margin:var(--s3) auto 0}
.row.center .body{grid-column:3 / 15;text-align:left}
@media (max-width:1000px){.row.center .body{grid-column:1 / -1}}

/* ---------- bold statements, pull quotes ---------- */
.statement{text-align:center;padding-block:var(--s6)}
.statement p,.pull .pq,p.cond:not(.lede){font-family:var(--cond);font-weight:300;font-size:var(--t-stmt);line-height:1.04;
  letter-spacing:-.008em;max-width:20ch;margin:0 auto;text-align:center;text-wrap:balance;hyphens:manual}
.pull{display:block;text-align:center;border-top:0;padding:var(--s6) 0;margin:var(--s5) auto}
.pull .pn{max-width:52ch;margin:var(--s4) auto 0;text-align:center;font-size:var(--body-size)}
.pull .pq .hl,.statement .hl{color:var(--accent)}

/* ---------- stories after the chapter separators ---------- */
.essay{grid-column:5 / 17;max-width:64ch;padding-block:var(--s5)}
.essay h1,.essay h2{font-family:var(--cond);font-weight:300;font-size:clamp(2.4rem,1.6rem + 2vw,3.6rem);line-height:1.02;
  text-align:left;max-width:none;margin:var(--s3) 0 var(--s4)}
.essay p,.story p{font-family:var(--cond);font-weight:300;font-size:calc(var(--body-size) * 1.2);line-height:1.34}
.essay .turn{font-size:calc(var(--body-size) * 1.2)}
.essay b,.essay strong,.essay .fig-n,.story b,.story strong{color:inherit;font-family:inherit;font-weight:inherit;font-size:inherit}
.dark-card:has(.essay),.dark-card.story{clip-path:none}
/* the conclusion reads long: a wider measure, body face */
#conclusion.essay,#conclusion .essay{grid-column:3 / 19;max-width:84ch;margin-inline:auto}
#conclusion p,#conclband .essay p{font-family:var(--serif);font-weight:400;font-size:var(--body-size);line-height:var(--lh-body)}
@media (max-width:1000px){.essay{grid-column:2 / 20}}

/* ---------- chapter separators: one centred page ---------- */
.chapdivider{display:grid;place-items:center;min-height:100svh;padding:var(--s6) var(--pad)!important;text-align:center}
.chapdivider .cd-center{display:flex;flex-direction:column;align-items:center}
.chapdivider .cd-mark{margin-bottom:6vh}
.chapdivider .manicule-ico{height:clamp(3.2rem,8vh,5rem);width:auto;margin:0 auto 1.4vh;display:block}
.chapdivider .chapno{font-family:var(--sans);font-size:.78rem;letter-spacing:.24em;color:var(--paper)}
.chapdivider .chapkick{font-family:var(--sans);font-size:clamp(1rem,2vh,1.3rem);color:var(--paper);margin:0 0 4vh}
.chapdivider h2{font-family:var(--cond);font-weight:300;font-size:clamp(3rem,8.4vh,6.2rem);line-height:1.04;
  color:var(--paper);max-width:none;margin:0 auto;text-align:center;white-space:nowrap;letter-spacing:-.01em}
@media (max-width:760px){.chapdivider h2{white-space:normal;font-size:clamp(2.2rem,9vw,3rem)}}

/* ---------- cover — as set on the book ---------- */
#cover .covertext{max-width:min(46rem,90vw)}
#cover h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,3.4vw,4.6rem);line-height:1.04;letter-spacing:-.01em;max-width:none}
#cover h1 .line{display:block;white-space:nowrap}
#cover .year{display:block;text-align:right;font-family:var(--cond);font-weight:300;color:var(--coral);
  font-size:clamp(1.8rem,2.7vw,3.6rem);line-height:1;margin-top:.12em}
#cover .plumlogo{width:clamp(4.6rem,6vw,6.4rem);margin-bottom:var(--s3)}
@media (min-width:1100px){#cover .coverart{background-position:left center}#cover .covertext{padding-left:max(var(--pad),4vw)}}

/* ---------- quotes ---------- */
.quote{width:100%;max-width:none;text-align:center;padding:var(--s6) var(--s3);margin:var(--s5) 0}
.quote .q-body{display:block;width:min(100%,var(--qw,28ch));margin:0 auto}
.quote .q-mark{display:block;font-family:var(--serif);font-size:2.4rem;line-height:.6;color:var(--ink-4);margin-bottom:var(--s3)}
.quote .q-text{font-family:var(--cond);font-weight:300;font-size:clamp(1.8rem,1.15rem + 1.5vw,2.8rem);line-height:1;
  letter-spacing:-.006em;color:var(--head);margin:0 auto;max-width:var(--qw,28ch);text-align:center;text-wrap:balance}
.quote .q-brace{display:block;width:min(100%,calc(var(--qw,28ch) * 1.25));height:16px;margin:var(--s4) auto var(--s3);overflow:visible}
.quote .q-brace path{fill:none;stroke:var(--ink-4);stroke-width:1;vector-effect:non-scaling-stroke}
.quote .q-name{display:block;font-family:var(--sans);font-size:.95rem;color:var(--head)}
.quote .q-role{display:block;font-family:var(--sans);font-size:.95rem;color:#9C7BFF;line-height:1.4}

/* ---------- the myth, set in its speech bubble ---------- */
.myth{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,13fr);column-gap:var(--gutter);margin:var(--s6) 0;align-items:start}
.myth-by{grid-column:1;display:flex;flex-direction:column;align-items:flex-end;text-align:right;padding-top:2.6rem;
  font-family:var(--sans);line-height:1.35;position:sticky;top:30vh}
.myth-by .by{font-family:var(--serif);color:var(--head);font-size:1rem}
.myth-by .name{font-weight:500;color:var(--head);font-size:1.05rem}
.myth-by .role{color:#9C7BFF;font-size:.9rem}
.myth-bubble{grid-column:2;position:relative;background:#EFE4FF;border-radius:18px;padding:var(--s5) clamp(2rem,5vw,5.5rem) var(--s6)}
.myth-bubble::before{content:"";position:absolute;left:-15px;top:3.2rem;width:16px;height:30px;background:inherit;
  clip-path:polygon(100% 0,0 50%,100% 100%)}
.myth-kick{display:block;text-align:center;font-family:var(--sans);font-weight:500;font-size:.95rem;color:var(--head);margin-bottom:var(--s3)}
.myth-q{font-family:var(--cond);font-weight:300;font-size:var(--t-stmt);line-height:1.02;color:#802029;text-align:center;
  max-width:18ch;margin:0 auto var(--s5);text-wrap:balance}
.myth-q .qm{font-family:var(--serif);font-size:.55em;color:#9C7BFF;vertical-align:.55em;margin:0 .15em}
.myth-body{columns:2;column-gap:clamp(2rem,4vw,3.6rem)}
.myth-body p{break-inside:avoid-column}
@media (max-width:1000px){.myth{grid-template-columns:1fr}.myth-by{position:static;align-items:flex-start;text-align:left;padding:0 0 var(--s3)}
  .myth-bubble{grid-column:1}.myth-bubble::before{display:none}.myth-body{columns:1}}

/* ---------- boxed sidebars, commentary, founder's note ---------- */
.sidebar-card,.pink-card,.dark-card:has(.sidetag){
  width:auto;max-width:1080px;margin:var(--s7) auto;margin-left:auto!important;margin-right:auto!important;
  padding:clamp(3.2rem,6vw,5.5rem) clamp(2.4rem,8vw,7.5rem);border-radius:0;clip-path:none;position:relative;isolation:isolate}
.sidebar-card > *,.pink-card > *,.dark-card:has(.sidetag) > *{width:100%;max-width:none;margin-left:0;margin-right:0}
.sidebar-card p,.pink-card p,.dark-card:has(.sidetag) p,.sidebar-card li{font-size:calc(var(--body-size) * 1.05)}
.sidebar-card h2,.sidebar-card h3,.dark-card:has(.sidetag) h2,.dark-card:has(.sidetag) h3{
  font-family:var(--serif);font-size:var(--t-h2);line-height:1.08;max-width:22ch;margin:0 0 var(--s5)}
.sidebar-card h4,.dark-card:has(.sidetag) h4{font-family:var(--serif);font-size:var(--t-h4);margin:var(--s5) 0 var(--s2);max-width:none}
/* corner cuts, with the sidebar tag set along the cut as in print */
.sidebar-card::before,.pink-card::before,.dark-card:has(.sidetag)::before{content:"";position:absolute;left:0;top:0;width:4.6rem;height:4.6rem;
  background:var(--bg);clip-path:polygon(0 0,100% 0,0 100%);z-index:1}
.sidebar-card::after,.dark-card:has(.sidetag)::after{content:"";position:absolute;right:0;bottom:0;width:4.6rem;height:4.6rem;
  background:var(--bg);clip-path:polygon(100% 0,100% 100%,0 100%);z-index:1}
.sidebar-card .sidetag,.dark-card .sidetag{position:absolute;left:1.08rem;top:1.08rem;z-index:2;width:auto;
  transform:translate(-50%,-50%) rotate(-45deg);background:none;padding:0;margin:0;
  font-family:var(--sans);font-size:.78rem;letter-spacing:.01em;text-transform:none;color:var(--coral);white-space:nowrap}
.sidebar-card .sidetag::after,.dark-card .sidetag::after{content:"";position:absolute;left:-1.6rem;right:-1.6rem;bottom:-.35rem;
  height:1px;background:color-mix(in srgb,var(--ink-3) 60%,transparent)}
/* founder's note — the print's pink card */
.pink-card{background:#F9D9CE;color:#802029;--head:#802029;--ink:#802029;--ink-2:#802029;--ink-3:#9A4A52;--kick:#802029;
  --accent:#FF4052;--rule:#EDBCB6}
.pink-card h2,.pink-card h3{font-family:var(--serif);font-weight:400;font-size:var(--t-h2);color:#802029;margin:0 0 var(--s4)}
.pink-card .lede{font-family:var(--cond);font-weight:300;font-size:clamp(1.9rem,1.25rem + 1.5vw,2.8rem);line-height:1.08;
  text-align:left;color:#802029;margin:0 0 var(--s6);max-width:30ch}
.pink-card .lede .inline-logo{height:.78em;width:auto;vertical-align:-.04em;display:inline-block;margin:0 .02em}
.pink-card h4{font-family:var(--sans);font-weight:500;font-size:calc(var(--body-size) * .88);color:#802029;margin:var(--s5) 0 var(--s3);letter-spacing:0;max-width:none}
.pink-card p{color:#802029}
/* the 2% club */
#sb-2pct{-webkit-mask:none;mask:none}
.two-club-logo{display:block;width:clamp(5rem,7vw,6.4rem);height:auto;margin:0 0 var(--s4)}
#sb-2pct h2,#sb-2pct h3{color:#FABAC0}
/* stories on the dark ground stay full width */
.dark-card:not(:has(.sidetag)){clip-path:none}

/* ---------- tables — colours as printed ---------- */
table,th,td,td.num,th.num{font-family:var(--mono)}
table{font-size:clamp(.78rem,.62rem + .26vw,.92rem);letter-spacing:-.01em;border-collapse:collapse;
  --tb:#C9B8E8;--th:#802029;--tf:#8A63E6;--tc:var(--ink)}
.band-dark table,.dark-card table{--tb:#6E5796;--th:#A88BF0;--tf:#F4E9DC;--tc:#F4E9DC}
table th,table td{border:1px solid var(--tb);padding:.72rem .9rem;vertical-align:top;line-height:1.45}
table thead th{color:var(--th);font-weight:500;text-transform:none;letter-spacing:0;font-size:1em;border-bottom:1px solid var(--tb)}
table tbody td:first-child,table tbody th[scope="row"]{color:var(--tf);font-weight:400}
table tbody td{color:var(--tc)}
table tbody tr:last-child td{border-bottom:1px solid var(--tb)}
caption{font-family:var(--sans);font-weight:500;font-size:.98rem;color:var(--head);padding-bottom:var(--s3)}
.tablescroll th,.tablescroll td{min-width:8.5rem}
.tablescroll td:not(.num):not(:first-child){min-width:11rem}

/* ---------- flipping hands: icon · title · text ---------- */
.flipset{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,14fr);column-gap:var(--gutter);margin:var(--s6) 0}
.flip-stage{grid-column:1;grid-row:1;position:sticky;top:calc(36vh - 2.4rem);height:4.8rem;align-self:start;perspective:900px}
.flip-hand{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;opacity:0;
  transform:rotateX(-58deg) translateY(18%) scale(.92);transform-origin:50% 100%;
  transition:opacity .42s ease,transform .55s cubic-bezier(.2,.8,.25,1)}
.flip-hand.on{opacity:1;transform:none}
.flip-hand.past{opacity:0;transform:rotateX(48deg) translateY(-14%) scale(.94);transform-origin:50% 0}
.flip-rows{grid-column:2;grid-row:1}
.flip-row{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,10fr);column-gap:var(--gutter);min-height:46vh;padding:var(--s3) 0 var(--s6);align-items:start}
.flip-row:last-child{min-height:0}
.flip-title{position:sticky;top:36vh;transform:translateY(-50%);margin:0;font-family:var(--serif);font-weight:400;color:var(--coral);
  font-size:var(--t-h3);line-height:1.14;max-width:14ch;transition:opacity .35s ease}
.flip-row:not(.on) .flip-title{opacity:0}
.flip-row .flip-body ul.brief{margin-top:0}
.flip-inline{display:none}
@media (max-width:900px){
  .flipset{grid-template-columns:1fr}.flip-stage{display:none}.flip-rows{grid-column:1}
  .flip-row{grid-template-columns:1fr;min-height:0;padding:var(--s4) 0}
  .flip-inline{display:block;width:3.6rem;margin-bottom:var(--s2)}
  .flip-title{position:static;transform:none;opacity:1!important;margin-bottom:var(--s2)}
}

/* ---------- original diagram artwork: side by side ---------- */
.figpair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,4.5rem);margin:var(--s6) 0;align-items:start}
.figpair figure.artfig{margin:0;max-width:none}
figure.artfig{margin:var(--s6) auto;text-align:left}
figure.artfig .art{display:block;width:100%;height:auto;max-height:78vh;margin:var(--s3) auto 0}
.loopfig{max-width:980px}
.art-title{font-family:var(--sans);font-weight:500;font-size:1.05rem;color:var(--head);margin:0}
.art-title span{color:var(--coral)}
.art-sub{font-family:var(--sans);font-size:.9rem;color:var(--ink-3);margin:.3rem 0 0}
.art-lists{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:var(--s5)}
.art-lists > div{padding:0 clamp(1rem,2.4vw,2.2rem)}
.art-lists > div + div{border-left:1px solid var(--tb,#C9B8E8)}
.art-ltitle{font-family:var(--sans);font-weight:500;font-size:1rem;color:var(--head);margin:0 0 var(--s3)}
.art-lists ul.brief li{font-size:calc(var(--body-size) * .92);text-align:left;hyphens:manual;padding:.55rem 0 .55rem 1.3rem}
.art-result{text-align:center;border-top:1px solid var(--rule);padding-top:var(--s4);margin:var(--s5) auto 0;max-width:60ch}
.art-result b{display:block;font-family:var(--sans);font-weight:500}
@media (max-width:900px){.figpair{grid-template-columns:1fr}.art-lists{grid-template-columns:1fr}.art-lists > div + div{border-left:0;margin-top:var(--s4)}}

/* ---------- charts ---------- */
.chart{--t-key:#A3307A;--t-p95l:#E7B8DF;--t-p95:#E062B3;--t-p75l:#C9BEF2;--t-medl:#C3CBF4}
.band-dark .chart{--t-key:#E062B3}
.chart .t-key{stroke:var(--t-key)}.chart .t-p95l{stroke:var(--t-p95l)}.chart .t-p95{stroke:var(--t-p95)}
.chart .t-p75l{stroke:var(--t-p75l)}.chart .t-medl{stroke:var(--t-medl)}.chart .t-fill-p95{fill:var(--t-p95)}
.chart .hz-l{stroke-linecap:round}
figure.chartfig.wide{width:min(calc(100vw - var(--railw) - 2 * var(--pad)), 1440px);
  margin-left:calc(50% - min(50vw - var(--railw) / 2 - var(--pad), 720px));max-width:none}
figure.chartfig.wide .chart{max-width:none}
.chart .ch-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.chart .ch-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.chart .ch-grid.cols-3 .ch-cell,.chart .ch-grid.cols-4 .ch-cell{padding:var(--s3) var(--s3) var(--s3) 0;border-top:0!important}
.chart .ch-grid.cols-3 .ch-cell + .ch-cell,.chart .ch-grid.cols-4 .ch-cell + .ch-cell{border-left:1px solid var(--rule);padding-left:var(--s3)}
.chart .ch-cell.center{grid-column:auto;max-width:none;margin:0;border-left:1px solid var(--rule)!important;padding-left:var(--s3)!important}
@media (max-width:1100px){
  .chart .ch-grid.cols-3,.chart .ch-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chart .ch-grid.cols-3 .ch-cell:nth-child(2n+1),.chart .ch-grid.cols-4 .ch-cell:nth-child(2n+1){border-left:0;padding-left:0}
  .chart .ch-grid.cols-3 .ch-cell.center{grid-column:1 / -1;max-width:50%;margin-inline:auto;border-left:0!important;padding-left:0!important}
}
@media (max-width:640px){.chart .ch-grid.cols-3,.chart .ch-grid.cols-4{grid-template-columns:1fr}
  .chart .ch-grid .ch-cell{border-left:0!important;padding-left:0!important}.chart .ch-grid .ch-cell.center{max-width:none}}
/* designing for the tail — print sizes, visible glows */
.chart .ch-quadlist{max-width:880px;padding:3.4rem 1.6rem 3.4rem 5.2rem}
.chart .ql-title{font-size:.86rem}
.chart .ql-items{font-size:.84rem;line-height:1.5}
.chart .ql-items li{font-size:inherit;margin:.2rem 0;white-space:nowrap}
.chart .ql-q{padding:1.4rem 1.6rem;min-height:10rem}
.chart .t-glow-is{background:radial-gradient(closest-side,rgba(155,124,242,.30),rgba(155,124,242,.10) 55%,transparent)}
.chart .t-glow-wf{background:radial-gradient(closest-side,rgba(232,86,74,.24),rgba(232,86,74,.08) 55%,transparent)}
.chart .t-glow-hl{background:radial-gradient(closest-side,rgba(224,98,179,.24),rgba(224,98,179,.08) 55%,transparent)}
.chart .ql-corner{font-size:.78rem}

/* ---------- benchmarks: even rounded hairlines, legible values ---------- */
.bench-bar{position:relative;display:block;height:1.5rem;overflow:visible}
.bench-fill,.bench-vals{position:absolute;inset:0;display:flex;gap:3px}
.bench-fill{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='24'%3E%3Cline x1='2.5' y1='1.2' x2='2.5' y2='22.8' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 0 0 / 5px 100% repeat-x;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='24'%3E%3Cline x1='2.5' y1='1.2' x2='2.5' y2='22.8' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 0 0 / 5px 100% repeat-x}
.bench-fill .bench-seg{background:none;border-radius:0;min-width:0}
.bench-fill .bench-seg.t-red{background:#E8564A}.bench-fill .bench-seg.t-pink{background:#E667B4}
.bench-fill .bench-seg.t-lavender{background:#B9A5E0}.bench-fill .bench-seg.t-purple{background:#8F6BD8}
.bench-fill .bench-seg.t-olive{background:#B5A455}.bench-fill .bench-seg.t-cream{background:#D9C8A8}.bench-fill .bench-seg.t-grey{background:#A39B94}
.bench-vals{pointer-events:none}
.bench-val{flex:none;display:flex;align-items:center;justify-content:center;min-width:0;overflow:visible;
  transition:width .5s cubic-bezier(.22,.7,.3,1)}
.bench-val b{font-family:var(--mono);font-weight:500;font-size:.72rem;color:var(--maroon-deep);opacity:0;transition:opacity .15s;
  background:#FFFAF2;border:1px solid #FFFFFF;box-shadow:0 0 0 2px rgba(255,255,255,.9);border-radius:3px;padding:.05rem .3rem;line-height:1.2}
.bench-val b:empty{display:none}
.bench-row:hover .bench-val b,.benchmarks.show-all .bench-val b{opacity:1}
.bp-tools{display:flex;align-items:center;gap:var(--s4)}
.bp-toggle{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;font-family:var(--sans);font-size:.84rem;color:var(--ink-2);user-select:none}
.bp-toggle input{position:absolute;opacity:0;pointer-events:none}
.bp-toggle .tg{width:2.1rem;height:1.15rem;border-radius:1rem;background:var(--rule);position:relative;transition:background .2s}
.bp-toggle .tg::after{content:"";position:absolute;left:.15rem;top:.15rem;width:.85rem;height:.85rem;border-radius:50%;background:#fff;transition:transform .2s}
.bp-toggle input:checked + .tg{background:var(--coral)}
.bp-toggle input:checked + .tg::after{transform:translateX(.95rem)}
.bp-toggle input:focus-visible + .tg{outline:2px solid var(--coral);outline-offset:2px}
.benchplate .bp-title{font-size:var(--t-h3)}
.bench-row{grid-template-columns:12rem minmax(0,1fr)}
.bench-lbl{font-size:.72rem}

/* ---------- top bar, tracker, contents ---------- */
#menubtn,#printbtn{display:none}
.toolbar .bar{justify-content:center}
.toolbar .tbrand{font-family:var(--serif);font-size:1rem;letter-spacing:0;text-transform:none;color:#F4E9DC;margin:0}
.toolbar .tbrand .ty{font-family:var(--cond);font-weight:300;color:var(--coral);margin-left:.35em;font-size:1.08em}
#scrollrail{display:flex;flex-direction:column;justify-content:center;gap:0;padding:4.4rem 0 2rem;background:var(--plum);border-right:1px solid var(--plum-3)}
#scrollrail .tick{display:block;flex:1;max-height:1.1rem;position:relative}
#scrollrail .tick::before{content:"";position:absolute;left:7px;top:50%;width:9px;height:1.5px;border-radius:2px;
  background:color-mix(in srgb,var(--lav) 55%,transparent);transform:translateY(-50%);
  transition:width .25s cubic-bezier(.2,.8,.25,1),background .2s,height .2s}
#scrollrail .tick.ch::before{width:13px;background:color-mix(in srgb,var(--lav) 80%,transparent)}
#scrollrail .tick.on::before{width:19px;height:2px;background:var(--magenta)}
#scrollrail:hover .tick::before{background:var(--lav)}
#scrollrail:hover .tick.on::before{background:var(--magenta)}
@media (max-width:760px){#scrollrail .tick::before{left:3px;width:6px}#scrollrail .tick.on::before{width:11px}}
nav.toc{width:min(34rem,92vw);padding:var(--s5) var(--s5) var(--s6);background:var(--plum);font-family:var(--mono)}
nav.toc .tochead{font-family:var(--cond);font-weight:300;font-size:2.6rem;letter-spacing:0;text-transform:none;color:var(--paper);
  border:0;margin:0 0 var(--s4);padding:0}
nav.toc .toclist{display:flex;flex-direction:column}
nav.toc .toclist a{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin:0;border-radius:0;
  padding:.5rem 0;border-bottom:1px solid #3F1733;font-family:var(--mono);font-size:.76rem;line-height:1.4;color:#EDE0D3;
  transition:color .15s,background .15s}
nav.toc .toclist a .tp{flex:none;color:inherit}
nav.toc .toclist a.t-ch{color:var(--coral);margin-top:var(--s4);border-bottom-color:#5A2340}
nav.toc .toclist a.t-ch:first-child{margin-top:0}
nav.toc .toclist a.t-sub{color:#A88BF0;padding-left:.6rem}
nav.toc .toclist a.t-it{padding-left:.6rem}
nav.toc .toclist a.t-it2{padding-left:1.6rem}
nav.toc .toclist a:hover{background:transparent;color:var(--paper)}
nav.toc .toclist a.t-ch:hover{color:#FF7A86}
nav.toc .toclist a.on{background:transparent;color:var(--magenta)}
#sb-2pct > img.two-club-logo,.dark-card > img.two-club-logo{width:clamp(5rem,7vw,6.4rem);max-width:6.4rem}
.sidebar-card > img,.pink-card > img,.dark-card:has(.sidetag) > img{width:auto}
.sidebar-card h4,.dark-card:has(.sidetag) h4{font-family:var(--sans);font-weight:500;font-size:calc(var(--body-size) * .95);
  color:var(--head);margin:var(--s6) 0 var(--s3);padding-top:var(--s4);border-top:1px solid var(--rule)}
.sidebar-card h3 + p,.sidebar-card h2 + p{margin-top:0}
.sidebar-card p + p{margin-top:.2em}

/* =====================================================================
   REVISION 5
   ===================================================================== */
/* ---------- top bar: logo · title · year ---------- */
.toolbar .bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.62rem clamp(1.2rem,3vw,2.6rem);gap:var(--s3)}
.toolbar .tb-logo{height:1.05rem;width:auto;justify-self:start}
.toolbar .tbrand{font-family:var(--serif);font-size:1rem;color:#F4E9DC;letter-spacing:0;text-transform:none;justify-self:center;margin:0}
.toolbar .tb-year{font-family:var(--cond);font-weight:300;font-size:1.12rem;color:var(--coral);justify-self:end}

/* ---------- tracker: dense hairlines, milestones where each section sits ---------- */
#scrollrail{display:block;padding:0;cursor:pointer;background:var(--plum)}
#scrollrail .rail-dense{position:absolute;left:0;right:0;top:3.2rem;bottom:.8rem;
  background:repeating-linear-gradient(to bottom,color-mix(in srgb,var(--lav) 30%,transparent) 0 1.5px,transparent 1.5px 6px) 8px 0 / 8px 100% no-repeat}
#scrollrail .ms{position:absolute;left:0;right:0;height:9px;margin-top:-4.5px;display:block}
#scrollrail .ms::before{content:"";position:absolute;left:8px;top:50%;width:12px;height:1.5px;border-radius:2px;transform:translateY(-50%);
  background:color-mix(in srgb,var(--lav) 85%,transparent);transition:width .25s cubic-bezier(.2,.8,.25,1),background .2s}
#scrollrail .ms.ch::before{width:15px;background:var(--lav)}
#scrollrail .ms.on::before{width:20px;height:2px;background:var(--magenta)}
#scrollrail .ms:hover::before{width:20px;background:var(--paper)}
#scrollrail .ms .ms-tip{position:absolute;left:calc(100% + 10px);top:50%;transform:translate(-4px,-50%);white-space:nowrap;
  font-style:normal;font-family:var(--mono);font-size:.7rem;color:#F4E9DC;background:var(--plum);border:1px solid var(--plum-3);
  padding:.32rem .6rem;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;z-index:80}
#scrollrail .ms:hover .ms-tip{opacity:1;transform:translate(0,-50%)}
#scrollrail .ms.ch .ms-tip{color:var(--coral)}
#scrollrail{overflow:visible}

/* ---------- opening: sticky book, content rolls over it ---------- */
#cover{position:sticky;top:0;z-index:0;overflow:hidden}
#cover .coverart,#cover .covertext{will-change:transform,opacity;transform-origin:62% 46%}
main{position:relative;z-index:2}
#execband{position:relative}
#execband::before{content:"";position:absolute;top:0;left:50%;width:min(720px,56%);height:1px;background:var(--coral);transform:translateX(-50%)}

/* ---------- stories: centred, flush after the separators ---------- */
.dark-card.story,.story-band{margin-block:0}
.band-light:has(> .sheet:first-child > .dark-card.story){padding-top:0}
.band-light > .sheet:first-child > .dark-card.story{margin-top:0}
.dark-card.story + *{margin-top:var(--s6)}
.essay:not(#conclusion),.dark-card.story{text-align:center}
.essay:not(#conclusion) h1,.essay:not(#conclusion) h2,.dark-card.story h2,.dark-card.story .cond{text-align:center!important;margin-inline:auto!important}
.essay:not(#conclusion) p,.dark-card.story p{text-align:center;hyphens:manual;margin-inline:auto;max-width:56ch}
.essay:not(#conclusion) .label,.dark-card.story .card-kick,.dark-card.story .label{font-size:1rem;display:block;text-align:center;margin-bottom:var(--s3)}
.dark-card.story{padding:var(--s7) clamp(1.5rem,8vw,8rem)}
.dark-card.story h2{font-family:var(--cond);font-weight:300;font-size:clamp(2.4rem,1.6rem + 2vw,3.6rem);line-height:1.02;margin-bottom:var(--s4)}
.dark-card.story p{font-family:var(--cond);font-weight:300;font-size:calc(var(--body-size) * 1.2);line-height:1.34}
.dark-card.story .essay{grid-column:auto;max-width:none;padding:0}

/* ---------- the myth: pointer travels with the credit ---------- */
.myth-bubble::before{display:none}
.myth-by{position:sticky;top:34vh;padding-top:0;align-self:start}
.myth-by::after{content:"";position:absolute;right:calc(-1 * var(--gutter) - 1px);top:1.4rem;width:16px;height:30px;
  background:#EFE4FF;clip-path:polygon(100% 0,0 50%,100% 100%)}
.myth-body{columns:1;max-width:none}
.myth-body p{text-align:justify}
.myth-bubble{padding:var(--s5) clamp(2rem,7vw,7rem) var(--s6)}
@media (max-width:1000px){.myth-by::after{display:none}}

/* ---------- sidebars: clean cuts, both corners ---------- */
.sidebar-card .sidetag::after,.dark-card .sidetag::after{display:none}
.pink-card::after{content:"";position:absolute;right:0;bottom:0;width:4.6rem;height:4.6rem;background:var(--bg);
  clip-path:polygon(100% 0,100% 100%,0 100%);z-index:1}
#sb-2pct > img.two-club-logo,.dark-card > img.two-club-logo{width:clamp(7.2rem,10vw,9rem);max-width:9rem}
.dark-card:has(.sidetag) h2,.dark-card:has(.sidetag) h3,.sidebar-card h2,.sidebar-card h3{max-width:32ch}

/* ---------- condensed moments: wider measure ---------- */
.pull .pq,.statement p,p.cond:not(.lede){max-width:32ch}
.row.center .lead .cond{max-width:28ch}
.row.center .body ul.brief li{max-width:none}
.row.center .body ul.brief{margin-inline:0}

/* ---------- stat rows centred ---------- */
.statrow{justify-items:center;text-align:center}
.statrow .stat{display:flex;flex-direction:column;align-items:center}
.statrow .statlbl{margin-inline:auto;text-align:center}

/* ---------- tables: lilac first column, open top-left cell ---------- */
table{--tf:#AB79F6}
.band-dark table,.dark-card table{--tf:#F4E9DC}
table tbody td:first-child b,table tbody td:first-child strong,table tbody th[scope="row"] b{color:inherit}
table thead tr > th:first-child{border-top-color:transparent;border-left-color:transparent}
table tbody tr > :first-child{border-left-color:transparent}

/* ---------- bridge graphs span the contained width ---------- */
.chart.ch-waterfall{max-width:none}
.chart.ch-waterfall .ch-svg{max-height:none}
figure.chartfig:has(.ch-waterfall){max-width:none}

/* ---------- the four-step loop, larger ---------- */
.loopfig{max-width:1240px}
.loopfig .art{max-height:none}

/* ---------- conclusion headings: one line, two at most ---------- */
.concl-sub{font-family:var(--sans);font-weight:500;font-size:calc(var(--body-size) * 1.02);line-height:1.35;color:var(--magenta);
  max-width:none!important;margin:var(--s6) 0 var(--s3)!important}
.concl-h{font-family:var(--serif);font-weight:400;font-size:var(--t-h2);line-height:1.12;color:var(--lav);max-width:none!important;margin:var(--s6) 0 var(--s3)}

/* ---------- About Plum, as printed ---------- */
.about{margin-top:var(--s7)}
.about-wrap{max-width:1080px;margin-inline:auto}
.about-title{font-family:var(--serif);font-weight:400;font-size:var(--t-h2);color:var(--paper);max-width:none;margin:0 0 var(--s4);
  display:flex;align-items:baseline;gap:.35em}
.about-logo{height:.82em;width:auto;display:inline-block;transform:translateY(.1em)}
.about-intro{font-size:var(--body-size);color:#F4E9DC;max-width:70ch;margin-bottom:var(--s5)}
.awards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);margin-bottom:var(--s6)}
.award{display:flex;gap:1rem;align-items:center;background:#2A1024;border:1px solid #3F1733;border-radius:6px;padding:.9rem 1rem}
.award img{width:3rem;height:3rem;flex:none;background:#1D0716;border-radius:4px;padding:.3rem;object-fit:contain}
.award b{display:block;font-family:var(--sans);font-weight:500;font-size:.9rem;color:#F4E9DC;line-height:1.3}
.award span{display:block;font-family:var(--sans);font-size:.76rem;color:#A8919C;margin-top:.15rem}
.about-h{font-family:var(--serif);font-weight:400;font-size:var(--t-h2);line-height:1.12;color:#C9B5F5;max-width:26ch;margin:0 0 var(--s5)}
.products{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(2rem,5vw,4.5rem);margin-bottom:var(--s6)}
.prod{margin-bottom:var(--s4)}
.prod.gap{margin-top:var(--s5)}
.prod b{display:block;font-family:var(--sans);font-weight:600;font-size:1rem;color:#F4E9DC;margin-bottom:.35rem}
.prod p{font-family:var(--sans);font-size:.95rem;line-height:1.5;color:#D9C8BC;margin:0;text-align:left}
.trusted{font-family:var(--sans);font-weight:600;font-size:clamp(1.3rem,1rem + .8vw,1.8rem);color:#F4E9DC;margin:0 0 var(--s3);text-align:left}
.trusted span{color:var(--coral)}
.bigstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4);margin-bottom:var(--s6)}
.bigstats b{display:block;font-family:var(--sans);font-weight:700;font-size:clamp(2rem,1.3rem + 1.8vw,3.1rem);line-height:1;color:#B79CF0;letter-spacing:-.01em}
.bigstats span{display:block;font-family:var(--sans);font-size:.9rem;color:#D9C8BC;margin-top:.45rem}
.logowall{display:block;width:100%;height:auto;margin:0}
@media (max-width:900px){.awards,.products,.bigstats{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.awards,.products{grid-template-columns:1fr}}

/* ---------- credits & the closing stamp ---------- */
#credits{margin-top:var(--s7)}
.credits{max-width:760px;margin-inline:auto;text-align:center}
.credits-h{font-family:var(--cond);font-weight:300;font-size:var(--t-stmt);line-height:1.04;color:var(--paper);max-width:none;margin:0 auto var(--s5)}
table.credit-table{min-width:0;width:100%;font-size:.92rem}
table.credit-table td{border:0;border-bottom:1px solid #3F1733;padding:.8rem .4rem;text-align:left}
table.credit-table td:first-child{color:#F4E9DC}
table.credit-table td:last-child{color:var(--coral);text-align:right}
table.credit-table tr.sub th{border:0;padding:var(--s5) .4rem .6rem;text-align:left;color:#A88BF0;font-weight:500}
.stamp-end{display:flex;justify-content:center;padding:clamp(5rem,12vh,9rem) 0 clamp(5rem,14vh,10rem)}
.stamp-end img{width:clamp(12rem,20vw,17rem);height:auto}

/* ---------- glossary ---------- */
.gitem .gt{font-family:var(--serif);font-weight:600;font-size:1.05rem}
.gitem .gc::before{color:#8F6BD8}

/* ---------- chart tones used by the rebuilt trend charts ---------- */
.chart{--t-tfun:#9879F6;--t-tfunl:#E2E5FF;--t-tmnc:#FF6EC5;--t-tmncl:#EBC1EB;
  --t-sp95:#FF6EC5;--t-sp95l:#EBC1EB;--t-sp75:#B197FF;--t-sp75l:#DBDFFF;--t-smed:#72A6FF;--t-smedl:#C3C9FF}
.chart .t-tfun{stroke:var(--t-tfun)}.chart .t-tfunl{stroke:var(--t-tfunl)}.chart .t-tmnc{stroke:var(--t-tmnc)}.chart .t-tmncl{stroke:var(--t-tmncl)}
.chart .t-sp95{stroke:var(--t-sp95)}.chart .t-sp95l{stroke:var(--t-sp95l)}.chart .t-sp75{stroke:var(--t-sp75)}.chart .t-sp75l{stroke:var(--t-sp75l)}
.chart .t-smed{stroke:var(--t-smed)}.chart .t-smedl{stroke:var(--t-smedl)}
.chart .t-bg-tfun{background:var(--t-tfun)}.chart .t-bg-tmnc{background:var(--t-tmnc)}
.chart .t-bg-sp95{background:var(--t-sp95)}.chart .t-bg-sp75{background:var(--t-sp75)}.chart .t-bg-smed{background:var(--t-smed)}
.chart .t-fill-tfun{fill:var(--t-tfun)}.chart .t-fill-tmnc{fill:var(--t-tmnc)}
.chart .t-fill-sp95{fill:var(--t-sp95)}.chart .t-fill-sp75{fill:var(--t-sp75)}.chart .t-fill-smed{fill:var(--t-smed)}
figure.artfig.loopfig{width:100%;justify-self:center}
table tbody tr > th:first-child{color:var(--tf);font-weight:400}
.band-light table tbody tr > th:first-child{border-left-color:transparent}
figure.artfig .art{object-fit:contain}

/* =====================================================================
   REVISION 6
   ===================================================================== */
/* no all-caps anywhere */
*,*::before,*::after{text-transform:none!important}
.label,.secnum,.card-kick,.chapkick,.gitem .gc::before,.sidetag,nav.toc *,th,caption,.bp-sub,.benchnav button,.figtools button{letter-spacing:0!important}

/* opening: a longer coral rule where the content meets the book */
#execband::before{width:min(1240px,86%)}

/* ---------- tracker: one smooth run of equal hairlines ---------- */
#scrollrail .tk{position:absolute;left:0;right:0;height:6px;margin-top:-3px;display:block}
#scrollrail .tk::before{content:"";position:absolute;left:8px;top:50%;width:12px;height:1.5px;border-radius:2px;transform:translateY(-50%);
  background:color-mix(in srgb,var(--lav) 55%,transparent);transition:background .35s ease}
#scrollrail .tk.ms.ch::before{background:var(--magenta)}
#scrollrail .tk.done::before{background:var(--coral)}
#scrollrail .tk.ms{cursor:pointer}
#scrollrail .tk.ms:hover::before{background:var(--paper)}
#scrollrail .tk .ms-tip{position:absolute;left:calc(100% + 10px);top:50%;transform:translate(-4px,-50%);white-space:nowrap;
  font-style:normal;font-family:var(--mono);font-size:.7rem;color:#F4E9DC;background:var(--plum);border:1px solid var(--plum-3);
  padding:.32rem .6rem;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;z-index:80}
#scrollrail .tk.ms:hover .ms-tip{opacity:1;transform:translate(0,-50%)}
#scrollrail .tk.ch .ms-tip{color:var(--magenta)}

/* ---------- sidebar tag sized to its cut ---------- */
.sidebar-card .sidetag,.dark-card .sidetag{left:1.46rem;top:1.46rem;font-size:1rem;font-family:var(--sans)}

/* ---------- myth: the quote on two lines ---------- */
.myth-q{max-width:24ch;font-size:clamp(1.9rem,1.2rem + 1.6vw,2.9rem)}

/* ---------- founder's note signature, credited like the quotes ---------- */
.pink-card .sig{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:var(--s6)}
.pink-card .sig .q-brace{display:block;width:min(100%,26rem);height:16px;margin:0 auto var(--s3);overflow:visible}
.pink-card .sig .q-brace path{fill:none;stroke:#C98A8A;stroke-width:1;vector-effect:non-scaling-stroke}
.pink-card .sig .q-name{display:block;font-family:var(--sans);font-size:.98rem;color:#802029}
.pink-card .sig .q-role{display:block;font-family:var(--sans);font-size:.98rem;color:#9C7BFF}

/* ---------- tables: the lilac column reads like the rest of the table ---------- */
table th{font-size:1em;font-weight:400;letter-spacing:0}
table thead th{font-weight:500}
table tbody th,table tbody td:first-child{font-size:1em;letter-spacing:0;font-weight:400}
table .t-hl-pink{color:#E250B6}
table .t-hl-coral{color:#FF4052}
table .t-hl-lilac{color:#9C7BFF}
.band-dark table .t-hl-pink,.dark-card table .t-hl-pink{color:#FF72D0}

/* ---------- the flex sidebar, as printed ---------- */
.flex-card{background:#C7E8B0;--head:#0B5C4D;--ink:#0B5C4D;--ink-2:#0B5C4D;--ink-3:#2F7564;--kick:#0B5C4D;--accent:#0B5C4D;--rule:#A9CC8F;--rule-2:#B4D29A;color:#0B5C4D;
  box-shadow:inset 0 -14px 0 #B4D29A}
.flex-card p,.flex-card h3,.flex-card h4{color:#0B5C4D}
.flex-card .sidetag{color:#68AD6E!important}
.flex-card h3{font-size:var(--t-h2);max-width:20ch}
.flex-card .flex-hl{color:#72A6FF}
.flex-card h4{border-top:0!important;padding-top:0!important;margin-top:var(--s5)!important}
.flex-card .flex-tear{height:44px;margin:var(--s6) calc(-1 * clamp(2.4rem,8vw,7.5rem));width:auto!important;max-width:none!important;
  background:
    linear-gradient(#FFFAF2,#FFFAF2) 0 50%/100% 10px no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 44' preserveAspectRatio='none'%3E%3Cpath fill='%23B4D29A' d='M0 30h18v-8h16v10h22v-12h18v8h30v-10h16v14h26v-6h20v-12h16v10h34v-6h22v12h20v-14h18v8h24v-6h14v10h22v-8h20v6h14v14H0z'/%3E%3Cpath fill='%23C7E8B0' d='M0 14h22v8h18V10h26v10h14v-6h30v12h18V6h20v10h26v-8h18v14h22v-8h16v6h30V4h16v12h24v-6h20v10h26V0h12v44H0z' opacity='.0'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
.flex-card .flex-close{font-family:var(--cond);font-weight:300;font-size:var(--t-stmt);line-height:1.04;color:#0B5C4D;
  max-width:24ch;margin:var(--s6) 0 var(--s3);text-align:left;hyphens:manual}
.flex-card::before,.flex-card::after{background:var(--bg)}

/* ---------- about: icons visible, as printed in white ---------- */
.award img{filter:brightness(0) invert(1);opacity:.92;background:transparent;padding:.2rem}

/* ---------- glossary: the whole 'in this report' note in lilac ---------- */
.gitem .gc{color:#8F6BD8}
.gitem .gc::before{content:"In this report · ";font-family:var(--sans);font-size:.8rem;color:#8F6BD8}

/* ---------- closing frame + download ---------- */
.site.closing{position:relative;z-index:3;background:#1E0816;border-top:0;padding:0;overflow:hidden}
.closing-art{width:100%;aspect-ratio:1920 / 1080;max-height:92svh;background:url("assets/frame-closing.webp") center / cover no-repeat}
.closing-cta{display:flex;flex-direction:column;align-items:center;gap:var(--s3);padding:var(--s5) var(--pad) var(--s7);text-align:center}
.dl-btn{display:inline-flex;align-items:baseline;gap:.7rem;padding:.95rem 1.7rem;border-radius:999px;background:var(--coral);color:#fff;
  font-family:var(--sans);font-weight:500;font-size:1.02rem;text-decoration:none;transition:background .18s,transform .18s}
.dl-btn span{font-size:.8rem;opacity:.85}
.dl-btn:hover{background:#FF5B6B;transform:translateY(-1px)}
.dl-btn:focus-visible{outline:2px solid var(--paper);outline-offset:3px}
.closing-cta .fnote{font-family:var(--sans);font-size:.8rem;color:#A8919C;margin:0}
#totop{z-index:90}

/* =====================================================================
   MOBILE
   ===================================================================== */
@media (max-width:760px){
  :root{--pad:18px}
  .toolbar .bar{padding:.55rem .9rem;gap:.6rem}
  .toolbar .tbrand{font-size:.82rem;text-align:center;line-height:1.2}
  .toolbar .tb-logo{height:.9rem}
  .toolbar .tb-year{font-size:.95rem}
  #scrollrail .tk::before{left:3px;width:9px}
  #scrollrail .tk .ms-tip{display:none}
  #cover{min-height:88svh}
  #cover .coverart{background-size:cover;background-position:62% 42%}
  #cover .covertext{padding:0 var(--pad) 3rem}
  #cover h1{font-size:clamp(2.1rem,9.5vw,2.8rem)}
  #cover .year{font-size:clamp(1.7rem,8vw,2.3rem)}
  .band{padding-block:var(--s6)}
  .row + .row{margin-top:var(--s5)}
  .row.center .lead .cond,.statement p,.pull .pq,p.cond:not(.lede){font-size:clamp(1.8rem,7.4vw,2.4rem);max-width:none}
  .row.center .body{grid-column:1 / -1}
  .essay,.dark-card.story{padding-inline:var(--pad)}
  .dark-card.story{padding-block:var(--s6)}
  .sidebar-card,.pink-card,.dark-card:has(.sidetag){margin-inline:0!important;padding:3.4rem 1.3rem 3rem}
  .sidebar-card::before,.pink-card::before,.dark-card:has(.sidetag)::before,.sidebar-card::after,.pink-card::after,.dark-card:has(.sidetag)::after{width:2.8rem;height:2.8rem}
  .sidebar-card .sidetag,.dark-card .sidetag{left:.9rem;top:.9rem;font-size:.72rem}
  .flex-card .flex-tear{margin-inline:-1.3rem}
  .myth-q{max-width:none;font-size:clamp(1.7rem,7vw,2.2rem)}
  .myth-bubble{padding:var(--s4) 1.2rem var(--s5)}
  .quote{padding-inline:0}
  .quote .q-text{font-size:clamp(1.55rem,6.6vw,2rem)}
  .chapdivider h2{font-size:clamp(2.2rem,10vw,3rem)}
  .flip-row{padding:var(--s3) 0}
  .figpair{gap:var(--s5)}
  .statrow{grid-template-columns:1fr;gap:var(--s4)}
  .benchmarks{width:auto!important;margin-left:0!important}
  .benchplate .bp-top{flex-direction:column;align-items:flex-start;gap:var(--s3)}
  .bp-tools{width:100%;justify-content:space-between}
  .bench-row{grid-template-columns:6.6rem minmax(0,1fr);gap:.6rem}
  .bench-lbl{font-size:.64rem}
  .bench-val b{font-size:.6rem;padding:0 .2rem}
  table{font-size:.76rem}
  .tablescroll th,.tablescroll td{min-width:7.5rem}
  .tablescroll td:not(.num):not(:first-child){min-width:9.5rem}
  .awards,.products,.bigstats{grid-template-columns:1fr}
  .bigstats{grid-template-columns:1fr 1fr}
  .about-title{font-size:clamp(1.8rem,8vw,2.4rem)}
  figure.chartfig.wide{width:auto;margin-left:0}
  .chart .ch-quadlist{padding:2.8rem .4rem 2.6rem 2.8rem;grid-template-columns:1fr 1fr}
  .chart .ql-items{font-size:.66rem}
  .chart .ql-items li{white-space:normal}
  .chart .ql-q{padding:.8rem .6rem;min-height:7rem}
  .chart .ql-corner{font-size:.6rem}
  .chart .ql-ax.x{font-size:.62rem}
  nav.toc{width:min(24rem,88vw);padding:var(--s4) var(--s3) var(--s5)}
  nav.toc .toclist a{font-size:.68rem}
  .closing-art{aspect-ratio:4 / 3;background-size:cover;background-position:center}
  .dl-btn{font-size:.95rem;padding:.85rem 1.4rem}
}
.flex-card .flex-tear{height:48px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 40' preserveAspectRatio='none'%3E%3Cpath fill='%23B4D29A' d='M0 8 H30 V4 H60 V10 H95 V2 H120 V8 H160 V5 H200 V11 H230 V3 H270 V9 H300 V6 H340 V12 H370 V4 H400 V30 H372 V36 H345 V28 H310 V34 H280 V26 H240 V32 H205 V25 H170 V33 H130 V27 H100 V35 H66 V29 H35 V34 H0 Z'/%3E%3Cpath fill='%23FFFAF2' d='M0 12 H30 V8 H60 V14 H95 V6 H120 V12 H160 V9 H200 V15 H230 V7 H270 V13 H300 V10 H340 V16 H370 V8 H400 V26 H372 V32 H345 V24 H310 V30 H280 V22 H240 V28 H205 V21 H170 V29 H130 V23 H100 V31 H66 V25 H35 V30 H0 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
#scrollrail .tk::before,#scrollrail .tk.ms::before,#scrollrail .tk.ch::before,#scrollrail .tk.ms:hover::before{width:12px!important;height:1.5px!important}
@media (max-width:760px){#scrollrail .tk::before,#scrollrail .tk.ms::before,#scrollrail .tk.ch::before{width:9px!important}}
/* grid children never grow past their column (keeps the phone layout from widening) */
.sheet > *,.row > *,.credits,.about-wrap{min-width:0}
.credits .tablescroll td{min-width:0!important}
@media (max-width:760px){
  #cover{display:flex;align-items:flex-end;min-height:100svh}
  #cover .coverart{background-size:185% auto;background-position:58% 10%}
  #cover .coverart::after{content:"";position:absolute;inset:auto 0 0 0;height:58%;
    background:linear-gradient(to bottom,rgba(30,8,22,0),#1E0816 38%)}
  #cover .covertext{position:relative;z-index:2}
}
.toolbar .tb-year,.toolbar .tb-logo{white-space:nowrap;flex:none}
@media (max-width:760px){.toolbar .bar{grid-template-columns:auto 1fr auto}.toolbar .tbrand{font-size:.78rem}}
/* flex sidebar — the printed box, drawn exactly */
.flex-card{--cut:74px;background:transparent!important;box-shadow:none!important;padding-bottom:calc(clamp(3.2rem,6vw,5.5rem) + 18px)}
.flex-card::before,.flex-card::after{display:none!important}
.flex-card > svg.flex-bg{position:absolute;inset:0;width:100%!important;height:100%;z-index:-1;pointer-events:none;overflow:visible;margin:0}
.flex-card .sidetag{z-index:2}
@media (max-width:760px){.flex-card{--cut:45px}}

/* =====================================================================
   REVISION 7 — mobile, thoroughly
   ===================================================================== */
/* glossary heads: plain on desktop, tap-to-expand on phones */
.gitem .ghead{all:unset;display:flex;align-items:baseline;gap:.5rem;width:100%;cursor:default}
.gitem .gchev{display:none}
.loop-mobile{display:none}
.swipe-hint{display:none}

@media (max-width:760px){
  /* ---- one type scale for phones: everything steps down together ---- */
  html{font-size:15px}
  :root{
    --body-size:15.5px; --lh-body:1.55;
    --t-h2:1.62rem; --t-h3:1.36rem; --t-h4:1.08rem; --t-stmt:1.72rem; --t-kick:.78rem;
    --s5:2rem; --s6:2.8rem; --s7:3.6rem; --s8:5rem;
    --pad:18px;
  }
  .row .lead h3,.row.center .lead h3,.row.center .lead h4{font-size:var(--t-h3)}
  .row.center .lead .cond,.statement p,.pull .pq,p.cond:not(.lede),.myth-q,.credits-h{font-size:var(--t-stmt)!important;line-height:1.06!important}
  .quote .q-text{font-size:1.5rem!important;line-height:1.04!important}
  .essay h1,.essay h2,.dark-card.story h2{font-size:2.05rem!important}
  .essay p,.dark-card.story p,.essay .turn{font-size:16.5px!important;line-height:1.42!important}
  .chapdivider h2{font-size:2.3rem!important}
  .chapdivider .chapkick{font-size:.95rem}
  #cover h1{font-size:2.15rem!important}
  #cover .year{font-size:1.7rem!important}
  #cover .coverkick{font-size:.86rem}
  .sidebar-card h2,.sidebar-card h3,.dark-card:has(.sidetag) h2,.dark-card:has(.sidetag) h3,.pink-card h2,.pink-card h3,.flex-card h3{font-size:1.55rem!important;max-width:none}
  .pink-card .lede{font-size:1.5rem!important}
  .sidebar-card p,.pink-card p,.dark-card:has(.sidetag) p,.sidebar-card li{font-size:15px!important}
  .flex-card .flex-close{font-size:1.6rem}
  .benchplate .bp-title{font-size:1.25rem}
  .about-h,.about-title,.concl-h{font-size:1.55rem!important}
  .trusted{font-size:1.15rem}
  .bigstats b{font-size:1.9rem}
  .statnum{font-size:2.4rem}
  .stmt{font-size:15.5px!important}
  .flip-title{font-size:1.3rem}
  .art-title{font-size:.95rem}
  .chart .ch-title{font-size:.95rem}
  .chart .ch-sub,.chart .ch-legend,.chart .ch-axiskey{font-size:.78rem}
  figure.fig .fsrc,figure.fig .fnum{font-size:.72rem}
  caption{font-size:.86rem}
  table{font-size:12px}

  /* ---- rhythm: shorter scroll, same hierarchy ---- */
  .band{padding-block:var(--s6)}
  section.sec{margin-top:var(--s6)}
  .row + .row{margin-top:var(--s5)}
  figure.fig,figure.chartfig{margin-block:var(--s5)}
  .quote{padding-block:var(--s5);margin-block:var(--s4)}
  .statement{padding-block:var(--s5)}
  .pull{padding-block:var(--s5);margin-block:var(--s4)}
  .sidebar-card,.pink-card,.dark-card:has(.sidetag){margin-block:var(--s6)!important;padding:3rem 1.2rem 2.6rem!important}
  .flex-card{padding-bottom:calc(2.6rem + 18px)!important}
  .chapdivider{min-height:78svh}
  ul.brief li{padding:.6rem 0 .6rem 1.2rem}
  .anchorlink{display:none}
  hr.secrule{margin-bottom:var(--s4)}

  /* ---- the flipping hands read as simple stacked blocks ---- */
  .flip-row{padding:var(--s3) 0 var(--s4)}
  .flip-inline{width:3rem}

  /* ---- tables: swipe with the first column held in place ---- */
  .tablewrap{margin-block:var(--s4)}
  .swipe-hint{display:block;font-family:var(--sans);font-size:.74rem;color:var(--ink-3);margin:0 0 .5rem;text-align:right;transition:opacity .3s}
  .swipe-hint.gone{opacity:0}
  .tablescroll table tbody tr > :first-child,.tablescroll table thead tr > :first-child{position:sticky;left:0;z-index:1;background:var(--bg)}
  .sidebar-card .tablescroll table tr > :first-child{background:#EFE4FF}
  .dark-card .tablescroll table tr > :first-child{background:var(--plum)}
  .tablescroll th,.tablescroll td{min-width:7rem!important;padding:.6rem .7rem}
  .tablescroll tr > :first-child{min-width:6.5rem!important;max-width:8.5rem}

  /* ---- diagrams pan instead of shrinking past legibility ---- */
  .art-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-inline:calc(-1 * var(--pad));padding-inline:var(--pad)}
  .art-scroll::-webkit-scrollbar{display:none}
  .art-scroll img.art{min-width:540px;max-height:none!important}
  .figpair figure.artfig{position:relative}
  .loopfig > img.art{display:none}
  .loop-mobile{display:block}
  .chart .ch-loop{grid-template-columns:1fr;gap:var(--s3)}
  .chart .lp-text{font-size:.78rem}

  /* ---- designing for the tail: a stacked list, no crossing axes ---- */
  .chart .ch-quadlist{display:flex;flex-direction:column;gap:var(--s3);padding:0}
  .chart .ql-lines,.chart .ql-ax,.chart .ql-corner{display:none}
  .chart .ql-q{min-height:0;text-align:left!important;padding:1rem 1.1rem;border-radius:12px;border:1px solid var(--rule)}
  .chart .ql-q:empty{display:none}
  .chart .ql-q.tr .ql-items li::after,.chart .ql-q.br .ql-items li::after{content:none}
  .chart .ql-q.tr .ql-items li::before,.chart .ql-q.br .ql-items li::before{content:"●";margin-right:.6rem;font-size:.6em;vertical-align:.2em}
  .chart .ql-items{font-size:.8rem;columns:2;column-gap:1rem}
  .chart .ql-items li{white-space:normal}

  /* ---- glossary: tap a term to open it ---- */
  #glolist{columns:1}
  .gitem{padding:0;border-bottom:1px solid var(--rule-2)}
  .gitem .ghead{cursor:pointer;padding:.85rem 0;align-items:center}
  .gitem .gt{flex:1;font-size:1rem}
  .gitem .ga{font-size:.66rem}
  .gitem .gchev{display:block;width:.55rem;height:.55rem;border-right:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);
    transform:rotate(45deg) translateY(-2px);transition:transform .2s;flex:none;margin-left:.4rem}
  .gitem.open .gchev{transform:rotate(-135deg) translateY(-2px)}
  .gitem .gbody{display:none;padding:0 0 .9rem}
  .gitem.open .gbody{display:block}
  .gitem .gd,.gitem .gc{font-size:14.5px}
  #glosearch{font-size:16px}   /* 16px stops iOS zooming into the field */

  /* ---- chrome ---- */
  #totop{width:2.4rem;height:2.4rem;right:.8rem;bottom:.8rem}
  .benchnav button{font-size:.84rem;padding:.6rem .8rem}
  .bp-toggle{font-size:.78rem}
  .bp-step button{width:2.2rem;height:2.2rem}
  .awards .award{padding:.75rem .9rem}
  .prod p{font-size:.9rem}
  .credits table.credit-table{font-size:.8rem}
  .myth-by{padding-bottom:var(--s3)}
  .closing-cta .fnote{font-size:.74rem}
}
@media (max-width:760px){.chart .ch-grid.cols-3 .ch-cell.center,.chart .ch-grid.cols-4 .ch-cell.center,.chart .ch-grid.cols-2 .ch-cell.center{max-width:none!important;grid-column:1 / -1;margin:0}}
@media (max-width:760px){
  /* text-heavy tables: one card per row, read top to bottom */
  table.prose-table{min-width:0!important;width:100%;border:0}
  table.prose-table thead{display:none}
  table.prose-table,table.prose-table tbody{display:block}
  table.prose-table tr{display:block;border:1px solid var(--tb);border-radius:10px;padding:.9rem 1rem .5rem;margin:0 0 .8rem;background:transparent}
  table.prose-table tr > *{display:block;border:0!important;padding:0 0 .7rem!important;min-width:0!important;max-width:none!important;
    position:static!important;background:transparent!important;font-size:13px;line-height:1.5}
  table.prose-table tr > :first-child{font-size:14px;color:var(--tf);padding-bottom:.6rem!important;margin-bottom:.6rem;border-bottom:1px solid var(--tb)!important}
  table.prose-table tr > :not(:first-child)::before{content:attr(data-label);display:block;font-family:var(--sans);font-size:.72rem;
    color:var(--ink-3);margin-bottom:.15rem}
  table.prose-table tr > [data-label=""]::before{content:none}
  table.prose-table tr.sub,table.prose-table tr:has(> th[colspan]){border:0;padding:.4rem 0 0;margin:.4rem 0 .2rem}
  .tablewrap:has(table.prose-table) .tablescroll{overflow:visible}
  .tablewrap:has(table.prose-table) caption{display:block;margin-bottom:.6rem}
}
@media (max-width:760px){
  .gitem .ghead .ga{display:none}
  .gitem.open .gbody[data-alias]::before{content:attr(data-alias);display:block;font-family:var(--mono);font-size:.66rem;color:var(--ink-4);margin-bottom:.35rem}
}
.figpair > *,figure.artfig,.art-scroll{min-width:0;max-width:100%}
@media (max-width:760px){.art-scroll{max-width:calc(100% + 2 * var(--pad))}}
@media (max-width:760px){
  /* folded card tables */
  table.prose-table.foldable tr:not(:has(th[colspan])){cursor:pointer;padding-bottom:.9rem}
  table.prose-table.foldable tr:not(.open):not(:has(th[colspan])) > :not(:first-child){display:none}
  table.prose-table.foldable tr > :first-child{position:relative;padding-right:1.6rem!important}
  table.prose-table.foldable tr:not(.open) > :first-child{border-bottom:0!important;margin-bottom:0;padding-bottom:0!important}
  table.prose-table.foldable tr > :first-child::after{content:attr(data-more);display:block;font-family:var(--sans);font-size:.72rem;color:var(--ink-3);margin-top:.3rem}
  table.prose-table.foldable tr.open > :first-child::after{content:none}
  table.prose-table.foldable tr > :first-child::before{content:"";position:absolute;right:.2rem;top:.35rem;width:.5rem;height:.5rem;
    border-right:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);transform:rotate(45deg);transition:transform .2s}
  table.prose-table.foldable tr.open > :first-child::before{transform:rotate(-135deg);top:.6rem}
  table.prose-table.foldable tr:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

  /* multi-panel charts: a swipeable carousel, one panel at a time */
  .chart .ch-grid.cols-2,.chart .ch-grid.cols-3,.chart .ch-grid.cols-4{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.8rem;margin-inline:calc(-1 * var(--pad));padding-inline:var(--pad);scroll-padding-inline:var(--pad)}
  .chart .ch-grid::-webkit-scrollbar{display:none}
  .chart .ch-grid > .ch-cell{flex:0 0 86%;scroll-snap-align:start;border:1px solid var(--rule)!important;border-radius:10px;
    padding:.8rem .8rem .6rem!important;margin:0!important;max-width:none!important}
  .chart:has(.ch-grid.cols-2) .swipe-hint,.chart:has(.ch-grid.cols-3) .swipe-hint,.chart:has(.ch-grid.cols-4) .swipe-hint{margin-top:.4rem}
}

/* =====================================================================
   REVISION 8
   ===================================================================== */
/* ---------- layout tokens: the tracker track, and the pinned contents beside it ---------- */
:root{--trk:30px;--tocw:25vw}
#scrollrail{width:var(--trk)!important}
nav.toc{left:var(--trk)}

/* ---------- tracker: a touch thicker ---------- */
html #scrollrail .tk::before,html #scrollrail .tk.ms::before,html #scrollrail .tk.ch::before,html #scrollrail .tk.ms:hover::before{height:2.2px!important;width:13px!important;left:8px}

/* ---------- contents: a lighter sheet ---------- */
nav.toc{background:#F6EEE6;color:#43141d;border-right:1px solid #E3D3C6;scrollbar-color:#D9C6B8 transparent;box-shadow:12px 0 40px rgba(29,7,22,.18)}
nav.toc .tochead{color:#55151B;display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
nav.toc .toclist a{color:#43141d;border-bottom-color:#E6D6CA}
nav.toc .toclist a.t-ch{color:#D92F41;border-bottom-color:#E9CFC8}
nav.toc .toclist a.t-sub{color:#7A4FD0}
nav.toc .toclist a:hover{color:#802029;background:transparent}
nav.toc .toclist a.t-ch:hover{color:#B0253A}
nav.toc .toclist a.on{color:#C4238F;background:transparent}
nav.toc .toclist a.on .tl::after{content:"";display:inline-block;width:.38rem;height:.38rem;border-radius:50%;background:#C4238F;margin-left:.55rem;vertical-align:.12em}
.tocscrim{background:rgba(29,7,22,.28)}
@media (min-width:1181px){
  .tocscrim{display:block}
  body.toc-open .railshift{margin-left:0}
}
nav.toc .tocpin{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;font-family:var(--sans);font-size:.8rem;color:#6d3a41;
  padding:.38rem .8rem;border:1px solid #D9C6B8;border-radius:999px;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}
nav.toc .tocpin svg{width:.8rem;height:.8rem;fill:none;stroke:currentColor;stroke-width:1.5}
nav.toc .tocpin:hover{border-color:#802029;color:#802029}
nav.toc .tocpin[aria-pressed="true"]{background:#802029;border-color:#802029;color:#FFFAF2}
nav.toc .tocpin:focus-visible{outline:2px solid #802029;outline-offset:2px}
#tocgrip{display:none}
@media (max-width:999px){nav.toc .tocpin{display:none}}
@media (min-width:1000px){
  body.toc-pinned{--railw:calc(var(--trk) + var(--tocw))}
  body.toc-pinned nav.toc{width:var(--tocw)!important;transform:none;transition:none;box-shadow:none;padding:var(--s5) clamp(1.2rem,2vw,2.4rem) var(--s6)}
  body.toc-pinned .tocscrim{display:none}
  body.toc-pinned .railshift{margin-left:0!important}
  body.toc-pinned #tocgrip{display:block;position:fixed;top:0;bottom:0;left:calc(var(--trk) + var(--tocw) - 5px);width:10px;z-index:75;cursor:col-resize}
  body.toc-pinned #tocgrip::after{content:"";position:absolute;left:4.5px;top:0;bottom:0;width:1px;background:transparent;transition:background .15s}
  body.toc-pinned #tocgrip:hover::after,body.toc-resizing #tocgrip::after{background:#C4238F;width:2px;left:4px}
  body.toc-resizing{cursor:col-resize;user-select:none}
  body.toc-resizing *{transition:none!important}
  body.toc-pinned nav.toc .tochead{font-size:clamp(1.8rem,2.2vw,2.6rem)}
}

/* ---------- cards: one clean clipped ground, cuts at top-left and bottom-right ---------- */
.sidebar-card:not(.flex-card),.pink-card,.dark-card:has(.sidetag){--cut:4.6rem;background:transparent!important;clip-path:none!important;isolation:isolate}
.sidebar-card{--card-bg:#F2E8FF}.pink-card{--card-bg:#F9D9CE}.dark-card{--card-bg:#1D0716}
.sidebar-card:not(.flex-card)::before,.pink-card::before,.dark-card:has(.sidetag)::before{content:"";position:absolute;inset:0;width:auto!important;height:auto!important;
  z-index:-1;background:var(--card-bg);clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}
.sidebar-card:not(.flex-card)::after,.pink-card::after,.dark-card:has(.sidetag)::after{content:none!important;display:none!important}
@media (max-width:760px){.sidebar-card:not(.flex-card),.pink-card,.dark-card:has(.sidetag){--cut:2.8rem}}

/* ---------- founder's note: half the letter, fading into a rule; read more opens it ---------- */
#s1-note .note-body{position:relative;overflow:hidden;transition:max-height .8s cubic-bezier(.45,0,.2,1)}
#s1-note .note-body::after{content:"";position:absolute;left:0;right:0;bottom:0;height:min(14rem,45%);pointer-events:none;
  background:linear-gradient(to bottom,rgba(249,217,206,0),rgba(249,217,206,.86) 62%,#F9D9CE);transition:opacity .5s ease}
#s1-note.open .note-body::after{opacity:0}
#s1-note .note-more{display:flex;align-items:center;gap:1.1rem;margin:0;width:100%}
#s1-note .note-more::before,#s1-note .note-more::after{content:"";flex:1;height:1px;background:#802029;opacity:.5}
#s1-note .note-more button{all:unset;cursor:pointer;font-family:var(--sans);font-size:.95rem;color:#802029;white-space:nowrap;
  padding:.55rem 1.3rem;border:1px solid rgba(128,32,41,.55);border-radius:999px;transition:background .15s,color .15s}
#s1-note .note-more button:hover{background:#802029;color:#F9D9CE}
#s1-note .note-more button:focus-visible{outline:2px solid #802029;outline-offset:3px}
#s1-note.open .note-more{margin-top:var(--s5)}

/* ---------- conclusion: centred, signed like the quotes ---------- */
#conclusion{text-align:center}
#conclusion p{text-align:center!important;hyphens:manual!important;max-width:62ch;margin-inline:auto}
#conclusion h2,#conclusion h3,#conclusion h4,#conclusion .label{text-align:center;margin-inline:auto;max-width:34ch}
#conclusion .sig,.pink-card .sig{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:var(--s6)}
#conclusion .sig .q-brace{display:block;width:min(100%,26rem);height:16px;margin:0 auto var(--s3);overflow:visible}
#conclusion .sig .q-brace path{fill:none;stroke:#8C6A7E;stroke-width:1;vector-effect:non-scaling-stroke}
#conclusion .sig .q-name{display:block;font-family:var(--sans);font-size:.98rem;color:#F4E9DC}
#conclusion .sig .q-role{display:block;font-family:var(--sans);font-size:.98rem;color:#9C7BFF}

/* ---------- briefs: a simple dot, never a disclosure triangle ---------- */
ul.brief li::before{border:0!important;width:.4rem;height:.4rem;border-radius:50%;background:var(--accent);top:calc(1.15em + .1rem)}
.band-dark ul.brief li::before{background:var(--coral)}

/* ---------- benchmark tooltip: tight rows ---------- */
#benchtip{line-height:1.45;padding:.75rem .95rem;min-width:15rem}
#benchtip .tt{letter-spacing:0;margin-bottom:.45rem;font-weight:500}
#benchtip .tr{display:flex;justify-content:space-between;align-items:baseline;gap:1.4rem;padding:.12rem 0}
#benchtip .tr .v{color:var(--paper);font-family:var(--mono);font-size:.76rem}
#benchtip .tr .v.est::after{content:"≈";margin-left:.2rem;color:#A8919C}
#benchtip .tr.cur{color:#fff}
#benchtip .tr.cur .l{text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:.2em}

/* ---------- lorenz ---------- */
.chart .ch-axes-note{display:flex;justify-content:space-between;gap:1rem;font-family:var(--sans);font-size:.78rem;color:var(--c-muted);margin:.5rem 0 0}

/* ---------- the seven-country plans table ---------- */
.tablescroll table.wide7 tbody tr > :first-child,.tablescroll table.wide7 thead tr > :first-child{position:sticky;left:0;z-index:1;background:var(--bg)}
.tablescroll table.wide7 td{min-width:15rem}

/* ---------- dictionary: yellow-ochre underline, definition on hover ---------- */
.gl-term{text-decoration:underline;text-decoration-color:#C99A2E;text-decoration-thickness:1.5px;text-underline-offset:.22em;
  text-decoration-skip-ink:auto;cursor:help;border-radius:2px;transition:background .15s}
.gl-term:hover,.gl-term:focus-visible,.gl-term.on{background:rgba(201,154,46,.16);outline:none}
.band-dark .gl-term,.dark-card .gl-term{text-decoration-color:#E2B550}
.band-dark .gl-term:hover,.dark-card .gl-term:hover{background:rgba(226,181,80,.16)}
#pop{position:fixed;display:none;max-width:min(22rem,calc(100vw - 24px));padding:.95rem 1.1rem 1rem;border:1px solid #E1CDBE;border-top:3px solid #C99A2E;
  border-radius:4px;font-family:var(--serif);font-size:.9rem;line-height:1.5;text-align:left;hyphens:manual;z-index:300}
#pop .pt{display:block;font-family:var(--serif);font-weight:600;font-size:1.02rem;color:#55151B;margin-bottom:.3rem}
#pop .pd{margin:0;color:#43141d}
#pop .ctx{border-top:1px solid #EADBD0;margin-top:.6rem;padding-top:.55rem;color:#7A4FD0;font-size:.84rem;font-family:var(--sans)}
#pop .ctx b{font-weight:500;display:block;font-size:.74rem;color:#9C7BFF;margin-bottom:.1rem}
#pop .more{display:inline-block;margin-top:.55rem;font-family:var(--sans);font-size:.78rem;color:#802029}

/* ---------- a one-time, eased fade into view ---------- */
.rv{opacity:0;transform:translate3d(0,14px,0);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}
.rv.rv-still{transform:none}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1!important;transform:none!important;transition:none!important}}
@media print{.rv{opacity:1!important;transform:none!important}}

/* ---------- phones: NYT-tight gutters, a hint smaller type, a sturdier tracker ---------- */
@media (max-width:760px){
  :root{--trk:20px;--railw:20px;--pad:16px;--body-size:15px;--t-h2:1.55rem;--t-h3:1.3rem;--t-h4:1.04rem;--t-stmt:1.62rem}
  html{font-size:14.5px}
  #scrollrail{width:20px!important}
  html #scrollrail .tk::before,html #scrollrail .tk.ms::before,html #scrollrail .tk.ch::before{width:11px!important;left:4px;height:2.4px!important}
  .sheet{padding-inline:var(--pad)!important}
  .sheet > *,.c-full,.c-kick,.c-left,.c-right,.c-narrow,.row,.statement,.essay,#conclusion.essay{grid-column:1 / -1!important}
  .sidebar-card,.pink-card,.dark-card:has(.sidetag){width:auto!important;margin-left:calc(-1 * var(--pad))!important;margin-right:calc(-1 * var(--pad))!important;
    padding:3rem var(--pad) 2.6rem!important}
  .dark-card.story{padding-inline:var(--pad)!important}
  .essay{padding-inline:0!important}
  .essay p,.dark-card.story p,.essay .turn{font-size:16px!important}
  .sidebar-card p,.pink-card p:not(.lede),.dark-card:has(.sidetag) p,.sidebar-card li{font-size:14.5px!important}
  table{font-size:11.5px}
  .tablescroll table.wide7 td{min-width:11rem!important}
  .art-scroll{margin-inline:calc(-1 * var(--pad));padding-inline:var(--pad)}
  #pop{font-size:.88rem}
}
/* boxed cards fill their column and never size to a wide table inside them */
@media (min-width:761px){.sidebar-card,.pink-card,.dark-card:has(.sidetag){width:100%!important}}
.sidebar-card .tablewrap,.pink-card .tablewrap,.dark-card .tablewrap,.tablescroll{min-width:0;max-width:100%}
#s1-note:not(.open){padding-bottom:clamp(2.2rem,4vw,3.4rem)}
.chart .ch-lorenz .c-val,.chart .ch-lorenz .c-reflab{paint-order:stroke;stroke:var(--bg);stroke-width:4px;stroke-linejoin:round}
.benchplate{overflow-x:clip;overflow-clip-margin:0}
.gl-term{white-space:nowrap}

/* =====================================================================
   REVISION 9
   ===================================================================== */
/* ---------- contents: sans, bigger, no page numbers; takes the page's colour; quiet until hovered ---------- */
nav.toc{--toc-bg:#FFFAF2;--toc-ink:#43141d;--toc-ch:#D92F41;--toc-sub:#7A4FD0;--toc-rule:rgba(67,20,29,.12);--toc-on:#C4238F;
  background:var(--toc-bg)!important;color:var(--toc-ink);border-right:1px solid var(--toc-rule)!important;
  transition:transform .45s cubic-bezier(.22,.7,.3,1),background-color .6s ease!important}
nav.toc.tone-dark{--toc-ink:#F4E9DC;--toc-ch:#FF6B78;--toc-sub:#B79CF5;--toc-rule:rgba(244,233,220,.14);--toc-on:#F340B7}
nav.toc.tone-dark.tone-coral{--toc-ink:#FFFAF2;--toc-ch:#1D0716;--toc-sub:#3A1830;--toc-rule:rgba(255,250,242,.3);--toc-on:#1D0716}
nav.toc .tochead{color:var(--toc-ink)!important;transition:opacity .35s}
nav.toc .toclist{filter:grayscale(1);opacity:.5;transition:filter .35s ease,opacity .35s ease}
nav.toc:hover .toclist,nav.toc:focus-within .toclist{filter:none;opacity:1}
nav.toc .toclist a{font-family:var(--sans)!important;font-size:.98rem!important;line-height:1.35!important;padding:.62rem 0!important;
  color:var(--toc-ink)!important;border-bottom-color:var(--toc-rule)!important;justify-content:flex-start!important}
nav.toc .toclist a.t-ch{color:var(--toc-ch)!important;font-weight:500;font-size:1.02rem!important}
nav.toc .toclist a.t-sub{color:var(--toc-sub)!important}
nav.toc .toclist a:hover{color:var(--toc-on)!important}
nav.toc .toclist a.on{color:var(--toc-on)!important}
nav.toc .toclist a.on .tl::after{background:var(--toc-on)}
nav.toc .tocpin{border-radius:7px!important;padding:.42rem .5rem!important;border:1px solid var(--toc-rule)!important;color:var(--toc-ink)!important;background:transparent!important}
nav.toc .tocpin svg{width:1rem;height:1rem;stroke-width:1.6}
nav.toc .tocpin:hover{border-color:#FF4052!important;color:#FF4052!important}
nav.toc .tocpin[aria-pressed="true"]{background:#FF4052!important;border-color:#FF4052!important;color:#FFFAF2!important}
@media (min-width:1000px){
  body.toc-pinned nav.toc{transition:transform .45s cubic-bezier(.22,.7,.3,1),background-color .6s ease!important}
  body.toc-pinned.at-cover nav.toc{transform:translateX(calc(-100% - var(--trk)))}
  body.toc-pinned.at-cover #tocgrip{display:none}
  body.toc-pinned #cover{margin-left:calc(-1 * var(--tocw))}
}

/* ---------- mono faces: no ligatures, so "(C)" stays "(C)" and "fi" stays two letters ---------- */
table,table *,caption,.chart,.chart *,.benchmarks *,#benchtip *,nav.toc *,.gitem .ga,.gloscount,.mono{
  font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0,"dlig" 0}

/* ---------- condensed moments, titles and statements never hyphenate ---------- */
.cond,.stmt,.statement p,.pull .pq,.quote .q-text,.myth-q,.lede,h1,h2,h3,h4,h5,.flip-title,.concl-sub,.concl-h,
.essay p,.dark-card.story p,.ch-title,.bp-title,.chapdivider *{hyphens:manual!important;-webkit-hyphens:manual!important}

/* ---------- dictionary: a quiet grey underline; on the dark ground, a lighter plum ---------- */
.gl-term{text-decoration-color:rgba(67,20,29,.28)!important;text-decoration-thickness:1px!important}
.gl-term:hover,.gl-term:focus-visible,.gl-term.on{background:rgba(67,20,29,.06)!important}
.band-dark .gl-term,.dark-card .gl-term,#conclband .gl-term{text-decoration-color:#5E3A55!important}
.band-dark .gl-term:hover,.dark-card .gl-term:hover,.band-dark .gl-term.on,.dark-card .gl-term.on{background:#33152B!important}
#pop{border-top:1px solid #E1CDBE!important}

/* ---------- flipping hands: the title sits above its points; the icon stays at the side ---------- */
.flip-row{grid-template-columns:minmax(0,1fr)!important;min-height:0!important;padding:var(--s5) 0 var(--s4)!important;align-items:start}
.flip-row + .flip-row{border-top:1px solid var(--rule-2)}
.flip-title{position:static!important;transform:none!important;opacity:1!important;margin:0 0 var(--s3)!important}
.flip-row .flip-body ul.brief{margin:0}
.flip-row .flip-body ul.brief li:first-child{border-top:0}
.flip-row .flip-body ul.brief li:last-child{border-bottom:0}
.flip-stage{top:calc(40vh - 2.4rem)}
@media (max-width:1000px){.flip-row + .flip-row{border-top:0}}

/* ---------- sidebars and commentaries: full width, the corner cuts kept; text keeps its measure, figures span out ---------- */
@media (min-width:761px){
  .sidebar-card,.pink-card,.dark-card:has(.sidetag){--measure:46rem;--cardgap:clamp(16px,2vw,32px);--cpx:clamp(1.6rem,4vw,4.6rem);
    width:calc(var(--vw,100vw) - var(--railw) - 2 * var(--cardgap))!important;max-width:none!important;
    margin-left:calc(50% - (var(--vw,100vw) - var(--railw)) / 2 + var(--cardgap))!important;margin-right:0!important;
    padding:clamp(3.4rem,6vw,5.6rem) var(--cpx)!important}
  .sidebar-card > :not(.sidetag),.pink-card > :not(.sidetag),.dark-card:has(.sidetag) > :not(.sidetag){
    max-width:var(--measure)!important;margin-left:max(0px,calc((100% - var(--measure)) / 2))!important;margin-right:auto!important}
  .sidebar-card > :is(figure,.tablewrap,.figstack,.figpair,.chart):not(.sidetag),
  .pink-card > :is(figure,.tablewrap):not(.sidetag),
  .dark-card:has(.sidetag) > :is(figure,.tablewrap,.figpair):not(.sidetag){max-width:none!important;margin-left:calc(16px - var(--cpx))!important;width:calc(100% + 2 * var(--cpx) - 32px)!important}
  .flex-card > .flex-tear:not(.sidetag){max-width:none!important;width:auto!important;margin-left:calc(-1 * var(--cpx))!important;margin-right:calc(-1 * var(--cpx))!important}

}

/* ---------- charts: no boxes around panels ---------- */
.chart .ch-grid > .ch-cell{border:0!important;border-radius:0!important;box-shadow:none!important}
@media (max-width:760px){.chart .ch-grid > .ch-cell{padding:0!important}}

/* ---------- wide figures and tables: span the page with padding; beyond that, scroll with a soft edge ---------- */
@media (min-width:761px){
  .bleed{--bpad:clamp(24px,3vw,56px);width:calc(var(--vw,100vw) - var(--railw) - 2 * var(--bpad))!important;max-width:none!important;
    margin-left:calc(50% - (var(--vw,100vw) - var(--railw)) / 2 + var(--bpad))!important;margin-right:0!important}
}
.ch-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
@media (max-width:760px){
  .chart .ch-scroll{margin-inline:calc(-1 * var(--pad));padding-inline:var(--pad);scrollbar-width:none}
  .chart .ch-scroll::-webkit-scrollbar{display:none}
  .chart .ch-waterfall.cmp .c-val{font-size:13px}
  .chart .ch-waterfall.cmp .c-xlab{font-size:11.5px}
  .chart .ch-waterfall.cmp .c-fval{font-size:12px}
  .chart .ch-waterfall.cmp .c-ylab,.chart .ch-waterfall.cmp .c-flab{font-size:11px}
}

/* ---------- a bottom line under the moved tail chart ---------- */
.concl-row .body{max-width:62ch;margin-inline:auto}
.chart .c-val.t-fill-hl{fill:var(--t-hl)}.chart .c-val.t-fill-wf{fill:var(--t-wf)}.chart .c-val.t-fill-hc{fill:var(--t-hc)}
/* the flex sidebar's drawn box is its ground, not a column of text */
.sidebar-card.flex-card > svg.flex-bg:not(.sidetag){position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  max-width:none!important;margin:0!important;z-index:-1}
.sidebar-card.flex-card{isolation:isolate}
/* flex sidebar: a little more breathing room inside the green box */
@media (min-width:761px){
  .sidebar-card.flex-card{--cpx:clamp(2.2rem,5.2vw,6rem);padding:clamp(4.6rem,7.4vw,7rem) var(--cpx) calc(clamp(4rem,6.6vw,6.2rem) + 18px)!important}
}
@media (max-width:760px){
  .sidebar-card.flex-card{padding:4rem 26px calc(3.4rem + 18px)!important}
  .flex-card > .flex-tear{margin-left:-26px!important;margin-right:-26px!important;max-width:none!important;width:auto!important}
}
/* phones: boxed sidebars sit inset from the tracker and the screen edge, so the corner tag is never clipped */
@media (max-width:760px){
  .sidebar-card,.pink-card,.dark-card:has(.sidetag){margin-left:calc(12px - var(--pad))!important;margin-right:calc(12px - var(--pad))!important}
  .sidebar-card.flex-card{padding-left:22px!important;padding-right:22px!important}
  .flex-card > .flex-tear{margin-left:-22px!important;margin-right:-22px!important}
}
@media (max-width:760px){
  .sidebar-card:not(.flex-card),.pink-card,.dark-card:has(.sidetag),.sidebar-card.flex-card{--cut:50px!important}
  .sidebar-card .sidetag,.dark-card .sidetag{left:18px!important;top:18px!important}
}
