@font-face{font-family:"Changa";src:url("../fonts/Changa-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url("../fonts/Barlow-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url("../fonts/Barlow-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

/* 1. Tokens. p = page ground, s = story band (deep ink in light mode) */
:root{
  color-scheme:light;
  --p-ground:#FAFAF7;--p-text:#0F1A33;--p-muted:#4A5468;--p-hair:#D9DCE3;--p-panel:#FFFFFF;
  --p-l5:#0F1A33;--p-lw:#0F1A33;--p-ls:#4A7FDC;
  --s-ground:#0F1A33;--s-text:#FAFAF7;--s-muted:#C3C6CC;--s-hair:#33405C;--s-panel:#18243F;
  --s-l5:#4A7FDC;--s-lw:#E8E4DC;--s-ls:#E8E4DC;
  --on:#0F1A33;--accent:#4A7FDC;
  --shadow:0 24px 48px -24px rgba(15,26,51,.25);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){/*@DARK-START*/
  color-scheme:dark;
  --p-ground:#1C1C1C;--p-text:#E8E4DC;--p-muted:#B9B3A6;--p-hair:#3A3A3A;--p-panel:#242424;
  --p-l5:#4A7FDC;--p-lw:#E8E4DC;--p-ls:#E8E4DC;
  --s-ground:#1C1C1C;--s-text:#E8E4DC;--s-muted:#B9B3A6;--s-hair:#3A3A3A;--s-panel:#242424;
  --s-l5:#4A7FDC;--s-lw:#E8E4DC;--s-ls:#E8E4DC;
  --on:#1C1C1C;
  --shadow:0 24px 48px -24px rgba(0,0,0,.6);
/*@DARK-END*/}}
:root[data-theme="dark"]{
  color-scheme:dark;
  --p-ground:#1C1C1C;--p-text:#E8E4DC;--p-muted:#B9B3A6;--p-hair:#3A3A3A;--p-panel:#242424;
  --p-l5:#4A7FDC;--p-lw:#E8E4DC;--p-ls:#E8E4DC;
  --s-ground:#1C1C1C;--s-text:#E8E4DC;--s-muted:#B9B3A6;--s-hair:#3A3A3A;--s-panel:#242424;
  --s-l5:#4A7FDC;--s-lw:#E8E4DC;--s-ls:#E8E4DC;
  --on:#1C1C1C;
  --shadow:0 24px 48px -24px rgba(0,0,0,.6);
}
:root,.t-page{--ground:var(--p-ground);--text:var(--p-text);--muted:var(--p-muted);--hair:var(--p-hair);--panel:var(--p-panel);--l5:var(--p-l5);--lw:var(--p-lw);--ls:var(--p-ls)}
.t-story{--ground:var(--s-ground);--text:var(--s-text);--muted:var(--s-muted);--hair:var(--s-hair);--panel:var(--s-panel);--l5:var(--s-l5);--lw:var(--s-lw);--ls:var(--s-ls)}
.t-page,.t-story{color:var(--text)}
:root{--stone:color-mix(in srgb,var(--text) 26%,var(--ground));--stone-hi:color-mix(in srgb,var(--text) 58%,var(--ground));--stone-dim:color-mix(in srgb,var(--text) 16%,var(--ground));--red:#C62828;--red-0:color-mix(in srgb,#C62828 24%,var(--ground));--red-1:color-mix(in srgb,#C62828 46%,var(--ground));--red-2:color-mix(in srgb,#C62828 74%,var(--ground))}
.t-story,.t-page{--stone:color-mix(in srgb,var(--text) 26%,var(--ground));--stone-hi:color-mix(in srgb,var(--text) 58%,var(--ground));--stone-dim:color-mix(in srgb,var(--text) 16%,var(--ground));--red:#C62828;--red-0:color-mix(in srgb,#C62828 24%,var(--ground));--red-1:color-mix(in srgb,#C62828 46%,var(--ground));--red-2:color-mix(in srgb,#C62828 74%,var(--ground))}

/* 2. Base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.scrolly{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--text);font:400 18px/1.55 Barlow,"Arial Narrow",Arial,sans-serif;overflow-x:clip}
h1,h2,h3,p,ol,ul,figure,dl,dd{margin:0}
ol,ul{padding:0}
h1,h2,h3{font-family:Changa,"Arial Narrow",Arial,sans-serif;font-weight:600;line-height:1.02;text-wrap:balance;letter-spacing:-.01em}
a{color:inherit}
img,svg{display:block}
.defs{position:absolute}
.l5{fill:var(--l5)}.lw{fill:var(--lw)}.ls{fill:var(--ls)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(1200px,100% - 48px);margin-inline:auto}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:16px;top:-64px;z-index:100;background:var(--accent);color:var(--on);font-weight:600;padding:12px 16px;border-radius:8px;transition:top .15s}
.skip:focus{top:12px}
.fn{font:600 .68em Barlow,Arial,sans-serif;vertical-align:super;line-height:0;text-decoration:none;padding:6px 3px;margin:-6px 0;color:var(--muted)}
.fn:hover{color:var(--text);text-decoration:underline}

/* 3. Buttons */
.btn{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:12px 24px;border:0;border-radius:16px;background:var(--accent);color:var(--on);font:600 19px/1.1 Barlow,Arial,sans-serif;text-decoration:none;cursor:pointer;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s,filter .18s;box-shadow:0 0 0 0 rgba(74,127,220,.4)}
.btn .arr{display:inline-block;transition:transform .18s cubic-bezier(.2,.8,.2,1)}
.btn:hover{transform:translateY(-2px) rotate(-.6deg);box-shadow:0 12px 24px -8px rgba(74,127,220,.6)}
.btn:hover .arr{transform:translateX(4px)}
.btn:active{transform:translateY(0) scale(.97);filter:brightness(.94);box-shadow:none}
.btn.sm{min-height:44px;padding:8px 16px;border-radius:12px}

/* 4. Header */
.top{position:absolute;left:0;right:0;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px;padding:0 max(24px,calc((100vw - 1320px)/2));transition:background-color .3s,border-color .3s;border-bottom:1px solid transparent}
.logo{display:block;height:32px;width:85px;transition:transform .2s}
.logo:hover{transform:rotate(-2deg) scale(1.04)}
.logo svg{height:100%;width:100%}

/* 5. Story: static (default) layout. One step = one stacked row. */
.story{position:relative;background:var(--ground)}
.stage{display:none}
.chapters{display:none}
.step{width:min(1200px,100% - 48px);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;padding:72px 0;border-top:1px solid var(--hair)}
.step.solo{grid-template-columns:minmax(0,1fr)}
.step.solo .step-txt{max-width:900px}
.step.hero{border-top:0;padding-top:128px}
.step-txt>*+*{margin-top:24px}
.fig{margin:0}
.fig .is-2,.fig .is-3{margin-block:-13%}
.kicker{display:flex;align-items:center;gap:12px;font:600 14px/1.2 Barlow,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.kicker::before{content:"";width:12px;height:12px;border-radius:4px;background:var(--accent);transform:rotate(-8deg);flex:none}
.h-hero{font-size:clamp(46px,6.5vw,100px);line-height:.96}
.h-huge{font-size:clamp(84px,10vw,152px);line-height:.86;letter-spacing:-.02em}
.h-big{font-size:clamp(40px,5.2vw,80px)}
.h-mid{font-size:clamp(34px,3.8vw,56px)}
.lead{font-size:clamp(19px,1.6vw,23px);line-height:1.45;color:var(--text);max-width:34em}
.step p{max-width:34em}
.muted{color:var(--muted)}
.src{font-size:15px;line-height:1.45;color:var(--muted);position:relative;padding-left:28px}
.src::before{content:"";position:absolute;left:0;top:.68em;width:16px;height:2px;background:var(--muted)}
.hero-ask{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.cue{display:none}
.stats3{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:8px 32px}
.stats3 b{display:block;font:600 clamp(32px,3.4vw,52px)/1 Changa,Arial,sans-serif}
.stats3 span{font-size:15px;color:var(--muted);line-height:1.3;display:block;margin-top:4px}
.note{border-left:4px solid var(--accent);padding:4px 0 4px 20px;font-size:clamp(19px,1.5vw,22px);line-height:1.4;font-weight:600}
.pill{display:inline-block;font:600 13px/1 Barlow,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:8px;border:1.5px solid var(--accent);color:var(--text);margin-right:8px;white-space:nowrap}
.years{list-style:none;display:grid;gap:0;border-top:1px solid var(--hair)}
.years li{display:grid;grid-template-columns:88px 96px 1fr;gap:16px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--hair)}
.years em{font:600 14px Barlow,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.years b{font:600 36px/1 Changa,Arial,sans-serif}
.years span{font-size:16px;color:var(--muted);line-height:1.35}
.rule{margin-top:24px;font:600 clamp(20px,2vw,26px)/1.3 Changa,Arial,sans-serif;padding:32px;border-radius:24px;border:1px solid var(--hair);border-left:6px solid var(--accent)}
.rule b{display:block;font:600 14px Barlow,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}

/* 6. The art. One markup for the pinned stage and for each static figure. State comes from classes ge-N (reached) and is-N (now). */
.art{position:relative;width:100%;aspect-ratio:1;container-type:inline-size;max-width:640px;margin-inline:auto}
.art>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.st{transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(calc(var(--s)*var(--hs,1)))}
.st .b{fill:var(--stone)}
.st .g{fill:var(--ground);opacity:.55}
.st.sky .b{fill:var(--accent)}
.st:not(.sky){opacity:0}.ge-1 .st:not(.sky){opacity:1}
.star{fill:none;stroke:#FAFAF7;stroke-width:7;stroke-linejoin:round;opacity:0}
.ge-1 .sky .star{opacity:1}.ge-1 .sky .g{opacity:0}
.ge-8 .sky .star{opacity:0}.ge-8 .sky .g{opacity:.55}
.ge-12 .sky .star,.ge-12 .goal .star{opacity:1}.ge-12 .sky .g,.ge-12 .goal .g{opacity:0}
.ring{fill:none;stroke:var(--accent);stroke-width:5;opacity:0}
.is-2 .ring,.is-4 .ring{opacity:1}.is-8 .ring{opacity:.5}
.ring.r2{opacity:0}
.ge-2 .st:not(.sky) .b{fill:var(--red-1)}
.ge-3 .st:not(.sky) .b{fill:var(--red-2)}
.ge-3 .hub{--hs:1.25}.ge-3 .st.hub .b{fill:var(--red)}
.ge-4 .st:not(.sky) .b{fill:var(--red-0)}
.ge-5 .hub{--hs:1}
.ge-5 .st{opacity:0}
.ge-8 .st:not(.sky){opacity:.14}.ge-8 .st:not(.sky) .b{fill:var(--stone)}.ge-8 .st.sky{opacity:1}
.ge-9 .st:not(.sky){opacity:0}
.ge-12 .st:not(.sky){opacity:1}.ge-12 .st:not(.sky) .b{fill:var(--red-1)}.ge-12 .st.goal:not(.sky) .b{fill:var(--accent)}
.st-0{--x:500px;--y:500px;--r:0deg;--s:.3;--i:0}
.ge-1 .st-0{--x:125px;--y:350px;--r:-8deg;--s:1}
.ge-8 .st-0{--x:-44px;--y:155px;--r:-32deg;--s:.7}
.ge-12 .st-0{--x:125px;--y:350px;--r:-8deg;--s:1}
.st-1{--x:500px;--y:500px;--r:0deg;--s:.3;--i:1}
.ge-1 .st-1{--x:275px;--y:350px;--r:5deg;--s:1}
.ge-8 .st-1{--x:174px;--y:155px;--r:20deg;--s:.7}
.ge-12 .st-1{--x:275px;--y:350px;--r:5deg;--s:1}
.st-2{--x:500px;--y:500px;--r:0deg;--s:.3;--i:2}
.ge-1 .st-2{--x:425px;--y:350px;--r:-3deg;--s:1}
.ge-8 .st-2{--x:391px;--y:155px;--r:-12deg;--s:.7}
.ge-12 .st-2{--x:425px;--y:350px;--r:-3deg;--s:1}
.st-3{--x:500px;--y:500px;--r:0deg;--s:.3;--i:3}
.ge-1 .st-3{--x:575px;--y:350px;--r:9deg;--s:1}
.ge-8 .st-3{--x:609px;--y:155px;--r:36deg;--s:.7}
.ge-12 .st-3{--x:575px;--y:350px;--r:9deg;--s:1}
.st-4{--x:500px;--y:500px;--r:0deg;--s:.3;--i:4}
.ge-1 .st-4{--x:725px;--y:350px;--r:-5deg;--s:1}
.ge-8 .st-4{--x:826px;--y:155px;--r:-20deg;--s:.7}
.ge-12 .st-4{--x:725px;--y:350px;--r:-5deg;--s:1}
.st-5{--x:500px;--y:500px;--r:0deg;--s:.3;--i:5}
.ge-1 .st-5{--x:875px;--y:350px;--r:4deg;--s:1}
.ge-8 .st-5{--x:1044px;--y:155px;--r:16deg;--s:.7}
.ge-12 .st-5{--x:875px;--y:350px;--r:4deg;--s:1}
.st-6{--x:500px;--y:500px;--r:0deg;--s:.3;--i:6}
.ge-1 .st-6{--x:125px;--y:500px;--r:-8deg;--s:1}
.ge-8 .st-6{--x:-44px;--y:500px;--r:-32deg;--s:.7}
.ge-12 .st-6{--x:125px;--y:500px;--r:-8deg;--s:1}
.st-7{--x:500px;--y:500px;--r:0deg;--s:.3;--i:7}
.ge-1 .st-7{--x:275px;--y:500px;--r:5deg;--s:1}
.ge-8 .st-7{--x:174px;--y:500px;--r:20deg;--s:.7}
.ge-12 .st-7{--x:275px;--y:500px;--r:5deg;--s:1}
.st-8{--x:500px;--y:500px;--r:0deg;--s:.3;--i:8}
.ge-1 .st-8{--x:425px;--y:500px;--r:-3deg;--s:1}
.ge-8 .st-8{--x:391px;--y:500px;--r:-12deg;--s:.7}
.ge-12 .st-8{--x:425px;--y:500px;--r:-3deg;--s:1}
.st-9{--x:500px;--y:500px;--r:-6deg;--s:1.5;--i:9}
.ge-1 .st-9{--x:575px;--y:500px;--r:9deg;--s:1}
.ge-8 .st-9{--x:500px;--y:500px;--r:-6deg;--s:1.7}
.ge-9 .st-9{--x:150px;--y:150px;--r:-6deg;--s:.8}
.ge-10 .st-9{--x:500px;--y:200px;--r:5deg;--s:.8}
.ge-11 .st-9{--x:500px;--y:500px;--r:-6deg;--s:.7}
.ge-12 .st-9{--x:575px;--y:500px;--r:9deg;--s:1}
.st-10{--x:500px;--y:500px;--r:0deg;--s:.3;--i:10}
.ge-1 .st-10{--x:725px;--y:500px;--r:-5deg;--s:1}
.ge-8 .st-10{--x:826px;--y:500px;--r:-20deg;--s:.7}
.ge-12 .st-10{--x:725px;--y:500px;--r:-5deg;--s:1}
.st-11{--x:500px;--y:500px;--r:0deg;--s:.3;--i:11}
.ge-1 .st-11{--x:875px;--y:500px;--r:4deg;--s:1}
.ge-8 .st-11{--x:1044px;--y:500px;--r:16deg;--s:.7}
.ge-12 .st-11{--x:875px;--y:500px;--r:4deg;--s:1}
.st-12{--x:500px;--y:500px;--r:0deg;--s:.3;--i:12}
.ge-1 .st-12{--x:125px;--y:650px;--r:-8deg;--s:1}
.ge-8 .st-12{--x:-44px;--y:845px;--r:-32deg;--s:.7}
.ge-12 .st-12{--x:125px;--y:650px;--r:-8deg;--s:1}
.st-13{--x:500px;--y:500px;--r:0deg;--s:.3;--i:13}
.ge-1 .st-13{--x:275px;--y:650px;--r:5deg;--s:1}
.ge-8 .st-13{--x:174px;--y:845px;--r:20deg;--s:.7}
.ge-12 .st-13{--x:275px;--y:650px;--r:5deg;--s:1}
.st-14{--x:500px;--y:500px;--r:0deg;--s:.3;--i:14}
.ge-1 .st-14{--x:425px;--y:650px;--r:-3deg;--s:1}
.ge-8 .st-14{--x:391px;--y:845px;--r:-12deg;--s:.7}
.ge-12 .st-14{--x:425px;--y:650px;--r:-3deg;--s:1}
.st-15{--x:500px;--y:500px;--r:0deg;--s:.3;--i:15}
.ge-1 .st-15{--x:575px;--y:650px;--r:9deg;--s:1}
.ge-8 .st-15{--x:609px;--y:845px;--r:36deg;--s:.7}
.ge-12 .st-15{--x:575px;--y:650px;--r:9deg;--s:1}
.st-16{--x:500px;--y:500px;--r:0deg;--s:.3;--i:16}
.ge-1 .st-16{--x:725px;--y:650px;--r:-5deg;--s:1}
.ge-8 .st-16{--x:826px;--y:845px;--r:-20deg;--s:.7}
.ge-12 .st-16{--x:725px;--y:650px;--r:-5deg;--s:1}
.st-17{--x:500px;--y:500px;--r:0deg;--s:.3;--i:17}
.ge-1 .st-17{--x:875px;--y:650px;--r:4deg;--s:1}
.ge-8 .st-17{--x:1044px;--y:845px;--r:16deg;--s:.7}
.ge-12 .st-17{--x:875px;--y:650px;--r:4deg;--s:1}
.add-0{--x:575px;--y:500px;--r:0deg;--s:.3;--i:0;--k:0}
.ge-12 .add-0{--x:350px;--y:815px;--r:5deg;--s:1}
.add-1{--x:575px;--y:500px;--r:0deg;--s:.3;--i:0;--k:1}
.ge-12 .add-1{--x:500px;--y:815px;--r:-4deg;--s:1}
.add-2{--x:575px;--y:500px;--r:0deg;--s:.3;--i:0;--k:2}
.ge-12 .add-2{--x:650px;--y:815px;--r:7deg;--s:1}
/* the goal: the 17 stay, three new pro-Israel posts join */
.art .st.add{opacity:0}
.art .st.add .b{fill:var(--accent)}.art .st.add .star{opacity:1}.art .st.add .g{opacity:0}
.art.ge-12 .st.add{opacity:1}
.ln{stroke:var(--stone-hi);stroke-width:4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.ge-3 .ln{stroke-dashoffset:0}
.pk{fill:var(--red);opacity:0}
/* hero: 5 Stones at the center of a growing network */
.net0 .nl{stroke:var(--stone-hi);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;opacity:.55}
.net0 .nn{fill:var(--accent);transform:translate(var(--x),var(--y)) rotate(var(--r))}
.net0 .l2{opacity:.72}.net0 .l3{opacity:.5}
.net0 .np{fill:var(--text);opacity:0}
.ge-1 .net0{opacity:0}
.ge-4 .them{opacity:.35}.ge-5 .them{opacity:0}
.ln2{stroke:var(--accent);stroke-width:3;stroke-dasharray:1;stroke-dashoffset:1;opacity:.7}
.is-9 .ln2{stroke-dashoffset:0}
.tiles{opacity:0}.is-10 .tiles{opacity:1}
.tb{fill:var(--panel);stroke:var(--stone);stroke-width:3}
.tl{fill:var(--stone)}
.ck{fill:none;stroke:var(--on);stroke-width:7;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.is-10 .tile:not(.keep){opacity:.3}
.is-10 .keep .tb{fill:var(--accent);stroke:var(--accent)}.is-10 .keep .tl{fill:var(--on);opacity:.75}.is-10 .keep .ck{opacity:1}
.dot{fill:var(--accent);opacity:0}
.dl{stroke:var(--accent);stroke-width:2;opacity:0}
.gr{fill:none;stroke:var(--stone-hi);stroke-width:2;stroke-dasharray:3 11;stroke-linecap:round;opacity:0}
.is-11 .dot{opacity:1}.is-11 .dot.y2{opacity:.82}.is-11 .dot.y3{opacity:.62}
.is-11 .dl{opacity:.55}.is-11 .gr{opacity:1}
.lb{font:600 38px Changa,Arial,sans-serif;fill:var(--text);opacity:0}
.lb.sm{font:400 30px Barlow,Arial,sans-serif;fill:var(--muted)}
.lb.e{text-anchor:end}.lb.m{text-anchor:middle}
.lb.halo{paint-order:stroke;stroke:var(--ground);stroke-width:14px;stroke-linejoin:round}
.is-0 .lb.on-0{opacity:1}
.is-1 .lb.on-1{opacity:1}
.is-2 .lb.on-2{opacity:1}
.is-3 .lb.on-3{opacity:1}
.is-4 .lb.on-4{opacity:1}
.is-5 .lb.on-5{opacity:1}
.is-6 .lb.on-6{opacity:1}
.is-7 .lb.on-7{opacity:1}
.is-8 .lb.on-8{opacity:1}
.is-9 .lb.on-9{opacity:1}
.is-10 .lb.on-10{opacity:1}
.is-11 .lb.on-11{opacity:1}
.is-12 .lb.on-12{opacity:1}
/* sample campaign cards: fixed artefact colors, not theme colors */
.cards{position:absolute;inset:0;pointer-events:none}
.cd{position:absolute;overflow:hidden;padding:2.2cqw;border-radius:1.8cqw;font:400 1.55cqw/1.3 Barlow,Arial,sans-serif;display:flex;flex-direction:column;gap:1.3cqw;opacity:0;box-shadow:0 2cqw 4cqw -1cqw rgba(0,0,0,.5);transform:translate(var(--tx),var(--ty)) scale(.15)}
.is-9 .cd{opacity:1;transform:rotate(var(--rot))}
.cd.dk{background:#1C1C1C;color:#E8E4DC;border:1px solid #3A3A3A;--l5:#4A7FDC;--lw:#E8E4DC;--ls:#E8E4DC;--cm:#B9B3A6;--ch:#3A3A3A}
.cd.lt{background:#FAFAF7;color:#0F1A33;border:1px solid #D9DCE3;--l5:#0F1A33;--lw:#0F1A33;--ls:#4A7FDC;--cm:#4A5468;--ch:#D9DCE3}
.cd-a{left:0%;top:29%;width:32%;height:45%;--rot:-4deg;--tx:10cqw;--ty:-22cqw}
.cd-b{left:34%;top:27%;width:32%;height:45%;--rot:1.5deg;--tx:-22cqw;--ty:-20cqw}
.cd-c{left:68%;top:29.5%;width:32%;height:22%;--rot:3deg;--tx:-56cqw;--ty:-22cqw}
.cd-d{left:68.5%;top:54%;width:31%;height:21.5%;--rot:-2.5deg;--tx:-56cqw;--ty:-45cqw}
.cd-top{display:flex;justify-content:space-between;align-items:center;gap:1cqw;color:var(--cm);font-size:1.35cqw}
.cd-logo{height:2.6cqw;width:6.9cqw;flex:none}
.cd-tag{border:1px solid #4A7FDC;border-radius:.6cqw;padding:.2cqw .8cqw;color:inherit}
.cd-h{font:600 2.55cqw/1.05 Changa,Arial,sans-serif}
.cd-h.xl{font-size:4.3cqw;line-height:1}
.cd-h.sky{font-size:3.7cqw;color:#4A7FDC}
.cd-chart{width:100%;flex:1;min-height:0}
.cd-chart text{font-family:Changa,Arial,sans-serif;font-weight:600}
.cd-foot{margin-top:auto;padding-top:1cqw;border-top:1px solid var(--ch);color:var(--cm);font-size:1.3cqw}
.cd-grid{display:grid;grid-template-columns:1fr 1fr;gap:1cqw;font:600 1.5cqw/1.1 Changa,Arial,sans-serif}
.cd-grid span{padding:1.3cqw;border-radius:1.1cqw;border:1.5px solid #0F1A33}
.cd-grid .k1{background:#4A7FDC;border-color:#4A7FDC}.cd-grid .k3{background:#0F1A33;color:#FAFAF7}
.cd-q{display:flex;flex-direction:column;gap:.9cqw}
.cd-ask{font:600 1.5cqw/1.15 Changa,Arial,sans-serif}
.cd-ask span{display:block;font:400 1.2cqw Barlow,Arial,sans-serif;color:var(--cm);margin-bottom:.3cqw}
.cd-c .cd-foot{display:none}
.cd-ep{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ch);padding-top:.8cqw;font-size:1.5cqw}
.cd-ep span{display:flex;align-items:center;gap:.8cqw}
.cd-ep i{width:1.8cqw;height:1.8cqw;border-radius:.6cqw;background:#4A7FDC;transform:rotate(-8deg)}
.cd-ep b{font:600 1.7cqw Changa,Arial,sans-serif}
.cards-label{position:absolute;left:0;right:0;top:80%;text-align:center;font:400 max(12px,2.2cqw)/1.6 Barlow,Arial,sans-serif;color:var(--muted);opacity:0;max-width:none!important}
.cards-label .pill{font-size:max(11px,1.8cqw)}
.is-9 .cards-label{opacity:1}
/* "at the same time" facts: one card, one picture, one callout */
.facts{position:absolute;inset:0;pointer-events:none}
.fact{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:4.5cqw;opacity:0;padding:6cqw;background:var(--panel);border:1px solid var(--hair);border-radius:5cqw}
.is-5 .f5,.is-6 .f6,.is-7 .f7{opacity:1}
.f-cap{font:600 max(12px,2.5cqw)/1.3 Barlow,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);max-width:none!important}
.f-src{font:400 max(12px,2.3cqw)/1.3 Barlow,Arial,sans-serif;color:var(--muted);max-width:none!important}
.f-call{display:flex;align-items:flex-end;gap:3cqw;max-width:none!important}
.f-call b{font:600 24cqw/.8 Changa,Arial,sans-serif;letter-spacing:-.03em}
.f-call span{font:600 max(14px,4.4cqw)/1.1 Barlow,Arial,sans-serif;padding-bottom:.6cqw}
/* Pew: 52% now, and the part that was lost */
.f5 .f-call b{font-size:21cqw}.f5 .f-call span{max-width:9em}
.drop{position:relative;height:11cqw;margin:5cqw 0 1cqw;border-radius:2.6cqw;background:var(--stone-dim)}
.drop i{position:absolute;left:0;top:0;height:100%;border-radius:2.6cqw}
.d-lost{width:67%;background:var(--red)}
.d-keep{width:52%;background:var(--text)}
.drop .d-half{left:50%;top:-5cqw;height:calc(100% + 5cqw);width:0;border-radius:0;border-left:2px dashed var(--ground)}
.d-50{position:absolute;bottom:calc(100% + 1.4cqw);left:50%;transform:translateX(-50%);font:600 max(11px,2.4cqw)/1 Barlow,Arial,sans-serif;color:var(--muted);letter-spacing:.06em}
.d-gap{position:absolute;left:52%;width:15%;top:0;height:100%;display:grid;place-items:center;font:600 max(13px,3.8cqw)/1 Changa,Arial,sans-serif;color:#FAFAF7}
/* Senate: one grid of 100, the change in strong red */
.f-sen{display:grid;grid-template-columns:46cqw minmax(0,1fr);gap:5cqw;align-items:center}
.sen{display:grid;grid-template-columns:repeat(10,1fr);gap:1cqw}
.sen i{aspect-ratio:1;border-radius:28%;background:var(--stone-dim)}
.sen i.was{background:var(--red-1)}
.sen i.new{background:var(--red)}
.f-sen .f-call{flex-direction:column;align-items:flex-start;gap:2.4cqw}
.f-sen .f-call b{font-size:19cqw}
.key{list-style:none;display:grid;gap:1.6cqw;margin-top:2cqw;font:400 max(12px,2.6cqw)/1.2 Barlow,Arial,sans-serif;color:var(--muted)}
.key li{display:flex;align-items:center;gap:1.6cqw}
.key i{flex:none;width:3cqw;height:3cqw;border-radius:28%}
.key .was{background:var(--red-1)}.key .new{background:var(--red)}
/* governments: a short timeline */
.tl{list-style:none;display:grid;gap:5cqw;position:relative;padding-left:9cqw}
.tl::before{content:"";position:absolute;left:1.9cqw;top:2cqw;bottom:2cqw;width:2px;background:var(--hair)}
.tl li{position:relative;display:grid;gap:1cqw}
.tl li::before{content:"";position:absolute;left:-9cqw;top:.6cqw;width:4cqw;height:4cqw;border-radius:30%;background:var(--red-2);transform:rotate(-8deg)}
.tl em{font:600 max(11px,2.5cqw)/1 Barlow,Arial,sans-serif;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.tl b{font:600 max(15px,4.5cqw)/1.08 Changa,Arial,sans-serif}
.tl .hot::before{background:var(--red);width:5.4cqw;height:5.4cqw;left:-9.7cqw;top:0}
.tl .hot b{font-size:max(17px,5.6cqw)}

/* 7. Calm sections */
.band{padding:112px 0;background:var(--ground);border-top:1px solid var(--hair)}
.band-head{display:grid;gap:24px;margin-bottom:64px;max-width:900px}
.band h2{font-size:clamp(38px,5vw,72px)}
.band .lead{color:var(--muted)}
/* how we work */
.commit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none}
.commit li{background:var(--panel);border:1px solid var(--hair);border-radius:24px;padding:32px 24px;display:grid;gap:12px;align-content:start;transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s,box-shadow .25s}
.commit li:hover{transform:translateY(-6px) rotate(-.5deg);border-color:var(--accent);box-shadow:var(--shadow)}
.commit svg{width:72px;height:72px;margin-bottom:12px;overflow:visible}
.commit .i-st{fill:var(--stone-dim);transition:transform .3s cubic-bezier(.2,.8,.2,1);transform-origin:36px 36px}
.commit li:hover .i-st{transform:rotate(-10deg)}
.commit .i-ln{fill:none;stroke:var(--text);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.commit .i-no{fill:none;stroke:var(--text);stroke-width:4.5;stroke-linecap:round}
.commit .i-sky{fill:var(--accent)}
.commit h3{font-size:26px;line-height:1.08}
.commit p{font-size:17px;color:var(--muted);line-height:1.45}
/* who */
.orgs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.org{background:var(--panel);border:1px solid var(--hair);border-radius:32px;padding:48px;display:grid;gap:24px;align-content:start}
.org-tag{display:inline-flex;align-items:center;gap:10px;font:600 14px Barlow,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.org-tag i{width:14px;height:14px;border-radius:5px;background:var(--accent);transform:rotate(-8deg)}
.org h3{font-size:clamp(30px,3vw,44px)}
.org-nums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--hair)}
.org-nums div{padding:20px 16px 20px 0;border-bottom:1px solid var(--hair)}
.org-nums dt{font:600 clamp(34px,3.5vw,52px)/1 Changa,Arial,sans-serif;letter-spacing:-.01em}
.org-nums dd{font-size:16px;color:var(--muted);line-height:1.3;margin-top:6px}
.lead-by{display:flex;gap:16px;align-items:center}
.lead-by .mono{flex:none;width:56px;height:56px;border-radius:18px;background:var(--accent);color:var(--on);display:grid;place-items:center;font:600 22px Changa,Arial,sans-serif;transform:rotate(-5deg)}
.lead-by b{display:block;font:600 22px/1.15 Changa,Arial,sans-serif}
.lead-by span{font-size:16px;color:var(--muted)}
.org .src{margin-top:auto}
.partners{margin-top:24px;display:grid;grid-template-columns:auto 1fr;gap:16px 32px;align-items:center;padding:32px 48px;border:1px solid var(--hair);border-radius:32px}
.partners h3{font:600 14px Barlow,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.partners ul{list-style:none;display:flex;flex-wrap:wrap;gap:12px}
.partners li{font:600 17px/1.2 Barlow,Arial,sans-serif;padding:12px 16px;border-radius:14px;background:var(--stone-dim);transition:transform .2s}
.partners li:nth-child(odd):hover{transform:rotate(-2deg)}.partners li:nth-child(even):hover{transform:rotate(2deg)}
/* what it takes */
.yrs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;align-items:stretch}
.yr{background:var(--panel);border:1px solid var(--hair);border-radius:32px;padding:32px;display:grid;gap:16px;align-content:start;position:relative;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s}
.yr:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--accent)}
.yr.now{border:2px solid var(--accent)}
.yr .yr-tag{display:flex;justify-content:space-between;align-items:center;font:600 14px Barlow,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.yr-tag b{color:var(--text)}.yr-tag span{white-space:nowrap}
.yr .yr-amt{color:var(--text);min-height:0;font:600 clamp(40px,4.4vw,64px)/1 Changa,Arial,sans-serif;letter-spacing:-.01em}
.yr-bar{height:12px;border-radius:6px;background:var(--stone-dim);overflow:hidden}
.yr-bar i{display:block;height:100%;border-radius:6px;background:var(--accent);transform-origin:left}
.yr p{font-size:17px;line-height:1.45;color:var(--muted);min-height:4.4em}.yr .yr-tag{min-height:0}
.yr dl{display:grid;gap:0;border-top:1px solid var(--hair)}
.yr dl div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--hair)}
.yr dt{font-size:16px;color:var(--muted)}
.yr dd{font:600 26px/1 Changa,Arial,sans-serif}
.total{margin-top:24px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 32px;padding:32px 0;border-top:2px solid var(--text);border-bottom:1px solid var(--hair)}
.total span{font:600 14px Barlow,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.total b{font:600 clamp(44px,6vw,88px)/1 Changa,Arial,sans-serif;letter-spacing:-.01em}
.split{margin-top:64px;display:grid;gap:24px}
.split h3{font-size:clamp(26px,2.6vw,36px)}
.split-bar{display:flex;height:56px;border-radius:18px;overflow:hidden;gap:3px}
.split-bar i{display:block;height:100%;transition:opacity .2s,transform .5s cubic-bezier(.2,.8,.2,1);transform-origin:left}
.split-bar.hl i{opacity:.25}.split-bar.hl i.hot{opacity:1}
.k0{background:var(--text)}.k1{background:var(--accent)}.k2{background:color-mix(in srgb,var(--text) 60%,var(--ground))}.k3{background:color-mix(in srgb,var(--accent) 55%,var(--ground))}.k4{background:color-mix(in srgb,var(--text) 34%,var(--ground))}.k5{background:color-mix(in srgb,var(--accent) 30%,var(--ground))}
.split ul{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}
.split li{display:grid;grid-template-columns:16px 1fr auto;gap:12px;align-items:center;padding:14px 8px;border-bottom:1px solid var(--hair);border-radius:8px;transition:background-color .2s;cursor:default}
.split li:hover{background:var(--stone-dim)}
.split li i{width:16px;height:16px;border-radius:5px;transform:rotate(-8deg)}
.split li span{font-size:17px}
.split li b{font:600 22px/1 Changa,Arial,sans-serif}
.ask-row{margin-top:64px;display:flex;flex-wrap:wrap;gap:24px 48px;align-items:center;justify-content:space-between}
.ask-row p{font:600 clamp(28px,3.4vw,48px)/1.05 Changa,Arial,sans-serif;max-width:16em;text-wrap:balance}
/* contact */
.contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:64px;align-items:start}
.contact h2{font-size:clamp(46px,6.4vw,96px)}
.who-c{margin-top:32px;display:grid;gap:4px;padding-top:24px;border-top:1px solid var(--hair)}
.who-c b{font:600 26px/1.1 Changa,Arial,sans-serif}
.who-c a{font-weight:600;text-underline-offset:4px;word-break:break-word;display:inline-block;padding:10px 0}
.who-c a:hover{color:var(--accent)}
form{display:grid;gap:20px;background:var(--panel);border:1px solid var(--hair);border-radius:32px;padding:40px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{display:grid;gap:8px}
label{font:600 16px/1.2 Barlow,Arial,sans-serif}
.opt{font-weight:400;color:var(--muted)}
input,select,textarea{font:400 18px/1.3 Barlow,Arial,sans-serif;color:var(--text);background:var(--ground);border:1.5px solid var(--hair);border-radius:12px;padding:12px 14px;min-height:48px;width:100%;transition:border-color .15s,box-shadow .15s}
textarea{min-height:120px;resize:vertical}
input:hover,select:hover,textarea:hover{border-color:var(--muted)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 40%,transparent)}
.err{display:none;font-size:15px;font-weight:600}
.err::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--text);margin-right:8px;transform:rotate(45deg)}
.field.bad .err{display:block}
.field.bad input{border-color:var(--text);border-width:2.5px}
.fine{font-size:15px;color:var(--muted)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.status{display:none;padding:20px;border-radius:16px;border:2px solid var(--hair);font-weight:600}
.status.show{display:block}
.status.ok{border-color:var(--accent)}
.status.no{border-color:var(--red)}
.btn[disabled]{opacity:.6;cursor:default;transform:none;box-shadow:none}
/* sources, footer */
.sources h2{font-size:32px;margin-bottom:24px}
.sources ol{padding-left:24px;display:grid;gap:10px;font-size:15px;line-height:1.5;color:var(--muted);columns:2;column-gap:48px;display:block}
.sources li{margin-bottom:10px;break-inside:avoid}
.sources li:target{color:var(--text)}
.sources a{text-underline-offset:3px;word-break:break-word}
.sources a:hover{color:var(--text)}
.sources p{font-size:15px;color:var(--muted);margin-top:16px}
.foot{padding:48px 0 64px;border-top:1px solid var(--hair);background:var(--ground)}
.foot .wrap{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center;font-size:15px;color:var(--muted)}
.foot .logo{height:40px;width:106px}

/* 8. Reveal (only when JS added html.anim) */
@media screen{
html.anim .rv{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:var(--rd,0s)}
html.anim .rv.in{opacity:1;transform:none}
html.anim .yr-bar i,html.anim .split-bar i{transform:scaleX(0)}
html.anim .in .yr-bar i,html.anim .split-bar.in i{transform:scaleX(1);transition:transform .9s cubic-bezier(.2,.8,.2,1) .25s,opacity .2s}
html.anim .split-bar.in i:nth-child(2){transition-delay:.33s,0s}html.anim .split-bar.in i:nth-child(3){transition-delay:.41s,0s}html.anim .split-bar.in i:nth-child(4){transition-delay:.49s,0s}html.anim .split-bar.in i:nth-child(5){transition-delay:.57s,0s}html.anim .split-bar.in i:nth-child(6){transition-delay:.65s,0s}
}

/* 9. Scrollytelling. Only on screen, only when JS added html.scrolly. */
@media screen{
html.scrolly .top{position:fixed;background:color-mix(in srgb,var(--ground) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
html.scrolly .top.off{--ground:var(--p-ground);--text:var(--p-text);--l5:var(--p-l5);--lw:var(--p-lw);--ls:var(--p-ls);--hair:var(--p-hair);border-bottom-color:var(--hair)}
html.scrolly .stage{display:block;position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--ground)}
html.scrolly .fig{display:none}
html.scrolly .step{width:auto;margin:0;border:0;display:flex;padding:0}
html.scrolly .steps{position:relative;z-index:2}
html.scrolly .step-txt{transition:opacity .5s ease,transform .6s cubic-bezier(.2,.8,.2,1);opacity:.22;transform:translateY(12px)}
html.scrolly .step.active .step-txt{opacity:1;transform:none}
html.scrolly .cue{display:flex;align-items:center;gap:10px;font:600 14px Barlow,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
html.scrolly .cue i{width:14px;height:14px;border-radius:5px;background:var(--accent);animation:nudge 1.6s cubic-bezier(.4,0,.2,1) 1.6s 3}
@keyframes nudge{0%,100%{transform:rotate(-8deg)}50%{transform:translateY(10px) rotate(8deg)}}
/* chapter indicator: five stones */
html.scrolly .chapters{display:flex;position:fixed;z-index:19;list-style:none;transition:opacity .3s,visibility .3s}
html.scrolly .chapters.off{opacity:0;visibility:hidden}
.chapters a{position:relative;display:grid;place-items:center;width:44px;height:44px;text-decoration:none}
.chapters i{width:14px;height:14px;border-radius:5px;background:var(--stone);transition:transform .35s cubic-bezier(.2,.8,.2,1),background-color .35s}
.chapters li:nth-child(1) i{transform:rotate(-8deg)}.chapters li:nth-child(2) i{transform:rotate(5deg)}.chapters li:nth-child(3) i{transform:rotate(-3deg)}.chapters li:nth-child(4) i{transform:rotate(9deg)}.chapters li:nth-child(5) i{transform:rotate(-5deg)}
.chapters .past i{background:var(--stone-hi)}
.chapters .cur i{background:var(--accent);transform:scale(1.55) rotate(-8deg)!important}
.chapters a:hover i{transform:scale(1.4)!important;background:var(--text)}
.chapters a:active i{transform:scale(1.1)!important}
.chapters span{position:absolute;white-space:nowrap;font:600 14px/1 Barlow,Arial,sans-serif;background:var(--text);color:var(--ground);padding:8px 10px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}
.chapters a:hover span,.chapters a:focus-visible span{opacity:1;transform:none}
/* live stage transitions */
html.scrolly .live .st{transition:transform 1.1s cubic-bezier(.2,.8,.2,1) calc(var(--i)*22ms),opacity .7s ease}
html.scrolly .live .star,html.scrolly .live .g,html.scrolly .live .net0{transition:opacity .5s ease}
@keyframes drift{from{opacity:0;transform:translate(calc(500px + (var(--x) - 500px)*1.5),calc(560px + (var(--y) - 500px)*1.5)) rotate(calc(var(--r)*3)) scale(.4)}}
html.scrolly .live .b{transition:fill .7s ease}
html.scrolly .live.is-12 .st.add{transition:transform .9s cubic-bezier(.2,1.2,.4,1) calc(.6s + var(--k)*.45s),opacity .4s ease calc(.6s + var(--k)*.45s)}
html.scrolly .live.is-3 .st:not(.sky):not(.hub) .b{transition:fill .9s ease calc(1.5s + var(--i)*40ms)}
html.scrolly .live:not(.ge-5) .d-keep{width:67%}
html.scrolly .live.is-5 .d-keep{transition:width 1.3s cubic-bezier(.6,0,.2,1) .8s}
html.scrolly .live .d-gap{opacity:0}
html.scrolly .live.ge-5 .d-gap{opacity:1;transition:opacity .5s ease 1.9s}
/* one shared flash for every "this is the change" mark. It keeps going, lightly. */
@keyframes flash{from{opacity:1}to{opacity:.38}}
html.scrolly .live.is-5 .d-lost{animation:flash 1.2s ease-in-out 2.2s infinite alternate}
html.scrolly .live.is-6 .sen i.new{animation:flash 1.2s ease-in-out .8s infinite alternate}
html.scrolly .live.is-7 .tl .hot::before{animation:flash 1.2s ease-in-out 2.2s infinite alternate}
/* the sky post hums: a ring pushes out and stops at its neighbours */
@keyframes hum{from{transform:scale(1);opacity:.9}to{transform:scale(1.3);opacity:0}}
html.scrolly .live.is-1 .r2,html.scrolly .live.is-2 .r2,html.scrolly .live.is-4 .r2{animation:hum 1.8s ease-out infinite}
/* boxes that carry the message along a line */
@keyframes hop{0%{transform:translate(var(--x1),var(--y1));opacity:0}6%{opacity:1}58%{opacity:1}66%{transform:translate(var(--x2),var(--y2));opacity:0}100%{transform:translate(var(--x2),var(--y2));opacity:0}}
html.scrolly .live.is-3 .pk{animation:hop 2.4s linear calc(.9s + var(--d)) infinite}
/* hero network: grows once, then the message keeps moving out */
@keyframes draw{from{stroke-dashoffset:1}}
@keyframes pop{from{transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(0)}}
@keyframes hop0{0%{transform:translate(var(--x1),var(--y1));opacity:0}3%{opacity:.9}19%{opacity:.9}22%{transform:translate(var(--x2),var(--y2));opacity:0}100%{transform:translate(var(--x2),var(--y2));opacity:0}}
html.scrolly .live .net0 .nl{animation:draw .6s ease var(--d) backwards}
html.scrolly .live .net0 .nn{animation:pop .6s cubic-bezier(.2,1.3,.4,1) var(--d) backwards}
html.scrolly .live.is-0 .net0 .np{animation:hop0 4.2s linear var(--d) infinite}
html.scrolly .live .tl li{opacity:0;transform:translateY(2cqw)}
html.scrolly .live.is-7 .tl li{opacity:1;transform:none;transition:opacity .5s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
html.scrolly .live.is-7 .tl li:nth-child(1){transition-delay:.3s}html.scrolly .live.is-7 .tl li:nth-child(2){transition-delay:.7s}html.scrolly .live.is-7 .tl li:nth-child(3){transition-delay:1.1s}html.scrolly .live.is-7 .tl li:nth-child(4){transition-delay:1.6s}
/* full snap: one gesture, one step. The class "snap" is on only while the story is on screen. */
html.scrolly.snap{scroll-snap-type:y mandatory}
html.scrolly .step{scroll-snap-align:start;scroll-snap-stop:always}
html.scrolly #how{scroll-snap-align:start}
html.scrolly .live .ln{transition:stroke-dashoffset .8s ease var(--d)}
html.scrolly .live .them,html.scrolly .live .ring,html.scrolly .live .fact,html.scrolly .live .tiles,html.scrolly .live .cards-label{transition:opacity .6s ease}
html.scrolly .live .ln2{transition:stroke-dashoffset .6s ease}
html.scrolly .live .lb{transition:opacity .35s ease}
html.scrolly .live[class*="is-"] .lb{transition-delay:.45s}
html.scrolly .live .cd{transition:transform .9s cubic-bezier(.2,.9,.2,1),opacity .45s ease}
html.scrolly .live.is-9 .cd-a{transition-delay:.25s}html.scrolly .live.is-9 .cd-b{transition-delay:.37s}html.scrolly .live.is-9 .cd-c{transition-delay:.49s}html.scrolly .live.is-9 .cd-d{transition-delay:.61s}
html.scrolly .live.is-9 .cards-label{transition-delay:1s}
html.scrolly .live .tile,html.scrolly .live .tb,html.scrolly .live .tl,html.scrolly .live .ck{transition:opacity .5s ease,fill .5s ease,stroke .5s ease}
html.scrolly .live.is-10 .tile,html.scrolly .live.is-10 .tb,html.scrolly .live.is-10 .tl,html.scrolly .live.is-10 .ck{transition-delay:1.1s}
html.scrolly .live .dot,html.scrolly .live .dl,html.scrolly .live .gr{transition:opacity .3s ease}
html.scrolly .live.is-11 .dot,html.scrolly .live.is-11 .dl{transition:opacity .5s ease var(--d)}
html.scrolly .live.is-11 .gr.y1,html.scrolly .live.is-11 .lb.y1{transition-delay:.3s}
html.scrolly .live.is-11 .gr.y2,html.scrolly .live.is-11 .lb.y2{transition-delay:1.3s}
html.scrolly .live.is-11 .gr.y3,html.scrolly .live.is-11 .lb.y3{transition-delay:2.5s}
html.scrolly .live.is-11 .gr.y4,html.scrolly .live.is-11 .lb.y4{transition-delay:3.5s}
}
/* desktop pinned layout */
@media screen and (min-width:1000px){
html.scrolly .steps{margin-top:-100vh;margin-top:-100svh;pointer-events:none}
html.scrolly .step{min-height:100vh;min-height:100svh;align-items:center;scroll-margin-top:0;padding:88px 0 48px}
html.scrolly .step.hero{min-height:100vh;min-height:100svh;scroll-margin-top:0;padding-top:64px}
html.scrolly .step-txt{pointer-events:auto;width:min(42vw,600px);margin-left:max(32px,calc((100vw - 1320px)/2))}
html.scrolly .stage .art{position:absolute;right:max(64px,calc((100vw - 1320px)/2));top:calc(50% + 24px);transform:translateY(-50%);width:min(48vw,100vh - 150px,700px);max-width:none;margin:0}
html.scrolly .chapters{right:10px;top:50%;transform:translateY(-50%);flex-direction:column}
.chapters span{right:44px;transform:translateX(6px)}
}
/* phone and tablet pinned layout: stage on top, text scrolls beneath it */
@media screen and (max-width:999.98px){
html.scrolly .stage{height:48vh;height:48svh;z-index:3;border-bottom:1px solid var(--hair)}
html.scrolly .stage .art{position:absolute;left:50%;top:calc(50% + 10px);transform:translate(-50%,-50%);width:min(100vw - 28px,48vh - 100px);width:min(100vw - 28px,48svh - 100px);max-width:none;margin:0}
html.scrolly .stage .cards{transform:scale(1.14);transform-origin:50% 55%}
html.scrolly .step{min-height:52vh;min-height:52svh;align-items:flex-start;padding:20px 20px 24px;scroll-margin-top:48vh;scroll-margin-top:48svh}
html.scrolly .more{display:none}
html.scrolly .step-txt>*+*{margin-top:12px}
html.scrolly .lead{font-size:17px;line-height:1.4}
html.scrolly .step p{font-size:16px;line-height:1.4}
html.scrolly .step .src{font-size:13px}
html.scrolly .note{font-size:16px;padding-left:14px}
html.scrolly .h-big{font-size:clamp(28px,7.6vw,44px)}
html.scrolly .h-mid{font-size:clamp(26px,7vw,40px)}
html.scrolly .h-hero{font-size:clamp(36px,10vw,64px)}
html.scrolly .h-huge{font-size:clamp(64px,19vw,112px)}
html.scrolly .step-txt{opacity:.3;width:100%}
html.scrolly .chapters{left:50%;top:48vh;top:48svh;transform:translate(-50%,-100%);flex-direction:row}
html.scrolly .chapters a{height:36px}
.chapters i{width:10px;height:10px;border-radius:4px}
.chapters span{bottom:40px;left:50%;transform:translate(-50%,4px)}
.chapters a:hover span,.chapters a:focus-visible span{transform:translate(-50%,0)}
.lb{font-size:46px}.lb.sm{font-size:37px}
}

/* 9b. Phone and tablet: one call to action, fixed at the bottom of every screen */
.cta-bar{display:none}
@media screen and (max-width:999.98px){
.cta-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--ground) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--hair);transition:transform .3s ease,visibility .3s}
.cta-bar.off{transform:translateY(100%);visibility:hidden}
.cta-bar .btn{width:100%;justify-content:center;min-height:48px}
.top .btn{display:none}
body{padding-bottom:72px}
html.scrolly .step{padding-bottom:96px}
.step .btn{display:none}
}

/* 10. Smaller screens, all modes */
@media (max-width:999.98px){
.wrap{width:min(1200px,100% - 40px)}
.top{height:56px;padding:0 16px}
.logo{height:28px;width:74px}
.step{grid-template-columns:minmax(0,1fr);gap:32px;padding:56px 0;width:min(1200px,100% - 40px)}
.step.hero{padding-top:88px}
.step-txt>*+*{margin-top:18px}
.h-hero{font-size:clamp(40px,11.5vw,72px)}
.h-huge{font-size:clamp(72px,22vw,128px)}
.h-big{font-size:clamp(34px,9vw,60px)}
.h-mid{font-size:clamp(30px,7.6vw,46px)}
.band{padding:72px 0}
.band-head{margin-bottom:40px}
.commit{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.orgs,.yrs,.contact{grid-template-columns:minmax(0,1fr)}
.org{padding:32px 24px;border-radius:24px}
.partners{grid-template-columns:1fr;padding:24px;border-radius:24px}
.yr p{min-height:0}
.split ul{grid-template-columns:minmax(0,1fr)}
.sources ol{columns:1}
form{padding:24px;border-radius:24px}
.contact{gap:40px}
}
@media (max-width:560px){
.commit{grid-template-columns:minmax(0,1fr)}
.row2{grid-template-columns:1fr}
.stats3{gap:8px 20px}
.years li{grid-template-columns:64px 72px 1fr;gap:12px}
.years b{font-size:30px}
.split-bar{height:44px;border-radius:14px}
.btn{font-size:19px;padding:12px 20px}
.top .btn{padding:8px 12px}
}
@media print{
.top{position:static}.skip,.cue{display:none}
.band,.step{padding:32px 0;break-inside:avoid}
body{font-size:12pt}
}

/* 11. Generated by page/build.py from style attributes. Do not edit. */
.x0{--d:0.30s}
.x1{--d:1.00s}
.x2{--d:1.70s}
.x3{--x1:500px;--y1:500px;--x2:691px;--y2:495px;--d:2.60s}
.x4{--x1:500px;--y1:500px;--x2:599px;--y2:666px;--d:2.60s}
.x5{--x1:500px;--y1:500px;--x2:409px;--y2:653px;--d:2.60s}
.x6{--x1:500px;--y1:500px;--x2:301px;--y2:510px;--d:2.60s}
.x7{--x1:500px;--y1:500px;--x2:405px;--y2:344px;--d:2.60s}
.x8{--x1:500px;--y1:500px;--x2:603px;--y2:341px;--d:2.60s}
.x9{--x1:691px;--y1:495px;--x2:821px;--y2:426px;--d:3.45s}
.x10{--x1:691px;--y1:495px;--x2:808px;--y2:587px;--d:3.45s}
.x11{--x1:599px;--y1:666px;--x2:737px;--y2:744px;--d:3.45s}
.x12{--x1:599px;--y1:666px;--x2:586px;--y2:825px;--d:3.45s}
.x13{--x1:409px;--y1:653px;--x2:412px;--y2:806px;--d:3.45s}
.x14{--x1:409px;--y1:653px;--x2:259px;--y2:729px;--d:3.45s}
.x15{--x1:301px;--y1:510px;--x2:196px;--y2:588px;--d:3.45s}
.x16{--x1:301px;--y1:510px;--x2:185px;--y2:403px;--d:3.45s}
.x17{--x1:405px;--y1:344px;--x2:264px;--y2:254px;--d:3.45s}
.x18{--x1:405px;--y1:344px;--x2:419px;--y2:168px;--d:3.45s}
.x19{--x1:603px;--y1:341px;--x2:584px;--y2:172px;--d:3.45s}
.x20{--x1:603px;--y1:341px;--x2:741px;--y2:257px;--d:3.45s}
.x21{--x1:821px;--y1:426px;--x2:930px;--y2:402px;--d:4.30s}
.x22{--x1:821px;--y1:426px;--x2:944px;--y2:523px;--d:4.30s}
.x23{--x1:808px;--y1:587px;--x2:899px;--y2:709px;--d:4.30s}
.x24{--x1:737px;--y1:744px;--x2:812px;--y2:820px;--d:4.30s}
.x25{--x1:737px;--y1:744px;--x2:689px;--y2:907px;--d:4.30s}
.x26{--x1:586px;--y1:825px;--x2:546px;--y2:952px;--d:4.30s}
.x27{--x1:412px;--y1:806px;--x2:376px;--y2:947px;--d:4.30s}
.x28{--x1:412px;--y1:806px;--x2:227px;--y2:875px;--d:4.30s}
.x29{--x1:259px;--y1:729px;--x2:109px;--y2:753px;--d:4.30s}
.x30{--x1:196px;--y1:588px;--x2:71px;--y2:607px;--d:4.30s}
.x31{--x1:196px;--y1:588px;--x2:39px;--y2:443px;--d:4.30s}
.x32{--x1:185px;--y1:403px;--x2:97px;--y2:292px;--d:4.30s}
.x33{--x1:264px;--y1:254px;--x2:193px;--y2:179px;--d:4.30s}
.x34{--x1:264px;--y1:254px;--x2:322px;--y2:82px;--d:4.30s}
.x35{--x1:419px;--y1:168px;--x2:452px;--y2:63px;--d:4.30s}
.x36{--x1:584px;--y1:172px;--x2:636px;--y2:55px;--d:4.30s}
.x37{--x1:584px;--y1:172px;--x2:748px;--y2:112px;--d:4.30s}
.x38{--x1:741px;--y1:257px;--x2:860px;--y2:243px;--d:4.30s}
.x39{--x:691px;--y:495px;--r:-3deg;--d:0.60s}
.x40{--x:599px;--y:666px;--r:1deg;--d:0.62s}
.x41{--x:409px;--y:653px;--r:12deg;--d:0.64s}
.x42{--x:301px;--y:510px;--r:1deg;--d:0.66s}
.x43{--x:405px;--y:344px;--r:-9deg;--d:0.68s}
.x44{--x:603px;--y:341px;--r:-11deg;--d:0.70s}
.x45{--x:821px;--y:426px;--r:7deg;--d:1.30s}
.x46{--x:808px;--y:587px;--r:7deg;--d:1.32s}
.x47{--x:737px;--y:744px;--r:12deg;--d:1.34s}
.x48{--x:586px;--y:825px;--r:-11deg;--d:1.36s}
.x49{--x:412px;--y:806px;--r:0deg;--d:1.38s}
.x50{--x:259px;--y:729px;--r:10deg;--d:1.40s}
.x51{--x:196px;--y:588px;--r:6deg;--d:1.42s}
.x52{--x:185px;--y:403px;--r:-2deg;--d:1.44s}
.x53{--x:264px;--y:254px;--r:5deg;--d:1.46s}
.x54{--x:419px;--y:168px;--r:-4deg;--d:1.48s}
.x55{--x:584px;--y:172px;--r:4deg;--d:1.50s}
.x56{--x:741px;--y:257px;--r:-5deg;--d:1.52s}
.x57{--x:930px;--y:402px;--r:-11deg;--d:2.00s}
.x58{--x:944px;--y:523px;--r:-3deg;--d:2.02s}
.x59{--x:899px;--y:709px;--r:-12deg;--d:2.04s}
.x60{--x:812px;--y:820px;--r:-10deg;--d:2.06s}
.x61{--x:689px;--y:907px;--r:-9deg;--d:2.08s}
.x62{--x:546px;--y:952px;--r:7deg;--d:2.10s}
.x63{--x:376px;--y:947px;--r:5deg;--d:2.12s}
.x64{--x:227px;--y:875px;--r:-11deg;--d:2.14s}
.x65{--x:109px;--y:753px;--r:-6deg;--d:2.16s}
.x66{--x:71px;--y:607px;--r:1deg;--d:2.18s}
.x67{--x:39px;--y:443px;--r:-3deg;--d:2.20s}
.x68{--x:97px;--y:292px;--r:7deg;--d:2.22s}
.x69{--x:193px;--y:179px;--r:-4deg;--d:2.24s}
.x70{--x:322px;--y:82px;--r:-8deg;--d:2.26s}
.x71{--x:452px;--y:63px;--r:10deg;--d:2.28s}
.x72{--x:636px;--y:55px;--r:-11deg;--d:2.30s}
.x73{--x:748px;--y:112px;--r:-2deg;--d:2.32s}
.x74{--x:860px;--y:243px;--r:-2deg;--d:2.34s}
.x75{--d:0.00s}
.x76{--x1:275px;--y1:500px;--x2:125px;--y2:350px;--d:0.00s}
.x77{--d:0.04s}
.x78{--x1:275px;--y1:500px;--x2:275px;--y2:350px;--d:1.05s}
.x79{--d:0.08s}
.x80{--x1:275px;--y1:500px;--x2:425px;--y2:350px;--d:2.10s}
.x81{--d:0.12s}
.x82{--x1:275px;--y1:500px;--x2:575px;--y2:350px;--d:0.75s}
.x83{--d:0.16s}
.x84{--x1:275px;--y1:500px;--x2:725px;--y2:350px;--d:1.80s}
.x85{--d:0.20s}
.x86{--x1:275px;--y1:500px;--x2:875px;--y2:350px;--d:0.45s}
.x87{--d:0.24s}
.x88{--x1:275px;--y1:500px;--x2:125px;--y2:500px;--d:1.50s}
.x89{--d:0.28s}
.x90{--x1:275px;--y1:500px;--x2:425px;--y2:500px;--d:0.15s}
.x91{--d:0.32s}
.x92{--x1:275px;--y1:500px;--x2:725px;--y2:500px;--d:1.20s}
.x93{--d:0.36s}
.x94{--x1:275px;--y1:500px;--x2:875px;--y2:500px;--d:2.25s}
.x95{--d:0.40s}
.x96{--x1:275px;--y1:500px;--x2:125px;--y2:650px;--d:0.90s}
.x97{--d:0.44s}
.x98{--x1:275px;--y1:500px;--x2:275px;--y2:650px;--d:1.95s}
.x99{--d:0.48s}
.x100{--x1:275px;--y1:500px;--x2:425px;--y2:650px;--d:0.60s}
.x101{--d:0.52s}
.x102{--x1:275px;--y1:500px;--x2:575px;--y2:650px;--d:1.65s}
.x103{--d:0.56s}
.x104{--x1:275px;--y1:500px;--x2:725px;--y2:650px;--d:0.30s}
.x105{--d:0.60s}
.x106{--x1:275px;--y1:500px;--x2:875px;--y2:650px;--d:1.35s}
.x107{--d:0.25s}
.x108{--d:0.31s}
.x109{--d:0.34s}
.x110{--d:0.37s}
.x111{--d:0.43s}
.x112{--d:0.46s}
.x113{--d:0.49s}
.x114{--d:0.55s}
.x115{--d:0.58s}
.x116{--d:0.61s}
.x117{--d:0.64s}
.x118{--d:0.67s}
.x119{--d:0.70s}
.x120{--d:0.73s}
.x121{--d:0.76s}
.x122{--d:0.79s}
.x123{--d:0.82s}
.x124{--d:0.85s}
.x125{--d:0.88s}
.x126{--d:0.91s}
.x127{--d:0.94s}
.x128{--d:0.97s}
.x129{--d:1.30s}
.x130{--d:1.31s}
.x131{--d:1.32s}
.x132{--d:1.33s}
.x133{--d:1.34s}
.x134{--d:1.35s}
.x135{--d:1.36s}
.x136{--d:1.37s}
.x137{--d:1.38s}
.x138{--d:1.39s}
.x139{--d:1.40s}
.x140{--d:1.41s}
.x141{--d:1.42s}
.x142{--d:1.43s}
.x143{--d:1.44s}
.x144{--d:1.45s}
.x145{--d:1.46s}
.x146{--d:1.47s}
.x147{--d:1.48s}
.x148{--d:1.49s}
.x149{--d:1.50s}
.x150{--d:1.51s}
.x151{--d:1.52s}
.x152{--d:1.53s}
.x153{--d:1.54s}
.x154{--d:1.55s}
.x155{--d:1.56s}
.x156{--d:1.57s}
.x157{--d:1.58s}
.x158{--d:1.59s}
.x159{--d:1.60s}
.x160{--d:1.61s}
.x161{--d:1.62s}
.x162{--d:1.63s}
.x163{--d:1.64s}
.x164{--d:1.65s}
.x165{--d:1.66s}
.x166{--d:1.67s}
.x167{--d:1.68s}
.x168{--d:1.69s}
.x169{--d:1.71s}
.x170{--d:1.72s}
.x171{--d:1.73s}
.x172{--d:1.74s}
.x173{--d:1.75s}
.x174{--d:1.76s}
.x175{--d:1.77s}
.x176{--d:1.78s}
.x177{--d:1.79s}
.x178{--d:1.80s}
.x179{--d:1.81s}
.x180{--d:1.82s}
.x181{--d:1.83s}
.x182{--d:1.84s}
.x183{--d:1.85s}
.x184{--d:1.86s}
.x185{--d:1.87s}
.x186{--d:1.88s}
.x187{--d:1.89s}
.x188{--d:1.90s}
.x189{--d:1.91s}
.x190{--d:1.92s}
.x191{--d:1.93s}
.x192{--d:1.94s}
.x193{--d:1.95s}
.x194{--d:1.96s}
.x195{--d:1.97s}
.x196{--d:1.98s}
.x197{--d:1.99s}
.x198{--d:2.00s}
.x199{--d:2.01s}
.x200{--d:2.02s}
.x201{--d:2.03s}
.x202{--d:2.04s}
.x203{--d:2.05s}
.x204{--d:2.06s}
.x205{--d:2.07s}
.x206{--d:2.08s}
.x207{--d:2.09s}
.x208{--d:2.10s}
.x209{--d:2.11s}
.x210{--d:2.12s}
.x211{--d:2.13s}
.x212{--d:2.14s}
.x213{--d:2.15s}
.x214{--d:2.16s}
.x215{--d:2.17s}
.x216{--d:2.18s}
.x217{--d:2.19s}
.x218{--d:2.20s}
.x219{--d:2.50s}
.x220{--d:2.51s}
.x221{--d:2.52s}
.x222{--d:2.53s}
.x223{--d:2.54s}
.x224{--d:2.55s}
.x225{--d:2.56s}
.x226{--d:2.57s}
.x227{--d:2.58s}
.x228{--d:2.59s}
.x229{--d:2.60s}
.x230{--d:2.61s}
.x231{--d:2.62s}
.x232{--d:2.63s}
.x233{--d:2.64s}
.x234{--d:2.65s}
.x235{--d:2.66s}
.x236{--d:2.67s}
.x237{--d:2.68s}
.x238{--d:2.69s}
.x239{--d:2.70s}
.x240{--d:2.71s}
.x241{--d:2.72s}
.x242{--d:2.73s}
.x243{--d:2.74s}
.x244{--d:2.75s}
.x245{--d:2.76s}
.x246{--d:2.77s}
.x247{--d:2.78s}
.x248{--d:2.79s}
.x249{--d:2.80s}
.x250{--d:2.81s}
.x251{--d:2.82s}
.x252{--d:2.83s}
.x253{--d:2.84s}
.x254{--d:2.85s}
.x255{--d:2.86s}
.x256{--d:2.87s}
.x257{--d:2.88s}
.x258{--d:2.89s}
.x259{--d:2.90s}
.x260{--d:2.91s}
.x261{--d:2.92s}
.x262{--d:2.93s}
.x263{--d:2.94s}
.x264{--d:2.95s}
.x265{--d:2.96s}
.x266{--d:2.97s}
.x267{--d:2.98s}
.x268{--d:2.99s}
.x269{--d:3.00s}
.x270{--d:3.01s}
.x271{--d:3.02s}
.x272{--d:3.03s}
.x273{--d:3.04s}
.x274{--d:3.05s}
.x275{--d:3.06s}
.x276{--d:3.07s}
.x277{--d:3.08s}
.x278{--d:3.09s}
.x279{--d:3.10s}
.x280{--d:3.11s}
.x281{--d:3.12s}
.x282{--d:3.13s}
.x283{--d:3.14s}
.x284{--d:3.15s}
.x285{--d:3.16s}
.x286{--d:3.17s}
.x287{--d:3.18s}
.x288{--d:3.19s}
.x289{--d:3.20s}
.x290{--d:3.21s}
.x291{--d:3.22s}
.x292{--d:3.23s}
.x293{--d:3.24s}
.x294{--d:3.25s}
.x295{--d:3.26s}
.x296{--d:3.27s}
.x297{--d:3.28s}
.x298{--d:3.29s}
.x299{--d:3.30s}
.x300{--d:3.31s}
.x301{--d:3.32s}
.x302{--d:3.33s}
.x303{--d:3.34s}
.x304{--d:3.35s}
.x305{--d:3.36s}
.x306{--d:3.37s}
.x307{--d:3.38s}
.x308{--d:3.39s}
.x309{--d:3.40s}
.x310{--d:3.41s}
.x311{--d:3.42s}
.x312{--d:3.43s}
.x313{--d:3.44s}
.x314{--d:3.45s}
.x315{--d:3.46s}
.x316{--d:3.47s}
.x317{--d:3.48s}
.x318{--d:3.49s}
.x319{--d:3.50s}
.x320{--d:0.06s}
.x321{--d:0.18s}
.x322{--d:0.42s}
.x323{--rd:.0s}
.x324{--rd:.08s}
.x325{--rd:.16s}
.x326{--rd:.24s}
.x327{--rd:.1s}
.x328{width:63.1%}
.x329{width:46.7%}
.x330{--rd:.2s}
.x331{width:100%}
.x332{width:44.4%}
.x333{width:30.4%}
.x334{width:9.3%}
.x335{width:8.9%}
.x336{width:3.8%}
.x337{width:3.2%}
.x338{margin-top:24px}
