:root{
  --navy:#071a3d;
  --navy-2:#0a2b66;
  --blue:#17477f;
  --green:#42b83e;
  --green-dark:#25752c;
  --green-pale:#e9f6e7;
  --ink:#17233a;
  --muted:#5d6877;
  --paper:#f6f1e8;
  --white:#fff;
  --line:#ded7ca;
  --soft:#eef4ef;
  --sand:#eee4d5;
  --shadow:0 18px 55px rgba(7,26,61,.13);
  --radius:22px;
  --max:1220px;
  --font-body:"Helvetica Neue",Helvetica,Arial,"Segoe UI",sans-serif;
  --font-display:"Avenir Next",Avenir,"Century Gothic","Helvetica Neue",Helvetica,Arial,sans-serif;
  --safe-left:env(safe-area-inset-left,0px);
  --safe-right:env(safe-area-inset-right,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:92px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.2em}
button,input,select,textarea{font:inherit}
a[href^="http"],code,pre{overflow-wrap:anywhere;word-break:break-word}
button,a{touch-action:manipulation;-webkit-tap-highlight-color:rgba(66,184,62,.18)}
.container{width:min(var(--max),calc(100% - 2rem));margin-inline:auto;padding-left:max(0px,var(--safe-left));padding-right:max(0px,var(--safe-right))}
.narrow{width:min(820px,calc(100% - 2rem));margin-inline:auto}.center{text-align:center}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:1rem;top:1rem;z-index:9999;transform:translateY(-180%);background:#fff;color:#000;padding:.75rem 1rem;border:3px solid var(--green);font-weight:900;border-radius:10px}.skip-link:focus{transform:none}
:focus-visible{outline:3px solid #f5ca36;outline-offset:3px}
h1,h2,h3{font-family:var(--font-display);font-weight:900;line-height:1.06;letter-spacing:-.035em;margin:0;color:var(--navy)}
h1{font-size:clamp(2.45rem,5.5vw,5.4rem)}h2{font-size:clamp(1.9rem,3.8vw,3.45rem)}h3{font-size:1.28rem}p{margin:0 0 1rem}.lede{font-size:clamp(1.04rem,1.5vw,1.25rem);line-height:1.55;color:var(--muted);max-width:780px}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:900;color:var(--green-dark);margin-bottom:.55rem}.section{padding:4.7rem 0}.section.soft{background:var(--soft)}.section.sand{background:var(--sand)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:2.5rem;margin-bottom:2rem}.section-head>div{max-width:820px}.section-head>p{max-width:430px;color:var(--muted);font-size:1.02rem}.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}.text-link{font-weight:900;color:var(--green-dark)}

/* Utility strip and compact reference-inspired header */
.topline{background:var(--navy);color:#fff;font-size:.75rem;font-weight:700}.topline .container{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.topline strong{color:#a9efa5}.topline a{color:#fff;text-decoration:underline}.site-header{position:sticky;top:0;z-index:100;background:rgba(246,241,232,.96);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-bottom:1px solid rgba(7,26,61,.13)}.nav-shell{min-height:66px;display:flex;align-items:center;gap:1.1rem}.wordmark.logo-mark{display:flex;align-items:center;gap:.55rem;text-decoration:none;min-width:158px}.wordmark.logo-mark img{width:148px;height:auto}.wordmark.logo-mark small{display:none}.main-nav{display:flex;align-items:center;gap:.15rem;margin-left:auto}.main-nav a{display:inline-flex;align-items:center;min-height:44px;padding:.55rem .62rem;border-radius:11px;text-decoration:none;font-size:.82rem;font-weight:800;color:#26364f}.main-nav a:hover,.main-nav a.active,.main-nav a[aria-current=page]{background:#fff;box-shadow:0 5px 20px rgba(7,26,61,.08);color:var(--navy)}.nav-actions{display:flex;align-items:center;gap:.5rem}.language-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.45rem .62rem;border-radius:10px;border:1px solid var(--line);text-decoration:none;font-size:.78rem;font-weight:900;background:#fff}.menu-btn{display:none;min-height:42px;padding:.5rem .75rem;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--navy);font-weight:900}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.72rem 1rem;border-radius:999px;border:1px solid transparent;text-decoration:none;font-weight:900;line-height:1.1;transition:.2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(7,26,61,.14)}.btn.primary{background:var(--green);color:#071a16;border-color:var(--green)}.btn.primary:hover{background:#58c853}.btn.dark{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.outline{background:#fff;color:var(--navy);border-color:var(--navy)}.btn.white{background:#fff;color:var(--navy)}.btn.small{min-height:40px;padding:.58rem .88rem;font-size:.82rem}.nav-actions .btn{min-width:92px}

/* Homepage hero follows the reference site's strong image-and-overlay composition */
.campaign-hero{position:relative;overflow:hidden;min-height:540px;background:var(--navy);display:flex;align-items:center}.campaign-hero::before{content:"";position:absolute;inset:0;background-image:url('../images/banner-giga-city.webp');background-size:cover;background-position:center;z-index:0}.campaign-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,61,.98) 0%,rgba(7,26,61,.92) 33%,rgba(7,26,61,.55) 58%,rgba(7,26,61,.08) 100%),linear-gradient(0deg,rgba(7,26,61,.42),transparent 55%);z-index:1}.hero-grid{position:relative;z-index:2;display:block;min-height:540px}.hero-copy{max-width:760px;padding:3.5rem 0 3.2rem;color:#fff}.hero-kicker{color:#a9efa5;text-transform:uppercase;letter-spacing:.15em;font-size:.74rem;font-weight:900}.hero-copy h1{color:#fff;margin:.4rem 0 .8rem;max-width:720px;font-size:clamp(2.65rem,5.5vw,5.3rem)}.hero-copy h1 span{color:#8ee987}.opening-statement{max-width:720px;font-size:clamp(.99rem,1.35vw,1.15rem);line-height:1.55;color:#eef4ff;margin:0}.hero-copy .actions{margin-top:1.35rem}.hero-copy .btn.outline{background:transparent;border-color:#fff;color:#fff}.hero-secondary{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;font-size:.83rem;font-weight:800}.hero-secondary a{color:#fff}.hero-photo-wrap{display:none}
.action-rail{background:var(--green);border-bottom:1px solid rgba(7,26,61,.16)}.action-rail .container{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(7,26,61,.15)}.action-rail a{display:block;background:var(--green);padding:.85rem 1rem;text-decoration:none}.action-rail a:hover{background:#57c850}.action-rail strong{display:block;color:#fff;font-size:1rem}.action-rail span{display:block;color:#fff;font-size:.76rem;font-weight:700}

/* Editorial homepage sections */
.why-jamie .container{display:grid;grid-template-columns:1.02fr .98fr;gap:3rem;align-items:start}.why-jamie-intro{max-width:600px}.reason-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem}.reason-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.2rem}.reason-card span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--green-pale);color:var(--green-dark);font-size:.72rem;font-weight:900;margin-bottom:.8rem}.reason-card h3{font-size:1.08rem;margin-bottom:.45rem}.reason-card p{color:var(--muted);font-size:.9rem;margin:0}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.25rem;box-shadow:0 7px 25px rgba(7,26,61,.05)}.card-number{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--green-pale);color:var(--green-dark);font-size:.75rem;font-weight:900;margin-bottom:1rem}.card h3{margin-bottom:.5rem}.card p{color:var(--muted);font-size:.92rem}.priority-card{min-height:260px;display:flex;flex-direction:column}.priority-card .text-link{margin-top:auto}.support-band{background:var(--navy);color:#fff;padding:4.8rem 0}.support-band .container{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}.support-band h2{color:#fff}.support-band .lede{color:#d7e2f2;margin-top:1rem}.support-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem}.support-action{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:1.1rem}.support-action strong{display:block;color:#fff;font-size:1.05rem}.support-action p{color:#cad7e8;font-size:.85rem;margin:.45rem 0 .7rem}.support-action a{color:#a9efa5;font-weight:900}.endorsement-strip{background:var(--green-pale);border-top:1px solid #cfe3cc;border-bottom:1px solid #cfe3cc}.endorsement-strip .container{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-top:2rem;padding-bottom:2rem}.endorsement-strip h2{font-size:clamp(1.5rem,2.8vw,2.35rem)}.endorsement-strip p{color:#4b6550;margin:.5rem 0 0}.vision-panel{background:var(--navy);color:#fff;padding:4.8rem 0}.vision-panel h2{color:#fff}.vision-panel .lede{color:#d6e1ef;margin-top:1rem}.vision-panel blockquote{max-width:850px;margin:1.6rem 0 0;border-left:4px solid var(--green);padding-left:1.2rem;font-family:Georgia,serif;font-size:1.25rem}.vision-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;margin-top:2rem}.vision-steps article{border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:1.1rem;background:rgba(255,255,255,.05)}.vision-steps h3{color:#fff;font-size:1.1rem}.vision-steps p{color:#cbd7e6;font-size:.88rem;margin:.45rem 0 0}.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.quality-item{background:#fff;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:0 0 14px 14px;padding:1rem}.quality-item h3{font-size:1rem;margin-bottom:.35rem}.quality-item p{font-size:.86rem;color:var(--muted);margin:0}.release-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.release-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.25rem}.release-card .status,.tag{display:inline-flex;padding:.32rem .55rem;border-radius:999px;background:var(--green-pale);color:var(--green-dark);text-transform:uppercase;letter-spacing:.06em;font-size:.64rem;font-weight:900;margin-bottom:.8rem}.release-card h3{margin-bottom:.45rem}.release-card p{color:var(--muted);font-size:.9rem}.news-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}.news-feature{background:var(--navy);color:#fff;border-radius:20px;padding:1.6rem;display:flex;flex-direction:column;justify-content:flex-end;min-height:320px}.news-feature h3{color:#fff;font-size:1.65rem}.news-feature p{color:#d5e0ee}.news-list{display:grid;gap:.8rem}.news-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem}.news-item time{font-size:.72rem;color:var(--green-dark);font-weight:900;text-transform:uppercase}.news-item h3{font-size:1.05rem;margin:.3rem 0}.news-item p{font-size:.88rem;color:var(--muted);margin:0}.vote-band{background:var(--green-pale)}.vote-grid{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center}.date-tile{display:grid;place-items:center;min-width:190px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.15rem}.date-tile span{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:900;color:var(--green-dark)}.date-tile strong{font-size:4.2rem;line-height:1;color:var(--navy)}.date-tile small{font-weight:800;color:var(--muted)}.signup-band{background:var(--green);padding:2.6rem 0}.signup-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;align-items:center}.signup-grid h2{font-size:2rem}.inline-form{display:grid;grid-template-columns:1fr auto;gap:.65rem}.inline-form input{min-height:48px;border:1px solid #6f9b6c;border-radius:999px;padding:.75rem 1rem;background:#fff}.form-note{font-size:.75rem;color:#25412a}.hp{position:absolute!important;left:-9999px!important}

/* Internal page heroes and correct page-specific banners */
.page-hero{background:linear-gradient(135deg,#fbf7f0,#ece3d5);border-bottom:1px solid var(--line);padding:3.4rem 0 2.4rem}.page-hero h1{max-width:950px;margin:.4rem 0 .8rem}.page-hero .lede{max-width:760px}.crumbs{font-size:.78rem;color:var(--muted);margin-bottom:1.1rem}.crumbs a{font-weight:800}.issue-hero{background:linear-gradient(180deg,#fff,#f8f4ec);padding:3rem 0 0}.issue-hero-copy{max-width:850px;margin-bottom:1.8rem}.issue-hero-copy h1{margin:.4rem 0 .9rem}.issue-banner{width:min(1440px,100%);margin:0 auto;background:#e6ebe6;overflow:hidden;border-radius:20px 20px 0 0;box-shadow:0 18px 50px rgba(7,26,61,.11)}.issue-banner img{width:100%;aspect-ratio:1800/771;object-fit:cover}.issue-body{padding-top:3.8rem}.issue-intro{display:grid;grid-template-columns:1.05fr .65fr;gap:3rem;align-items:start}.issue-points{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:1.5rem}.issue-point{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem}.issue-point h3{font-size:1.05rem;margin-bottom:.4rem}.issue-point p{font-size:.88rem;color:var(--muted);margin:0}.issue-aside{background:var(--green-pale);border:1px solid #cce3ca;border-radius:18px;padding:1.25rem}.issue-aside p{color:#49604d}.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.portrait-card img{width:100%;border-radius:20px;box-shadow:var(--shadow);object-fit:cover}.copy-stack>*+*{margin-top:1rem}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2.5rem;align-items:start}.sidebar{display:grid;gap:1rem}.sidebar-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.2rem}.sidebar-card h3{margin-bottom:.5rem}.prose{max-width:760px}.prose h2{font-size:2rem;margin:1.8rem 0 .7rem}.prose h3{margin:1.3rem 0 .45rem}.prose p,.prose li{color:#3f4c5f}.prose a{color:var(--green-dark);font-weight:800}.notice,.callout{background:#fff;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:0 14px 14px 0;padding:1rem;margin:1rem 0}.notice strong,.callout strong{color:var(--navy)}

/* Forms and campaign conversion pages */
.form-shell{display:grid;grid-template-columns:.82fr 1.18fr;gap:2.5rem;align-items:start}.campaign-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.35rem;box-shadow:0 8px 30px rgba(7,26,61,.06)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.field{display:grid;gap:.35rem;margin-bottom:.9rem}.field label{font-weight:850;color:var(--navy);font-size:.88rem}.field input,.field select,.field textarea{width:100%;border:1px solid #b8b1a6;border-radius:11px;background:#fff;padding:.72rem .8rem;min-height:46px}.field textarea{min-height:120px;resize:vertical}.field-help,.form-note{font-size:.78rem;color:var(--muted)}.required{color:#a52a2a}.check{display:flex;gap:.7rem;align-items:flex-start;margin:.8rem 0;font-size:.88rem}.check input{width:19px;height:19px;accent-color:var(--green-dark);flex:0 0 auto}.error-summary{display:none;background:#fff0f0;color:#801f1f;border:1px solid #cf8f8f;border-radius:11px;padding:.8rem;margin-bottom:.8rem}.error-summary.show{display:block}[aria-invalid=true]{border:2px solid #b52b2f!important}.donation-options{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:1rem 0}.donation-options button{min-height:46px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:900;color:var(--navy)}.donation-options button[aria-pressed=true]{background:var(--green);border-color:var(--green)}.disabled-portal{background:#f3eee5;border:1px dashed #9b9284;border-radius:16px;padding:1rem}.endorsement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1.5rem}.endorsement-type,.empty-endorsement{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem}.empty-endorsement{margin-bottom:1rem}.sign-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:2rem;align-items:start}.sign-preview{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1rem}.sign-board{display:grid;place-items:center;aspect-ratio:4/3;background:linear-gradient(145deg,var(--navy),var(--navy-2));border-radius:16px;color:#fff;text-align:center;padding:1rem}.sign-board img{max-width:210px}.compliance-list{display:grid;gap:.65rem;padding:0;list-style:none}.compliance-list li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.8rem}.status{font-weight:900;color:var(--green-dark)}

/* Footer */
.footer{background:#06152f;color:#d9e3ef;padding:3.6rem 0 1.2rem}.footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,.65fr);gap:2.2rem}.footer .wordmark.logo-mark img{width:160px;filter:none}.footer .wordmark.logo-mark{background:#fff;border-radius:10px;padding:.35rem .55rem;width:max-content}.footer p{font-size:.9rem;color:#bdcadd;max-width:340px}.footer nav{display:grid;align-content:start;gap:.38rem}.footer nav h3{color:#fff;font-family:var(--font-body);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}.footer nav a{color:#d9e3ef;text-decoration:none;font-size:.86rem}.footer nav a:hover{text-decoration:underline}.socials{display:flex;gap:.5rem;margin-top:1rem}.socials a{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.25);border-radius:50%;text-decoration:none;font-size:.75rem;font-weight:900}.authorized,.footer-bottom{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;margin-top:1.6rem;border-top:1px solid rgba(255,255,255,.14);font-size:.76rem;color:#aebdce}.footer-bottom{margin-top:.75rem}.footer-a11y-button{display:block;min-height:38px;padding:0;border:0;background:transparent;color:#d9e3ef;text-align:left;cursor:pointer;font:inherit;font-size:.86rem}.mobile-cta{display:none}

/* Accessibility menu */
.accessibility-launcher{position:fixed;left:max(14px,var(--safe-left));bottom:max(14px,var(--safe-bottom));z-index:190;display:inline-flex;align-items:center;gap:.45rem;min-height:48px;padding:.65rem .85rem;border:2px solid var(--navy);border-radius:999px;background:#fff;color:var(--navy);box-shadow:0 10px 30px rgba(7,26,61,.18);font-weight:900;cursor:pointer}.accessibility-launcher .launcher-label{font-size:.75rem}.accessibility-dialog{width:min(700px,calc(100% - 2rem));max-height:88dvh;padding:0;border:1px solid #a9b2bf;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 30px 90px rgba(7,26,61,.32);overflow:auto}.accessibility-dialog::backdrop{background:rgba(5,16,35,.7);backdrop-filter:blur(3px)}.a11y-dialog-head{display:flex;justify-content:space-between;gap:1rem;padding:1.35rem;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#f8f5ee,#edf5ec)}.a11y-dialog-head h2{font-size:2rem}.a11y-dialog-head p{color:var(--muted);margin:.4rem 0 0}.a11y-close{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy);font-size:1.3rem;cursor:pointer}.a11y-dialog-body{padding:1.35rem}.accessibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.accessibility-group{margin:0;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#fafafa}.accessibility-group legend{font-weight:900;color:var(--navy)}.accessibility-choice{display:grid;grid-template-columns:22px 1fr;gap:.6rem;align-items:center;min-height:42px;font-weight:750}.accessibility-choice input{width:19px;height:19px;accent-color:var(--green-dark)}.accessibility-actions{display:flex;gap:.6rem;margin-top:1rem}.accessibility-actions button{min-height:44px;padding:.65rem .9rem;border:1px solid var(--navy);border-radius:999px;background:var(--navy);color:#fff;font-weight:900}.accessibility-actions [data-a11y-reset]{background:#fff;color:var(--navy)}.a11y-note{font-size:.78rem;color:var(--muted);margin:1rem 0 0}.a11y-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
html[data-a11y-text=large]{font-size:112.5%}html[data-a11y-text=xlarge]{font-size:125%}html[data-a11y-font=readable] body,html[data-a11y-font=readable] h1,html[data-a11y-font=readable] h2,html[data-a11y-font=readable] h3{font-family:Arial,"Helvetica Neue",sans-serif!important;letter-spacing:0!important}html[data-a11y-links=underline] a:not(.btn):not(.wordmark):not(.socials a){text-decoration:underline!important;text-decoration-thickness:2px!important}html[data-a11y-motion=reduce]{scroll-behavior:auto!important}html[data-a11y-motion=reduce] *,html[data-a11y-motion=reduce] *::before,html[data-a11y-motion=reduce] *::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}.reveal.visible,html[data-a11y-motion=reduce] .reveal{opacity:1;transform:none}
html[data-a11y-contrast=high] body{background:#fff!important;color:#000!important}html[data-a11y-contrast=high] :where(.section,.page-hero,.issue-hero,.card,.reason-card,.issue-point,.issue-aside,.campaign-form,.sidebar-card,.release-card,.news-item,.quality-item){background:#fff!important;color:#000!important;background-image:none!important}html[data-a11y-contrast=high] :where(h1,h2,h3,p,li,label,.lede,.eyebrow){color:#000!important}html[data-a11y-contrast=high] :where(.topline,.site-header,.campaign-hero,.vision-panel,.support-band,.footer){background:#000!important;color:#fff!important;background-image:none!important}html[data-a11y-contrast=high] :where(.topline,.site-header,.campaign-hero,.vision-panel,.support-band,.footer) :where(a,h1,h2,h3,p,span,strong){color:#fff!important}html[data-a11y-contrast=high] .btn,html[data-a11y-contrast=high] .accessibility-launcher{background:#000!important;border:2px solid #ffdf57!important;color:#fff!important}html[data-a11y-contrast=high] input,html[data-a11y-contrast=high] select,html[data-a11y-contrast=high] textarea{background:#fff!important;color:#000!important;border:2px solid #000!important}

@media(max-width:1120px){.main-nav{position:absolute;display:none;left:1rem;right:1rem;top:calc(100% + .45rem);background:#fff;border:1px solid var(--line);border-radius:16px;padding:.75rem;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;max-height:calc(100dvh - 110px);overflow:auto}.main-nav.open{display:flex}.main-nav a{padding:.65rem .75rem}.menu-btn{display:block;margin-left:auto}.nav-actions .language-link{display:none}.card-grid{grid-template-columns:repeat(2,1fr)}.quality-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.2fr repeat(3,.8fr)}}
@media(max-width:820px){.section{padding:3.7rem 0}.section-head{display:block}.section-head>p{margin-top:1rem;max-width:760px}.campaign-hero{min-height:0;display:block}.campaign-hero::before{position:relative;display:block;inset:auto;height:auto;aspect-ratio:1800/800;background-size:cover;background-position:center}.campaign-hero::after{display:none}.hero-grid{min-height:0;background:var(--navy)}.hero-copy{padding:1.5rem 0;color:#fff}.hero-copy h1{font-size:clamp(2.2rem,10vw,3.4rem)}.opening-statement{font-size:.96rem}.hero-secondary{gap:.75rem}.why-jamie .container,.support-band .container,.issue-intro,.form-shell,.content-layout,.split,.news-grid,.signup-grid,.sign-layout{grid-template-columns:1fr}.reason-grid,.support-actions,.issue-points{grid-template-columns:1fr 1fr}.action-rail .container{grid-template-columns:repeat(2,1fr)}.vote-grid{grid-template-columns:1fr}.date-tile{justify-self:start}.footer-grid{grid-template-columns:1fr 1fr}.authorized,.footer-bottom{display:block}.authorized span,.footer-bottom span{display:block;margin-top:.4rem}.mobile-cta{position:fixed;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;left:10px;right:10px;bottom:max(10px,var(--safe-bottom));z-index:180;padding:.45rem;background:rgba(255,255,255,.93);border:1px solid var(--line);border-radius:999px;box-shadow:0 10px 30px rgba(7,26,61,.18);backdrop-filter:blur(10px)}body{padding-bottom:78px}.accessibility-launcher{bottom:92px}.issue-banner{border-radius:0}.issue-banner img{aspect-ratio:16/8}.donation-options{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.container,.narrow{width:min(100% - 1.2rem,var(--max))}.topline .container{justify-content:center;text-align:center}.topline .container span:last-child{display:none}.wordmark.logo-mark img{width:130px}.nav-shell{min-height:62px}.nav-actions .btn{min-width:auto;padding:.55rem .7rem}.reason-grid,.card-grid,.support-actions,.quality-grid,.release-grid,.vision-steps,.footer-grid,.endorsement-grid,.accessibility-grid,.field-grid{grid-template-columns:1fr}.action-rail span{display:none}.action-rail a{padding:.75rem .8rem}.hero-copy .actions{display:grid;grid-template-columns:1fr}.hero-copy .btn{width:100%}.opening-statement{line-height:1.5}.issue-points{grid-template-columns:1fr}.inline-form{grid-template-columns:1fr}.accessibility-launcher .launcher-label{display:none}.accessibility-launcher{padding:.65rem;min-width:48px}.page-hero{padding:2.6rem 0 1.9rem}.issue-hero{padding-top:2.5rem}.issue-banner img{aspect-ratio:4/3}.footer .wordmark.logo-mark img{width:145px}.gallery-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
@media(forced-colors:active){:focus-visible{outline:3px solid Highlight}.btn,.card,.campaign-form,.accessibility-launcher{border:2px solid ButtonText}.eyebrow{color:Highlight}}


/* === Clean portrait hero: prior campaign design, without a face-covering gradient === */
.campaign-hero{min-height:auto;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 55%,#123b70 100%);display:block;padding:0}
.campaign-hero::before,.campaign-hero::after{display:none!important}
.campaign-hero .hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(390px,.96fr);align-items:stretch;min-height:650px}
.campaign-hero .hero-copy{display:flex;flex-direction:column;justify-content:center;max-width:none;padding:4.2rem 3.2rem 4.2rem 0;color:#fff}
.campaign-hero .hero-copy h1{font-size:clamp(3rem,5.7vw,5.8rem);line-height:.94;max-width:760px}
.campaign-hero .hero-copy h1 .hero-subline{display:block;color:#a9efa5;font-size:.56em;line-height:1.08;margin-top:.22em;letter-spacing:-.025em}
.campaign-hero .hero-copy h1 .hero-tertiary{display:block;color:#fff;font-size:.36em;line-height:1.22;margin-top:.45em;letter-spacing:-.012em}
.campaign-hero .hero-photo-wrap{display:flex;align-items:flex-end;justify-content:center;min-width:0;position:relative;overflow:hidden;background:#e8f0f7}
.campaign-hero .hero-photo{width:100%;height:100%;min-height:650px;object-fit:cover;object-position:50% 12%}
.campaign-hero .hero-photo-wrap::after{content:'Jamie Atkinson · Candidate for Mayor of Toronto';position:absolute;right:1.1rem;bottom:1.1rem;background:rgba(7,26,61,.92);color:#fff;border-radius:999px;padding:.55rem .85rem;font-size:.72rem;font-weight:900;box-shadow:0 8px 24px rgba(7,26,61,.22)}
.hero-support{max-width:730px;margin-top:1rem;color:#dfe9f5;font-weight:700}
.hero-plan-note{max-width:730px;margin-top:1rem;border-left:4px solid var(--green);padding:.7rem 0 .7rem 1rem;color:#fff;font-weight:800}

/* Visual storytelling */
.story-split{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem;align-items:center}
.story-split.reverse .story-media{order:2}.story-split.reverse .story-copy{order:1}
.story-media{overflow:hidden;border-radius:26px;box-shadow:var(--shadow);background:#fff}
.story-media img{width:100%;aspect-ratio:16/10;object-fit:cover}
.story-copy p{color:var(--muted)}
.big-idea-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.big-idea{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.35rem;box-shadow:0 8px 28px rgba(7,26,61,.06)}
.big-idea h3{margin-bottom:.55rem}.big-idea p{color:var(--muted);font-size:.93rem}
.big-idea .idea-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--green-pale);color:var(--green-dark);font-size:1.2rem;font-weight:900;margin-bottom:1rem}
.corridor{display:flex;align-items:center;justify-content:space-between;gap:.55rem;flex-wrap:wrap;margin:1.2rem 0 0;padding:1rem;border-radius:16px;background:#fff;border:1px solid var(--line)}
.corridor span{font-weight:900;color:var(--navy)}.corridor i{font-style:normal;color:var(--green-dark);font-weight:900}
.metric-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(7,26,61,.12);border-radius:20px;overflow:hidden;margin-top:1.5rem}
.metric-band article{background:#fff;padding:1.15rem}.metric-band strong{display:block;color:var(--navy);font-size:1.05rem}.metric-band span{display:block;color:var(--muted);font-size:.82rem;margin-top:.25rem}
.plan-callout{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;border-radius:24px;padding:2rem;box-shadow:var(--shadow)}
.plan-callout h2,.plan-callout h3{color:#fff}.plan-callout p{color:#d8e4f1}.plan-callout .eyebrow{color:#a9efa5}
.public-note{background:#eff6ef;border-left:5px solid var(--green);border-radius:14px;padding:1rem 1.1rem;color:#24422a}

/* Page heroes and banners */
.page-hero{padding:3.2rem 0 2.4rem;background:linear-gradient(180deg,#f7f2e9,#fff)}
.page-hero .crumbs{font-size:.82rem;color:var(--muted);margin-bottom:1rem}
.page-hero .lede{margin-top:1rem}
.page-banner{overflow:hidden;border-radius:26px;border:1px solid var(--line);box-shadow:var(--shadow);margin-top:1.6rem;background:#fff}
.page-banner img{width:100%;aspect-ratio:16/6;object-fit:cover;object-position:center}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:2.4rem;align-items:start}
.prose{max-width:820px}.prose h2{margin:2.4rem 0 .8rem}.prose h3{margin:1.7rem 0 .55rem}.prose p,.prose li{color:#3c4a5f}.prose blockquote{margin:1.4rem 0;border-left:4px solid var(--green);padding:.4rem 0 .4rem 1rem;font-family:Georgia,serif;font-size:1.25rem;color:var(--navy)}
.sidebar-card{position:sticky;top:105px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.1rem;box-shadow:0 8px 28px rgba(7,26,61,.06)}
.sidebar-card h2{font-size:1.1rem;margin-bottom:.6rem}.sidebar-card a{display:block;padding:.45rem 0;color:var(--green-dark);font-weight:900}
.pillar-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.pillar{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.2rem}.pillar h3{margin-bottom:.5rem}.pillar p{color:var(--muted);font-size:.92rem}
.first-term-list{counter-reset:firstterm;list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.first-term-list li{counter-increment:firstterm;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem 1rem 1rem 3.6rem;position:relative}.first-term-list li::before{content:counter(firstterm);position:absolute;left:1rem;top:1rem;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:var(--navy);font-weight:900}

/* Actual voter assistance interface — generated with HTML/CSS/JavaScript, not uploaded mockup images */
.vote-app{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}
.vote-app-head{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;background:linear-gradient(135deg,#f8fafc,#eef5ff);border-bottom:1px solid var(--line)}
.vote-app-brand{font-weight:950;color:var(--navy)}.vote-app-brand span{color:var(--green-dark)}
.vote-private{display:flex;align-items:center;gap:.5rem;color:#3d4d63;font-size:.78rem;font-weight:800}
.vote-private::before{content:'✓';display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--green-pale);color:var(--green-dark);font-weight:950}
.vote-app-body{padding:1.4rem}
.vote-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1.4rem}
.vote-steps span{display:flex;align-items:center;justify-content:center;min-height:38px;border-radius:999px;background:#f4f6f8;color:#59677a;font-size:.72rem;font-weight:900;text-align:center;padding:.45rem}.vote-steps span.active{background:var(--green-pale);color:var(--green-dark);box-shadow:inset 0 0 0 2px var(--green)}
.vote-question{border:1px solid var(--line);border-radius:18px;padding:1rem;margin-bottom:.9rem}.vote-question legend{font-weight:900;color:var(--navy);padding:0 .3rem}.vote-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem;margin-top:.7rem}.vote-choice{position:relative}.vote-choice input{position:absolute;opacity:0;pointer-events:none}.vote-choice label{display:flex;align-items:center;min-height:52px;border:2px solid var(--line);border-radius:14px;padding:.7rem .8rem;background:#fff;color:#26364f;font-weight:800;cursor:pointer}.vote-choice input:checked+label{border-color:var(--green);background:#f1fbf2;color:var(--navy)}.vote-choice input:focus-visible+label{outline:3px solid #f5ca36;outline-offset:2px}
.vote-result{margin-top:1.2rem;background:#f8fbff;border:1px solid #cddbeb;border-radius:18px;padding:1.2rem}.vote-result[hidden]{display:none}.vote-result h3{margin-bottom:.6rem}.vote-result ol{padding-left:1.3rem}.vote-result li{margin:.45rem 0}
.date-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}.date-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem}.date-card strong{display:block;color:var(--navy)}.date-card span{display:block;color:var(--green-dark);font-size:.8rem;font-weight:900;margin-bottom:.35rem}
.progress-board{display:grid;gap:.7rem}.progress-step{display:grid;grid-template-columns:32px 1fr;gap:.75rem;align-items:start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.8rem}.progress-step input{width:24px;height:24px;margin-top:2px;accent-color:var(--green-dark)}.progress-step strong{display:block;color:var(--navy)}.progress-step span{display:block;color:var(--muted);font-size:.85rem}
.official-links{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.official-link{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem;text-decoration:none}.official-link strong{display:block;color:var(--navy)}.official-link span{display:block;color:var(--muted);font-size:.84rem;margin-top:.3rem}

/* Forms, reminders, donation and administration */
.form-shell{display:grid;grid-template-columns:.82fr 1.18fr;gap:2rem;align-items:start}.campaign-form,.form-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.35rem;box-shadow:0 8px 28px rgba(7,26,61,.07)}
.field{display:grid;gap:.38rem;margin-bottom:1rem}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.field label,fieldset legend{font-weight:900;color:var(--navy)}
input,select,textarea{width:100%;min-height:50px;border:2px solid #cbd4df;border-radius:12px;background:#fff;color:var(--ink);padding:.7rem .75rem}textarea{min-height:130px;resize:vertical}.field-help,.help{font-size:.78rem;color:var(--muted)}.required{color:#9b2020}
.check{display:flex;align-items:flex-start;gap:.65rem;margin:.75rem 0}.check input{width:22px;height:22px;min-height:22px;margin-top:.15rem;accent-color:var(--green-dark)}
.error-summary,.success,.notice{padding:1rem;border-radius:14px;margin:1rem 0}.error-summary{background:#fff1f1;border-left:5px solid #a92222;color:#721919}.success{background:#edf9ee;border-left:5px solid var(--green-dark);color:#24502a}.notice{background:#eef4ff;border-left:5px solid var(--blue);color:#283d57}.hp{position:absolute!important;left:-9999px!important}
.amount-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem}.amount-button{min-height:48px;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);font-weight:900;cursor:pointer}.amount-button[aria-pressed=true]{border-color:var(--green);background:var(--green-pale)}
.contribution-status{display:inline-flex;align-items:center;padding:.35rem .65rem;border-radius:999px;background:#fff4d4;color:#725100;font-weight:900;font-size:.76rem}.portal-locked{background:#fff7e9;border:1px dashed #a68d5e;border-radius:16px;padding:1rem;color:#5a4928}
.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background:#f5f7fa}.admin-nav{background:var(--navy);color:#fff;padding:1.4rem}.admin-nav a{display:block;color:#fff;padding:.5rem 0}.admin-main{padding:2rem;min-width:0}.data-table{width:100%;border-collapse:collapse;background:#fff}.data-table th,.data-table td{border:1px solid var(--line);padding:.7rem;text-align:left;vertical-align:top}.status{display:inline-block;padding:.25rem .55rem;border-radius:999px;background:#eef2f7;font-weight:900;font-size:.72rem}.status.received,.status.confirmed{background:#e8f7e9;color:#216728}.status.pending{background:#fff4d4;color:#725100}

@media(max-width:1050px){
 .campaign-hero .hero-grid{grid-template-columns:1fr 420px}.campaign-hero .hero-copy{padding-right:2rem}.campaign-hero .hero-photo,.campaign-hero .hero-grid{min-height:590px}
 .big-idea-grid{grid-template-columns:1fr 1fr}.metric-band{grid-template-columns:repeat(2,1fr)}.date-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
 .campaign-hero .hero-grid{display:flex;flex-direction:column;min-height:0;background:var(--navy)}.campaign-hero .hero-photo-wrap{order:-1;min-height:0}.campaign-hero .hero-photo{height:auto;min-height:0;aspect-ratio:16/10;object-position:50% 12%}.campaign-hero .hero-copy{padding:2rem 0 2.4rem}.campaign-hero .hero-photo-wrap::after{right:.7rem;bottom:.7rem;font-size:.65rem}
 .story-split,.story-split.reverse,.content-layout,.form-shell{grid-template-columns:1fr}.story-split.reverse .story-media,.story-split.reverse .story-copy{order:initial}.sidebar-card{position:static}.first-term-list{grid-template-columns:1fr}.official-links{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
 .campaign-hero .hero-photo{aspect-ratio:4/3;object-position:50% 12%}.campaign-hero .hero-copy h1{font-size:clamp(2.55rem,13vw,3.8rem)}.hero-plan-note{font-size:.9rem}.big-idea-grid,.pillar-grid,.vote-choices,.official-links,.field-grid,.date-grid{grid-template-columns:1fr}.metric-band{grid-template-columns:1fr}.vote-steps{grid-template-columns:1fr 1fr}.amount-grid{grid-template-columns:1fr 1fr}.page-banner img{aspect-ratio:4/3}.admin-shell{grid-template-columns:1fr}.admin-main{padding:1rem}
}

.feature-list{margin:1rem 0 0;padding-left:1.15rem;color:var(--ink)}
.feature-list li{margin:.45rem 0}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}
.gallery-grid img{width:100%;border-radius:22px;border:1px solid var(--line);box-shadow:var(--shadow);display:block}
.action-rail a:hover strong,.action-rail a:hover span{color:#fff}


/* v3 platform presentation */
.platform-ladder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
.platform-ladder article{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.45rem;box-shadow:0 12px 30px rgba(7,26,61,.06)}
.platform-ladder article>span{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:999px;background:var(--green);color:#071a3d;font-weight:900;margin-bottom:.85rem}
.platform-ladder h3{margin:.1rem 0 .55rem;color:var(--navy)}
.platform-ladder p{margin:0;color:var(--muted)}
.public-proof-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.housing-preview{background:linear-gradient(180deg,#f7fbf6 0%,#fff 100%)}
.policy-guardrail{margin:1.25rem 0 0;padding:1.05rem 1.1rem;border-left:5px solid var(--green);background:#f2f8f1;border-radius:0 16px 16px 0}
.policy-guardrail strong{display:block;color:var(--navy);margin-bottom:.25rem}
.policy-guardrail p{margin:0;color:#24442c}
@media(max-width:980px){.platform-ladder,.public-proof-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.platform-ladder,.public-proof-grid{grid-template-columns:1fr}}

/* Connected-region and housing pathway refinements */
.route-pair{display:grid;grid-template-columns:1fr;gap:.85rem;margin:1.2rem 0}
.route-pair>div{padding:1rem 1.1rem;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(7,26,61,.06)}
.route-pair strong{display:block;color:var(--navy);font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem}
.route-pair p{margin:0;color:#17351a;font-weight:800;line-height:1.55}
.route-pair.large{grid-template-columns:repeat(2,minmax(0,1fr))}
.route-pair.large>div:first-child{border-top:5px solid var(--green)}
.route-pair.large>div:last-child{border-top:5px solid var(--navy)}
.mini-pathways{display:grid;gap:.65rem;margin:1rem 0 1.15rem}
.mini-pathways>div{padding:.8rem .9rem;border-radius:13px;background:#f2f8f1;border:1px solid #d5e7d2}
.mini-pathways strong{display:block;color:var(--navy);font-size:.92rem;margin-bottom:.15rem}
.mini-pathways span{display:block;color:#24442c;font-size:.86rem;line-height:1.45}
.campaign-graphic{margin:1.75rem 0 0}
.campaign-graphic img{display:block;width:100%;height:auto;border-radius:22px;border:1px solid var(--line);box-shadow:var(--shadow)}
.campaign-graphic figcaption{margin:.65rem .25rem 0;color:#506052;font-size:.82rem;line-height:1.5}
.campaign-graphic.compact{max-width:980px;margin-left:auto;margin-right:auto}
@media(max-width:820px){.route-pair.large{grid-template-columns:1fr}.route-pair p{font-size:.9rem}.campaign-graphic img{border-radius:16px}}

/* Immediate platform priorities */
.priority-first{background:#fff}
.immediate-priority-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}
.immediate-priority{position:relative;grid-column:span 2;min-height:285px;padding:1.4rem;border-radius:22px;border:1px solid var(--line);background:#fff;box-shadow:0 12px 34px rgba(7,26,61,.07);display:flex;flex-direction:column;overflow:hidden}
.immediate-priority:nth-child(4){grid-column:2/span 2}.immediate-priority:nth-child(5){grid-column:4/span 2}
.immediate-priority::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--green)}
.immediate-priority>span{display:inline-grid;place-items:center;width:2.45rem;height:2.45rem;border-radius:999px;background:var(--green-pale);color:var(--green-dark);font-weight:900;font-size:.78rem;margin:.2rem 0 1rem}
.immediate-priority h3{font-size:1.48rem;color:var(--navy);margin-bottom:.65rem}
.immediate-priority p{color:var(--muted);font-size:.95rem;line-height:1.58}
.immediate-priority a{margin-top:auto;color:var(--green-dark);font-weight:900}
.immediate-priority.clean::before{background:#246b54}.immediate-priority.flood::before{background:#2574a9}.immediate-priority.transit::before{background:#7048a8}.immediate-priority.services::before{background:#d59a21}
@media(max-width:980px){.immediate-priority-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.immediate-priority,.immediate-priority:nth-child(4),.immediate-priority:nth-child(5){grid-column:auto}}
@media(max-width:620px){.immediate-priority-grid{grid-template-columns:1fr}.immediate-priority{min-height:0}}

/* Public-priority and connected-corridor refinement */
.priority-spotlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.priority-spotlight{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}
.priority-spotlight>img{display:block;width:100%;aspect-ratio:16/7;object-fit:cover}
.priority-spotlight>div{padding:1.35rem 1.4rem 1.5rem}
.priority-spotlight h3{margin:.4rem 0 .65rem;color:var(--navy);font-size:clamp(1.35rem,2.2vw,1.85rem)}
.priority-spotlight p{margin:0 0 1rem;color:var(--ink);line-height:1.65}
.rail-home-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:2rem;align-items:start}
.rail-home-copy{padding-top:.25rem}
.rail-home-graphic{margin:0}
.rail-home-graphic img{background:#eef4ef}
.rail-disclaimer{font-size:.86rem;color:#526255;line-height:1.55;border-left:4px solid var(--green);padding-left:.85rem}
.rail-side-graphic{margin:0;align-self:start}
.rail-side-graphic img{background:#eef4ef}
@media(max-width:980px){.rail-home-grid{grid-template-columns:1fr}.priority-spotlight-grid{grid-template-columns:1fr}.rail-home-graphic{max-width:760px}}
@media(max-width:620px){.priority-spotlight{border-radius:18px}.priority-spotlight>div{padding:1.1rem 1.05rem 1.25rem}.priority-spotlight>img{aspect-ratio:4/2.25}}

/* 2026-08-05 Toronto Leads Again homepage and public safety refinements */
.hero-support{max-width:720px;color:#dce9f7;font-size:1rem;margin:.9rem 0 0}
.hero-plan-note{max-width:720px;color:#bfe8be;font-weight:850;margin:.75rem 0 0}
.campaign-hero-portrait .hero-photo-wrap{background:linear-gradient(180deg,#f4f7fa,#dce6ef)}
.campaign-hero-portrait .hero-photo{object-position:50% 8%;background:#edf2f6}
.campaign-hero-portrait .hero-photo-wrap::after{background:rgba(7,26,61,.88)}
.dark-outline{border-color:var(--navy)!important;color:var(--navy)!important;background:transparent!important}
.dark-outline:hover{background:var(--navy)!important;color:#fff!important}

.ai-era{background:linear-gradient(135deg,#071a3d 0%,#0c2f6c 58%,#0b5034 100%);color:#fff;overflow:hidden}
.ai-era h2,.ai-era h3{color:#fff}.ai-era .lede,.ai-era p{color:#e7eef8}.ai-era .eyebrow{color:#a9efa5}
.ai-era-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:3rem;align-items:center}
.ai-commitment{margin:1.35rem 0;padding:1.25rem 1.35rem;border:1px solid rgba(255,255,255,.22);border-radius:20px;background:rgba(255,255,255,.08);box-shadow:0 16px 50px rgba(0,0,0,.18);backdrop-filter:blur(10px)}
.ai-commitment h3{font-size:1.55rem;margin:.45rem 0 .6rem}.ai-commitment p{margin-bottom:.65rem}
.ai-badge{display:inline-flex;padding:.34rem .65rem;border-radius:999px;background:#a9efa5;color:#071a3d;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.ai-era-visual{position:relative;min-height:480px;border-radius:34px;background:radial-gradient(circle at 50% 50%,rgba(92,232,120,.24),transparent 28%),linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 0 60px rgba(255,255,255,.03),0 24px 70px rgba(0,0,0,.24);overflow:hidden}
.ai-era-visual.compact{min-height:430px;background:radial-gradient(circle at 50% 50%,rgba(66,184,62,.2),transparent 30%),linear-gradient(145deg,#f4f8fb,#e7f0e9);border-color:var(--line);box-shadow:var(--shadow)}
.compute-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;height:190px;border-radius:42px;display:grid;place-items:center;background:linear-gradient(145deg,#173f82,#071a3d);border:3px solid #8ee987;box-shadow:0 0 0 12px rgba(142,233,135,.11),0 20px 60px rgba(0,0,0,.3)}
.compute-core strong{color:#fff;text-align:center;line-height:1.14;letter-spacing:.08em;font-size:1rem;z-index:2}
.compute-core span{position:absolute;width:42px;height:10px;border-radius:10px;background:#8ee987;opacity:.85}.compute-core span:nth-child(1){top:24px}.compute-core span:nth-child(2){bottom:24px}.compute-core span:nth-child(3){transform:rotate(90deg)}
.compute-line{position:absolute;height:3px;background:linear-gradient(90deg,transparent,#8ee987,transparent);transform-origin:left center}.compute-line.l1{width:72%;left:14%;top:29%;transform:rotate(12deg)}.compute-line.l2{width:72%;left:14%;top:68%;transform:rotate(-13deg)}.compute-line.l3{width:70%;left:15%;top:50%}
.compute-node{position:absolute;padding:.55rem .8rem;border-radius:999px;background:#fff;color:#071a3d;font-weight:900;font-size:.82rem;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.compute-node.n1{left:7%;top:17%}.compute-node.n2{right:7%;top:23%}.compute-node.n3{left:8%;bottom:18%}.compute-node.n4{right:8%;bottom:15%}
.ai-era-visual.compact .compute-node{background:#fff;border:1px solid var(--line)}

.safety-home-grid{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:2.6rem;align-items:center}
.safety-poster{margin:0;max-width:540px}.safety-poster img{border-radius:28px}
.three-f-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.35rem 0}
.three-f-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.15rem;box-shadow:0 10px 28px rgba(7,26,61,.06)}
.three-f-grid.large article{padding:1.45rem}.three-f-grid h3{margin:.65rem 0 .45rem}.three-f-grid p{color:var(--muted);margin-bottom:.55rem}
.risk-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:#fff;font-weight:950;font-size:1.05rem}
.risk-icon.fire{background:#bf2727}.risk-icon.flood{background:#1263ad}.risk-icon.fall{background:#3d9639}

.safecharge-preview{background:#fff}
.safecharge-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
.safecharge-summary{border:1px solid var(--line);border-radius:22px;padding:1.35rem;background:#f9fbfc;box-shadow:0 10px 28px rgba(7,26,61,.05)}
.safecharge-summary h3{margin-bottom:.8rem}.tier-list{display:grid;gap:.65rem}.tier-list>div{padding:.8rem;border-radius:14px;background:#fff;border-left:5px solid var(--green)}
.tier-list strong,.tier-list span{display:block}.tier-list span{color:var(--muted);font-size:.86rem;margin-top:.18rem}


.safecharge-layout{align-items:start}.risk-tier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.risk-tier{position:relative;border:1px solid var(--line);border-radius:22px;padding:1.4rem;background:#fff;box-shadow:0 10px 30px rgba(7,26,61,.06)}
.risk-tier>span{display:inline-flex;padding:.3rem .55rem;border-radius:999px;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}
.risk-tier.low{border-top:6px solid #42b83e}.risk-tier.medium{border-top:6px solid #e2a429}.risk-tier.high{border-top:6px solid #bf2727}
.risk-tier.low>span{background:#e8f7e8;color:#226529}.risk-tier.medium>span{background:#fff3d8;color:#7a5200}.risk-tier.high>span{background:#ffe6e6;color:#8c1d1d}
.risk-tier h3{margin-bottom:.6rem}.risk-tier p{color:var(--muted)}

.canada160{background:linear-gradient(115deg,#fff 0%,#f7f3eb 68%,#e8f5e7 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.canada160-inner{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center}.canada160-inner p{max-width:760px;color:var(--muted)}
.canada160-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;width:190px;height:190px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--font-display);font-weight:950;font-size:4.5rem;line-height:.8;box-shadow:0 16px 45px rgba(7,26,61,.2)}
.canada160-mark span{font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:#a9efa5;margin-top:.8rem}

@media(max-width:980px){
  .ai-era-grid,.safety-home-grid{grid-template-columns:1fr}.ai-era-visual{min-height:420px}.safety-poster{max-width:650px;margin-inline:auto}.three-f-grid,.risk-tier-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .campaign-hero-portrait .hero-photo{display:block;width:min(100%,520px);height:auto;aspect-ratio:auto;object-fit:contain;margin:0 auto;min-height:0;padding-top:.5rem}
  .campaign-hero-portrait .hero-photo-wrap{background:#e8eef3}
  .campaign-hero-portrait .hero-photo-wrap::after{right:.65rem;bottom:.65rem}
  .safecharge-home-grid{grid-template-columns:1fr}.canada160-inner{grid-template-columns:1fr}.canada160-mark{width:150px;height:150px;font-size:3.5rem}
}
@media(max-width:620px){
  .three-f-grid,.risk-tier-grid{grid-template-columns:1fr}.ai-era-visual,.ai-era-visual.compact{min-height:370px}.compute-core{width:150px;height:150px;border-radius:34px}.compute-node{font-size:.72rem;padding:.45rem .65rem}.compute-node.n1{left:4%;top:12%}.compute-node.n2{right:4%;top:18%}.compute-node.n3{left:4%;bottom:13%}.compute-node.n4{right:4%;bottom:10%}
}

/* 2026-08-05 citywide coalition refinement */
.coalition-home{background:linear-gradient(180deg,#f5faf4 0%,#fff 100%)}
.coalition-outcomes{display:flex;flex-wrap:wrap;gap:.65rem;margin:0 0 1.35rem}
.coalition-outcomes span{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.48rem .9rem;border-radius:999px;background:var(--navy);color:#fff;font-size:.76rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 20px rgba(7,26,61,.12)}
.coalition-outcomes span:nth-child(2),.coalition-outcomes span:nth-child(4){background:var(--green-dark)}
.coalition-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.coalition-home-grid article{position:relative;min-height:220px;padding:1.25rem;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(7,26,61,.06);display:flex;flex-direction:column}
.coalition-home-grid article::before{content:"";position:absolute;inset:0 0 auto;height:5px;border-radius:20px 20px 0 0;background:linear-gradient(90deg,var(--navy),var(--green))}
.coalition-home-grid article>span{display:grid;place-items:center;width:2.3rem;height:2.3rem;margin:.25rem 0 .85rem;border-radius:50%;background:var(--green-pale);color:var(--green-dark);font-size:.7rem;font-weight:950}
.coalition-home-grid h3{font-size:1.15rem;margin-bottom:.45rem}
.coalition-home-grid p{color:var(--muted);font-size:.9rem;margin:0}
.coalition-home-close{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:1.25rem;padding:1.15rem 1.25rem;border-radius:18px;background:var(--navy);color:#fff}
.coalition-home-close p{max-width:820px;margin:0;color:#eef4fb}
.coalition-home-close .btn{flex:0 0 auto;background:#fff;color:var(--navy);border-color:#fff}
.coalition-home-close .btn:hover{background:var(--green);border-color:var(--green);color:var(--navy)}

.coalition-hero .coalition-thesis{max-width:980px;margin:1rem 0 0;padding:1rem 1.1rem;border-left:5px solid var(--green);border-radius:0 16px 16px 0;background:var(--green-pale);color:#17351a;font-weight:750;line-height:1.65}
.coalition-promise{padding-top:3rem;padding-bottom:3rem}
.coalition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem}
.coalition-card{position:relative;padding:1.35rem;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(7,26,61,.065);overflow:hidden}
.coalition-card::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--navy),var(--green))}
.coalition-card-head{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start;margin:.3rem 0 1rem}
.coalition-card-head>span{display:grid;place-items:center;width:2.55rem;height:2.55rem;border-radius:50%;background:var(--green-pale);color:var(--green-dark);font-size:.72rem;font-weight:950}
.coalition-card h3{font-size:clamp(1.2rem,2vw,1.48rem);margin:0 0 .35rem}
.coalition-stat{margin:0;color:#4d5e6e;font-size:.88rem;line-height:1.48}
.coalition-card .feature-list{margin:.85rem 0 1rem}
.coalition-card .feature-list li{font-size:.91rem;line-height:1.52}
.gigacity-line{margin:1rem 0 0;padding-top:.85rem;border-top:1px solid var(--line);color:#24442c;font-size:.88rem;line-height:1.55}
.coalition-close{background:linear-gradient(135deg,#071a3d 0%,#0d356f 62%,#0b5136 100%);color:#fff}
.coalition-close h2,.coalition-close .lede,.coalition-close p{color:#fff}
.coalition-close .eyebrow{color:#a9efa5}
.coalition-quote{margin:1.25rem 0;padding:1rem 1.1rem;border-left:5px solid #a9efa5;background:rgba(255,255,255,.08);border-radius:0 16px 16px 0;color:#fff;font-family:Georgia,serif;font-size:1.15rem}
.coalition-map{position:relative;min-height:430px;border:1px solid rgba(255,255,255,.22);border-radius:32px;background:radial-gradient(circle at 50% 50%,rgba(105,230,113,.22),transparent 25%),linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.02));overflow:hidden;box-shadow:0 22px 65px rgba(0,0,0,.2)}
.coalition-map::before,.coalition-map::after{content:"";position:absolute;left:50%;top:50%;width:78%;height:2px;background:linear-gradient(90deg,transparent,#8ee987,transparent);transform:translate(-50%,-50%) rotate(24deg)}
.coalition-map::after{transform:translate(-50%,-50%) rotate(-24deg)}
.map-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:150px;height:150px;border-radius:50%;background:var(--navy);border:4px solid #8ee987;color:#fff;font-weight:950;letter-spacing:.12em;box-shadow:0 0 0 12px rgba(142,233,135,.1),0 18px 50px rgba(0,0,0,.25);z-index:2}
.map-node{position:absolute;padding:.52rem .78rem;border-radius:999px;background:#fff;color:var(--navy);font-size:.78rem;font-weight:900;box-shadow:0 10px 28px rgba(0,0,0,.18);z-index:3}
.map-node.n1{left:7%;top:12%}.map-node.n2{right:8%;top:17%}.map-node.n3{left:4%;top:47%}.map-node.n4{right:5%;top:50%}.map-node.n5{left:12%;bottom:13%}.map-node.n6{right:10%;bottom:12%}
.coalition-priorities{background:#f5faf4;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.coalition-priority-copy{max-width:920px}
.coalition-join-note{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;margin:0 0 1.25rem;padding:1rem 1.15rem;border:1px solid #cfe3cc;border-radius:16px;background:var(--green-pale)}
.coalition-join-note strong{color:var(--navy)}
.coalition-join-note span{color:#3b5540;font-size:.9rem}
.coalition-join-note a{color:var(--green-dark);font-weight:900;white-space:nowrap}

@media(max-width:980px){
  .coalition-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .coalition-grid{grid-template-columns:1fr}
  .coalition-map{min-height:380px}
  .coalition-join-note{grid-template-columns:1fr}.coalition-join-note a{white-space:normal}
}
@media(max-width:680px){
  .coalition-home-grid{grid-template-columns:1fr}
  .coalition-home-grid article{min-height:0}
  .coalition-home-close{align-items:stretch;flex-direction:column}
  .coalition-home-close .btn{width:100%}
  .coalition-card{padding:1.15rem}
  .coalition-card-head{grid-template-columns:1fr}
  .coalition-card-head>span{width:2.25rem;height:2.25rem}
  .coalition-map{min-height:360px;border-radius:22px}
  .map-core{width:120px;height:120px;font-size:.82rem}
  .map-node{font-size:.66rem;padding:.42rem .55rem}
  .map-node.n1{left:3%;top:9%}.map-node.n2{right:3%;top:13%}.map-node.n3{left:2%;top:46%}.map-node.n4{right:2%;top:51%}.map-node.n5{left:5%;bottom:10%}.map-node.n6{right:4%;bottom:9%}
}


/* 2026-08-05 lead-by-example resident, visitor and investment architecture */
.lead-example-hero .hero-copy h1{font-size:clamp(2.7rem,5.15vw,5.25rem);line-height:.98}
.lead-example-hero .hero-copy h1 .hero-subline{font-size:.48em;margin-top:.28em}
.promise-strip-section{background:#fff}
.four-promise-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.four-promise-grid article{position:relative;min-height:245px;padding:1.25rem;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(7,26,61,.06);display:flex;flex-direction:column}
.four-promise-grid article::before{content:"";position:absolute;inset:0 0 auto;height:5px;border-radius:20px 20px 0 0;background:linear-gradient(90deg,var(--navy),var(--green))}
.four-promise-grid article>span{display:grid;place-items:center;width:2.35rem;height:2.35rem;margin:.25rem 0 .85rem;border-radius:50%;background:var(--green-pale);color:var(--green-dark);font-size:.72rem;font-weight:950}
.four-promise-grid h3{font-size:1.22rem;margin-bottom:.5rem}
.four-promise-grid p{color:var(--muted);font-size:.9rem}
.four-promise-grid a{margin-top:auto;color:var(--green-dark);font-weight:900}

.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.audience-card{position:relative;padding:1.4rem;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(7,26,61,.065);overflow:hidden}
.audience-card::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:var(--navy)}
.audience-card.visitor::before{background:#1873b8}.audience-card.investor::before{background:var(--green-dark)}
.audience-label{display:inline-flex;margin:.25rem 0 .95rem;padding:.38rem .65rem;border-radius:999px;background:var(--green-pale);color:var(--green-dark);font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.audience-card h3{font-size:1.28rem;line-height:1.25}
.audience-card .feature-list{margin:.9rem 0 1rem}.audience-card .feature-list li{font-size:.9rem}
.audience-principle{margin:1.2rem 0 0;padding:1rem 1.15rem;border-left:5px solid var(--green);border-radius:0 16px 16px 0;background:#fff;color:#24442c}
.two-path-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.two-path-grid article{padding:1.35rem;border:1px solid var(--line);border-radius:20px;background:#fff}
.two-path-grid p{color:var(--muted)}
.issue-finder{background:linear-gradient(180deg,#071a3d,#0b2b5e);color:#fff}
.issue-finder h2,.issue-finder .section-head>p{color:#fff}
.issue-finder .eyebrow{color:#a9efa5}
.issue-finder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}
.issue-finder-grid a{display:flex;flex-direction:column;min-height:150px;padding:1rem;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(255,255,255,.07);text-decoration:none}
.issue-finder-grid a:hover{background:rgba(255,255,255,.13);transform:translateY(-2px)}
.issue-finder-grid strong{color:#fff;font-size:1rem}
.issue-finder-grid span{margin-top:.45rem;color:#cbd8e7;font-size:.84rem}
.coalition-home-grid article .text-link{margin-top:auto;padding-top:.8rem}
.coalition-card .text-link{display:inline-block;margin-top:.55rem}
@media(max-width:1120px){.four-promise-grid{grid-template-columns:repeat(2,1fr)}.audience-grid{grid-template-columns:1fr}.issue-finder-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.four-promise-grid,.two-path-grid,.issue-finder-grid{grid-template-columns:1fr}.four-promise-grid article{min-height:0}.issue-finder-grid a{min-height:0}}


.campaign-feature-image{overflow:hidden;border-radius:26px;border:1px solid var(--line);box-shadow:var(--shadow);margin-top:1.6rem;background:#071a3d}
.campaign-feature-image img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain}
.campaign-art-inline{overflow:hidden;border-radius:26px;box-shadow:var(--shadow);background:#071a3d}
.campaign-art-inline img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain}
.movie-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:1.5rem}
.movie-gallery figure{margin:0;overflow:hidden;border-radius:22px;background:#120b22;box-shadow:var(--shadow)}
.movie-gallery img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.movie-gallery figcaption{padding:.8rem 1rem;color:#fff;font-size:.92rem}
@media (max-width:760px){.movie-gallery{grid-template-columns:1fr}}

/* 2026-08-06 public-first vision enhancement */
.plan-disclosure{max-width:1000px}
.why-line{padding-top:.65rem;border-top:1px solid rgba(7,26,61,.1);color:#263c32!important;font-size:.9rem!important}
.pillar-cards .priority-card{min-height:340px}.pillar-cards .why-line{margin-top:auto;padding-top:.75rem}.pillar-cards .text-link{margin-top:.3rem}
.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.status-card{position:relative;padding:1.4rem;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(7,26,61,.065);overflow:hidden}.status-card::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:var(--green)}.status-card.status-partner::before{background:#1a6da7}.status-card.status-study::before{background:#c88a18}.status-chip{display:inline-flex;margin:.2rem 0 .9rem;padding:.38rem .7rem;border-radius:999px;background:var(--green-pale);color:var(--green-dark);font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.status-partner .status-chip{background:#e6f1f8;color:#145784}.status-study .status-chip{background:#fbf0d9;color:#855c0d}.status-card h3{margin-bottom:.65rem}.status-card .feature-list{margin:.65rem 0 0}.status-card .feature-list li{font-size:.9rem}.public-rule{margin:1.25rem 0 0;padding:1.1rem 1.2rem;border-left:5px solid var(--navy);border-radius:0 16px 16px 0;background:#fff;color:#283c32}.public-pathways{background:linear-gradient(180deg,#f5faf4,#edf4ee)}
.commitment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.commitment-grid article{position:relative;padding:1.25rem 1.25rem 1.25rem 4.25rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(7,26,61,.055)}.commitment-grid article>span{position:absolute;left:1.15rem;top:1.15rem;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--green-pale);color:var(--green-dark);font-size:.72rem;font-weight:950}.commitment-grid h3{font-size:1.16rem;margin-bottom:.4rem}.commitment-grid p{color:var(--muted);font-size:.9rem;margin:0}
.phase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.phase-grid article{padding:1.25rem;border-top:6px solid var(--green);border-radius:0 0 18px 18px;background:#fff;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 10px 30px rgba(7,26,61,.06)}.phase-grid article>span{color:var(--green-dark);font-size:.7rem;font-weight:950;text-transform:uppercase;letter-spacing:.09em}.phase-grid h3{font-size:1.25rem;margin:.45rem 0}.phase-grid p{color:var(--muted);font-size:.9rem;margin:0}
.human-measure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1.7rem 0}.human-measure-grid article{padding:1rem 1.05rem;border:1px solid rgba(255,255,255,.19);border-radius:16px;background:rgba(255,255,255,.06)}.human-measure-grid strong,.human-measure-grid span{display:block}.human-measure-grid strong{color:#fff;font-size:1.05rem}.human-measure-grid span{color:#cbd8e7;font-size:.86rem;margin-top:.25rem}
.capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.capability-grid article{padding:1.3rem;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(7,26,61,.06)}.capability-grid article>span{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:14px;background:var(--navy);color:#fff;font-weight:950}.capability-grid h3{font-size:1.35rem;margin:.8rem 0 .4rem}.capability-grid p{color:var(--muted)}.capability-grid small{display:block;color:#2d5d35;font-weight:800}
.guardrail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.guardrail-grid article{padding:1.2rem;border:1px solid var(--line);border-left:5px solid var(--green);border-radius:0 18px 18px 0;background:#fff}.guardrail-grid h3{font-size:1.1rem;margin-bottom:.45rem}.guardrail-grid p{color:var(--muted);font-size:.9rem;margin:0}
.housing-pipeline{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.45rem;margin:1.35rem 0 2rem}.housing-pipeline span{position:relative;padding:.72rem .45rem;border-radius:12px;background:var(--navy);color:#fff;text-align:center;font-size:.72rem;font-weight:900}.housing-pipeline span:not(:last-child)::after{content:"→";position:absolute;right:-.48rem;top:50%;transform:translateY(-50%);z-index:2;color:var(--green);font-size:1rem}
@media(max-width:1120px){.phase-grid,.capability-grid,.guardrail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.housing-pipeline{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.status-grid{grid-template-columns:1fr}.human-measure-grid{grid-template-columns:repeat(2,1fr)}.pillar-cards .priority-card{min-height:0}}
@media(max-width:680px){.commitment-grid,.phase-grid,.capability-grid,.guardrail-grid,.human-measure-grid{grid-template-columns:1fr}.commitment-grid article{padding:4rem 1rem 1rem}.commitment-grid article>span{left:1rem}.housing-pipeline{grid-template-columns:repeat(2,1fr)}.housing-pipeline span:nth-child(even)::after{display:none}}

/* v12 Toronto That Works bilingual public-site refinements */
.toronto-works-hero .hero-copy{max-width:720px}
.hero-refrain{margin:.2rem 0 .8rem;color:#9eef91;font-family:var(--font-display);font-size:clamp(1.25rem,2.15vw,2rem);font-weight:950;letter-spacing:-.025em;line-height:1.15}
.hero-refrain.dark-text{color:var(--green-dark)}
.toronto-works-hero .opening-statement{font-size:clamp(1.1rem,1.65vw,1.38rem);font-weight:800}
.simple-promise{background:#fff}
.daily-pain-grid,.test-grid,.delivery-principles,.safety-response-grid,.growth-principles,.proof-grid,.route-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.daily-pain-grid article,.test-grid article,.delivery-principles article,.safety-response-grid article,.growth-principles article,.proof-grid article,.route-status-grid article{position:relative;padding:1.3rem;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(7,26,61,.06)}
.daily-pain-grid article{border-top:6px solid var(--green)}
.daily-pain-grid h3,.test-grid h3,.delivery-principles h3,.safety-response-grid h3,.growth-principles h3{margin-bottom:.55rem;font-size:1.24rem}
.daily-pain-grid p,.test-grid p,.delivery-principles span,.safety-response-grid p,.growth-principles p,.proof-grid span,.route-status-grid p{color:var(--muted);font-size:.93rem}
.daily-pain-grid a{display:inline-block;margin-top:.4rem;color:var(--green-dark);font-weight:900}
.leadership-image-grid,.future-teaser-grid,.vision-book-grid,.mainstreet-image-grid,.rail-map-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:2.5rem;align-items:center}
.leadership-image-grid figure,.mainstreet-image-grid figure,.rail-map-feature figure{margin:0}
.leadership-image-grid .lede{color:var(--ink)}
.delivery-principles{grid-template-columns:repeat(3,minmax(0,1fr))}
.delivery-principles article{display:grid;gap:.35rem;border-left:5px solid var(--green);border-radius:0 20px 20px 0}
.delivery-principles strong{color:var(--navy);font-size:1.05rem}
.future-teaser{background:linear-gradient(135deg,#f4f9f2,#fff 56%,#edf3fa)}
.future-links{display:grid;gap:.75rem;margin-top:1.3rem}
.future-links a{display:grid;gap:.2rem;padding:1rem 1.05rem;border:1px solid var(--line);border-radius:16px;background:#fff;text-decoration:none;box-shadow:0 7px 22px rgba(7,26,61,.05)}
.future-links a:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.future-links strong{color:var(--navy)}.future-links span{color:var(--muted);font-size:.86rem}
.book-feature{margin:0;padding:1rem;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:var(--shadow)}
.book-feature img{width:100%;border-radius:18px}.book-feature figcaption{padding:.8rem .35rem 0;color:var(--muted);font-size:.84rem;text-align:center}
.first-term-section{background:var(--soft)}
.resident-result{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--line);color:#285c31!important;font-size:.88rem!important;font-weight:800}
.hero-demand{display:grid;gap:.2rem;max-width:850px;margin:1.25rem 0 0;padding:1.05rem 1.2rem;border-left:6px solid var(--green);border-radius:0 18px 18px 0;background:#fff;box-shadow:0 9px 25px rgba(7,26,61,.06)}
.hero-demand strong{color:var(--navy);font-family:var(--font-display);font-size:clamp(1.05rem,2vw,1.35rem)}
.hero-demand span{color:var(--green-dark);font-weight:900}
.service-journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.service-journey article{position:relative;padding:1.25rem;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 26px rgba(7,26,61,.05)}
.service-journey article>span{display:grid;place-items:center;width:2.25rem;height:2.25rem;margin-bottom:.8rem;border-radius:50%;background:var(--green);color:var(--navy);font-weight:950}
.service-journey h3{margin-bottom:.45rem}.service-journey p{color:var(--muted);font-size:.9rem}
.safety-response-grid article{border-top:6px solid var(--navy)}
.growth-principles article{border-top:6px solid var(--green)}
.proof-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.proof-grid article{display:grid;gap:.35rem}.proof-grid strong{color:var(--navy);font-size:1.02rem}
.route-status-grid article{display:grid;gap:.5rem}.route-status-grid h3{font-size:1.25rem}.route-confirmed{border-top:7px solid var(--green)!important}.route-proposed{border-top:7px solid #c98a1b!important}
.status-inline{display:inline-flex;width:max-content;padding:.32rem .62rem;border-radius:999px;background:var(--green-pale);color:var(--green-dark);font-size:.7rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.route-proposed .status-inline{background:#fbefd8;color:#80590d}
.rail-map-feature{align-items:start}.rail-map-feature .page-banner{margin:0}
.feature-list-wide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1.6rem;margin-top:1.2rem;padding-left:1.2rem}
.feature-list-wide li{padding-left:.15rem}
.moral-compass{background:linear-gradient(180deg,#fff,#f3f8f1)}
.proverb{max-width:1040px;margin:1.6rem 0;padding:1.25rem 1.35rem;border-left:6px solid var(--green);border-radius:0 18px 18px 0;background:var(--navy);color:#fff;font-family:Georgia,serif;font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.55}
.generation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.generation-grid article{padding:1.25rem;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 9px 26px rgba(7,26,61,.05)}
.generation-grid article>span{color:var(--green-dark);font-size:.72rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.generation-grid h3{margin:.4rem 0}.generation-grid p{color:var(--muted);font-size:.91rem}
.human-measure{background:linear-gradient(135deg,#071a3d,#0a306d)}
.closing-manifesto{padding:5rem 0;background:linear-gradient(135deg,#071a3d,#0a2b66 65%,#10502f);color:#fff;text-align:center}
.closing-manifesto h2{max-width:1040px;margin:0 auto;color:#fff}.closing-manifesto p{margin:1.2rem 0 0;color:#fff;font-size:1.15rem}
.closing-lines{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;margin:1.7rem auto 0;max-width:1050px}
.closing-lines span{padding:.62rem .85rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-weight:850}
.arts-hero{background:linear-gradient(180deg,#f9f1ff,#fff)}
.plan-hero{background:linear-gradient(180deg,#eef6ed,#fff)}
.vision-hero{background:linear-gradient(180deg,#eaf0f8,#fff)}
.vision-book-grid{align-items:start}.vision-book-grid .book-feature{position:sticky;top:110px}
.french-form{scroll-margin-top:110px}

@media(max-width:1000px){
 .delivery-principles,.proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-journey{grid-template-columns:repeat(2,minmax(0,1fr))}
 .leadership-image-grid,.future-teaser-grid,.vision-book-grid,.mainstreet-image-grid,.rail-map-feature{grid-template-columns:1fr}
 .vision-book-grid .book-feature{position:static;max-width:700px}
}
@media(max-width:700px){
 .daily-pain-grid,.test-grid,.delivery-principles,.safety-response-grid,.growth-principles,.proof-grid,.route-status-grid,.service-journey,.generation-grid,.feature-list-wide{grid-template-columns:1fr}
 .hero-refrain{font-size:1.3rem}
 .book-feature{padding:.6rem;border-radius:20px}
 .closing-manifesto{padding:3.8rem 0}.closing-lines{display:grid}.closing-lines span{border-radius:14px}
}
.rail-map-feature{display:block;margin:2rem 0 0;padding:1rem;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}
.rail-map-feature img{width:100%;border-radius:16px}.rail-map-feature figcaption{padding:.75rem .25rem 0;color:var(--muted);font-size:.85rem;text-align:center}


/* Public verification strip and source register */
.evidence-strip{background:#eef5fb;border-bottom:1px solid #cfdae7;color:#223653;font-size:.78rem}
.evidence-strip .container{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.evidence-strip strong{color:var(--navy)}
.evidence-strip a{font-weight:900;color:var(--navy);text-underline-offset:3px}
.source-register{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.source-register article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.25rem;box-shadow:0 10px 28px rgba(7,26,61,.06)}
.source-register h3{margin:0 0 .55rem}
.source-register p{color:var(--muted)}
.source-register a{font-weight:900;color:var(--green-dark)}
@media(max-width:900px){.source-register{grid-template-columns:1fr 1fr}.evidence-strip .container{align-items:flex-start;flex-direction:column;padding:.45rem 0;gap:.1rem}}
@media(max-width:580px){.source-register{grid-template-columns:1fr}.evidence-strip{font-size:.72rem}}

/* =====================================================================
   DESIGN A — TORONTO THAT WORKS EDITORIAL THEME
   Full-site adaptation of the cleaner navy/green homepage concept.
   ===================================================================== */
:root{
  --navy:#071a3d;
  --navy-2:#0b2a5b;
  --green:#7fc42a;
  --green-dark:#4f9e16;
  --paper:#ffffff;
  --soft:#f3f7fb;
  --sand:#f3f7fb;
  --line:#d9e2ec;
  --ink:#14233d;
  --muted:#56657a;
  --shadow:0 18px 50px rgba(7,26,61,.14);
  --radius:22px;
  --max:1280px;
  --font-body:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-display:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body{background:#fff;line-height:1.58}
h1,h2,h3{letter-spacing:-.045em}
.section{padding:5.8rem 0}
.section.soft,.section.sand{background:var(--soft)}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;color:var(--green-dark)}
.eyebrow::before{content:"";width:30px;height:3px;border-radius:3px;background:currentColor}
.section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:3.2rem;align-items:end}
.section-head h2{font-size:clamp(2.35rem,4.2vw,4.55rem);line-height:.98}
.section-head>p{max-width:540px}

/* Green election announcement */
.topline.announcement{background:var(--green);color:#092044;font-size:.88rem}
.topline.announcement .container{min-height:38px;justify-content:center;gap:1rem;text-align:center}
.topline.announcement strong,.topline.announcement a{color:#092044}

/* Clean sticky header */
.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid rgba(7,26,61,.12);backdrop-filter:blur(14px)}
.header-inner{min-height:76px;display:flex;align-items:center;gap:1.25rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;min-width:max-content}
.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:var(--navy);color:#fff;font-weight:950;letter-spacing:-.05em;border:3px solid var(--green)}
.brand-copy{line-height:1.05}
.brand-copy strong{display:block;color:var(--navy);font-size:1.05rem;letter-spacing:.01em}
.brand-copy span{display:block;color:var(--green-dark);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em;margin-top:.28rem}
.main-nav{gap:.18rem}
.main-nav a{font-size:.82rem;padding:.62rem .55rem;border-radius:9px;color:var(--navy)}
.main-nav a:hover,.main-nav a.active,.main-nav a[aria-current=page]{background:#edf4fb;box-shadow:none}
.header-actions{display:flex;align-items:center;gap:.55rem}
.language-link{width:42px;height:42px;padding:0;border-radius:999px}
.donate-btn{background:var(--green)!important;color:#102344!important;box-shadow:0 8px 20px rgba(127,196,42,.25);border-color:var(--green)!important}

/* Verification strip */
.evidence-strip{background:#eef5fb;color:#223653}
.evidence-strip .container{min-height:38px}

/* Home hero — navy field, large typography, portrait shape */
.campaign-hero.toronto-works-hero{position:relative;overflow:hidden;background:var(--navy);color:#fff}
.campaign-hero.toronto-works-hero::after{display:block!important;content:"";position:absolute;inset:auto -8% -115px -8%;height:190px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0;z-index:1}
.campaign-hero.toronto-works-hero .hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(380px,.97fr);align-items:end;gap:3rem;min-height:720px;padding:4rem 0 8.6rem}
.campaign-hero.toronto-works-hero .hero-copy{align-self:center;padding:0;max-width:700px}
.campaign-hero.toronto-works-hero .hero-kicker{color:var(--green)}
.campaign-hero.toronto-works-hero .hero-copy h1{font-size:clamp(3.9rem,7.6vw,7.2rem);line-height:.88;letter-spacing:-.067em;margin:.22em 0 .16em;max-width:790px}
.campaign-hero.toronto-works-hero .hero-refrain{font-size:clamp(1.25rem,2.1vw,2rem);font-weight:900;color:#fff;margin:0 0 1.2rem}
.campaign-hero.toronto-works-hero .opening-statement{font-size:clamp(1.1rem,1.55vw,1.34rem);color:#dce8f6}
.campaign-hero.toronto-works-hero .hero-support{color:#c6d7eb}
.campaign-hero.toronto-works-hero .hero-plan-note{color:#fff}
.campaign-hero.toronto-works-hero .hero-photo-wrap{display:block;position:relative;align-self:end;justify-self:end;width:min(100%,560px);overflow:visible;background:transparent;isolation:isolate}
.campaign-hero.toronto-works-hero .hero-photo-wrap::before{content:"";position:absolute;inset:11% -13% -8% 11%;background:var(--green);border-radius:54% 46% 23% 77%/48% 38% 62% 52%;z-index:-1}
.campaign-hero.toronto-works-hero .hero-photo-wrap::after{content:"TORONTO LEADS AGAIN";right:-10px;bottom:70px;background:transparent;color:#fff;padding:0;border-radius:0;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.17em;font-size:.7rem;box-shadow:none}
.campaign-hero.toronto-works-hero .hero-photo{display:block;width:100%;height:auto;min-height:0;max-height:625px;object-fit:cover;object-position:50% 12%;border-radius:54% 46% 17% 83%/41% 37% 63% 59%;box-shadow:0 28px 70px rgba(0,0,0,.38)}
.campaign-hero.toronto-works-hero .btn.outline{border:2px solid #fff;color:#fff}

/* Outcome rail becomes floating white cards */
.action-rail{position:relative;z-index:5;margin-top:-54px;background:transparent;border:0}
.action-rail .container{grid-template-columns:repeat(5,1fr);gap:0;background:#fff;border-radius:18px;box-shadow:var(--shadow);overflow:hidden;border:1px solid rgba(7,26,61,.09)}
.action-rail a{background:#fff;padding:1.45rem 1.25rem;border-right:1px solid var(--line)}
.action-rail a:last-child{border-right:0}
.action-rail a:hover{background:#f4f9ee}
.action-rail strong{color:var(--navy);font-size:1.02rem}
.action-rail span{color:var(--muted);font-size:.84rem}

/* Public page heroes */
.page-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#061632 0%,#0a2d62 72%,#0c4678 100%);color:#fff;border-bottom:0;padding:4.7rem 0 3.6rem}
.page-hero::after{content:"";position:absolute;width:440px;height:440px;border:75px solid rgba(127,196,42,.1);border-radius:50%;right:-140px;top:-200px}
.page-hero .container{position:relative;z-index:2}
.page-hero h1{color:#fff;font-size:clamp(3.1rem,6vw,6.2rem);line-height:.92;max-width:1000px}
.page-hero .lede{color:#dce8f6;font-size:clamp(1.08rem,1.7vw,1.3rem)}
.page-hero .crumbs,.page-hero .crumbs a{color:#c7d5e7}
.page-hero .eyebrow{color:#a9efa5}
.page-hero .hero-refrain.dark-text{color:#fff}
.page-hero .campaign-feature-image,.page-hero .page-banner{margin-top:2rem}
.page-banner,.campaign-feature-image{border-radius:24px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.25);background:#fff}
.page-banner img,.campaign-feature-image img{width:100%;max-height:640px;object-fit:cover}

/* Cards and content surfaces */
.card,.daily-pain-grid article,.test-grid article,.delivery-principles article,.growth-principles article,.proof-grid article,.route-status-grid article,
.status-card,.quality-item,.release-card,.issue-point,.sidebar-card,.source-register article,.three-f-grid article,.safecharge-summary{
  border:1px solid var(--line);background:#fff;border-radius:18px;box-shadow:0 10px 28px rgba(7,26,61,.07)
}
.card{padding:1.45rem}
.card:hover{transform:translateY(-2px);transition:transform .16s ease,box-shadow .16s ease;box-shadow:0 16px 35px rgba(7,26,61,.11)}
.priority-card{min-height:320px;border-top:6px solid var(--green)}
.card-number{background:#edf6df;color:#2f6c07}
.resident-result{border-left:4px solid var(--green);padding-left:.85rem}
.daily-pain-grid article{border-top:6px solid var(--green)}
.campaign-graphic img{border-radius:24px;box-shadow:var(--shadow)}
.leadership-image-grid{gap:3.2rem}

/* First-term and long-term dark sections */
.commitment-section,.vision-panel,.support-band,.closing-manifesto{background:var(--navy)}
.commitment-grid article{background:#fff;border-radius:17px;color:var(--ink);box-shadow:0 12px 30px rgba(0,0,0,.14)}
.commitment-grid article h3{color:var(--navy)}
.future-teaser{background:linear-gradient(135deg,#061632 0%,#0a2d62 58%,#0b4678 100%);color:#fff;position:relative;overflow:hidden}
.future-teaser h2,.future-teaser h3,.future-teaser strong{color:#fff}
.future-teaser p,.future-teaser span{color:#dce8f5}
.future-teaser .eyebrow{color:#a9efa5}
.future-links a{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff}
.future-links a:hover{background:rgba(255,255,255,.13);border-color:var(--green)}
.book-feature{background:#fff;border-radius:22px;padding:1rem;box-shadow:0 25px 60px rgba(0,0,0,.23)}
.book-feature figcaption{color:#55657a}
.public-note.plan-disclosure{background:#f4f9ee;border-left-color:var(--green);color:#25412a}

/* Forms */
.campaign-form,.form-shell form,.donation-card,.sign-card{border-radius:20px;box-shadow:0 14px 40px rgba(7,26,61,.08)}
input,select,textarea{border-radius:12px}

/* Footer */
.footer{background:#061632;color:#c9d5e7}
.footer-brand .brand-mark{border-color:var(--green)}
.footer-brand .brand-copy strong{color:#fff}
.footer-brand .brand-copy span{color:#a9efa5}
.footer nav a{color:#e7eef7}
.footer nav a:hover{color:#fff}
.mobile-cta{border-radius:999px}

/* Trust/source panel */
.source-register{grid-template-columns:repeat(3,minmax(0,1fr))}
.source-register article{padding:1.4rem}
.source-register h3{color:var(--navy)}
.source-register a{color:var(--navy)}

/* Responsive */
@media(max-width:1160px){
  .main-nav{position:absolute;display:none;left:1rem;right:1rem;top:calc(100% + .4rem);background:#fff;border:1px solid var(--line);border-radius:16px;padding:.75rem;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;max-height:calc(100dvh - 110px);overflow:auto}
  .main-nav.open{display:flex}
  .menu-btn{display:inline-grid;place-items:center;margin-left:auto}
  .header-actions{margin-left:0}
  .campaign-hero.toronto-works-hero .hero-grid{grid-template-columns:1fr .82fr}
}
@media(max-width:860px){
  .section{padding:4.4rem 0}
  .section-head{grid-template-columns:1fr;gap:1.2rem}
  .campaign-hero.toronto-works-hero::after{display:none!important}
  .campaign-hero.toronto-works-hero .hero-grid{display:flex;flex-direction:column;min-height:auto;padding:3.3rem 0 0;gap:2rem}
  .campaign-hero.toronto-works-hero .hero-copy{order:1;padding-bottom:.7rem}
  .campaign-hero.toronto-works-hero .hero-photo-wrap{order:2;justify-self:center;width:min(100%,520px);align-self:center}
  .campaign-hero.toronto-works-hero .hero-photo{max-height:560px;border-radius:46% 54% 0 0/28% 31% 0 0}
  .campaign-hero.toronto-works-hero .hero-photo-wrap::before{inset:14% -10% 0 10%;border-radius:48% 52% 0 0/35% 35% 0 0}
  .campaign-hero.toronto-works-hero .hero-photo-wrap::after{display:none}
  .action-rail{margin-top:0;padding-top:1rem;background:#fff}
  .action-rail .container{grid-template-columns:1fr 1fr}
  .action-rail a{border-bottom:1px solid var(--line)}
  .action-rail a:nth-child(even){border-right:0}
  .source-register{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .header-inner{min-height:68px}
  .brand-copy span{display:none}
  .brand-mark{width:39px;height:39px}
  .donate-btn{display:none}
  .campaign-hero.toronto-works-hero .hero-copy h1{font-size:clamp(3.25rem,16vw,5.25rem)}
  .action-rail .container{grid-template-columns:1fr}
  .action-rail a{border-right:0}
  .page-hero{padding:3.25rem 0 2.5rem}
  .page-hero h1{font-size:clamp(2.8rem,13vw,4.3rem)}
  .source-register{grid-template-columns:1fr}
}

/* -------------------------------------------------------------------------
   Campaign navigation treatment.
   Keep this block last so later redesign rules cannot override the menu.
   ------------------------------------------------------------------------- */
.topline:not(.unused-selector){background:var(--navy);color:#fff;font-size:.75rem;font-weight:700}
.topline .container{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left}
.topline strong{color:#a9efa5}
.topline a{color:#fff;text-decoration:underline}
.site-header{position:sticky;top:0;z-index:100;background:rgba(246,241,232,.96);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-bottom:1px solid rgba(7,26,61,.13)}
.nav-shell{min-height:66px;display:flex;align-items:center;gap:1.1rem}
.wordmark.logo-mark{display:flex;align-items:center;gap:.55rem;text-decoration:none;min-width:158px}
.wordmark.logo-mark img{width:148px;height:auto}
.wordmark.logo-mark small{display:none}
.main-nav{display:flex;align-items:center;gap:.15rem;margin-left:auto}
.main-nav a{display:inline-flex;align-items:center;min-height:44px;padding:.55rem .62rem;border-radius:11px;text-decoration:none;font-size:.82rem;font-weight:800;color:#26364f}
.main-nav a:hover,.main-nav a.active,.main-nav a[aria-current=page]{background:#fff;box-shadow:0 5px 20px rgba(7,26,61,.08);color:var(--navy)}
.nav-actions{display:flex;align-items:center;gap:.5rem}
.nav-actions .language-link{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;min-height:42px;padding:.45rem .62rem;border-radius:10px;border:1px solid var(--line);text-decoration:none;font-size:.78rem;font-weight:900;background:#fff}
.nav-actions .btn{display:inline-flex;min-width:92px}
.menu-btn{display:none;min-height:42px;padding:.5rem .75rem;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--navy);font-weight:900}
@media(max-width:1120px){
  .main-nav{position:absolute;display:none;left:1rem;right:1rem;top:calc(100% + .45rem);background:#fff;border:1px solid var(--line);border-radius:16px;padding:.75rem;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;max-height:calc(100dvh - 110px);overflow:auto}
  .main-nav.open{display:flex}
  .main-nav a{padding:.65rem .75rem}
  .menu-btn{display:block;margin-left:auto}
  .nav-actions .language-link{display:none}
}
@media(max-width:600px){
  .nav-shell{min-height:62px}
  .wordmark.logo-mark img{width:130px}
  .nav-actions .btn{display:inline-flex;min-width:auto;padding:.55rem .7rem}
}
@media(max-width:560px){
  .topline .container{justify-content:center;text-align:center}
  .topline .container span:last-child{display:none}
}


/* 2026-08-07 public-vision refinement: lead-by-example, first-term focus, culture, visitors and investment */
.first-term-strip{background:#eef6ec;border-bottom:1px solid #cfe2cc;color:#17351a;font-size:.78rem}
.first-term-strip .container{min-height:38px;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.first-term-strip strong{color:var(--navy)}.first-term-links{display:flex;gap:.55rem;margin-left:auto}.first-term-links a{font-weight:900;color:var(--green-dark)}
.lead-example-home .hero-copy h1{font-size:clamp(3.2rem,6.5vw,6.4rem)!important;max-width:900px!important}
.lead-example-home .hero-refrain{color:#a9efa5!important;font-size:clamp(1.55rem,2.6vw,2.5rem)!important}
.hero-principles{display:grid;gap:.42rem;margin:1rem 0}.hero-principles span{display:block;font-weight:850;color:#fff}.hero-principles span::before{content:"•";color:var(--green);margin-right:.55rem}
.hero-geography{color:#dce8f5;font-weight:800}.home-hero-actions{gap:.6rem!important}.home-hero-actions .btn{padding:.75rem .92rem}
.daily-outcome-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.daily-outcome-grid article{position:relative;padding:1.25rem;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(7,26,61,.06)}.daily-outcome-grid article>span{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:50%;background:var(--green-pale);color:var(--green-dark);font-size:.72rem;font-weight:950;margin-bottom:.8rem}.daily-outcome-grid h3{font-size:1.25rem}.daily-outcome-grid p{color:var(--muted)}.daily-outcome-grid a{font-weight:900}.card-emphasis{font-weight:850;color:var(--navy)!important;border-left:4px solid var(--green);padding-left:.7rem}
.mini-priority-list{display:grid;gap:.45rem;margin:1.2rem 0}.mini-priority-list p{margin:0}.gigacity-why{padding:1rem 1.05rem;background:var(--green-pale);border-left:5px solid var(--green);border-radius:0 14px 14px 0}
.coalition-seven{grid-template-columns:repeat(4,minmax(0,1fr))}.coalition-seven article:last-child{grid-column:2/4}
.signature-plans{background:#f8fbf7}.signature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.signature-grid a{display:flex;flex-direction:column;gap:.45rem;min-height:160px;padding:1.2rem;border:1px solid var(--line);border-radius:20px;background:#fff;text-decoration:none;box-shadow:0 10px 28px rgba(7,26,61,.055)}.signature-grid a:hover{transform:translateY(-2px);box-shadow:0 16px 35px rgba(7,26,61,.1)}.signature-grid strong{font-size:1.05rem;color:var(--navy)}.signature-grid span{color:var(--muted)}
.first-term-showcase{background:linear-gradient(135deg,#071a3d,#0e376f);color:#fff}.first-term-showcase h2,.first-term-showcase p{color:#fff}.first-term-showcase .eyebrow{color:#a9efa5}.first-term-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.first-term-feature-grid a{display:flex;flex-direction:column;gap:.55rem;padding:1.5rem;border-radius:22px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);text-decoration:none}.first-term-feature-grid a>span{color:#a9efa5;font-weight:950;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.first-term-feature-grid strong{color:#fff;font-size:1.45rem}.first-term-feature-grid p{color:#dce8f5;margin:0}
.welcome-new-toronto{background:linear-gradient(180deg,#fff 0%,#eef5fb 100%)}.welcome-feature{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);gap:2.2rem;align-items:center}.welcome-photo-stack{display:grid;gap:.8rem}.welcome-photo-stack img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:22px;box-shadow:0 16px 42px rgba(7,26,61,.11)}.welcome-photo-stack img+img{width:82%;justify-self:end;margin-top:-2.5rem;border:5px solid #fff}.welcome-copy .lede{font-size:1.35rem}.welcome-outcomes{display:grid;gap:.75rem;margin:1rem 0}.welcome-outcomes article{display:grid;gap:.2rem;padding:.85rem 1rem;border-radius:14px;background:#fff;border:1px solid var(--line)}.welcome-outcomes strong{color:var(--navy)}.welcome-outcomes span{color:var(--muted)}
.culture-creators-home{background:#071a3d;color:#fff}.culture-creators-home h2,.culture-creators-home p,.culture-creators-home .lede{color:#fff}.culture-creators-home .eyebrow{color:#a9efa5}.culture-creators-home .story-media img{box-shadow:0 18px 50px rgba(0,0,0,.35)}
.candy-gallery{display:grid;gap:.75rem}.candy-gallery img{width:100%;border-radius:18px}.candy-gallery img+img{width:88%;justify-self:end;margin-top:-1.4rem;border:4px solid #fff}
.sector-cloud{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.1rem 0 2rem}.sector-cloud span{padding:.62rem .85rem;border-radius:999px;background:var(--navy);color:#fff;font-size:.82rem;font-weight:850}.sector-cloud span:nth-child(3n+2){background:var(--green-dark)}
.ttc-safety-focus{background:linear-gradient(135deg,#eef4fb,#fff)}
@media(max-width:1080px){.coalition-seven{grid-template-columns:repeat(2,minmax(0,1fr))}.coalition-seven article:last-child{grid-column:auto}.signature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-feature{grid-template-columns:1fr}}
@media(max-width:720px){.first-term-strip .container{padding:.45rem 0}.first-term-links{width:100%;margin-left:0}.lead-example-home .hero-copy h1{font-size:clamp(2.75rem,13vw,4.5rem)!important}.daily-outcome-grid,.signature-grid,.first-term-feature-grid,.coalition-seven{grid-template-columns:1fr}.welcome-photo-stack img+img{width:92%;margin-top:-1.2rem}.home-hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.home-hero-actions .btn:first-child{grid-column:1/-1}}
@media(max-width:430px){.home-hero-actions{grid-template-columns:1fr!important}.home-hero-actions .btn:first-child{grid-column:auto}.first-term-links{flex-direction:column;gap:.2rem}}

/* Mobile language access: keep EN/FR available inside the same page menu. */
.mobile-language-link{display:none!important}
@media(max-width:1120px){
  .main-nav .mobile-language-link{display:flex!important;border-top:1px solid var(--line);margin-top:.25rem;padding-top:.85rem;color:var(--green-dark)}
}

/* ==========================================================================
   v7 visual polish — same campaign language, cleaner hierarchy and rendering
   ========================================================================== */
:root{
  --shadow-soft:0 10px 30px rgba(7,26,61,.075);
  --shadow-lift:0 18px 46px rgba(7,26,61,.12);
  --hairline:rgba(7,26,61,.105);
}

/* More deliberate typography and wrapping. */
body{overflow-wrap:break-word}
h1,h2,h3{text-wrap:balance}
p,.lede,li{text-wrap:pretty}
main :where(section[id],h2[id],h3[id]){scroll-margin-top:118px}
.section{padding-block:clamp(4rem,6vw,5.6rem)}
.section-head{align-items:flex-start;margin-bottom:2.2rem}
.section-head>p{line-height:1.58}
.eyebrow{line-height:1.35}
.actions{row-gap:.75rem}
.btn{min-height:48px;padding:.78rem 1.05rem;white-space:normal;text-align:center}
.btn.small{min-height:42px}

/* Header: preserve the compact approved menu but improve fit and states. */
.site-header{box-shadow:0 5px 20px rgba(7,26,61,.045)}
.nav-shell{min-height:70px;gap:1rem}
.wordmark.logo-mark{min-width:152px}
.wordmark.logo-mark img{width:152px}
.main-nav{gap:.1rem;min-width:0}
.main-nav a{white-space:nowrap;letter-spacing:-.012em;padding:.56rem .58rem;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.main-nav a:hover,.main-nav a.active,.main-nav a[aria-current=page]{background:#fff;box-shadow:inset 0 -3px 0 var(--green),0 6px 18px rgba(7,26,61,.055)}
.nav-actions{flex:0 0 auto}
.language-link{transition:border-color .16s ease,background .16s ease}
.language-link:hover{border-color:var(--green-dark);background:var(--green-pale)}
.topline .container,.evidence-strip .container,.first-term-strip .container{padding-block:.18rem}
.evidence-strip{border-bottom:1px solid #dce6ef}
.evidence-strip .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.75rem}
.evidence-strip a{font-weight:900}
.first-term-strip{box-shadow:inset 0 -1px 0 rgba(7,26,61,.05)}
.first-term-links a{text-decoration:none;border-bottom:1px solid rgba(37,117,44,.35)}
.first-term-links a:hover{border-bottom-color:var(--green-dark)}

/* Homepage hero: keep the same portrait-driven look, with cleaner geometry. */
.campaign-hero.toronto-works-hero{
  background:
    radial-gradient(circle at 78% 22%,rgba(66,184,62,.12),transparent 31%),
    radial-gradient(circle at 8% 84%,rgba(23,71,127,.38),transparent 34%),
    linear-gradient(135deg,#061632 0%,#071a3d 46%,#0b2e61 100%);
}
.campaign-hero.toronto-works-hero .hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:clamp(2rem,4vw,4rem);min-height:710px;padding-top:3.8rem}
.campaign-hero.toronto-works-hero .hero-copy{max-width:760px}
.campaign-hero.toronto-works-hero .hero-copy h1{font-size:clamp(3.7rem,7vw,6.65rem);line-height:.9;letter-spacing:-.062em;margin:.22em 0 .18em}
.campaign-hero.toronto-works-hero .hero-refrain{margin-bottom:1rem}
.campaign-hero.toronto-works-hero .opening-statement{max-width:735px;line-height:1.55}
.hero-support{margin:.95rem 0 0;line-height:1.5}
.hero-principles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .9rem;margin:1.05rem 0}
.hero-principles span{padding:.55rem .68rem;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.055);line-height:1.35}
.hero-principles span::before{margin-right:.45rem}
.hero-geography{margin-top:.85rem}
.campaign-hero.toronto-works-hero .hero-photo-wrap{width:min(100%,535px);padding:0 8px 0 0}
.campaign-hero.toronto-works-hero .hero-photo-wrap::before{inset:10% -9% -4% 8%;filter:saturate(.94)}
.campaign-hero.toronto-works-hero .hero-photo{width:100%;height:auto;max-height:none;aspect-ratio:685/843;object-fit:cover;object-position:50% 12%;border:1px solid rgba(255,255,255,.16)}
.campaign-hero.toronto-works-hero .hero-photo-wrap::after{right:-2px;bottom:74px;opacity:.9}
.home-hero-actions{margin-top:1.25rem}

/* Outcome rail: fix inherited hover colours and make the cards feel intentional. */
.action-rail{margin-top:-48px}
.action-rail .container{border-radius:20px;box-shadow:0 18px 45px rgba(7,26,61,.14)}
.action-rail a{position:relative;min-width:0;padding:1.25rem 1.12rem;transition:background .16s ease,transform .16s ease}
.action-rail a::before{content:"";position:absolute;left:1.12rem;right:1.12rem;bottom:.7rem;height:3px;border-radius:999px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .16s ease}
.action-rail a:hover{background:#f4f9ee;transform:translateY(-1px)}
.action-rail a:hover::before{transform:scaleX(1)}
.action-rail a:hover strong{color:var(--navy)!important}
.action-rail a:hover span{color:var(--muted)!important}
.action-rail strong{line-height:1.2}
.action-rail span{line-height:1.35;margin-top:.18rem}

/* Cards: consistent radii, borders and hover without changing the visual language. */
.card,.daily-outcome-grid article,.coalition-home-grid article,.signature-grid a,.audience-card,.welcome-outcomes article,.first-term-feature-grid a,.status-card,.issue-point,.sidebar-card,.release-card,.quality-item{
  box-shadow:var(--shadow-soft);
}
.daily-outcome-grid article,.coalition-home-grid article,.signature-grid a,.audience-card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.daily-outcome-grid article:hover,.coalition-home-grid article:hover,.signature-grid a:hover,.audience-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift);border-color:#cbd9c6}
.daily-outcome-grid article{padding:1.35rem}
.daily-outcome-grid article>span{box-shadow:inset 0 0 0 1px #d7ead3}
.daily-outcome-grid h3{margin-bottom:.55rem}
.daily-outcome-grid p{line-height:1.55}
.card-emphasis{margin-top:.9rem;padding:.72rem .8rem;background:#f4f9ee;border-radius:0 12px 12px 0}

/* Preserve artwork instead of cropping campaign graphics and portrait concepts. */
.story-media{border-radius:24px;background:#f4f6f3;border:1px solid var(--hairline);box-shadow:var(--shadow-soft)}
.story-media img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:#f4f6f3}
.story-copy{min-width:0}
.story-copy .lede{margin-top:.75rem}
.story-copy .feature-list{margin-top:1rem}
.page-banner img[src*="plan-a-poster"],
.page-banner img[src*="campaign-"],
.campaign-feature-image img{height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;max-height:620px;background:#fff}
.campaign-feature-image{border:1px solid rgba(7,26,61,.08)}

/* Page heroes: high impact without oversized wraps on long EN/FR titles. */
.page-hero{padding:4.35rem 0 3.35rem}
.page-hero h1{font-size:clamp(2.9rem,5.4vw,5.55rem);line-height:.96;letter-spacing:-.052em;max-width:1040px}
.page-hero .lede{max-width:820px;line-height:1.52}
.page-banner,.campaign-feature-image{border-radius:22px;box-shadow:0 20px 50px rgba(0,0,0,.19)}
.page-banner img{max-height:600px}

/* Coalition and signature-plan grids: avoid awkward orphan cards. */
.coalition-seven{grid-template-columns:repeat(3,minmax(0,1fr))}
.coalition-seven article:last-child{grid-column:2}
.coalition-home-grid article{min-height:205px}
.coalition-home-grid article>span{box-shadow:inset 0 0 0 1px #d7ead3}
.signature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.signature-grid a{min-height:154px;padding:1.28rem}
.signature-grid a:last-child{grid-column:auto}
.signature-grid strong{line-height:1.25}
.signature-grid span{line-height:1.5}
.coalition-home-close{border-radius:18px}

/* First-term block gets a clearer near-term hierarchy. */
.first-term-showcase{position:relative;overflow:hidden}
.first-term-showcase::before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;right:-210px;top:-260px;border:72px solid rgba(142,233,135,.08);pointer-events:none}
.first-term-showcase .container{position:relative;z-index:1}
.first-term-feature-grid a{min-height:220px;padding:1.55rem 1.6rem;justify-content:center}
.first-term-feature-grid a:hover{background:rgba(255,255,255,.13);border-color:rgba(169,239,165,.45)}
.first-term-feature-grid strong{font-size:clamp(1.35rem,2.2vw,1.7rem)}

/* Moral/generational section and long-term foundation. */
.moral-compass .proverb{max-width:1000px;margin-inline:auto}
.generation-grid article{box-shadow:var(--shadow-soft)}
.future-teaser-grid{gap:clamp(2.2rem,5vw,4.5rem);align-items:center}
.future-teaser .lede{color:#e9f1fa}
.book-feature{margin:0;padding:.85rem;border-radius:24px}
.book-feature img{border-radius:16px}
.book-feature figcaption{padding:.75rem .35rem .15rem;font-size:.83rem;line-height:1.45}
.future-visual-stack{display:grid;gap:1rem;align-items:start}
.future-visual-stack .book-feature{margin:0}
.future-visual-stack .rail-map-card img{aspect-ratio:4/3;object-fit:cover;object-position:center top}
.future-visual-stack .future-book-card img{aspect-ratio:4/3;object-fit:cover;object-position:center}


/* Welcome / culture / investor surfaces. */
.welcome-feature{gap:clamp(2rem,5vw,4rem)}
.welcome-photo-stack{position:relative;padding-bottom:1rem}
.welcome-photo-stack img{border-radius:24px;border:1px solid rgba(7,26,61,.08);box-shadow:0 18px 46px rgba(7,26,61,.12)}
.welcome-photo-stack img+img{width:78%;margin-top:-2rem;border:6px solid #fff}
.welcome-outcomes article{padding:1rem 1.05rem;box-shadow:none}
.welcome-outcomes strong{font-size:.96rem}
.welcome-outcomes span{line-height:1.5}
.culture-creators-home .story-media{border-color:rgba(255,255,255,.15);background:#0c254f}
.culture-creators-home .story-media img{background:#0c254f}
.audience-grid{align-items:stretch}
.audience-card{height:100%;display:flex;flex-direction:column}
.audience-card a{margin-top:auto}

/* Forms and small interactive surfaces. */
input,select,textarea{transition:border-color .15s ease,box-shadow .15s ease}
input:focus,select:focus,textarea:focus{border-color:var(--green-dark);box-shadow:0 0 0 4px rgba(66,184,62,.13);outline:0}
.campaign-form{border-color:#d7ddd5}
.amount-button{transition:border-color .15s ease,background .15s ease,transform .15s ease}
.amount-button:hover{border-color:var(--green-dark);transform:translateY(-1px)}

/* Footer: tighter rhythm and clearer hierarchy. */
.footer{padding-top:4rem}
.footer-grid{gap:clamp(1.6rem,3vw,2.7rem)}
.footer nav{gap:.46rem}
.footer nav a{line-height:1.35}
.footer nav h3{margin-bottom:.55rem}
.socials a{transition:background .15s ease,border-color .15s ease,transform .15s ease}
.socials a:hover{background:rgba(255,255,255,.09);border-color:#a9efa5;transform:translateY(-1px)}
.authorized,.footer-bottom{line-height:1.45}

/* Responsive refinements. */
@media(max-width:1160px){
  .main-nav{left:max(1rem,var(--safe-left));right:max(1rem,var(--safe-right));border-radius:18px;padding:.6rem;box-shadow:0 22px 55px rgba(7,26,61,.18)}
  .main-nav a{min-height:46px;border-radius:10px}
  .main-nav a+a{border-top:1px solid #edf0ec}
  .main-nav a:hover,.main-nav a.active,.main-nav a[aria-current=page]{box-shadow:inset 4px 0 0 var(--green);background:#f5f9f3}
  .main-nav .mobile-language-link{margin-top:.2rem!important;border-top:1px solid var(--line)!important}
}
@media(max-width:1080px){
  .coalition-seven{grid-template-columns:repeat(2,minmax(0,1fr))}
  .coalition-seven article:last-child,.signature-grid a:last-child{grid-column:auto}
  .signature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
  .campaign-hero.toronto-works-hero .hero-grid{padding:3rem 0 0}
  .campaign-hero.toronto-works-hero .hero-copy{max-width:760px}
  .campaign-hero.toronto-works-hero .hero-photo-wrap{padding-right:0;width:min(94%,500px)}
  .campaign-hero.toronto-works-hero .hero-photo{aspect-ratio:685/843;object-position:50% 10%}
  .hero-principles{grid-template-columns:1fr 1fr}
  .action-rail{margin-top:0;padding-top:1.1rem}
  .story-split{gap:1.6rem}
  .page-hero h1{max-width:900px}
  .evidence-strip .container{align-items:flex-start;flex-direction:column;gap:.1rem;padding-block:.38rem}
}
@media(max-width:720px){
  .section{padding-block:3.75rem}
  .hero-principles{grid-template-columns:1fr}
  .campaign-hero.toronto-works-hero .hero-copy h1{line-height:.94!important;letter-spacing:-.052em}
  .home-hero-actions .btn{min-height:50px}
  .welcome-photo-stack img+img{width:88%;margin-top:-1rem;border-width:4px}
  .future-visual-stack{gap:.85rem}

  .first-term-feature-grid a{min-height:0}
  .page-hero{padding:3.35rem 0 2.55rem}
  .page-banner,.campaign-feature-image{border-radius:18px}
}
@media(max-width:600px){
  .nav-shell{min-height:64px;gap:.65rem}
  .wordmark.logo-mark{min-width:auto}
  .wordmark.logo-mark img{width:124px}
  .menu-btn{min-width:58px}
  .nav-actions .btn{font-size:.78rem;padding:.55rem .68rem}
  .action-rail .container{grid-template-columns:repeat(2,1fr)}
  .action-rail a{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:.9rem .8rem}
  .action-rail a:nth-child(even){border-right:0}
  .action-rail a:last-child{grid-column:1/-1;border-right:0}
  .action-rail span{display:block;font-size:.75rem}
  .daily-outcome-grid article,.coalition-home-grid article,.signature-grid a{border-radius:17px}
  .page-hero h1{font-size:clamp(2.55rem,12vw,4rem);line-height:.98}
  .story-media{border-radius:18px}
}
@media(max-width:430px){
  .topline{font-size:.69rem}
  .topline .container{min-height:32px}
  .nav-actions .btn{padding:.53rem .62rem}
  .action-rail .container{grid-template-columns:1fr}
  .action-rail a,.action-rail a:nth-child(even){border-right:0}
  .action-rail a:last-child{grid-column:auto}
  .campaign-hero.toronto-works-hero .hero-copy h1{font-size:clamp(2.65rem,13.5vw,3.7rem)!important}
  .campaign-hero.toronto-works-hero .hero-refrain{font-size:1.45rem!important}
  .campaign-hero.toronto-works-hero .opening-statement{font-size:1rem}
}

@media(hover:hover){
  .btn{transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}
}

/* ==========================================================================
   v8 compact home hero + restrained editorial image placement
   ========================================================================== */
/* The home hero should make an immediate impression without occupying most of
   the first screen. Supporting principles now live in the slim bridge below. */
@media(min-width:861px){
  .campaign-hero.toronto-works-hero::after{
    inset:auto -8% -56px -8%;
    height:92px;
  }
  .campaign-hero.toronto-works-hero .hero-grid{
    grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);
    gap:clamp(1.4rem,3vw,2.8rem);
    min-height:390px;
    padding:1.65rem 0 3.55rem;
    align-items:end;
  }
  .campaign-hero.toronto-works-hero .hero-copy{
    max-width:820px;
    align-self:center;
  }
  .campaign-hero.toronto-works-hero .hero-kicker{
    font-size:.68rem;
    letter-spacing:.13em;
  }
  .lead-example-home .hero-copy h1,
  .campaign-hero.toronto-works-hero .hero-copy h1{
    font-size:clamp(2.85rem,4.6vw,4.75rem)!important;
    line-height:.93;
    letter-spacing:-.052em;
    margin:.16em 0 .1em;
  }
  .campaign-hero.toronto-works-hero .hero-refrain,
  .lead-example-home .hero-refrain{
    font-size:clamp(1.18rem,1.8vw,1.65rem)!important;
    margin:0 0 .65rem;
  }
  .campaign-hero.toronto-works-hero .opening-statement{
    max-width:790px;
    font-size:clamp(.9rem,1vw,1rem);
    line-height:1.42;
  }
  .hero-support{
    font-size:.93rem;
    margin:.6rem 0 0;
  }
  .campaign-hero.toronto-works-hero .hero-photo-wrap{
    width:min(100%,355px);
    padding:0;
    align-self:end;
  }
  .campaign-hero.toronto-works-hero .hero-photo-wrap::before{
    inset:10% -8% -3% 8%;
  }
  .campaign-hero.toronto-works-hero .hero-photo{
    height:390px;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:50% 8%;
  }
  .campaign-hero.toronto-works-hero .hero-photo-wrap::after{
    display:none;
  }
  .home-hero-actions{
    margin-top:.85rem;
    gap:.48rem!important;
  }
  .home-hero-actions .btn{
    min-height:40px;
    padding:.55rem .72rem;
    font-size:.78rem;
  }
}

.hero-bridge{
  position:relative;
  z-index:4;
  background:#fff;
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 22px rgba(7,26,61,.045);
}
.hero-bridge .container{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:1.25rem;
  padding-block:.72rem;
}
.hero-bridge .hero-principles{
  display:flex;
  flex-wrap:wrap;
  gap:.38rem .62rem;
  margin:0;
}
.hero-bridge .hero-principles span{
  padding:.34rem .56rem;
  border:1px solid #dbe6d7;
  border-radius:999px;
  background:#f5f9f2;
  color:var(--navy);
  font-size:.75rem;
  line-height:1.25;
  font-weight:850;
}
.hero-bridge .hero-principles span::before{
  color:var(--green-dark);
  margin-right:.3rem;
}
.hero-bridge .hero-geography{
  margin:0;
  color:#536175;
  font-size:.78rem;
  line-height:1.35;
  font-weight:800;
  text-align:right;
  max-width:320px;
}
.action-rail{margin-top:0}

/* Keep supporting images editorial rather than dominant. */
.compact-context-visual{
  background:linear-gradient(180deg,#f5f7f4,#fff);
  padding:1.25rem 0 0;
}
.compact-context-visual .container{
  display:flex;
  justify-content:center;
}
.compact-context-visual img{
  display:block;
  width:min(100%,900px);
  max-height:360px;
  object-fit:contain;
  border-radius:20px;
  border:1px solid rgba(7,26,61,.09);
  box-shadow:0 14px 38px rgba(7,26,61,.1);
  background:#fff;
}
.page-hero .campaign-feature-image,
.page-hero .page-banner{
  max-width:960px;
}
.page-hero .campaign-feature-image img,
.page-hero .page-banner img{
  max-height:430px!important;
}
.welcome-photo-stack.single{
  padding-bottom:0;
}

.future-book-card{max-width:82%;justify-self:end}
.future-book-card figcaption{max-width:32ch;margin:0 auto}
.welcome-photo-stack.single img{
  width:100%;
  margin:0;
  border-width:1px;
}

@media(max-width:1050px){
  .hero-bridge .container{grid-template-columns:1fr}
  .hero-bridge .hero-geography{text-align:left;max-width:none}
}
@media(max-width:860px){
  .campaign-hero.toronto-works-hero .hero-grid{
    padding:2.2rem 0 0;
    gap:1.25rem;
  }
  .campaign-hero.toronto-works-hero .hero-copy{
    padding-bottom:.25rem;
  }
  .campaign-hero.toronto-works-hero .hero-photo-wrap{
    width:min(76%,360px);
  }
  .campaign-hero.toronto-works-hero .hero-photo{
    height:auto;
    max-height:380px;
  }
  .hero-bridge .container{padding-block:.82rem}
  .hero-bridge .hero-principles{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .hero-bridge .hero-geography{font-size:.76rem}
}
@media(max-width:560px){
  .campaign-hero.toronto-works-hero .hero-grid{padding-top:1.65rem}
  .campaign-hero.toronto-works-hero .hero-photo-wrap{width:min(88%,330px)}
  .campaign-hero.toronto-works-hero .hero-photo{max-height:350px}
  .hero-bridge .hero-principles{grid-template-columns:1fr}
  .hero-bridge .hero-principles span{border-radius:12px}
  .compact-context-visual{padding-top:.8rem}
  .compact-context-visual img{border-radius:16px;max-height:300px}
}

/* v8.1 — true half-height home hero: explanatory copy sits directly below. */
@media(min-width:861px){
  .campaign-hero.toronto-works-hero .hero-grid{
    min-height:330px;
    padding:1.15rem 0 2.7rem;
  }
  .lead-example-home .hero-copy h1,
  .campaign-hero.toronto-works-hero .hero-copy h1{
    font-size:clamp(2.6rem,4.25vw,4.25rem)!important;
  }
  .campaign-hero.toronto-works-hero .hero-photo-wrap{width:min(100%,315px)}
  .campaign-hero.toronto-works-hero .hero-photo{height:330px}
  .hero-support{margin-top:.45rem}
  .home-hero-actions{margin-top:.7rem}
}
.hero-bridge .hero-bridge-message{
  grid-column:1/-1;
  margin:0 0 .15rem;
  max-width:1120px;
  color:#35465c;
  font-size:.86rem;
  line-height:1.48;
  font-weight:650;
}
@media(max-width:860px){
  .hero-bridge .hero-bridge-message{font-size:.88rem}
}

/* Compact phone treatment: preserve the message, not an oversized portrait. */
@media(max-width:560px){
  .campaign-hero.toronto-works-hero .hero-grid{
    display:block!important;
    min-height:0!important;
    padding:1.35rem 0 1.65rem!important;
  }
  .campaign-hero.toronto-works-hero .hero-photo-wrap{
    display:none!important;
  }
  .lead-example-home .hero-copy h1,
  .campaign-hero.toronto-works-hero .hero-copy h1{
    font-size:clamp(2.25rem,10.8vw,3rem)!important;
    line-height:.96!important;
    letter-spacing:-.045em!important;
  }
  .campaign-hero.toronto-works-hero .hero-refrain,
  .lead-example-home .hero-refrain{
    font-size:1.2rem!important;
    margin-bottom:.55rem;
  }
  .hero-support{font-size:.9rem;line-height:1.42}
  .home-hero-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:.4rem!important;
    margin-top:.7rem;
  }
  .home-hero-actions .btn{
    width:auto!important;
    min-height:36px!important;
    padding:.45rem .58rem!important;
    font-size:.71rem!important;
  }
  .hero-bridge .container{gap:.65rem;padding-block:.7rem}
  .hero-bridge .hero-bridge-message{font-size:.78rem;line-height:1.42}
  .hero-bridge .hero-principles{grid-template-columns:1fr 1fr!important;gap:.35rem}
  .hero-bridge .hero-principles span{font-size:.68rem;padding:.38rem .44rem;border-radius:10px}
  .hero-bridge .hero-geography{font-size:.7rem;line-height:1.35}
}
@media(max-width:430px){
  .action-rail .container{grid-template-columns:repeat(2,1fr)!important}
  .action-rail a,.action-rail a:nth-child(even){border-right:1px solid var(--line)}
  .action-rail a:nth-child(even){border-right:0}
  .action-rail a:last-child{grid-column:1/-1!important;border-right:0}
}

/* Reduce stacked utility chrome on phones so the campaign message appears sooner. */
@media(max-width:560px){
  .evidence-strip .container{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:.08rem!important;
    padding-block:.26rem!important;
    font-size:.68rem!important;
    line-height:1.3;
  }
  .first-term-strip .container{
    min-height:0;
    padding-block:.28rem!important;
    gap:.28rem!important;
    font-size:.7rem;
  }
  .first-term-strip .container>span:not(.first-term-links){display:none}
  .first-term-links{width:auto!important;margin-left:auto!important;gap:.45rem!important}
}
.compact-context-visual img{
  height:360px;
  max-height:none;
  object-fit:cover;
}
.compact-context-visual img[src*="plan-a-poster"]{
  object-fit:contain;
  background:#f4f6f3;
  padding:.85rem;
}
@media(max-width:560px){
  .compact-context-visual img{height:230px;max-height:none}
  .compact-context-visual img[src*="plan-a-poster"]{height:270px;padding:.55rem}
}

/* v8.2 — compact flagship homepage hero and restrained editorial imagery. */
@media(min-width:861px){
  .campaign-hero.toronto-works-hero .hero-grid{
    min-height:292px!important;
    padding:.82rem 0 2.1rem!important;
    gap:1.35rem!important;
  }
  .lead-example-home .hero-copy h1,
  .campaign-hero.toronto-works-hero .hero-copy h1{
    font-size:clamp(2.45rem,3.8vw,3.8rem)!important;
    line-height:.95!important;
    margin:.12em 0 .08em!important;
  }
  .campaign-hero.toronto-works-hero .hero-refrain,
  .lead-example-home .hero-refrain{
    font-size:clamp(1.08rem,1.5vw,1.45rem)!important;
    margin-bottom:.42rem!important;
  }
  .campaign-hero.toronto-works-hero .hero-photo-wrap{
    width:min(100%,292px)!important;
  }
  .campaign-hero.toronto-works-hero .hero-photo{
    height:300px!important;
    object-position:50% 8%!important;
  }
  .hero-support{
    margin-top:.32rem!important;
    font-size:.88rem!important;
    line-height:1.38!important;
  }
  .home-hero-actions{
    margin-top:.52rem!important;
    gap:.36rem!important;
  }
  .home-hero-actions .btn{
    min-height:36px!important;
    padding:.46rem .62rem!important;
    font-size:.72rem!important;
  }
}

/* One purposeful image should support the page rather than dominate it. */
.page-hero .page-banner img[src*="voter-voice-journey"]{
  object-fit:contain!important;
  background:#fff!important;
  padding:.45rem!important;
}
@media(max-width:560px){
  .page-hero .page-banner img[src*="voter-voice-journey"]{
    padding:.2rem!important;
  }
}
.page-hero .page-banner img[src*="voter-voice-journey"]{
  object-fit:cover!important;
  padding:0!important;
  background:#fff!important;
}


/* Contrast and button visibility pass */
/* Keep every major dark campaign surface legible when High Contrast is enabled.
   These rules are deliberately last because several visual modules are defined
   after the original accessibility block. */
html[data-a11y-contrast=high] :where(
  .page-hero,
  .future-teaser,
  .first-term-showcase,
  .culture-creators-home,
  .coalition-close,
  .issue-finder,
  .closing-manifesto,
  .ai-era,
  .plan-callout
) {
  background:#000!important;
  background-image:none!important;
  color:#fff!important;
  border-color:#fff!important;
}
html[data-a11y-contrast=high] :where(
  .page-hero,
  .future-teaser,
  .first-term-showcase,
  .culture-creators-home,
  .coalition-close,
  .issue-finder,
  .closing-manifesto,
  .ai-era,
  .plan-callout
) :where(h1,h2,h3,p,li,span,strong,a,.lede,.eyebrow,.crumbs) {
  color:#fff!important;
}
html[data-a11y-contrast=high] :where(
  .page-hero,
  .future-teaser,
  .first-term-showcase,
  .culture-creators-home,
  .coalition-close,
  .issue-finder,
  .closing-manifesto,
  .ai-era,
  .plan-callout
) .btn {
  background:#000!important;
  color:#fff!important;
  border:2px solid #ffdf57!important;
}
html[data-a11y-contrast=high] :where(
  .page-hero,
  .future-teaser,
  .first-term-showcase,
  .culture-creators-home,
  .coalition-close,
  .issue-finder,
  .closing-manifesto,
  .ai-era,
  .plan-callout
) .btn:hover,
html[data-a11y-contrast=high] :where(
  .page-hero,
  .future-teaser,
  .first-term-showcase,
  .culture-creators-home,
  .coalition-close,
  .issue-finder,
  .closing-manifesto,
  .ai-era,
  .plan-callout
) .btn:focus-visible {
  background:#ffdf57!important;
  color:#000!important;
}

/* Strong visible keyboard focus on campaign buttons without changing layout. */
.btn:focus-visible,
.language-link:focus-visible,
.menu-btn:focus-visible {
  outline:3px solid #f5ca36;
  outline-offset:3px;
}


/* v12: white campaign buttons --------------------------------------------------
   White campaign buttons intentionally match the proven "Join the Campaign"
   treatment: white surface, navy text, clear navy/white focus contrast. */
.btn.white,
a.btn.white {
  background:#fff!important;
  color:var(--navy)!important;
  border-color:#fff!important;
}
.btn.white:hover,
a.btn.white:hover,
.btn.white:focus-visible,
a.btn.white:focus-visible {
  background:var(--green)!important;
  color:var(--navy)!important;
  border-color:var(--green)!important;
}

/* v13 — site-wide readability pass.
   Preserve the established visual system while lifting the smallest type sizes
   so supporting copy stays comfortable to read on desktop, tablet and phone. */
body{font-size:17px}

/* Small structural labels: still secondary, but no longer tiny. */
.eyebrow,
.hero-kicker,
.topline,
.main-nav a,
.language-link,
.btn.small,
.hero-secondary,
.page-hero .crumbs,
.crumbs,
.footer nav h3,
.footer nav a,
.authorized,
.footer-bottom,
.footer-a11y-button,
.accessibility-launcher .launcher-label,
.a11y-note,
.form-note,
.field-help,
.help,
.field label,
.check,
.vote-private,
.vote-steps span,
.date-card span,
.progress-step span,
.official-link span,
.contribution-status,
.status,
.status-chip,
.status-inline,
.tag,
.release-card .status,
.evidence-strip,
.evidence-strip .container,
.first-term-strip,
.first-term-strip .container,
.campaign-graphic figcaption,
.book-feature figcaption,
.rail-map-feature figcaption,
.safety-poster figcaption,
.response-image-pair figcaption{
  font-size:.84rem!important;
  line-height:1.45;
}

/* Supporting card and explanatory copy. */
.reason-card p,
.card p,
.priority-card p,
.pillar p,
.support-action p,
.vision-steps p,
.quality-item p,
.news-item p,
.issue-point p,
.daily-pain-grid p,
.test-grid p,
.safety-response-grid p,
.growth-principles p,
.route-status-grid p,
.generation-grid p,
.big-idea p,
.coalition-home-grid p,
.four-promise-grid p,
.audience-card .feature-list li,
.resident-result,
.gigacity-line{
  font-size:.98rem!important;
  line-height:1.58;
}

/* Compact descriptor text inside information components. */
.metric-band span,
.mini-pathways span,
.tier-list span,
.coalition-outcomes span,
.issue-finder-grid span,
.human-measure-grid span,
.future-links span,
.sector-cloud span,
.official-link span{
  font-size:.9rem!important;
  line-height:1.45;
}

/* Number/category labels need enough size to remain legible at a glance. */
.reason-card span,
.card-number,
.daily-outcome-grid article>span,
.coalition-home-grid article>span,
.coalition-card-head>span,
.four-promise-grid article>span,
.commitment-grid article>span,
.phase-grid article>span,
.generation-grid article>span,
.housing-pipeline span,
.risk-tier>span,
.ai-badge,
.audience-label{
  font-size:.8rem!important;
  line-height:1.35;
}

/* Homepage explanatory bridge: specifically raised for comfortable reading. */
.hero-bridge .hero-bridge-message{
  font-size:1rem!important;
  line-height:1.58!important;
  font-weight:600;
}
.hero-bridge .hero-principles span{
  font-size:.9rem!important;
  line-height:1.38!important;
  padding:.48rem .68rem;
}
.hero-bridge .hero-geography{
  font-size:.9rem!important;
  line-height:1.45!important;
}

/* Homes / Time Back / Safety / Jobs / Trust rail. */
.action-rail strong{
  font-size:1.08rem!important;
  line-height:1.25!important;
}
.action-rail span{
  display:block;
  font-size:.92rem!important;
  line-height:1.4!important;
  margin-top:.22rem;
}
.action-rail a{padding:1.12rem 1rem}

/* CTA text should never feel like micro-copy. */
.btn{font-size:.92rem}
.home-hero-actions .btn{font-size:.82rem!important}

/* Footer and legal copy remain visually secondary but comfortably readable. */
.footer nav a{font-size:.9rem!important;line-height:1.5}
.authorized,.footer-bottom{font-size:.86rem!important;line-height:1.5}
.socials a{font-size:.84rem!important}

@media(max-width:860px){
  .hero-bridge .hero-bridge-message{font-size:.97rem!important}
  .hero-bridge .hero-principles span{font-size:.88rem!important}
  .hero-bridge .hero-geography{font-size:.88rem!important}
  .action-rail strong{font-size:1.04rem!important}
  .action-rail span{font-size:.9rem!important}
}

@media(max-width:560px){
  body{font-size:16.5px}
  .hero-support{font-size:.96rem!important;line-height:1.5!important}
  .home-hero-actions .btn{font-size:.8rem!important;min-height:38px!important;padding:.5rem .62rem!important}
  .hero-bridge .hero-bridge-message{font-size:.93rem!important;line-height:1.52!important}
  .hero-bridge .hero-principles{gap:.45rem!important}
  .hero-bridge .hero-principles span{font-size:.84rem!important;line-height:1.38!important;padding:.48rem .56rem!important}
  .hero-bridge .hero-geography{font-size:.84rem!important;line-height:1.42!important}
  .action-rail a{padding:1rem .85rem!important}
  .action-rail strong{font-size:1.02rem!important}
  .action-rail span{font-size:.88rem!important}
  .topline{font-size:.8rem!important}
  .evidence-strip .container,.first-term-strip .container{font-size:.8rem!important;line-height:1.4!important}
}

/* v14 — accessibility type-scale reset.
   The former "Large" accessibility scale is now the default Normal reading size.
   Large now matches the former Extra Large scale, and Extra Large is larger again.
   This is intentionally the final typography layer so older responsive rules cannot
   shrink important supporting copy back to the previous small baseline. */
html{font-size:112.5%!important}
html[data-a11y-text=large]{font-size:125%!important}
html[data-a11y-text=xlarge]{font-size:140%!important}
body{font-size:1rem!important;line-height:1.62}

/* Keep meaningful supporting text above the old micro-type range. */
:where(
  small,
  figcaption,
  time,
  .topline,
  .hero-kicker,
  .eyebrow,
  .crumbs,
  .page-hero .crumbs,
  .main-nav a,
  .language-link,
  .hero-secondary,
  .status,
  .tag,
  .status-chip,
  .status-inline,
  .contribution-status,
  .form-note,
  .field-help,
  .help,
  .vote-private,
  .vote-steps span,
  .date-tile span,
  .progress-step span,
  .official-link span,
  .evidence-strip,
  .evidence-strip .container,
  .first-term-strip,
  .first-term-strip .container,
  .release-card .status,
  .campaign-graphic figcaption,
  .book-feature figcaption,
  .rail-map-feature figcaption,
  .safety-poster figcaption,
  .response-image-pair figcaption,
  .immediate-priority>span,
  .ai-badge,
  .risk-tier>span,
  .compute-node,
  .coalition-outcomes span,
  .coalition-home-grid article>span,
  .coalition-card-head>span,
  .map-node,
  .four-promise-grid article>span,
  .audience-label,
  .commitment-grid article>span,
  .phase-grid article>span,
  .housing-pipeline span,
  .generation-grid article>span,
  .daily-outcome-grid article>span,
  .first-term-feature-grid a>span,
  .brand-copy span,
  .campaign-hero .hero-photo-wrap::after
){font-size:.82rem!important;line-height:1.45!important}

/* Homepage bridge and promise rail — these were the most visibly undersized. */
.hero-bridge .hero-bridge-message{font-size:1rem!important;line-height:1.62!important}
.hero-bridge .hero-principles span{font-size:.94rem!important;line-height:1.45!important;padding:.56rem .72rem!important}
.hero-bridge .hero-geography{font-size:.94rem!important;line-height:1.5!important}
.action-rail strong{font-size:1.12rem!important;line-height:1.28!important}
.action-rail span{display:block!important;font-size:.96rem!important;line-height:1.42!important;margin-top:.22rem!important}

/* Cards, helper text and footer copy should remain easy to read at the new baseline. */
:where(
  .card p,
  .priority-card p,
  .reason-card p,
  .pillar p,
  .support-action p,
  .vision-steps p,
  .quality-item p,
  .news-item p,
  .issue-point p,
  .daily-pain-grid p,
  .test-grid p,
  .safety-response-grid p,
  .growth-principles p,
  .route-status-grid p,
  .generation-grid p,
  .coalition-home-grid p,
  .four-promise-grid p,
  .welcome-outcomes span,
  .future-links span,
  .human-measure-grid span,
  .issue-finder-grid span
){font-size:1rem!important;line-height:1.6!important}

.footer nav a{font-size:.94rem!important;line-height:1.55!important}
.authorized,.footer-bottom{font-size:.9rem!important;line-height:1.55!important}
.a11y-note,.footer-a11y-button,.accessibility-launcher .launcher-label{font-size:.88rem!important;line-height:1.5!important}

/* Do not shrink the base reading size again on phones. Responsive layout changes,
   but Normal/Large/Extra Large keep the same accessibility scale. */
@media(max-width:560px){
  body{font-size:1rem!important}
  .hero-support{font-size:1rem!important;line-height:1.55!important}
  .hero-bridge .hero-bridge-message{font-size:1rem!important;line-height:1.6!important}
  .hero-bridge .hero-principles span{font-size:.92rem!important;line-height:1.45!important}
  .hero-bridge .hero-geography{font-size:.92rem!important;line-height:1.48!important}
  .action-rail strong{font-size:1.08rem!important}
  .action-rail span{display:block!important;font-size:.92rem!important}
  .topline{font-size:.84rem!important}
  .evidence-strip .container,.first-term-strip .container{font-size:.84rem!important;line-height:1.45!important}
}

.safety-poster img{width:100%;height:auto;display:block;border-radius:20px}

/* v17 — Toronto That Works: clean-streets public hierarchy */
.action-rail.action-rail-six .container{grid-template-columns:repeat(6,minmax(0,1fr))}
.daily-question-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
.daily-question-grid article{padding:1.2rem 1.25rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(7,26,61,.05)}
.daily-question-grid strong{display:block;color:var(--navy);font-size:1.08rem;line-height:1.35}
.daily-question-grid span{display:block;color:var(--muted);margin-top:.35rem;line-height:1.55}
.clean-toronto-home{background:linear-gradient(135deg,#eff8ef 0%,#f7fbff 55%,#fff 100%)}
.clean-toronto-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.clean-toronto-copy .lede{font-size:1.3rem;max-width:760px}
.clean-promise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1.25rem 0}
.clean-promise-grid article{padding:1rem;border:1px solid rgba(7,26,61,.1);border-radius:15px;background:rgba(255,255,255,.86)}
.clean-promise-grid strong{display:block;color:var(--navy);font-size:1.03rem;line-height:1.35}
.clean-promise-grid span{display:block;color:var(--muted);margin-top:.28rem;line-height:1.5}
.clean-toronto-image{margin:0;padding:.8rem;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}
.clean-toronto-image img{width:100%;height:auto;display:block;border-radius:17px}
.clean-toronto-image figcaption{padding:.75rem .3rem .15rem;color:var(--muted);text-align:center}
.service-question-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin:1.35rem 0}
.service-question-grid article{padding:1rem;border:1px solid var(--line);border-radius:15px;background:#f8fafc;text-align:center}
.service-question-grid strong{color:var(--navy);font-size:1.02rem;line-height:1.35}
.visible-results{background:#f5f8fb}
.visible-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1.35rem 0}
.visible-result-grid span{display:flex;align-items:center;min-height:72px;padding:.9rem 1rem;border-radius:14px;background:#fff;border:1px solid var(--line);font-weight:750;color:var(--navy);line-height:1.4}
.technology-serves{background:linear-gradient(180deg,#fff,#f3f8ef)}
.clean-beautify{background:linear-gradient(180deg,#fff,#f5faf4)}

@media(max-width:1180px){
  .action-rail.action-rail-six .container{grid-template-columns:repeat(3,1fr)}
  .action-rail.action-rail-six a:nth-child(3n){border-right:0}
  .service-question-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .visible-result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:860px){
  .clean-toronto-grid{grid-template-columns:1fr}
  .daily-question-grid{grid-template-columns:1fr 1fr}
  .service-question-grid{grid-template-columns:1fr 1fr}
  .visible-result-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .action-rail.action-rail-six .container{grid-template-columns:1fr 1fr!important}
  .action-rail.action-rail-six a:last-child{grid-column:auto!important}
  .daily-question-grid,.clean-promise-grid,.service-question-grid,.visible-result-grid{grid-template-columns:1fr}
}


/* v18 — Final Master 2026 structure */
.hero-bridge-goal{margin:.85rem 0 0;font-size:1.12rem;line-height:1.55;color:var(--navy)}
.priority-promise{font-size:1.08rem!important;color:var(--navy)}
.audience-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.3rem}
.audience-path-grid a{display:flex;flex-direction:column;gap:.4rem;padding:1.15rem 1.2rem;border:1px solid var(--line);border-radius:18px;background:#fff;text-decoration:none;box-shadow:0 8px 24px rgba(7,26,61,.05)}
.audience-path-grid strong{color:var(--navy);font-size:1.08rem}.audience-path-grid span{color:var(--muted);line-height:1.5}.audience-path-grid a:hover{border-color:#adc7aa;box-shadow:var(--shadow)}
.audience-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.audience-detail-grid article{padding:1.3rem;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(7,26,61,.055)}
.audience-detail-grid article:target{outline:3px solid var(--green);outline-offset:3px}.audience-detail-grid h2{font-size:1.4rem}.audience-detail-grid a{font-weight:850}
.three-f-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.three-f-grid article{padding:1.35rem;border-radius:20px;border:1px solid var(--line);background:#fff}.three-f-grid>article>span{display:inline-flex;padding:.35rem .55rem;border-radius:999px;background:var(--green-pale);font-weight:950;letter-spacing:.08em;color:var(--green-dark)}
.source-topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1.25rem 0}.source-topic-grid span{padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);font-weight:800}
.scorecard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.scorecard-grid article{display:grid;gap:.3rem;padding:1.1rem;border:1px solid var(--line);border-radius:16px;background:#fff}.scorecard-grid strong{color:var(--navy);font-size:1.07rem}.scorecard-grid span{color:var(--muted)}
.rail-master-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}.rail-master-grid article{padding:1.4rem;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.route-spine{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;margin-top:1rem}.route-spine strong{padding:.55rem .7rem;border-radius:999px;background:#eef4fb;color:var(--navy)}.route-spine span{color:var(--green-dark);font-weight:950}
.text-scale-demo{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.2rem 0}.text-scale-demo article{display:grid;gap:.35rem;padding:1rem;border:1px solid var(--line);border-radius:16px;background:#fff}.text-scale-demo span{font-weight:900;color:var(--green-dark)}
.light-lines{margin-top:1.1rem}.light-lines span{background:#f5f8fb!important;color:var(--navy)!important;border:1px solid var(--line)}
.footer-grid-master{grid-template-columns:1.2fr repeat(5,minmax(0,.85fr));gap:1.4rem}.footer-grid-master nav a{line-height:1.45}.footer-intro p{font-size:.96rem!important;line-height:1.55!important}
.white-nav{background:#fff!important;color:var(--navy)!important;border-color:#fff!important}.white-nav:hover,.white-nav:focus-visible{background:#f3f7fb!important;color:var(--navy)!important}
@media(max-width:1180px){.footer-grid-master{grid-template-columns:1.2fr repeat(3,1fr)}.footer-grid-master .footer-intro{grid-column:1/-1}.audience-path-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.audience-detail-grid,.rail-master-grid,.scorecard-grid{grid-template-columns:1fr}.source-topic-grid{grid-template-columns:repeat(2,1fr)}.three-f-grid{grid-template-columns:1fr}.text-scale-demo{grid-template-columns:1fr}.footer-grid-master{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.audience-path-grid,.source-topic-grid,.footer-grid-master{grid-template-columns:1fr}.footer-grid-master .footer-intro{grid-column:auto}}


/* v19 — homepage hero-bridge layout repair.
   The previous two-column rule used an auto-sized principles column. With the
   English copy wrapped in a div, that auto column could consume nearly the
   full row and collapse the copy to a one-character-wide column. Keep both
   desktop columns explicitly bounded and stack them before either can crush. */
.hero-bridge .container.hero-bridge-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.38fr) minmax(360px,.82fr)!important;
  align-items:start!important;
  gap:clamp(1.25rem,2.5vw,2.4rem)!important;
  padding-block:1rem!important;
}
.hero-bridge-copy,
.hero-bridge-side{
  min-width:0!important;
  width:100%!important;
}
.hero-bridge .hero-bridge-message{
  grid-column:auto!important;
  width:100%!important;
  max-width:76ch!important;
  margin:0!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
}
.hero-bridge .hero-bridge-goal{
  width:100%!important;
  max-width:76ch!important;
  margin:.72rem 0 0!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
}
.hero-bridge .hero-bridge-side{
  display:grid!important;
  gap:.72rem!important;
  align-content:start!important;
}
.hero-bridge .hero-principles{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  width:100%!important;
  gap:.5rem!important;
  margin:0!important;
}
.hero-bridge .hero-principles span{
  min-width:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.hero-bridge .hero-geography{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  text-align:left!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
}
@media(max-width:1180px){
  .hero-bridge .container.hero-bridge-layout{
    grid-template-columns:1fr!important;
    gap:.85rem!important;
  }
  .hero-bridge .hero-bridge-message,
  .hero-bridge .hero-bridge-goal{max-width:none!important}
  .hero-bridge .hero-principles{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .hero-bridge .container.hero-bridge-layout{padding-block:.9rem!important}
  .hero-bridge .hero-principles{grid-template-columns:1fr!important}
}

/* v20 — movement-first public website architecture, August 9 2026 */
.vote-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.52rem .72rem;border-radius:999px;text-decoration:none;background:#fff;border:1px solid var(--line);font-size:.78rem;font-weight:950;color:var(--navy)}
.vote-link:hover{border-color:var(--green-dark);background:var(--green-pale)}

.movement-hero{background:radial-gradient(circle at 76% 16%,rgba(80,199,81,.18),transparent 30%),linear-gradient(135deg,#061630 0%,#082654 62%,#0d4679 100%)}
.movement-hero .hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);min-height:650px;gap:clamp(2rem,5vw,4.5rem)}
.movement-hero .hero-copy{padding:4.5rem 2.2rem 4.5rem 0}
.movement-hero .hero-copy h1{font-size:clamp(4rem,8vw,7.6rem);line-height:.84;letter-spacing:-.065em;margin:.28rem 0 .7rem}
.movement-hero .hero-refrain{font-size:clamp(1.35rem,2.5vw,2.1rem);font-weight:900;line-height:1.2;color:#a9efa5;max-width:700px;margin:0}
.movement-hero .hero-support{font-size:clamp(1rem,1.35vw,1.17rem);max-width:720px;line-height:1.58}
.movement-hero .hero-micro{margin:1.25rem 0 0;color:#d9e7f6;font-size:.86rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.movement-hero .hero-photo-wrap{background:linear-gradient(180deg,#eef4f8,#d8e5ee)}
.movement-hero .hero-photo{object-position:50% 10%}
.movement-hero + .action-rail{margin-top:0}
.light-outline{border-color:#fff!important;background:transparent!important;color:#fff!important}

.statement-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.statement-copy{font-size:1.08rem;line-height:1.7;color:var(--muted)}
.promise-cards-v20{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.promise-cards-v20 article{position:relative;display:flex;flex-direction:column;min-height:320px;padding:1.4rem;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(7,26,61,.055);overflow:hidden}
.promise-cards-v20 article::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--navy),var(--green))}
.promise-cards-v20 article>span{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:50%;background:var(--green-pale);color:var(--green-dark);font-weight:950;margin:.2rem 0 1rem}
.promise-cards-v20 h3{font-size:1.5rem;margin-bottom:.55rem}.promise-cards-v20 p{color:var(--muted);line-height:1.58}.promise-cards-v20 strong{display:block;color:var(--navy);font-size:.9rem;margin-top:auto;padding-top:.8rem}.promise-cards-v20 a{margin-top:.8rem;color:var(--green-dark);font-weight:950;text-decoration:none}
.delivery-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin:1.2rem 0}.delivery-mini-grid span{padding:.8rem .9rem;border-radius:12px;background:#f1f7ef;border:1px solid #d7e8d3;color:var(--navy);font-weight:900}
.campaign-video-section{background:#071a3d;color:#fff}.campaign-video-section h2,.campaign-video-section .section-head>p{color:#fff}.campaign-video-section .eyebrow{color:#a9efa5}
.video-poster{position:relative;display:block;max-width:1080px;margin:0 auto;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.2);box-shadow:0 24px 70px rgba(0,0,0,.28)}.video-poster img{width:100%;display:block;aspect-ratio:16/8;object-fit:cover;filter:brightness(.88)}.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:86px;height:86px;border-radius:50%;background:rgba(255,255,255,.95);color:var(--navy);font-size:2rem;padding-left:.2rem;box-shadow:0 10px 35px rgba(0,0,0,.24)}.video-label{position:absolute;left:1.2rem;bottom:1.2rem;display:flex;flex-direction:column;padding:.8rem 1rem;border-radius:14px;background:rgba(7,26,61,.9);color:#fff}.video-label small{color:#cfe3f7;margin-top:.15rem}
.project-six-home{background:linear-gradient(135deg,#eff8ff 0%,#fff 52%,#edf8ec 100%)}
.magazine-preview{margin:0;display:flex;justify-content:center}.magazine-preview img{display:block;width:min(100%,520px);height:auto;border-radius:24px;box-shadow:0 24px 60px rgba(7,26,61,.17);border:1px solid rgba(7,26,61,.12)}.magazine-preview.horizontal-fit img{width:min(100%,460px)}
.progress-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.progress-link-grid a{display:flex;flex-direction:column;gap:.4rem;min-height:150px;padding:1.15rem;border:1px solid var(--line);border-radius:18px;background:#fff;text-decoration:none;box-shadow:0 8px 24px rgba(7,26,61,.05)}.progress-link-grid strong{color:var(--navy);font-size:1.1rem}.progress-link-grid span{color:var(--muted);line-height:1.5}
.movement-cta{padding:4rem 0;background:linear-gradient(135deg,#071a3d 0%,#0b376f 65%,#0e5b3a 100%);color:#fff}.movement-cta .container{display:flex;align-items:center;justify-content:space-between;gap:2rem}.movement-cta h2,.movement-cta p{color:#fff}.movement-cta .eyebrow{color:#a9efa5}.movement-cta p{max-width:760px}.movement-cta .actions{justify-content:flex-end}

.delivery-hero{background:linear-gradient(135deg,#f6f9fc,#eff8ed)}.delivery-principles{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.35rem}.delivery-principles span{padding:.62rem .85rem;border-radius:999px;background:var(--navy);color:#fff;font-size:.82rem;font-weight:950}
.delivery-system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.delivery-system-grid article{display:flex;flex-direction:column;min-height:300px;padding:1.4rem;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-soft)}.delivery-system-grid article>span{color:var(--green-dark);font-weight:950;letter-spacing:.08em}.delivery-system-grid h2{font-size:1.75rem;margin:.55rem 0}.delivery-system-grid p{color:var(--muted);line-height:1.6}.delivery-system-grid strong{margin-top:auto;color:var(--navy)}.delivery-system-grid a{margin-top:.75rem;color:var(--green-dark);font-weight:950;text-decoration:none}
.roadmap-steps-v20{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.roadmap-steps-v20 article{padding:1.2rem;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(7,26,61,.045)}.roadmap-steps-v20 strong{display:block;color:var(--navy);font-size:1.12rem}.roadmap-steps-v20 p{color:var(--muted);margin:.45rem 0}.roadmap-steps-v20 a{color:var(--green-dark);font-weight:900;text-decoration:none}

.project-six-hero{background:linear-gradient(135deg,#f7fbff,#edf7ed);color:var(--ink)}
.page-hero.project-six-hero h1{color:var(--navy)}
.page-hero.project-six-hero .lede{color:#3e5068}
.page-hero.project-six-hero .crumbs,.page-hero.project-six-hero .crumbs a{color:#53657b}
.page-hero.project-six-hero .eyebrow{color:var(--green-dark)}
.page-hero.light-hero{background:linear-gradient(135deg,#f7fbff,#edf7ed);color:var(--ink)}
.page-hero.light-hero h1{color:var(--navy)}
.page-hero.light-hero .lede{color:#3e5068}
.page-hero.light-hero .crumbs,.page-hero.light-hero .crumbs a{color:#53657b}
.page-hero.light-hero .eyebrow{color:var(--green-dark)}.project-six-hero-grid,.vision-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.62fr);gap:clamp(2rem,6vw,5rem);align-items:center}.project-six-hero h1,.vision-hero-grid h1{font-size:clamp(3.4rem,7vw,6.4rem)}.project-six-pillars{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.25rem 0}.project-six-pillars span{padding:.55rem .75rem;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.82rem;font-weight:900;color:var(--navy)}.project-six-principle{font-size:1.25rem;color:var(--navy)}.magazine-hero{margin:0;display:flex;justify-content:center}.magazine-hero img{display:block;width:min(100%,420px);height:auto;border-radius:24px;box-shadow:0 28px 70px rgba(7,26,61,.18);border:1px solid rgba(7,26,61,.12)}
.usecase-grid-v20{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.usecase-grid-v20 article{padding:1.25rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(7,26,61,.05)}.usecase-grid-v20 h3{color:var(--navy);margin-bottom:.5rem}.usecase-grid-v20 p{color:var(--muted);line-height:1.58;margin:0}
.project-six-gallery-section{background:#071a3d;color:#fff}.project-six-gallery-section h2,.project-six-gallery-section .section-head>p{color:#fff}.project-six-gallery-section .eyebrow{color:#a9efa5}.magazine-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.magazine-gallery figure{margin:0;padding:.55rem;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16)}.magazine-gallery img{width:100%;height:auto;display:block;border-radius:13px}.magazine-gallery figcaption{padding:.75rem .45rem .35rem;color:#e3edf7;font-size:.86rem;line-height:1.45}
.safe-boundaries{background:#fff}.boundary-card{display:flex;flex-direction:column;gap:.65rem;padding:1.5rem;border-radius:24px;background:#071a3d;color:#fff;box-shadow:var(--shadow)}.boundary-card strong{color:#a9efa5;font-size:.78rem;letter-spacing:.12em}.boundary-card span{padding:.75rem .9rem;border-radius:12px;background:rgba(255,255,255,.09);font-weight:850}.boundary-card hr{width:100%;border:0;border-top:1px solid rgba(255,255,255,.2)}.boundary-card .locked{background:#4c1720;color:#fff}
.bright-usecase{background:linear-gradient(180deg,#fff,#f5faff)}

.plan-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.plan-detail-grid article{display:flex;flex-direction:column;min-height:300px;padding:1.4rem;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-soft)}.plan-detail-grid article>span{font-size:.78rem;color:var(--green-dark);font-weight:950;letter-spacing:.08em}.plan-detail-grid h2{font-size:1.75rem;margin:.6rem 0}.plan-detail-grid p{color:var(--muted);line-height:1.58}.plan-detail-grid strong{margin-top:auto;color:var(--navy)}.plan-detail-grid a{margin-top:.75rem;color:var(--green-dark);font-weight:950;text-decoration:none}
.leadership-traits{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem}.leadership-traits article{padding:1.1rem;border-radius:16px;background:#fff;border:1px solid var(--line)}.leadership-traits strong{display:block;color:var(--navy);font-size:1.08rem}.leadership-traits span{display:block;color:var(--muted);line-height:1.45;margin-top:.35rem}
.vision-five-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem}.vision-five-grid article{padding:1.1rem;border-radius:18px;background:#fff;border:1px solid var(--line)}.vision-five-grid strong{color:var(--navy);font-size:1.05rem}.vision-five-grid p{color:var(--muted);font-size:.9rem;margin:.45rem 0 0;line-height:1.5}
.contact-direct{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.contact-direct h2{font-size:clamp(1.65rem,3vw,2.7rem)}.contact-socials{display:flex;flex-wrap:wrap;gap:.65rem}.contact-socials a,.contact-socials span{display:inline-flex;padding:.65rem .8rem;border-radius:999px;background:#f4f7f9;border:1px solid var(--line);text-decoration:none;color:var(--navy);font-weight:850}

@media(max-width:1180px){.movement-hero .hero-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.82fr)}.magazine-gallery{grid-template-columns:repeat(2,1fr)}.leadership-traits,.vision-five-grid{grid-template-columns:repeat(3,1fr)}.progress-link-grid{grid-template-columns:repeat(2,1fr)}.nav-actions .vote-link{display:none}}
@media(max-width:900px){.statement-grid,.project-six-hero-grid,.vision-hero-grid{grid-template-columns:1fr}.promise-cards-v20,.usecase-grid-v20{grid-template-columns:repeat(2,1fr)}.roadmap-steps-v20{grid-template-columns:repeat(2,1fr)}.movement-cta .container{display:block}.movement-cta .actions{justify-content:flex-start}.magazine-hero img{width:min(100%,500px)}.contact-direct{grid-template-columns:1fr}}
@media(max-width:820px){.movement-hero .hero-grid{display:grid;grid-template-columns:1fr;min-height:0;padding-top:0}.movement-hero .hero-copy{padding:2.5rem 0 1.5rem}.movement-hero .hero-photo-wrap{width:min(100%,520px);margin:0 auto}.movement-hero .hero-photo{height:auto;min-height:0}.movement-hero .hero-copy h1{font-size:clamp(3.4rem,15vw,5.5rem)}.action-rail.action-rail-six .container{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:650px){.promise-cards-v20,.delivery-system-grid,.plan-detail-grid,.usecase-grid-v20,.roadmap-steps-v20,.magazine-gallery,.leadership-traits,.vision-five-grid,.progress-link-grid{grid-template-columns:1fr}.promise-cards-v20 article,.delivery-system-grid article,.plan-detail-grid article{min-height:0}.delivery-mini-grid{grid-template-columns:1fr}.movement-hero .hero-micro{font-size:.75rem}.video-play{width:68px;height:68px;font-size:1.55rem}.video-label{left:.7rem;bottom:.7rem}.magazine-preview img{width:min(100%,430px)}}
.news-category-cloud{display:flex;flex-wrap:wrap;gap:.65rem}.news-category-cloud span{padding:.62rem .82rem;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--navy);font-weight:900}


/* v22 — simplified Jamie Atkinson wordmark: no AI/TO letter highlighting. */
.wordmark.logo-mark.name-wordmark{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:0;
  min-width:148px;
  color:var(--navy);
  text-decoration:none;
  font-family:var(--font-display);
  font-weight:900;
  font-size:1.62rem;
  line-height:.82;
  letter-spacing:-.055em;
  white-space:nowrap;
}
.wordmark.logo-mark.name-wordmark span{display:block;color:inherit}
.wordmark.logo-mark.name-wordmark span:last-child{font-size:1.06em}
.footer-name-wordmark{
  display:inline-flex;
  flex-direction:column;
  gap:0;
  color:#fff;
  text-decoration:none;
  font-family:var(--font-display);
  font-weight:900;
  font-size:1.55rem;
  line-height:.84;
  letter-spacing:-.05em;
  width:max-content;
  margin-bottom:.75rem;
}
.footer-name-wordmark span{display:block;color:inherit}
.footer-name-wordmark span:last-child{font-size:1.06em}
@media(max-width:560px){
  .wordmark.logo-mark.name-wordmark{min-width:124px;font-size:1.38rem}
  .footer-name-wordmark{font-size:1.42rem}
}

/* v23: global leadership hero + AI-native opportunity framing */
.lead-world-hero .hero-copy h1{font-size:clamp(2.8rem,5.15vw,5.15rem);line-height:.98;letter-spacing:-.045em;max-width:860px}
.lead-world-hero .hero-refrain{font-size:clamp(1.45rem,2.35vw,2.25rem);margin-top:.35rem}
.lead-world-hero .hero-support{font-size:clamp(1.02rem,1.45vw,1.2rem);line-height:1.5;max-width:760px}
.ai-native-opportunity{background:linear-gradient(180deg,#f7fbff 0%,#ffffff 100%)}
.ai-native-opportunity .proverb{margin:1.8rem 0 2rem;max-width:1180px;font-size:clamp(1.15rem,2vw,1.55rem)}
.ai-native-opportunity .proof-grid{margin-top:.35rem}
.ai-native-opportunity .actions{margin-top:1.5rem}
@media(max-width:820px){.lead-world-hero .hero-copy h1{font-size:clamp(2.55rem,10.8vw,4rem);line-height:1}.lead-world-hero .hero-support{font-size:1rem}}
@media(max-width:560px){.lead-world-hero .hero-copy h1{font-size:clamp(2.25rem,11.7vw,3.2rem);letter-spacing:-.035em}.lead-world-hero .hero-refrain{font-size:1.35rem}.ai-native-opportunity .proverb{padding:1.05rem 1rem;font-size:1.05rem}}


/* v24 — Toronto to the World and Back Again: practical prosperity + opportunity pathways */
.world-back-home,.world-back-jobs,.vision-world-back{background:#fff}
.world-back-home .section-head,.world-back-jobs .section-head,.vision-world-back .section-head{margin-bottom:1.45rem}
.resident-outcome-strip{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 2rem}.resident-outcome-strip span{padding:.62rem .82rem;border:1px solid var(--line);border-radius:999px;background:#f7fbff;color:var(--navy);font-weight:850;font-size:.9rem}
.world-back-proof{align-items:start}.world-back-proof h3,.world-back-jobs h3,.vision-world-back h3{font-size:clamp(1.45rem,2.5vw,2.05rem);color:var(--navy);margin:.2rem 0 .7rem}
.global-cycle{display:flex;flex-direction:column;gap:.6rem;padding:1.35rem;border-radius:24px;background:#071a3d;color:#fff;box-shadow:var(--shadow-soft)}.global-cycle span{display:block;padding:.86rem 1rem;border-radius:14px;background:rgba(255,255,255,.09);font-weight:900;line-height:1.25}.global-cycle span:first-child,.global-cycle span:last-child{background:#dff5da;color:#123818}.global-cycle i{font-style:normal;text-align:center;color:#9fef95;font-size:1.25rem;font-weight:900}.compact-cycle{gap:.52rem}.compact-cycle span{font-size:.92rem;letter-spacing:.015em}
.prosperity-question{margin-top:1.35rem;padding:1.25rem 1.35rem;border-radius:20px;background:#071a3d;color:#fff;display:grid;gap:.8rem}.prosperity-question span{color:#dce8f5;line-height:1.5}.prosperity-question>strong{font-size:clamp(1.35rem,2.6vw,2.1rem);color:#a9efa5;line-height:1.15}
.future-work-home{background:linear-gradient(180deg,#fff,#f7fbff)}.future-work-cloud{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 1.3rem}.future-work-cloud span{padding:.6rem .8rem;border-radius:12px;background:#071a3d;color:#fff;font-weight:850;font-size:.88rem}.future-work-examples{max-width:1050px;color:var(--muted);line-height:1.7}
.opportunity-ladder{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:.45rem;margin:1.4rem 0}.opportunity-ladder article{padding:1rem;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(7,26,61,.045)}.opportunity-ladder article>span,.learning-earning-grid article>span{display:block;color:var(--green-dark);font-size:.75rem;font-weight:950;letter-spacing:.09em}.opportunity-ladder strong,.learning-earning-grid strong{display:block;color:var(--navy);font-size:1.08rem;margin:.25rem 0}.opportunity-ladder p,.learning-earning-grid p{color:var(--muted);font-size:.88rem;line-height:1.5;margin:0}.opportunity-ladder>i{align-self:center;font-style:normal;color:var(--green-dark);font-size:1.3rem;font-weight:950;transform:rotate(-90deg)}
.future-worker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.future-worker-grid article{padding:1rem 1.05rem;border-left:4px solid var(--green);border-radius:0 14px 14px 0;background:#f7fbff;color:var(--navy);font-weight:760;line-height:1.45}
.repeat-line{text-align:center;margin:1.25rem 0 0;color:var(--navy);font-size:1.2rem}.people-advantage-grid{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}.people-advantage-grid span{padding:.58rem .75rem;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--navy);font-weight:850;font-size:.86rem}.human-questions{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1.2rem 0}.human-questions strong{padding:1rem;border-radius:16px;background:#071a3d;color:#fff;line-height:1.3}
.learning-earning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.learning-earning-grid article{padding:1.15rem;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(7,26,61,.045)}.real-outcomes{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin:1.3rem 0}.real-outcomes span{padding:.9rem;border-radius:14px;background:#071a3d;color:#fff;font-weight:950;text-align:center;letter-spacing:.035em}.project-six-future{background:linear-gradient(180deg,#fff,#f5faff)}
.region-equation{margin:1.3rem 0;padding:1.1rem 1.25rem;border-radius:18px;background:#071a3d;color:#fff;text-align:center;font-size:clamp(1rem,2vw,1.25rem);font-weight:900;line-height:1.55}.compact-proof{margin-top:1.3rem}
.discipline-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.discipline-grid span{padding:1rem;border-radius:16px;background:#fff;border:1px solid var(--line);color:var(--navy);font-weight:780;line-height:1.42}.manifesto-lines{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.35rem}.manifesto-lines strong{padding:.72rem .95rem;border-radius:999px;background:#071a3d;color:#fff;font-size:.9rem;letter-spacing:.045em}
.toronto-leads-manifesto{background:#071a3d;color:#fff}.toronto-leads-manifesto .eyebrow{color:#a9efa5}.toronto-leads-manifesto h2{color:#fff;font-size:clamp(2.2rem,5vw,4.6rem);max-width:1050px}.toronto-leads-manifesto h3{color:#a9efa5;font-size:clamp(1.5rem,3vw,2.5rem)}.toronto-leads-manifesto p{color:#e5edf7}.leadership-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1.5rem 0}.leadership-results span{padding:.95rem 1rem;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:rgba(255,255,255,.07);font-weight:760;line-height:1.4}.manifesto-stack{display:grid;gap:.45rem;margin:1.6rem 0}.manifesto-stack strong{font-size:clamp(1.15rem,2.7vw,2rem);line-height:1.15;color:#fff;letter-spacing:.01em}.manifesto-stack strong:last-child{color:#a9efa5}.manifesto-close{display:grid;gap:.35rem;margin-top:1.5rem!important}.manifesto-close span{font-size:1.1rem}.manifesto-close strong{font-size:clamp(1.5rem,3vw,2.6rem);color:#a9efa5;line-height:1.15}
@media(max-width:1100px){.opportunity-ladder{grid-template-columns:repeat(3,1fr);gap:.7rem}.opportunity-ladder>i{display:none}.future-worker-grid{grid-template-columns:repeat(2,1fr)}.discipline-grid{grid-template-columns:repeat(2,1fr)}.leadership-results{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.opportunity-ladder,.future-worker-grid,.learning-earning-grid,.real-outcomes,.human-questions,.discipline-grid,.leadership-results{grid-template-columns:1fr}.global-cycle{margin-top:.6rem}.resident-outcome-strip{gap:.45rem}.resident-outcome-strip span{font-size:.82rem}.future-work-cloud span{font-size:.82rem}.manifesto-lines{display:grid;grid-template-columns:1fr}.manifesto-lines strong{text-align:center}.toronto-leads-manifesto h2{font-size:clamp(2.15rem,10vw,3.4rem)}}

/* v25 — More Housing. Same Toronto. + Connected Housing Network */
.photo-card,.wide-photo{margin:0}.photo-card img,.wide-photo img{display:block;width:100%;height:auto}.photo-card{border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 18px 46px rgba(7,26,61,.1)}.photo-card figcaption,.wide-photo figcaption{padding:.72rem .9rem;color:#526174;font-size:.8rem;line-height:1.45;background:#fff}.wide-photo{margin:1.35rem 0;border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:0 16px 42px rgba(7,26,61,.08)}.wide-photo img{aspect-ratio:16/9;object-fit:cover}.housing-lines{margin-top:1rem}.housing-lines strong{background:var(--navy)}
.home-housing-principle{background:linear-gradient(180deg,#fff,#f6fbf5)}.home-housing-principle .photo-card img{aspect-ratio:16/9;object-fit:cover}.opportunity-photo-split{align-items:center;margin:1.25rem 0 1.6rem}.opportunity-photo-split .proverb{margin:0}.opportunity-photo-split .photo-card img{aspect-ratio:16/9;object-fit:cover}.future-work-visual{align-items:center}.future-work-visual .photo-card img{aspect-ratio:16/9;object-fit:cover}

.page-hero.housing-v25-hero,.page-hero.gigacity-v25-hero{background:linear-gradient(135deg,#f7fbff 0%,#f0f8ee 58%,#fff 100%)!important;color:var(--ink)!important}.page-hero.housing-v25-hero h1,.page-hero.gigacity-v25-hero h1{color:var(--navy)!important}.page-hero.housing-v25-hero .lede,.page-hero.gigacity-v25-hero .lede{color:#3e5068!important}.page-hero.housing-v25-hero .crumbs,.page-hero.housing-v25-hero .crumbs a,.page-hero.gigacity-v25-hero .crumbs,.page-hero.gigacity-v25-hero .crumbs a{color:#53657b!important}.page-hero.housing-v25-hero .eyebrow,.page-hero.gigacity-v25-hero .eyebrow{color:var(--green-dark)!important}.v25-hero-photo{margin-top:1.7rem}.v25-hero-photo img{max-height:620px;object-position:center 58%}

.housing-opportunity-grid,.housing-tool-grid,.numbered-action-grid,.housing-metric-grid,.land-inventory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.housing-opportunity-grid article,.housing-tool-grid article,.housing-metric-grid article,.land-inventory-grid article{display:flex;flex-direction:column;gap:.35rem;min-height:150px;padding:1rem 1.05rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(7,26,61,.045)}.housing-opportunity-grid strong,.housing-tool-grid strong,.housing-metric-grid strong,.land-inventory-grid strong{color:var(--navy);font-size:1.02rem}.housing-opportunity-grid span,.housing-tool-grid span,.housing-metric-grid span,.land-inventory-grid span{color:var(--muted);line-height:1.48}.housing-choice-stack{display:grid;gap:.65rem}.housing-choice-stack span{padding:.9rem 1rem;border-radius:15px;background:#071a3d;color:#fff;font-weight:850;border-left:5px solid var(--green)}.complete-community-grid{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0}.complete-community-grid span,.quality-pill-row span{padding:.62rem .78rem;border-radius:999px;background:#eff7ed;border:1px solid #d4e7cf;color:var(--navy);font-weight:850;font-size:.86rem}.strategy-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem}.strategy-cards article{padding:1.05rem;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(7,26,61,.045)}.strategy-cards strong{color:var(--green-dark);font-size:.82rem;letter-spacing:.055em}.strategy-cards p{margin:.5rem 0 0;color:var(--muted);line-height:1.48}.connected-housing-teaser{background:linear-gradient(135deg,#071a3d,#0b356a);color:#fff}.connected-housing-teaser h2,.connected-housing-teaser .section-head>p,.connected-housing-teaser p{color:#fff}.connected-housing-teaser .eyebrow{color:#a9efa5}.connected-housing-teaser .btn.dark{background:#fff;color:var(--navy)}.connected-housing-teaser .dark-outline{border-color:#fff;color:#fff;background:transparent}.housing-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin:1.2rem 0}.housing-time-grid article{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem;border-radius:18px;background:#fff;border:1px solid var(--line);color:var(--navy)}.housing-time-grid article>span{font-weight:900}.housing-time-grid article>strong{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1;color:var(--green-dark)}.housing-time-grid small{color:#5c6c7f;line-height:1.4}.connected-housing-teaser .housing-time-grid article{border-color:rgba(255,255,255,.12)}.two-line-promise{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.35rem 0}.two-line-promise strong{padding:.7rem .9rem;border-radius:999px;background:var(--navy);color:#fff;font-size:.86rem;letter-spacing:.035em}.connected-housing-teaser .two-line-promise strong{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14)}.quality-pill-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0}.numbered-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.numbered-action-grid article{position:relative;padding:1.15rem 1.15rem 1.15rem 4.35rem;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(7,26,61,.045)}.numbered-action-grid article>span{position:absolute;left:1rem;top:1rem;display:grid;place-items:center;width:2.55rem;height:2.55rem;border-radius:50%;background:var(--navy);color:#fff;font-weight:950}.numbered-action-grid strong{display:block;color:var(--navy);font-size:1.02rem}.numbered-action-grid p{margin:.38rem 0 0;color:var(--muted);line-height:1.5}.housing-closing,.gigacity-closing{background:linear-gradient(180deg,#f7fbff,#eff8ed)}.housing-final-measure{font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.42;color:var(--navy)}

.hero-stat-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1.4rem 0}.hero-stat-row>div{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.05rem;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(7,26,61,.05)}.hero-stat-row strong{font-size:clamp(1.55rem,3vw,2.6rem);color:var(--navy);line-height:1}.hero-stat-row span{color:#55677c;line-height:1.45;font-size:.88rem}.connected-network-section{background:#071a3d;color:#fff}.connected-network-section h2,.connected-network-section .section-head>p,.connected-network-section p{color:#fff}.connected-network-section .eyebrow{color:#a9efa5}.network-total{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap;padding:1rem 1.1rem;margin:0 0 1rem;border-radius:18px;background:#fff;color:var(--navy)}.network-total>span{font-size:.8rem;font-weight:950;letter-spacing:.09em}.network-total>strong{font-size:clamp(2.5rem,6vw,5rem);line-height:.85;color:var(--green-dark)}.network-total>small{max-width:620px;color:#55677c;line-height:1.4}.connected-housing-network{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(210px,.55fr) minmax(0,1fr);grid-template-areas:"north north north" "west toronto east";gap:1rem;padding:1rem;border-radius:26px;background:linear-gradient(145deg,#0c2d5d,#082248);border:1px solid rgba(255,255,255,.16);box-shadow:0 25px 70px rgba(0,0,0,.22)}.axis-card{position:relative;padding:1rem;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13)}.axis-label{display:block;margin-bottom:.75rem;color:#a9efa5;font-size:.72rem;font-weight:950;letter-spacing:.1em}.network-north{grid-area:north}.north-node-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.network-west{grid-area:west}.network-east{grid-area:east}.network-west,.network-east{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:.45rem}.network-west article,.network-east article,.north-node-grid article{padding:.85rem;border-radius:14px;background:#fff;color:var(--navy)}.network-west article,.network-east article{display:flex;flex-direction:column}.network-west article strong,.network-east article strong,.north-node-grid strong{font-size:.92rem;color:var(--navy)}.network-west article b,.network-east article b,.north-node-grid b{display:block;margin:.2rem 0;color:var(--green-dark);font-size:1.35rem}.network-west small,.network-east small,.north-node-grid small{color:#5b6b7e;line-height:1.35}.network-west i,.network-east i{align-self:center;font-style:normal;color:#a9efa5;font-size:1.25rem;font-weight:950}.network-toronto{grid-area:toronto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.1rem;border-radius:20px;background:#dff5da;color:var(--navy);box-shadow:0 12px 32px rgba(0,0,0,.16)}.network-toronto>span{font-size:.86rem;font-weight:950;letter-spacing:.12em}.network-toronto>strong{font-size:clamp(2.5rem,5vw,4.4rem);line-height:.9;color:var(--green-dark);margin:.35rem 0}.network-toronto>b{font-size:.86rem;line-height:1.35}.network-toronto>small{margin-top:.55rem;color:#405647;line-height:1.4}.continuation{justify-content:center}.network-caption{margin:1rem 0 0!important;color:#dfe9f4!important;line-height:1.6}.big-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.big-stat-grid article{padding:1.05rem;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(7,26,61,.045)}.big-stat-grid article>span{display:block;color:var(--green-dark);font-size:.78rem;font-weight:950;letter-spacing:.08em}.big-stat-grid article>strong{display:block;margin:.35rem 0;font-size:clamp(1.45rem,3vw,2.4rem);color:var(--navy);line-height:1}.big-stat-grid p{margin:0;color:var(--muted);line-height:1.48}.map-question-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1.2rem 0}.map-question-grid strong{padding:1rem;border-radius:15px;background:var(--navy);color:#fff;text-align:center;font-size:.9rem;letter-spacing:.045em}

.rail-housing-reach{background:linear-gradient(135deg,#eef7ff,#f7fbf6)}.housing-time-grid.detailed{grid-template-columns:repeat(5,minmax(0,1fr))}.reach-purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.reach-purpose-grid article{padding:1.25rem;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 28px rgba(7,26,61,.05)}.reach-purpose-grid article>span{display:block;color:var(--green-dark);font-size:.76rem;font-weight:950;letter-spacing:.08em}.reach-purpose-grid h3{margin:.45rem 0 .6rem;color:var(--navy);font-size:1.35rem}.reach-purpose-grid p{margin:0;color:var(--muted);line-height:1.55}.jobs-build-photo,.future-work-photo{margin:1.4rem 0 1.6rem}

@media(max-width:1120px){.housing-opportunity-grid,.housing-tool-grid,.housing-metric-grid,.land-inventory-grid,.big-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.strategy-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.housing-time-grid,.housing-time-grid.detailed{grid-template-columns:repeat(2,minmax(0,1fr))}.connected-housing-network{grid-template-columns:1fr;grid-template-areas:"north" "toronto" "west" "east"}.network-west,.network-east{grid-template-columns:1fr auto 1fr auto 1fr}.north-node-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.hero-stat-row,.numbered-action-grid,.reach-purpose-grid,.housing-opportunity-grid,.housing-tool-grid,.housing-metric-grid,.land-inventory-grid,.big-stat-grid,.map-question-grid{grid-template-columns:1fr}.strategy-cards{grid-template-columns:1fr}.housing-time-grid,.housing-time-grid.detailed{grid-template-columns:1fr}.connected-housing-network{padding:.7rem}.network-west,.network-east{grid-template-columns:1fr}.network-west i,.network-east i{transform:rotate(90deg);text-align:center}.north-node-grid{grid-template-columns:1fr}.network-total{align-items:flex-start;flex-direction:column}.two-line-promise{display:grid;grid-template-columns:1fr}.two-line-promise strong{text-align:center}.wide-photo,.photo-card{border-radius:18px}.v25-hero-photo{margin-inline:-.6rem;border-radius:0}.housing-lines{display:grid!important;grid-template-columns:1fr!important}.housing-lines strong{text-align:center}.future-work-visual .photo-card{order:-1}}

/* v26 GigaCity visual refresh */
.gigacity-top-stats strong{color:var(--green-dark)}
.gigacity-map-section{background:#071a3d;color:#fff}
.gigacity-map-section h2,.gigacity-map-section .section-head>p,.gigacity-map-section p{color:#fff}
.gigacity-map-section .eyebrow{color:#a9efa5}
.network-total-v26{margin-bottom:1.2rem}
.gigacity-map-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:1rem;align-items:start}
.network-map-card{margin:0;padding:.9rem;border-radius:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);box-shadow:0 25px 70px rgba(0,0,0,.22)}
.network-map-card img{display:block;width:100%;height:auto;border-radius:18px;background:#fff}
.network-map-card figcaption{margin-top:.8rem;color:#dfe9f4;font-size:.95rem;line-height:1.5}
.network-side-cards{display:grid;gap:.85rem}
.network-side-cards article{padding:1.05rem 1.1rem;border-radius:18px;background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:0 8px 24px rgba(7,26,61,.05)}
.network-side-cards span{display:block;color:var(--green-dark);font-size:.78rem;font-weight:950;letter-spacing:.08em}
.network-side-cards strong{display:block;margin:.35rem 0;font-size:1.55rem;line-height:1.1;color:var(--navy)}
.network-side-cards p{margin:0;color:var(--muted)!important;line-height:1.48}
.gigacity-time-grid article small b{display:block;margin-bottom:.22rem;color:var(--navy)}
.gigacity-direction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
.gigacity-direction-grid article{padding:1.1rem;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(7,26,61,.045)}
.gigacity-direction-grid strong{display:block;margin-bottom:.45rem;color:var(--green-dark);font-size:.88rem;letter-spacing:.055em}
.gigacity-direction-grid p{margin:0;color:var(--muted);line-height:1.5}
.build-together-split{align-items:center}
.gigacity-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.gigacity-measure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1120px){.gigacity-map-layout,.build-together-split{grid-template-columns:1fr}.gigacity-direction-grid,.gigacity-measure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.gigacity-direction-grid,.gigacity-measure-grid,.gigacity-action-grid{grid-template-columns:1fr}.network-map-card{padding:.7rem}}

/* Campaign identity: original site navigation with current Jamie Atkinson logo. */
.site-header .wordmark.logo-mark{min-width:150px;flex:0 0 auto}
.site-header .wordmark.logo-mark img{display:block;width:150px;height:auto}
.footer .wordmark.logo-mark{display:inline-flex;background:#fff;border-radius:12px;padding:.45rem .6rem;width:max-content;margin-bottom:.8rem}
.footer .wordmark.logo-mark img{display:block;width:168px;height:auto}
.home-hero-actions{flex-wrap:wrap}
@media(max-width:560px){.site-header .wordmark.logo-mark img{width:126px}.site-header .wordmark.logo-mark{min-width:126px}.footer .wordmark.logo-mark img{width:150px}}

/* v27.4 — simplified campaign header and light, high-contrast homepage hero */
.clean-campaign-header{
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #dfe6ec;
  box-shadow:0 4px 18px rgba(7,26,61,.055);
}
.clean-campaign-header .nav-shell{min-height:78px;gap:1.25rem}
.clean-campaign-header .wordmark.logo-mark{min-width:170px}
.clean-campaign-header .wordmark.logo-mark img{width:170px;height:auto}
.clean-main-nav{gap:.18rem}
.clean-main-nav a{
  font-size:.88rem!important;
  font-weight:900;
  color:#1d3150;
  padding:.62rem .66rem;
  border-radius:10px;
}
.clean-main-nav a:hover,.clean-main-nav a.active,.clean-main-nav a[aria-current=page]{
  background:#f2f7f0;
  color:#071a3d;
  box-shadow:inset 0 -3px 0 var(--green);
}
.clean-campaign-header .nav-actions{gap:.55rem}
.clean-campaign-header .language-link{background:#fff}
.clean-campaign-header .btn.primary.small{padding:.62rem .9rem;min-height:42px}
.clean-evidence-strip{background:#f8fafb;border-bottom:1px solid #e3e9ee}
.clean-evidence-strip .container{min-height:36px;padding-block:.28rem;font-size:.78rem!important}

.clean-home-hero{
  min-height:0;
  background:
    radial-gradient(circle at 86% 15%,rgba(73,187,67,.13),transparent 27%),
    radial-gradient(circle at 7% 88%,rgba(34,100,170,.08),transparent 32%),
    linear-gradient(135deg,#fbfdfb 0%,#f5f9fc 58%,#edf5ef 100%);
  color:#071a3d;
  border-bottom:1px solid #dce6e1;
}
.clean-home-hero::before,.clean-home-hero::after{display:none!important}
.clean-home-hero .hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr);
  gap:clamp(2.2rem,5vw,5rem);
  min-height:650px;
  align-items:center;
  padding:clamp(3.6rem,6vw,5.6rem) 0 0;
}
.clean-home-hero .hero-copy{
  max-width:790px;
  padding:0 0 clamp(3rem,6vw,5rem);
  color:#071a3d;
}
.clean-home-hero .hero-kicker{color:#216f2c;font-size:.78rem!important;letter-spacing:.11em}
.clean-home-hero .hero-copy h1{
  color:#071a3d;
  max-width:830px;
  margin:.5rem 0 .72rem;
  font-size:clamp(3.15rem,6.3vw,6.25rem);
  line-height:.92;
  letter-spacing:-.055em;
}
.clean-home-hero .hero-refrain{
  margin:.25rem 0 .9rem;
  color:#185d28!important;
  font-size:clamp(1.45rem,2.4vw,2.25rem)!important;
  line-height:1.15;
}
.clean-home-hero .hero-support{
  max-width:750px;
  margin:.8rem 0 0;
  color:#2f435c!important;
  font-size:clamp(1.02rem,1.35vw,1.18rem)!important;
  line-height:1.58!important;
}
.clean-home-hero .home-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;margin-top:1.45rem}
.clean-home-hero .home-hero-actions .btn{font-size:.9rem!important;min-height:46px;padding:.7rem .95rem}
.clean-home-hero .hero-text-link{
  display:inline-flex;
  align-items:center;
  min-height:46px;
  padding:.65rem .25rem;
  color:#0b3e75;
  font-weight:950;
  text-decoration:none;
  border-bottom:2px solid #9bc5ef;
}
.clean-home-hero .hero-text-link:hover{color:#071a3d;border-bottom-color:var(--green-dark)}
.clean-home-hero .hero-micro{
  margin:1.2rem 0 0;
  color:#53677f;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.clean-home-hero .hero-photo-wrap{
  display:flex;
  align-self:end;
  justify-content:center;
  position:relative;
  width:min(100%,480px);
  margin-left:auto;
  overflow:visible;
  background:transparent;
}
.clean-home-hero .hero-photo-wrap::before{
  content:"";
  position:absolute;
  inset:13% -4% 0 8%;
  background:linear-gradient(165deg,#dcecf5,#dcefdc);
  border-radius:48% 48% 0 0/32% 32% 0 0;
  z-index:0;
}
.clean-home-hero .hero-photo-wrap::after{
  content:"TORONTO LEADS AGAIN";
  right:-.2rem;
  bottom:4.4rem;
  background:#071a3d;
  color:#fff;
  padding:.48rem .72rem;
  border-radius:999px;
  font-size:.7rem!important;
  font-weight:950;
  letter-spacing:.08em;
  box-shadow:0 10px 28px rgba(7,26,61,.16);
}
.clean-home-hero .hero-photo{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  max-width:445px;
  height:auto;
  object-fit:contain;
  object-position:50% 8%;
  background:transparent;
  border:0;
}
.clean-home-hero + .action-rail{margin-top:0}

@media(max-width:1120px){
  .clean-campaign-header .nav-shell{gap:.75rem}
  .clean-campaign-header .wordmark.logo-mark{min-width:145px}
  .clean-campaign-header .wordmark.logo-mark img{width:145px}
  .clean-main-nav a{font-size:.82rem!important;padding:.55rem .48rem}
  .clean-home-hero .hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);gap:2rem}
}
@media(max-width:860px){
  .clean-campaign-header .nav-shell{min-height:68px}
  .clean-home-hero .hero-grid{grid-template-columns:1fr;min-height:0;padding:2.6rem 0 0;gap:1rem}
  .clean-home-hero .hero-copy{padding:0;max-width:760px}
  .clean-home-hero .hero-copy h1{font-size:clamp(3rem,11vw,5rem)}
  .clean-home-hero .hero-photo-wrap{width:min(82%,430px);margin:0 auto}
  .clean-home-hero .hero-photo-wrap::after{bottom:2rem;right:-.6rem}
}
@media(max-width:560px){
  .clean-campaign-header .wordmark.logo-mark img{width:132px}
  .clean-home-hero .hero-grid{padding-top:2rem}
  .clean-home-hero .hero-copy h1{font-size:clamp(2.6rem,12vw,3.8rem);line-height:.96}
  .clean-home-hero .hero-support{font-size:1rem!important}
  .clean-home-hero .home-hero-actions{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
  .clean-home-hero .home-hero-actions .btn{width:100%;justify-content:center}
  .clean-home-hero .hero-text-link{grid-column:1/-1;justify-self:start;min-height:40px}
  .clean-home-hero .hero-photo-wrap{width:min(90%,340px)}
  .clean-home-hero .hero-photo-wrap::after{display:none}
  .clean-evidence-strip .container{font-size:.82rem!important}
}

/* Mayormania homepage arcade feature */
.mayormania-home-section{
  background:#071021;
  color:#eef6ff;
  overflow:hidden;
  border-block:1px solid #1e3551;
}
.mayormania-home-section .container{padding-block:clamp(3.5rem,7vw,6rem)}
.mayormania-shell{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(460px,1.28fr);
  gap:clamp(2rem,5vw,4.5rem);
  align-items:center;
}
.mayormania-copy .eyebrow{color:#b5f16c}
.mayormania-logo{
  margin:.2rem 0 .8rem;
  color:#fff;
  font-size:clamp(2.9rem,6vw,5.7rem)!important;
  line-height:.88!important;
  letter-spacing:-.075em;
  font-weight:1000;
  font-style:italic;
}
.mayormania-logo span{color:#b0ed62}
.mayormania-copy h2{
  margin:.4rem 0 1rem;
  color:#fff;
  max-width:690px;
  font-size:clamp(1.75rem,3.2vw,3.15rem);
  line-height:1.04;
  letter-spacing:-.035em;
}
.mayormania-copy>p:not(.mayormania-logo):not(.mayormania-note){color:#c6d5e6;max-width:680px;font-size:1.04rem;line-height:1.65}
.mayormania-note{color:#97abc2;font-size:.78rem!important;font-weight:900;letter-spacing:.055em;text-transform:uppercase;line-height:1.5!important}
.mayormania-home-section .actions{margin-top:1.35rem;display:flex;flex-wrap:wrap;gap:.7rem}
.mayormania-home-section .mayormania-play-button{border:0;background:#b0ed62;color:#102015}
.mayormania-home-section .mayormania-play-button:hover{background:#c5f58b;color:#07150b}
.mayormania-home-section .mayormania-outline{border-color:#7188a3;color:#fff;background:transparent}
.mayormania-home-section .mayormania-outline:hover{border-color:#b0ed62;color:#b0ed62;background:#0c1b32}
.mayormania-stage{
  min-width:0;
  border:1px solid #49647e;
  border-radius:18px;
  overflow:hidden;
  background:#050a13;
  box-shadow:0 30px 80px rgba(0,0,0,.34);
}
.mayormania-preview{position:relative;aspect-ratio:16/9;background:#091326;overflow:hidden}
.mayormania-preview img{display:block;width:100%;height:100%;object-fit:cover;image-rendering:auto}
.mayormania-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,10,24,.05),rgba(3,8,18,.72))}
.mayormania-preview-overlay{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.5rem;text-shadow:0 3px 18px #000}
.mayormania-preview-overlay span{font-size:.7rem;font-weight:950;letter-spacing:.18em;color:#d5e3f2}
.mayormania-preview-overlay strong{margin:.35rem 0 1rem;font-size:clamp(2rem,5vw,4.8rem);font-style:italic;letter-spacing:-.05em;color:#fff}
.mayormania-preview-overlay button{width:76px;height:76px;border-radius:50%;border:2px solid #d5ff9f;background:#b0ed62;color:#0b1a11;font-size:1.6rem;cursor:pointer;box-shadow:0 12px 40px rgba(0,0,0,.34)}
.mayormania-preview-overlay button:hover{transform:scale(1.05);background:#c9f99a}
.mayormania-stage iframe{display:block;width:100%;height:min(760px,67vw);min-height:590px;border:0;background:#070b16}
.mayormania-noscript{max-width:1200px;margin:0 auto;color:#fff}.mayormania-noscript a{color:#b0ed62}
@media(max-width:980px){.mayormania-shell{grid-template-columns:1fr}.mayormania-copy{max-width:760px}.mayormania-stage iframe{height:760px;min-height:0}}
@media(max-width:620px){.mayormania-home-section .container{padding-block:3rem}.mayormania-logo{font-size:clamp(2.7rem,16vw,4.4rem)!important}.mayormania-stage{border-radius:10px}.mayormania-stage iframe{height:690px}.mayormania-preview-overlay button{width:64px;height:64px}.mayormania-home-section .actions{display:grid;grid-template-columns:1fr}.mayormania-home-section .actions .btn{justify-content:center;width:100%}}
