/* =============================================================================
   HSI FIGURES                                              assets/hsi-charts.css
   House standard for charts and figures across publications. v1.0, October 2026.

   Anatomy   label · takeaway title · what-and-units line · legend · chart ·
             notes and source · data table and print file.
   Colour    --fig-c1     the subject series (HSI blue)
             --fig-c2     the comparison series, a lighter step of the same blue
             --fig-accent estimates and amounts taken out (HSI gold)
             --fig-none   "nothing here" (warm grey)
             Pairs validated for colour-vision deficiency on the paper ground.
             Every value is also printed as text, and every chart has a table,
             so colour never carries meaning alone.
   Type      Title Newsreader 22/29 · chart text Archivo 12.5-13.5, tabular
             figures on scales · notes Archivo 12.5/19.
   Cascade   selectors carry :root body .hsi-fig.hsi-fig so a figure keeps its
             typography inside any article template's running-text rules.
   Width     the text measure by default; .hsi-fig--wide runs to 928px on wide
             screens, centred on the text column. Every chart reflows to one
             column on phones with no horizontal scrolling.
   ============================================================================= */

:root{
  --fig-c1:#1d4e9b;
  --fig-c2:#6f93d3;
  --fig-accent:#9a7a1e;
  --fig-partial:#93acdc;
  --fig-none:#ebe6d9;
  --fig-track:#e6e0d2;
  --fig-whole:#b3ac9c;
  --fig-grid:rgba(27,42,65,.10);
  --fig-base:rgba(27,42,65,.6);
  --fig-ink:var(--ink,#1b2a41);
  --fig-slate:var(--slate,#3f4b5e);
  --fig-muted:var(--muted,#526071);
  --fig-rule:var(--border,#c9c5ba);
  --fig-sans:var(--ed-sans,"Archivo",-apple-system,sans-serif);
  --fig-serif:var(--ed-serif,"Newsreader",Georgia,serif);
}

/* -----------------------------------------------------------------------------
   Frame
   -------------------------------------------------------------------------- */
:root body .hsi-fig.hsi-fig{
  margin:52px 0 60px;padding:16px 0 0;border:0;border-top:2px solid var(--fig-ink);
  background:transparent;max-width:100%;color:var(--fig-ink);font:400 13px/1.45 var(--fig-sans);
}
:root body .hsi-fig.hsi-fig--wide{
  width:min(928px,calc(100vw - 64px));max-width:none;
  margin-left:calc(50% - min(464px,calc(50vw - 32px)));
}
:root body .hsi-fig.hsi-fig *{box-sizing:border-box}
:root body .hsi-fig.hsi-fig .hsi-fig-head{margin:0 0 20px;max-width:46em}
:root body .hsi-fig.hsi-fig .hsi-fig-label{
  margin:0 0 8px;font:500 10.5px/1.6 var(--fig-sans);letter-spacing:.16em;text-transform:uppercase;
  color:var(--program,var(--fig-c1));
}
:root body .hsi-fig.hsi-fig .hsi-fig-title{
  margin:0 0 10px;padding:0;font:400 clamp(1.2rem,1.05rem + .5vw,1.4rem)/1.3 var(--fig-serif);
  letter-spacing:-.01em;color:var(--fig-ink);text-wrap:balance;
}
:root body .hsi-fig.hsi-fig .hsi-fig-sub{margin:0;font:400 13.5px/1.5 var(--fig-sans);color:var(--fig-slate)}
:root body .hsi-fig.hsi-fig .hsi-fig-sub strong{font-weight:600;color:var(--fig-ink)}

/* Legend: a swatch beside ink text, never coloured text. */
:root body .hsi-fig.hsi-fig .hsi-legend{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0 0 18px;padding:0;list-style:none}
:root body .hsi-fig.hsi-fig .hsi-legend li{display:inline-flex;align-items:center;gap:8px;margin:0;font:400 12.5px/1.4 var(--fig-sans);color:var(--fig-slate)}
:root body .hsi-fig.hsi-fig .hsi-key{display:inline-block;width:12px;height:12px;flex:none;background:var(--k,var(--fig-c1));box-shadow:inset 0 0 0 1px rgba(27,42,65,.14)}
:root body .hsi-fig.hsi-fig .hsi-key--outline{background:transparent;border:1.5px dashed var(--fig-c1)}
:root body .hsi-fig.hsi-fig .hsi-key--whisker{width:16px;height:10px;background:linear-gradient(var(--fig-ink),var(--fig-ink)) center/100% 1.5px no-repeat,linear-gradient(var(--fig-ink),var(--fig-ink)) left center/1.5px 100% no-repeat,linear-gradient(var(--fig-ink),var(--fig-ink)) right center/1.5px 100% no-repeat}

/* Notes, source and tools */
:root body .hsi-fig.hsi-fig .hsi-fig-notes{margin:20px 0 0;padding:14px 0 0;border-top:1px solid var(--fig-rule);max-width:46em}
:root body .hsi-fig.hsi-fig .hsi-fig-notes p{margin:0 0 6px;font:400 12.5px/1.55 var(--fig-sans);color:var(--fig-muted)}
:root body .hsi-fig.hsi-fig .hsi-fig-notes p:last-child{margin-bottom:0}
:root body .hsi-fig.hsi-fig .hsi-fig-notes .hsi-fig-source{color:var(--fig-slate)}
:root body .hsi-fig.hsi-fig .hsi-fig-notes a{color:inherit;text-underline-offset:2px}
:root body .hsi-fig.hsi-fig .hsi-fig-tools{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0 24px;margin:12px 0 0;border-bottom:1px solid var(--fig-rule)}
:root body .hsi-fig.hsi-fig .hsi-fig-data{flex:1 1 100%;order:2;margin:0;padding:0;border:0;background:transparent}
:root body .hsi-fig.hsi-fig .hsi-fig-data>summary{
  display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 0;cursor:pointer;list-style:none;
  font:500 12.5px/1.4 var(--fig-sans);color:var(--fig-slate);
}
:root body .hsi-fig.hsi-fig .hsi-fig-data>summary::-webkit-details-marker{display:none}
:root body .hsi-fig.hsi-fig .hsi-fig-data>summary::before{display:none!important}
:root body .hsi-fig.hsi-fig .hsi-fig-data>summary::after{content:"+";margin-left:auto;font:400 18px/1 var(--fig-sans);color:var(--fig-muted)}
:root body .hsi-fig.hsi-fig .hsi-fig-data[open]>summary::after{content:"\2212"}
:root body .hsi-fig.hsi-fig .hsi-fig-data>summary:hover{color:var(--fig-ink)}
:root body .hsi-fig.hsi-fig .hsi-fig-file{order:1;flex:1 1 100%;margin:0;padding:8px 0;border-bottom:1px solid var(--fig-rule);font:400 12.5px/1.4 var(--fig-sans)}
:root body .hsi-fig.hsi-fig .hsi-fig-file a{color:var(--fig-slate);text-underline-offset:3px}
:root body .hsi-fig.hsi-fig .hsi-fig-table{width:100%;overflow-x:auto;margin:4px 0 18px}
:root body .hsi-fig.hsi-fig .hsi-fig-table table{width:100%;border-collapse:collapse;font:400 13px/1.45 var(--fig-sans);font-variant-numeric:tabular-nums;color:var(--fig-ink);table-layout:auto}
:root body .hsi-fig.hsi-fig .hsi-fig-table th,:root body .hsi-fig.hsi-fig .hsi-fig-table td{padding:8px 12px 8px 0;text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--fig-rule);background:transparent}
:root body .hsi-fig.hsi-fig .hsi-fig-table thead th{font-weight:600;font-size:11.5px;letter-spacing:.03em;color:var(--fig-muted);border-bottom:1px solid var(--fig-ink)}
:root body .hsi-fig.hsi-fig .hsi-fig-table tbody th{font-weight:500}

/* Shared plot pieces */
:root body .hsi-fig.hsi-fig .hsi-plot{position:relative;margin:0}
:root body .hsi-fig.hsi-fig .hsi-num{font-variant-numeric:tabular-nums}
:root body .hsi-fig.hsi-fig .hsi-axis{position:relative;height:22px;margin-top:6px;font:400 11.5px/1 var(--fig-sans);color:var(--fig-muted);font-variant-numeric:tabular-nums}
:root body .hsi-fig.hsi-fig .hsi-axis span{position:absolute;top:6px;left:calc(var(--at) * 1%);transform:translateX(-50%);white-space:nowrap}
:root body .hsi-fig.hsi-fig .hsi-axis span:first-child{transform:none}
:root body .hsi-fig.hsi-fig .hsi-axis span:last-child{transform:translateX(-100%)}
:root body .hsi-fig.hsi-fig .hsi-axis-title{margin:4px 0 0;font:400 11.5px/1.4 var(--fig-sans);color:var(--fig-muted)}
:root body .hsi-fig.hsi-fig .hsi-grid{position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(to right,var(--fig-grid) 0 1px,transparent 1px calc(var(--step,25) * 1%));}

/* -----------------------------------------------------------------------------
   Horizontal bars (grouped, with optional confidence intervals)
   Rows: [label] [track] ; a bar is width = value / max.
   -------------------------------------------------------------------------- */
:root body .hsi-fig.hsi-fig .hsi-hbars{--label:190px;--max:100;display:grid;grid-template-columns:var(--label) minmax(0,1fr);column-gap:16px}
:root body .hsi-fig.hsi-fig .hsi-hbars-axis{grid-column:2;margin-right:var(--room,92px)}
:root body .hsi-fig.hsi-fig .hsi-hgroup{display:contents}
:root body .hsi-fig.hsi-fig .hsi-hlabel{grid-column:1;align-self:center;padding:10px 0;font:500 13px/1.35 var(--fig-sans);color:var(--fig-ink)}
:root body .hsi-fig.hsi-fig .hsi-hlabel small{display:block;margin-top:2px;font:400 11.5px/1.35 var(--fig-sans);color:var(--fig-muted)}
:root body .hsi-fig.hsi-fig .hsi-hcell{grid-column:2;position:relative;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:10px var(--room,92px) 10px 0;border-left:1px solid var(--fig-base)}
:root body .hsi-fig.hsi-fig .hsi-hbars.has-grid .hsi-hcell{background-image:linear-gradient(to right,var(--fig-grid) 1px,transparent 1px),linear-gradient(var(--fig-grid),var(--fig-grid));background-size:calc(100% / var(--ticks,4)) 100%,1px 100%;background-repeat:repeat-x,no-repeat;background-position:0 0,100% 0;background-origin:content-box;background-clip:content-box}
:root body .hsi-fig.hsi-fig .hsi-hgroup+.hsi-hgroup>.hsi-hlabel,:root body .hsi-fig.hsi-fig .hsi-hgroup+.hsi-hgroup>.hsi-hcell{border-top:1px solid var(--fig-grid)}
:root body .hsi-fig.hsi-fig .hsi-hgroup.is-break>.hsi-hlabel,:root body .hsi-fig.hsi-fig .hsi-hgroup.is-break>.hsi-hcell{border-top:1px solid var(--fig-rule);margin-top:6px}
:root body .hsi-fig.hsi-fig .hsi-hbar{position:relative;display:flex;align-items:center;min-height:16px}
:root body .hsi-fig.hsi-fig .hsi-hbar i{
  display:block;height:14px;flex:none;width:calc(var(--v) / var(--max) * 100%);min-width:2px;
  background:var(--c,var(--fig-c1));border-radius:0 3px 3px 0;
}
:root body .hsi-fig.hsi-fig .hsi-hbar.is-thick i{height:20px}
:root body .hsi-fig.hsi-fig .hsi-hbar.is-estimate i{background:var(--fig-accent)}
:root body .hsi-fig.hsi-fig .hsi-hbar b{
  margin-left:8px;white-space:nowrap;font:600 12.5px/1 var(--fig-sans);color:var(--fig-ink);font-variant-numeric:tabular-nums;
}
:root body .hsi-fig.hsi-fig .hsi-hbar b small{margin-left:5px;font-weight:400;color:var(--fig-muted)}
:root body .hsi-fig.hsi-fig .hsi-hbar.is-na{font:italic 400 12px/1 var(--fig-sans);color:var(--fig-muted);min-height:14px;padding-left:8px}
/* Confidence interval drawn over the bar, measured on the same scale. */
:root body .hsi-fig.hsi-fig .hsi-ci{
  position:absolute;top:50%;height:10px;transform:translateY(-50%);
  left:calc(var(--lo) / var(--max) * 100%);width:calc((var(--hi) - var(--lo)) / var(--max) * 100%);
  border-left:1.5px solid var(--fig-ink);border-right:1.5px solid var(--fig-ink);
  background:linear-gradient(var(--fig-ink),var(--fig-ink)) center/100% 1.5px no-repeat;
}
:root body .hsi-fig.hsi-fig .hsi-hbar.has-ci b{margin-left:calc((var(--hi) - var(--v)) / var(--max) * 100% + 8px)}
:root body .hsi-fig.hsi-fig .hsi-hbars-grid{grid-column:2;grid-row:1 / -1;position:relative;pointer-events:none}

/* -----------------------------------------------------------------------------
   Waterfall (horizontal): each step floats from --from to --to on one scale.
   -------------------------------------------------------------------------- */
:root body .hsi-fig.hsi-fig .hsi-wf{--label:200px;--max:100;display:grid;grid-template-columns:var(--label) minmax(0,1fr);column-gap:16px}
:root body .hsi-fig.hsi-fig .hsi-wf-row{display:contents}
:root body .hsi-fig.hsi-fig .hsi-wf-row>.hsi-hlabel{border-top:1px solid var(--fig-grid)}
:root body .hsi-fig.hsi-fig .hsi-wf-row:first-child>.hsi-hlabel,:root body .hsi-fig.hsi-fig .hsi-wf-row:first-child>.hsi-wf-cell{border-top:0}
:root body .hsi-fig.hsi-fig .hsi-wf-cell{grid-column:2;position:relative;height:44px;border-left:1px solid var(--fig-base);border-top:1px solid var(--fig-grid);margin-right:72px}
:root body .hsi-fig.hsi-fig .hsi-wf .hsi-wf-cell{background-image:linear-gradient(to right,var(--fig-grid) 1px,transparent 1px),linear-gradient(var(--fig-grid),var(--fig-grid));background-size:calc(100% / var(--ticks,5)) 100%,1px 100%;background-repeat:repeat-x,no-repeat;background-position:0 0,100% 0}
:root body .hsi-fig.hsi-fig .hsi-wf-row.is-total>*{border-top:1px solid var(--fig-ink)}
:root body .hsi-fig.hsi-fig .hsi-wf-row.is-alt>*{border-top:1px solid var(--fig-rule);margin-top:10px}
:root body .hsi-fig.hsi-fig .hsi-wf-cell i{
  position:absolute;top:50%;height:18px;transform:translateY(-50%);
  left:calc(var(--from) / var(--max) * 100%);width:calc((var(--to) - var(--from)) / var(--max) * 100%);
  background:var(--c,var(--fig-c1));
}
:root body .hsi-fig.hsi-fig .hsi-wf-cell b{
  position:absolute;top:50%;transform:translateY(-50%);left:calc(var(--to) / var(--max) * 100% + 8px);
  white-space:nowrap;font:600 12.5px/1 var(--fig-sans);color:var(--fig-ink);font-variant-numeric:tabular-nums;
}
:root body .hsi-fig.hsi-fig .hsi-wf-cell .hsi-wf-join{position:absolute;top:calc(50% + 9px);height:26px;border-left:1px solid var(--fig-base);left:calc(var(--at) / var(--max) * 100%)}
:root body .hsi-fig.hsi-fig .hsi-wf-axis{grid-column:2;margin-right:72px}

/* -----------------------------------------------------------------------------
   Range / dot plot on a shared scale (min..max mapped to 0..100%).
   -------------------------------------------------------------------------- */
:root body .hsi-fig.hsi-fig .hsi-range{position:relative;height:64px;margin:0 6px}
:root body .hsi-fig.hsi-fig .hsi-range-line{position:absolute;left:0;right:0;top:40px;border-top:1px solid var(--fig-base)}
:root body .hsi-fig.hsi-fig .hsi-range-band{position:absolute;top:36px;height:9px;left:calc(var(--a) * 1%);width:calc((var(--b) - var(--a)) * 1%);background:var(--fig-partial)}
:root body .hsi-fig.hsi-fig .hsi-range-dot{
  position:absolute;top:40px;left:calc(var(--at) * 1%);width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;
  background:var(--fig-c1);box-shadow:0 0 0 2px var(--paper,#f6f2e7);
}
:root body .hsi-fig.hsi-fig .hsi-range-dot b{
  position:absolute;bottom:20px;left:50%;transform:translateX(-50%);white-space:nowrap;
  font:600 13px/1 var(--fig-sans);color:var(--fig-ink);font-variant-numeric:tabular-nums;
}
:root body .hsi-fig.hsi-fig .hsi-range-dot.is-end b{left:auto;right:-4px;transform:none}
:root body .hsi-fig.hsi-fig .hsi-range-dot.is-start b{left:-4px;transform:none}
:root body .hsi-fig.hsi-fig .hsi-range-axis{margin:0 6px}
:root body .hsi-fig.hsi-fig .hsi-range-note{margin:2px 0 0;text-align:center;font:500 12.5px/1.4 var(--fig-sans);color:var(--fig-ink)}

/* Two side-by-side panels inside one figure */
:root body .hsi-fig.hsi-fig .hsi-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}
:root body .hsi-fig.hsi-fig .hsi-panel-title{margin:0 0 14px;padding:0 0 8px;border-bottom:1px solid var(--fig-rule);font:400 13px/1.45 var(--fig-sans);color:var(--fig-slate)}
:root body .hsi-fig.hsi-fig .hsi-panel-title strong{font-weight:600;color:var(--fig-ink)}
:root body .hsi-fig.hsi-fig .hsi-panel-foot{margin:10px 0 0;font:400 12px/1.5 var(--fig-sans);color:var(--fig-muted)}

/* Stand-out figure inside a chart (used sparingly, one per figure at most). */
:root body .hsi-fig.hsi-fig .hsi-callout{margin:0;padding:0 0 0 14px;border-left:2px solid var(--fig-accent)}
:root body .hsi-fig.hsi-fig .hsi-callout strong{display:block;font:600 26px/1.1 var(--fig-sans);letter-spacing:-.01em;color:var(--fig-ink)}
:root body .hsi-fig.hsi-fig .hsi-callout span{display:block;margin-top:4px;font:400 12.5px/1.45 var(--fig-sans);color:var(--fig-slate)}

/* -----------------------------------------------------------------------------
   Coverage matrix (heatmap): rows of items x ordered stages, three states.
   -------------------------------------------------------------------------- */
:root body .hsi-fig.hsi-fig .hsi-matrix{--cols:5;display:grid;grid-template-columns:minmax(150px,1.35fr) repeat(var(--cols),minmax(0,.62fr)) minmax(120px,1.1fr);gap:3px}
:root body .hsi-fig.hsi-fig .hsi-mx-head{display:contents}
:root body .hsi-fig.hsi-fig .hsi-mx-colhead{
  align-self:end;padding:0 4px 8px;text-align:center;font:500 11.5px/1.3 var(--fig-sans);color:var(--fig-ink);
}
:root body .hsi-fig.hsi-fig .hsi-mx-colhead em{display:block;font:500 10px/1.4 var(--fig-sans);font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--fig-muted);margin-bottom:3px}
:root body .hsi-fig.hsi-fig .hsi-mx-colhead.is-handoff em{color:var(--fig-c1)}
:root body .hsi-fig.hsi-fig .hsi-mx-colhead.is-row,:root body .hsi-fig.hsi-fig .hsi-mx-colhead.is-answer{text-align:left;padding-left:0}
:root body .hsi-fig.hsi-fig .hsi-mx-row{display:contents}
:root body .hsi-fig.hsi-fig .hsi-mx-label{align-self:center;padding:6px 10px 6px 0;font:500 13px/1.35 var(--fig-sans);color:var(--fig-ink)}
:root body .hsi-fig.hsi-fig .hsi-mx-label small{display:block;margin-top:2px;font:400 11.5px/1.3 var(--fig-sans);color:var(--fig-muted)}
:root body .hsi-fig.hsi-fig .hsi-mx-cell{
  display:flex;align-items:center;justify-content:center;min-height:48px;
  font:600 15px/1 var(--fig-sans);font-variant-numeric:tabular-nums;background:var(--fig-none);color:var(--fig-muted);
}
:root body .hsi-fig.hsi-fig .hsi-mx-cell.is-partial{background:var(--fig-partial);color:var(--fig-ink)}
:root body .hsi-fig.hsi-fig .hsi-mx-cell.is-full{background:var(--fig-c1);color:#fff}
:root body .hsi-fig.hsi-fig .hsi-mx-cell.is-handoff{box-shadow:inset 0 0 0 1.5px rgba(29,78,155,.55)}
:root body .hsi-fig.hsi-fig .hsi-mx-cell.is-full.is-handoff{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
:root body .hsi-fig.hsi-fig .hsi-mx-answer{align-self:center;padding:6px 0 6px 12px;font:400 12.5px/1.4 var(--fig-sans);color:var(--fig-slate)}
:root body .hsi-fig.hsi-fig .hsi-mx-answer.is-yes{font-weight:600;color:var(--fig-ink)}
:root body .hsi-fig.hsi-fig .hsi-mx-k{display:inline-block;width:12px;height:12px;vertical-align:-1px;margin-right:6px}

/* -----------------------------------------------------------------------------
   Process flow (schematic): stages joined by handoffs, with a degree meter.
   -------------------------------------------------------------------------- */
:root body .hsi-fig.hsi-fig .hsi-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:16px;row-gap:0;align-items:stretch}
:root body .hsi-fig.hsi-fig .hsi-flow-stage{grid-row:1;padding:16px 16px 18px;background:var(--fig-ink);color:#f6f2e7}
:root body .hsi-fig.hsi-fig .hsi-flow-stage em{display:block;font:500 10px/1.5 var(--fig-sans);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:#d2c39a;margin:0 0 6px}
:root body .hsi-fig.hsi-fig .hsi-flow-stage h4{margin:0 0 8px;font:400 19px/1.25 var(--fig-serif);color:#fff;letter-spacing:-.005em}
:root body .hsi-fig.hsi-fig .hsi-flow-stage p{margin:0;font:400 12.5px/1.5 var(--fig-sans);color:#dfe3ea}
:root body .hsi-fig.hsi-fig .hsi-flow-handoff{
  grid-row:1;align-self:stretch;position:relative;margin:0;padding:16px 16px 18px;border:1.5px dashed rgba(29,78,155,.65);
  background:transparent;font:400 12.5px/1.45 var(--fig-sans);color:var(--fig-slate);
}
:root body .hsi-fig.hsi-fig .hsi-flow-handoff strong{display:block;font:500 10px/1.5 var(--fig-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--fig-c1);margin:0 0 6px}
:root body .hsi-fig.hsi-fig .hsi-flow-handoff::before,:root body .hsi-fig.hsi-fig .hsi-flow-handoff::after{content:"";position:absolute;top:50%;width:14px;border-top:1.5px solid var(--fig-ink)}
:root body .hsi-fig.hsi-fig .hsi-flow-handoff::before{left:-17px;width:15px}
:root body .hsi-fig.hsi-fig .hsi-flow-handoff::after{right:-11px;width:10px}
:root body .hsi-fig.hsi-fig .hsi-flow-handoff i{position:absolute;right:-17px;top:50%;margin-top:-5px;width:0;height:0;border-left:7px solid var(--fig-ink);border-top:5px solid transparent;border-bottom:5px solid transparent}
:root body .hsi-fig.hsi-fig .hsi-flow-s1{grid-column:1}:root body .hsi-fig.hsi-fig .hsi-flow-handoff.h1{grid-column:2}:root body .hsi-fig.hsi-fig .hsi-flow-s2{grid-column:3}
:root body .hsi-fig.hsi-fig .hsi-flow-handoff.h2{grid-column:4}:root body .hsi-fig.hsi-fig .hsi-flow-s3{grid-column:5}
:root body .hsi-fig.hsi-fig .hsi-flow-meterhead{grid-row:2;grid-column:1 / -1;margin:20px 0 12px;padding-top:12px;border-top:1px solid var(--fig-rule);font:500 10.5px/1.5 var(--fig-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--fig-muted)}
:root body .hsi-fig.hsi-fig .hsi-flow-meter{grid-row:3}
:root body .hsi-fig.hsi-fig .hsi-flow-m1{grid-column:1}:root body .hsi-fig.hsi-fig .hsi-flow-m2{grid-column:3}:root body .hsi-fig.hsi-fig .hsi-flow-m3{grid-column:5}
:root body .hsi-fig.hsi-fig .hsi-meter{display:block;height:8px;background:var(--fig-track);margin:0 0 10px}
:root body .hsi-fig.hsi-fig .hsi-meter i{display:block;height:100%;width:calc(var(--v) * 1%);background:var(--fig-c2)}
:root body .hsi-fig.hsi-fig .hsi-flow-meter p{margin:0;font:400 12.5px/1.5 var(--fig-sans);color:var(--fig-slate)}
:root body .hsi-fig.hsi-fig .hsi-flow-meter p strong{color:var(--fig-ink);font-weight:600}

/* -----------------------------------------------------------------------------
   Phones and narrow columns
   -------------------------------------------------------------------------- */
@media (max-width:760px){
  :root body .hsi-fig.hsi-fig{margin:40px 0 48px}
  :root body .hsi-fig.hsi-fig--wide{width:auto;margin-left:0}
  :root body .hsi-fig.hsi-fig .hsi-hbars,:root body .hsi-fig.hsi-fig .hsi-wf{--label:var(--m-label,104px)!important;--room:var(--m-room,72px)!important;column-gap:10px}
  :root body .hsi-fig.hsi-fig .hsi-axis span:nth-child(even):not(:last-child){display:none}
  :root body .hsi-fig.hsi-fig .hsi-axis span:nth-last-child(2):nth-child(odd){display:none}
  :root body .hsi-fig.hsi-fig .hsi-hbar b small{display:block;margin:3px 0 0;font-size:11px}
  :root body .hsi-fig.hsi-fig .hsi-hlabel{font-size:12.5px}
  :root body .hsi-fig.hsi-fig .hsi-wf-cell,:root body .hsi-fig.hsi-fig .hsi-wf-axis{margin-right:58px}
  :root body .hsi-fig.hsi-fig .hsi-panels{grid-template-columns:1fr}
  /* Matrix: each row becomes a labelled strip of five stage cells. */
  :root body .hsi-fig.hsi-fig .hsi-matrix{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}
  :root body .hsi-fig.hsi-fig .hsi-mx-colhead{font-size:10.5px;padding:0 2px 6px}
  :root body .hsi-fig.hsi-fig .hsi-mx-colhead span{display:none}
  :root body .hsi-fig.hsi-fig .hsi-mx-colhead.is-row,:root body .hsi-fig.hsi-fig .hsi-mx-colhead.is-answer{display:none}
  :root body .hsi-fig.hsi-fig .hsi-mx-label{grid-column:1 / -1;padding:14px 0 4px;border-top:1px solid var(--fig-rule)}
  :root body .hsi-fig.hsi-fig .hsi-mx-cell{min-height:38px;font-size:14px}
  :root body .hsi-fig.hsi-fig .hsi-mx-answer{grid-column:1 / -1;padding:4px 0 6px}
  :root body .hsi-fig.hsi-fig .hsi-mx-answer::before{content:"Told when buying? ";color:var(--fig-muted);font-weight:400}
  /* Flow: one stage after another, each followed by its handoff. */
  :root body .hsi-fig.hsi-fig .hsi-flow{display:flex;flex-direction:column}
  :root body .hsi-fig.hsi-fig .hsi-flow-stage{margin-top:6px}
  :root body .hsi-fig.hsi-fig .hsi-flow-meterhead{display:none}
  :root body .hsi-fig.hsi-fig .hsi-flow-meter{padding:12px 0 2px}
  :root body .hsi-fig.hsi-fig .hsi-flow-meter::before{content:"Delegated";display:block;margin-bottom:6px;font:500 10px/1.5 var(--fig-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--fig-muted)}
  :root body .hsi-fig.hsi-fig .hsi-flow-handoff{margin:16px 0 18px 22px}
  :root body .hsi-fig.hsi-fig .hsi-flow-handoff::before{left:-15px;top:-18px;bottom:-20px;width:0;border-top:0;border-left:1.5px solid var(--fig-ink)}
  :root body .hsi-fig.hsi-fig .hsi-flow-handoff::after,:root body .hsi-fig.hsi-fig .hsi-flow-handoff i{display:none}
  :root body .hsi-fig.hsi-fig .hsi-flow-s1{order:1}:root body .hsi-fig.hsi-fig .hsi-flow-m1{order:2}:root body .hsi-fig.hsi-fig .hsi-flow-handoff.h1{order:3}
  :root body .hsi-fig.hsi-fig .hsi-flow-s2{order:4}:root body .hsi-fig.hsi-fig .hsi-flow-m2{order:5}:root body .hsi-fig.hsi-fig .hsi-flow-handoff.h2{order:6}
  :root body .hsi-fig.hsi-fig .hsi-flow-s3{order:7}:root body .hsi-fig.hsi-fig .hsi-flow-m3{order:8}
}


@media print{
  :root body .hsi-fig.hsi-fig{break-inside:avoid}
  :root body .hsi-fig.hsi-fig--wide{width:auto;margin-left:0}
  :root body .hsi-fig.hsi-fig .hsi-fig-tools{display:none}
  :root body .hsi-fig.hsi-fig .hsi-mx-cell,:root body .hsi-fig.hsi-fig .hsi-hbar i,:root body .hsi-fig.hsi-fig .hsi-wf-cell i,:root body .hsi-fig.hsi-fig .hsi-flow-stage{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
@media (forced-colors:active){
  :root body .hsi-fig.hsi-fig .hsi-hbar i,:root body .hsi-fig.hsi-fig .hsi-wf-cell i,:root body .hsi-fig.hsi-fig .hsi-mx-cell,:root body .hsi-fig.hsi-fig .hsi-key{forced-color-adjust:none}
}

/* -----------------------------------------------------------------------------
   Figures made before this standard (Searchlight metric figures and similar):
   the artwork stays as published; the caption follows the house note style.
   -------------------------------------------------------------------------- */
:root body.hsi-identity .metric-figure.metric-figure>figcaption,
:root body.hsi-identity .metric-figure.metric-figure>figcaption p{
  font:400 12.5px/1.55 var(--fig-sans);font-style:normal;letter-spacing:0;color:var(--fig-muted);
}
:root body.hsi-identity .metric-figure.metric-figure>figcaption{margin-top:12px;max-width:46em}
:root body.hsi-identity .metric-figure.metric-figure>figcaption p{margin:0 0 6px}
:root body.hsi-identity .metric-figure.metric-figure>figcaption p:last-child{margin-bottom:0}
:root body.hsi-identity .metric-figure.metric-figure>figcaption em{font-style:italic}
:root body.hsi-identity .metric-figure.metric-figure>figcaption a{color:var(--fig-slate);text-underline-offset:2px}

/* Compact figure for index and hub pages: same anatomy, quieter scale. */
:root body .hsi-fig.hsi-fig--compact{margin:0;padding-top:14px}
:root body .hsi-fig.hsi-fig--compact .hsi-fig-title{font-size:1.15rem;line-height:1.3}
:root body .hsi-fig.hsi-fig--compact .hsi-fig-sub{font-size:12.5px}
:root body .hsi-fig.hsi-fig--compact .hsi-hbars{--label:150px!important;--room:130px!important}
:root body .hsi-fig.hsi-fig--compact .hsi-fig-notes p{font-size:12px}
