:root{
  --paper:#F3F4F1; --panel:#E7E9E4; --card:#FBFBF9; --ink:#15181C; --slate:#4B535D; --mute:#6A727B;
  --rule:#CDD1D4; --amber:#F0A202; --amber-soft:#F7D58A; --amber-wash:rgba(240,162,2,.16); --amber-text:#8A4B00;
  --grey-bar:#9AA1A8; --grey-light:#C3C8CC;
  --display:"Archivo","Arial Narrow",sans-serif; --serif:"Source Serif 4",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --gut:clamp(16px,4vw,56px); --r:6px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#14171A; --panel:#1C2024; --card:#191D21; --ink:#ECEDEA; --slate:#B3BAC1; --mute:#98A0A8;
  --rule:#343A40; --amber-text:#F5B93A; --amber-wash:rgba(240,162,2,.20); --grey-bar:#6B737B; --grey-light:#4A5158; color-scheme:dark;
}}
:root[data-theme="dark"]{
  --paper:#14171A; --panel:#1C2024; --card:#191D21; --ink:#ECEDEA; --slate:#B3BAC1; --mute:#98A0A8;
  --rule:#343A40; --amber-text:#F5B93A; --amber-wash:rgba(240,162,2,.20); --grey-bar:#6B737B; --grey-light:#4A5158; color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--serif);text-rendering:optimizeLegibility}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:var(--amber-text)}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:var(--gut);top:8px;background:var(--ink);color:var(--paper);padding:10px 14px;z-index:10;border-radius:var(--r)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
img{max-width:100%;height:auto;display:block}

/* masthead */
.mast{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px var(--gut);border-bottom:1px solid var(--rule)}
.mark{font:800 1.15rem/1 var(--display);font-stretch:85%;text-decoration:none;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:10px;min-height:44px}
.mark::before{content:"";width:22px;height:14px;border-left:3px solid var(--amber);border-bottom:3px solid var(--ink);background:linear-gradient(var(--ink),var(--ink)) right 0 top 0/12px 3px no-repeat}
.mast nav{display:flex;gap:4px 22px;flex-wrap:wrap}
.mast nav a{font:500 .8125rem/1 var(--mono);color:var(--slate);text-decoration:none;padding:14px 0}
.mast nav a:hover{color:var(--ink);text-decoration:underline}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,56px);padding:clamp(28px,5vw,64px) var(--gut) clamp(28px,4vw,48px);align-items:start}
.kicker{font:500 .75rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--amber-text);margin:0 0 18px}
h1{font:800 clamp(1.85rem,1.1rem + 2.6vw,3.1rem)/1.06 var(--display);font-stretch:88%;letter-spacing:-.015em;margin:0;max-width:22ch;text-wrap:balance}
.figure{margin:clamp(22px,3vw,36px) 0 0;display:grid;gap:8px}
.big{font:900 clamp(4.2rem,2rem + 9vw,9.5rem)/.86 var(--display);font-stretch:80%;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--ink)}
.big span{display:inline-block;padding-bottom:.06em;border-bottom:.09em solid var(--amber)}
.figlabel{font:400 .9375rem/1.5 var(--mono);color:var(--slate);max-width:56ch}
.ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.btn{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border-radius:var(--r);border:1.5px solid var(--ink);font:700 .9375rem/1 var(--display);font-stretch:95%;text-decoration:none;color:var(--ink);background:transparent;transition:background-color .15s,color .15s}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn.primary{background:var(--ink);color:var(--paper)}
.btn.primary:hover{background:var(--amber);border-color:var(--amber);color:#15181C}
.hero-photo{margin:0;border-radius:var(--r);overflow:hidden;background:var(--panel)}
.hero-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:68% 50%}

/* kW strip */
.band{background:var(--panel);padding:clamp(24px,4vw,44px) var(--gut)}
.strip{margin:0}
.strip-plot{position:relative;height:clamp(170px,22vw,240px);margin-top:26px}
.bars{list-style:none;margin:0;padding:0;display:flex;align-items:flex-end;gap:clamp(2px,.5vw,6px);height:100%}
.bars li{flex:1 1 0;min-width:0;height:var(--h);background:var(--grey-light);border-radius:2px 2px 0 0;position:relative}
.bars li.post{background:var(--grey-bar)}
.bars li.trig{background:var(--amber)}
.bars .v{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font:500 .6875rem/1.6 var(--mono);color:var(--mute);display:none}
.bars li.trig .v{display:block;color:var(--amber-text);font-weight:600}
.line20,.lineavg{position:absolute;left:0;right:0;bottom:var(--y);border-top:2px solid var(--amber);z-index:1;pointer-events:none}
.lineavg{border-top:1.5px dashed var(--slate)}
.line20 b,.lineavg b{position:absolute;right:0;bottom:4px;font:600 .75rem/1 var(--mono);background:var(--panel);padding:2px 0 2px 6px}
.line20 b{color:var(--amber-text)}
.lineavg b{color:var(--slate);font-weight:500}
.move{position:absolute;top:-26px;left:var(--x);border-left:1.5px solid var(--ink);height:calc(100% + 26px);pointer-events:none}
.move b{font:500 .75rem/1 var(--mono);padding-left:6px;white-space:nowrap;display:block}
.strip-axis{display:flex;justify-content:space-between;font:500 .75rem/1 var(--mono);color:var(--mute);border-top:1px solid var(--ink);padding-top:8px}
.strip figcaption{font:400 .9375rem/1.55 var(--serif);color:var(--ink);max-width:78ch;margin-top:14px}

/* sections */
.sec{padding:clamp(40px,6vw,80px) var(--gut)}
.sec.tint{background:var(--panel)}
h2{font:800 clamp(1.7rem,1.1rem + 2vw,2.6rem)/1.05 var(--display);font-stretch:85%;letter-spacing:-.015em;margin:0 0 20px;max-width:24ch;text-wrap:balance}
h3{font:700 1.2rem/1.2 var(--display);font-stretch:92%;margin:44px 0 14px}
.lede{font-size:1.1875rem;line-height:1.5;margin:0 0 18px;max-width:62ch}
.narrow{max-width:70ch}
.prose{max-width:70ch}
.prose p{max-width:70ch}
.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.facts{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:12px}
.facts li{padding-left:16px;border-left:3px solid var(--rule)}
.facts b{font-family:var(--display);font-weight:700}
blockquote{margin:24px 0;padding:18px 20px;background:var(--card);border-radius:var(--r);border-left:4px solid var(--amber)}
blockquote p{margin:0 0 10px;font-size:1.0625rem;font-style:italic}
cite{font:400 .8125rem/1.4 var(--mono);color:var(--slate);font-style:normal}
.cite,.note{font:400 .8125rem/1.6 var(--mono);color:var(--slate);max-width:90ch}
.note{margin:12px 0 0}
.diagram,.tierfig{margin:0}
.diagram .chart{max-width:560px}
@media (max-width:560px){.diagram .chart .tick,.diagram .chart .axis{font-size:16px}.diagram .chart .lab,.diagram .chart .tlabel{font-size:17px}}
.diagram figcaption,.tierfig figcaption{font:400 .8125rem/1.55 var(--mono);color:var(--slate);margin-top:10px}

/* charts */
.chart{width:100%;height:auto;display:block;overflow:visible}
.chart .grid{stroke:var(--rule);stroke-width:1}
.chart .tick{font:500 13px var(--mono);fill:var(--mute)}
.chart .axis{font:500 13px var(--mono);fill:var(--slate)}
.chart .lab{font:500 14px var(--mono);fill:var(--slate)}
.chart .lab.strong{fill:var(--amber-text);font-weight:600}
.chart .thresh{stroke:var(--amber);stroke-width:2;stroke-dasharray:4 4}
.chart .tlabel{font:600 13px var(--mono);fill:var(--amber-text)}
.chart .gs1{stroke:var(--slate);stroke-width:3;fill:none}
.chart .gs2{stroke:var(--amber);stroke-width:4;fill:none}
.chart .drop{stroke:var(--amber);stroke-width:4}
.chart .dot1{fill:var(--slate)}
.chart .dot2{fill:var(--amber);stroke:var(--paper);stroke-width:1.5}
.chart .gap{fill:var(--amber-wash)}
.chart .gs1line{stroke:var(--slate);stroke-width:2;stroke-dasharray:6 5;fill:none}
.chart .gs2line{stroke:var(--amber);stroke-width:3;fill:none}
.chartwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--card);border-radius:var(--r);padding:16px 12px 8px}
.chartwrap .chart{min-width:620px;max-width:980px;margin:0 auto}

/* kpis */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:2px;margin:26px 0 8px;background:var(--rule);border-radius:var(--r);overflow:hidden}
.kpis div{background:var(--card);padding:18px 18px 16px;display:grid;gap:6px}
.kpis .k{font:900 clamp(2rem,1.4rem + 1.6vw,2.8rem)/1 var(--display);font-stretch:82%;font-variant-numeric:tabular-nums}
.kpis div:first-child .k{color:var(--amber-text)}
.kpis .l{font:400 .8125rem/1.4 var(--mono);color:var(--slate)}

/* stacked bar */
.stack{margin:4px 0 18px}
.stack-bar{display:flex;height:44px;gap:2px;border-radius:var(--r);overflow:hidden}
.seg{flex:0 0 var(--w);min-width:3px}
.c1,.sw.c1{background:var(--ink)}
.c2,.sw.c2{background:var(--amber)}
.c3,.sw.c3{background:var(--amber-soft)}
.c4,.sw.c4{background:var(--grey-bar)}
.cn,.sw.cn{background:repeating-linear-gradient(135deg,var(--slate) 0 2px,transparent 2px 6px)}
.stack-neg{margin-left:calc(100% - var(--w));width:var(--w);height:16px;margin-top:4px;background:repeating-linear-gradient(135deg,var(--slate) 0 2px,transparent 2px 6px);border-radius:0 0 var(--r) var(--r);position:relative}
.stack-neg span{position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);font:500 .75rem/1 var(--mono);color:var(--slate);white-space:nowrap}
.stack-scale{display:flex;justify-content:space-between;font:500 .75rem/1 var(--mono);color:var(--mute);margin-top:8px}
.sw{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:8px;vertical-align:-1px}

/* tables */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r);background:var(--card)}
table{border-collapse:collapse;width:100%;font:400 .875rem/1.45 var(--mono)}
th,td{padding:9px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule)}
thead th{font:600 .75rem/1.3 var(--mono);color:var(--slate);background:var(--card);position:sticky;top:0}
tbody th{font-weight:500;white-space:nowrap}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.strong{font-weight:600;color:var(--amber-text)}
td.src{color:var(--mute);font-size:.75rem;min-width:200px}
td small{color:var(--mute)}
table.comp th[scope=row]{white-space:normal}
table.comp th small{display:block;font:400 .9375rem/1.45 var(--serif);color:var(--slate);margin:4px 0 0 20px;max-width:70ch}
table.comp td.num{font-size:1rem;font-weight:600}
tr.neg th,tr.neg td.num{color:var(--slate)}
tr.total th,tr.total td{font-weight:700;border-top:2px solid var(--ink);border-bottom:0}
tr.total td.num{color:var(--amber-text);font-size:1rem}
tfoot th,tfoot td{font-weight:700;border-top:2px solid var(--ink);border-bottom:0}
table.ev tr.gs2 td:nth-child(2){color:var(--amber-text);font-weight:600}
table.ev tr.trig{background:var(--amber-wash)}
table.ev tr.trig td:nth-child(4){font-weight:700;color:var(--amber-text)}
.tiers caption{caption-side:top;text-align:left;font:500 .8125rem/1.4 var(--mono);color:var(--slate);padding:12px 12px 4px}
.tiers tr.hot{background:var(--amber-wash)}
.tiers tr.hot th,.tiers tr.hot td{font-weight:700}

/* steps */
.steps{list-style:none;padding:0;margin:8px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:2px;background:var(--rule);border-radius:var(--r);overflow:hidden}
.steps li{background:var(--card);padding:18px;display:grid;gap:6px;align-content:start}
.steps .when{font:600 .75rem/1.3 var(--mono);color:var(--slate)}
.steps .k{font:900 clamp(2.6rem,1.8rem + 2vw,3.6rem)/1 var(--display);font-stretch:80%;font-variant-numeric:tabular-nums}
.steps .l{font:400 .8125rem/1.4 var(--mono);color:var(--slate)}
.steps li.hot .k{color:var(--amber-text)}

details.method{margin-top:36px;background:var(--card);border-radius:var(--r);padding:0 16px}
details.method summary{cursor:pointer;font:700 1rem/1 var(--display);padding:16px 0;min-height:44px}
details.method ul{margin:0 0 16px;padding-left:20px;max-width:80ch;font-size:.9375rem}
details.method .tablewrap{margin-bottom:16px}

/* cases */
.cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin:24px 0 8px}
.case{background:var(--card);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:6px;border-top:4px solid var(--ink)}
.case h3{margin:0 0 4px}
.case p{margin:0}
.docket{font:600 .8125rem/1 var(--mono);color:var(--amber-text)}
.impact{font-size:1.0625rem}
.impact b{font:900 1.6rem/1 var(--display);font-stretch:85%}
.case .btn{margin-top:14px;align-self:flex-start}

/* asks */
.asks{list-style:none;counter-reset:a;padding:0;margin:8px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:2px;background:var(--rule);border-radius:var(--r);overflow:hidden}
.asks li{counter-increment:a;background:var(--card);padding:22px 22px 22px 76px;position:relative}
.asks li::before{content:counter(a);position:absolute;left:22px;top:18px;font:900 2.6rem/1 var(--display);font-stretch:80%;color:var(--amber-text)}
.asks h3{margin:4px 0 8px;font-size:1.35rem}
.asks p{margin:0;max-width:70ch}
.dm-who{font:500 .8125rem/1.5 var(--mono);color:var(--slate);margin:0}

/* petition */
.status{font:500 .875rem/1.5 var(--mono);background:var(--card);border-left:4px solid var(--amber);padding:12px 14px;border-radius:var(--r);max-width:70ch}
.petition{background:var(--card);border-radius:var(--r);padding:clamp(20px,4vw,44px);max-width:calc(70ch + 88px);margin-top:20px}
.petition h3{margin-top:0;font-size:1.5rem}
.petition p,.petition li{max-width:70ch}
.petition ol{padding-left:22px;display:grid;gap:10px}
.petition .sig{font-weight:600}
.petition h4{font:600 .8125rem/1 var(--mono);color:var(--slate);margin:28px 0 8px;text-transform:uppercase;letter-spacing:.06em}
.petition .dm{font:400 .875rem/1.6 var(--mono);padding-left:18px;margin:0}

/* sources */
.sources{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px 40px}
.srcgrp h3{margin:0 0 10px;font-size:1rem}
.srcgrp ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.srcgrp li{display:grid;gap:2px;font-size:.9375rem;line-height:1.4}
.srcgrp li a{overflow-wrap:anywhere}
.srcgrp li span{font:400 .8125rem/1.45 var(--mono);color:var(--slate)}

.who-sec,.sec.who{border-top:1px solid var(--rule)}
.mail{font:600 .875rem/1 var(--mono);margin-left:8px}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding:24px var(--gut) calc(24px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--paper);font:400 .8125rem/1.5 var(--mono)}
.foot p{margin:0}
.foot a{color:var(--paper);display:inline-block;padding:12px 0}

@media (max-width:960px){
  .hero{grid-template-columns:minmax(0,1fr)}
  .hero-photo img{aspect-ratio:3/2}
  .cols{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .bars li .v{font-size:.625rem}
  .line20 b,.lineavg b{font-size:.6875rem}
  .move b{font-size:.6875rem}
  .asks li{padding-left:58px}
  .asks li::before{left:16px;font-size:2.2rem}
  .stack-neg span{right:auto;left:auto;top:calc(100% + 6px);transform:none;position:absolute;right:0}
  .stack-scale{margin-top:24px}
}
@media (max-width:480px){
.chartwrap{overflow-x:visible;padding:12px 4px 6px}
.chartwrap .chart.wide{width:100%;min-width:0}
.chart.wide .tick{font-size:17px}
.chart.wide .axis{font-size:16px}
.chart.wide .lab{font-size:16px}
details.method{padding:0 8px}
details.method table{font-size:.6875rem}
details.method thead th{font-size:.625rem}
details.method th,details.method td{padding:7px 3px}
details.method table th:nth-child(2),details.method table td:nth-child(2),details.method table th:nth-child(7),details.method table td:nth-child(7){display:none}
}
