@font-face{font-family:Space;src:url(/fonts/SpaceGrotesk.ttf)format("truetype");font-weight:300 700;font-display:swap}:root{color:#163a30;--muted:#53695e;--line:#d9dfd1;--paper:#fffdf6;background:#f5f3e9;font-family:Space,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}a:hover{color:#146c4c}button,input{font:inherit}button{cursor:pointer}a,button{touch-action:manipulation}:focus-visible{outline-offset:4px;outline:3px solid #3576b1}.skip{z-index:10;background:#fff;padding:15px;position:absolute;top:-100px;left:20px}.skip:focus{top:10px}.header{border-bottom:1px solid var(--line)}.header-inner{justify-content:space-between;align-items:center;gap:20px;max-width:1240px;margin:auto;padding:22px 32px;display:flex}.brand{letter-spacing:-1.6px;align-items:center;gap:10px;font-size:30px;font-weight:700;text-decoration:none;display:flex}.brand svg{width:36px;height:36px}.brand-dot{color:#ba8b20}.nav{align-items:center;gap:22px;font-size:14px;display:flex}.nav a{text-decoration:none}main{max-width:1240px;min-height:65vh;margin:auto;padding:36px 32px 70px}.footer{border-top:1px solid var(--line);max-width:1176px;color:var(--muted);justify-content:space-between;gap:20px;margin:0 auto;padding:28px 0 40px;font-size:12px;display:flex}.footer p{margin:0 0 8px}.footer-links{flex-wrap:wrap;align-items:start;gap:12px 20px;display:flex}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.055em;margin-bottom:20px;font-size:clamp(44px,6vw,78px);font-weight:600;line-height:1.03}h2{letter-spacing:-1px;margin-bottom:16px;font-size:28px;font-weight:600;line-height:1.15}h3{letter-spacing:-.5px;font-size:20px;font-weight:600}.eyebrow{text-transform:uppercase;letter-spacing:1.6px;color:var(--muted);margin:0 0 18px;font-size:11px;font-weight:600}.muted{color:var(--muted)}.lead{max-width:640px;color:var(--muted);font-size:17px;line-height:1.65}.hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:60px;padding:32px 0 50px;display:grid}.hero h1 span{color:#6e8b62}.hero-art{background:#e7ebdf;border-radius:38px;place-items:center;min-height:360px;display:grid;position:relative;overflow:hidden}.hero-art img{object-fit:contain;opacity:.85;width:85%;height:300px}.art-label{color:var(--muted);font-size:12px;position:absolute;bottom:24px;left:26px}.art-note{background:var(--paper);border-radius:50px;padding:9px 13px;font-size:12px;position:absolute;top:25px;right:26px}.search-form label{margin-bottom:8px;font-size:13px;font-weight:600;display:block}.search-box{background:var(--paper);border:1px solid #acbfa9;border-radius:16px;gap:8px;padding:7px;display:flex}.search-box input{width:100%;min-width:0;color:inherit;outline-offset:-3px;background:0 0;border:0;padding:12px;font-size:15px}.button{border:1px solid var(--line);background:var(--paper);color:#163a30;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:10px 17px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.button.primary{color:#fffdf6;background:#163a30;border-color:#163a30}.quick-links{color:var(--muted);flex-wrap:wrap;gap:18px;margin-top:14px;font-size:12px;display:flex}.section-heading{justify-content:space-between;align-items:baseline;gap:20px;margin:34px 0 20px;display:flex}.section-heading h2{margin:0}.section-heading p{color:var(--muted);margin:0;font-size:13px}.cards{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.card{background:var(--paper);border:1px solid #e0e3d7;border-radius:24px;padding:28px}.place-card{flex-direction:column;min-height:220px;text-decoration:none;transition:transform .15s;display:flex}.place-card:hover{transform:translateY(-3px)}.place-card h3{margin:12px 0;font-size:26px}.place-card p{color:var(--muted);font-size:14px;line-height:1.6}.card-bottom{justify-content:space-between;margin-top:auto;font-size:13px;display:flex}.pill{color:#375a42;white-space:nowrap;background:#e9eddf;border-radius:50px;align-items:center;gap:7px;padding:7px 12px;font-size:12px;display:inline-flex}.pill:before{content:"";background:#758c52;border-radius:50%;width:6px;height:6px}.pattern-band{background:url(/pattern-shweshwe.svg) 50%/84px;border-radius:4px;width:84px;height:12px;margin:25px 0}.breadcrumbs{color:var(--muted);flex-wrap:wrap;gap:8px;margin-bottom:30px;font-size:12px;display:flex}.page-top{justify-content:space-between;align-items:center;gap:32px;margin-bottom:28px;display:flex}.page-top h1{font-size:clamp(40px,5vw,64px)}.page-top .lead{max-width:720px;margin-bottom:0}.page-top img{object-fit:contain;width:170px;height:150px}.notice{background:#eeead9;border-left:3px solid #b28b2c;border-radius:0 12px 12px 0;margin:18px 0;padding:13px 17px;font-size:13px;line-height:1.7}.notice p:last-child{margin-bottom:0}.results-layout{grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);align-items:start;gap:22px;display:grid}.result-card{padding:32px}.card-heading{justify-content:space-between;align-items:start;gap:15px;display:flex}.card-heading h2{margin-bottom:8px}.small{color:var(--muted);font-size:12px;line-height:1.65}.tabs{background:#ecefe4;border-radius:12px;gap:5px;width:fit-content;margin:24px 0;padding:4px;display:flex}.tabs a{border-radius:9px;padding:9px 13px;font-size:13px;text-decoration:none}.tabs a[aria-current=page]{background:var(--paper);box-shadow:0 1px 4px #163a3010}.ballot-total{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;margin-bottom:24px;padding-bottom:18px;font-size:12px;display:flex}.ballot-total strong{letter-spacing:-1px;color:#163a30;font-size:28px;font-weight:500}.party-row{grid-template-columns:100px 1fr 94px;align-items:center;gap:14px;margin:20px 0;display:grid}.party-name{overflow-wrap:anywhere;font-size:13px;line-height:1.35}.party-name small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.bar-track{background:#eff0e6;border-radius:6px;height:24px;overflow:hidden}.bar{height:100%;width:var(--share);background:var(--party);border-radius:6px}.party-votes{text-align:right;font-variant-numeric:tabular-nums;font-size:14px}.party-votes small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.chart-key{color:var(--muted);text-transform:uppercase;letter-spacing:.7px;justify-content:space-between;font-size:10px;display:flex}.aside-stack{gap:20px;display:grid}.progress-number{letter-spacing:-3px;margin:20px 0 8px;font-size:56px;line-height:1.1}.progress-track{background:#e4e8da;border-radius:7px;height:7px;margin:20px 0;overflow:hidden}.progress-track span{height:100%;width:var(--share);background:#586da8;display:block}.fact{border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.fact dt{color:var(--muted);margin-bottom:5px}.fact dd{overflow-wrap:anywhere;margin:0;line-height:1.5}.links{flex-wrap:wrap;gap:14px;margin-top:22px;font-size:12px;display:flex}.ward-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.ward-card{border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:20px;text-decoration:none;display:block}.ward-card:hover{border-color:#78916a}.ward-card strong{font-size:19px;font-weight:500;display:block}.ward-card span{color:var(--muted);margin-top:10px;font-size:12px;display:block}.filter{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px;display:flex}.filter input{background:var(--paper);border:1px solid var(--line);border-radius:10px;max-width:130px;padding:11px}.empty{background:#ecefe3;border-radius:20px;padding:35px;line-height:1.7}.map-card img{object-fit:contain;width:100%;height:220px}.map-card figcaption{color:var(--muted);margin-top:10px;font-size:11px;line-height:1.6}details{font-size:13px;line-height:1.75}summary{cursor:pointer;font-weight:600}details ul{padding-left:18px}.coverage-note{max-width:700px;color:var(--muted);margin-top:24px;font-size:13px;line-height:1.7}.scope-card{background:#e5eadb}@media (width<=800px){.hero{gap:25px}.cards{grid-template-columns:1fr 1fr}.results-layout{grid-template-columns:1fr}.aside-stack{grid-template-columns:1fr 1fr}.ward-grid{grid-template-columns:repeat(3,1fr)}.footer{margin:0 24px}.page-top img{width:120px;height:130px}}@media (width<=540px){.header-inner{gap:12px;padding:18px 20px}.brand{font-size:25px}.brand svg{width:28px;height:28px}.nav{gap:14px;font-size:12px}main{padding:27px 20px 45px}.hero{padding:12px 0 25px;display:block}.hero h1{font-size:53px}.hero-art{display:none}.lead{font-size:15px}.cards{grid-template-columns:1fr}.card{padding:23px}.place-card{min-height:180px}.section-heading{display:block}.section-heading p{margin-top:10px}.page-top{gap:10px}.page-top img{align-self:start;width:75px}.page-top h1{font-size:42px}.page-top .eyebrow{font-size:10px}.aside-stack{grid-template-columns:1fr}.party-row{grid-template-columns:75px 1fr 94px;gap:10px}.party-name{font-size:12px}.party-votes{font-size:13px}.bar-track{height:20px}.ward-grid{grid-template-columns:1fr 1fr}.ward-card{padding:17px}.card-heading{flex-wrap:wrap}h2{font-size:25px}.footer{flex-direction:column;margin:0 20px}.page-top .lead{font-size:14px}.ballot-total{gap:15px}.ballot-total strong{font-size:24px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.search-box button{white-space:nowrap;flex-shrink:0}.more-parties{margin:24px 0}.party-movement{color:var(--muted);letter-spacing:0;white-space:nowrap;font-variant-numeric:tabular-nums;vertical-align:middle;margin-left:5px;font-weight:550;line-height:1.6;display:inline-flex;font-size:10px!important}.party-movement--up{color:#346746}.party-movement--down{color:#a44139}.party-movement--missing{color:var(--muted)}.party-votes{white-space:nowrap}.comparison-note{color:var(--muted);margin:12px 0;font-size:10px;line-height:1.65}.comparison-note>span:first-child{color:var(--ink)}.election-history{background:var(--paper);border:1px solid var(--line);border-radius:14px;width:100%;min-width:0;max-width:420px;margin:0;padding:12px 16px;display:block}.election-history--embedded{border:0;border-top:1px solid var(--line);border-radius:0;max-width:none;padding:12px 18px}.history-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.history-heading label{color:var(--muted);font-size:11px;font-weight:500}.history-heading output{font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.election-history input{accent-color:#42634b;cursor:ew-resize;width:100%;min-height:28px;margin:3px 0 0;display:block}.election-history input:disabled{cursor:default}.history-years{justify-content:space-between;gap:2px;display:flex}.history-years a{text-align:center;min-width:30px;min-height:28px;color:var(--muted);border-radius:4px;padding:6px 3px;font-size:10px;text-decoration:none}.history-years a[aria-current]{color:var(--ink);background:#e4eadc;font-weight:600}.history-years a:hover{background:#e2e8db}.history-years a:focus-visible,.election-history input:focus-visible{outline-offset:2px;outline:2px solid #42634b}.election-history>p:not(.sr-only){color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.5}.race-share .party-movement{letter-spacing:0;margin-left:8px}.overview-province-vote>span,.home-metro-result>strong{white-space:nowrap}.overview-mini-bars>div>span:last-child,.ward-vote-bars>div>span:last-child,.overview-province-bars>div>span:last-child{white-space:nowrap;overflow:visible}.overview-mini-bars .party-movement,.ward-vote-bars .party-movement,.overview-province-bars .party-movement{font-size:9px!important}@media (width<=540px){.election-history{padding:12px}.election-history--embedded{padding:12px 16px}}[data-history-current-only][aria-disabled=true]{opacity:.45;pointer-events:none}[data-history-current-only][hidden]{display:none!important}.election-history [data-history-status]{min-height:1.5em}.election-history [data-history-status][hidden]{visibility:hidden;display:block}:root{--ink:#163a30;--muted:#5c715f;--line:#dce2d2;--paper:#fffdf5;--sage:#e7eddb;--indigo:#587994;--radius-surface:20px;--radius-control:12px;--radius-detail:6px}body{color:var(--ink);background:#f5f3e9}.header{isolation:isolate;background:0 0;border:0;position:relative}.header-inner{gap:24px;min-height:98px;padding:20px 32px}.nav{gap:5px;font-size:12px}.header-inner>.nav{margin-left:auto}.nav>a{border-radius:var(--radius-control);white-space:nowrap;background:#f5f3e999;padding:10px 14px;font-weight:550;transition:background .16s}.nav>a:hover{background:#e9eddf}.nav>a.active{color:var(--ink);background:#e4ebd8}main{padding-top:30px;padding-bottom:64px}h1{letter-spacing:-.052em;font-size:clamp(44px,5.2vw,68px);font-weight:550}h2{letter-spacing:-.8px;font-size:26px;font-weight:550}.eyebrow{letter-spacing:1.4px;font-size:10px;line-height:1.6}.lead{font-size:15px;line-height:1.7}.button{border-radius:var(--radius-control);box-shadow:none;padding:11px 16px;font-size:12px;transition:background .16s,border-color .16s}.button:hover{background:#edf1e5;border-color:#b9c8af}.button.primary:hover{color:#fffdf5;background:#24513e;border-color:#24513e}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:58px;min-height:380px;padding:14px 0 35px}.hero-copy{min-width:0}.hero .eyebrow{margin-bottom:20px}.hero h1{margin-bottom:20px;font-size:clamp(48px,5.2vw,70px);line-height:1.04}.hero .lead{margin-bottom:25px}.hero-art{background:0 0;border-radius:0;flex-direction:column;align-items:stretch;min-height:0;margin:0;padding:8px 6px 0;display:flex;position:relative;overflow:visible}.map-caption{color:#64765d;justify-content:space-between;align-items:center;padding:0 16px;font-size:11px;display:flex}.map-north{letter-spacing:1px;font-size:10px}.hero-art .country-outline{object-fit:contain;opacity:1;width:100%;height:320px;margin:6px 0}.hero-art figcaption{color:#64765d;justify-content:center;align-items:center;gap:12px;font-size:10px;line-height:1.5;display:flex}.hero-art figcaption strong{border-radius:var(--radius-detail);color:#375c42;background:#e5ecda;padding:6px 10px;font-weight:550}.search-form label{margin-bottom:8px;font-size:11px;font-weight:550}.search-box{border-radius:var(--radius-control);background:#fffdf6;border:1px solid #cbd6c0;gap:5px;padding:5px}.search-box input{min-width:0;padding:12px;font-size:14px}.search-box .button{padding:10px 15px}.quick-links{gap:20px;margin-top:15px;font-size:11px}.quick-links a{text-decoration:none}.quick-links a:hover{text-decoration:underline}.section-heading{margin:30px 0 18px}.section-heading h2{font-size:25px}.section-heading p{color:var(--muted);font-size:12px}.cards{gap:18px}.card{background:var(--paper);border-radius:var(--radius-surface);box-shadow:none;border-color:#e1e5d7;min-width:0;padding:27px}.place-card{border:0;min-height:220px;padding:30px 26px 24px;transition:background .18s,transform .18s;position:relative;overflow:hidden}.place-card:hover{background:#eef2e6;transform:translateY(-2px)}.place-card .eyebrow{margin-bottom:4px;font-size:9px}.place-card h3{letter-spacing:-1px;margin:12px 0 9px;font-size:29px}.place-card p{margin-bottom:24px;font-size:13px;line-height:1.7}.card-bottom{color:#365d43;align-items:center;font-size:11px}.card-bottom>span{background:#e8efdd;border-radius:50%;place-items:center;width:29px;height:29px;font-size:16px;display:grid}.coverage-note{max-width:750px;margin:22px 0 0;font-size:11px;line-height:1.8}.breadcrumbs{gap:10px;margin-bottom:26px;font-size:10px}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.page-top{gap:24px;margin-bottom:30px}.page-top h1{margin-bottom:15px;font-size:clamp(42px,5vw,62px)}.page-top .eyebrow{margin-bottom:13px}.page-top .eyebrow:before{content:"";vertical-align:middle;background:linear-gradient(115deg,#deb251 0 17%,#0000 17% 21%,#cd6d5d 21% 38%,#0000 38% 42%,#5287be 42% 59%,#0000 59% 63%,#347e65 63% 80%,#0000 80% 84%,#263e34 84%);width:55px;height:7px;margin-right:12px;display:inline-block}.page-top .lead{max-width:690px;font-size:14px}.page-top img{opacity:.8;width:145px;height:135px}.results-layout{grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:22px}.result-card{border:0;padding:30px}.card-heading{gap:15px}.card-heading h2{font-size:25px}.card-heading .small{max-width:470px}.small{font-size:11px;line-height:1.75}.pill{border-radius:var(--radius-detail);color:#77612c;background:#eee5cd;padding:6px 9px;font-size:10px;line-height:1.3}.pill:before{background:#a78c49;width:5px;height:5px}.tabs{border-radius:var(--radius-control);background:#edf0e4;gap:4px;margin:22px 0;padding:4px}.tabs a{border-radius:8px;padding:9px 12px;font-size:12px}.tabs a[aria-current=page]{box-shadow:none;color:#163a30}.ballot-total{margin-bottom:22px;padding-bottom:18px;font-size:11px}.ballot-total strong{letter-spacing:-1.5px;font-size:33px;font-weight:550}.chart-key{letter-spacing:.6px;font-size:9px}.party-row{grid-template-columns:92px minmax(0,1fr) 94px;gap:14px;margin:22px 0}.party-name{font-size:13px;font-weight:550}.party-name small{font-size:10px;font-weight:400;line-height:1.5}.party-votes{font-size:16px;font-weight:550}.party-votes small{margin-top:3px;font-size:10px;font-weight:400}.bar-track,.bar{border-radius:5px;height:25px}.bar-track{background:#f0f2e8}.progress-visual{place-items:center;width:170px;height:170px;margin:15px auto 20px;display:grid}.progress-visual svg,.progress-visual .progress-number{grid-area:1/1}.progress-visual svg{width:100%;height:100%}.progress-visual .progress-number{letter-spacing:-2px;color:#375873;margin:0;font-size:43px;font-weight:500}.progress-number>span{letter-spacing:-1px;font-size:20px!important}.fact{border-color:#cdd9d2;padding:11px 0;font-size:11px}.fact:last-child{border-bottom:0}.fact dt{margin-bottom:5px;font-size:10px}.fact dd{color:#315141}.notice{border-radius:var(--radius-control);background:#f3ecd8;border:1px solid #e1d7b7;padding:13px 15px;font-size:11px;line-height:1.7}.scope-card{background:#e7eddb;border:0;padding-bottom:30px;position:relative;overflow:hidden}.scope-card h2{font-size:24px}.scope-card p{font-size:13px;line-height:1.75}.scope-card .button{background:#fffdf5bb}.ward-grid{gap:13px}.ward-card{border-radius:var(--radius-surface);border-color:#e0e5d6;min-width:0;padding:21px;transition:background .16s,border-color .16s}.ward-card:hover{background:#edf2e4;border-color:#acbf9c}.ward-card strong{letter-spacing:-.5px;font-size:21px}.ward-card span{color:#61745b;margin-top:10px;font-size:11px;line-height:1.6}.filter{gap:9px;margin-bottom:20px}.filter label{font-size:11px}.filter input{border-radius:var(--radius-control);border-color:#cbd6c1;width:110px;padding:12px;font-size:12px}.links{gap:16px;font-size:11px;line-height:1.7}.links a{text-underline-offset:4px}.empty{border-radius:var(--radius-surface);background:#e7eddb;margin-top:18px;padding:28px;font-size:14px}.empty h1{font-size:40px}.empty h2{font-size:24px}.footer{border:0;align-items:start;font-size:11px;line-height:1.7;position:relative}.footer strong{letter-spacing:-.7px;color:#234d39;font-size:19px}.footer-links{flex-wrap:wrap;font-size:11px}@media (width<=950px){.header-inner{gap:16px}.hero{gap:30px}.hero h1{font-size:55px}.hero-art .country-outline{height:285px}.results-layout{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr)}.result-card{padding:25px}.party-row{grid-template-columns:74px minmax(0,1fr) 94px;gap:10px}.nav>a{padding:10px 11px}.progress-visual{width:150px;height:150px}.progress-visual .progress-number{font-size:37px}}@media (width<=800px){.results-layout{grid-template-columns:1fr}.aside-stack{grid-template-columns:1fr 1fr;align-items:start}.hero{gap:20px}.hero h1{font-size:49px}.hero-art .country-outline{height:260px}.hero-art figcaption{flex-direction:column;gap:6px}.hero .search-box input{padding:10px;font-size:12px}.hero .search-box .button{padding:10px}.header-inner{padding-inline:22px}.nav>a{padding:9px 10px}.nav{font-size:11px}}@media (width<=540px){.header-inner{flex-wrap:wrap;gap:14px;min-height:106px;padding:18px 20px 0;display:flex}.header-inner>.nav{order:3;margin-left:0}.nav{justify-content:flex-start;gap:10px;width:100%;margin:0;padding:0 0 7px;font-size:11px}.nav>a{background:#f5f3e9a6;padding:8px 12px}main{padding:25px 20px 46px}.hero{flex-direction:column;align-items:stretch;gap:27px;min-height:0;padding:8px 0 16px;display:flex}.hero h1{margin-bottom:17px;font-size:49px}.hero .lead{margin-bottom:23px;font-size:14px}.hero .eyebrow{margin-bottom:18px;font-size:9px}.hero-art{padding:0 10px;display:flex}.map-caption{padding:0;font-size:10px}.hero-art .country-outline{max-width:350px;height:230px;margin:4px auto}.hero-art figcaption{flex-direction:row;gap:9px;font-size:9px}.hero-art figcaption strong{white-space:nowrap;padding:5px 8px}.hero-art figcaption>span{max-width:150px}.search-box input,.hero .search-box input{padding:10px;font-size:13px}.quick-links{gap:16px;margin-top:13px;font-size:10px}.cards{gap:14px}.place-card{min-height:190px;padding:25px 23px 20px}.place-card h3{margin-top:9px;font-size:27px}.place-card p{margin-bottom:18px;font-size:12px}.section-heading{margin:27px 0 16px}.section-heading h2{font-size:24px}.section-heading p{margin-top:9px;font-size:11px;line-height:1.7}.card{padding:23px}.result-card{padding:23px 20px}.card-heading h2{font-size:23px}.card-heading .small{margin-bottom:6px}.card-heading{flex-wrap:wrap;gap:8px}.card-heading .pill{font-size:9px}.page-top{gap:12px;margin-bottom:24px}.page-top h1{font-size:42px}.page-top .lead{font-size:12px}.page-top .eyebrow{letter-spacing:.8px;margin-bottom:12px;font-size:9px}.page-top .eyebrow:before{width:35px;height:6px;margin-right:7px}.page-top img{width:75px;height:90px}.breadcrumbs{gap:7px;margin-bottom:23px;font-size:9px}.tabs{margin:19px 0}.tabs a{padding:9px 11px;font-size:11px}.ballot-total{gap:15px;font-size:10px}.ballot-total strong{font-size:28px}.party-row{grid-template-columns:66px minmax(0,1fr) 94px;gap:9px;margin:20px 0}.party-name{font-size:12px}.party-votes{font-size:14px}.party-name small{font-size:9px}.bar-track,.bar{height:23px}.small{font-size:10px}.aside-stack{grid-template-columns:1fr}.progress-visual{width:155px;height:155px}.progress-visual .progress-number{font-size:40px}.scope-card h2{font-size:24px}.scope-card p{font-size:12px}.ward-grid{gap:10px}.ward-card{min-width:0;padding:18px 15px}.ward-card strong{font-size:19px}.ward-card span{font-size:10px}.filter label{width:100%}.coverage-note{margin-top:20px;font-size:10px}.footer{margin-inline:20px;font-size:10px}.footer-links{gap:15px;font-size:10px}.footer strong{font-size:18px}}@media (width<=360px){.hero h1{font-size:44px}.hero-art{padding-inline:0}.hero-art .country-outline{height:205px}.nav{gap:4px}.nav>a{padding-inline:10px}.page-top h1{font-size:37px}.page-top img{width:62px}.result-card{padding-inline:17px}.party-row{grid-template-columns:57px minmax(0,1fr) 94px;gap:7px}.ward-card{padding:16px 12px}.ward-card strong{font-size:17px}}@media (width<=540px){.party-row{grid-template-columns:minmax(0,1fr) 94px;gap:6px 12px;margin:19px 0}.party-name{overflow-wrap:break-word;grid-column:1/-1;font-size:11px;line-height:1.5}.party-name small{margin-top:2px;font-size:10px}.party-row .bar-track{grid-area:2/1}.party-votes{grid-area:2/2}}@media (prefers-reduced-motion:reduce){.place-card:hover{transform:none}}@media (width>=541px) and (width<=950px){.header-inner{flex-wrap:wrap;gap:14px;padding-bottom:7px}.header-inner>.nav{order:3;width:100%;margin-left:0}}@media (width<=540px){.nav{flex-wrap:wrap;gap:2px}.nav>a{padding:8px 9px;font-size:10px}}html,body{touch-action:pan-x pan-y}@media (width<=760px){input,select,textarea,.search-box input,.hero .search-box input,.filter input{font-size:16px}}:root{--pattern-beadwork:url(/patterns/beadwork.svg);--pattern-shweshwe:url(/patterns/shweshwe.svg);--pattern-shweshwe-ink:url(/patterns/shweshwe-ink.svg);--pattern-bands:url(/patterns/bands.svg)}.header:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(to top, #f5f3e9, transparent 55%), var(--pattern-beadwork) repeat center / 224px 56px;opacity:.34;width:65%;position:absolute;inset:0 0 -20px auto;-webkit-mask-image:linear-gradient(110deg,#0000 3%,#000 85%);mask-image:linear-gradient(110deg,#0000 3%,#000 85%)}.footer{padding-top:54px}.footer:before{content:"";background:var(--pattern-beadwork) repeat-x center / 112px 28px;opacity:.8;pointer-events:none;height:28px;position:absolute;inset:0 0 auto}.place-card:before,.card.council-seats:before,.overview-municipality:before,.coalition-visual-panel:before{content:"";border-radius:inherit;background:var(--pattern-beadwork) repeat-x center / 112px 28px;opacity:.85;pointer-events:none;border-bottom-right-radius:0;border-bottom-left-radius:0;height:28px;position:absolute;inset:0 0 auto}.card.place-card{padding-top:48px}.card.council-seats{padding-top:52px;position:relative}article.overview-municipality{padding-top:48px}.coalition-screen .coalition-visual-panel{padding-top:44px}.highlight-panel.highlight-panel--changes{isolation:isolate;color:#fffdf5;background:#263e63;border-color:#263e63}.highlight-panel--changes:before{content:"";z-index:-1;background:var(--pattern-shweshwe) repeat right center / 64px 64px;opacity:.28;pointer-events:none;width:44%;position:absolute;inset:0 0 0 auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000);mask-image:linear-gradient(90deg,#0000,#000)}.highlight-panel--changes .highlight-big-number{color:#fff3d7}.highlight-panel--changes .highlight-heading>span,.highlight-panel--changes .highlight-empty,.highlight-panel--changes .highlight-change-flow b{color:#f0f3f7}.highlight-panel--changes a:hover{color:#fffdf5;text-decoration:underline}.highlight-panel.highlight-panel--movement{padding-top:46px}.highlight-panel--movement:before{content:"";background:var(--pattern-beadwork) repeat-x center / 112px 28px;opacity:.7;pointer-events:none;height:24px;position:absolute;inset:0 0 auto}.highlight-panel.highlight-panel--race{background:#efe7d7;border-color:#e0d5c1;padding-inline-end:48px}.highlight-panel--race:before{content:"";background:var(--pattern-bands) repeat center / 70px 56px;opacity:.55;pointer-events:none;width:28px;position:absolute;inset:0 0 0 auto}.insight-movers,.insight-seat-changes{isolation:isolate;position:relative}.insight-movers:before,.insight-seat-changes:before{content:"";z-index:-1;border-top-right-radius:inherit;background:var(--pattern-shweshwe-ink) repeat right top / 64px 64px;opacity:.16;pointer-events:none;width:140px;height:100px;position:absolute;inset:0 0 auto auto;-webkit-mask-image:linear-gradient(225deg,#000,#0000 70%);mask-image:linear-gradient(225deg,#000,#0000 70%)}.card.scope-card{padding-bottom:64px}.scope-card:after{content:"";background:var(--pattern-bands) repeat-x center / 80px 64px;opacity:.8;pointer-events:none;height:40px;position:absolute;inset:auto 0 0}.ai-callout:after{content:"";background:var(--pattern-bands) repeat center / 90px 72px;opacity:.85;pointer-events:none;border-radius:0 20px 20px 0;width:72px;position:absolute;inset:0 0 0 auto}@media (width<=700px){.ai-callout:after{border-radius:0 0 20px 20px;width:auto;height:48px;inset:auto 0 0}}@media (width<=540px){.header:before{opacity:.28;background-size:auto,168px 42px;width:82%;bottom:-12px}.footer{padding-top:48px}.card.place-card,.card.council-seats{padding-top:46px}}@media print,(forced-colors:active){.header:before,.footer:before,.place-card:before,.card.council-seats:before,.overview-municipality:before,.coalition-visual-panel:before,.highlight-panel--changes:before,.highlight-panel--movement:before,.highlight-panel--race:before,.insight-movers:before,.insight-seat-changes:before,.scope-card:after,.ai-callout:after{display:none}.highlight-panel.highlight-panel--changes{background:var(--paper);color:var(--ink);border-color:var(--line)}.highlight-panel--changes .highlight-big-number,.highlight-panel--changes .highlight-heading>span,.highlight-panel--changes .highlight-empty,.highlight-panel--changes .highlight-change-flow b{color:inherit}}.party-logo{vertical-align:middle;background:0 0;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.party-logo--small{width:22px;height:22px}.party-logo img{object-fit:contain;width:100%;height:100%;display:block}.party-logo--fallback{background:0 0}.party-logo--fallback:before{content:"";background:#8b9998;border-radius:3px;width:9px;height:9px}.party-identity{align-items:center;gap:8px;min-width:0;display:flex}.party-identity-text{overflow-wrap:anywhere;min-width:0}.party-identity--compact{gap:6px}.party-identity--compact>.party-identity-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overview-leader strong.party-identity{display:flex}.overview-leader strong.party-identity:before{content:none}.ward-card .party-logo,.ward-card .party-identity-text{color:inherit;font:inherit;letter-spacing:inherit;margin:0}.ward-card .party-identity-text{text-align:start}.ward-card .party-identity{align-items:center}.map-party-heading .party-identity{align-self:center}.map-party-heading .map-party-share{flex:none;align-self:center}.card .party-row:has(.party-logo){grid-template-columns:118px minmax(0,1fr) minmax(92px,max-content)}.overview-mini-bars>div:has(.party-logo),.overview-province-bars>div:has(.party-logo){grid-template-columns:88px minmax(0,1fr) 45px}.ward-card .ward-vote-bars>div{grid-template-columns:85px minmax(0,1fr) 40px}@media (width>=541px) and (width<=1050px){.card .party-row:has(.party-logo){grid-template-columns:110px minmax(0,1fr) minmax(85px,max-content)}}@media (width<=540px){.card .party-row:has(.party-logo){grid-template-columns:minmax(0,1fr) minmax(85px,max-content)}}.place-search{width:100%;min-width:0;color:var(--ink)}.place-search-form{margin:0;position:relative}.place-search-control{position:relative}.place-search-scope{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin:0 0 10px;font-size:11px;display:flex}.place-search-scope button{color:var(--ink);font:inherit;text-underline-offset:3px;text-align:left;background:0 0;border:0;min-height:32px;padding:4px 0;text-decoration:underline}.place-search--compact .place-search-submit{min-width:44px;padding-inline:12px}.place-search--compact .place-search-submit-label{display:none}.place-search--compact .place-search-submit>span[aria-hidden]{display:inline}.place-search-field{background:var(--paper);border:1px solid #aaba9f;border-radius:16px;align-items:center;gap:8px;min-height:62px;padding:6px 6px 6px 17px;transition:border-color .16s,box-shadow .16s;display:flex;box-shadow:0 3px 9px #163a3005}.place-search-field:focus-within{border-color:#436b50;box-shadow:0 0 0 4px #75986820,0 4px 16px #163a3008}.place-search-icon{color:#58734f;flex-shrink:0;width:21px;height:21px}.place-search-field input{width:100%;min-width:0;min-height:44px;color:var(--ink);appearance:none;background:0 0;border:0;outline:none;padding:10px 2px;font-size:16px;line-height:1.4}.place-search-field input::placeholder{color:#6a7968;opacity:1}.place-search-field input::-webkit-search-cancel-button{display:none}.place-search-clear,.place-search-back{min-width:44px;min-height:44px;color:var(--ink);font:inherit;background:0 0;border:0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:10px;display:flex}.place-search-clear:hover,.place-search-back:hover{background:var(--sage)}.place-search-clear svg{width:18px;height:18px}.place-search-back svg{width:22px;height:22px}.place-search-submit{flex-shrink:0;gap:12px;min-height:48px;padding-inline:18px}.place-search-hint{color:var(--muted);margin:10px 0 0;font-size:11px;line-height:1.6}.place-search-panel{z-index:40;background:var(--paper);border:1px solid #cbd6c0;border-radius:16px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden;box-shadow:0 14px 36px #163a301c}.place-search-message{color:var(--muted);margin:0;padding:20px;font-size:13px;line-height:1.6}.place-search-options{overscroll-behavior:contain;max-height:min(320px,45dvh);margin:0;padding:6px;list-style:none;overflow-y:auto}.place-search-options:empty{display:none}.place-search-options [role=option]{cursor:pointer;border-radius:10px;align-items:center;gap:13px;min-height:68px;padding:13px;display:flex}.place-search-options [role=option]:hover,.place-search-options [aria-selected=true]{background:var(--sage)}.place-search-options [role=option]>span:last-child{min-width:0}.place-search-options strong{overflow-wrap:anywhere;font-size:14px;font-weight:550;line-height:1.5;display:block}.place-search-secondary{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:12px;line-height:1.5;display:block}.place-search-pin{color:#58734f;background:#edf0e5;border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:38px;display:grid}.place-search-pin:before{content:"";background:currentColor;width:17px;height:20px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") 50%/contain no-repeat}.place-search-attribution{border-top:1px solid var(--line);color:var(--muted);justify-content:flex-end;align-items:center;gap:7px;padding:12px 18px;font-size:10px;display:flex}.google-maps-attribution{letter-spacing:normal;white-space:nowrap;color:#5e5e5e;font-family:Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400}.place-search-dialog{inset:var(--search-viewport-top,0) 0 auto;width:100%;max-width:none;height:var(--search-viewport-height,100dvh);max-height:none;color:var(--ink);overscroll-behavior:contain;background:#f5f3e9;border:0;border-radius:0;margin:0;padding:0;position:fixed;overflow-y:auto}.place-search-dialog::backdrop{background:#f5f3e9}.place-search-dialog-header{z-index:2;padding:calc(14px + env(safe-area-inset-top)) 18px 16px;border-bottom:1px solid var(--line);background:#f5f3e9;align-items:center;gap:18px;display:flex;position:sticky;top:0}.place-search-dialog-header h2{letter-spacing:-.5px;margin:0;font-size:18px}.place-search-back{gap:8px;padding-inline:8px;font-size:13px}.place-search-back span{font-size:22px}.place-search-dialog-content{padding:24px 18px 0}.place-search-dialog .place-search-panel{box-shadow:none;margin-top:16px;position:static}.place-search-dialog .place-search-options{max-height:none}.place-search-dialog .place-search-options [role=option]{min-height:76px}.place-search-dialog .place-search-hint{margin-top:14px}.place-search-directory{margin:0 24px calc(24px + env(safe-area-inset-bottom));padding-block:8px;font-size:12px;display:inline-block}.place-search [hidden]{display:none}.place-search-fallback{border-top:1px solid var(--line);min-height:44px;padding:14px 18px;font-size:12px;display:block}.place-search-dialog .place-search-fallback{display:none}.header-search{flex-shrink:0;width:44px}.header-search-trigger{border:1px solid var(--line);border-radius:var(--radius-control,12px);background:var(--paper);width:44px;height:44px;color:var(--ink);justify-content:center;align-items:center;text-decoration:none;display:flex}.header-search-trigger:hover{background:var(--sage)}.header-search-trigger svg{width:21px;height:21px}.header-search-result{padding:0 18px}.header-search-result [data-address-status]{color:var(--muted);margin:16px 0;font-size:13px;line-height:1.6}.header-search-result [data-address-status]:empty{display:none}.header-search-result .address-google-map{height:280px}.search-header{z-index:50;border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top);background:#f5f3e9;position:sticky;top:0}.search-header-inner{max-width:1044px;margin:auto;padding:14px 32px}.place-search--header .place-search-field{padding-left:6px}.place-search--header .place-search-icon{display:none}.place-search--header .place-search-back{text-decoration:none}.place-search--header .place-search-panel{max-height:var(--search-panel-height,calc(100dvh - 110px));overscroll-behavior:contain;overflow-y:auto}@media (width>=601px){.place-search--dialog .place-search-dialog{border:1px solid var(--line);border-radius:20px;width:min(680px,100% - 48px);height:auto;max-height:84dvh;margin-inline:auto;inset:8vh 0 auto;box-shadow:0 24px 80px #163a3033}.place-search--dialog .place-search-dialog::backdrop{background:#163a3066}.place-search--dialog .place-search-dialog-content{padding-top:18px}}@media (width<=600px){.search-header-inner{padding:10px max(10px,env(safe-area-inset-right)) 10px max(10px,env(safe-area-inset-left))}}@media (width<=760px){.place-search-field{gap:5px;padding-left:13px}.place-search-submit{gap:8px;padding-inline:12px}.place-search-icon{width:19px;height:19px}}@media (width<=380px){.place-search-field{gap:3px;padding-left:10px}.place-search-clear{min-width:32px;padding-inline:6px}.place-search-submit{padding-inline:10px}.place-search-submit span{display:none}.place-search-icon{width:17px;height:17px}}@media (prefers-reduced-motion:reduce){.place-search-field{transition:none}}.place-search[data-search-disabled=true] .place-search-field{opacity:.55;box-shadow:none}.place-search[data-search-disabled=true] input,.place-search[data-search-disabled=true] button{cursor:not-allowed}.place-search [data-search-open][aria-disabled=true]{opacity:.4;pointer-events:none}.place-search-hint>[hidden]{display:none}.address-lookup{max-width:980px;margin:0 auto 64px}.address-search{padding:32px}.address-search>h2{margin:0 0 24px}.address-search>.place-search{max-width:720px}.address-search [data-address-status]{margin:20px 0;font-size:14px;line-height:1.6}.address-search [data-address-status]:empty{display:none}.address-result{margin-top:28px}.address-google-map{background:#e9e7df;border-radius:18px;height:420px;margin:20px 0;overflow:hidden}.address-result h2{margin-bottom:8px}.address-ward-links{flex-wrap:wrap;gap:12px;margin:18px 0;display:flex}.address-result[hidden]{display:none}@media (width<=600px){.address-search{padding:20px}.address-search>h2{font-size:23px}.address-google-map{height:350px}}.address-search-header{max-width:720px}#area-directory{scroll-margin-top:110px}@media (width>=601px){.address-search-header .place-search-field{padding-left:17px}.address-search-header .place-search-icon{display:block}.address-search-header .place-search-back{display:none}.address-search-header .place-search-submit-label{display:inline}}@media (width<=600px){.mobile-search-header>.header,.address-breadcrumbs{display:none}.mobile-search-header>main{padding:0 20px 45px}.address-page-top{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.address-search{display:contents}.address-search-header{z-index:50;max-width:none;padding:calc(10px + env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 10px max(10px,env(safe-area-inset-left));border-bottom:1px solid var(--line);background:#f5f3e9;margin:0 -20px 24px;position:sticky;top:0}}[data-address-status]:empty,[data-address-wards]:empty{display:none}
