:root{
  --paper:#EEF0F2;
  --card:#FFFFFF;
  --ink:#14161F;
  --muted:#5A5F6E;
  --line:#CDD1D8;
  --red:#E7323A;       /* OK Campaign red (brand kit, Sep 2026): fills, borders, large type */
  --red-ink:#C41F28;   /* the kit's deeper red, for red text (5.4:1 on white) */
  --red-soft:#F6D9DE;
  --mark:#FFCE3A;
  --on-mark:#14161F;
  --kept:#2E7A4C;
  --partly:#A86A10;
  --pending:#6B7080;
  --bar-then:#9CA2AF;
  --shadow:rgba(20,22,31,.08);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --paper:#0F1117;--card:#181B24;--ink:#ECEEF3;--muted:#A0A6B4;--line:#2C303C;
    --red:#FF5A62;--red-ink:#FF5A62;--red-soft:#3A1920;--mark:#F2C230;--kept:#5FC08A;--partly:#E0A447;
    --pending:#8E94A3;--bar-then:#555B69;--shadow:rgba(0,0,0,.4);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --paper:#0F1117;--card:#181B24;--ink:#ECEEF3;--muted:#A0A6B4;--line:#2C303C;
  --red:#FF5A62;--red-ink:#FF5A62;--red-soft:#3A1920;--mark:#F2C230;--kept:#5FC08A;--partly:#E0A447;
  --pending:#8E94A3;--bar-then:#555B69;--shadow:rgba(0,0,0,.4);
}

*{box-sizing:border-box}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:18px;line-height:1.6;padding-inline:16px;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
.wrap{max-width:780px;margin:0 auto}
.display,h1,h2{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;text-wrap:balance;margin:0}
h1{font-size:clamp(46px,11vw,108px);line-height:.9;letter-spacing:-.005em}
h2{font-size:clamp(32px,6.5vw,54px);line-height:.95;margin-top:8px}
h3{font-size:21px;line-height:1.3;margin:0}
p{margin:0}
.mono{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif}
.eyebrow{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
mark{
  background:linear-gradient(transparent 10%,var(--mark) 10%,var(--mark) 90%,transparent 90%);
  color:var(--on-mark);padding:0 .12em;-webkit-box-decoration-break:clone;box-decoration-break:clone;
}
.red{color:var(--red-ink)}
.num{font-variant-numeric:tabular-nums}

/* top bar */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--paper);border-bottom:2px solid var(--ink);margin-inline:-16px;padding:10px 16px}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;font-size:24px;text-transform:uppercase;text-decoration:none;letter-spacing:.02em;line-height:1}
.brand span{color:var(--red-ink)}
.menu{position:relative}
.menu summary{list-style:none;cursor:pointer;font-weight:700;font-size:15px;border:2px solid var(--ink);padding:6px 12px;user-select:none}
.menu summary::-webkit-details-marker{display:none}
.menu[open] summary{background:var(--ink);color:var(--paper)}
.menu ol{position:absolute;right:0;top:calc(100% + 8px);width:min(330px,calc(100vw - 32px));background:var(--card);border:2px solid var(--ink);margin:0;padding:6px 0;list-style:none;box-shadow:0 12px 30px var(--shadow)}
.menu li a{display:flex;gap:10px;padding:9px 14px;text-decoration:none;font-weight:700}
.menu li a small{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;color:var(--muted);font-weight:400;min-width:22px}
.menu li a:hover,.menu li a[aria-current]{background:var(--paper)}
.menu li a[aria-current]{color:var(--red-ink)}

/* hero */
.hero{padding-block:48px 28px;display:grid;gap:20px}
.hero .lede{font-size:21px;max-width:36em;color:var(--ink)}
.stamp{display:inline-block;align-self:start;justify-self:start;border:3px solid var(--red);color:var(--red-ink);font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;transform:rotate(-2deg);font-size:14px}

section{padding-block:28px}
.section-head{display:grid;gap:8px;margin-bottom:18px}
.prose{display:grid;gap:14px;max-width:36em}
.prose p{font-size:19px}
.prose strong{font-weight:700}
.divider{border:0;border-top:2px solid var(--ink);margin:0}

/* then -> now */
.tn{display:grid;gap:4px;padding-block:22px;border-top:2px solid var(--ink)}
.tn-label{font-weight:700;font-size:18px}
.tn-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px}
.tn-then{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-size:clamp(22px,4.5vw,30px);color:var(--muted);white-space:nowrap}
.tn-then s{text-decoration-color:var(--red-ink);text-decoration-thickness:3px}
.tn-arrow{font-size:28px;color:var(--muted)}
.tn-now{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;font-size:clamp(64px,17vw,150px);line-height:.85;color:var(--red-ink);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.tn-years{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.tn-note{color:var(--muted);font-size:16px;max-width:38em}

/* shareable line */
.line{position:relative;margin-inline:0;background:var(--card);padding:26px 22px 18px;margin-block:22px;display:grid;gap:16px;
  box-shadow:0 1px 0 var(--line),0 10px 24px var(--shadow)}
.line::before{content:"";position:absolute;left:0;right:0;top:-7px;height:8px;
  background:radial-gradient(circle at 6px 8px,var(--card) 5px,transparent 5.5px) 0 0/12px 8px repeat-x}
.line-text{font-size:clamp(22px,4.6vw,30px);line-height:1.28;font-weight:700;text-wrap:pretty}
.line-text.pidgin{font-style:italic}
.line-tag{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.share{display:flex;flex-wrap:wrap;gap:8px}
.share a,.share button,.btn{
  font:inherit;font-size:15px;font-weight:700;cursor:pointer;text-decoration:none;
  border:2px solid var(--ink);background:transparent;color:var(--ink);padding:7px 13px;line-height:1.2;
  display:inline-flex;align-items:center;gap:6px
}
.share a:hover,.share button:hover,.btn:hover{background:var(--ink);color:var(--paper)}
.btn.solid{background:var(--red);border-color:var(--red);color:#fff}
.btn.solid:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}

/* promise vs reality */
.pvr{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0;border:2px solid var(--ink);margin-block:18px}
.pvr>div{padding:18px 20px;display:grid;gap:8px;align-content:start}
.pvr>div+div{border-top:2px solid var(--ink)}
@media (min-width:600px){.pvr>div+div{border-top:0;border-left:2px solid var(--ink)}}
.pvr .said{background:var(--card)}
.pvr .got{background:var(--red-soft)}
.pvr q{font-size:20px;font-weight:700;quotes:"\201C" "\201D";line-height:1.35}
.pvr .src{font-size:14px;color:var(--muted)}
.pvr .got p{font-size:19px}

/* bars */
.bars{display:grid;gap:12px;margin-block:16px}
.bar{display:grid;grid-template-columns:minmax(90px,150px) 1fr;gap:12px;align-items:center}
.bar-label{font-weight:700;font-size:15px;line-height:1.25}
.bar-track{position:relative;height:34px;background:transparent;border-left:2px solid var(--ink)}
.bar-fill{height:100%;background:var(--red);display:flex;align-items:center;min-width:2px}
.bar-fill.then{background:var(--bar-then)}
.bar-fill.goal{background:transparent;border:2px dashed var(--ink);border-left:0}
.bar-val{position:absolute;top:50%;transform:translateY(-50%);font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;font-size:16px;white-space:nowrap;padding-left:8px}
.chart-title{font-weight:700;font-size:17px}
.chart-note{font-size:14px;color:var(--muted)}

/* stat grid */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2px;background:var(--ink);border:2px solid var(--ink);margin-block:18px}
.stat{background:var(--card);padding:18px;display:grid;gap:6px;align-content:start}
.stat b{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;font-size:46px;line-height:.95;color:var(--red-ink);font-variant-numeric:tabular-nums}
.stat span{font-size:16px;line-height:1.4}

/* receipt / price board */
.receipt{background:var(--card);font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;padding:24px 20px 34px;margin-block:18px;position:relative;
  box-shadow:0 10px 24px var(--shadow)}
.receipt::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:10px;
  background:linear-gradient(135deg,var(--card) 50%,transparent 50%) 0 0/14px 10px repeat-x,
             linear-gradient(225deg,var(--card) 50%,transparent 50%) 0 0/14px 10px repeat-x}
.receipt h3{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;text-align:center;text-transform:uppercase;letter-spacing:.14em;font-size:17px}
.receipt .sub{text-align:center;color:var(--muted);font-size:14px;margin-top:4px}
.rtable{width:100%;border-collapse:collapse;margin-top:16px;font-size:16px;font-variant-numeric:tabular-nums}
.rtable th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:right;font-weight:700;padding:6px 4px;border-bottom:2px dashed var(--line)}
.rtable th:first-child{text-align:left}
.rtable td{padding:9px 4px;border-bottom:1px dashed var(--line);text-align:right;vertical-align:top}
.rtable td:first-child{text-align:left;font-weight:700}
.rtable td small{display:block;color:var(--muted);font-size:12px;font-weight:400}
.rtable .x{color:var(--red-ink);font-weight:700}
.rtable-wrap{overflow-x:auto}
.receipt .total{display:flex;justify-content:space-between;gap:12px;border-top:2px dashed var(--ink);margin-top:14px;padding-top:12px;font-weight:700;font-size:17px}

/* calculator */
.calc{background:var(--ink);color:var(--paper);padding:24px 20px;margin-block:18px;display:grid;gap:16px}
.calc label{font-weight:700;font-size:18px}
.calc .inrow{display:flex;align-items:center;gap:8px;border-bottom:3px solid var(--mark);max-width:320px}
.calc .inrow span{font-family:"Big Shoulders Display",Impact,sans-serif;font-size:40px;font-weight:900}
.calc input{font:inherit;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:44px;background:transparent;color:var(--paper);border:0;width:100%;min-width:0;padding:0}
.calc input:focus{outline:none}
.calc .presets{display:flex;flex-wrap:wrap;gap:8px}
.calc .presets button{font:inherit;font-size:14px;font-weight:700;background:transparent;border:2px solid var(--paper);color:var(--paper);padding:5px 10px;cursor:pointer}
.calc .presets button:hover{background:var(--paper);color:var(--ink)}
.calc table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.calc th,.calc td{padding:9px 6px;text-align:right;border-bottom:1px solid rgba(255,255,255,.18)}
:root[data-theme="dark"] .calc th,:root[data-theme="dark"] .calc td{border-bottom-color:rgba(0,0,0,.18)}
.calc th:first-child,.calc td:first-child{text-align:left}
.calc th{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.calc td b{color:var(--mark)}
.calc .verdict{font-size:20px;font-weight:700;line-height:1.35}
.calc .verdict mark{color:var(--on-mark)}

/* timeline */
.timeline{list-style:none;margin:16px 0;padding:0;display:grid;gap:0;border-left:3px solid var(--ink)}
.timeline li{padding:0 0 20px 20px;position:relative}
.timeline li::before{content:"";position:absolute;left:-9px;top:7px;width:15px;height:15px;background:var(--red);border:3px solid var(--paper);border-radius:50%}
.timeline time{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;font-size:14px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.timeline p{font-size:18px}

/* them vs you */
.vs{display:grid;gap:2px;background:var(--ink);border:2px solid var(--ink);margin-block:18px}
.vs-row{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.vs-row>div{background:var(--card);padding:14px 16px;font-size:17px;line-height:1.4}
.vs-row>div:first-child{background:var(--red-soft)}
.vs-head>div{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:24px;padding-block:8px}

/* promises */
.score{display:flex;height:46px;border:2px solid var(--ink);margin-block:14px 8px}
.score>div{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:15px;min-width:0;overflow:hidden}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:15px}
.legend i{display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-1px}
.v-no{background:var(--red)}
.v-rev{background:var(--ink)}
.v-part{background:var(--partly)}
.v-yes{background:var(--kept)}
.v-pend{background:var(--pending)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-block:18px}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.plist{display:grid;gap:14px}
.pcard{background:var(--card);padding:18px 20px;display:grid;gap:10px;border-left:6px solid var(--pending)}
.pcard[data-v="no"]{border-left-color:var(--red)}
.pcard[data-v="rev"]{border-left-color:var(--ink)}
.pcard[data-v="part"]{border-left-color:var(--partly)}
.pcard[data-v="yes"]{border-left-color:var(--kept)}
.pcard .top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.chip{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#fff;padding:3px 8px}
.chip.v-rev{color:var(--paper)}
.pcard .yr{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-size:13px;color:var(--muted)}
.pcard .said{font-size:20px;font-weight:700;line-height:1.3}
.pcard .what{font-size:17px}
.pcard .share{margin-top:2px}
.pcard .share button,.pcard .share a{font-size:13px;padding:5px 10px}

/* countdown */
.countdown{display:grid;gap:4px;padding:26px 20px;background:var(--red);color:#fff;margin-block:18px}
.countdown b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:clamp(90px,24vw,190px);line-height:.85;font-variant-numeric:tabular-nums}
.countdown span{font-size:20px;font-weight:700}

/* checklist */
.check{list-style:none;margin:16px 0;padding:0;display:grid;gap:10px}
.check li{background:var(--card);padding:16px 18px 16px 58px;position:relative;font-size:18px}
.check li::before{content:"";position:absolute;left:18px;top:18px;width:22px;height:22px;border:3px solid var(--ink)}
.check li b{display:block;font-size:19px}

/* chapter index cards */
.chapters{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2px;background:var(--ink);border:2px solid var(--ink);margin-block:18px}
.chapters a{background:var(--card);padding:20px;text-decoration:none;display:grid;gap:8px;align-content:start;min-height:150px}
.chapters a:hover{background:var(--paper)}
.chapters a:hover .ch-title{color:var(--red-ink)}
.ch-n{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-size:13px;color:var(--muted);letter-spacing:.1em}
.ch-title{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:30px;line-height:.95}
.ch-hook{font-size:16px;line-height:1.4}

/* next */
.next{display:grid;gap:6px;text-decoration:none;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding-block:26px;margin-top:20px}
.next .display{font-size:clamp(38px,8vw,64px);line-height:.92}
.next:hover .display{color:var(--red-ink)}

/* footer */
.sources{font-size:14px;color:var(--muted);padding-block:26px 12px;display:grid;gap:8px}
.sources h3{font-size:14px;text-transform:uppercase;letter-spacing:.1em;font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif}
.sources p{max-width:60em}
.foot{font-size:14px;color:var(--muted);padding-block:18px 40px;border-top:1px solid var(--line);margin-top:10px}

.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:10px 16px;font-weight:700;font-size:15px;z-index:50}

@media (max-width:480px){
  body{font-size:17px}
  .bar{grid-template-columns:88px 1fr}
  .vs-row>div{font-size:15px;padding:12px}
}
@media (prefers-reduced-motion:no-preference){
  .tn-now{animation:rise .6s ease-out both}
  @keyframes rise{from{transform:translateY(8px)}to{transform:none}}
}

/* ---- additions: menu groups, CTA, tools ---- */
.menu ol{max-height:calc(100vh - 90px);overflow-y:auto}
.menu-sep{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:12px 14px 4px;border-top:1px solid var(--line);margin-top:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tools a{background:var(--ink);color:var(--paper)}
.tools a .ch-n{color:var(--mark)}
.tools a:hover{background:var(--red)}
.tools a:hover .ch-title{color:#fff}

.cta{background:var(--ink);color:var(--paper);padding:28px 22px;margin-top:40px;display:grid;gap:14px}
.cta .eyebrow{color:var(--mark)}
.cta h2{color:var(--paper);font-size:clamp(44px,10vw,80px)}
.cta p{font-size:19px;max-width:34em}
.cta .share a,.cta .share button{border-color:var(--paper);color:var(--paper)}
.cta .share a:hover,.cta .share button:hover{background:var(--paper);color:var(--ink)}
.cta .btn.solid{font-size:18px;padding:12px 18px}

.tool{background:var(--card);padding:22px 20px;display:grid;gap:16px;box-shadow:0 10px 24px var(--shadow)}
.field{display:grid;gap:6px}
.field label{font-weight:700;font-size:17px}
.field label small{font-weight:400;color:var(--muted);font-size:14px}
.field input,.field select{font:inherit;font-size:20px;padding:10px 12px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);width:100%;max-width:420px;border-radius:0}
.tool .btn.solid{justify-self:start;font-size:18px;padding:12px 18px}
#took-out,#future-out{scroll-margin-top:70px;margin-top:30px}
.receipt.big .rtable{font-size:17px}
.future-box{background:var(--red);color:#fff;padding:22px 20px;margin-block:24px;display:grid;gap:10px}
.future-box .eyebrow{color:#fff;opacity:.85}
.future-box p{font-size:19px}
.verdict-big{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(30px,6vw,46px)!important;line-height:1}
.report{display:grid;gap:14px}
.report h2{font-size:clamp(44px,10vw,84px)}
.report-lede{font-size:20px}

.quiz{background:var(--card);padding:22px 20px;box-shadow:0 10px 24px var(--shadow);display:grid;gap:12px}
.q-top{display:flex;justify-content:space-between;gap:10px}
.q-bar{height:6px;background:var(--line)}
.q-bar div{height:100%;background:var(--red)}
.q-text{font-size:clamp(22px,4.6vw,30px);font-weight:700;line-height:1.28}
.q-btns{display:flex;flex-wrap:wrap;gap:10px}
.q-btns .btn{font-size:18px;padding:12px 18px}
.q-btns .btn:disabled{cursor:default;opacity:.55}
.q-btns .btn.solid:disabled{opacity:1}
.q-res{display:grid;gap:10px;border-top:2px solid var(--ink);padding-top:14px}
.q-res .btn{justify-self:start}
.q-verdict{font-weight:700;font-size:21px}
.q-verdict.ok{color:var(--kept)}
.q-verdict.bad{color:var(--red-ink)}
.q-final{display:grid;gap:10px}
.q-final b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:clamp(90px,24vw,170px);line-height:.85;color:var(--red-ink)}
.q-final .btn{justify-self:start}

.meter{display:grid;gap:2px;background:var(--ink);border:2px solid var(--ink);margin-block:10px 12px}
.meter .clock{background:var(--ink);color:var(--paper);padding:16px 18px;display:grid;gap:4px}
.meter .clock .eyebrow{color:var(--mark)}
.meter .clock b{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-size:36px}
.mrow{background:var(--card);padding:16px 18px;display:grid;gap:4px}
.mrow b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:clamp(44px,11vw,76px);line-height:.9;color:var(--red-ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.mrow span{font-size:17px}

.prog{background:var(--card);padding:18px 20px;display:grid;gap:10px;box-shadow:0 10px 24px var(--shadow)}
.prog-top{display:flex;align-items:baseline;gap:12px}
.prog-top b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:72px;line-height:.85;color:var(--red-ink)}
.prog-top span{font-weight:700;font-size:19px}
.prog-bar{height:14px;border:2px solid var(--ink)}
.prog-bar div{height:100%;background:var(--red);width:0;transition:width .3s}
.list20{list-style:none;margin:18px 0 10px;padding:0;display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.p20{display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center;background:var(--card);padding:8px 10px;border-left:5px solid var(--line)}
.p20[data-st="1"]{border-left-color:var(--pending)}
.p20[data-st="2"]{border-left-color:var(--partly)}
.p20[data-st="3"]{border-left-color:var(--kept)}
.p20 .n{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;color:var(--muted)}
.p20 input,.p20 select{font:inherit;font-size:16px;padding:7px 8px;border:1px solid var(--line);background:var(--paper);color:var(--ink);min-width:0;width:100%;border-radius:0}
.p20 select{width:auto;max-width:150px}
.invite{background:var(--card);padding:22px 20px;margin-block:22px;display:grid;gap:12px;box-shadow:0 10px 24px var(--shadow)}
@media (max-width:480px){
  .list20{grid-template-columns:1fr}
  .p20{grid-template-columns:26px 1fr}
  .p20 select{grid-column:2;max-width:none;width:100%}
}

/* ---- letters, audience, extra tools ---- */
.aud a{background:var(--red-soft)}
.aud a .ch-n{color:var(--red-ink)}
.letter{background:var(--card);padding:28px 24px;margin-block:22px;display:grid;gap:14px;font-family:"Kalam","Comic Sans MS",cursive;font-size:22px;line-height:1.5;box-shadow:0 10px 24px var(--shadow);
  background-image:repeating-linear-gradient(transparent 0 32px,var(--line) 32px 33px);background-position:0 12px}
.letter strong{font-weight:700}
.letter .sign{margin-top:8px;font-weight:700}
#letter-out,#state-out,#gen-out,#japa-out{scroll-margin-top:70px;margin-top:26px}
.basket{display:grid;gap:2px;background:var(--line);border:2px solid var(--ink);margin-block:10px 20px}
.bk-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--card);padding:10px 14px}
.bk-row b{display:block;font-size:17px}
.bk-row small{color:var(--muted);font-size:14px}
.stepper{display:flex;align-items:center;gap:0;border:2px solid var(--ink);flex:none}
.stepper button{font:inherit;font-size:22px;font-weight:700;width:40px;height:40px;background:transparent;color:var(--ink);border:0;cursor:pointer}
.stepper button:hover{background:var(--ink);color:var(--paper)}
.stepper output{min-width:34px;text-align:center;font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;font-size:18px}
.bk-total .bar-label{font-size:14px}
.bk-say{font-size:21px;font-weight:700;line-height:1.35;margin-block:12px}
.facts{margin:4px 0;padding-left:20px;display:grid;gap:10px;font-size:18px}
.stat.big1{grid-column:1/-1}
.cv{background:var(--card);padding:24px 20px;box-shadow:0 10px 24px var(--shadow);display:grid;gap:16px}
.cv-head{display:grid;gap:12px;border-bottom:2px solid var(--ink);padding-bottom:14px}
.cv dl{margin:0;display:grid;gap:6px}
.cv dl div{display:grid;grid-template-columns:140px 1fr;gap:10px}
.cv dt{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:3px}
.cv dd{margin:0;font-weight:700}
.cv-refs{display:grid;gap:6px}
.decide{margin-block:24px;display:grid;gap:12px}
.fired{display:grid;gap:8px;margin-top:10px}
.fired .verdict-big{font-size:clamp(80px,22vw,160px)!important;color:var(--red-ink)}
.pack{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-block:10px}
.pack-item{margin:0;display:grid;gap:6px}
.pack-item img{width:100%;height:auto;display:block;box-shadow:0 8px 20px var(--shadow)}
.pack-item figcaption{font-size:13px;color:var(--muted)}
@media (max-width:480px){.cv dl div{grid-template-columns:1fr;gap:0}.letter{font-size:20px;padding:22px 18px}}
.hashtag{text-transform:none;letter-spacing:-.01em;overflow-wrap:anywhere}
.pv{background:var(--mark);color:var(--on-mark);padding:34px 22px 28px;margin-top:44px;margin-inline:-16px;display:grid;gap:18px;border-block:4px solid var(--on-mark)}
@media (min-width:812px){.pv{margin-inline:0;border:4px solid var(--on-mark);padding:44px 36px 36px}}
.pv-big{display:grid;gap:4px;font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;line-height:.9;margin:0}
.pv-big .l1{font-size:clamp(34px,8vw,60px)}
.pv-big .l2{font-size:clamp(52px,13.5vw,112px)}
.pv-big .l3{font-size:clamp(52px,13.5vw,112px);color:#E7323A}
.pv-sub{font-size:19px;max-width:36em;font-weight:700}
.pv-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#14161F;color:#fff;text-decoration:none;
  font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(28px,7vw,48px);line-height:1;padding:20px 22px;border:0}
.pv-btn span{font-size:1.2em}
.pv-btn:hover{background:#E7323A}
.pv-btn:focus-visible{outline:4px solid #E7323A;outline-offset:4px}
.pv + .cta{margin-top:0}
.pv-btn2{background:transparent;color:#14161F;border:4px solid #14161F;font-size:clamp(22px,5.5vw,36px);padding:14px 18px}
.pv-btn2:hover{background:#14161F;color:#FFCE3A}
.pledge-fig{margin:24px 0 0;display:grid;gap:8px}
.pledge-fig img{width:100%;max-width:560px;height:auto;display:block;box-shadow:0 12px 30px var(--shadow)}
.pledge-fig figcaption{font-size:15px;color:var(--muted)}
.big-q{font-size:21px;font-weight:700;gap:14px;list-style:"?  ";padding-left:28px}
.big-q li::marker{color:var(--red-ink);font-weight:900}
.ndc{background:var(--card);padding:26px 22px!important;margin-block:28px;border-top:8px solid var(--red);box-shadow:0 10px 24px var(--shadow)}
.cta-ghost{border-color:var(--paper)!important;color:var(--paper)!important;font-size:18px;padding:12px 18px}
.cta-ghost:hover{background:var(--paper)!important;color:var(--ink)!important}
.cta-actions{display:flex;flex-wrap:wrap;gap:10px}
.mob{background:var(--ink);color:var(--paper);padding:30px 22px!important;margin-inline:-16px;display:grid;gap:22px}
@media (min-width:812px){.mob{margin-inline:0;padding:40px 34px!important}}
.mob-eq{display:flex;align-items:flex-end;flex-wrap:wrap;gap:6px 14px}
.mob-eq div{display:grid;gap:2px}
.mob-eq b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:clamp(56px,15vw,120px);line-height:.85;color:var(--paper)}
.mob-eq b.red{color:var(--mark)}
.mob-eq span{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-size:13px;letter-spacing:.08em;text-transform:uppercase;opacity:.8}
.mob-eq .op{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:clamp(40px,10vw,80px);line-height:1;opacity:.6;padding-bottom:18px}
.mob-eq.big b{font-size:clamp(72px,20vw,170px)}
.mob-say{font-size:20px;max-width:32em}
.mob-btn{background:var(--mark)!important;color:#14161F!important}
.mob-btn:hover{background:#fff!important}
.steps20{list-style:none;counter-reset:s;margin:10px 0;padding:0;display:grid;gap:10px}
.steps20 li{counter-increment:s;background:var(--card);padding:18px 18px 18px 74px;position:relative;display:grid;gap:4px;box-shadow:0 6px 16px var(--shadow)}
.steps20 li::before{content:counter(s);position:absolute;left:18px;top:12px;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:48px;line-height:1;color:var(--red-ink)}
.steps20 b{font-size:20px}
.steps20 span{font-size:17px}
.mob-final{background:var(--mark);color:#14161F;padding:28px 22px;margin-top:30px;display:grid;gap:16px}
.mob-final .mob-btn{background:#14161F!important;color:#fff!important}
.mp-btn{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 14px;background:var(--mark);color:#14161F;text-decoration:none;padding:16px 20px;border:3px solid #14161F;
  font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(28px,7vw,46px);line-height:1}
.mp-btn .mp-k{grid-column:1/-1;font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;color:#E7323A}
.mp-btn span[aria-hidden]{font-size:1.1em}
.mp-btn:hover{background:#fff}
.cta .mp-btn{border-color:var(--mark)}
.mplat{display:grid;gap:14px}
.mp-top{background:var(--card);padding:20px;margin-block:10px 20px;border-left:6px solid var(--mark);box-shadow:0 6px 16px var(--shadow)}
.mp-top p{font-size:18px}
.pack-tabs{margin-block:10px 18px}
.pack-tabs .btn small{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-weight:400;opacity:.7}
.pack-link{display:grid;gap:4px;background:#14161F;color:#fff;text-decoration:none;padding:20px 22px;margin-top:36px;border-left:8px solid #25D366}
.pack-link .eyebrow{color:#25D366}
.pack-link b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(26px,6vw,38px);line-height:1}
.pack-link span{font-size:15px;opacity:.85}
.pack-link:hover b{color:#FFCE3A}


/* ---- permanent right-hand navigation ---- */
:root{--nav-w:272px;--bar-h:60px}
.topbar{height:var(--bar-h);display:flex;align-items:center}
.topbar .wrap{width:100%}
.sidenav{position:fixed;top:calc(env(safe-area-inset-top,0px) + var(--bar-h));right:0;bottom:0;z-index:15;background:var(--paper);border-left:2px solid var(--ink)}
.sn-inner{height:100%;overflow-y:auto;padding:22px 18px 30px;display:grid;gap:18px;align-content:start;scrollbar-width:thin}
/* wide screens: full panel always visible */
@media (min-width:900px){
  body{padding-right:calc(var(--nav-w) + 16px)}
  .sidenav{width:var(--nav-w)}
  .topbar{margin-right:calc(-1 * (var(--nav-w) + 16px))}
  .topbar .wrap{max-width:none;padding-right:calc(var(--nav-w) + 16px)}
  .topbar .menu{display:none}
  .col .wrap,footer.wrap{margin-inline:auto}
}
/* phones and small tablets: no side panel; the top-bar Menu button opens the drawer */
@media (max-width:899px){
  .sidenav{display:none}
}
.menu summary{display:inline-flex;align-items:center;gap:6px;min-height:38px;background:var(--ink);color:var(--paper);border-color:var(--ink);font-size:20px;line-height:1;padding:5px 12px}
.menu summary i{font-style:normal;font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.menu summary:focus-visible{outline:3px solid var(--mark);outline-offset:2px}
/* drawer (opened from the top-bar Menu button) */
.menu ol{position:fixed;top:0;right:0;bottom:0;width:min(340px,88vw);max-height:none;height:100%;margin:0;padding:calc(env(safe-area-inset-top,0px) + 8px) 0 calc(env(safe-area-inset-bottom,0px) + 20px);
  border:0;border-left:3px solid var(--ink);box-shadow:-20px 0 40px var(--shadow);overflow-y:auto;z-index:60;background:var(--card)}
.menu[open]::before{content:"";position:fixed;inset:0;background:rgba(10,12,18,.45);z-index:59}
.menu-close{display:flex;justify-content:flex-end;padding:4px 12px 8px}
.menu-close button{font:inherit;font-weight:700;font-size:15px;border:2px solid var(--ink);background:transparent;color:var(--ink);padding:6px 12px;cursor:pointer}
.sn-home{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:28px;text-decoration:none;line-height:1}
.sn-home[aria-current]{color:var(--red-ink)}
.sn-pv{display:block;background:var(--mark);color:#14161F;text-decoration:none;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:21px;padding:10px 12px;border:2px solid #14161F}
.sn-pv:hover{background:#14161F;color:var(--mark)}
.sn-group{display:grid;gap:4px}
.sn-label{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-bottom:4px;border-bottom:2px solid var(--ink)}
.sn-group ol{list-style:none;margin:0;padding:0;display:grid}
.sn-group a{display:flex;gap:8px;padding:5px 6px;text-decoration:none;font-size:14.5px;font-weight:700;line-height:1.3;border-left:3px solid transparent}
.sn-group a small{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-weight:400;color:var(--muted);min-width:20px}
.sn-group a:hover{background:var(--card)}
.sn-group a[aria-current]{border-left-color:var(--red);color:var(--red-ink);background:var(--card)}
.sn-mp{display:grid;gap:2px;background:#14161F;color:#fff;text-decoration:none;padding:12px 14px;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:22px;line-height:1}
.sn-mp small{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-size:12px;letter-spacing:.12em;color:var(--mark)}
.sn-mp:hover{background:var(--red)}

/* ---- WhatsApp sharing ---- */
.share a.wa{background:#25D366;border-color:#25D366;color:#06371B}
.share a.wa::before{content:"";width:9px;height:9px;border-radius:50%;background:#06371B}
.share a.wa:hover{background:#1DA851;border-color:#1DA851;color:#fff}
.cta .share a.wa{border-color:#25D366;color:#06371B}
.wa-card{margin:26px 0;background:var(--card);border:3px solid #25D366;box-shadow:0 10px 24px var(--shadow)}
.wa-head{background:#25D366;color:#06371B;font-weight:700;font-size:16px;padding:10px 16px;display:flex;align-items:center;gap:8px;letter-spacing:.02em}
.wa-dot{width:10px;height:10px;border-radius:50%;background:#06371B}
.wa-body{display:grid;grid-template-columns:minmax(0,200px) 1fr;gap:18px;padding:18px}
.wa-body img{width:100%;height:auto;aspect-ratio:9/16;background:var(--line);display:block;box-shadow:0 6px 16px var(--shadow)}
.wa-side{display:grid;gap:10px;align-content:start}
.wa-step{font-size:16px}
.wa-text{font-size:clamp(18px,3.8vw,22px)!important}
.wa-card .share a.wa{font-size:17px;padding:10px 16px}
@media (max-width:520px){.wa-body{grid-template-columns:1fr}.wa-body img{max-width:240px}}

/* ---- Vote NDC ---- */
.vote-pill{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:14px;background:#fff;color:#3E4095;border:2px solid #3E4095;padding:3px 10px 3px 4px;margin-left:auto;margin-right:10px;white-space:nowrap}
.vote-pill img{height:24px;width:auto;display:block}
.vote-pill:hover{background:#3E4095;color:#fff}
.topbar .wrap{gap:10px}
@media (max-width:420px){.vote-pill{font-size:0;padding:3px 4px}.brand{font-size:21px}}
.sn-ndc{display:flex;align-items:center;gap:12px;text-decoration:none;background:#fff;border:2px solid #3E4095;padding:8px 10px}
.sn-ndc img{width:92px;height:auto;display:block}
.sn-ndc span{display:grid;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:26px;line-height:1;color:#3E4095}
.sn-ndc small{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-size:11px;letter-spacing:.06em;color:#C41F28;margin-top:3px}
.sn-ndc:hover{background:#3E4095}.sn-ndc:hover span{color:#fff}
.ndc-vote{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;background:#3E4095;color:#fff;padding:24px 22px;margin-top:36px}
.ndc-imgs{display:grid;gap:12px;justify-items:center}
.ndc-imgs img{display:block;height:auto}
.ndc-imgs img:first-child{width:110px;border-radius:50%;background:#eee}
.ndc-imgs img:last-child{width:150px}
.ndc-copy{display:grid;gap:8px}
.ndc-copy .eyebrow{color:#FFCE3A}
.ndc-big{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(56px,13vw,104px);line-height:.85}
.ndc-copy p{font-size:18px}
.ndc-copy strong{color:#FFCE3A}
.ndc-ok{font-weight:700;color:#FFCE3A}
@media (max-width:560px){.ndc-vote{grid-template-columns:1fr}.ndc-imgs{grid-auto-flow:column;justify-content:start;align-items:center}}
.hero + .ndc-vote{margin-top:10px}
.ndc-copy .ndc-big{font-size:clamp(56px,13vw,104px);line-height:.85}

/* ---- Vote NDC hub + campaigns ---- */
.brand{display:inline-flex;align-items:center;gap:8px}
.brand img{height:26px;width:auto;display:block}
.brand span{color:#3E4095}
:root[data-theme="dark"] .brand span{color:#7D82E8}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand span{color:#7D82E8}}
.camp-links{display:flex;gap:6px;margin-left:auto;margin-right:8px}
.camp-links a{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;font-size:13px;text-decoration:none;border:2px solid var(--ink);padding:4px 8px;white-space:nowrap}
.camp-links a:hover{background:var(--ink);color:var(--paper)}
@media (max-width:640px){.camp-links{display:none}}
.hub h1{font-size:clamp(76px,19vw,170px)}
.hub-grid{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.hub-imgs{display:grid;gap:14px;justify-items:center}
.hub-imgs img:first-child{width:170px;height:auto;border-radius:50%;background:#eee}
.hub-imgs img:last-child{width:200px;height:auto}
@media (max-width:640px){.hub-grid{grid-template-columns:1fr}.hub-imgs{grid-auto-flow:column;justify-content:start;align-items:center}.hub-imgs img:first-child{width:120px}.hub-imgs img:last-child{width:160px}}
.camps{display:grid;grid-template-columns:1fr;gap:14px;margin-block:10px}
.camp{display:grid;grid-template-columns:auto 1fr;gap:4px 22px;text-decoration:none;color:#fff;padding:26px 24px}
.camp-bill{background:#E7323A}
.camp-afraid{background:#14161F}
.camp-n{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:clamp(56px,11vw,96px);line-height:.8;color:rgba(255,255,255,.28)}
.camp-body{display:grid;gap:8px;min-width:0}
.camp .eyebrow{color:#FFCE3A}
.camp .camp-big{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:clamp(38px,7.5vw,72px);line-height:.9;letter-spacing:-.01em;color:#fff;overflow-wrap:anywhere}
.camp .camp-sub{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(24px,4.4vw,34px);line-height:.95;color:#FFCE3A}
.camp .camp-txt{font-size:17px;max-width:34em;opacity:.92}
.camp .camp-go{font-size:18px;color:#FFCE3A;margin-top:4px}
.camp:hover .camp-go{text-decoration:underline}
.camp:hover{outline:4px solid #FFCE3A;outline-offset:-4px}
@media (max-width:480px){.camp{grid-template-columns:1fr}.camp-n{font-size:48px}}
.afraid-cards a{background:#14161F;color:#fff}
.afraid-cards a .ch-n{color:#FF5A62}
.afraid-cards a:hover{background:#E7323A}
.afraid-cards a:hover .ch-title{color:#fff}
.ok-duo{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;background:var(--card);padding:20px;margin-block:10px 20px;box-shadow:0 10px 24px var(--shadow)}
.ok-duo img{width:140px;height:auto;border-radius:50%;background:#eee}
.ok-duo .ndc-big{font-size:clamp(44px,10vw,76px)}
@media (max-width:480px){.ok-duo{grid-template-columns:1fr}}

/* ---- open letter page ---- */
.litany{list-style:none;margin:10px 0;padding:0;display:grid;gap:2px;background:var(--ink);border:2px solid var(--ink)}
.litany li{background:var(--card);padding:16px 18px;display:grid;gap:4px}
.lit-who{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:26px;line-height:1;color:var(--red-ink)}
.litany p{font-size:18px}
.math .vs-row>div:first-child{background:#14161F;color:#fff}
.math .vs-row>div:last-child{font-weight:700}
.math .vs-head>div:last-child{background:var(--mark);color:#14161F}
.brutal{background:#14161F;color:#fff;padding:28px 22px!important;margin-block:28px}
.brutal .eyebrow{color:#FF5A62}.brutal h2{color:#fff}
.brutal .big-q li::marker{color:#FF5A62}
.brutal .steps20 li{background:#1F2230;color:#fff}
.brutal .steps20 a{color:var(--mark)}
.okc-btn{margin-block:18px;background:#E7323A;color:#fff;border-color:#E7323A}
.okc-btn .mp-k{color:var(--mark)}
.okc-btn:hover{background:#fff;color:#C41F28}
.covenant{padding-block:40px!important;text-align:center}
.cov-text{font-family:"Kalam","Comic Sans MS",cursive;font-size:clamp(26px,5.5vw,40px);line-height:1.35;max-width:22em;margin:0 auto}
.okay{background:linear-gradient(180deg,#14161F 0%,#3a2a12 55%,#E8A33A 100%);color:#fff;text-align:center;padding:70px 20px!important;margin-top:30px}
.okay-big{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(40px,9vw,80px);line-height:.95}
.okay-big span{color:#FFCE3A}
@media (max-width:480px){.camp .camp-big{font-size:34px}}

/* ---- campaigns 3-6 ---- */
.camp.c-red{background:#E7323A}
.camp.c-ink{background:#14161F}
.camp.c-blue{background:#3E4095}
.camp.c-yellow{background:#FFCE3A;color:#14161F}
.camp.c-yellow .eyebrow,.camp.c-yellow .camp-sub,.camp.c-yellow .camp-go{color:#A30F27}
.camp.c-yellow .camp-big{color:#14161F}
.camp.c-yellow .camp-n{color:rgba(20,22,31,.25)}
.camp.c-yellow:hover{outline-color:#14161F}
.costs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2px;background:var(--ink);border:2px solid var(--ink);margin-block:14px}
.cost{background:var(--card);padding:18px;display:grid;gap:6px;align-content:start}
.cost-k{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cost b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:48px;line-height:.9;color:var(--red-ink)}
.cost p{font-size:16px}
.inv .vs-row>div:first-child{background:#14161F;color:#fff}
.inv .vs-row>div:first-child b{display:block;font-size:17px}
.inv .vs-row>div:first-child small{display:block;font-size:13px;opacity:.7;margin-top:2px}
.inv .vs-head>div:first-child{background:#E7323A}
.seen .lit-who{font-size:22px;text-transform:none;font-family:"Inter",sans-serif;font-weight:700;color:var(--ink);line-height:1.3}
.seen p{color:var(--red-ink);font-weight:700;font-size:19px}
#thank-out{margin-top:10px}
.camp .camp-big{overflow-wrap:normal;word-break:normal}
.camp .camp-big.long{font-size:clamp(30px,5.6vw,58px)}
@media (max-width:480px){.camp .camp-big.long{font-size:30px}}

/* ---- 2023 vs 2027 ---- */
.w23{display:grid;gap:12px;margin-block:14px}
.w23-row{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--ink);border:2px solid var(--ink)}
.w23-q{grid-column:1/-1;background:var(--ink);color:#fff;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(24px,5vw,34px);line-height:1;padding:14px 16px}
.w23-then,.w23-now{padding:14px 16px;display:grid;gap:6px;align-content:start}
.w23-then{background:var(--red-soft)}
.w23-now{background:var(--card);border-top:4px solid #3E4095}
.w23-then .eyebrow{color:var(--red-ink)}
.w23-now .eyebrow{color:#3E4095}
.w23-then p,.w23-now p{font-size:16px;line-height:1.45}
.w23-now p{font-weight:700}
@media (max-width:520px){.w23-row{grid-template-columns:1fr}}

/* ---- cartel reform ---- */
.exhibit{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px;background:var(--ink);border:2px solid var(--ink);margin-block:16px}
.exhibit>div{background:var(--card);padding:16px 18px;display:grid;gap:6px;align-content:start}
.exhibit b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:34px;line-height:.95;color:var(--red-ink);text-transform:uppercase}
.exhibit span{font-size:16px}
.cases{display:grid;gap:12px;margin-block:14px}
.case{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--ink);border:2px solid var(--ink)}
.case-h{grid-column:1/-1;background:#3E4095;color:#fff;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(22px,4.6vw,30px);padding:12px 16px}
.case-pay{background:var(--card);padding:14px 16px;display:grid;gap:6px;align-content:start}
.case-get{background:var(--red-soft);padding:14px 16px;display:grid;gap:6px;align-content:start}
.case-get p{font-weight:700}
.case p{font-size:16px}
.case-get .eyebrow{color:var(--red-ink)}
@media (max-width:520px){.case{grid-template-columns:1fr}}
.ndc-reform{background:var(--card);border-top:8px solid #3E4095;padding:24px 22px!important;margin-block:26px;box-shadow:0 10px 24px var(--shadow)}
.hub h1{font-size:clamp(58px,13vw,130px)}
@media (max-width:560px){.brand{font-size:17px}.brand img{height:20px}}
@media (max-width:380px){.brand{font-size:15px}}
.brand-t{line-height:1.05}
.hub h1{font-size:clamp(50px,11vw,112px)}
@media (max-width:560px){.brand{font-size:14px;max-width:240px}.brand-t{display:block}}
.ndc-copy .ndc-big{font-size:clamp(34px,6.5vw,60px);line-height:.92}
/* side-menu NDC box, redesigned */
.sn-ndc{display:grid;gap:12px;background:#3E4095;color:#fff;border:0;padding:16px 16px 14px;text-decoration:none;align-items:start}
.sn-ndc:hover{background:#2E3070}
.sn-logos{display:flex;align-items:center;gap:10px}
.sn-logos img{display:block;height:auto}
.sn-logos img:first-child{width:52px;border-radius:50%;background:#fff}
.sn-logos img:last-child{width:118px;border:1.5px solid rgba(255,255,255,.7);border-radius:6px}
.sn-ndc .sn-slogan{display:block;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:27px;line-height:.95;color:#fff;letter-spacing:.01em}
.sn-ndc .sn-slogan em{font-style:normal;color:#FFCE3A;display:block}
.sn-ndc .sn-date{justify-self:start;font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:#FFCE3A;color:#14161F;padding:4px 8px}
.sn-ndc:hover .sn-slogan{color:#fff}
.sn-ndc .sn-logos{display:flex!important;flex-direction:row;font-size:0}
.sn-ndc .sn-date{white-space:nowrap}
.sn-ndc .sn-slogan em{display:block}

/* ---- United4Obi ---- */
.u4o-hero h1{font-size:clamp(64px,15vw,150px)}
.mv-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-block:14px}
.mv-top{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:stretch}
.mv{margin:0;background:var(--card);border:2px solid var(--line);display:grid;grid-template-rows:auto 1fr;box-shadow:0 6px 16px var(--shadow)}
.mv-logo{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;padding:16px;background:#fff;border-bottom:2px solid var(--line)}
.mv-logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.mv-fallback{display:none;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:28px;line-height:.95;text-align:center;color:#3E4095}
.mv-logo.nologo{background:repeating-linear-gradient(135deg,#F1F2F8 0 10px,#fff 10px 20px)}
.mv-logo.nologo .mv-fallback{display:block}
.mv figcaption{padding:12px 14px;display:grid;gap:2px}
.mv figcaption b{font-size:17px}
.mv figcaption span{font-size:14px;color:var(--muted)}
.mv figcaption small{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--red-ink)}
.mv-ndc{border-color:#3E4095}
.mv-ndc .mv-logo{background:#3E4095}
.mv-ticket{background:#3E4095;color:#fff;display:grid;place-items:center;gap:10px;padding:20px;text-align:center}
.mv-ticket img{width:140px;height:auto;border-radius:50%;background:#fff}
.mv-ticket p{font-weight:700;font-size:18px}
.u4o-band{display:grid;gap:10px;text-decoration:none;background:#3E4095;color:#fff;padding:24px 22px;margin-block:18px}
.u4o-band .eyebrow{color:#FFCE3A}
.u4o-t{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:clamp(46px,10vw,88px);line-height:.9}
.u4o-t span{color:#FFCE3A}
.u4o-logos{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.u4o-logos img{height:48px;width:auto;display:block}
.u4o-logos img:nth-child(2){border-radius:50%;background:#fff}
.u4o-logos b{color:#FFCE3A;font-size:18px}
.u4o-band:hover{outline:4px solid #FFCE3A;outline-offset:-4px}
.sn-u4o{display:block;text-align:center;text-decoration:none;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:22px;border:2px solid #3E4095;color:#3E4095;padding:6px 10px}
.sn-u4o:hover,.sn-u4o[aria-current]{background:#3E4095;color:#FFCE3A}
.mv-wall{grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr))}
.mv-top{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
.u4o-hero h1{font-size:clamp(52px,14vw,150px);overflow-wrap:anywhere}
.mv{min-width:0}
.mv-fallback{font-size:clamp(18px,5vw,26px);overflow-wrap:anywhere;max-width:100%}
.mv figcaption b{overflow-wrap:anywhere}
.w23-q{background:#14161F;color:#fff}

/* ---- dark-mode fixes: dark panels stay dark in both themes ---- */
.cta,.calc,.mob,.meter .clock{background:#14161F!important;color:#fff!important}
.cta h2,.cta p{color:#fff}
.cta .share a,.cta .share button,.cta-ghost{border-color:#fff!important;color:#fff!important}
.cta .share a.wa{border-color:#25D366!important;color:#06371B!important}
.cta .share a:hover,.cta .share button:hover,.cta-ghost:hover{background:#fff!important;color:#14161F!important}
.calc input,.calc .presets button{color:#fff;border-color:#fff}
.calc .presets button:hover{background:#fff;color:#14161F}
.mob-eq b{color:#fff}
.tools a{background:#14161F!important;color:#fff!important}
.tools a .ch-title{color:#fff}
.tools a:hover{background:#E7323A!important}
.chip.v-part{color:#14161F}
:root[data-theme="dark"] .w23-now .eyebrow,:root[data-theme="dark"] .sn-u4o{color:#7D82E8;border-color:#7D82E8}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .w23-now .eyebrow,:root:not([data-theme="light"]) .sn-u4o{color:#7D82E8;border-color:#7D82E8}}
.u4o-hero h1{font-size:clamp(48px,10.5vw,120px);overflow-wrap:normal}
.mv-fallback{font-size:clamp(17px,2vw,22px);overflow-wrap:normal;word-break:normal;hyphens:auto}

/* ---- attack count ---- */
.atk{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--ink);border:2px solid var(--ink);margin-block:16px}
.atk-col{padding:20px;display:grid;gap:6px}
.atk-obi{background:#E7323A;color:#fff}
.atk-atiku{background:#14161F;color:#fff}
.atk-col .eyebrow{color:#FFCE3A}
.atk-col b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:clamp(80px,18vw,150px);line-height:.85}
.atk-col span:last-child{font-size:16px}
@media (max-width:480px){.atk{grid-template-columns:1fr}}
/* ---- united across ---- */
.ac-group{display:grid;gap:8px;margin-block:14px}
.ac-group h3{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:26px;color:#3E4095}
.ac-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ac-chips li{background:var(--card);border:2px solid #3E4095;padding:6px 12px;font-weight:700;font-size:15px}
.ac-chips li:last-child:first-letter{}
:root[data-theme="dark"] .ac-group h3{color:#7D82E8}
:root[data-theme="dark"] .ac-chips li{border-color:#7D82E8}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ac-group h3{color:#7D82E8}:root:not([data-theme="light"]) .ac-chips li{border-color:#7D82E8}}
.mplat .stats{grid-template-columns:repeat(2,minmax(0,1fr))}

/* ---- app section (mirrors the Mobilisation Platform UI) ---- */
.app-sec{display:grid;gap:14px}
.app-grid{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:18px;align-items:start}
@media (max-width:700px){.app-grid{grid-template-columns:1fr}}
.app-phone{background:#0E0F14;border-radius:26px;padding:12px;display:grid;gap:10px;box-shadow:0 14px 30px rgba(0,0,0,.25)}
.app-card{background:linear-gradient(160deg,#7B6FEA,#5A4FD6);border-radius:20px;padding:18px;color:#fff;display:grid;gap:4px;justify-items:center;text-align:center}
.app-badges{justify-self:start;display:flex;gap:6px}
.app-badges i{font-style:normal;font-weight:800;font-size:13px;background:#fff;color:#3E4095;border-radius:6px;padding:1px 7px}
.app-badges i.r{background:#E23744;color:#fff}
.app-k{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.app-n{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:64px;line-height:.9}
.app-l{font-size:14px}
.app-l em{font-style:normal;background:#fff;color:#5A4FD6;border-radius:999px;padding:1px 8px;font-weight:700;font-size:12px}
.app-next{font-size:12px;opacity:.9;margin-top:6px}
.app-level{background:#1A1B22;border-radius:18px;padding:14px;color:#fff;display:grid;gap:6px}
.app-level b{font-size:22px}
.app-level span:last-child{font-size:13px;opacity:.75}
.app-bar{height:8px;background:#2A2C36;border-radius:8px;overflow:hidden}
.app-bar i{display:block;height:100%;width:40%;background:#6E63E6}
.app-tiles{display:grid;gap:10px}
.app-tile{display:flex;align-items:center;gap:14px;border-radius:18px;padding:14px 16px;color:#fff}
.app-tile.c-red{background:linear-gradient(90deg,#EF4A5A,#E0283C)}
.app-tile.c-blue{background:linear-gradient(90deg,#3A6FE0,#2A55C8)}
.app-tile.c-ink{background:linear-gradient(90deg,#2A2D36,#15161C)}
.app-tile.c-orange{background:linear-gradient(90deg,#E07B1A,#C0590E)}
.app-tile.c-violet{background:linear-gradient(90deg,#7A6BEA,#5F52D8)}
.app-ic{flex:none;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:20px;font-weight:700}
.app-tx{display:grid;gap:2px}
.app-tx b{font-size:17px}
.app-tx span{font-size:14px;opacity:.92}
.countdown.two{grid-template-columns:1fr 1fr;display:grid;gap:14px}
.countdown.two>div{display:grid;gap:4px}
.countdown.two b{font-size:clamp(70px,16vw,150px)}
.countdown.two span{font-size:17px}
.vis-today{background:var(--card);padding:16px 18px;display:grid;gap:8px;border-left:6px solid var(--red)}
.vis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;margin-block:12px}
.vis-card{background:#3E4095;color:#fff;padding:16px 18px;display:grid;gap:6px}
.vis-card .eyebrow{color:#FFCE3A}
.vis-card p{font-size:17px}
#vision-out{margin-top:20px}
.vis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:480px){.vis-grid{grid-template-columns:1fr}}
/* Vision: the state name, big */
.vis-state{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:clamp(2.6rem,11vw,5rem);line-height:.95;text-transform:uppercase;color:var(--red,#E7323A);margin:.2rem 0 .4rem;overflow-wrap:anywhere}
.resist .pv-big{display:block;margin:.6rem 0 1rem}
.resist .pv-big span{display:block;font-size:clamp(2rem,9vw,3.6rem)!important;line-height:.95;overflow-wrap:anywhere}
.u4o-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:16px;margin:1rem 0}
.u4o-step{border:3px solid var(--ink,#14161F);padding:18px;background:var(--paper,#fff);display:flex;flex-direction:column;gap:10px;min-width:0}
.u4o-step h3{margin:0;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:1.8rem;line-height:1;text-transform:uppercase}
.u4o-step p{margin:0}
.u4o-step .mp-btn{margin-top:auto}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .u4o-step{background:#1C1F2B;border-color:#3A3F55}}
:root[data-theme="dark"] .u4o-step{background:#1C1F2B;border-color:#3A3F55}
/* Full-size view of a status picture */
.wa-card img,.pack-item img{cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:9999;background:rgba(10,11,16,.94);display:none;flex-direction:column;align-items:center;justify-content:center;padding:56px 16px 24px;gap:10px}
.lb.on{display:flex}
.lb img{max-width:100%;max-height:calc(100vh - 110px);width:auto;height:auto;box-shadow:0 10px 40px rgba(0,0,0,.6);-webkit-touch-callout:default}
.lb-x{position:absolute;top:10px;right:12px;width:44px;height:44px;border:2px solid #fff;background:#14161F;color:#fff;font-size:22px;cursor:pointer}
.lb-tip{color:#fff;margin:0;font-size:15px}
.mp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 16px}
@media (max-width:640px){.mp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mp-grid .pack-item img{aspect-ratio:9/16;background:var(--card)}
.sup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:14px;margin:14px 0}
.sup{background:var(--card);border-top:6px solid var(--red,#E7323A);padding:16px 18px;box-shadow:0 6px 16px var(--shadow);min-width:0}
.sup:nth-child(3n+2){border-top-color:#3E4095}.sup:nth-child(3n){border-top-color:#FFCE3A}
.sup h3{margin:.2rem 0 .5rem;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:1.7rem;text-transform:uppercase;line-height:1}
.sup ul{margin:0;padding-left:1.1em;display:grid;gap:6px}
.sup li{font-size:17px;line-height:1.4}
.guard-note{margin:4px 0 0;font-size:14px;color:var(--red,#E7323A);font-weight:700}
.guard-note:empty{display:none}
.meme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:14px;margin:10px 0 18px}
.mini-pack .meme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:900px){.mini-pack .meme-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.meme img{aspect-ratio:1/1;background:var(--card)}
.meme-h{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:2rem;margin:28px 0 4px;scroll-margin-top:80px;overflow-wrap:anywhere}
.meme-sub{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:1.6rem;text-transform:uppercase;margin:26px 0 0}
.meme-jump{flex-wrap:wrap}
.meme-jump .btn{font-size:14px}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:72px;border:2px solid #fff;background:rgba(20,22,31,.85);color:#fff;font-size:44px;line-height:1;cursor:pointer;z-index:2}
.lb-prev{left:8px}.lb-next{right:8px}
.lb.single .lb-nav{display:none}
.lb-count{font-weight:700}
@media (max-width:600px){.lb-nav{width:40px;height:60px;font-size:36px}.lb img{max-width:calc(100% - 20px)}}
.meme-h{font-size:clamp(1.3rem,5.5vw,2rem)}
.h1-to{display:block;font-size:.5em;line-height:1.05;color:var(--red,#E7323A);margin-bottom:.25em;letter-spacing:.01em}
.h1-to{display:inline-block!important;background:#3E4095;color:#fff!important;padding:.12em .35em;margin-bottom:.3em;font-size:.45em}
.tabs-sep{flex-basis:100%;font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:10px}
/* posters */
.poster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:12px 0 16px}
@media (max-width:760px){.poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.poster-item{margin:0;display:grid;gap:6px}
.poster-item img{width:100%;height:auto;aspect-ratio:1123/1587;display:block;background:var(--card);box-shadow:0 6px 16px var(--shadow);cursor:zoom-in}
.poster-dl{font:700 14px/1 "Inter",system-ui,sans-serif;color:var(--ink);text-decoration:none;border:2px solid var(--ink);padding:8px 10px;text-align:center}
.poster-dl::before{content:"↓ "}
.poster-dl:hover,.poster-dl:focus-visible{background:var(--ink);color:var(--paper)}
.posters .btn{margin-right:8px;margin-bottom:8px}
/* ---- navigation polish ---- */
.topbar{transition:box-shadow .2s}
.tb-days{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-size:13px;color:var(--muted);white-space:nowrap;align-self:center;margin-right:4px}
.tb-days b{color:var(--red-ink);font-size:15px}
.camp-links a.tb-cta{background:var(--red);border-color:var(--red);color:#fff}
.camp-links a.tb-cta:hover{background:var(--ink);border-color:var(--ink)}
@media (max-width:1180px){.camp-links a[href="posters.html"],.tb-days{display:none}}
.camp-links{margin-right:0}
.sn-inner{padding-bottom:0}
.sn-duo{display:grid;gap:8px}
details.sn-group{display:block}
details.sn-group > summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
details.sn-group > summary::-webkit-details-marker{display:none}
details.sn-group > summary::after{content:"+";font-size:16px;line-height:1;color:var(--ink);margin-left:8px}
details.sn-group[open] > summary::after{content:"–"}
details.sn-group > summary:hover{color:var(--ink)}
.sn-n{margin-left:auto;font-weight:400;opacity:.7}
details.sn-group ol{padding-top:4px}
.sn-group a:focus-visible,.camp-links a:focus-visible{outline:3px solid var(--mark);outline-offset:-3px}
.sn-mp{position:sticky;bottom:0;margin:0 -18px;box-shadow:0 -10px 18px var(--paper)}
.menu-close{position:sticky;top:0;background:var(--card);z-index:2}
/* ---- mobile polish ---- */
h1,h2,.camp-big{overflow-wrap:break-word}
@media (max-width:420px){h1{font-size:clamp(40px,10.5vw,108px)}}
.pack-item,.pack-item img,.mp-grid > *,[data-memes] img{min-width:0;max-width:100%}
.pack{grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr))}
.share a,.share button{min-height:40px}
.app-next{font-size:14px}
@media (max-width:360px){h1{font-size:clamp(34px,10.5vw,108px)}.verdict-big{font-size:clamp(30px,10vw,64px)}.mob-btn,.pv-btn{white-space:normal}.bar-val{white-space:normal}}
@media (max-width:360px){.pv-btn{font-size:22px!important;padding:14px!important}.pv-btn,.verdict-big{max-width:100%;overflow-wrap:anywhere}}
/* ---- share this page ---- */
.pshare{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:4px 0 22px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pshare-k{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pshare-b{display:flex;flex-wrap:wrap;gap:6px}
.pshare-b a,.pshare-b button{font:700 14px/1 "Inter",system-ui,sans-serif;text-decoration:none;color:var(--ink);background:transparent;border:2px solid var(--ink);padding:9px 12px;min-height:40px;display:inline-flex;align-items:center;cursor:pointer}
.pshare-b a:hover,.pshare-b button:hover{background:var(--ink);color:var(--paper)}
.pshare-b .ps-wa{background:#25D366;border-color:#25D366;color:#06371B}
.pshare-b .ps-wa:hover{background:#06371B;color:#fff;border-color:#06371B}
.pshare.big{display:grid;gap:12px;background:var(--card);border:2px solid var(--ink);padding:18px;margin:28px 0}
.pshare.big .pshare-k{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:28px;letter-spacing:0;color:var(--ink)}
@media (max-width:420px){.pshare-b a,.pshare-b button{padding:9px 10px;font-size:13px}}
/* ---- language switcher ---- */
.lang{position:relative;flex-shrink:0}
.lang summary{list-style:none;cursor:pointer;font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;font-size:13px;border:2px solid var(--ink);padding:5px 8px;white-space:nowrap;min-height:34px;display:flex;align-items:center;gap:4px}
.lang summary::-webkit-details-marker{display:none}
.lang[open] summary{background:var(--ink);color:var(--paper)}
.lang-m{position:absolute;right:0;top:calc(100% + 6px);background:var(--card);border:2px solid var(--ink);box-shadow:0 10px 24px var(--shadow);display:grid;min-width:150px;z-index:70}
.lang-m a{padding:11px 14px;text-decoration:none;font-weight:700;font-size:15px;border-bottom:1px solid var(--line)}
.lang-m a:last-child{border-bottom:0}
.lang-m a:hover{background:var(--paper)}
.lang-m a[aria-current]{color:var(--red-ink)}
.topbar .brand{min-width:0}
@media (max-width:899px){.lang{margin-left:auto}}
.tn-then{white-space:normal;overflow-wrap:anywhere}.tn,.tn > *{min-width:0}
/* ---- softer dividers + Vote4PeterObi brand ---- */
:root{--rule:rgba(20,22,31,.14);--panel:#F6F7F9}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--rule:rgba(236,238,243,.10);--panel:#141720}}
:root[data-theme="dark"]{--rule:rgba(236,238,243,.10);--panel:#141720}
.topbar{border-bottom:1px solid var(--rule);box-shadow:0 1px 0 var(--rule),0 6px 18px -12px rgba(0,0,0,.35)}
.sidenav{border-left:1px solid var(--rule);background:var(--panel)}
.sn-label{border-bottom:1px solid var(--rule)}
.sn-mp{box-shadow:0 -10px 18px var(--panel)}
.brand-t{font-size:1.25em;letter-spacing:.01em;white-space:nowrap}
.brand-t .b4{color:var(--red-ink);font-weight:900}
@media (max-width:560px){.brand{font-size:20px;max-width:none}.brand-t{display:inline}}
.brand-t{text-transform:none}
/* ---- meter sections ---- */
.mhead{background:var(--ink);color:var(--mark);font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:10px 18px}
.mrow.big b{font-size:clamp(56px,14vw,104px)}
.mcompare{background:var(--mark);color:#14161F;padding:16px 18px;display:grid;gap:6px}
.mcompare .eyebrow{color:#14161F;opacity:.8}
.mcompare p{margin:0;font-size:19px;font-weight:700;line-height:1.35}
.mcompare b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:30px;color:#A30F27;font-variant-numeric:tabular-nums}
.mshare{background:var(--card);border:2px solid var(--ink);padding:16px 18px;margin:0 0 14px}
.mshare p{margin:0 0 10px;font-weight:700}
.mrow b{white-space:nowrap}
.mrow.big b{font-size:clamp(44px,12vw,104px)}
.mrow .today{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;color:var(--muted);letter-spacing:.02em}
.mrow .today i{font-style:normal;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
/* ---- 2031 projection ---- */
.bar-fill.proj{background:repeating-linear-gradient(135deg,var(--red) 0 10px,#7A0A1C 10px 20px)}
.bk-2031{margin-top:14px;background:#14161F;color:#fff;padding:18px;border-left:6px solid var(--red);display:grid;gap:8px}
.bk-2031 .eyebrow{color:var(--mark)}
.bk-2031 p{margin:0;font-size:18px;line-height:1.4}
.bk-2031 b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:34px;color:#FF5A6E}
.bk-2031 mark{background:var(--mark);color:#14161F;padding:0 4px}
.bk-proj{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:2px;font-size:15px}
.bk-proj li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(255,255,255,.12);padding:6px 0}
.bk-proj li b{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-size:15px;color:#fff;white-space:nowrap}
/* ---- app promo + phone mockup ---- */
.app-promo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:center;background:#3E4095;color:#fff;padding:32px 30px 0;margin:28px 0;border-radius:4px;overflow:hidden;position:relative}
.app-promo::before{content:"";position:absolute;right:-120px;top:-80px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#5558B5 0,rgba(74,79,209,0) 70%)}
.app-promo .eyebrow{color:#FFCE3A}
.app-promo h2{color:#fff;margin:6px 0 10px;font-size:clamp(34px,6vw,58px);line-height:.95}
.app-promo h2 .red{color:#FFCE3A}
.ap-copy{position:relative;z-index:1;padding-bottom:30px}
.ap-lede{font-size:18px;line-height:1.45;margin:0 0 12px;max-width:34em}
.ap-list{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px}
.ap-list li{padding-left:30px;position:relative;font-weight:700}
.ap-list li::before{content:"✓";position:absolute;left:0;top:-1px;width:22px;height:22px;border-radius:50%;background:#FFCE3A;color:#14161F;font-size:13px;display:grid;place-items:center}
.ap-btn{display:inline-grid;gap:2px;background:#FFCE3A;color:#14161F;text-decoration:none;padding:12px 20px;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:28px;text-transform:uppercase;line-height:1}
.ap-btn small{font-family:"Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;font-size:12px;letter-spacing:.1em;text-transform:lowercase}
.ap-btn:hover{background:#fff}
.phone{position:relative;z-index:1;justify-self:center;align-self:end;width:min(290px,100%);margin-bottom:-60px}
.ph-frame{background:#0B0C10;border-radius:44px;padding:11px;box-shadow:0 0 0 2px #3A3D48,0 30px 60px rgba(0,0,0,.45);position:relative}
.ph-island{position:absolute;top:20px;left:50%;transform:translateX(-50%);width:86px;height:24px;border-radius:14px;background:#0B0C10;z-index:3}
.ph-screen{background:#F4F5F8;border-radius:34px;overflow:hidden;color:#14161F;font-family:"Inter",system-ui,sans-serif;display:flex;flex-direction:column;min-height:560px}
.ph-status{display:flex;justify-content:space-between;padding:12px 24px 6px;font-size:12px;font-weight:700}
.ph-sig{letter-spacing:-1px}
.ph-app{padding:8px 14px 10px;display:grid;gap:9px;flex:1}
.ph-top{display:flex;align-items:center;gap:8px}
.ph-top img{width:32px;height:32px;border-radius:50%;background:#fff}
.ph-top .ph-ndc{width:auto;height:20px;border-radius:2px;margin-left:auto}
.ph-top span{display:grid;line-height:1.05}.ph-top small{font-size:10px;color:#6B7080;text-transform:uppercase;letter-spacing:.06em}.ph-top b{font-size:17px}
.ph-ring{position:relative;width:120px;height:120px;margin:2px auto 0}
.ph-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ph-ring circle{fill:none;stroke-width:12}.ph-ring .trk{stroke:#DDE0E7}.ph-ring .val{stroke:#E7323A;stroke-dasharray:314.16;stroke-dashoffset:94.25;stroke-linecap:round}
.ph-ring span{position:absolute;inset:0;display:grid;place-content:center;text-align:center;line-height:1}
.ph-ring b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:46px}.ph-ring small{font-size:11px;color:#6B7080}
.ph-note{margin:0;text-align:center;font-size:12px;font-weight:700;color:#3E4095}
.ph-list{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.ph-list li{display:flex;align-items:center;gap:8px;background:#fff;border-radius:10px;padding:6px 8px}
.ph-list .av{width:26px;height:26px;border-radius:50%;background:#3E4095;color:#fff;display:grid;place-items:center;font-style:normal;font-weight:700;font-size:12px}
.ph-list span{display:grid;line-height:1.15}.ph-list b{font-size:13px}
.ph-list .st{font-style:normal;font-size:10.5px;font-weight:700}.st.ok{color:#0F7A3A}.st.go{color:#C41F28}.st.mid{color:#8A6D00}
.ph-add{background:#E7323A;color:#fff;text-align:center;font-weight:700;font-size:14px;border-radius:12px;padding:10px}
.ph-unit{background:#14161F;color:#fff;border-radius:12px;padding:8px 10px;display:grid;gap:3px}
.ph-unit small{font-size:10px;color:#FFCE3A;text-transform:uppercase;letter-spacing:.06em}.ph-unit b{font-size:13px}
.ph-unit i{display:block;height:6px;background:#3A3D48;border-radius:3px;overflow:hidden}.ph-unit u{display:block;width:76%;height:100%;background:#FFCE3A}
.ph-tabs{display:flex;justify-content:space-around;border-top:1px solid #DDE0E7;padding:8px 6px 14px;background:#fff;font-size:15px;color:#9AA0AE}
.ph-tabs span{display:grid;justify-items:center;gap:1px}.ph-tabs small{font-size:9.5px}.ph-tabs .on{color:#3E4095}
/* compact footer version */
.ap-foot{margin-top:10px}
.app-promo.compact{padding:22px 22px 0;margin:10px 0 0}
.app-promo.compact h2{font-size:clamp(28px,5vw,42px)}
.app-promo.compact .ap-lede{font-size:16px}
.app-promo.compact .phone{width:min(230px,100%);margin-bottom:-120px}
.app-promo.compact .ph-screen{min-height:480px}
@media (max-width:720px){
  .app-promo{grid-template-columns:1fr;padding:24px 18px 0;gap:10px}
  .ap-copy{padding-bottom:6px}
  .phone{width:min(260px,82%);margin-bottom:-90px}
  .app-promo.compact .phone{width:min(220px,76%);margin-bottom:-150px}
}
.ph-status{padding:12px 26px 6px}
.ph-island{width:74px;height:22px;top:19px}
.ph-top b{white-space:nowrap;font-size:16px}
.ph-top small{white-space:nowrap}
.ap-btn{white-space:nowrap}
@media (max-width:420px){.ap-btn{font-size:24px}.ph-status .ph-sig{display:none}}
/* real app screenshots inside the phone */
.ph-screen{background:#0E0E10;color:#fff;min-height:0;aspect-ratio:9/19}
.app-promo.compact .ph-screen{min-height:0}
.ph-status{color:#fff;flex:none}
.ph-shot{display:block;width:100%;height:auto;flex:1;object-fit:cover;object-position:top}
.ph-shot{flex:none;object-fit:initial;height:auto}
.ap-btn{display:inline-block}
.ap-btn small{display:block;margin-bottom:2px}
/* alternate the two app screens */
.ph-shots{position:relative;flex:1;overflow:hidden}
.ph-shots .ph-shot{position:absolute;left:0;top:0;width:100%;height:auto;animation:phswap 10s ease-in-out infinite}
.ph-shots .ph-shot.s1{animation-delay:-5s}
@keyframes phswap{0%,42%{opacity:1}50%,92%{opacity:0}100%{opacity:1}}
@media (prefers-reduced-motion:reduce){.ph-shots .ph-shot{animation:none}.ph-shots .ph-shot.s1{opacity:0}}

.mv-logo{overflow:hidden;min-width:0}
.mv-logo.nologo .mv-fallback{font-size:clamp(15px,1.7vw,22px);max-width:100%;overflow-wrap:anywhere}

/* home: share kit (memes, status pictures, posters) */
.sk-jump{display:inline-flex;align-items:center;gap:8px;margin-top:14px;background:var(--mark);color:var(--on-mark);font-weight:700;font-size:16px;text-decoration:none;padding:10px 14px;border:2px solid #14161F}
.sk-jump:hover{background:#14161F;color:#FFCE3A}
.share-kit{background:#14161F;color:#fff;border:4px solid #FFCE3A;padding:30px 28px 28px;margin:28px 0;border-radius:4px;scroll-margin-top:80px}
.share-kit .eyebrow{color:#FFCE3A}
.share-kit h2{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(34px,6vw,60px);line-height:.92;margin:8px 0 12px}
.share-kit h2 span{color:#FFCE3A;display:block}
.sk-lede{font-size:18px;line-height:1.5;margin:0 0 20px;max-width:60ch;color:#E6E8EE}
.sk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sk-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:20px;text-decoration:none;border:3px solid #fff;overflow:hidden;min-height:250px;transition:transform .15s}
.sk-card:hover{transform:translateY(-3px)}
.sk-card:focus-visible{outline:3px solid #FFCE3A;outline-offset:3px}
.sk-memes{background:#FFCE3A;color:#14161F;border-color:#FFCE3A}
.sk-status{background:#E7323A;color:#fff;border-color:#E7323A}
.sk-posters{background:#3E4095;color:#fff;border-color:#3E4095}
.sk-n{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:72px;line-height:.85;position:relative}
.sk-k{font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase;position:relative}
.sk-t{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:28px;line-height:1;text-transform:uppercase;margin-top:10px;position:relative}
.sk-d{font-size:16px;line-height:1.4;position:relative;max-width:30ch}
.sk-go{margin-top:auto;padding-top:12px;font-weight:700;font-size:17px;position:relative}
.sk-memes .sk-go{color:#A30F27}
.sk-status .sk-go,.sk-posters .sk-go{color:#FFCE3A}
.sk-fan{position:absolute;right:-6px;top:14px;width:132px;height:120px}
.sk-fan img{position:absolute;top:0;width:62px;height:auto;border:2px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.35)}
.sk-fan img:nth-child(1){right:66px;transform:rotate(-10deg)}
.sk-fan img:nth-child(2){right:34px;top:-4px;z-index:1}
.sk-fan img:nth-child(3){right:4px;transform:rotate(9deg)}
@media (min-width:901px){.sk-fan{position:relative;right:auto;top:auto;height:92px;margin:0 0 6px}}
@media (max-width:900px){.sk-grid{grid-template-columns:1fr}.sk-card{min-height:0}}
@media (max-width:640px){
  .share-kit{padding:22px 16px 18px;margin-inline:0}
  .sk-lede{font-size:16px}
  .sk-n{font-size:58px}
  .sk-fan{width:112px;right:-4px}
  .sk-fan img{width:52px}
  .sk-fan img:nth-child(1){right:56px}.sk-fan img:nth-child(2){right:28px}
  .sk-jump{font-size:15px}
}

/* top bar: round OK ticket logo (Peter Obi and Kwankwaso) before the NDC logo */
.brand .brand-ok{height:34px;width:34px;border-radius:50%;background:#fff;object-fit:cover;box-shadow:0 0 0 2px #fff}
@media (max-width:560px){.brand{gap:6px}.brand .brand-ok{height:28px;width:28px}}
@media (max-width:400px){.brand{gap:5px;font-size:18px}.brand img{height:17px}.brand .brand-ok{height:26px;width:26px}}

/* lightbox: share the picture being viewed (shown only where the phone can share pictures) */
.lb .lb-share{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 56px);transform:translateX(-50%);z-index:3;
  font:700 16px/1 "Inter",system-ui,sans-serif;background:#25D366;color:#0B3D1F;border:0;padding:12px 18px;cursor:pointer}

/* home: the OK ticket, big (brand kit: blue field, faint OK watermark, ribbons underneath the artwork) */
.hub-grid{grid-template-columns:1fr}
.hub-art{position:relative;overflow:hidden;background:#3E4095;color:#fff;margin-top:22px;border-radius:6px}
.ha-wm{position:absolute;right:-4%;top:-6%;width:58%;height:auto;opacity:.12;pointer-events:none}
.ha-logos{position:absolute;left:clamp(12px,2.4vw,24px);right:clamp(12px,2.4vw,24px);top:clamp(12px,2.4vw,24px);display:flex;justify-content:space-between;align-items:flex-start;z-index:2}
.ha-ok{width:clamp(58px,11vw,118px);height:auto;border-radius:50%;background:#F4F4F8}
.ha-ndc{width:clamp(96px,17vw,200px);height:auto;background:#fff;border-radius:9px;padding:4px 7px}
.ha-art{position:relative;z-index:1;display:block;width:100%;height:auto;margin-top:clamp(56px,10vw,110px)}
.ha-tags{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding:12px clamp(12px,2.4vw,24px) clamp(14px,2.4vw,22px);background:#3E4095;border-top:3px solid #FFCE3A}
.ha-tag{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.ha-tag.ha-r{align-items:flex-end;text-align:right}
.ha-tag b{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(18px,4.4vw,44px);line-height:.95;color:#fff}
.ha-rib{display:inline-flex;align-items:stretch;font:800 clamp(10px,1.6vw,15px)/1 "Inter",system-ui,sans-serif;text-transform:uppercase;letter-spacing:.03em}
.ha-for{background:#2E3070;color:#fff;font-weight:700;text-transform:none;padding:5px 7px 7px;clip-path:polygon(0 0,100% 0,100% 100%,0 82%)}
.ha-role{background:#E7323A;color:#fff;padding:5px 9px 6px}

/* home: "Who is Peter Obi?" -> peterobi.online */
.know-obi{display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,3vw,32px);align-items:center;background:var(--card);border:2px solid var(--ink);border-top:6px solid #3E4095;padding:clamp(18px,3vw,30px);margin:28px 0}
.ko-face{width:clamp(96px,18vw,170px);height:clamp(96px,18vw,170px);object-fit:cover;object-position:18% 12%;border-radius:50%;background:#3E4095;border:4px solid #3E4095}
.know-obi h2{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(34px,6vw,58px);line-height:.92;margin:6px 0 10px}
.know-obi p{margin:0 0 16px;font-size:17px;line-height:1.5;max-width:60ch}
.ko-btn{display:inline-flex;align-items:center;gap:8px;background:#3E4095;color:#fff;font-weight:700;text-decoration:none;padding:12px 16px;border-radius:10px}
.ko-btn:hover{background:#2E3070}
@media (max-width:560px){.know-obi{grid-template-columns:1fr}.ko-face{width:96px;height:96px}}

/* Pictures of Peter Obi: photo grid (reuses the poster lightbox and share) */
.pic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:12px 0 16px}
@media (max-width:560px){.pic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.pic-item img{aspect-ratio:1/1;object-fit:cover}
.pic-item figcaption{display:grid;gap:2px;font-size:14px;line-height:1.3}
.pic-item figcaption b{font-weight:700}
.pic-credit{font-size:12px;color:var(--muted);text-decoration:none}
.pic-credit:hover{text-decoration:underline}
.ko-btns{display:flex;flex-wrap:wrap;gap:10px}
.ko-pics{background:#FFCE3A;color:#14161F}
.ko-pics:hover{background:#14161F;color:#FFCE3A}
/* "Pictures of Peter Obi" teaser on campaign, audience and home pages */
.pic-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:760px){.pic-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* sign-up call to the Mobilisation Platform (Protect the Vote, Mobilise) */
.app-signup{background:#3E4095;color:#fff;border-top:6px solid #FFCE3A;padding:clamp(20px,3.4vw,32px);margin:28px 0}
.app-signup .eyebrow{color:#FFCE3A}
.app-signup h2{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(34px,6vw,58px);line-height:.92;margin:8px 0 12px}
.app-signup h2 .red{color:#FFCE3A}
.app-signup p{margin:0 0 18px;font-size:17px;line-height:1.5;max-width:62ch;color:#EEF0FA}

/* Mobilise: for people with followers or an audience */
.reach{background:#E7323A;color:#fff;padding:clamp(20px,3.4vw,32px);margin:28px 0;border-top:6px solid #14161F}
.reach .eyebrow{color:#FFE7A6}
.reach h2{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(36px,6.4vw,62px);line-height:.92;margin:8px 0 12px}
.reach h2 .red{color:#FFCE3A}
.reach-lede{margin:0 0 16px;font-size:18px;line-height:1.5;font-weight:700;max-width:60ch}
.reach-steps{margin:0 0 18px;padding:0;list-style:none;counter-reset:rs;display:grid;gap:10px}
.reach-steps li{counter-increment:rs;display:grid;grid-template-columns:44px 1fr;gap:2px 12px;background:rgba(0,0,0,.14);padding:12px 14px}
.reach-steps li::before{content:counter(rs);grid-row:1/3;font:900 38px/1 "Big Shoulders Display",Impact,sans-serif;color:#FFCE3A}
.reach-steps b{font-size:18px}
.reach-steps span{font-size:16px;line-height:1.45;color:#FFF3F3}
.reach-res{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.reach-res .btn{background:#fff;color:#14161F;border-color:#fff}
.reach-res .btn:hover{background:#14161F;color:#fff;border-color:#14161F}
/* app section: real app screenshots in the phone mockup */
.app-sec .phone{margin-bottom:0;align-self:start}
@media (max-width:700px){.app-sec .phone{width:min(250px,78%);margin:0 auto 6px}}
/* followers-to-voters: tool link inside .reach, and the privacy note under the converter */
.reach-tool{display:grid;gap:4px;margin:4px 0 14px;padding:14px 16px;background:#FFCE3A;color:#14161F;text-decoration:none;border-radius:6px;box-shadow:0 6px 0 rgba(0,0,0,.18)}
.reach-tool .rt-k{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#C41F28}
.reach-tool b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(24px,5vw,32px);line-height:1}
.reach-tool .rt-go{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.reach-tool:hover{background:#fff}
.tool-note{font-size:14px;opacity:.8;margin-top:12px}
/* "See all …" buttons under the meme, status, poster and picture strips: big, yellow, hard to miss */
.btn.see-all{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;margin:18px 0 8px;padding:18px 20px;background:#FFCE3A;border:3px solid #FFCE3A;color:#14161F;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:clamp(24px,4.4vw,34px);line-height:1.05;text-transform:uppercase;letter-spacing:.01em;text-align:center;box-shadow:0 6px 0 rgba(0,0,0,.35)}
.btn.see-all:hover,.btn.see-all:focus-visible{background:#fff;border-color:#fff;color:#14161F}
/* #DesperateAPC: attack themes and their answers */
.pivots{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.pivot{display:grid;gap:12px;background:#1B1D27;border-left:8px solid #E7323A;padding:18px 18px 16px}
.pv-when b{display:block;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(24px,4vw,30px);line-height:1;margin-top:4px}
.pv-know{margin:0;font-size:18px;font-weight:700}
.pv-know span{display:block;font-weight:400;opacity:.85;margin-top:2px}
.pv-fact{background:#FFCE3A;color:#14161F;padding:14px 16px;display:grid;gap:4px}
.pv-fact .eyebrow{color:#C41F28}
.pv-fact b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:clamp(30px,6vw,44px);line-height:1;overflow-wrap:anywhere}
.pv-fact p{margin:0;font-size:16px}
.pv-fact small{font-size:13px;opacity:.75}
.pv-alert{border:3px solid #FFCE3A;padding:18px 18px 6px}
/* 12 Years of APC: the full report download and the infographics gallery */
.report-dl{border:3px solid var(--red);padding:20px 20px 14px;margin:18px 0;display:grid;gap:10px}
.report-dl h2{margin:0}
.report-dl .see-all{margin:6px 0 0}
.rd-jump{justify-self:start}
.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:8px 0 18px;align-items:start}
@media (max-width:560px){.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.info-item img{aspect-ratio:auto;background:#fff;object-fit:contain}
.info-item figcaption{font-size:13px;line-height:1.3;opacity:.85}
.info-h small{font-size:.6em;opacity:.7}
.report-dl{grid-template-columns:minmax(0,260px) 1fr;gap:22px;align-items:center}
.rd-copy{display:grid;gap:10px}
.rd-cover img{width:100%;height:auto;display:block;box-shadow:0 10px 28px rgba(0,0,0,.45);transition:transform .15s}
.rd-cover:hover img{transform:translateY(-3px)}
@media (max-width:640px){.report-dl{grid-template-columns:1fr}.rd-cover{max-width:230px;justify-self:center}}
.btn.see-all.rd-jump{background:#E7323A;border-color:#E7323A;color:#fff;margin-top:0}
.btn.see-all.rd-jump:hover,.btn.see-all.rd-jump:focus-visible{background:#fff;border-color:#fff;color:#14161F}

/* home (simple landing): the one message, then six big choices */
.one20{display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,4vw,40px);align-items:center;background:#3E4095;color:#fff;border-top:6px solid #FFCE3A;padding:clamp(22px,4vw,40px);margin:24px 0;border-radius:6px}
.o20-eq{display:flex;align-items:center;gap:10px;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;line-height:.8}
.o20-eq b{font-size:clamp(84px,18vw,170px)}
.o20-eq b:last-child{color:#FFCE3A}
.o20-eq span{font-size:clamp(40px,8vw,80px);color:#C9CBF2}
.one20 .eyebrow{color:#FFCE3A}
.one20 h2{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(40px,7vw,72px);line-height:.9;margin:6px 0 12px}
.one20 h2 span{color:#FFCE3A;display:block}
.one20 p{font-size:18px;line-height:1.5;margin:0 0 18px;max-width:58ch;color:#E9EAF8}
.o20-btns{display:flex;flex-wrap:wrap;gap:10px}
.o20-btn{display:inline-flex;align-items:center;gap:8px;background:#E7323A;color:#fff;font-weight:800;font-size:19px;text-decoration:none;padding:16px 20px;border-radius:10px}
.o20-btn:hover{background:#C41F28}
.o20-ghost{background:transparent;border:2px solid #fff}
.o20-ghost:hover{background:#fff;color:#3E4095}
.o20-btn:focus-visible,.st:focus-visible{outline:3px solid #FFCE3A;outline-offset:3px}
.start{margin:30px 0}
.start-h{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(32px,5.5vw,52px);line-height:.95;margin:0 0 16px}
.start-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.st{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;column-gap:14px;row-gap:4px;align-items:center;background:var(--card);color:var(--ink);border:2px solid var(--ink);border-left:8px solid var(--ink);padding:18px;text-decoration:none;min-height:116px;transition:transform .15s}
.st:hover{transform:translateY(-3px)}
.st-ic{grid-row:1/3;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--ink);color:#fff;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:28px}
.st b{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:28px;line-height:1}
.st-d{font-size:16px;line-height:1.4;color:var(--muted);align-self:start}
.st-app{border-color:#E7323A}.st-app .st-ic{background:#E7323A}
.st-share{border-color:#C79A00}.st-share .st-ic{background:#FFCE3A;color:#14161F}
.st-camps,.st-obi{border-color:#3E4095}.st-camps .st-ic,.st-obi .st-ic{background:#3E4095}
.st-pv .st-ic{background:#14161F}
.st-bill{border-color:#C41F28}.st-bill .st-ic{background:#C41F28}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .st-pv .st-ic{background:#ECEEF3;color:#14161F}}
:root[data-theme="dark"] .st-pv .st-ic{background:#ECEEF3;color:#14161F}
@media (max-width:900px){.start-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.one20{grid-template-columns:1fr}.start-grid{grid-template-columns:1fr}.st{min-height:0}.o20-btn{width:100%;justify-content:center}}

/* ===== Modern finish (Oct 2026): rounded corners everywhere, softer controls, a cleaner menu.
   Kept last so it wins over the older square rules above. ===== */
:root{--r:16px;--r-sm:10px;--r-pill:999px}

/* cards, panels and boxes */
.afraid-cards a,.app-promo,.app-signup,.atk,.aud a,.basket,.calc,.camp,.camp-afraid,.camp-bill,.case,.check li,.cost,.countdown,.cta,.cv,
.exhibit,.future-box,.hub-art,.invite,.know-obi,.litany,.math,.mcompare,.meter,.mp-grid,.mrow,.mv,.ndc,.ndc-reform,.ndc-vote,.ok-duo,.one20,
.p20,.pack-link,.pcard,.pivot,.poster-dl,.pshare.big,.pvr,.quiz,.reach,.reach-tool,.report-dl,.score,.share-kit,.sk-card,.st,.stat,.stats,
.steps20 li,.brutal .steps20 li,.stepper,.sup,.tool,.tools a,.u4o-band,.u4o-step,.vis-card,.vis-today,.vs,.w23-row,.wa-card,.next,.line,
.chapters,.costs,.prog,.ph-frame,.sn-ndc,.sn-mp,.toast,.lb-x,.lb-nav,.pv-fact,.pv-alert,.okc-btn,.mob-final{border-radius:var(--r)}
/* grids drawn with 2px gaps need their corners clipped */
.chapters,.stats,.exhibit,.vs,.costs,.mcompare,.mp-grid,.pvr,.math,.inv,.w23-row,.check{overflow:hidden}
/* boxes that run edge to edge on phones only round once they sit inside the column */
@media (min-width:812px){.pv,.mob{border-radius:var(--r)}}

/* buttons, chips and inputs */
.btn,.btn.solid,.btn.see-all,.ap-btn,.mp-btn,.ko-btn,.o20-btn,.pv-btn,.pv-btn2,.mob-btn,.sk-jump,.share a.wa,.reach-res .btn,
.calc .presets button,.filters button,.ac-chips li,.case-get,.case-pay,.h1-to,.pshare-b a,.pshare-b button,.ps-wa,.vote-pill,.sn-u4o,.sn-pv,
.menu-close button,.lb .lb-share,.mshare,.wa-head,.ph-unit,.ha-ndc{border-radius:var(--r-sm)}
.field input,.field select,.p20 input,.p20 select{border-radius:var(--r-sm)}
.stamp{border-radius:8px}

/* pictures inside cards */
.poster-item img,.pack-item img,.meme img,.info-item img,.sk-fan img,.ok-duo img,.mv-ticket img{border-radius:12px}

/* top bar: lighter, rounded pills instead of heavy square boxes */
.camp-links{gap:8px;align-items:center}
.camp-links a{border:1.5px solid var(--line);border-radius:var(--r-pill);padding:6px 14px;font-size:13.5px;transition:background .15s,border-color .15s,color .15s}
.camp-links a:hover{background:var(--paper);color:var(--ink);border-color:var(--ink)}
.camp-links a.tb-cta{border-color:var(--red);box-shadow:0 4px 14px -6px rgba(231,50,58,.7)}
.camp-links a.tb-cta:hover{background:var(--red-ink);border-color:var(--red-ink);color:#fff}
.lang summary{border:1.5px solid var(--line);border-radius:var(--r-pill);padding:5px 12px}
.lang summary:hover{border-color:var(--ink)}
.lang[open] summary{background:var(--paper);color:var(--ink);border-color:var(--ink)}
.lang-m{border:1px solid var(--line);border-radius:14px;overflow:hidden;padding:6px}
.lang-m a{border-bottom:0;border-radius:var(--r-sm);padding:10px 12px}
.menu summary{border-radius:var(--r-pill);padding:6px 16px;border:0;box-shadow:0 4px 14px -8px rgba(0,0,0,.6)}

/* the menu drawer: soft panel, airy rows, quiet section labels */
.menu ol{border:0;border-radius:20px 0 0 20px;padding-left:10px;padding-right:10px;box-shadow:-18px 0 40px -10px rgba(0,0,0,.35)}
.menu-close{padding:6px 2px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}
.menu-close button{border:1.5px solid var(--line);border-radius:var(--r-pill);font-size:14px;padding:6px 14px}
.menu-close button:hover{border-color:var(--ink)}
.menu li a{border-radius:12px;padding:10px 12px;font-weight:600;line-height:1.3}
.menu li a small{min-width:28px;font-size:12px;font-weight:600}
.menu li a:hover{background:var(--paper)}
.menu li a[aria-current]{background:var(--red-soft);color:var(--red-ink)}
.menu-sep{border-top:0;margin-top:10px;padding:10px 12px 4px;font-size:11px;font-weight:700}
.menu[open]::before{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.st{border-width:2px;border-left-width:2px;box-shadow:0 6px 18px -12px rgba(0,0,0,.5)}
.tn,.letter,.mv-logo,.mv-ticket,.mplat,.atk-col{border-radius:var(--r)}
.tn,.mplat{overflow:hidden}
.bar-fill{border-radius:0 8px 8px 0}
.one20 .o20-sum{background:rgba(255,255,255,.1);border-left:4px solid #FFCE3A;border-radius:var(--r-sm);padding:12px 14px;color:#fff}
.one20 .o20-sum b{color:#FFCE3A;font-size:1.12em}
/* top bar on desktop: the buttons end where the side panel's content ends (its 18px inner edge), not at its left border */
@media (min-width:900px){.topbar .wrap{padding-right:2px}} /* + the bar's own 16px = the panel's 18px inner edge */
/* "One person. Twenty voters." restructured: heading row, full-width text, the sum as tiles */
.one20{display:block}
.o20-top{display:flex;align-items:center;gap:clamp(14px,3vw,32px);flex-wrap:wrap;margin-bottom:14px}
.o20-top .o20-eq b{font-size:clamp(64px,11vw,120px)}
.o20-top .o20-eq span{font-size:clamp(30px,5vw,56px)}
.o20-top h2{margin:4px 0 0;font-size:clamp(36px,5.6vw,64px)}
.o20-top h2 span{display:inline}
.one20 .o20-lede{max-width:64ch;margin:0 0 18px}
.o20-math{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.o20-math .m{display:grid;justify-items:center;gap:2px;min-width:72px;padding:10px 12px;background:rgba(255,255,255,.1);border-radius:var(--r-sm)}
.o20-math .m b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:clamp(30px,5vw,44px);line-height:1;color:#fff}
.o20-math .m span{font-size:13px;font-weight:600;color:#C9CBF2;text-transform:uppercase;letter-spacing:.06em}
.o20-math .m.tot{background:#FFCE3A}
.o20-math .m.tot b,.o20-math .m.tot span{color:#14161F}
.o20-math i{font-style:normal;font-weight:800;font-size:24px;color:#FFCE3A}
.one20 .o20-tag{font-weight:700;color:#fff;margin:0 0 20px}
@media (max-width:600px){.o20-math{gap:6px}.o20-math .m{min-width:56px;padding:8px}.o20-math i{font-size:20px}}
@media (max-width:600px){
  .o20-math{flex-wrap:nowrap;gap:3px;justify-content:space-between}
  .o20-math .m{min-width:0;flex:1 1 0;padding:7px 3px}
  .o20-math .m b{font-size:24px}
  .o20-math .m span{font-size:9.5px;letter-spacing:.02em;text-align:center;line-height:1.15}
  .o20-math i{font-size:15px;flex:none}
}
/* home: "How we protect our votes" card */
.pvc{background:#14161F;color:#fff;border:3px solid #FFCE3A;border-radius:var(--r);padding:clamp(22px,4vw,38px);margin:28px 0}
.pvc .eyebrow{color:#FFCE3A}
.pvc h2{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(38px,6.4vw,66px);line-height:.92;margin:6px 0 12px}
.pvc h2 span{color:#FFCE3A}
.pvc-lede{font-size:18px;line-height:1.5;color:#E6E8EE;margin:0 0 20px;max-width:60ch}
.pvc-steps{list-style:none;counter-reset:pv;margin:0 0 22px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.pvc-steps li{counter-increment:pv;background:rgba(255,255,255,.07);border-radius:var(--r-sm);padding:14px;display:grid;gap:4px;align-content:start}
.pvc-steps li::before{content:counter(pv);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#FFCE3A;color:#14161F;font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:20px;margin-bottom:6px}
.pvc-steps b{font-size:18px;line-height:1.2}
.pvc-steps span{font-size:15px;line-height:1.4;color:#C9CDD8}
.pvc-btns{display:flex;flex-wrap:wrap;gap:10px}
.pvc-btn{display:inline-flex;align-items:center;gap:8px;background:#FFCE3A;color:#14161F;font-weight:800;font-size:18px;text-decoration:none;padding:15px 20px;border-radius:var(--r-sm)}
.pvc-btn:hover{background:#fff}
.pvc-ghost{background:transparent;color:#fff;border:2px solid #fff}
.pvc-ghost:hover{background:#fff;color:#14161F}
.pvc-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media (max-width:600px){.pvc-steps{grid-template-columns:1fr}.pvc-steps li{grid-template-columns:auto 1fr;column-gap:12px}.pvc-steps li::before{grid-row:1/3;margin:0}.pvc-btn{width:100%;justify-content:center}}
.pvc-scale{display:flex;align-items:stretch;gap:10px;margin:0 0 14px;flex-wrap:wrap}
.pvc-scale .s{flex:1 1 140px;display:grid;gap:4px;align-content:center;padding:14px 16px;border-radius:var(--r-sm);background:rgba(255,255,255,.07)}
.pvc-scale .s b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:clamp(38px,7vw,64px);line-height:.9}
.pvc-scale .s span{font-size:14px;line-height:1.3;color:#C9CDD8}
.pvc-scale .s.tot{background:#FFCE3A}
.pvc-scale .s.tot b,.pvc-scale .s.tot span{color:#14161F}
.pvc-scale i{align-self:center;font-style:normal;font-weight:800;font-size:20px;color:#FFCE3A;text-transform:uppercase}

/* ===== Neater side panel, language pop-up and menu (Oct 2026) ===== */
/* side panel */
.sn-inner{gap:14px;padding:18px 14px 0}
.sn-duo{grid-template-columns:1fr 1fr;gap:8px}
.sn-u4o,.sn-pv{display:grid;place-items:center;text-align:center;font-size:16px;line-height:1.05;padding:10px 8px;min-height:46px;border-width:1.5px}
details.sn-group{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:4px}
details.sn-group > summary.sn-label{border-bottom:0;padding:9px 10px;border-radius:10px;font-size:11.5px;letter-spacing:.1em;color:var(--ink)}
details.sn-group > summary.sn-label:hover{background:var(--paper)}
details.sn-group > summary .sn-n{opacity:1;font-size:11px;font-weight:700;color:var(--muted);background:var(--paper);border-radius:999px;padding:2px 8px;letter-spacing:0}
details.sn-group > summary::after{content:"";width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-2px);margin-left:10px;transition:transform .15s}
details.sn-group[open] > summary::after{content:"";transform:rotate(225deg) translateY(-2px)}
details.sn-group ol{padding:2px 0 4px}
.sn-group a{border-left:0;border-radius:10px;padding:7px 10px;font-weight:600;font-size:14px}
.sn-group a small{min-width:26px;font-size:11.5px;font-weight:600}
.sn-group a:hover{background:var(--paper)}
.sn-group a[aria-current]{background:var(--red-soft);color:var(--red-ink)}
.sn-mp{margin:4px -14px 0;border-radius:16px 16px 0 0;padding:14px 16px 16px}
/* language pop-up */
.lang-m{min-width:190px;padding:6px;border-radius:16px;box-shadow:0 18px 40px -12px rgba(0,0,0,.45);gap:2px}
.lang-m a{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600;font-size:15px}
.lang-m a:hover{background:var(--paper)}
.lang-m a[aria-current]{background:var(--red-soft);color:var(--red-ink)}
.lang-m a[aria-current]::after{content:"✓";font-weight:800}
/* menu drawer: same rows as the side panel */
.menu ol{padding-top:calc(env(safe-area-inset-top,0px) + 10px)}
.menu-sep{margin:12px 2px 4px;padding:8px 10px;border-radius:10px;background:var(--paper);color:var(--ink);font-size:11px;letter-spacing:.1em}
.menu li a{font-size:15px}
.menu li a small{color:var(--muted)}
html[lang="en"] .lang-a[data-lang="en"],html[lang="pcm"] .lang-a[data-lang="pcm"],html[lang="yo"] .lang-a[data-lang="yo"],html[lang="ig"] .lang-a[data-lang="ig"],html[lang="ha"] .lang-a[data-lang="ha"]{background:var(--red-soft);color:var(--red-ink)}
html[lang="en"] .lang-a[data-lang="en"]::after,html[lang="pcm"] .lang-a[data-lang="pcm"]::after,html[lang="yo"] .lang-a[data-lang="yo"]::after,html[lang="ig"] .lang-a[data-lang="ig"]::after,html[lang="ha"] .lang-a[data-lang="ha"]::after{content:"✓";font-weight:800}

/* mobilise.html: the #PlayYourPart case */
.c20-math{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.c20{display:grid;gap:6px;padding:18px;border-radius:var(--r);border:2px solid var(--line);background:var(--card)}
.c20 b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:clamp(52px,10vw,96px);line-height:.85}
.c20 span{font-size:15px;line-height:1.35;color:var(--muted)}
.c20-them b{color:var(--muted)}
.c20-us{background:#FFCE3A;border-color:#FFCE3A}
.c20-us b,.c20-us span{color:#14161F}
.c20-why{list-style:none;counter-reset:w;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.c20-why li{counter-increment:w;display:grid;gap:6px;align-content:start;padding:16px;border-radius:var(--r-sm);background:var(--card);border:1px solid var(--line)}
.c20-why li::before{content:counter(w);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--red);color:#fff;font-weight:800}
.c20-why b{font-size:19px;line-height:1.2}
.c20-why span{font-size:15.5px;line-height:1.45;color:var(--muted)}
.c20-say{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(30px,5vw,48px);line-height:.95;margin:6px 0 0}
.c20-say span{color:var(--red-ink);display:block}
@media (max-width:480px){.c20-math{grid-template-columns:1fr}}
/* citizen agents: two at every level */
.agents{margin:18px 0;padding:16px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);color:var(--ink)}
.pvc .agents{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15);color:#fff}
.ag-h{font-weight:800;font-size:18px;margin:0 0 10px}
.ag-h span{color:var(--red-ink)}
.pvc .ag-h span{color:#FFCE3A}
.ag-wrap{overflow-x:auto}
.agents table{width:100%;border-collapse:collapse;font-size:15px}
.agents th,.agents td{padding:8px 6px;text-align:right;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.pvc .agents th,.pvc .agents td{border-bottom-color:rgba(255,255,255,.15)}
.agents th[scope="row"],.agents thead th:first-child{text-align:left;font-weight:600}
.agents thead th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.pvc .agents thead th{color:#C9CDD8}
.agents tfoot .ag-goal th,.agents tfoot .ag-goal td{font-weight:800;font-size:17px;border-bottom:0;color:var(--red-ink)}
.pvc .agents tfoot .ag-goal th,.pvc .agents tfoot .ag-goal td{color:#FFCE3A}
/* "Scale is our answer to state force": every page's banner and the protect-the-vote page */
.pv .pv-scale{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(24px,4.4vw,36px);line-height:1;margin:6px 0 16px}
.pv .pv-scale span{display:block;opacity:.85}
.scale-band{background:#14161F;color:#fff;border-radius:var(--r);padding:clamp(22px,4vw,36px);margin:24px 0;border-left:8px solid #FFCE3A}
.sb-big{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(40px,7.5vw,78px);line-height:.9;margin:0 0 12px}
.sb-big span{color:#FFCE3A;display:block}
.sb-txt{font-size:19px;line-height:1.5;margin:0;color:#E6E8EE;max-width:60ch}
.sb-txt strong{color:#FFCE3A}
@media (max-width:480px){
  .agents{padding:12px 10px}
  .agents table{font-size:13.5px}
  .agents th,.agents td{padding:7px 3px}
  .agents thead th{font-size:10px;letter-spacing:.03em}
  .agents tfoot .ag-goal th,.agents tfoot .ag-goal td{font-size:15px}
  .ag-h{font-size:16px}
}

/* Global Digital Townhall (townhall.html) and its home-page banner */
.tw-banner{display:grid;gap:12px;background:#3E4095;color:#fff;border-radius:var(--r);padding:48px 32px;margin:20px 0 0;border-left:8px solid #FFCE3A}
.tw-banner[hidden]{display:none}
.tw-b-live{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#FFCE3A}
.tw-b-live::before{content:"";width:10px;height:10px;border-radius:50%;background:#E7323A;box-shadow:0 0 0 3px rgba(231,50,58,.35)}
.tw-banner b{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(26px,4.4vw,38px);line-height:.95}
.tw-b-sub{font-size:16px;color:#E1E2F6}
.tw-b-btn{justify-self:start;margin-top:12px;display:inline-flex;align-items:center;gap:8px;background:#FFCE3A;color:#14161F;font-weight:800;font-size:17px;text-decoration:none;padding:15px 22px;border-radius:var(--r-sm)}
.tw-b-btn:hover{background:#fff}
.tw-when{background:#14161F;color:#fff;border-radius:var(--r);padding:clamp(20px,4vw,34px);margin:8px 0 24px;display:grid;gap:16px;border-top:6px solid #FFCE3A}
.tw-date{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;line-height:.9}
.tw-date b{font-size:clamp(44px,8vw,80px);color:#FFCE3A}
.tw-date span{font-size:clamp(30px,5.5vw,54px)}
.tw-times{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.tw-times li{display:grid;gap:2px;padding:12px 14px;border-radius:var(--r-sm);background:rgba(255,255,255,.08)}
.tw-times b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:36px;line-height:1}
.tw-times span{font-size:14px;color:#C9CDD8}
.tw-local{margin:0;font-size:16px;color:#C9CDD8}.tw-local b{color:#fff}
.tw-btn{justify-self:start;display:inline-flex;align-items:center;gap:10px;background:#E7323A;color:#fff;font-weight:800;font-size:clamp(19px,3vw,23px);text-decoration:none;padding:18px 26px;border-radius:var(--r-sm);box-shadow:0 8px 22px -10px rgba(231,50,58,.8)}
.tw-btn:hover{background:#C41F28}
.tw-btn:focus-visible,.tw-b-btn:focus-visible{outline:3px solid #FFCE3A;outline-offset:3px}
.tw-btn.is-off{background:#3A3D4A;color:#E6E8EE;box-shadow:none;cursor:default;font-size:18px}
.tw-strict{margin:0;font-size:15px;font-weight:700;color:#FFCE3A}
.tw-expect{list-style:none;counter-reset:e;margin:18px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.tw-expect li{counter-increment:e;display:grid;gap:6px;padding:16px;border-radius:var(--r-sm);background:var(--card);border:1px solid var(--line)}
.tw-expect li::before{content:counter(e);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#3E4095;color:#fff;font-weight:800}
.tw-expect b{font-size:19px}.tw-expect span{color:var(--muted);font-size:16px;line-height:1.45}
.tw-listen{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,4vw,32px);margin:24px 0;display:grid;gap:14px}
.tw-listen p{margin:0;font-size:18px;line-height:1.5;max-width:62ch}
.tw-listen .tw-big{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(32px,5.5vw,52px);line-height:.95;max-width:none}
.tw-big span{color:var(--red-ink);display:block}
@media (max-width:600px){.tw-btn,.tw-b-btn{justify-self:stretch;justify-content:center}}
/* event mode: event.html has no side panel or menu */
@media (min-width:900px){
  body:has(.bare-page){padding-right:16px}
  body:has(.bare-page) .topbar{margin-right:-16px}
  body:has(.bare-page) .topbar .wrap{max-width:780px;padding-right:0;margin-inline:auto}
}
.bare-bar .wrap{justify-content:space-between}
.bare-page .col{max-width:none}
/* townhall flyers to download */
.tw-fl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 16px;align-items:end}
.tw-f{display:grid;gap:4px;text-decoration:none;color:var(--ink)}
.tw-f img{width:100%;height:auto;border-radius:12px;border:1px solid var(--line);display:block}
.tw-f b{font-size:16px}.tw-f span{font-size:13px;color:var(--muted)}
.tw-f:hover img{outline:3px solid var(--mark);outline-offset:2px}
@media (max-width:600px){.tw-fl{grid-template-columns:1fr 1fr}.tw-f-status{grid-row:span 2}}
.tw-hero h1{font-size:clamp(60px,13vw,120px)}
.tw-sub{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(28px,5vw,46px);line-height:1;margin:0}
.tw-sub span{color:var(--red-ink)}
/* Peter Obi's message on the townhall page */
.tw-msg{background:var(--card);border:1px solid var(--line);border-left:8px solid #3E4095;border-radius:var(--r);padding:clamp(20px,4vw,34px);margin:24px 0}
.tw-msg h2{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(30px,5vw,46px);line-height:.95;margin:6px 0 16px}
.tw-msg blockquote{margin:0;display:grid;gap:12px}
.tw-msg blockquote p{margin:0;font-size:19px;line-height:1.55;max-width:62ch}
.tw-msg blockquote p:last-child{font-weight:800}
.tw-sign{margin:16px 0 0;font-family:"Kalam",cursive;font-size:30px;color:#3E4095}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tw-sign{color:#9DA1F2}}
:root[data-theme="dark"] .tw-sign{color:#9DA1F2}
.tw-expect + .tw-btn{margin-bottom:8px}
.bare-right{display:flex;align-items:center;gap:8px}
.bare-cta{display:inline-flex;align-items:center;gap:6px;background:var(--red);color:#fff;font-weight:800;font-size:14px;text-decoration:none;padding:8px 14px;border-radius:var(--r-pill);white-space:nowrap;box-shadow:0 4px 14px -6px rgba(231,50,58,.7)}
.bare-cta:hover{background:var(--red-ink)}
@media (max-width:400px){.bare-cta{font-size:12.5px;padding:7px 10px}.bare-bar .brand-t{font-size:1.05em}}
@media (max-width:440px){.bare-bar .brand-t{display:none}}
/* "This page has been updated" bar (site.js) */
.upd-bar{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);transform:translateX(-50%);z-index:90;display:flex;align-items:center;gap:12px;
  background:#14161F;color:#fff;border:2px solid #FFCE3A;border-radius:var(--r-pill);padding:8px 8px 8px 18px;box-shadow:0 12px 30px -8px rgba(0,0,0,.6);font-weight:700;font-size:15px;max-width:calc(100vw - 24px)}
.upd-bar[hidden]{display:none}
.upd-bar [data-refresh]{font:inherit;font-weight:800;background:#FFCE3A;color:#14161F;border:0;border-radius:var(--r-pill);padding:9px 16px;cursor:pointer}
.upd-bar .upd-x{font:inherit;background:transparent;color:#C9CDD8;border:0;padding:6px 8px;cursor:pointer}
.upd-bar{left:12px;right:12px;transform:none;margin:0 auto;width:auto;max-width:560px;justify-content:space-between}
.upd-bar span{flex:1;min-width:0;line-height:1.3}
.upd-bar button{white-space:nowrap;flex:none}
/* 404 page */
.nf-hero{text-align:left}
.nf-num{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;font-size:clamp(120px,30vw,240px);line-height:.8;color:#FFCE3A;letter-spacing:-.02em}
.nf-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.nf-btn{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;font-weight:800;font-size:18px;text-decoration:none;padding:15px 20px;border-radius:var(--r-sm)}
.nf-btn:hover{background:var(--red-ink)}
.nf-alt{background:var(--card);color:var(--ink);border:2px solid var(--line)}
.nf-alt:hover{background:var(--paper);border-color:var(--ink)}
.nf-langs{list-style:none;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:6px;color:var(--muted);font-size:16px}
.nf-langs b{color:var(--ink)}
@media (max-width:600px){.nf-btn{width:100%;justify-content:center}}
/* Download / Share under every poster, status picture, meme, flyer and photo (site.js) */
.dl-bar{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.dl-bar button{font:800 14px/1 "Inter",system-ui,sans-serif;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 8px;border-radius:var(--r-sm);cursor:pointer;min-height:42px;white-space:nowrap}
.dl-b{background:var(--card);color:var(--ink);border:2px solid var(--ink)}
.dl-b:hover{background:var(--ink);color:var(--paper)}
.dl-s{background:#1FA855;color:#fff;border:2px solid #1FA855}
.dl-s:hover{background:#178a45;border-color:#178a45}
.dl-bar button:focus-visible{outline:3px solid var(--mark);outline-offset:2px}
@media (max-width:420px){.dl-bar button{font-size:13px;padding:10px 4px;gap:4px}}
.tw-f{margin:0}
/* light / dark switch in the top bar (dark is the default) */
.theme-t{flex:none;display:inline-grid;place-items:center;width:38px;height:34px;border:1.5px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font-size:17px;line-height:1;cursor:pointer;margin-right:6px}
.theme-t:hover{border-color:var(--ink)}
.theme-t:focus-visible{outline:3px solid var(--mark);outline-offset:2px}
:root[data-theme="dark"] .th-moon,:root[data-theme="light"] .th-sun{display:none}
:root:not([data-theme]) .th-moon{display:none}

/* Light mode: no shadows and no outlines. Areas are told apart by contrast:
   a grey page, white cards, tinted tiles and solid colour blocks. */
:root[data-theme="light"]{--paper:#E6E9EE;--card:#FFFFFF;--panel:#F3F5F8;--line:transparent;--rule:transparent;--shadow:transparent}
:root[data-theme="light"] *,:root[data-theme="light"] *::before,:root[data-theme="light"] *::after{box-shadow:none!important;text-shadow:none!important}
:root[data-theme="light"] .stats,:root[data-theme="light"] .vs,:root[data-theme="light"] .costs,:root[data-theme="light"] .exhibit{background:transparent;border-color:transparent;gap:10px}
:root[data-theme="light"] .stats>*,:root[data-theme="light"] .vs>*,:root[data-theme="light"] .costs>*,:root[data-theme="light"] .exhibit>*{border-radius:var(--r-sm)}
:root[data-theme="light"] .pvr,:root[data-theme="light"] .st,:root[data-theme="light"] .btn:not(.solid),:root[data-theme="light"] .u4o-step{border-color:transparent}
:root[data-theme="light"] .btn:not(.solid):not(.see-all):not(.cta-ghost){background:#D5DAE2}
:root[data-theme="light"] .st-app{background:#FCE3E5}
:root[data-theme="light"] .st-share{background:#FFF1C4}
:root[data-theme="light"] .st-camps,:root[data-theme="light"] .st-obi{background:#E2E3F6}
:root[data-theme="light"] .st-pv{background:#DDE1E8}
:root[data-theme="light"] .st-bill{background:#F9DCDD}
:root[data-theme="light"] hr{border-color:transparent;background:#D5DAE2;height:2px}
:root[data-theme="light"] *,:root[data-theme="light"] *::before,:root[data-theme="light"] *::after{border-color:transparent!important;outline-color:transparent}
:root[data-theme="light"] :focus-visible{outline:3px solid #3E4095!important}
:root[data-theme="light"] input,:root[data-theme="light"] select,:root[data-theme="light"] textarea{background:#DDE2E9}
:root[data-theme="light"] .tag,:root[data-theme="light"] .sn-u4o{background:#DDE1F2}
:root[data-theme="light"] :is(.chapters,.meter,.litany,.w23-row,.case,.atk){background:transparent;gap:10px}
:root[data-theme="light"] :is(.chapters,.meter,.litany,.w23-row,.case,.atk)>*{border-radius:var(--r-sm)}
.tw-f img{cursor:zoom-in}.poster-item img,.pack-item img{cursor:zoom-in}

/* Home: the bar straight to the share kits */
.kit-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 0}
.kb{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:var(--r);text-decoration:none;font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(20px,2.4vw,26px);line-height:1}
.kb-ic{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:50%;font-family:Inter,sans-serif;font-size:20px;background:rgba(255,255,255,.22)}
.kb-post{background:#E7323A;color:#fff}.kb-wa{background:#1FA855;color:#fff}.kb-meme{background:#FFCE3A;color:#14161F}
.kb-meme .kb-ic{background:rgba(20,22,31,.12)}
.kb:hover{filter:brightness(1.06)}.kb:focus-visible{outline:3px solid #3E4095;outline-offset:3px}
@media (max-width:600px){.kit-bar{grid-template-columns:1fr;gap:8px}.kb{padding:14px 16px}}
.pack-h{grid-column:1/-1}
:root[data-theme="light"] .btn[aria-pressed="true"],:root[data-theme="light"] .btn:not(.solid):not(.see-all):not(.cta-ghost):hover{background:#14161F;color:#fff}
.st-wa{border-color:#1FA855}.st-wa .st-ic{background:#1FA855}
.st-meme{border-color:#C79A00}.st-meme .st-ic{background:#FFCE3A;color:#14161F}
.st-share .st-ic{background:#E7323A;color:#fff}.st-share{border-color:#E7323A}
:root[data-theme="light"] .st-wa{background:#DDF3E5}
:root[data-theme="light"] .st-meme{background:#FFF1C4}
:root[data-theme="light"] .st-share{background:#FCE3E5}
/* townhall: Peter Obi alone, the kit painting sized like the ticket art */
.obi-art .ha-art{width:78%;margin-left:auto;margin-right:auto}

/* print.html */
.pr-item figcaption{display:grid;gap:2px;margin-top:6px;font-size:14px;line-height:1.3}
.pr-item figcaption span{color:var(--muted)}
.pr-item figcaption a{font-weight:700;color:var(--red-ink)}
.pr-stickers .pr-item img{background:#D5DAE2;border-radius:var(--r-sm);padding:10px;object-fit:contain;aspect-ratio:1}
.pr-tees .pr-item img,.pr-profile .pr-item img{border-radius:var(--r-sm)}
/* print.html: each section gets a frame of its pictures' own shape; pictures fit inside without stretching */
.pr-item img{aspect-ratio:auto;height:auto;object-fit:contain;background:#D5DAE2;padding:8px}
.pr-tees .pr-item img{aspect-ratio:3/2}
.pr-stickers .pr-item img{aspect-ratio:1}
.pr-posters .pr-item img{aspect-ratio:720/1018;padding:0}
.pr-status .pr-item img{aspect-ratio:9/16;padding:0}
.pr-profile .pr-item img{aspect-ratio:1;padding:0}

/* phones: the Menu button opens the desktop side panel as a drawer (site.js adds html.sn-drawer) */
.sn-close{display:none}
@media (max-width:899px){
  html.sn-drawer .sidenav{display:block;top:0;width:min(340px,90vw);z-index:60;border-left:0;border-radius:24px 0 0 24px;padding-top:env(safe-area-inset-top,0px)}
  html.sn-drawer .menu ol{display:none}
  html.sn-drawer{overflow:hidden}
  .sn-close{display:flex;justify-content:flex-end;position:sticky;top:-22px;margin:-10px 0 -6px;padding:8px 0;background:inherit;z-index:2}
  .sn-close button{font:inherit;font-weight:700;font-size:14px;border:1.5px solid var(--line);border-radius:var(--r-pill);background:var(--card);color:var(--ink);padding:6px 14px;cursor:pointer}
}

/* readable text everywhere (contrast check, tools/contrast.py) */
:root[data-theme="light"] .cta-ghost{background:rgba(255,255,255,.14)!important;color:#fff!important}
.pivot{color:#fff}
.mhead{background:#14161F}
:root[data-theme="dark"] .v-yes{color:#14161F}
.dl-s span{color:inherit}
.mp-btn .mp-k{color:#A30F27}
.camp.c-red .eyebrow,.camp.c-red .camp-sub,.camp.c-red .camp-go{color:#fff}
/* side menu: every section starts folded; the arrow beside the count shows it opens */
.sn-label{list-style:none;cursor:pointer}
.sn-label::-webkit-details-marker{display:none}
details.sn-group > summary.sn-label::after{content:"▾";display:grid;place-items:center;width:22px;height:22px;margin-left:8px;border:0!important;border-radius:50%;background:var(--ink);color:var(--card);font-size:13px;line-height:1;transform:none;transition:transform .2s;flex:0 0 auto}
details.sn-group[open] > summary.sn-label::after{content:"▾";transform:rotate(180deg)}
/* small phones: room for the logos, theme, language and Menu in one row */
.topbar .wrap{gap:8px}
@media (max-width:420px){
  .brand-t{display:none!important}
  .theme-t{flex:0 0 auto}
  .menu summary i{display:none}
}
.pr-teaser .pr-t img{aspect-ratio:1;object-fit:contain;background:#D5DAE2;padding:8px}
.print-teaser{margin-top:28px}
/* the Download / Share bar always fits its card: columns may shrink, and narrow cards stack the two buttons */
.dl-bar{grid-template-columns:repeat(auto-fit,minmax(min(100%,96px),1fr));min-width:0}
.dl-bar button{min-width:0;overflow:hidden;text-overflow:ellipsis}
.poster-grid > *,.pack > *,.meme-grid > *,.tw-fl > *,.pic-grid > *{min-width:0}
/* townhall banner: the kit's "20 voters" stripes as a faint pattern on the right, fading into the blue */
.tw-banner{position:relative;overflow:hidden;isolation:isolate}
.tw-banner > *{position:relative;z-index:1}
.tw-banner::before{content:"";position:absolute;z-index:0;top:-40%;right:-12%;width:min(720px,80%);aspect-ratio:1;border-radius:50%;
  background:repeating-radial-gradient(circle at center,rgba(255,255,255,.16) 0 22px,transparent 22px 44px);
  -webkit-mask-image:linear-gradient(to left,#000 10%,transparent 85%);mask-image:linear-gradient(to left,#000 10%,transparent 85%)}
.tw-banner::after{content:"";position:absolute;z-index:0;bottom:-55%;right:18%;width:min(420px,45%);aspect-ratio:1;border-radius:50%;
  background:repeating-radial-gradient(circle at center,rgba(231,50,58,.35) 0 16px,transparent 16px 32px);
  -webkit-mask-image:linear-gradient(to top left,#000 0%,transparent 70%);mask-image:linear-gradient(to top left,#000 0%,transparent 70%)}
.tw-banner{background:linear-gradient(rgba(62,64,149,.55),rgba(62,64,149,.55)),url(kit/grime.png) center/cover,#3E4095}

/* what-they-took.html: the receipt as a picture */
.rc-pic{max-width:520px;margin:22px auto 0}
.rc-pic img{width:100%;height:auto;aspect-ratio:1080/1980;border-radius:var(--r-sm)}
.rc-pic figcaption{font-size:15px;margin-top:8px}

/* "Who is it for?" on the receipt and future tools */
.field.who{border:0;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.field.who legend{font-weight:700;margin-bottom:8px;width:100%}
.field.who label{display:inline-flex;align-items:center;gap:8px;background:var(--paper);padding:10px 16px;border-radius:var(--r-pill);font-weight:700;cursor:pointer}
.field.who input{accent-color:#E7323A;width:18px;height:18px;margin:0}
.rc-pic{max-width:600px;margin:8px auto 0}
.q-catch{background:#FCE3E5;color:#14161F;border-radius:var(--r-sm);padding:12px 14px}.q-catch b{color:#C41F28}

/* My 20: recruiting cards, newest first */
#r20-out{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:14px;margin-top:16px}
.r20-card img{width:100%;height:auto;aspect-ratio:1080/1350;border-radius:var(--r-sm)}
.tw-inv{display:inline-block;justify-self:start;background:#FFCE3A;color:#14161F;font-weight:800;font-size:15px;letter-spacing:.08em;text-transform:uppercase;padding:7px 14px;border-radius:999px;margin-bottom:6px}
.pr-cards .pr-item img{aspect-ratio:1080/1350;padding:0}
/* how-we-win: each sum stays on one line and scales with the box */
.mob{container-type:inline-size}
.mob-eq{flex-wrap:nowrap}
.mob-eq b{font-size:min(120px,12cqw)}
.mob-eq.big b{font-size:min(170px,14.5cqw)}
.mob-eq .op{font-size:min(80px,8cqw);padding-bottom:2cqw}
.mob-eq span{font-size:min(13px,2.4cqw)}
/* side-panel campaign card: the black of the new OK logo in place of the blue */
.sn-ndc{background:#131313}
