:root{--navy:#202d5b;--green:#478d73;--cream:#f7f1e8;--stone:#ded5ca;--blue:#8bb1dc;--royal:#304694;--orange:#ef7445;--pink:#df1769;--yellow:#f4b72b;--ink:#242b43;--white:#fff;--max:1180px;--radius:28px;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.55}img{display:block;max-width:100%}a{color:inherit}.shell{width:min(var(--max),calc(100% - 40px));margin:auto}.skip-link{position:fixed;left:12px;top:-70px;z-index:9999;background:#fff;color:#000;padding:12px 16px}.skip-link:focus{top:12px}.progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:1000}.progress span{display:block;height:100%;width:0;background:var(--yellow)}.site-header{position:sticky;top:0;z-index:100;background:rgba(247,241,232,.96);border-bottom:1px solid rgba(32,45,91,.15);backdrop-filter:blur(12px)}.header-row{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{text-decoration:none;display:inline-flex;flex-direction:column;line-height:.85;color:var(--navy);letter-spacing:.1em;align-items:center}.brand span{font-size:.62rem}.brand strong{font-size:1.55rem;letter-spacing:-.04em}.brand em{font-size:.48rem;font-style:normal;margin-top:7px}.primary-nav{display:flex;align-items:center;gap:19px;font-size:.86rem;font-weight:800}.primary-nav a{text-decoration:none}.primary-nav a:hover,.primary-nav a:focus-visible,.primary-nav a[aria-current]{color:var(--green)}.nav-cta{padding:11px 15px;background:var(--green);color:white!important;border-radius:999px}.menu-toggle{display:none}.hero{position:relative;min-height:900px;color:white;isolation:isolate;overflow:hidden}.hero-image,.hero-wash{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-wash{background:linear-gradient(90deg,rgba(21,32,73,.96),rgba(21,32,73,.77) 50%,rgba(21,32,73,.1));z-index:1}.hero-layout{position:relative;z-index:2;min-height:720px;padding:100px 0 170px;display:grid;grid-template-columns:1fr 330px;gap:70px;align-items:center}.hero-copy{max-width:760px}.eyebrow{margin:0 0 16px;font-size:.76rem;font-weight:900;letter-spacing:.15em}.green-text{color:var(--green)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:var(--serif);line-height:.98;letter-spacing:-.045em}h1{font-size:clamp(4rem,7.4vw,7.2rem);text-transform:uppercase;margin-bottom:26px}h1 span{display:block;color:#a8c6ac}.hero-lead,.lede{font-size:1.24rem;line-height:1.5}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:12px 22px;border-radius:999px;text-decoration:none;font-weight:900;border:2px solid transparent}.button.green{background:var(--green);color:#fff}.button.pale{background:var(--cream);color:var(--navy)}.button.outline{border-color:#fff;color:#fff}.button:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:4px solid var(--yellow);outline-offset:3px}.hero-facts{list-style:none;padding:0;margin:35px 0 0;display:flex;gap:15px;flex-wrap:wrap}.hero-facts li{min-width:145px;padding:13px 15px;border-left:3px solid #a8c6ac;background:rgba(255,255,255,.08)}.hero-facts strong,.hero-facts span{display:block}.hero-facts strong{font-family:var(--serif);font-size:1.5rem}.hero-facts span{font-size:.76rem}.campaign-card{position:relative;background:var(--green);padding:45px 28px 55px;aspect-ratio:1/1.08;border-radius:45% 35% 38% 40%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;transform:rotate(-2deg);filter:drop-shadow(0 20px 35px rgba(0,0,0,.25))}.campaign-card:after{content:"";position:absolute;bottom:-52px;left:35px;border-style:solid;border-width:65px 28px 0 0;border-color:var(--green) transparent transparent transparent;transform:rotate(8deg)}.campaign-card strong{font-family:var(--serif);font-size:4rem;line-height:.8}.campaign-card small,.campaign-card span{font-weight:900;font-size:.7rem;letter-spacing:.05em}.campaign-card a{margin-top:18px;font-size:.75rem;font-weight:800}.campaign-card.light{background:var(--cream);color:var(--navy)}.campaign-card.light:after{border-color:var(--cream) transparent transparent transparent}.hero-people{position:absolute;z-index:3;left:50%;bottom:-5px;transform:translateX(-50%);display:grid;grid-template-columns:280px 240px;gap:15px;justify-content:end}.hero-people figure{height:160px;margin:0;position:relative;border:6px solid var(--cream);border-radius:20px;overflow:hidden}.hero-people img{width:100%;height:100%;object-fit:cover}.hero-people figcaption,.photo-card figcaption{position:absolute;left:14px;bottom:12px;background:var(--navy);color:#fff;padding:6px 11px;border-radius:999px;font-size:.72rem;font-weight:900}.ballot-strip{background:var(--green);color:#fff;padding:34px 0}.ballot-strip>.shell{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:center}.strip-head h2{font-size:2rem;margin:0}.date-track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative}.date-track:before{content:"";position:absolute;left:5%;right:5%;top:50%;height:2px;background:rgba(255,255,255,.35)}.date-track li{position:relative;background:#fff;color:var(--navy);padding:15px 17px;border-radius:18px;min-height:92px;z-index:1}.date-track .hot{background:var(--yellow)}.date-track time,.date-track span{display:block}.date-track time{color:var(--green);font-weight:900}.date-track span{font-weight:800}.section{padding:110px 0}.section-intro{max-width:900px;margin-bottom:55px}.section-intro h2,h2{font-size:clamp(2.7rem,5vw,4.8rem);margin-bottom:24px}.section-intro.split{max-width:none;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end}.section-intro.split>p{font-size:1.12rem}.reason-equation{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:12px;align-items:stretch;margin-bottom:65px}.reason-equation article{background:#fff;padding:24px;border-radius:20px;border-top:4px solid var(--green)}.reason-equation b,.reason-equation span{display:block}.reason-equation b{font-family:var(--serif);font-size:1.25rem}.reason-equation span{font-size:.88rem;margin-top:8px}.reason-equation i{align-self:center;font-family:var(--serif);font-size:2rem;font-weight:900;font-style:normal}.reason-equation .answer{background:var(--navy);color:#fff}.vision-grid,.consultation-grid,.governance-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:stretch}.photo-card{margin:0;position:relative;min-height:420px}.photo-card img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}.photo-card.tall{min-height:550px}.commitment{background:var(--navy);color:#fff;padding:45px;border-radius:var(--radius)}.commitment h3{font-size:2.2rem}.commitment ul,.ticks{list-style:none;margin:0;padding:0}.commitment li,.ticks li{position:relative;padding:10px 0 10px 32px;font-weight:800}.commitment li:before,.ticks li:before{content:"✓";position:absolute;left:0;color:#83c2a4}.proof{background:#fff}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:55px}.metrics article{border-top:4px solid var(--green);padding-top:18px}.metrics strong,.metrics span{display:block}.metrics strong{font-family:var(--serif);color:var(--green);font-size:2.8rem}.metrics span{font-weight:800}.timeline{border:1px solid var(--stone);border-radius:var(--radius);overflow:hidden;background:var(--cream)}.timeline-tabs{display:grid;grid-template-columns:repeat(5,1fr);background:var(--navy)}.timeline-tabs button{border:0;border-right:1px solid rgba(255,255,255,.2);background:none;color:#fff;padding:18px 8px;font-weight:900;cursor:pointer}.timeline-tabs button[aria-selected=true]{background:var(--green)}.timeline-panel{display:grid;grid-template-columns:1fr .9fr;min-height:410px}.timeline-panel>div{padding:45px}.timeline-panel h3{font-size:2.4rem}.timeline-panel img{width:100%;height:100%;object-fit:cover}.timeline-panel li{margin-bottom:8px}.quote{margin:45px 0 0;padding:35px 45px;background:var(--navy);color:#fff;border-radius:var(--radius);font-family:var(--serif);font-size:1.45rem;font-style:italic}.quote cite{display:block;font-family:var(--sans);font-style:normal;font-size:.8rem;font-weight:900;margin-top:16px}.consultation{background:var(--cream)}.consult-flow{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.consult-flow li{background:#fff;border-radius:16px;padding:17px;position:relative}.consult-flow li:not(:last-child):after{content:"→";position:absolute;right:-11px;top:35%;z-index:2;font-weight:900}.consult-flow b,.consult-flow span{display:block}.consult-flow span{font-size:.78rem;margin-top:6px}.priorities{background:#fff}.priority-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:55px}.priority-overview a{padding:22px;background:var(--cream);border-radius:18px;text-decoration:none;border-top:5px solid var(--green)}.priority-overview span,.priority-overview b,.priority-overview em{display:block}.priority-overview span{font-family:var(--serif);font-size:1.5rem;color:var(--green)}.priority-overview em{font-style:normal;font-size:.78rem;margin-top:5px}.priority-card{--accent:var(--blue);margin:0 0 50px;border-radius:30px;background:var(--accent);padding:30px}.priority-card.street{--accent:var(--royal)}.priority-card.safety{--accent:var(--orange)}.priority-card.commerce{--accent:var(--navy)}.priority-card header{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;color:#fff;padding:0 5px 25px}.priority-card header .num{width:58px;height:58px;border-radius:50%;background:var(--cream);color:var(--navy);display:grid;place-items:center;font-family:var(--serif);font-weight:900}.priority-card header p{margin:0;font-size:.75rem;font-weight:900}.priority-card header h3{font-size:clamp(2rem,3.5vw,3.5rem);margin:2px 0 0}.priority-card header>strong{font-family:var(--serif);font-size:2.4rem}.priority-content{display:grid;grid-template-columns:.7fr 1.15fr .85fr;gap:30px;background:var(--cream);padding:34px;border-radius:24px}.priority-content h4{font-family:var(--serif);font-size:1.8rem;margin-bottom:15px}.evidence p{display:grid;grid-template-columns:75px 1fr;align-items:center}.evidence b{font-family:var(--serif);font-size:2rem;color:var(--green)}.commit li{margin-bottom:10px}.priority-content img{width:100%;height:310px;object-fit:cover;border-radius:17px}.investment{background:var(--navy);color:#fff}.light h2{color:#fff}.money{display:flex;gap:40px}.money p{margin:0}.money strong,.money span{display:block}.money strong{font-family:var(--serif);font-size:3rem;color:#a8c6ac}.investment-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px}.levy-card,.budget-card{background:var(--cream);color:var(--ink);padding:38px;border-radius:var(--radius)}.calculator{display:grid;grid-template-columns:auto 1fr auto;align-items:center;margin:10px 0 20px;border:2px solid var(--stone);border-radius:14px;overflow:hidden;background:#fff}.calculator span{padding-left:14px;font-weight:900}.calculator input{border:0;font-size:1.2rem;padding:13px 8px;min-width:0}.calculator button{height:100%;border:0;background:var(--green);color:#fff;font-weight:900;padding:0 18px;cursor:pointer}.result{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--stone);border-bottom:1px solid var(--stone);padding:18px 0;margin-bottom:20px}.result strong{font-family:var(--serif);font-size:2.4rem;color:var(--green)}.stacked-budget{display:flex;height:130px;border-radius:18px;overflow:hidden;margin:25px 0 20px}.stacked-budget button{flex:var(--w);min-width:22px;border:0;border-right:1px solid rgba(255,255,255,.5);background:var(--green);color:#fff;cursor:pointer;font-weight:900;display:flex;flex-direction:column;justify-content:flex-end;padding:10px 5px}.stacked-budget button:nth-child(2){background:var(--orange)}.stacked-budget button:nth-child(3){background:var(--blue);color:var(--navy)}.stacked-budget button:nth-child(4){background:var(--royal)}.stacked-budget button:nth-child(5){background:#676d82}.stacked-budget button:nth-child(6){background:var(--yellow);color:var(--navy)}.stacked-budget button:nth-child(7){background:var(--pink)}.stacked-budget span{font-size:.61rem;overflow:hidden}.budget-detail{display:grid;grid-template-columns:1fr auto;gap:6px 20px;border-top:1px solid var(--stone);padding-top:18px}.budget-detail span{font-weight:900}.budget-detail strong{font-family:var(--serif);font-size:2rem;color:var(--green)}.budget-detail p{grid-column:1/-1}.failure{margin-top:24px;background:var(--orange);padding:32px 38px;border-radius:var(--radius);display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center}.failure h3{font-size:2rem;margin:0}.governance details,.faqs details{border-top:1px solid var(--stone);padding:18px 0}.governance summary,.faqs summary{font-weight:900;cursor:pointer}.vote{background:var(--green);color:#fff}.vote-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.vote-steps{list-style:none;padding:0;margin:35px 0}.vote-steps li{display:flex;gap:18px;padding:17px 0;border-top:1px solid rgba(255,255,255,.35)}.vote-steps li>span{width:42px;height:42px;border-radius:50%;background:var(--cream);color:var(--navy);display:grid;place-items:center;font-family:var(--serif);font-weight:900;flex:0 0 auto}.vote-steps p{margin:2px 0}.two-tests{background:var(--navy);padding:25px;border-radius:20px}.two-tests h3{font-size:1.5rem}.two-tests>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.two-tests p{background:rgba(255,255,255,.08);padding:15px;margin:0}.two-tests b,.two-tests span{display:block}.vote-art{position:relative}.vote-art>img{width:100%;height:680px;object-fit:cover;border-radius:30px}.vote-art .campaign-card{position:absolute;width:255px;right:-15px;bottom:25px}.vote-art .campaign-card strong{font-size:3rem}.site-footer{background:#151e41;color:#fff;padding:65px 0}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px}.footer-brand{color:#fff;align-items:flex-start}.footer-grid h2{font-size:2rem}.footer-grid nav{display:flex;flex-direction:column;gap:8px}.footer-grid small{margin-top:15px}.small{font-size:.78rem;opacity:.8}.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:980px){.primary-nav{position:fixed;left:0;right:0;top:82px;background:var(--cream);padding:25px;display:flex;flex-direction:column;align-items:flex-start;transform:translateY(-140%);transition:.25s;box-shadow:0 20px 35px rgba(0,0,0,.12)}.primary-nav.open{transform:none}.menu-toggle{display:block;border:0;background:none;font-weight:900}.menu-toggle i{display:block;width:28px;height:2px;background:var(--navy);margin:5px 0}.hero-layout{grid-template-columns:1fr}.hero-layout>.campaign-card{display:none}.hero-people{grid-template-columns:240px 220px}.ballot-strip>.shell,.section-intro.split,.vision-grid,.consultation-grid,.governance-grid,.investment-grid,.vote-grid{grid-template-columns:1fr}.reason-equation{grid-template-columns:1fr}.reason-equation i{text-align:center}.metrics,.priority-overview{grid-template-columns:1fr 1fr}.priority-content{grid-template-columns:1fr 1fr}.priority-content img{grid-column:1/-1}.timeline-panel{grid-template-columns:1fr}.timeline-panel img{height:320px}.consult-flow{grid-template-columns:1fr 1fr}.consult-flow li:after{display:none}.vote-art{max-width:680px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.shell{width:min(var(--max),calc(100% - 28px))}.section{padding:78px 0}.hero{min-height:780px}.hero-layout{min-height:650px;padding:65px 0 160px}.hero-wash{background:rgba(21,32,73,.78)}h1{font-size:3.55rem}.hero-people{grid-template-columns:1fr 1fr;bottom:10px}.hero-people figure{height:120px}.ballot-strip>.shell{gap:20px}.date-track{grid-template-columns:1fr 1fr}.date-track:before{display:none}.section-intro.split{gap:15px}.metrics,.priority-overview,.consult-flow{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.timeline-tabs{display:flex;overflow:auto}.timeline-tabs button{min-width:100px}.timeline-panel>div{padding:28px}.priority-card{padding:17px}.priority-card header{grid-template-columns:auto 1fr}.priority-card header>strong{grid-column:2}.priority-content{grid-template-columns:1fr;padding:22px}.priority-content img{grid-column:auto}.money{flex-direction:column;gap:12px}.stacked-budget{height:170px}.stacked-budget span{display:none}.failure{grid-template-columns:1fr}.two-tests>div{grid-template-columns:1fr}.vote-art>img{height:520px}.vote-art .campaign-card{width:210px}.footer-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{transition:none!important}}

/* =========================================================
   PHASE 1 DESIGN LOCK - PDF CAMPAIGN IDENTITY
   Source of truth: approved BID Business Plan 2027-2032
   Typography: Aleo + Source Sans 3 (web equivalents of PDF fonts)
   ========================================================= */
:root{
  --navy:#1d2a5b;
  --green:#4b8b70;
  --cream:#eee6dc;
  --paper:#f8f4ee;
  --blue:#95bce8;
  --royal:#244a9a;
  --orange:#ef6a46;
  --pink:#ec008c;
  --yellow:#f6bd25;
  --ink:#1d2a5b;
  --stone:#d8cec4;
  --serif:"Aleo", Georgia, serif;
  --sans:"Source Sans 3", "Source Sans Pro", Arial, sans-serif;
  --radius:0px;
}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;letter-spacing:.002em}
h1,h2,h3,h4,.metrics strong,.money strong,.budget-detail strong,.priority-card header>strong{font-family:var(--serif);font-weight:800;letter-spacing:-.025em}
.eyebrow{font-family:var(--sans);font-weight:900;letter-spacing:.055em}
.progress{background:rgba(29,42,91,.14)}.progress span{background:var(--pink)}
.site-header{background:var(--green);border:0;box-shadow:0 8px 24px rgba(29,42,91,.12)}
.header-row{min-height:104px}.brand{display:grid;grid-template-columns:154px auto;align-items:center;gap:18px;color:#fff;text-decoration:none}.brand img{display:block;width:154px;height:72px;object-fit:cover;object-position:50% 55%;mix-blend-mode:normal}.brand em{font-style:normal;font-size:.72rem;font-weight:900;letter-spacing:.08em;border-left:1px solid rgba(255,255,255,.55);padding-left:18px;line-height:1.3}
.primary-nav a{color:#fff;font-weight:800}.primary-nav a:hover,.primary-nav a.active{color:var(--cream)}.primary-nav a.active:after{background:var(--pink)}
.nav-cta{background:var(--cream)!important;color:var(--navy)!important;border-radius:999px!important;padding:10px 16px!important}
.hero{background:var(--green)}.hero-wash{background:linear-gradient(90deg,rgba(29,42,91,.92) 0%,rgba(29,42,91,.72) 48%,rgba(29,42,91,.12) 100%)}
.hero-copy{max-width:760px}.hero h1{font-size:clamp(4rem,7vw,7.2rem);line-height:.87;text-transform:uppercase}.hero h1 span{display:block;color:var(--cream)}.hero-lead{font-size:1.25rem;max-width:650px}
.button{border-radius:999px;text-transform:uppercase;letter-spacing:.045em;font-size:.82rem}.button.green{background:var(--green);box-shadow:inset 0 0 0 2px rgba(255,255,255,.15)}.button.pale{background:var(--cream);color:var(--navy)}
.hero-facts li{border-left:3px solid var(--pink)}.hero-facts strong{font-family:var(--serif);font-size:2rem}
.campaign-card.campaign-art{background:transparent!important;padding:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible}.campaign-art img{display:block;width:100%;height:auto}.campaign-art a{display:inline-block;margin:10px 0 0 16%;font-weight:900;color:#fff;text-underline-offset:4px}.hero-layout>.campaign-art{width:min(430px,34vw)}
.hero-people figure,.photo-card,.priority-content img,.vote-art>img{border-radius:0}.hero-people figcaption{background:var(--cream);color:var(--navy);font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.ballot-strip{background:var(--green);color:#fff;border-top:1px solid rgba(255,255,255,.22)}.date-track li{background:#fff;color:var(--navy);border-radius:18px}.date-track li.hot{background:var(--cream);color:var(--navy);box-shadow:0 0 0 4px var(--pink)}
.section{position:relative}.section:before{content:"";position:absolute;inset:0 auto auto 0;width:72px;height:72px;background:var(--cream);border-radius:0 0 100% 0;opacity:.9}.section-intro h2{color:var(--green);text-transform:uppercase;font-size:clamp(2.6rem,5vw,5rem);line-height:.94}.section-intro .lede{color:var(--navy)}
.reason-equation article,.commitment,.timeline,.quote,.consult-flow li,.priority-overview a,.levy-card,.budget-card,.failure,.two-tests{border-radius:0}.reason-equation article{background:#fff;border-top:7px solid var(--blue)}.reason-equation .answer{background:var(--green);color:#fff;border-color:var(--pink)}
.commitment{background:var(--blue);color:var(--navy)}.commitment .eyebrow{color:var(--navy)}.commitment li:before,.ticks li:before{color:var(--green)}
.proof{background:var(--cream)}.metrics article{background:#fff;padding:24px;border-top:8px solid var(--green)}.metrics article:nth-child(2){border-color:var(--orange)}.metrics article:nth-child(3){border-color:var(--blue)}.metrics article:nth-child(4){border-color:var(--pink)}
.timeline{background:#fff;border:0}.timeline-tabs{background:var(--navy)}.timeline-tabs button[aria-selected=true]{background:var(--green);box-shadow:inset 0 -7px 0 var(--pink)}.timeline-panel small{color:var(--green);font-weight:900}.quote{background:var(--navy);border-left:14px solid var(--pink)}
.consultation{background:var(--paper)}.consult-flow li{border-left:8px solid var(--blue)}.consult-flow li:nth-child(2){border-color:var(--green)}.consult-flow li:nth-child(3){border-color:var(--orange)}.consult-flow li:nth-child(4){border-color:var(--pink)}
.priority-overview a{background:#fff;border-top:8px solid var(--green)}.priority-overview a:nth-child(2){border-color:var(--royal)}.priority-overview a:nth-child(3){border-color:var(--orange)}.priority-overview a:nth-child(4){border-color:var(--navy)}
.priority-card{border-radius:0;padding:24px}.priority-card header .num{border-radius:50%;background:var(--cream)}.priority-content{border-radius:0;background:var(--paper)}
.investment{background:var(--navy)}.levy-card,.budget-card{background:var(--cream)}.calculator{border-radius:0}.calculator button{background:var(--green)}.stacked-budget{border-radius:0}.failure{background:var(--orange);color:var(--navy)}
.governance{background:var(--paper)}.governance summary,.faqs summary{color:var(--green);font-family:var(--serif);font-size:1.08rem}
.vote{background:var(--green)}.vote-art>img{border:10px solid var(--cream)}.vote-art .campaign-card{width:330px;right:-24px;bottom:18px}.two-tests{background:var(--navy);border-left:12px solid var(--pink)}
.site-footer{background:var(--green);border-top:16px solid var(--cream)}.footer-brand img{width:180px;height:auto}.footer-grid a{color:#fff}
::selection{background:var(--pink);color:#fff}:focus-visible{outline:4px solid var(--yellow);outline-offset:4px}
@media(max-width:980px){.site-header{background:var(--green)}.primary-nav{top:104px;background:var(--green)}.menu-toggle{color:#fff}.menu-toggle i{background:#fff}.brand{grid-template-columns:132px auto}.brand img{width:132px}.hero-layout>.campaign-art{display:none}}
@media(max-width:640px){.header-row{min-height:88px}.brand{grid-template-columns:112px auto;gap:10px}.brand img{width:112px;height:58px}.brand em{font-size:.59rem;padding-left:10px}.primary-nav{top:88px}.hero h1{font-size:3.7rem}.section:before{width:42px;height:42px}}

/* =========================================================
   VERSION 3 UX REFINEMENTS
   Incremental improvements only: rhythm, hierarchy, clarity.
   ========================================================= */
.read-time{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:7px 11px;border-left:4px solid var(--pink);background:rgba(255,255,255,.1);font-size:.78rem;font-weight:800;letter-spacing:.025em}
.hero-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:24px;max-width:580px}.hero-summary span{padding:10px 12px;background:rgba(255,255,255,.1);border-left:3px solid var(--cream);font-size:.78rem;font-weight:800}
.journey-bar{position:sticky;top:104px;z-index:90;background:rgba(248,244,238,.97);border-bottom:1px solid var(--stone);box-shadow:0 8px 18px rgba(29,42,91,.06)}.journey-inner{min-height:48px;display:flex;align-items:center;gap:18px}.journey-label{font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--green)}.journey-inner nav{display:flex;align-items:center;gap:16px;overflow:auto;scrollbar-width:none}.journey-inner nav::-webkit-scrollbar{display:none}.journey-inner nav a{white-space:nowrap;text-decoration:none;font-size:.78rem;font-weight:800}.journey-inner nav a[aria-current]{color:var(--pink)}.journey-download{margin-left:auto;white-space:nowrap;text-decoration:none;font-size:.75rem;font-weight:900;color:var(--green)}
.metrics{grid-template-columns:1.35fr repeat(3,1fr)}.metrics .metric-hero{grid-row:span 2;background:var(--green);color:#fff;border-color:var(--pink);display:flex;flex-direction:column;justify-content:center;min-height:220px}.metrics .metric-hero strong{font-size:4.4rem;color:#fff}.metrics .metric-hero small{margin-top:18px;line-height:1.35;max-width:220px}.metrics article:not(.metric-hero){align-self:stretch}
.key-takeaway{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;margin:42px 0 0;padding:24px 28px;border-left:10px solid var(--pink);background:#fff}.key-takeaway b{font-family:var(--serif);font-size:1.35rem;color:var(--green)}.key-takeaway p{margin:0;font-weight:700}.key-takeaway.dark{background:rgba(255,255,255,.1);color:#fff}.key-takeaway.dark b{color:var(--cream)}
.consultation-feature{grid-template-columns:1.45fr .75fr}.consultation-feature .photo-card{min-height:560px}.consultation-feature .photo-card:after{content:"You said…";position:absolute;left:0;top:0;padding:18px 24px;background:var(--pink);color:#fff;font-family:var(--serif);font-weight:800;font-size:1.8rem}
.priority-overview a{transition:transform .18s ease,box-shadow .18s ease}.priority-overview a:hover,.priority-overview a:focus-visible{transform:translateY(-3px);box-shadow:0 12px 24px rgba(29,42,91,.1)}
.priority-card:nth-of-type(even) .priority-content{grid-template-columns:.85fr 1.15fr .7fr}.priority-card:nth-of-type(even) .priority-content img{grid-column:1;grid-row:1}.priority-card:nth-of-type(even) .evidence{grid-column:2;grid-row:1}.priority-card:nth-of-type(even) .commit{grid-column:3;grid-row:1}.priority-card.safety .priority-content{grid-template-columns:1fr 1fr}.priority-card.safety .priority-content img{grid-column:1/-1;height:390px;order:-1}
.vote-strap{font-family:var(--serif);font-size:1.45rem;line-height:1.25;padding-left:18px;border-left:7px solid var(--pink);max-width:650px}
.floating-plan{position:fixed;right:18px;bottom:18px;z-index:85;padding:12px 18px;border-radius:999px;background:var(--pink);color:#fff;text-decoration:none;font-size:.78rem;font-weight:900;box-shadow:0 12px 30px rgba(29,42,91,.25)}
@media(max-width:980px){.journey-bar{top:104px}.journey-label{display:none}.journey-inner{gap:12px}.journey-download{display:none}.metrics{grid-template-columns:1fr 1fr}.metrics .metric-hero{grid-column:1/-1;grid-row:auto}.consultation-feature{grid-template-columns:1fr}.priority-card:nth-of-type(even) .priority-content,.priority-card.safety .priority-content{grid-template-columns:1fr 1fr}.priority-card:nth-of-type(even) .priority-content img,.priority-card:nth-of-type(even) .evidence,.priority-card:nth-of-type(even) .commit{grid-column:auto;grid-row:auto}.priority-card:nth-of-type(even) .priority-content img,.priority-card.safety .priority-content img{grid-column:1/-1}}
@media(max-width:640px){.journey-bar{top:88px}.journey-inner{width:100%;padding:0 14px}.journey-inner nav{gap:14px}.journey-inner nav a{font-size:.72rem}.hero-summary{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}.metrics .metric-hero strong{font-size:3.7rem}.key-takeaway{grid-template-columns:1fr;gap:6px;padding:20px}.consultation-feature .photo-card{min-height:390px}.consultation-feature .photo-card:after{font-size:1.35rem}.priority-card:nth-of-type(even) .priority-content,.priority-card.safety .priority-content{grid-template-columns:1fr}.priority-card:nth-of-type(even) .priority-content img,.priority-card.safety .priority-content img{grid-column:auto}.floating-plan{right:12px;bottom:12px;padding:10px 14px}.vote-strap{font-size:1.2rem}}
@media print{.site-header,.journey-bar,.progress,.floating-plan,.menu-toggle,.hero-actions,.campaign-card{display:none!important}.hero{min-height:auto;color:var(--navy);background:#fff}.hero-image,.hero-wash,.hero-people{display:none}.hero-layout{min-height:auto;padding:30px 0;display:block}.hero h1 span{color:var(--green)}.section{padding:35px 0;break-inside:avoid}.reveal{opacity:1!important;transform:none!important}.site-footer{background:#fff;color:var(--navy);border-top:2px solid var(--navy)}}

/* =========================================================
   VERSION 3.1 PRODUCTION POLISH
   Focus: rhythm, typography, responsive quality, accessibility,
   performance-friendly layout and cross-browser resilience.
   ========================================================= */
:root{
  --max:1200px;
  --content:760px;
  --shadow-sm:0 8px 24px rgba(29,42,91,.10);
  --shadow-md:0 18px 48px rgba(29,42,91,.16);
  --space-section:clamp(5rem,8vw,8rem);
}
html{scroll-padding-top:150px;-webkit-text-size-adjust:100%}
body{font-size:17px;line-height:1.58;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
p,li{max-width:72ch}
h1,h2,h3,h4{text-wrap:balance}
p{text-wrap:pretty}
.section{padding-block:var(--space-section)}
.section-intro{margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.section-intro h2{max-width:14ch}
.section-intro.split h2{max-width:12ch}
.lede{max-width:66ch}

/* Header and journey bar */
.site-header{backdrop-filter:none;-webkit-backdrop-filter:none}
.header-row{min-height:96px}
.brand img{object-fit:contain;object-position:center;width:142px;height:70px}
.primary-nav{gap:clamp(12px,1.5vw,22px)}
.primary-nav a{position:relative;padding-block:8px}
.primary-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:1px;height:3px;background:var(--pink);transition:right .18s ease}
.primary-nav a:hover::after,.primary-nav a:focus-visible::after,.primary-nav a[aria-current]::after{right:0}
.journey-bar{box-shadow:0 4px 14px rgba(29,42,91,.08)}
.journey-inner{min-height:46px}
.journey-inner nav a{padding:12px 2px}

/* Hero */
.hero{min-height:820px}
.hero-layout{min-height:650px;padding:clamp(70px,8vw,110px) 0 155px;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:clamp(35px,6vw,78px)}
.hero-copy{max-width:790px}
.hero h1{font-size:clamp(3.7rem,6.7vw,6.9rem);max-width:9ch;margin-bottom:24px}
.hero-lead{max-width:610px;font-size:clamp(1.08rem,1.7vw,1.28rem)}
.read-time{margin-bottom:12px;color:var(--cream)}
.hero-summary{max-width:660px}
.hero-people{grid-template-columns:minmax(220px,290px) minmax(200px,250px)}
.hero-people figure{box-shadow:var(--shadow-md)}
.campaign-card.campaign-art{transform:rotate(-1.2deg)}

/* Ballot timeline */
.date-track li{box-shadow:var(--shadow-sm)}
.date-track time{font-size:1.02rem}

/* Proof timeline: alternate image and copy to avoid a right-heavy stack */
.timeline-panel{grid-template-columns:minmax(0,1fr) minmax(340px,.95fr)}
.timeline-panel.image-left>img{grid-column:1;grid-row:1}
.timeline-panel.image-left>div{grid-column:2;grid-row:1}
.timeline-panel>div{display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,5vw,58px)}
.timeline-panel img{min-height:430px}
.timeline-panel small{font-weight:900;letter-spacing:.08em;color:var(--green)}
.timeline-tabs button{min-height:58px;font-size:.95rem}
.timeline-tabs button:hover{background:rgba(75,139,112,.65)}

/* Priority cards: alternating editorial rhythm */
.priority-card{margin-bottom:clamp(32px,5vw,64px);box-shadow:var(--shadow-sm)}
.priority-content{grid-template-columns:minmax(190px,.72fr) minmax(260px,1.12fr) minmax(260px,.9fr);align-items:start}
.priority-card.image-left .priority-content img{grid-column:1;grid-row:1}
.priority-card.image-left .priority-content .evidence{grid-column:2;grid-row:1}
.priority-card.image-left .priority-content .commit{grid-column:3;grid-row:1}
.priority-content img{height:100%;min-height:330px}
.priority-card header>strong{align-self:start;padding-top:8px}
.priority-overview a{transition:transform .16s ease,box-shadow .16s ease;background:#fff;box-shadow:0 0 0 1px rgba(29,42,91,.10)}
.priority-overview a:hover,.priority-overview a:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow-sm)}

/* Photography and editorial components */
.photo-card{overflow:hidden}
.photo-card img{transition:transform .35s ease}
.photo-card:hover img{transform:scale(1.015)}
.quote{max-width:980px;margin-inline:auto;box-shadow:var(--shadow-sm)}
.key-takeaway{max-width:980px;margin-inline:auto}

/* Investment */
.stacked-budget button{min-height:120px;transition:filter .15s ease,transform .15s ease}
.stacked-budget button:hover,.stacked-budget button:focus-visible,.stacked-budget button[aria-pressed=true]{filter:brightness(1.08);transform:translateY(-3px)}
.calculator input{font:inherit}
.calculator button{min-width:110px}

/* Voting and footer */
.vote-art>img{box-shadow:var(--shadow-md)}
.footer-brand{display:flex;align-items:flex-start;gap:12px}
.footer-brand img{width:180px;height:auto;object-fit:contain}
.footer-brand em{border-left:0;padding-left:0;color:#fff}

/* Accessible interaction states */
button,input,summary,a{-webkit-tap-highlight-color:transparent}
button,summary{touch-action:manipulation}
summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px}
summary::after{content:"+";font-family:var(--serif);font-size:1.5rem;line-height:1}
details[open] summary::after{content:"−"}
[hidden]{display:none!important}

/* Tablet */
@media (max-width:980px){
  html{scroll-padding-top:132px}
  .menu-toggle{min-width:48px;min-height:48px;color:#fff;border:2px solid rgba(255,255,255,.45);border-radius:999px;padding:8px 10px}
  .menu-toggle i{background:#fff}
  .primary-nav{top:96px;max-height:calc(100vh - 96px);overflow:auto}
  .hero{min-height:760px}
  .hero-layout{padding-top:70px}
  .timeline-panel,.timeline-panel.image-left{grid-template-columns:1fr}
  .timeline-panel.image-left>img,.timeline-panel.image-left>div{grid-column:auto;grid-row:auto}
  .timeline-panel img{height:340px;min-height:0}
  .priority-content,.priority-card.image-left .priority-content{grid-template-columns:1fr 1fr}
  .priority-card.image-left .priority-content img,.priority-card.image-left .priority-content .evidence,.priority-card.image-left .priority-content .commit{grid-column:auto;grid-row:auto}
  .priority-content img{grid-column:1/-1!important;grid-row:auto!important;height:340px;min-height:0}
}

/* Mobile */
@media (max-width:640px){
  body{font-size:16px}
  html{scroll-padding-top:120px}
  .header-row{min-height:82px}
  .brand{grid-template-columns:110px auto;gap:10px}
  .brand img{width:110px;height:58px}
  .brand em{font-size:.6rem;padding-left:10px}
  .primary-nav{top:82px}
  .journey-label,.journey-download{display:none}
  .journey-inner nav{width:100%;justify-content:flex-start}
  .hero{min-height:720px}
  .hero-layout{min-height:590px;padding:50px 0 145px}
  .hero h1{font-size:clamp(3.15rem,15vw,4.1rem)}
  .hero-lead{font-size:1.05rem}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-actions .button{width:100%}
  .hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .hero-facts li{min-width:0;padding:10px 8px}
  .hero-facts strong{font-size:1.35rem}
  .hero-facts span{font-size:.68rem}
  .hero-summary{grid-template-columns:1fr}
  .hero-people{left:14px;right:14px;width:auto;transform:none;grid-template-columns:1fr 1fr}
  .hero-people figcaption{font-size:.62rem}
  .ballot-strip{padding:28px 0}
  .date-track li{min-height:84px;padding:13px}
  .section-intro h2,h2{font-size:clamp(2.35rem,12vw,3.25rem)}
  .reason-equation article{padding:20px}
  .timeline-tabs{scroll-snap-type:x mandatory}
  .timeline-tabs button{scroll-snap-align:start}
  .timeline-panel>div{padding:26px 22px}
  .timeline-panel h3{font-size:2rem}
  .timeline-panel img{height:250px}
  .priority-card{padding:12px;border-radius:18px}
  .priority-card header{padding:8px 6px 18px;gap:12px}
  .priority-card header .num{width:46px;height:46px}
  .priority-card header h3{font-size:1.8rem}
  .priority-card header>strong{font-size:1.7rem}
  .priority-content,.priority-card.image-left .priority-content{grid-template-columns:1fr;padding:20px;border-radius:14px}
  .priority-card.image-left .priority-content img,.priority-card.image-left .priority-content .evidence,.priority-card.image-left .priority-content .commit{grid-column:auto;grid-row:auto}
  .priority-content img{height:230px!important}
  .stacked-budget{height:145px}
  .calculator{grid-template-columns:auto 1fr}
  .calculator button{grid-column:1/-1;height:48px}
  .vote-art>img{height:440px}
  .floating-plan{display:none}
  .footer-brand img{width:150px}
}

/* Very small screens */
@media (max-width:380px){
  .shell{width:calc(100% - 22px)}
  .brand em{display:none}
  .hero-facts{grid-template-columns:1fr}
  .hero-people{grid-template-columns:1fr}
  .hero-people figure:last-child{display:none}
  .date-track{grid-template-columns:1fr}
  .metrics{grid-template-columns:1fr}
}

/* Print */
@media print{
  .site-header,.journey-bar,.progress,.floating-plan,.menu-toggle,.hero-actions,.timeline-tabs{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}
  .hero{min-height:auto;color:#000;background:#fff}
  .hero-image,.hero-wash,.hero-people,.campaign-card{display:none!important}
  .hero-layout{display:block;min-height:auto;padding:30px 0}
  .hero h1,.hero h1 span{color:#000}
  .section{padding:28px 0;break-inside:avoid}
  .timeline-panel[hidden]{display:grid!important}
  .timeline-panel{break-inside:avoid;border-top:1px solid #bbb}
  .priority-card{break-inside:avoid;box-shadow:none}
  a{text-decoration:none}
}
@media(max-width:980px){body.menu-open{overflow:hidden}}

/* V12 content alignment: five key ballot dates */
@media (min-width:641px){.date-track{grid-template-columns:repeat(5,1fr)}}

/* Final usability pass: one navigation system and comfortable real-world type */
html{scroll-padding-top:84px}
body{font-size:18px;line-height:1.62}
.header-row{min-height:78px}
.brand{grid-template-columns:124px auto;gap:14px}
.brand img{width:124px;height:60px}
.brand em{font-size:.82rem;padding-left:14px}
.primary-nav{font-size:1rem;gap:clamp(10px,1.25vw,18px)}
.primary-nav a{padding-block:10px}
.nav-cta{padding:10px 15px}
.button{font-size:1rem;min-height:50px}
.eyebrow{font-size:.88rem}
.read-time,.hero-summary span{font-size:.9rem}
.hero-facts span{font-size:.88rem;line-height:1.35}
.campaign-card small,.campaign-card span,.campaign-card a{font-size:.88rem}
.reason-equation span{font-size:1rem}
.quote cite{font-size:.9rem}
.consult-flow span,.priority-overview em,.priority-card header p{font-size:.9rem}
.floating-plan{font-size:.9rem}
summary{font-size:1.05rem}
.journey-bar{display:none!important}

@media (max-width:1100px) and (min-width:981px){
  .brand{grid-template-columns:110px auto;gap:10px}.brand img{width:110px;height:56px}.brand em{display:none}
  .primary-nav{font-size:.93rem;gap:10px}.nav-cta{padding-inline:12px}
}
@media (max-width:980px){
  html{scroll-padding-top:78px}
  .header-row{min-height:78px}
  .primary-nav{top:78px;max-height:calc(100vh - 78px);font-size:1rem}
  .primary-nav a{min-height:48px;display:flex;align-items:center}
  .brand{grid-template-columns:116px auto}.brand img{width:116px;height:56px}.brand em{font-size:.78rem}
}
@media (max-width:640px){
  body{font-size:17px;line-height:1.6}
  html{scroll-padding-top:70px}
  .header-row{min-height:70px}
  .brand{grid-template-columns:102px auto;gap:8px}.brand img{width:102px;height:50px}.brand em{font-size:.72rem;padding-left:8px}
  .primary-nav{top:70px;max-height:calc(100vh - 70px)}
  .button{font-size:1rem}
  .eyebrow{font-size:.84rem}
  .read-time,.hero-summary span{font-size:.88rem}
  .hero-facts span{font-size:.8rem}
  .hero-people figcaption{font-size:.78rem}
  .campaign-card small,.campaign-card span,.campaign-card a{font-size:.82rem}
}
@media (max-width:380px){.brand em{display:none}}


/* Physical-device defect fixes: 2026-08-21 */
/* Let the mobile hero use the full content width rather than inheriting the desktop 9ch headline measure. */
@media (max-width:640px){
  .hero-copy{max-width:none;width:100%}
  .hero h1{max-width:none;width:100%;font-size:clamp(2.8rem,13vw,3.45rem);line-height:.92;overflow-wrap:normal;word-break:normal}
}
@media (max-width:380px){
  .hero h1{font-size:clamp(2.6rem,13vw,3.05rem)}
}
/* The Why Renew photograph is core content: reserve and paint its panel independently of reveal JS. */
#case .vision-grid>.photo-card{display:block;min-height:420px;background:var(--stone)}
#case .vision-grid>.photo-card img{display:block;width:100%;height:100%;min-height:420px;object-fit:cover}
@media (max-width:980px){#case .vision-grid>.photo-card,#case .vision-grid>.photo-card img{min-height:360px}}
@media (max-width:640px){#case .vision-grid>.photo-card,#case .vision-grid>.photo-card img{min-height:260px}}

/* Physical iPhone follow-up: rebalance the complete first module, not only the H1. */
@media (max-width:640px){
  .hero-layout{display:block;padding-top:44px}
  .hero-copy{max-width:none;width:100%;margin:0 auto;text-align:center}
  .hero .eyebrow{margin-left:auto;margin-right:auto}
  .hero .read-time{display:flex;width:max-content;max-width:100%;margin-left:auto;margin-right:auto;text-align:left}
  .hero h1{max-width:100%;margin-left:auto;margin-right:auto;text-align:center;text-wrap:balance}
  .hero-lead{max-width:34rem;margin-left:auto;margin-right:auto;text-align:center}
  .hero-actions{justify-items:stretch}
  .hero-facts{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));margin-left:auto;margin-right:auto}
  .hero-facts li{border-left:0;border-top:3px solid var(--pink);text-align:center}
  .hero-summary{width:100%;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));text-align:left}
}
@media (max-width:380px){
  .hero-summary{grid-template-columns:1fr}
  .hero-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* =========================================================
   FINAL PHYSICAL-DEVICE RESOLUTION PASS — 2026-08-21
   Fixes only: mobile hero composition + no-JS content visibility.
   ========================================================= */

/* Core content must never depend on JavaScript/IntersectionObserver to appear. */
.reveal,
.reveal.in {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* Why Renew: guarantee the visual and equation occupy real, painted space. */
#case .reason-equation {
  opacity: 1 !important;
  visibility: visible !important;
}
#case .vision-grid > .photo-card {
  opacity: 1 !important;
  visibility: visible !important;
  min-width: 0;
}
#case .vision-grid > .photo-card img {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Mobile hero: use normal document flow and the whole viewport width.
   This avoids the desktop-left-column composition surviving after the
   campaign art is hidden on phones. */
@media (max-width: 640px) {
  .hero {
    min-height: 0;
    overflow: hidden;
  }
  .hero-layout {
    display: block;
    min-height: 0;
    padding: 36px 0 30px;
  }
  .hero-copy {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    text-align: center;
  }
  .hero .eyebrow,
  .hero .read-time,
  .hero-lead,
  .hero h1 {
    margin-left: auto;
    margin-right: auto;
  }
  .hero .read-time {
    width: fit-content;
    max-width: 100%;
    justify-content: center;
    text-align: center;
  }
  .hero h1 {
    width: 100%;
    max-width: 8.5em;
    font-size: clamp(2.65rem, 12vw, 3.2rem);
    line-height: .94;
    text-align: center;
    text-wrap: balance;
    overflow-wrap: normal;
    word-break: normal;
    margin-bottom: 20px;
  }
  .hero h1 span {
    display: block;
  }
  .hero-lead {
    max-width: 32rem;
    font-size: 1.06rem;
    line-height: 1.5;
    text-align: center;
  }
  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
    max-width: 30rem;
    margin: 24px auto 0;
  }
  .hero-actions .button {
    width: 100%;
  }
  .hero-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    margin: 26px auto 0;
  }
  .hero-facts li {
    min-width: 0;
    padding: 12px 7px;
    border-left: 0;
    border-top: 3px solid var(--pink);
    text-align: center;
  }
  .hero-facts strong {
    font-size: 1.4rem;
  }
  .hero-facts span {
    font-size: .82rem;
    line-height: 1.3;
  }
  .hero-summary {
    width: 100%;
    max-width: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 16px;
    text-align: center;
  }
  .hero-summary span {
    min-width: 0;
    padding: 10px 8px;
    border-left: 0;
    border-top: 3px solid var(--cream);
  }

  /* On phones the supporting photography follows the copy in normal flow,
     rather than sitting as an absolutely-positioned desktop overlay. */
  .hero-people {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    transform: none;
    width: calc(100% - 28px);
    max-width: 620px;
    margin: 0 auto;
    padding: 0 0 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    justify-content: stretch;
  }
  .hero-people figure {
    width: 100%;
    height: 126px;
  }
  .hero-people figcaption {
    left: 8px;
    right: 8px;
    bottom: 8px;
    width: auto;
    text-align: center;
    white-space: normal;
  }
}

@media (max-width: 380px) {
  .hero h1 {
    max-width: 8em;
    font-size: clamp(2.45rem, 12.5vw, 2.8rem);
  }
  .hero-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .hero-people {
    grid-template-columns: 1fr;
  }
  .hero-people figure,
  .hero-people figure:last-child {
    display: block;
    height: 140px;
  }
  .hero-summary {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   LARGE-DESKTOP EDITORIAL BALANCE
   Physical desktop QA showed that statement modules became
   visually disconnected on wide screens. These rules keep
   the approved content and structure but make the compositions
   read as intentional pairs rather than isolated left/right items.
   ========================================================= */
.case-intro{
  max-width:none;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  gap:clamp(42px,5vw,76px);
  align-items:center;
}
.case-intro-copy{min-width:0}
.case-intro h2{max-width:12ch;margin-bottom:26px}
.case-intro .lede{max-width:54ch;margin-bottom:0}
.case-intro-visual{
  margin:0;
  position:relative;
  min-height:clamp(420px,34vw,560px);
  overflow:hidden;
}
.case-intro-visual img{
  width:100%;height:100%;position:absolute;inset:0;object-fit:cover;
}
.case-intro-visual figcaption{
  position:absolute;left:18px;bottom:18px;
  background:var(--navy);color:#fff;padding:8px 13px;
  font-size:.92rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;
}

/* Keep large statement + explanation close enough to read as one idea. */
#proof .section-intro.split{
  grid-template-columns:minmax(360px,.8fr) minmax(420px,1fr);
  gap:clamp(40px,4vw,64px);
  align-items:center;
}
#proof .section-intro.split>p{
  justify-self:start;
  align-self:center;
  max-width:48ch;
  margin:0;
  font-size:1.12rem;
}
#proof .section-intro.split h2{max-width:9ch;margin-bottom:0}

/* Apply the same compositional discipline to other split introductions
   without changing their content or order. */
@media (min-width:1200px){
  .section-intro.split:not(#proof .section-intro.split){
    gap:clamp(42px,4vw,64px);
    align-items:center;
  }
  .section-intro.split>p{max-width:52ch;margin-bottom:0}
}

@media (max-width:980px){
  .case-intro{grid-template-columns:1fr;gap:30px}
  .case-intro h2{max-width:14ch}
  .case-intro-visual{min-height:360px}
  #proof .section-intro.split{grid-template-columns:1fr;gap:20px;align-items:start}
  #proof .section-intro.split h2{max-width:12ch;margin-bottom:12px}
  #proof .section-intro.split>p{max-width:62ch}
}
@media (max-width:640px){
  .case-intro{gap:24px}
  .case-intro-visual{min-height:250px}
  .case-intro-visual figcaption{font-size:.82rem;left:12px;bottom:12px}
}

/* Fresh Business Plan photography: approved imagery only, no content/layout redesign */
.proof-intro-support{display:grid;gap:1.25rem;align-self:center}
.proof-intro-support p{margin:0}
.proof-intro-support figure{margin:0;overflow:hidden;border-radius:var(--radius, 1rem)}
.proof-intro-support img{display:block;width:100%;height:auto;aspect-ratio:976/374;object-fit:cover}
@media (max-width: 900px){.proof-intro-support{gap:1rem}.proof-intro-support figure{max-width:42rem}}

/* Final photography/graphic deduplication: approved Business Plan artwork */
.priority-content img.priority-graphic{object-fit:contain;background:var(--cream);padding:18px;min-height:330px}
.vote-art.vote-next{display:flex;justify-content:center;align-items:center}
.vote-art.vote-next>img{height:auto;max-height:680px;width:auto;max-width:100%;object-fit:contain;border:0;background:var(--cream)}
@media(max-width:980px){.priority-content img.priority-graphic{height:340px;object-fit:contain}.vote-art.vote-next>img{height:auto;max-height:620px}}
@media(max-width:640px){.priority-content img.priority-graphic{height:280px!important;object-fit:contain}.vote-art.vote-next>img{height:auto;max-height:none;width:100%}}
