/* ══════════════════════════════════════════════════════════════
   Attention Initiative — all styling for every page.
   Edit here once and every page picks it up.
   ══════════════════════════════════════════════════════════════ */

:root{ --bg:#F5F4EF; --ink:#191817; --soft:#6B6862; --line:#D8D4C8;
  --feed:#7F77DD; --feed2:#AFA9EC; --lip:#D85A30; --gullet:#4A1B0C; --rule:#BA7517; --off:#B4B2A9;
}
*{box-sizing:border-box}
img,svg{max-width:100%}
html{-webkit-text-size-adjust:100%}
body{margin:0;padding:32px 28px 80px;overflow-wrap:break-word;background:var(--bg);color:var(--ink);font:400 17px/1.55 "Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
main{max-width:880px;margin:0 auto}

/* The row across the top: the name on the left, the page nav on the right. */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:0 0 34px}
.masthead{margin:0}
.masthead img{height:30px;width:auto;display:block}
.masthead img[hidden]{display:none}
.masthead .wordmark{font-size:22px;font-weight:700;letter-spacing:-.025em}
a#logo-link{color:var(--ink);text-decoration:none;display:inline-block}

/* The page navigation. Each tab is a link to another page. */
.tabs{display:flex;gap:22px;flex-wrap:wrap}
.tabs a{white-space:nowrap;font:inherit;font-weight:600;font-size:14px;color:var(--soft);text-decoration:none;
  padding:12px 0 10px;margin-bottom:-1px;border-bottom:2px solid transparent}
.tabs a:hover{color:var(--ink)}
.tabs a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
#goals,#language,#team-band{margin-top:4px}

h1:empty,#c-standfirst:empty{display:none}
h1{font-weight:700;font-size:clamp(28px,4.4vw,46px);line-height:1.04;letter-spacing:-.03em;margin:0 0 28px;max-width:19em}
h2{font-weight:700;font-size:clamp(22px,2.9vw,32px);line-height:1.15;letter-spacing:-.025em;margin:0 0 4px}
h2 em{font-style:normal}
h3{font-weight:700;font-size:clamp(22px,2.8vw,30px);line-height:1.15;margin:0 0 24px}
p{margin:0 0 20px}
.hint,.foot{font-size:14px;color:var(--soft)}
.foot{margin-top:56px}
.err{font-size:15px;color:#9B2C1E;margin-top:14px}
.field-err{display:block;font-size:14px;color:#9B2C1E;margin-top:8px}
.field-err[hidden]{display:none}
input.invalid{border-color:#9B2C1E}

.counter{margin:0 0 22px}
.counter-row{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.counter-num{display:flex;align-items:flex-start;font-size:clamp(34px,4.6vw,46px);line-height:1;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.02em}
.odo-digit{height:1em;overflow:hidden;display:inline-block;width:1ch}
.odo-reel{display:flex;flex-direction:column;transition:transform .75s cubic-bezier(.2,.9,.2,1)}
.odo-reel span{height:1em;display:block;text-align:center}
.odo-sep{display:inline-block}
@media(prefers-reduced-motion:reduce){.odo-reel{transition:none}}
.counter-label{font-weight:700;font-size:clamp(34px,4.6vw,46px);line-height:1;letter-spacing:-.02em}
.badge{width:26px;height:26px;flex:0 0 26px;margin-top:.35em}
.verify-toggle{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:16px;color:var(--soft);background:none;border:0;padding:6px 0;cursor:pointer}
.verify-toggle .chev{transition:transform .18s}
.verify-toggle[aria-expanded="true"] .chev{transform:rotate(180deg)}
.verify-note{font-size:16px;color:var(--soft);max-width:46em;margin:8px 0 0}
.verify-note[hidden]{display:none}

section{margin-top:28px}
section[hidden]{display:none}
#sign-step{margin-top:24px}

.field{margin-bottom:14px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font-weight:600;font-size:16px;line-height:1.3;margin-bottom:6px}
textarea,input{width:100%;font:inherit;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:2px;padding:13px 16px}
textarea{font-size:20px;min-height:150px;resize:vertical;line-height:1.35}
input{font-size:19px}
textarea::placeholder,input::placeholder{color:#A7A296}
textarea:focus,input:focus,button:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-color:var(--ink)}

.inline{display:flex;gap:12px;align-items:stretch}
.inline input{flex:1}
button.go{font:inherit;font-size:19px;padding:15px 30px;background:var(--ink);color:var(--bg);border:1px solid var(--ink);border-radius:2px;cursor:pointer}
button.plain{font:inherit;font-size:19px;padding:15px 30px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:2px;cursor:pointer;margin-left:10px}
button.plain:hover{border-color:var(--ink)}
button:disabled{opacity:.45;cursor:not-allowed}
.check{display:flex;align-items:flex-start;gap:11px;margin:16px 0;cursor:pointer;font-size:16px;line-height:1.4}
.tellmore{display:inline-block;font:inherit;font-size:16px;background:none;border:0;padding:14px 0 0;
  color:var(--soft);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.tellmore:hover{color:var(--ink)}
.check input{width:19px;height:19px;flex:0 0 19px;margin:2px 0 0;padding:0;accent-color:#191817}

#targets,#voices{margin-top:88px;padding-top:44px;border-top:1px solid var(--line)}
#targets[hidden],#voices[hidden]{display:none}
.target{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.target:last-child{border-bottom:0}
.target .avatar{width:52px;height:52px;flex:0 0 52px;border-radius:50%;object-fit:cover;background:#E4E1D6}
.target .who{font-size:19px}
.target .who b{font-weight:600}
.target .where{font-size:15px;color:var(--soft)}
.voices{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.voice{border:1px solid var(--line);border-radius:3px;padding:24px 26px;background:rgba(255,255,255,.45)}
.voice .mark{font-size:34px;line-height:.6;color:var(--soft);display:block;margin-bottom:14px}
.voice .text{font-size:18px;line-height:1.45;margin:0}
.voice .text.clamped{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.voice .more{font:inherit;font-size:16px;background:none;border:0;padding:6px 0;color:var(--ink);text-decoration:underline;cursor:pointer}
.voice .by{font-size:16px;margin-top:14px;text-align:right}
.voice .by b{font-weight:600}
.voice .by span{color:var(--soft)}

#team{margin-top:0}
.big-q{font-weight:700;font-size:clamp(30px,5.2vw,58px);line-height:1.02;letter-spacing:-.03em;margin:0 0 36px;max-width:15em}
.meta{font-size:16px;color:var(--soft)}
.meta[hidden]{display:none}
.panel-head:empty{display:none}
.panel-head{font-weight:700;font-size:clamp(22px,3.4vw,34px);line-height:1.2;letter-spacing:-.03em;margin:0 0 30px;max-width:26em}
.standfirst{color:var(--ink);max-width:38em;margin:0 0 48px;font-size:19px;line-height:1.6}
ul.goals{list-style:none;padding:0;margin:0;max-width:40em}
ul.goals li{position:relative;padding:0 0 0 30px;margin:0 0 20px;font-size:18px;line-height:1.5}
ol.args{padding-left:28px;margin:0;max-width:40em}
ol.args li{margin:0 0 16px;padding-left:6px;font-size:17px;line-height:1.5}
ol.args li::marker{color:var(--soft);font-weight:700;font-size:15px}
.goal-group{font-weight:700;font-size:17px;letter-spacing:-.01em;color:var(--ink);margin:44px 0 18px}
.goal-group:first-child{margin-top:0}
ul.goals li::before{content:"";position:absolute;left:0;top:.6em;width:11px;height:2px;background:var(--ink)}
ul.goals li:last-child{margin-bottom:0}
.note{color:var(--soft);font-size:16px;max-width:40em;margin:0 0 34px}
.target{font-weight:700;font-size:clamp(22px,3vw,30px);letter-spacing:-.025em;margin:0 0 40px}
.clause{max-width:42em;margin:0 0 40px;padding-top:26px;border-top:1px solid var(--line)}
.clause-head{font-weight:700;font-size:19px;letter-spacing:-.015em;margin:0 0 14px}
.clause p{font-size:16px;line-height:1.6;margin:0 0 14px}
.clause p:last-child{margin:0}
#people{display:grid;grid-template-columns:repeat(4,1fr);gap:36px 22px;align-items:start}
.person{display:block}
.portrait{width:100%;aspect-ratio:1/1.1;border-radius:11px;object-fit:cover;object-position:center top;background:var(--bg);display:block;margin:0 0 14px}
.portrait.initials{display:grid;place-items:center;font-size:34px;color:var(--soft);letter-spacing:.02em}
.person .name{font-size:18px;line-height:1.25;margin:0 0 4px;font-weight:700;letter-spacing:-.015em}
.person .role{color:var(--soft);font-size:15px;line-height:1.35;margin:0 0 12px}
.person .more{display:inline-flex;align-items:center;gap:9px;font:inherit;font-size:15px;background:none;border:0;padding:0;color:var(--ink);cursor:pointer;text-decoration:none}
.person .more .ring{width:26px;height:26px;flex:0 0 26px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;transition:background .15s,color .15s}
.person .more:hover .ring{background:var(--ink);color:var(--bg)}
.person .more .ring svg{display:block}
.person .more[aria-expanded="true"] .ring svg{transform:rotate(90deg)}

dialog#bio{width:min(760px,94vw);max-height:88vh;overflow:auto;background:var(--bg);color:var(--ink);
  border:1px solid var(--line);border-radius:6px;padding:40px 44px 44px;box-shadow:0 24px 60px rgba(0,0,0,.18);position:relative}
dialog#bio::backdrop{background:rgba(25,24,23,.45)}
.bio-close{position:absolute;top:14px;right:18px;font:inherit;font-size:30px;line-height:1;background:none;border:0;color:var(--soft);cursor:pointer;padding:4px 8px}
.bio-close:hover{color:var(--ink)}
.bio-head{display:grid;grid-template-columns:180px 1fr;gap:32px;align-items:start;margin-bottom:32px}
.bio-portrait{width:100%;aspect-ratio:1/1.1;border-radius:12px;object-fit:cover;object-position:center top;background:var(--bg);display:block}
img[src*="Roger Baldacci"]{object-position:25% top}
.bio-name{font-weight:700;font-size:clamp(26px,3.4vw,38px);line-height:1.02;letter-spacing:-.03em;margin:0 0 8px}
.bio-role{color:var(--soft);font-size:18px;margin:0;font-weight:500}
.bio-body p{margin:0 0 18px;font-size:17px;line-height:1.6}
.bio-body p:last-child{margin:0}
@media(max-width:640px){
  dialog#bio{padding:30px 22px 32px}
  .bio-head{grid-template-columns:1fr;gap:20px}
  .bio-portrait{max-width:190px}
}
dialog#more{width:min(660px,92vw);max-height:88vh;overflow:auto;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:36px 38px 32px;box-shadow:0 24px 60px rgba(0,0,0,.18)}
dialog#more::backdrop{background:rgba(25,24,23,.45)}
dialog#more h2{font-size:clamp(20px,2.6vw,27px);margin-bottom:24px}

@media(max-width:600px){
  body{padding:24px 18px 64px}
  .row{grid-template-columns:1fr;gap:0}
  .inline{flex-direction:column}
  button.plain{margin:10px 0 0}
  dialog#more{padding:26px 22px}
}
@media(max-width:700px){
  #people{grid-template-columns:repeat(2,1fr);gap:32px 20px}
}
@media(max-width:420px){
  #people{grid-template-columns:1fr}
}
@media(max-width:600px){
  .topbar{flex-direction:column;align-items:flex-start;gap:14px}
  .tabs{flex-wrap:nowrap;overflow-x:auto;gap:18px;scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%}
  .tabs::-webkit-scrollbar{display:none}
  .tabs a{font-size:13px}
  .counter-num,.counter-label{font-size:32px}
  .counter{margin-bottom:18px}
  .voices{grid-template-columns:1fr}
  .big-q{font-size:28px;margin-bottom:26px}
  .panel-head{font-size:18px;margin-bottom:26px}
  .target{margin-bottom:28px}
  .clause{margin-bottom:32px}
  ul.goals li{font-size:17px;padding-left:24px}
  .standfirst{font-size:17px;margin-bottom:34px}
  textarea{min-height:130px}
  button.go,button.plain{width:100%}
}


.site-foot{margin-top:120px;padding-top:44px;border-top:1px solid var(--line)}
.foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 24px}
.foot-col h5{font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--soft);margin:0 0 14px}
.foot-col a,.foot-col button{display:block;font:inherit;font-size:15px;color:var(--ink);text-decoration:none;
  background:none;border:0;padding:0 0 10px;text-align:left;cursor:pointer}
.foot-col a:hover,.foot-col button:hover{text-decoration:underline;text-underline-offset:3px}
.foot-mark{margin:56px 0 28px;font-weight:700;letter-spacing:-.05em;line-height:.82;
  font-size:clamp(44px,13.4vw,168px);color:var(--ink)}
.foot-bar{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;justify-content:space-between;
  padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--soft)}
.foot-bar a{color:var(--soft);text-decoration:none}
.foot-bar a:hover{color:var(--ink)}
.foot-legal,.foot-social{display:flex;flex-wrap:wrap;gap:18px}
@media(max-width:700px){
  .foot-cols{grid-template-columns:repeat(2,1fr)}
  .site-foot{margin-top:80px}
  .foot-mark{margin:36px 0 20px}
}

/* ══ How it works: the belt ══ */
.scroll{position:relative;height:750vh}
.stage{position:sticky;top:0;height:100vh;background:var(--bg);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:20px;padding:20px}
#machine .stage svg{width:min(420px,86vw);height:auto}

.caption{max-width:20em;text-align:center;font-weight:700;
  font-size:clamp(20px,3.2vw,32px);line-height:1.15;letter-spacing:-.03em;
  min-height:2.3em;transition:opacity .4s ease}
.caption.fade{opacity:0}
.money{color:#0F6E56}
.rate{margin:-8px 0 4px;font-size:clamp(15px,2vw,19px);font-weight:600;color:var(--soft);
  letter-spacing:-.01em;opacity:0;transform:translateY(6px) scale(.94);
  transition:opacity .4s ease,transform .45s cubic-bezier(.2,1.5,.4,1)}
.rate.on{opacity:1;transform:translateY(0) scale(1)}
.rate.pop{animation:pop .45s cubic-bezier(.2,1.5,.4,1)}
@keyframes pop{0%{transform:translateY(0) scale(1)}40%{transform:translateY(-2px) scale(1.14)}100%{transform:translateY(0) scale(1)}}

@keyframes ride { from { transform: translateY(0); } to { transform: translateY(-196px); } }
@keyframes scrollfeed { to { transform: translateY(-40px); } }
@keyframes rideby {
  from { transform: translate(0,0); }
  52%  { transform: translate(0,-102px); }
  to   { transform: translate(88px,-196px); }
}
@keyframes spit {
  0%   { opacity: 1; transform: translate(0,0) rotate(0deg) scale(1); }
  30%  { opacity: 1; }
  100% { opacity: 0; transform: translate(var(--sx),var(--sy)) rotate(var(--sr)) scale(.88); }
}
@keyframes feedback { from { transform: translateX(0); opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } to { transform: translateX(110px); opacity: 0; } }
@keyframes drop { from { transform: translateY(0); opacity: 0; } 12% { opacity: 1; } 88% { opacity: 1; } to { transform: translateY(188px); opacity: 0; } }
@keyframes chomp {
  0%   { transform: rotate(2deg)  translateY(0); animation-timing-function: cubic-bezier(.5,0,.9,.4); }
  22%  { transform: rotate(19deg) translateY(1px); animation-timing-function: cubic-bezier(.2,.9,.3,1); }
  38%  { transform: rotate(1deg)  translateY(0); animation-timing-function: cubic-bezier(.5,0,.9,.4); }
  56%  { transform: rotate(12deg) translateY(1px); animation-timing-function: cubic-bezier(.2,.8,.3,1); }
  72%  { transform: rotate(3deg)  translateY(0); animation-timing-function: ease-in-out; }
  100% { transform: rotate(2deg)  translateY(0); }
}
@keyframes gulp {
  0%   { transform: scaleY(1)   scaleX(1); }
  22%  { transform: scaleY(1.1) scaleX(.98); }
  38%  { transform: scaleY(.68) scaleX(1.03); }
  56%  { transform: scaleY(.95) scaleX(1); }
  72%  { transform: scaleY(.78) scaleX(1.02); }
  100% { transform: scaleY(1)   scaleX(1); }
}
@keyframes uplip {
  0%,100% { transform: rotate(0deg); }
  22%     { transform: rotate(-3.2deg); }
  56%     { transform: rotate(-1.8deg); }
}

.item{animation:ride var(--dur,3.2s) linear infinite}
.item.bypass{animation-name:rideby}
#edtile{opacity:0;transition:opacity .4s ease}
#edtile.on{opacity:1}
.item.held{animation-play-state:paused}
#feedlines{animation:scrollfeed 1.1s linear infinite}
#jaw{transform-origin:288px 106px;animation:chomp var(--chew,1s) linear infinite}
#uplip{transform-origin:288px 106px;animation:uplip var(--chew,1s) ease-in-out infinite}
#gullet{animation:gulp var(--chew,1s) linear infinite}
#mouth.shut #jaw{animation:none;transform:rotate(0deg);transition:transform .7s ease}
#mouth.shut #uplip{animation:none;transform:rotate(0deg);transition:transform .7s ease}
#mouth.shut #gullet{animation:none}
#gullet{transform-origin:340px 104px;transition:transform .8s cubic-bezier(.2,.9,.2,1)}
#mouth.shut #gullet{transform:scaleY(.05)}
.lip{transition:fill .8s ease}
.coin{animation:drop var(--mdur,3.4s) linear infinite}
.coin.stop{animation-play-state:paused;opacity:0;transition:opacity .5s ease}
#reinvest{opacity:0;transition:opacity .6s ease}
#reinvest.on{opacity:1}
.rcoin{animation:feedback var(--rdur,2.6s) linear infinite}
.rcoin.stop{animation-play-state:paused;opacity:0}
#bigtech{transform-origin:140px 404px;transition:transform .9s cubic-bezier(.2,.9,.2,1)}
#payline,#payline2{transition:opacity .5s ease}
#payline.off{opacity:.12}

#gate{opacity:0;transform:translateY(-26px);transition:opacity .4s ease,transform .5s cubic-bezier(.2,.9,.2,1)}
#gate.on{opacity:1;transform:translateY(0)}

.shift{transition:transform .9s cubic-bezier(.2,.9,.2,1)}
.shift.over{transform:translateX(88px)}
#machine .stage svg{transition:opacity .4s ease}
#stagesvg.reveal #items .item > rect{opacity:.22;transition:opacity .6s ease}
#stagesvg.reveal #items .item circle,
#stagesvg.reveal #items .item path{fill:#EF9F27;transition:fill .6s ease}
#stagesvg.reveal #payline,#stagesvg.reveal #payline2,#stagesvg.reveal #moneyrail,
#stagesvg.reveal #reinvest path{stroke:#EF9F27;stroke-width:3.5;transition:stroke .5s ease,stroke-width .5s ease}
#stagesvg.reveal #bigtech{transform:scale(1.14)}
#revlabel,#revlabel2{opacity:0;transition:opacity .6s ease}
#stagesvg.reveal #revlabel,#stagesvg.reveal #revlabel2{opacity:1}
#edlabel{opacity:0;transition:opacity .4s ease}
#edlabel.on{opacity:1}
#edtile ellipse{transform-origin:340px 343px}
@keyframes look{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
#edtile.on ellipse{animation:look 1s ease-in-out infinite}
.spat{opacity:0}
#spit.go .spat{animation:spit 1.1s cubic-bezier(.25,.85,.35,1) forwards}
.pile{opacity:0;transform:translateY(-10px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.9,.2,1)}
.pile.on{opacity:1;transform:translateY(0)}

.closer{position:relative;z-index:2;min-height:100vh;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:24px}
.closer p{max-width:15em;margin:0;text-align:center;font-weight:700;
  font-size:clamp(28px,6vw,64px);line-height:1.04;letter-spacing:-.035em}
.hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);font-size:14px;color:var(--soft);transition:opacity .4s}
.hint.gone{opacity:0}

#machine{margin:0 -28px}
#machine .scroll{height:640vh}
@media(max-width:600px){#machine{margin:0 -18px}}

#reel{margin:72px 0 0;padding:40px 0 0;border-top:1px solid var(--line)}
.reel-kicker{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--soft);margin:0 0 8px}
.reel-title{font-weight:700;font-size:clamp(24px,4.2vw,42px);line-height:1.05;letter-spacing:-.03em;margin:0 0 32px;max-width:16em}
.reel-card{min-height:210px;transition:opacity .18s ease}
.reel-card.flash{opacity:0}
.reel-name{font-weight:700;font-size:clamp(26px,4.6vw,46px);line-height:1.02;letter-spacing:-.035em;margin:0 0 4px}
.reel-role{font-size:15px;color:var(--soft);margin:0 0 18px}
.reel-line{font-size:clamp(18px,2.6vw,24px);line-height:1.35;max-width:24em;margin:0 0 16px}
.reel-src{font-size:13px;color:var(--soft);text-decoration:underline;text-underline-offset:3px}
.reel-dots{display:flex;gap:7px;margin-top:22px}
.reel-dots span{width:22px;height:3px;background:var(--line);border-radius:2px;transition:background .2s}
.reel-dots span.on{background:var(--ink)}
.reel-ctl{font:inherit;font-size:14px;color:var(--soft);background:none;border:0;padding:10px 0 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

#admire-list{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 24px}
.work{border-top:1px solid var(--line);padding-top:18px}
.work h4{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0 0 4px}
.work .meta{font-size:14px;color:var(--soft);margin:0 0 12px}
.work p{font-size:16px;line-height:1.5;margin:0}
.work a{display:inline-block;margin-top:10px;font-size:14px;color:var(--soft);text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){#admire-list{grid-template-columns:1fr;gap:24px}}

.study{border-top:1px solid var(--line);padding:22px 0 0;margin:0 0 30px;max-width:40em}
.study h4{font-size:21px;font-weight:700;letter-spacing:-.02em;margin:0 0 8px}
.study p{font-size:17px;line-height:1.5;margin:0 0 12px}
.study .cite{font-size:14px;color:var(--soft);line-height:1.45;margin:0}
.study a{font-size:14px;color:var(--soft);text-decoration:underline;text-underline-offset:3px}
#stats{display:grid;grid-template-columns:repeat(2,1fr);gap:34px 28px;margin-top:56px;padding-top:40px;border-top:1px solid var(--line)}
.stat .n{font-size:clamp(40px,6.4vw,68px);font-weight:700;letter-spacing:-.04em;line-height:1;margin:0 0 10px}
.stat .l{font-size:17px;line-height:1.45;margin:0 0 8px;max-width:22em}
.stat .s{font-size:13px;color:var(--soft);margin:0}
@media(max-width:700px){#stats{grid-template-columns:1fr;gap:28px}}

#lede{margin:0 0 52px;padding-bottom:38px;border-bottom:1px solid var(--line)}
#lede .fig{font-size:clamp(44px,8.4vw,96px);font-weight:700;letter-spacing:-.045em;line-height:.98;margin:0 0 14px}
#lede .say{font-size:clamp(20px,3.2vw,30px);font-weight:700;letter-spacing:-.025em;line-height:1.25;margin:0 0 10px;max-width:24em}
#lede .kick{font-size:clamp(19px,2.6vw,26px);line-height:1.35;margin:0 0 18px;max-width:26em}
#lede .note{font-size:13px;color:var(--soft);margin:0}

#ask-block{margin:0 0 8px}
#goals #ask-block{margin-top:4px}
.ev-head{font-size:clamp(21px,3vw,30px);font-weight:700;letter-spacing:-.03em;margin:0 0 26px}
#evidence-block{margin-top:72px;padding-top:44px;border-top:1px solid var(--line)}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--soft);margin:0 0 12px}
.blurred{filter:blur(7px);user-select:none;transition:filter .35s ease}
.blurred:hover{filter:blur(0)}
.ask-line{font-weight:700;font-size:clamp(22px,3.6vw,36px);line-height:1.12;letter-spacing:-.03em;margin:0 0 16px;max-width:22em}
.ask-sub{font-size:clamp(17px,2.2vw,21px);line-height:1.45;color:var(--soft);margin:0 0 8px;max-width:30em}
.precedent{margin:56px 0 0;padding-top:40px;border-top:1px solid var(--line)}
.precedent h3{font-size:17px;font-weight:700;letter-spacing:-.01em;margin:0 0 18px}
.precedent p{font-size:17px;line-height:1.62;margin:0 0 18px;max-width:36em}
.precedent p:last-of-type{margin-bottom:0}
#goals-list{margin-top:64px;padding-top:40px;border-top:1px solid var(--line)}

details.faq{border-top:1px solid var(--line)}
details.faq:last-of-type{border-bottom:1px solid var(--line)}
details.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:18px;padding:20px 0;font-size:clamp(18px,2.4vw,22px);font-weight:700;letter-spacing:-.02em}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary:hover{color:var(--soft)}
details.faq summary .count{font-size:14px;font-weight:400;color:var(--soft);white-space:nowrap}
details.faq summary .mark{width:13px;height:13px;flex:0 0 13px;transition:transform .2s}
details.faq[open] summary .mark{transform:rotate(180deg)}
details.faq ol{padding:0 0 14px 26px;margin:0;max-width:40em}
details.faq li{margin:0 0 16px;padding-left:6px;font-size:17px;line-height:1.5}
details.faq li::marker{color:var(--soft);font-weight:700;font-size:15px}

#film{margin:0 0 30px;max-width:36em}
.film-box{position:relative;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:#1E1D1B;
  display:grid;place-items:center;cursor:pointer}
.film-box.empty{background:transparent;border:1px dashed var(--line);cursor:default}
.film-box img,.film-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.film-play{position:relative;width:66px;height:66px;border-radius:50%;background:rgba(255,255,255,.94);
  display:grid;place-items:center;transition:transform .18s ease}
.film-box:hover .film-play{transform:scale(1.06)}
.film-play::after{content:"";border-style:solid;border-width:11px 0 11px 18px;
  border-color:transparent transparent transparent #191817;margin-left:4px}
.film-empty-note{position:relative;font-size:14px;color:var(--soft);text-align:center;padding:0 20px}
#film figcaption{font-size:15px;color:var(--soft);line-height:1.45;margin-top:12px}
#film figcaption b{color:var(--ink);font-weight:600}

#signed{display:none;margin-top:8px}
#signed.on{display:block}
.signed-num{font-size:clamp(38px,6.4vw,72px);font-weight:700;letter-spacing:-.04em;line-height:1;margin:0 0 10px;font-variant-numeric:tabular-nums}
.signed-line{font-size:clamp(19px,2.6vw,26px);font-weight:700;letter-spacing:-.02em;line-height:1.25;margin:0 0 8px;max-width:22em}
.signed-sub{font-size:16px;color:var(--soft);margin:0 0 22px;max-width:28em}
.share-row{display:flex;flex-wrap:wrap;gap:10px}
.share-row button,.share-row a{font:inherit;font-size:16px;font-weight:600;padding:12px 20px;border-radius:2px;
  border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;text-decoration:none;display:inline-block}
.share-row .primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.share-row button:hover,.share-row a:hover{border-color:var(--ink)}
#confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:60}
.cft{position:absolute;width:9px;height:14px;border-radius:1px;will-change:transform,opacity;
  animation:fall var(--d,2.4s) cubic-bezier(.25,.6,.4,1) forwards}
@keyframes fall{
  0%{transform:translate3d(0,0,0) rotate(0deg);opacity:1}
  100%{transform:translate3d(var(--x,0),108vh,0) rotate(var(--r,540deg));opacity:0}
}
@media(prefers-reduced-motion:reduce){.cft{display:none}}

/* ══ Three things: second scroll act ══ */
#u3.scroll{height:560vh}
#u3 .stage{position:sticky;top:0;height:100vh;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:20px}
#u3 .stage svg{width:min(760px,94vw);height:auto}
#u3 .caption{max-width:20em;text-align:center;font-weight:700;font-size:clamp(20px,3.2vw,32px);
  line-height:1.15;letter-spacing:-.03em;min-height:2.3em;transition:opacity .4s ease}
#u3 .caption.fade{opacity:0}
#u3 .sub{font-size:clamp(15px,1.9vw,18px);color:var(--soft);max-width:34em;text-align:center;margin:0;
  min-height:3em;transition:opacity .4s ease}
#u3 .sub.fade{opacity:0}
.u3-lyr{opacity:0;transition:opacity .55s ease}
.u3-lyr.on{opacity:1}
.u3-dim{transition:opacity .55s ease}
.u3-dim.back{opacity:.2}
