:root{
  --ink:#16233d;
  --ink-soft:#48546c;
  --ink-faint:#7a8399;
  --paper:#fff7f1;
  --surface:#ffffff;
  --surface-sunk:#e4e8e3;
  --line:rgba(22,35,61,.14);
  --line-strong:rgba(22,35,61,.28);
  --gold:#a86c0a;
  --gold-ink:#7a4f08;
  --rust:#9c3b2e;
  --teal:#1f6f5c;
  --ca-red:#ef3340;
  --up:#1a7f37;
  --down:#c0392b;
  --chart-past:#2a6fb0;
  --chart-current:#c9781a;
  --shadow:0 1px 2px rgba(22,35,61,.06), 0 8px 24px -12px rgba(22,35,61,.18);
  --serif:'Spectral', Georgia, 'Times New Roman', serif;
  --sans:'IBM Plex Sans', -apple-system, 'Segoe UI', sans-serif;
  --mono:'IBM Plex Mono', 'SF Mono', Consolas, monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ink:#eceae2;
    --ink-soft:#b7bdc9;
    --ink-faint:#828a9c;
    --paper:#121729;
    --surface:#1a2036;
    --surface-sunk:#0e1424;
    --line:rgba(236,234,226,.14);
    --line-strong:rgba(236,234,226,.26);
    --gold:#dba445;
    --gold-ink:#f0c374;
    --rust:#e2685a;
    --teal:#57c6a6;
    --up:#4cc26e;
    --down:#f0786b;
    --chart-past:#4a87bf;
    --chart-current:#b87f28;
    --shadow:0 1px 2px rgba(0,0,0,.3), 0 12px 28px -14px rgba(0,0,0,.6);
  }
  :root:not([data-theme="light"]) body{background-image:none;}
}
:root[data-theme="dark"] body{background-image:none;}
:root[data-theme="dark"]{
  --ink:#eceae2;
  --ink-soft:#b7bdc9;
  --ink-faint:#828a9c;
  --paper:#121729;
  --surface:#1a2036;
  --surface-sunk:#0e1424;
  --line:rgba(236,234,226,.14);
  --line-strong:rgba(236,234,226,.26);
  --gold:#dba445;
  --gold-ink:#f0c374;
  --rust:#e2685a;
  --teal:#57c6a6;
  --up:#4cc26e;
  --down:#f0786b;
  --chart-past:#4a87bf;
  --chart-current:#b87f28;
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 12px 28px -14px rgba(0,0,0,.6);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} *{animation-duration:.001ms !important; transition-duration:.001ms !important;} }

body{
  margin:0;
  background-color:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;}
[hidden]{display:none !important;}
a{color:inherit;}
::selection{background:var(--gold); color:var(--surface);}

.wrap{max-width:1120px; margin:0 auto; padding:0 34px;}

h1,h2,h3{font-family:var(--serif); font-weight:600; text-wrap:pretty; margin:0;}

/* ---------- masthead ---------- */
.masthead{
  position:sticky; top:0; z-index:30;
  background:color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.masthead-row{
  max-width:1120px; margin:0 auto; padding:14px 34px;
  display:flex; align-items:center; gap:18px; flex-wrap:wrap;
}
.wordmark{
  font-family:var(--serif); font-weight:700; font-size:1.05rem; letter-spacing:.01em;
  white-space:nowrap; margin-right:auto;
}
.wordmark em{font-style:normal; color:var(--gold);}
.masthead-row{position:relative;}
/* menu: one button at every width, opening a dropdown panel */
.masthead-nav{
  display:none; position:absolute; top:calc(100% + 1px); right:34px; z-index:31;
  width:min(340px, calc(100vw - 40px)); flex-direction:column; gap:2px; padding:10px;
  background:var(--surface); border:1px solid var(--line); border-radius:0 0 10px 10px; box-shadow:var(--shadow);
  font-size:.95rem; font-weight:500;
}
.masthead-nav.open{display:flex;}
.masthead-nav a{text-decoration:none; color:var(--ink-soft); padding:10px 12px; border-radius:6px; border-left:3px solid transparent;}
.masthead-nav a:hover, .masthead-nav a:focus-visible{color:var(--ink); background:var(--surface-sunk);}
.masthead-nav a[aria-current="page"]{color:var(--ink); font-weight:600; border-left-color:var(--gold); background:var(--surface-sunk);}
.wordmark a{text-decoration:none;}
a:focus-visible, button:focus-visible, summary:focus-visible{outline:2px solid var(--gold); outline-offset:3px; border-radius:2px;}
.nav-toggle{
  display:inline-flex; align-items:center; gap:8px; cursor:pointer;
  background:none; border:1px solid var(--line-strong); border-radius:20px; color:var(--ink);
  padding:6px 14px; font-family:var(--sans); font-size:.82rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
}
.nav-toggle .icon{font-family:var(--mono); font-size:1.05rem; line-height:1; width:1em; text-align:center;}
.nav-toggle:hover, .nav-toggle[aria-expanded="true"]{border-color:var(--gold); color:var(--gold-ink);}
@media (max-width:640px){
  .masthead-nav{right:20px;}
}
section[id], [id].anchor{scroll-margin-top:80px;}

/* ---------- hero ---------- */
/* shared right edge for the hero headline and text, and the text in every section below it (= the old 42ch of the h1 font) */
:root{--hero-measure:calc(clamp(1.9rem, 3.6vw, 2.65rem) * 22.5);}
.hero{padding-top:76px; padding-bottom:56px; position:relative;}
.eyebrow{
  font-family:var(--mono); font-size:.76rem; letter-spacing:.11em; text-transform:uppercase;
  color:var(--gold-ink); font-weight:600; margin-bottom:18px; display:flex; align-items:center; gap:10px;
}
.eyebrow::before{content:""; width:26px; height:1px; background:var(--gold); display:inline-block;}
.hero h1{
  font-size:clamp(1.9rem, 3.6vw, 2.65rem); line-height:1.16; letter-spacing:-.01em;
  max-width:none;
}
.hero h1 .accent{color:var(--gold-ink); font-style:italic;}
.hero h1 .h1-para{display:block; margin-top:.55em;}
.hero .lede{
  margin:24px 0 0; max-width:var(--hero-measure); font-size:1.18rem; color:var(--ink-soft); line-height:1.55;
}
.hero .intro{
  margin:16px 0 0; max-width:var(--hero-measure); line-height:1.6;
  font-family:var(--serif); font-style:italic; font-weight:600; font-size:1.12rem; color:var(--rust);
}
.hero .lede + .intro{margin-top:28px;}
.hero .intro.call{margin-top:24px; font-weight:700; color:var(--ink);}
.hero .intro.answer{margin-left:1.6em; max-width:calc(var(--hero-measure) - 1.6em);}

/* ---------- clause sections ---------- */
.clause{
  padding-top:64px; padding-bottom:64px; border-top:1px solid var(--line);
}
.clause-body{max-width:var(--hero-measure); min-width:0;}
.clause-kicker{
  font-family:var(--mono); font-size:.8rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--gold-ink); font-weight:700; margin-bottom:14px; display:flex; align-items:center; gap:10px;
}
.clause-kicker::before{content:""; width:26px; height:1px; background:var(--gold); display:inline-block;}
.clause h2{font-size:clamp(1.4rem,2.2vw,1.75rem); line-height:1.25; margin-bottom:20px; max-width:none;}
.clause h3.subhead{font-family:var(--serif); font-weight:600; font-size:clamp(1.4rem,2.2vw,1.75rem); color:var(--ink); margin:30px 0 16px; max-width:none;}
.clause p{margin:0 0 16px; color:var(--ink-soft); max-width:none;}
.clause p strong{color:var(--ink); font-weight:600;}
.clause p.lead{font-size:1.1rem; color:var(--ink);}
.clause ul.plain{margin:0 0 16px; padding-left:1.2em; color:var(--ink-soft); max-width:none;}
.clause .chart-card{max-width:860px;}
.clause ul.plain li{margin-bottom:10px;}
.clause ul.plain li strong{color:var(--ink); font-weight:600;}
.callout{
  margin:28px 0; padding:20px 24px; border-left:3px solid var(--gold);
  background:var(--surface); border-radius:0 6px 6px 0; box-shadow:var(--shadow);
}
.callout p{margin:0; font-family:var(--serif); font-style:italic; font-size:1.1rem; color:var(--ink); max-width:56ch;}
.callout cite{display:block; margin-top:10px; font-family:var(--sans); font-style:normal; font-size:.78rem; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.06em;}

.mini-stats{display:flex; gap:28px; flex-wrap:wrap; margin:26px 0 8px;}
.mini-stat .num{font-family:var(--mono); font-weight:600; font-size:1.5rem; font-variant-numeric:tabular-nums;}
.mini-stat .num.rust{color:var(--rust);}
.mini-stat .num.gold{color:var(--gold-ink);}
.mini-stat .num.teal{color:var(--teal);}
.mini-stat .cap{font-size:.78rem; color:var(--ink-soft); max-width:16ch; margin-top:3px;}

/* ---------- chart cards ---------- */
.chart-card{
  background:var(--surface); border:1px solid var(--line); border-radius:8px;
  padding:24px 26px 18px; margin:30px 0; box-shadow:var(--shadow);
}
.chart-title{font-family:var(--sans); font-weight:600; font-size:.95rem; color:var(--ink);}
.chart-sub{font-size:.8rem; color:var(--ink-faint); margin-top:3px; margin-bottom:14px;}
.legend{display:flex; gap:18px; flex-wrap:wrap; margin:2px 0 6px; font-size:.78rem; color:var(--ink-soft);}
.legend span{display:inline-flex; align-items:center; gap:7px;}
.legend i{width:11px; height:11px; border-radius:2px; display:inline-block;}
.chart-svg-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch; position:relative;}
/* compact (phone) chart layouts: text halo so dashed threshold lines don't cut through labels */
svg.chart .halo{paint-order:stroke; stroke:var(--surface); stroke-width:4px; stroke-linejoin:round;}
svg.chart{display:block; font-family:var(--mono);}
svg.chart text{fill:var(--ink-soft);}
svg.chart .axis-line{stroke:var(--line-strong); stroke-width:1;}
svg.chart .grid-line{stroke:var(--line); stroke-width:1;}
svg.chart .bar-value{fill:var(--ink); font-size:11px; font-weight:600; text-anchor:middle;}
svg.chart .cat-label{fill:var(--ink-soft); font-size:11.5px; text-anchor:middle; font-family:var(--sans);}
svg.chart .threshold-label{fill:var(--ink); font-size:11px; font-family:var(--sans); font-weight:600;}
.bar-past{fill:var(--chart-past);}
.bar-current{fill:var(--chart-current);}
.bar-solo{fill:var(--chart-current);}
rect.bar{cursor:pointer; transition:opacity .12s;}
rect.bar:hover{opacity:.82;}
.threshold-line{stroke:var(--rust); stroke-width:1.4; stroke-dasharray:4 3;}
.threshold-line.alt{stroke:var(--teal);}
.line-past{stroke:var(--chart-past);}
.line-current{stroke:var(--chart-current);}
.dot-past{fill:var(--chart-past);}
.dot-current{fill:var(--chart-current);}
svg.chart circle{cursor:pointer; transition:opacity .12s;}
svg.chart circle:hover{opacity:.7;}

details.data-table{margin-top:6px;}
details.data-table summary{
  cursor:pointer; font-size:.78rem; color:var(--ink-soft); font-family:var(--sans);
  padding:6px 0; list-style:none; display:flex; align-items:center; gap:6px;
}
details.data-table summary::before{content:"+"; font-family:var(--mono); color:var(--gold-ink); font-weight:700;}
details.data-table[open] summary::before{content:"–";}
details.data-table summary::-webkit-details-marker{display:none;}
table.figures{border-collapse:collapse; width:100%; font-size:.82rem; margin-top:8px;}
table.figures th, table.figures td{
  text-align:right; padding:6px 10px; border-bottom:1px solid var(--line); font-variant-numeric:tabular-nums;
}
table.figures th:first-child, table.figures td:first-child{text-align:left; font-variant-numeric:normal;}
table.figures thead th{color:var(--ink-faint); font-weight:600; text-transform:uppercase; font-size:.68rem; letter-spacing:.05em;}

.source-note{font-size:.74rem; color:var(--ink-faint); margin-top:14px;}

/* ---------- ask list ---------- */
.ask-list{list-style:none; margin:26px 0; padding:0; display:flex; flex-direction:column; gap:16px;}
.ask-list li{
  display:grid; grid-template-columns:34px 1fr; gap:16px; align-items:start;
  background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:18px 20px;
}
.ask-list .n{font-family:var(--mono); font-weight:600; color:var(--gold-ink); font-size:1rem; padding-top:1px;}
.ask-list h3{font-family:var(--sans); font-size:.98rem; font-weight:700; margin:0 0 4px;}
.ask-list p{margin:0; color:var(--ink-soft); font-size:.92rem;}

.impact-row{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:28px; margin-bottom:12px;
}
.impact-row .tile{
  background:var(--surface-sunk); border-radius:8px; padding:24px 20px; text-align:left;
}
.impact-row .num{font-family:var(--mono); font-weight:700; font-size:clamp(1.5rem, 3.1vw, 2.4rem); line-height:1.1; color:var(--teal); font-variant-numeric:tabular-nums;}
.impact-row .cap{font-size:1rem; font-weight:500; color:var(--ink); margin-top:10px; line-height:1.4;}
@media (max-width:640px){ .impact-row{grid-template-columns:1fr;} }

/* ---------- closing ---------- */
.closing{padding-top:70px; padding-bottom:50px; border-top:1px solid var(--line);}
.closing .wrap-inner{max-width:var(--hero-measure);}
.closing h2{font-size:clamp(1.45rem,2.4vw,1.9rem); margin-bottom:18px;}
.closing p{color:var(--ink-soft); margin:0 0 16px; max-width:none;}
.closing .signoff{
  margin-top:28px; padding-top:22px; border-top:1px solid var(--line);
  font-family:var(--serif); font-style:italic; font-size:1.15rem; color:var(--gold-ink);
}

footer.wrap{border-top:1px solid var(--line); padding-top:48px; padding-bottom:60px;}
footer .foot-grid{display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap;}
footer .foot-brand{font-family:var(--serif); font-weight:700; font-size:1rem;}
footer .foot-sources{font-size:.8rem; color:var(--ink-faint); max-width:none; line-height:1.65;}
footer .foot-sources strong{color:var(--ink-soft);}

/* tooltip */
#tooltip{
  position:fixed; pointer-events:none; z-index:50; background:var(--ink); color:var(--paper);
  font-family:var(--mono); font-size:.72rem; padding:6px 9px; border-radius:4px; opacity:0;
  transform:translate(-50%,-130%); transition:opacity .1s; white-space:nowrap;
}
#tooltip.show{opacity:1;}

/* ---------- phones ---------- */
@media (max-width:640px){
  /* longhands only: .hero/.clause/.closing set their own vertical padding */
  .wrap{padding-left:20px; padding-right:20px;}
  .masthead-row{padding:10px 20px;}
  .hero{padding-top:36px; padding-bottom:40px;}
  .hero h1{font-size:1.6rem; line-height:1.2;}
  .clause{padding-top:48px; padding-bottom:48px;}
  .chart-card{padding-left:14px; padding-right:14px;}
  /* comfortable tap targets */
  .impact-row .num{font-size:clamp(1.9rem, 9vw, 2.4rem);}
}

/* ---------- multi-page additions ---------- */
.page-hero{padding-top:64px; padding-bottom:36px;}
.page-hero h1{font-size:clamp(1.7rem, 3.2vw, 2.4rem); line-height:1.18; letter-spacing:-.01em; max-width:none;}
.page-hero .lede{margin:20px 0 0; max-width:var(--hero-measure); font-size:1.12rem; color:var(--ink-soft); line-height:1.55;}
.page-hero + .clause{border-top:none; padding-top:8px;}

.clause h3{font-family:var(--serif); font-weight:600; font-size:1.25rem; line-height:1.3; color:var(--ink); margin:30px 0 12px;}
.clause p.emph, .clause li.emph{color:var(--ink); font-weight:600;}
.clause ul.plain ul{margin:10px 0 0; padding-left:1.2em;}
.clause ol.plain{margin:0 0 16px; padding-left:1.4em; color:var(--ink-soft);}
.clause ol.plain li{margin-bottom:6px;}
.clause a{color:var(--gold-ink); text-underline-offset:2px;}
.clause a:hover{color:var(--ink);}
.fineprint{font-size:.82rem; color:var(--ink-faint); font-style:italic;}
.clause p.fineprint{color:var(--ink-faint);}

/* sub-navigation within a long page */
.subnav{display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 0;}
.subnav a{
  font-size:.85rem; text-decoration:none; color:var(--ink); padding:7px 13px;
  border:1px solid var(--line-strong); border-radius:20px; background:var(--surface);
}
.subnav a:hover, .subnav a:focus-visible{border-color:var(--gold); color:var(--gold-ink);}

/* static data tables */
.table-card{background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:18px 22px 14px; margin:26px 0; box-shadow:var(--shadow); overflow-x:auto;}
.table-card .chart-title{margin-bottom:4px;}
.table-card table.figures{margin-top:4px;}
table.figures td.note{color:var(--ink-faint); font-size:.78rem;}
table.figures.facts td:nth-child(2){font-family:var(--mono); font-weight:600; color:var(--ink);}
table.figures.facts td:first-child{color:var(--ink);}
table.figures.facts td.note{text-align:left;}
table.figures.left td, table.figures.left th{text-align:left;}

/* home: position + pathway buttons */
.position{
  margin:30px 0 0; padding:22px 26px; border-left:3px solid var(--gold);
  background:var(--surface); border-radius:0 8px 8px 0; box-shadow:var(--shadow); max-width:var(--hero-measure);
}
.position .label{font-family:var(--mono); font-size:.76rem; letter-spacing:.11em; text-transform:uppercase; color:var(--gold-ink); font-weight:700; margin:0 0 8px;}
.position p{margin:0 0 12px; color:var(--ink);}
.position p:last-child{margin-bottom:0;}
.position .lead{font-family:var(--serif); font-size:1.15rem; font-weight:600; line-height:1.45;}
.pathways{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0 0; padding:0; list-style:none;}
.pathways a{
  display:flex; align-items:center; justify-content:space-between; gap:10px; height:100%;
  padding:16px 18px; border:1px solid var(--line-strong); border-radius:8px; background:var(--surface);
  text-decoration:none; color:var(--ink); font-weight:600; font-size:.92rem; letter-spacing:.02em; text-transform:uppercase;
  transition:border-color .12s, transform .12s;
}
.pathways a::after{content:"→"; color:var(--gold-ink); font-family:var(--mono);}
.pathways a:hover, .pathways a:focus-visible{border-color:var(--gold); transform:translateY(-1px);}
@media (max-width:820px){ .pathways{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:520px){ .pathways{grid-template-columns:1fr;} }

/* research quotes (charities page) */
.evidence{list-style:none; margin:20px 0; padding:0; display:flex; flex-direction:column; gap:14px;}
.evidence li{background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:16px 20px; color:var(--ink);}
.evidence .src{display:block; margin-top:8px; font-size:.78rem; color:var(--ink-faint); overflow-wrap:anywhere;}

/* reforms (mission page) */
.reforms{list-style:none; margin:20px 0; padding:0; display:flex; flex-direction:column; gap:16px;}
.reforms > li{display:grid; grid-template-columns:34px 1fr; gap:16px; background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:18px 20px;}
.reforms .n{font-family:var(--mono); font-weight:600; color:var(--gold-ink); padding-top:1px;}
.reforms h3{font-family:var(--sans); font-size:1rem; font-weight:700; margin:0 0 6px;}
.reforms p{margin:0 0 8px;}
.reforms ul{margin:0; padding-left:1.1em; color:var(--ink-soft);}
.reforms ul li{margin-bottom:6px;}

/* FAQ */
.faq-item{padding:22px 0; border-top:1px solid var(--line);}
.faq-item:first-of-type{border-top:none; padding-top:0;}
.faq-item h2{font-size:clamp(1.15rem,1.8vw,1.35rem); margin:0 0 12px;}

/* poll question wording */
blockquote.wording{margin:16px 0; padding:16px 20px; background:var(--surface-sunk); border-radius:8px; color:var(--ink-soft);}
blockquote.wording p{margin:0 0 10px;}
blockquote.wording ul{margin:0; padding-left:1.2em;}

/* next-page link */
.next-wrap{padding-top:8px; padding-bottom:64px;}
.next-card{
  display:grid; grid-template-columns:1fr auto; align-items:center; column-gap:20px;
  max-width:var(--hero-measure); padding:22px 26px; text-decoration:none; color:var(--ink);
  background:var(--surface); border:1px solid var(--line-strong); border-left:4px solid var(--gold);
  border-radius:8px; box-shadow:var(--shadow); transition:border-color .12s, transform .12s;
}
.next-label{
  grid-column:1; font-family:var(--mono); font-size:.74rem; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--gold-ink); margin-bottom:4px;
}
.next-title{grid-column:1; font-family:var(--serif); font-weight:600; font-size:clamp(1.25rem,2.2vw,1.6rem); line-height:1.2;}
.next-arrow{
  grid-column:2; grid-row:1 / span 2; display:grid; place-items:center; width:46px; height:46px;
  border-radius:50%; background:var(--gold); color:#fff; font-size:1.3rem; transition:transform .12s;
}
.next-card:hover, .next-card:focus-visible{border-color:var(--gold); transform:translateY(-2px);}
.next-card:hover .next-arrow, .next-card:focus-visible .next-arrow{transform:translateX(4px);}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .next-arrow{color:#181205;} }
:root[data-theme="dark"] .next-arrow{color:#181205;}

footer .foot-nav{display:flex; flex-wrap:wrap; gap:6px 18px; font-size:.8rem; margin-top:10px;}
footer .foot-nav a{color:var(--ink-soft); text-decoration:none;}
footer .foot-nav a:hover{color:var(--ink); text-decoration:underline;}
footer .corrections{margin:8px 0 0;}

@media (max-width:640px){
  .page-hero{padding-top:32px; padding-bottom:24px;}
  .page-hero h1{font-size:1.5rem;}
  .position{padding:18px 18px;}
  .table-card{padding-left:14px; padding-right:14px;}
}

/* home: facts at a glance (open table, no card) */
.section-sub{margin:-12px 0 18px; font-size:.9rem; color:var(--ink-faint);}
.clause p.section-sub{color:var(--ink-faint);}
table.figures.facts{font-size:.95rem; margin:0 0 14px;}
table.figures.facts th, table.figures.facts td{padding:11px 14px 11px 0; text-align:left;}
table.figures.facts td:nth-child(2){white-space:nowrap; width:1%; padding-right:28px;}
table.figures.facts td.note{font-size:.85rem;}
table.figures.facts tbody tr:last-child td{border-bottom-color:var(--line-strong);}
@media (max-width:640px){
  table.figures.facts{font-size:.88rem;}
  table.figures.facts td:nth-child(2){padding-right:14px;}
}

/* home: "Learn more" sub-header above the pathway buttons */
.pathways-head{font-size:clamp(1.3rem,2vw,1.6rem); line-height:1.25; margin:44px 0 0;}
.pathways-head + .pathways{margin-top:16px;}

/* facts table: coloured change figures */
table.figures.facts td.note{color:var(--ink-soft);}
.chg{font-family:var(--mono); font-weight:700; font-size:1rem; margin-right:4px; white-space:nowrap;}
.chg.up{color:var(--up);}
.chg.down{color:var(--down);}

/* language switch: always visible in the header, outside the menu */
.lang-switch{
  display:inline-flex; flex:none; padding:2px; gap:2px; border-radius:20px;
  background:none; border:1px solid var(--line-strong);
}
.lang-switch a{
  display:inline-flex; align-items:center; padding:4px 12px; border-radius:16px;
  font-size:.82rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
  text-decoration:none; color:var(--ink-soft); transition:background .12s, color .12s;
}
.lang-switch a:hover{color:var(--ink); background:var(--surface-sunk);}
.lang-switch a[aria-current="true"]{background:var(--ink-soft); color:var(--paper);}
.lang-switch .short{display:none;}
@media (max-width:520px){
  .lang-switch .full{display:none;}
  .lang-switch .short{display:inline;}
  .lang-switch a{padding:4px 10px;}
  .masthead-row{gap:10px;}
  .nav-toggle{padding:6px 11px;}
}
@media (max-width:640px){
  .masthead-row{flex-wrap:nowrap;}
  .wordmark{font-size:.98rem;}
}
/* small phones: icon-only menu button, so the language switch keeps its room */
@media (max-width:420px){
  .nav-toggle span:not(.icon){display:none;}
  .nav-toggle{padding:7px 10px;}
  .nav-toggle .icon{font-size:1.15rem;}
}
@media (max-width:640px){
  table.figures.facts td:nth-child(2){white-space:normal; width:auto;}
}

/* header pills: language switch and menu button share one height */
.lang-switch, .nav-toggle{height:34px;}
.nav-toggle{padding-top:0; padding-bottom:0;}
.lang-switch a{padding-top:0; padding-bottom:0;}

/* ---------- phone review fixes ---------- */
@media (max-width:640px){
  /* calmer background glow so text over it keeps its contrast */

  /* larger header tap targets */
  .lang-switch, .nav-toggle{height:40px;}
  .lang-switch a{padding-left:13px; padding-right:13px;}

  /* facts table: change figure moves under the measure instead of a squeezed third column */
  table.figures.facts thead th:nth-child(3){display:none;}
  table.figures.facts tr{display:grid; grid-template-columns:1fr auto; column-gap:16px; border-bottom:1px solid var(--line);}
  table.figures.facts tbody tr:last-child{border-bottom-color:var(--line-strong);}
  table.figures.facts thead tr{border-bottom:1px solid var(--line);}
  table.figures.facts th, table.figures.facts td{border-bottom:none;}
  table.figures.facts td:nth-child(2), table.figures.facts th:nth-child(2){text-align:right; padding-right:0;}
  table.figures.facts td.note{grid-column:1 / -1; padding-top:0;}
  table.figures.facts td.note:empty{display:none;}

  /* wide comparison tables: one card per row, label on the left, value on the right */
  table.figures.stack thead{display:none;}
  table.figures.stack tr{display:block; padding:10px 0; border-bottom:1px solid var(--line);}
  table.figures.stack tr:last-child{border-bottom:none;}
  table.figures.stack td{display:flex; justify-content:space-between; gap:16px; border:none; padding:4px 0; text-align:right;}
  table.figures.stack td::before{content:attr(data-label); text-align:left; color:var(--ink-faint);}
  table.figures.stack td:first-child{font-weight:700; color:var(--ink); padding-bottom:6px;}
  table.figures.stack td:first-child::before{content:none;}

  /* footer links: two columns of comfortable tap targets */
  footer .foot-nav{display:grid; grid-template-columns:1fr 1fr; gap:0 16px; margin-top:14px;}
  footer .foot-nav a{padding:10px 0; border-bottom:1px solid var(--line); font-size:.85rem;}
}
@media (max-width:640px){
  /* wordmark: taller tap area without moving it */
  .wordmark a{display:inline-block; padding:8px 0; margin:-8px 0;}
}
@media (max-width:360px){
  .masthead-row{gap:8px;}
  .wordmark{font-size:.9rem;}
  .lang-switch a{padding-left:9px; padding-right:9px;}
  .nav-toggle{padding-left:9px; padding-right:9px;}
}

/* DQ history table */
table.figures.history{width:auto; min-width:min(100%, 520px); font-size:.95rem; margin:6px 0 20px;}
table.figures.history th, table.figures.history td{text-align:left; padding:12px 32px 12px 0; vertical-align:top;}
table.figures.history td:first-child{white-space:nowrap; color:var(--ink);}
table.figures.history td:nth-child(2){font-family:var(--mono); font-weight:700; color:var(--ink);}
table.figures.history .detail{display:block; margin-top:4px; font-family:var(--sans); font-weight:400; font-size:.85rem; color:var(--ink-soft); max-width:46ch;}
table.figures.history tbody tr:last-child td{border-bottom-color:var(--line-strong);}
@media (max-width:640px){ table.figures.history th, table.figures.history td{padding-right:16px;} }

/* ---------- one paragraph style for all body text ----------
   Every paragraph, list item, caption and source line uses the same size and colour.
   Add emphasis back deliberately (e.g. <strong>, a quote block) where it's wanted. */
.clause p, .clause li, .clause ul.plain, .clause ol.plain,
.page-hero .lede, .faq-item p, .reforms p, .reforms ul,
.evidence li, .evidence .src, .chart-card p, .wording p, .wording li{
  font-size:1.1rem; line-height:1.6; color:var(--ink); font-style:normal; font-weight:400;
}
.clause p.lead{font-size:1.1rem;}
.page-hero .lede, .page-hero p{margin:20px 0 0; font-size:1.1rem; line-height:1.6; color:var(--ink);}
.evidence .src{display:block; margin-top:8px; overflow-wrap:anywhere;}
.chart-card p{margin:14px 0 0;}
.wording{margin:0 0 16px;}
.wording ul{margin:0 0 16px; padding-left:1.2em;}
.clause .section-sub, .clause p:has(+ table.facts){margin-top:-6px;}

/* ---------- JAH Oct 7 review ---------- */

/* footer wordmark matches the header: "The Grants" / "les subventions" in the accent */
footer .foot-brand em{font-style:normal; color:var(--gold-ink);}

/* a supporting point set in under the paragraph it supports */
.clause ul.plain.indent{padding-left:2.4em; list-style:circle;}


/* key statements on Our Mission: larger serif in the page accent */
.page-hero p.highlight, .clause p.highlight{
  font-family:var(--serif); font-size:clamp(1.3rem, 2.1vw, 1.5rem); font-weight:600; line-height:1.4;
  color:var(--accent);
}
.clause p.highlight{margin:28px 0;}
.clause p.highlight strong, .page-hero p.highlight strong{font-weight:800; color:inherit;}

/* small phones: the longer French wordmark wraps instead of pushing the header wider */
@media (max-width:420px){
  .wordmark{white-space:normal; line-height:1.15; min-width:0; flex:1 1 auto;}
  .wordmark a{margin:0; padding:2px 0;}
}
details.data-table th{overflow-wrap:anywhere;}

/* ======================================================================
   Bold colour band (approved Oct 2026 in the design canvas)
   Red band behind each page title, warm off-white page, white cards,
   deep-red headings, orange as the second colour.
   ====================================================================== */
:root{
  --band:#b3261e;        /* the band, panels and badges */
  --band-text:#ffffff;
  --band-gold:#ffd59e;   /* highlighted words on the band */
  --accent:#9c2a12;      /* section headings, labels */
  --orange:#c2410c;      /* wordmark, second badge */
  --orange-1:#ff9d53; --orange-2:#ffb985; --orange-3:#ffd3b0;
}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){ --accent:#ff9f8f; --orange:#f6a04d; } }
:root[data-theme="dark"]{ --accent:#ff9f8f; --orange:#f6a04d; }

/* header: white bar above the band */
.masthead{background:var(--surface);}
.wordmark em, footer .foot-brand em{color:var(--orange);}

/* the band: full-bleed behind the title area, content stays in the column */
.hero, .page-hero{
  background:var(--band); color:var(--band-text);
  box-shadow:0 0 0 100vmax var(--band); clip-path:inset(0 -100vmax);
}
.hero{padding-top:72px; padding-bottom:120px;}
.hero h1, .page-hero h1{color:var(--band-text);}
.hero h1 .accent{color:var(--band-gold);}
.page-hero{padding-top:64px; padding-bottom:56px;}
.page-hero .lede, .page-hero p{color:var(--band-text);}
.page-hero p.highlight{color:var(--band-gold);}
.page-hero + .clause{border-top:none; padding-top:48px;}
.subnav a{background:transparent; color:var(--band-text); border-color:rgba(255,255,255,.6);}
.subnav a:hover, .subnav a:focus-visible{background:rgba(255,255,255,.15); color:var(--band-text); border-color:#fff;}

/* home: Solution card overlaps the band */
.hero-after{position:relative; margin-top:-72px; padding-bottom:24px;}
.position{
  border-left:none; border-radius:10px; padding:28px 32px;
  box-shadow:0 2px 4px rgba(22,35,61,.08), 0 18px 40px -18px rgba(22,35,61,.35);
}
.position .label{color:var(--accent);}
.position .lead{font-size:1.25rem;}

/* headings in the deep red; sections divided by a band-coloured rule over the text column */
.clause h2, .faq-item h2, .pathways-head{color:var(--accent);}
.clause{border-top:none; padding-top:40px; padding-bottom:32px;}
.clause > .clause-body{border-top:4px solid var(--band); padding-top:44px;}
.page-hero + .clause > .clause-body{border-top:none; padding-top:0;}

/* "Learn more": filled warm-orange buttons */
.pathways a{border:none; color:#16233d; font-weight:700; min-height:60px;}
.pathways li:nth-child(-n+3) a{background:var(--orange-1);}
.pathways li:nth-child(n+4):nth-child(-n+6) a{background:var(--orange-2);}
.pathways li:nth-child(n+7) a{background:var(--orange-3);}
.pathways a::after{color:#16233d;}
.pathways a:hover, .pathways a:focus-visible{transform:translateY(-2px); box-shadow:0 6px 16px -8px rgba(22,35,61,.45);}

/* DQ page: 2023 figures as coloured tiles */
.mini-stats{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin:24px 0;}
.mini-stat{padding:20px 22px; border-radius:10px;}
.mini-stat .num{font-size:1.9rem; font-weight:700;}
.mini-stat .cap{font-size:.9rem; max-width:none; margin-top:6px;}
.mini-stat:nth-child(1){background:var(--orange-3);}
.mini-stat:nth-child(1) .num, .mini-stat:nth-child(1) .cap{color:#16233d;}
.mini-stat:nth-child(2){background:var(--band);}
.mini-stat:nth-child(2) .num, .mini-stat:nth-child(2) .cap{color:#ffffff;}
.mini-stat:nth-child(3){background:var(--surface); border:2px solid var(--orange-1);}
.mini-stat:nth-child(3) .num{color:var(--ink);} .mini-stat:nth-child(3) .cap{color:var(--ink-soft);}

/* DQ history table on a white card */
table.figures.history{background:var(--surface); border-radius:10px; box-shadow:var(--shadow); overflow:hidden;}
table.figures.history th:first-child, table.figures.history td:first-child{padding-left:24px;}
table.figures.history tbody tr:last-child td{border-bottom:none;}

/* Our Mission: reform cards with numbered badges, closing statement as a red panel */
.reforms > li{grid-template-columns:56px 1fr; border:none; border-radius:10px; padding:22px 24px; box-shadow:var(--shadow);}
.reforms .n{display:grid; place-items:center; width:44px; height:44px; border-radius:50%; padding:0; background:var(--band); color:#fff; font-weight:700;}
.reforms > li:nth-child(2) .n{background:#c2410c;}
.reforms > li:nth-child(3) .n{background:var(--orange-1); color:#16233d;}
.clause p.highlight.panel{
  background:var(--band); color:var(--band-text); padding:32px 36px; border-radius:12px; margin:40px 0 0;
}
.clause p.highlight.panel strong{color:var(--band-gold);}

/* "Next" card in the band colour */
.next-card{background:var(--band); color:var(--band-text); border:none;}
.next-label{color:var(--band-gold);}
.next-arrow{background:var(--orange-1); color:#16233d;}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .next-arrow{color:#16233d;} }
:root[data-theme="dark"] .next-arrow{color:#16233d;}
.next-card:hover, .next-card:focus-visible{box-shadow:0 10px 24px -12px rgba(22,35,61,.55);}

@media (max-width:640px){
  .hero{padding-top:36px; padding-bottom:88px;}
  .hero-after{margin-top:-60px;}
  .page-hero{padding-top:36px; padding-bottom:32px;}
  .position{padding:22px 20px;}
  .mini-stats{grid-template-columns:1fr;}
  .clause p.highlight.panel{padding:24px 22px;}
  .reforms > li{grid-template-columns:44px 1fr; gap:12px; padding:18px;}
  .reforms .n{width:36px; height:36px; font-size:.85rem;}
}
