.councillor-hero{min-width:0;padding:12px 0 30px}.councillor-hero h1{letter-spacing:-1.8px;max-width:850px;margin:0;font-size:clamp(36px,4.6vw,58px);line-height:1.08}.councillor-kicker{color:var(--muted);margin:0 0 10px;font-size:13px}.councillor-lookup{min-width:0;max-width:720px;margin-top:24px}.councillor-search-status{margin:12px 0;font-size:13px;line-height:1.6}.councillor-search-status:empty,.councillor-search-choices:empty{display:none}.councillor-search-choices{gap:8px;margin:12px 0;display:grid}.councillor-search-choices .button{text-align:left;justify-content:start}.councillor-section-heading{justify-content:space-between;align-items:center;gap:20px;margin:26px 0 18px;display:flex}.councillor-section-heading h2{letter-spacing:-.7px;margin:0;font-size:25px}.councillor-section-heading h2>span{color:var(--muted);letter-spacing:0;margin-left:8px;font-size:15px;font-weight:400}.councillor-provinces{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.councillor-provinces a{border:1px solid var(--line);background:var(--paper);border-radius:18px;align-items:center;gap:20px;min-width:0;padding:21px;text-decoration:none;display:flex}.councillor-provinces a:hover,.councillor-municipalities a:hover,.councillor-row:hover{background:#f5f7ed;border-color:#8ba17a}.councillor-province-shape{fill:#c2d1b5;stroke:#8caa7c;stroke-width:1px;stroke-linejoin:round;flex:none;width:66px;height:66px}.councillor-province-shape path{vector-effect:non-scaling-stroke}.councillor-provinces a>span{min-width:0}.councillor-provinces strong{font-size:18px;font-weight:500;line-height:1.3;display:block}.councillor-provinces small{color:var(--muted);margin-top:7px;font-size:12px;display:block}.councillor-provinces a>svg:last-child{color:var(--muted);flex:none;margin-left:auto}.councillor-metro-directory{margin-top:32px}.councillor-metro-links{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:28px;display:grid}.councillor-metro-links a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 0;font-size:14px;text-decoration:none;display:flex}.councillor-metro-links svg{color:var(--muted);flex:none}.councillor-area-hero{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:40px;margin-bottom:30px;display:grid}.councillor-area-hero .councillor-hero{padding:12px 0}.councillor-area-hero .region-map{margin:0}.councillor-area-hero .region-map.compact .region-map-canvas{height:240px}.councillor-area-hero--municipality{grid-template-areas:"heading map""lookup map""actions map";gap:0 40px}.councillor-area-hero--municipality>.councillor-hero{grid-area:heading}.councillor-area-hero--municipality>.councillor-lookup{grid-area:lookup;margin-top:14px}.councillor-area-hero--municipality>.councillor-related{grid-area:actions}.councillor-area-hero--municipality>.region-map{grid-area:map}.councillor-province-overview{background:#e9eddf;border-radius:22px;justify-content:center;align-items:center;gap:28px;min-height:195px;padding:25px;display:flex}.councillor-province-overview .councillor-province-shape{width:130px;height:130px}.councillor-province-overview strong{letter-spacing:-1.3px;font-size:38px;font-weight:500;line-height:1.1;display:block}.councillor-province-overview span{color:var(--muted);margin-top:7px;font-size:12px;display:block}.councillor-filter{border:1px solid var(--line);background:var(--paper);width:330px;min-width:0;max-width:100%;color:var(--muted);border-radius:12px;align-items:center;gap:10px;padding:0 14px;display:flex}.councillor-filter[hidden]{display:none}.councillor-filter svg{flex:none}.councillor-filter input{width:100%;min-width:0;min-height:44px;color:var(--ink);font:inherit;background:0 0;border:0;padding:10px 0;font-size:13px}.councillor-filter:focus-within{outline-offset:2px;outline:2px solid #4c7861}.councillor-filter input:focus{outline:0}.councillor-municipalities,.councillor-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.councillor-municipalities li[hidden],.councillor-list li[hidden]{display:none}.councillor-municipalities a{border:1px solid var(--line);background:var(--paper);border-radius:16px;align-items:center;gap:14px;height:100%;padding:20px;text-decoration:none;display:flex}.councillor-municipalities a>div{min-width:0}.councillor-municipalities strong{overflow-wrap:anywhere;font-size:17px;font-weight:500;line-height:1.3;display:block}.councillor-municipalities small{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.4;display:block}.councillor-municipalities svg{color:var(--muted);flex:none}.councillor-municipality-count{text-align:right;flex:none;max-width:80px;margin-left:auto}.councillor-municipality-count b{letter-spacing:-.7px;font-size:24px;font-weight:500;line-height:1}.councillor-party-summary{margin-bottom:22px}.councillor-party-bar{border-radius:4px;gap:3px;height:12px;display:flex;overflow:hidden}.councillor-party-bar span{min-width:2px}.councillor-party-bar .is-unavailable{background:repeating-linear-gradient(135deg,#dce2d5 0 4px,#b9c4b1 4px 6px)}.councillor-party-filters{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.councillor-party-filters[hidden]{display:none}.councillor-party-filters button{border:1px solid var(--line);max-width:100%;min-height:42px;color:var(--ink);font:inherit;cursor:pointer;text-align:left;background:0 0;border-radius:10px;align-items:center;gap:7px;padding:9px 12px;font-size:12px;display:flex}.councillor-party-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.councillor-party-filters b{opacity:.7;font-weight:500}.councillor-party-filters i{border-radius:50%;flex:none;width:9px;height:9px}.councillor-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.councillor-row{border:1px solid var(--line);background:var(--paper);border-radius:16px;align-items:center;gap:18px;height:100%;padding:17px;text-decoration:none;display:flex}.councillor-row-number{background:color-mix(in srgb,var(--party) 10%,var(--paper));border-bottom:3px solid var(--party);min-width:62px;min-height:64px;color:var(--muted);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;font-size:10px;display:flex}.councillor-row-number b{letter-spacing:-1px;color:var(--ink);font-size:26px;font-weight:500;line-height:1.2}.councillor-row-person{min-width:0}.councillor-row-person strong{overflow-wrap:anywhere;font-size:15px;font-weight:500;line-height:1.4;display:block}.councillor-row-party{color:var(--muted);align-items:center;gap:7px;margin-top:7px;font-size:12px;display:flex}.councillor-row>svg{color:var(--muted);flex:none;margin-left:auto}.councillor-profile-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:stretch;gap:24px;margin:20px 0 36px;display:grid}.councillor-person{border:1px solid var(--line);background:var(--paper);border-radius:22px;min-width:0;padding:30px}.councillor-person-place{align-items:center;gap:16px;margin-bottom:28px;display:flex}.councillor-ward-badge{background:color-mix(in srgb,var(--party) 10%,var(--paper));width:72px;height:76px;color:var(--muted);border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;font-size:11px;display:flex}.councillor-ward-badge strong{letter-spacing:-1px;color:var(--ink);font-size:34px;font-weight:500;line-height:1.1}.councillor-person-place a{font-size:17px;font-weight:500;text-decoration:none}.councillor-person-place>div>span{color:var(--muted);margin-top:5px;font-size:12px;display:block}.councillor-person .councillor-kicker{margin-bottom:8px;font-size:12px}.councillor-person h1{letter-spacing:-1px;overflow-wrap:anywhere;margin:0 0 18px;font-size:clamp(27px,3vw,39px);line-height:1.15}.councillor-party{align-items:center;gap:10px;margin:0;font-size:16px;display:flex}.councillor-party small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.councillor-contact{margin-top:26px}.councillor-contact h2{letter-spacing:-.3px;margin:0 0 10px;font-size:17px}.councillor-contact-methods{gap:0;display:grid}.councillor-contact-method{border-bottom:1px solid var(--line);grid-template-columns:58px minmax(0,1fr) 17px;align-items:center;gap:10px;min-height:48px;padding:13px 0;font-size:13px;text-decoration:none;display:grid}.councillor-contact-method>span{color:var(--muted);font-size:11px}.councillor-contact-method strong{overflow-wrap:anywhere;font-weight:500}.councillor-contact-method:hover strong{text-decoration:underline}.councillor-profile-links{flex-wrap:wrap;gap:9px;margin:14px 0 22px;display:flex}.councillor-profile-links .button{padding:10px 13px;font-size:12px}.councillor-community-links{margin:22px 0}.councillor-community-links .button{white-space:normal;justify-content:space-between;width:100%}.councillor-portrait{float:right;width:112px;margin:0 0 16px 18px}.councillor-portrait img{object-fit:cover;border-radius:14px;width:112px;height:140px}.councillor-portrait figcaption{color:var(--muted);margin-top:5px;font-size:10px}.councillor-contact .button{gap:16px;min-height:48px;font-size:13px}.councillor-contact p{color:var(--muted);max-width:360px;margin:10px 0 20px;font-size:12px;line-height:1.6}.councillor-text-link{align-items:center;gap:10px;font-size:13px;text-decoration:none;display:inline-flex}.councillor-text-link:hover{text-decoration:underline}.councillor-profile-layout .region-map{flex-direction:column;margin:0;display:flex}.councillor-profile-layout .region-map-view{flex:1;min-height:300px;position:relative}.councillor-profile-layout .region-map-canvas{height:100%;position:absolute;inset:0}.councillor-answer{color:var(--muted);max-width:420px;font-size:14px;line-height:1.6}.councillor-related{flex-wrap:wrap;align-items:center;gap:18px;margin:22px 0 0;display:flex}.councillor-related .button{gap:10px}.councillor-find-another{border-top:1px solid var(--line);grid-template-columns:1fr 1.35fr;align-items:center;gap:30px;padding-top:28px;display:grid}.councillor-find-another h2{margin:0 0 12px;font-size:23px}.councillor-find-another .councillor-lookup{margin:0}.councillor-source{border-top:1px solid var(--line);color:var(--muted);margin-top:34px;padding-top:20px;font-size:11px;line-height:1.7}.councillor-source>p{flex-wrap:wrap;align-items:center;gap:6px 18px;margin:0 0 9px;display:flex}.councillor-source details{max-width:720px;font-size:12px}.councillor-source details p{margin:12px 0}.councillor-source summary{cursor:pointer;width:fit-content}.councillor-missing{background:#ecefe3;border:1px dashed #a9b49e;border-radius:18px;margin-bottom:28px;padding:24px}.councillor-missing h2{margin-bottom:10px;font-size:23px}.councillor-missing p{max-width:600px;font-size:14px;line-height:1.6}.councillor-provinces a:focus-visible,.councillor-municipalities a:focus-visible,.councillor-row:focus-visible,.councillor-party-filters button:focus-visible{outline-offset:3px;outline:2px solid #4c7861}@media (width<=1000px){.councillor-provinces a{gap:14px;padding:18px}.councillor-province-shape{width:48px;height:54px}.councillor-provinces strong{font-size:16px}.councillor-municipalities{grid-template-columns:repeat(2,minmax(0,1fr))}.councillor-area-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px}.councillor-province-overview{gap:18px;padding:20px}.councillor-province-overview .councillor-province-shape{width:100px;height:110px}}@media (width<=700px){.councillor-hero{padding:8px 0 18px}.councillor-hero h1{letter-spacing:-1.5px;font-size:40px}.councillor-lookup{margin-top:22px}.councillor-provinces{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.councillor-provinces a{flex-wrap:wrap;gap:12px;padding:18px}.councillor-provinces a>span{order:1;width:100%}.councillor-provinces .councillor-province-shape{width:64px;height:54px}.councillor-provinces small{font-size:11px}.councillor-section-heading{flex-direction:column;align-items:stretch;gap:16px;margin:24px 0 16px}.councillor-section-heading h2{font-size:23px}.councillor-metro-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.councillor-metro-links a{font-size:12px}.councillor-area-hero{grid-template-columns:1fr;gap:20px;margin-bottom:26px}.councillor-area-hero .region-map.compact .region-map-canvas{height:210px}.councillor-area-hero--municipality{grid-template-columns:minmax(0,1fr) 124px;grid-template-areas:"heading heading""lookup lookup""actions map";gap:16px}.councillor-area-hero--municipality .councillor-hero h1{overflow-wrap:anywhere;font-size:35px}.councillor-area-hero--municipality>.councillor-lookup,.councillor-area-hero--municipality>.councillor-related{margin:0}.councillor-area-hero--municipality>.councillor-related{flex-direction:column;align-items:start;gap:20px}.councillor-area-hero--municipality .councillor-related .button{gap:7px;padding:12px;font-size:11px}.councillor-area-hero--municipality .region-map.compact .region-map-canvas{height:112px}.councillor-area-hero--municipality .region-map figcaption{justify-content:center;padding:8px;font-size:10px}.councillor-area-hero--municipality .region-map figcaption>span{display:none}.councillor-province-overview{justify-content:start;gap:26px;min-height:0;padding:18px 24px}.councillor-province-overview .councillor-province-shape{width:85px;height:75px}.councillor-province-overview strong{font-size:31px}.councillor-filter{width:100%}.councillor-filter input{font-size:16px}.councillor-municipalities,.councillor-list{grid-template-columns:1fr}.councillor-municipalities a{padding:18px}.councillor-municipalities strong{font-size:17px}.councillor-party-filters{gap:7px}.councillor-party-filters button{padding:9px 10px;font-size:11px}.councillor-row{gap:13px;padding:14px}.councillor-row-person strong{font-size:13px}.councillor-row-number{min-width:53px;min-height:58px}.councillor-row-party{margin-top:5px;font-size:11px}.councillor-profile-layout{grid-template-columns:1fr;gap:16px;margin:16px 0 28px}.councillor-person{padding:23px}.councillor-person h1{font-size:30px}.councillor-person-place{margin-bottom:23px}.councillor-person .button{justify-content:space-between;width:100%}.councillor-profile-layout .region-map-view{min-height:265px}.councillor-contact p{font-size:11px}.councillor-find-another{grid-template-columns:1fr;gap:20px}.councillor-source{margin-top:28px}}@media (width<=359px){.councillor-hero h1{font-size:35px}.councillor-provinces a{padding:14px}.councillor-provinces strong{font-size:14px}.councillor-person{padding:19px}.councillor-person h1{font-size:27px}}
