/* Reparations research page — govthatworks.org
   Designed to sit after styles-v12.css and upgrades.css. */
:root{
  --rep-ink:#0c1a2a;
  --rep-navy:#102f48;
  --rep-blue:#1c526d;
  --rep-teal:#276f73;
  --rep-paper:#faf8f5;
  --rep-paper-2:#f3efe8;
  --rep-rule:#d7d0c5;
  --rep-muted:#596a73;
  --rep-gold:#9d6a35;
  --rep-white:#fff;
}
.reparations-page{background:var(--rep-paper);color:var(--rep-ink)}
.reparations-page main{overflow:clip}
.reparations-page a{text-underline-offset:.18em}
.reparations-page .section{position:relative}
.reparations-page .section-head p{max-width:780px}
.reparations-page .eyebrow{letter-spacing:.16em}

/* Hero */
.reparations-hero{background:var(--rep-ink);color:#fff;padding:clamp(58px,8vw,110px) 0 62px;position:relative;overflow:hidden}
.reparations-hero:before{content:"";position:absolute;inset:-25% auto auto 46%;width:760px;height:760px;border:1px solid rgba(255,255,255,.07);border-radius:50%;box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.018);pointer-events:none}
.reparations-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(480px,1.05fr);gap:clamp(34px,5vw,76px);align-items:center}
.reparations-hero-copy{position:relative;z-index:2}
.reparations-hero-copy .eyebrow{color:#bfd2db}
.reparations-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.1rem,6.4vw,6.6rem);line-height:.91;letter-spacing:-.058em;margin:.45rem 0 1.3rem;max-width:900px;color:#fff}
.reparations-hero .hero-deck{font-size:clamp(1.06rem,1.5vw,1.28rem);line-height:1.72;color:#e2e9ec;max-width:720px}
.content-note{margin-top:26px;border-left:3px solid #d5af77;padding:12px 15px;background:rgba(255,255,255,.06);color:#eef3f5;font-size:.87rem;line-height:1.55;max-width:610px}
.reparations-image-pair{position:relative;display:grid;grid-template-columns:.84fr 1.16fr;gap:14px;align-items:end;min-width:0}
.reparations-photo{margin:0;position:relative;background:#15283a;border:1px solid rgba(255,255,255,.18);padding:8px;box-shadow:0 22px 60px rgba(0,0,0,.24)}
.reparations-photo.historical{transform:translateY(28px)}
.reparations-photo img{display:block;width:100%;height:390px;object-fit:cover;background:#d8d4cb;filter:saturate(.9) contrast(1.02)}
.reparations-photo.historical img{object-position:center top;filter:grayscale(1) contrast(1.05)}
.reparations-photo.present img{object-position:center center}
.reparations-photo figcaption{font-size:.69rem;line-height:1.48;color:#cbd7dc;padding:10px 4px 2px}
.reparations-photo figcaption strong{color:#fff}
.reparations-photo figcaption a{color:#fff}

.reparations-slideshow{display:grid;gap:10px;min-width:0}
.reparations-slide-figure{margin:0}
.reparations-slide-figure img{transition:opacity .35s ease}
.reparations-slide-figure.is-swapping img{opacity:.5}
.reparations-slideshow-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}
.reparations-slide-arrow{appearance:none;border:1px solid rgba(255,255,255,.24);background:rgba(12,26,42,.62);color:#fff;border-radius:999px;width:40px;height:40px;display:grid;place-items:center;font-size:1rem;cursor:pointer;flex:0 0 auto}
.reparations-slide-arrow:hover{background:rgba(17,48,73,.86)}
.reparations-slide-dots{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;flex-wrap:wrap}
.reparations-slide-dot{appearance:none;border:0;background:rgba(255,255,255,.28);width:11px;height:11px;border-radius:999px;cursor:pointer;padding:0}
.reparations-slide-dot[aria-selected="true"]{background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.18)}
.reparations-slide-dot:focus-visible,.reparations-slide-arrow:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* Local table of contents */
.rep-jump-wrap{background:#fff;border-bottom:1px solid var(--rep-rule)}
.rep-jump{display:flex;gap:8px;align-items:center;padding-top:16px;padding-bottom:16px;overflow-x:auto;scrollbar-width:thin}
.rep-jump>a{flex:0 0 auto;border:1px solid #cdd6dc;background:#fff;color:#17384f;text-decoration:none;border-radius:999px;padding:9px 13px;font-size:.73rem;font-weight:800;letter-spacing:.02em;white-space:nowrap}
.rep-jump>a:hover{background:#eef3f5;border-color:#93a9b7}

/* Book position */
.book-position-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:22px;align-items:stretch}
.book-position-primary{background:#fff;border:1px solid var(--rep-rule);padding:clamp(26px,4vw,46px);box-shadow:0 16px 44px rgba(23,43,57,.06)}
.book-position-primary blockquote{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.14;letter-spacing:-.025em;margin:0 0 22px;color:#113149}
.book-position-primary blockquote:before{content:"“";color:var(--rep-gold)}
.book-position-primary blockquote:after{content:"”";color:var(--rep-gold)}
.book-position-primary p{line-height:1.72;color:#4f626e}
.position-ledger{display:grid;gap:12px}
.position-ledger article{border:1px solid var(--rep-rule);background:var(--rep-paper-2);padding:22px}
.position-ledger span,.evidence-kicker,.metric-card>span,.timeline-label,.remedy-kicker{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.64rem;font-weight:900;color:#55707f;margin-bottom:8px}
.position-ledger h3{font-family:Georgia,"Times New Roman",serif;margin:0 0 8px;color:#15354b;font-size:1.35rem}
.position-ledger p{margin:0;line-height:1.55;color:#536873;font-size:.9rem}
.book-source-note{margin-top:20px;padding:14px 16px;border-left:4px solid var(--rep-teal);background:#eff5f4;color:#405762;font-size:.83rem;line-height:1.58}

/* Historical chain */
.history-intro-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:24px;align-items:end}
.harm-timeline{margin-top:30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--rep-rule);border-left:1px solid var(--rep-rule)}
.harm-card{background:#fff;border-right:1px solid var(--rep-rule);border-bottom:1px solid var(--rep-rule);padding:28px;position:relative}
.harm-card:before{content:"";position:absolute;left:-1px;top:0;width:4px;height:66px;background:var(--rep-blue)}
.harm-card:nth-child(2n):before{background:var(--rep-gold)}
.harm-card h3{font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;line-height:1.12;margin:.35rem 0 .8rem;color:#15354b}
.harm-card p{color:#526671;line-height:1.67;margin:0 0 14px}
.harm-card .source-link{font-size:.78rem;font-weight:800;color:#154a68}
.harm-card .evidence-note{margin-top:14px;padding-top:13px;border-top:1px solid #e5e0d8;font-size:.76rem;color:#65757d;line-height:1.5}

/* Evidence lab */
.wealth-lab-section{background:#eef2f1;border-top:1px solid #dce3e1;border-bottom:1px solid #dce3e1}
.evidence-lab{background:#fff;border:1px solid #cfd9dc;border-radius:24px;padding:clamp(18px,3vw,30px);box-shadow:0 18px 54px rgba(22,48,63,.08)}
.evidence-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}
.evidence-toolbar-copy h3{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.08;margin:.25rem 0 .55rem;color:#12324a}
.evidence-toolbar-copy p{margin:0;color:#5b6e78;max-width:760px;line-height:1.55}
.evidence-tabs{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.evidence-tabs button,.counterfactual-controls button,.remedy-tabs button{appearance:none;border:1px solid #c3d0d6;background:#f7f9fa;color:#173a51;border-radius:999px;min-height:42px;padding:8px 12px;font-weight:800;font-size:.72rem;cursor:pointer}
.evidence-tabs button[aria-selected="true"],.counterfactual-controls button.active,.remedy-tabs button[aria-selected="true"]{background:#153f59;border-color:#153f59;color:#fff}
.evidence-readout{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:#102f48;color:#fff;border-radius:18px;padding:18px 20px;margin-bottom:17px}
.evidence-readout strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.7rem);line-height:1;white-space:nowrap}
.evidence-readout p{margin:0;color:#d8e3e8;line-height:1.48;font-size:.87rem}
.evidence-readout button{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:9px 12px;font-weight:800;cursor:pointer}
.evidence-chart-frame{position:relative;height:400px;min-height:320px}
.evidence-chart-frame canvas{max-width:100%;max-height:100%}
.evidence-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;margin-top:15px;padding-top:15px;border-top:1px solid #e0e6e8}
.evidence-foot p{margin:0;color:#60737d;font-size:.77rem;line-height:1.55}
.evidence-foot a{font-size:.76rem;font-weight:800}
.data-table-details{margin-top:16px;border-top:1px solid #e2e7e9;padding-top:13px}
.data-table-details summary{cursor:pointer;font-weight:800;color:#23475e}
.data-table-scroll{overflow-x:auto;margin-top:12px}
.data-table-scroll table{width:100%;border-collapse:collapse;font-size:.78rem}
.data-table-scroll th,.data-table-scroll td{text-align:right;border-bottom:1px solid #e4e8e9;padding:8px 9px;white-space:nowrap}
.data-table-scroll th:first-child,.data-table-scroll td:first-child{text-align:left}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}
.metric-card{background:#fff;border:1px solid #cfd9dc;padding:21px;min-width:0}
.metric-card strong{display:block;font-family:Georgia,"Times New Roman",serif;color:#12344c;font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1;margin:8px 0 10px}
.metric-card p{font-size:.81rem;line-height:1.54;color:#5c707a;margin:0 0 12px}
.metric-card a{font-size:.73rem;font-weight:800}
.metric-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.metric-compare div{background:#f4f6f6;padding:10px}
.metric-compare b{display:block;font-size:.65rem;color:#5e727c}
.metric-compare em{font-style:normal;font-weight:900;color:#163a52;font-size:1.1rem}

/* Counterfactual */
.counterfactual-section{background:#10283b;color:#fff}
.counterfactual-section .section-head h2{color:#fff}
.counterfactual-section .section-head p{color:#d6e0e5}
.counterfactual-section .eyebrow{color:#b8cdd7}
.counterfactual-lab{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);gap:28px;align-items:stretch}
.counterfactual-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.17);border-radius:24px;padding:clamp(22px,3vw,34px)}
.counterfactual-card h3{font-family:Georgia,"Times New Roman",serif;color:#fff;font-size:1.8rem;margin:0 0 12px}
.counterfactual-card p{color:#d9e2e6;line-height:1.62}
.counterfactual-range label{display:flex;justify-content:space-between;gap:10px;color:#fff;font-weight:800;font-size:.84rem}
.counterfactual-range input[type="range"]{width:100%;accent-color:#d0a56f;margin:16px 0}
.counter-scale{display:flex;justify-content:space-between;color:#b9cbd4;font-size:.68rem}
.counter-output{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.counter-output>div{background:#fff;color:var(--rep-ink);padding:18px;border-radius:16px}
.counter-output span{display:block;font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;color:#637782;font-weight:800}
.counter-output strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:2.45rem;line-height:1;color:#153c54;margin-top:7px}
.counter-bars{margin-top:21px;display:grid;gap:12px}
.counter-bar-row{display:grid;grid-template-columns:90px 1fr 62px;gap:11px;align-items:center;font-size:.76rem}
.counter-bar-track{height:16px;background:rgba(255,255,255,.14);border-radius:99px;overflow:hidden}
.counter-bar-track i{display:block;height:100%;background:#d2aa74;border-radius:99px;transition:width .45s ease}
.counter-bar-row:first-child .counter-bar-track i{background:#e9edf0}
.counter-warning{margin-top:18px;border-left:3px solid #d5aa72;padding:12px 14px;background:rgba(255,255,255,.05);font-size:.77rem;line-height:1.52;color:#d5e0e5}
.channel-list{display:grid;gap:9px}
.channel-list details{border:1px solid rgba(255,255,255,.15);border-radius:14px;background:rgba(255,255,255,.035);padding:0 15px}
.channel-list summary{cursor:pointer;padding:14px 0;font-weight:800;color:#fff}
.channel-list details p{margin:0 0 15px;font-size:.82rem;line-height:1.58;color:#d3dfe4}

/* Program explorer */
.remedy-lab{border:1px solid var(--rep-rule);background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 16px 48px rgba(20,42,56,.06)}
.remedy-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:18px;border-bottom:1px solid var(--rep-rule);background:#f5f3ee}
.remedy-panel{padding:clamp(24px,4vw,42px);min-height:330px}
.remedy-panel-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:28px}
.remedy-panel h3{font-family:Georgia,"Times New Roman",serif;color:#13354c;font-size:2rem;line-height:1.1;margin:.3rem 0 .75rem}
.remedy-panel p{line-height:1.65;color:#526671}
.remedy-checks{display:grid;gap:10px;margin-top:20px}
.remedy-check{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;border-top:1px solid #e3e1dc;padding-top:10px}
.remedy-check b{width:24px;height:24px;display:grid;place-items:center;background:#eaf1f2;color:#1d5667;border-radius:50%;font-size:.72rem}
.remedy-check strong{display:block;color:#173b52;font-size:.85rem}
.remedy-check span{display:block;color:#647780;font-size:.77rem;line-height:1.5;margin-top:2px}
.remedy-example{background:#102f48;color:#fff;border-radius:18px;padding:22px}
.remedy-example h4{font-family:Georgia,"Times New Roman",serif;font-size:1.4rem;margin:.25rem 0 .7rem;color:#fff}
.remedy-example p{color:#d8e2e6;font-size:.82rem}
.remedy-example a{color:#fff;font-weight:800}
.model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:20px}
.model-grid article{border:1px solid var(--rep-rule);padding:20px;background:#faf9f6}
.model-grid h3{font-family:Georgia,"Times New Roman",serif;margin:.25rem 0 .55rem;color:#163a52;font-size:1.25rem}
.model-grid p{font-size:.8rem;line-height:1.55;color:#596c76}
.model-grid a{font-size:.73rem;font-weight:800}

/* Questions / uncertainty */
.commission-questions{background:#f0ede6}
.question-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.question-grid details{background:#fff;border:1px solid var(--rep-rule);padding:0 18px}
.question-grid summary{cursor:pointer;font-family:Georgia,"Times New Roman",serif;font-size:1.15rem;font-weight:700;color:#16384f;padding:18px 36px 18px 0;position:relative;list-style:none}
.question-grid summary::-webkit-details-marker{display:none}
.question-grid summary:after{content:"+";position:absolute;right:0;top:15px;font-family:Arial,sans-serif;font-size:1.35rem;color:#536c78}
.question-grid details[open] summary:after{content:"−"}
.question-grid p{margin:0 0 18px;color:#5b6e78;font-size:.84rem;line-height:1.58}
.uncertainty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.uncertainty-grid article{border-top:3px solid #1d556d;background:#fff;padding:20px;border-left:1px solid var(--rep-rule);border-right:1px solid var(--rep-rule);border-bottom:1px solid var(--rep-rule)}
.uncertainty-grid h3{font-family:Georgia,"Times New Roman",serif;color:#15364e;font-size:1.25rem;margin:0 0 8px}
.uncertainty-grid p{font-size:.82rem;line-height:1.57;color:#5b6d76;margin:0}

/* Sources */
.rep-sources{background:#fff}
.source-status{padding:16px 18px;background:#f2f5f4;border-left:4px solid var(--rep-teal);color:#49616c;line-height:1.55;margin-bottom:22px;font-size:.82rem}
.source-list{counter-reset:source;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 28px;margin:0;padding:0;list-style:none}
.source-list li{counter-increment:source;display:grid;grid-template-columns:32px 1fr;gap:10px;border-top:1px solid #e5e1da;padding:13px 0;color:#5a6c75;font-size:.78rem;line-height:1.5;min-width:0}
.source-list li:before{content:counter(source,decimal-leading-zero);font-weight:900;color:#315b70}
.source-list a{font-weight:800;overflow-wrap:anywhere}

/* General enhancement hooks */
.rep-inline-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.rep-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border:1px solid #c2d0d7;background:#fff;color:#173a51;text-decoration:none;border-radius:999px;font-weight:800;font-size:.76rem;cursor:pointer}
.rep-button.primary{background:#fff;color:#102b40;border-color:#fff}
.rep-button.dark{background:#153f59;color:#fff;border-color:#153f59}
.rep-button:hover{transform:translateY(-1px)}
.reparations-page [hidden]{display:none!important}

/* Better site header spacing after adding Reparations + search */
.site-search-trigger{appearance:none;border:1px solid #b9c7cf;background:#fff;color:#17364c;border-radius:999px;padding:9px 12px;font-family:inherit;font-size:.68rem;font-weight:850;white-space:nowrap;cursor:pointer}
.site-search-trigger span{margin-left:4px;font-size:.58rem;color:#647984}
@media(min-width:901px){
  .reparations-page .nav-wrap,.nav-wrap.gtw-expanded-nav{max-width:1500px;padding-left:26px;padding-right:26px;gap:16px}
  .reparations-page .site-header nav,.gtw-expanded-nav .site-header nav{gap:10px}
  .reparations-page .site-header nav a{font-size:.62rem}
}

@media(max-width:1100px){
  .reparations-hero-grid{grid-template-columns:1fr}.reparations-image-pair{max-width:780px}
  .metric-grid{grid-template-columns:1fr 1fr}.model-grid{grid-template-columns:1fr 1fr}.uncertainty-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .book-position-grid,.history-intro-grid,.counterfactual-lab,.remedy-panel-grid{grid-template-columns:1fr}
  .harm-timeline{grid-template-columns:1fr}
  .evidence-toolbar{display:block}.evidence-tabs{justify-content:flex-start;margin-top:14px}
  .evidence-readout{grid-template-columns:1fr auto}.evidence-readout p{grid-column:1/-1;grid-row:2}.evidence-foot{grid-template-columns:1fr}
  .source-list{grid-template-columns:1fr}
  .site-search-trigger{display:none}
}
@media(max-width:680px){
  .reparations-hero{padding-top:48px}.reparations-hero h1{font-size:clamp(2.75rem,14vw,4.25rem)}
  .reparations-image-pair{grid-template-columns:1fr 1fr;gap:8px}.reparations-photo{padding:5px}.reparations-photo.historical{transform:translateY(12px)}.reparations-photo img{height:270px}.reparations-photo figcaption{font-size:.61rem}.reparations-slideshow-controls{gap:8px}.reparations-slide-dots{justify-content:flex-start}
  .rep-jump{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}
  .metric-grid,.model-grid,.question-grid,.uncertainty-grid{grid-template-columns:1fr}
  .evidence-lab{border-radius:18px;padding:15px}.evidence-chart-frame{height:310px}.evidence-tabs{display:flex;overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.evidence-tabs button{flex:0 0 auto}
  .evidence-readout{padding:15px}.evidence-readout strong{font-size:2.35rem}
  .counter-output{grid-template-columns:1fr}.counter-bar-row{grid-template-columns:70px 1fr 48px}
  .remedy-tabs{display:flex;overflow-x:auto;flex-wrap:nowrap;padding:14px}.remedy-tabs button{flex:0 0 auto}
  .reparations-page .section-head h2{font-size:clamp(2.25rem,10.8vw,3rem)}
}
@media(max-width:430px){
  .reparations-image-pair{grid-template-columns:1fr}.reparations-photo.historical{transform:none}.reparations-photo img{height:330px}.reparations-slideshow-controls{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){
  .counter-bar-track i,.rep-button{transition:none!important;animation:none!important}
  .rep-button:hover{transform:none}
}
@media print{
  .rep-jump-wrap,.site-search-trigger,.evidence-tabs,.counterfactual-range,.remedy-tabs,.rep-inline-actions{display:none!important}
  .reparations-hero{background:#fff!important;color:#000!important;padding:30px 0}.reparations-hero h1,.reparations-hero .hero-deck,.reparations-hero-copy .eyebrow{color:#000!important}.reparations-image-pair{grid-template-columns:1fr 1fr}.counterfactual-section{background:#fff!important;color:#000!important}.counterfactual-section .section-head h2,.counterfactual-section .section-head p,.counterfactual-section .eyebrow{color:#000!important}
}

/* V18 reliability fix: give the native canvas an explicit responsive CSS box. */
.evidence-chart-frame canvas#wealth-evidence-chart{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
}


/* V19: Crime statistics context box */
.crime-context{margin-top:24px;background:#fbfaf7;border:1px solid #cfd9dc;border-radius:24px;padding:clamp(22px,3vw,32px);box-shadow:0 14px 38px rgba(22,48,63,.05);scroll-margin-top:110px}
.crime-context-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:28px;align-items:end;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid #e2e6e5}
.crime-context-head h3{font-family:Georgia,"Times New Roman",serif;color:#12324a;font-size:clamp(1.65rem,2.8vw,2.25rem);line-height:1.1;margin:.25rem 0 0}
.crime-context-head p{margin:0;color:#5b6e78;line-height:1.62;font-size:.9rem}
.crime-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.crime-data-card{border:1px solid #d8dedf;background:#fff;padding:20px;min-width:0}
.crime-data-card>span{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:.64rem;font-weight:900;color:#55707f;margin-bottom:10px}
.crime-data-card p{font-size:.82rem;line-height:1.58;color:#5c707a;margin:12px 0}
.crime-data-card>a,.crime-source-row a{font-size:.73rem;font-weight:800}
.crime-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 4px}
.crime-compare div{background:#f3f5f4;padding:11px}
.crime-compare b{display:block;color:#4d626d;font-size:.68rem}
.crime-compare em{display:block;font-style:normal;font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;font-weight:800;color:#153b53;line-height:1.15;margin-top:4px}
.crime-compare small{display:block;color:#657780;font-size:.68rem;margin-top:3px}
.crime-no-comparison{background:#f4f1e9;border-left:4px solid #b08b5f;padding:14px 15px;color:#243a49;line-height:1.4}
.crime-no-comparison strong{font-family:Georgia,"Times New Roman",serif;font-size:1.08rem}
.crime-source-row{display:flex;gap:14px;flex-wrap:wrap}
.crime-context-note{margin-top:16px;background:#102f48;color:#eaf1f4;border-radius:14px;padding:15px 17px;font-size:.82rem;line-height:1.58}
.crime-context-note strong{color:#fff}
@media (max-width:860px){.crime-context-head{grid-template-columns:1fr;gap:10px}.crime-context-grid{grid-template-columns:1fr}}
@media print{.crime-context{box-shadow:none}.crime-context-note{background:#fff!important;color:#000!important;border:1px solid #999}.crime-context-note strong{color:#000!important}}


/* ==========================================================
   V54 — REPARATIONS EVIDENCE-LAB REFINEMENTS
   ========================================================== */
.rep-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Interactive chart nodes */
.evidence-chart-frame{position:relative;isolation:isolate}
.evidence-chart-frame canvas#wealth-evidence-chart{display:block;width:100%;height:100%;max-width:none;max-height:none;border-radius:12px;cursor:crosshair;touch-action:pan-y}
.evidence-chart-frame canvas#wealth-evidence-chart:focus-visible{outline:3px solid rgba(13,148,136,.32);outline-offset:4px}
.evidence-node-tooltip{position:absolute;z-index:8;left:0;top:0;min-width:150px;padding:10px 13px;border:1px solid rgba(208,165,111,.48);border-radius:12px;background:linear-gradient(145deg,rgba(15,30,54,.98),rgba(20,51,72,.98));box-shadow:0 13px 32px rgba(15,30,54,.24),0 0 0 1px rgba(255,255,255,.04);color:#fff;pointer-events:none;transform:translate(-50%,calc(-100% - 14px));backdrop-filter:blur(12px);opacity:1;transition:opacity .12s ease,transform .12s ease}
.evidence-node-tooltip[hidden]{display:none}
.evidence-node-tooltip::after{content:"";position:absolute;left:50%;bottom:-6px;width:11px;height:11px;background:#12334b;border-right:1px solid rgba(208,165,111,.48);border-bottom:1px solid rgba(208,165,111,.48);transform:translateX(-50%) rotate(45deg)}
.evidence-node-tooltip__year{display:block;margin-bottom:3px;font-size:.66rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:#d7bf9c}
.evidence-node-tooltip__value{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;line-height:1.05;color:#fff;font-variant-numeric:tabular-nums}
.evidence-node-tooltip__meta{display:block;margin-top:4px;font-size:.68rem;line-height:1.35;color:#cbd8df}

/* Counterfactual slider */
.counterfactual-range{margin-top:24px}
.counterfactual-range label{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#fff}
.counter-range-title{font-size:.92rem;font-weight:850}
.counter-range-status{flex:0 0 auto;padding:6px 10px;border:1px solid rgba(208,165,111,.34);border-radius:999px;background:rgba(208,165,111,.1);color:#edd6b7;font-size:.7rem;font-weight:850;font-variant-numeric:tabular-nums}
.counter-range-explainer{max-width:680px;margin:7px 0 0!important;font-size:.75rem;line-height:1.5!important;color:#adc0ca!important}
.counterfactual-range input[type="range"]{--counter-progress:0%;appearance:none;width:100%;height:8px;margin:20px 0 13px;border:0;border-radius:999px;background:linear-gradient(90deg,#d0a56f 0,#d0a56f var(--counter-progress),rgba(255,255,255,.16) var(--counter-progress),rgba(255,255,255,.16) 100%);outline:none}
.counterfactual-range input[type="range"]::-webkit-slider-thumb{appearance:none;width:24px;height:24px;border:3px solid #10283b;border-radius:50%;background:#f0c58e;box-shadow:0 0 0 2px rgba(240,197,142,.36),0 6px 15px rgba(0,0,0,.2);cursor:grab}
.counterfactual-range input[type="range"]:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.06)}
.counterfactual-range input[type="range"]::-moz-range-thumb{width:20px;height:20px;border:3px solid #10283b;border-radius:50%;background:#f0c58e;box-shadow:0 0 0 2px rgba(240,197,142,.36);cursor:grab}
.counter-scale{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#b9cbd4}
.counter-scale span{display:grid;gap:2px;font-size:.69rem}
.counter-scale span:last-child{text-align:right}
.counter-scale b{color:#f0d1a8;font-size:.65rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}

/* Plain-language ratio translation */
.counter-translation{margin:12px 0 0!important;padding:13px 16px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.055);color:#e4edf1!important;font-size:.86rem;line-height:1.55!important;text-align:center}
.counter-translation strong{color:#f2cf9f;font-weight:900;font-variant-numeric:tabular-nums}

/* Historical channel taxonomy */
.channel-list{display:grid;gap:10px}
.channel-list details{overflow:hidden;padding:0 16px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.035);transition:border-color .16s ease,background .16s ease,transform .16s ease}
.channel-list details:hover{border-color:rgba(208,165,111,.34);background:rgba(255,255,255,.055)}
.channel-list details[open]{border-color:rgba(208,165,111,.32);background:rgba(255,255,255,.06)}
.channel-list summary{display:grid;grid-template-columns:auto minmax(0,1fr) 22px;align-items:center;gap:12px;min-height:58px;padding:11px 0;color:#fff;cursor:pointer;list-style:none}
.channel-list summary::-webkit-details-marker{display:none}
.channel-tag{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:6px 8px;border:1px solid rgba(255,255,255,.13);border-radius:999px;font-size:.58rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.channel-tag--land{background:rgba(208,165,111,.14);color:#f1cf9e}
.channel-tag--civic{background:rgba(76,154,175,.13);color:#9ed9e8}
.channel-tag--housing{background:rgba(106,169,133,.13);color:#a9dfbd}
.channel-tag--education{background:rgba(159,125,190,.14);color:#d6bde9}
.channel-tag--justice{background:rgba(185,106,106,.13);color:#edb3b3}
.channel-summary-title{line-height:1.3;font-size:.82rem;font-weight:800}
.channel-disclosure{position:relative;width:20px;height:20px;border:1px solid rgba(255,255,255,.2);border-radius:50%}
.channel-disclosure::before,.channel-disclosure::after{content:"";position:absolute;top:50%;left:50%;width:8px;height:1.5px;border-radius:99px;background:#d7e2e6;transform:translate(-50%,-50%)}
.channel-disclosure::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .16s ease}
.channel-list details[open] .channel-disclosure::after{transform:translate(-50%,-50%) rotate(0deg)}
.channel-list details p{margin:0 0 16px;padding:0 34px 0 104px;font-size:.81rem;line-height:1.62;color:#cad8de}

@media(max-width:680px){
  .counterfactual-range label{align-items:flex-start;flex-direction:column;gap:7px}
  .counter-scale{align-items:flex-start}
  .channel-list summary{grid-template-columns:minmax(0,1fr) 22px}
  .channel-tag{grid-column:1;justify-self:start;min-width:0}
  .channel-summary-title{grid-column:1;padding-bottom:3px}
  .channel-disclosure{grid-column:2;grid-row:1 / span 2}
  .channel-list details p{padding-left:0}
  .evidence-node-tooltip{min-width:138px}
}

@media(prefers-reduced-motion:reduce){
  .channel-list details,.channel-disclosure::after,.counter-bar-track i,.evidence-node-tooltip{transition:none}
}
