/* Ward race pages — shared styles */
/* Feature flags: hidden site-wide, markup/JS retained for future use. Delete a selector to re-enable. */
#materials-sec,#coverage-box{display:none!important}
.wp { max-width: 1280px; margin: 0 auto; padding: 32px 24px 100px; }
.wp-head { margin-top: 14px; }
.wp-head h1 { font-family: var(--serif-display); font-size: 40px; font-weight: 800; line-height: 1.08; letter-spacing: -0.02em; margin: 4px 0 6px; text-wrap: pretty; }
.wp-head .nbline { font-family: var(--serif); font-style: italic; font-size: 15px; color: var(--ink-soft); margin-bottom: 6px; }
.wp-cols { display: grid; grid-template-columns: 2fr 1fr; gap: 24px; align-items: start; margin-top: 18px; }
@media (max-width: 900px) { .wp-cols { grid-template-columns: 1fr; } }
@media (max-width: 600px) { #nbmap { height: 440px; } }
.stack-loose { display: grid; gap: 26px; }
.eyebrow { font-family: var(--sans); font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); }
.meta { font-family: var(--sans); font-size: 11px; color: var(--ink-faint); letter-spacing: 0.04em; }
a { color: var(--accent); }
a:hover { color: var(--ink); }
.sec-head h2.ti { margin: 0; }
.sec-head { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1.5px solid var(--ink); padding-bottom: 4px; }
.sec-head .ti { font-family: var(--sans); font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); }
.sec-head a { font-family: var(--sans); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-faint); text-decoration: none; }
.sec-head a:hover { color: var(--accent); }
/* Black band headings: council + trustee candidate sections on ward pages */
.sec-head.sec-band { background: var(--ink); border-radius: 3px; border-bottom: 0; padding: 12px 16px; align-items: center; }
.sec-head.sec-band .ti { font-family: var(--serif-display); color: #fff; font-size: 17px; font-weight: 400; letter-spacing: 0.02em; line-height: 1.3; }
.sec-head.sec-band a { color: #cfcfcf; font-size: 12px; font-weight: 700; margin-left: 16px; flex-shrink: 0; text-decoration: underline; text-underline-offset: 3px; }
.sec-head.sec-band a:hover { color: #fff; }
.fbar { display: flex; align-items: center; gap: 8px; font-family: var(--sans); font-size: 12px; font-weight: 600; padding: 8px 0; cursor: pointer; user-select: none; }
.fbar input { accent-color: var(--accent); }
.cgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 700px) { .cgrid { grid-template-columns: 1fr; } }
.cc { border: 1.5px solid var(--ink); border-radius: 2px; background: var(--paper); padding: 14px 16px; }
.cc .nm { font-family: var(--serif-display); font-size: 18px; font-weight: 700; line-height: 1.2; }
.cc .incb { font-family: var(--sans); font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; border: 1px solid var(--accent); color: var(--accent); border-radius: 2px; padding: 1px 5px; vertical-align: 3px; margin-left: 8px; white-space: nowrap; }
.cc .lv { font-family: var(--serif); font-size: 13px; margin-top: 4px; }
.cc .ends { margin-top: 8px; border-top: 1px solid var(--ink-faint); padding-top: 6px; }
.cc .elbl { font-family: var(--sans); font-size: 9px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-faint); }
.cc .e { padding: 3px 0; }
.cc .en { font-family: var(--serif-display); font-size: 13px; font-weight: 700; display: block; }
.cc .ed { font-family: var(--sans); font-size: 10px; color: var(--ink-faint); letter-spacing: 0.04em; text-transform: uppercase; }
#ward-events .ev { display: flex; gap: 14px; border-bottom: 1px solid var(--ink-faint); padding: 10px 0; }
#ward-events .ev .d { font-family: var(--sans); font-size: 11px; font-weight: 700; color: var(--accent); width: 92px; flex-shrink: 0; padding-top: 2px; }
#ward-events .ev .t { font-family: var(--serif-display); font-size: 16px; font-weight: 700; line-height: 1.25; }
#ward-events .ev .v { font-family: var(--sans); font-size: 10px; color: var(--ink-faint); margin-top: 2px; }
#ward-coverage .cv { border-bottom: 1px solid var(--ink-faint); padding: 8px 0; }
#ward-coverage .cv a { font-family: var(--serif-display); font-size: 15px; font-weight: 700; color: var(--ink); text-decoration: none; }
#ward-coverage .cv a:hover { color: var(--accent); }
.rail { display: grid; gap: 18px; }
.sidebar { border: 1.5px solid var(--ink); border-radius: 2px; padding: 14px 16px; background: var(--paper); }
.sidebar.warm { background: var(--paper-warm); }
.sidebar .lbl { font-family: var(--sans); font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-faint); }
.nbmap-wrap { margin: 10px 0 12px; }
#nbmap { height: 640px; border: 1px solid var(--ink); background: #f0f0f0; }
#nbhint { font-family: var(--sans); font-size: 11px; font-weight: 600; color: var(--accent); min-height: 16px; margin-top: 4px; }
.r22 { margin-top: 8px; display: grid; gap: 6px; }
.rr { display: flex; align-items: center; gap: 8px; }
.rr .rn { width: 118px; flex-shrink: 0; font-family: var(--serif); font-size: 12.5px; }
.rr .rn.win { font-weight: 700; }
.rr .rb { flex: 1; height: 10px; background: var(--paper); border: 1px solid var(--ink-faint); }
.rr .rb span { display: block; height: 100%; background: var(--accent); }
.rr .rb span.lose { background: var(--ink-faint); }
.rr .rv { width: 96px; flex-shrink: 0; text-align: right; font-family: var(--sans); font-size: 10.5px; }
.rail-notice { border: 1px solid var(--ink); border-left: 3px solid var(--accent); background: var(--paper-warm); padding: 10px 12px; font-family: var(--serif); font-size: 12px; color: var(--ink-soft); line-height: 1.5; border-radius: 2px; }
.rail-notice b { font-family: var(--sans); font-size: 9px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); display: block; margin-bottom: 3px; }
.wswitch { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; }
.wswitch a, .wswitch .cur { display: block; font-family: var(--sans); font-size: 13px; font-weight: 600; padding: 6px 10px; border: 1px solid var(--ink-faint); border-radius: 2px; text-decoration: none; }
.wswitch .cur { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.wswitch a:hover { border-color: var(--accent); }

/* Finalized candidate-card design (from wireframe Ward Hub A) */
.cc .cc-head { display: flex; gap: 10px; align-items: center; }
.cc .avatar { width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid var(--ink); display: grid; place-items: center; font-family: var(--sans); font-size: 12px; font-weight: 700; background: var(--paper-warm); flex-shrink: 0; }
.cc .bio { font-family: var(--serif); font-size: 13px; margin-top: 8px; }
.cc .pod { display: flex; gap: 10px; align-items: center; background: var(--ink); color: var(--paper); border-radius: 2px; padding: 8px 12px; margin-top: 8px; font-family: var(--sans); font-size: 12px; font-weight: 600; }
.cc .pod .play { width: 20px; height: 20px; border: 1px solid rgba(255,255,255,0.6); border-radius: 50%; display: grid; place-items: center; font-size: 9px; flex-shrink: 0; }
.cc .cc-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; gap: 8px; flex-wrap: wrap; }
.socials { display: flex; gap: 5px; }
.socials span, .socials a { width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid var(--ink); font-family: var(--sans); font-size: 0; font-weight: 700; border-radius: 2px; color: var(--ink-soft); }
.socials a { color: var(--accent); border-color: var(--accent); text-decoration: none; }
.socials a:hover { background: var(--accent); color: #fff; }
.cc .avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block; transform: scale(1.3); transform-origin: 50% 30%; }.cc .avatar img[src$="preston-kory.png"]{transform: scale(1.4); transform-origin: 61% 25%; }.cc .avatar img[src$="shields-logan.png"]{transform: scale(1.3); transform-origin: 50% 38%; }.cc .avatar img[src$="white-todd.png"]{transform: scale(1.3); transform-origin: 50% 35%; }.cc .avatar img[src$="floyd-seth.png"]{transform: scale(2.8); transform-origin: 51% 19%; }.cc .avatar img[src$="king-bill.png"]{transform: scale(1.5); transform-origin: 50% 30%; }.cc .avatar img[src$="hillen-daunte.png"]{transform: scale(1.4); transform-origin: 48% 25%; }.cc .avatar img[src$="fehrman-amanda.png"]{transform: scale(1.4); transform-origin: 50% 35%; }.cc .avatar img[src$="baxter-melissa.png"]{transform: scale(1.5); transform-origin: 50% 25%; }.cc .avatar img[src$="nicholl-anthony.png"]{transform: scale(1.4); transform-origin: 50% 33%; }
.cc .avatar:has(img) { overflow: hidden; }
.cc .site, .cand-links .site { font-family: var(--sans); font-size: 16px; font-weight: 700; color: var(--ink-faint); border-bottom: 1px solid var(--ink-faint); }
a.cc-site, .cc a.site, .cand-links a.site { color: var(--accent); border-bottom: 1px solid var(--accent); text-decoration: none; }
.cc .prof { font-family: var(--sans); font-size: 11px; font-weight: 600; color: var(--accent); border-top: 1px solid var(--ink-faint); padding-top: 8px; margin-top: 10px; }
a.prof { display: block; text-decoration: none; }
a.prof:hover { color: var(--ink); }

/* Campaign materials archive */
.matgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 10px; }
@media (max-width: 700px) { .matgrid { grid-template-columns: 1fr; } }
.mat { border: 1.5px solid var(--ink); border-radius: 2px; background: var(--paper); margin: 0; padding: 0; overflow: hidden; }
.mat .mat-img { background: var(--paper-warm); border-bottom: 1px solid var(--ink-faint); display: grid; place-items: center; }
.mat .mat-img img { width: 100%; height: auto; display: block; }
.mat .mat-noimg { font-family: var(--sans); font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-faint); padding: 40px 12px; }
.mat figcaption { padding: 10px 12px; }
.mat .mat-type { font-family: var(--sans); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; border: 1px solid var(--accent); color: var(--accent); border-radius: 2px; padding: 1px 5px; }
.mat .mat-ti { font-family: var(--serif-display); font-size: 15px; font-weight: 700; margin-top: 6px; line-height: 1.25; }
.mat .mat-note { font-family: var(--serif); font-size: 12.5px; color: var(--ink-soft); margin-top: 3px; }
.submit-call { border: 1px solid var(--ink); border-left: 3px solid var(--accent); background: var(--paper-warm); padding: 12px 14px; font-family: var(--serif); font-size: 13px; line-height: 1.55; border-radius: 2px; margin-top: 12px; }
.submit-call .sc-lbl { font-family: var(--sans); font-size: 9px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); display: block; margin-bottom: 4px; }

/* Campaign promises (candidate pages) */
.promises { margin: 10px 0 0; padding-left: 22px; display: grid; gap: 10px; }
.promises li { font-family: var(--serif); font-size: 14.5px; line-height: 1.5; }
.promises .psrc { font-family: var(--sans); font-size: 10.5px; color: var(--ink-faint); display: block; margin-top: 1px; }

/* Withdrawn candidates — kept on the page for the record, visibly out of the race. */
.cc.withdrawn { background: var(--paper-warm); border-color: var(--ink-faint); }
.cc.withdrawn .nm { color: var(--ink-faint); text-decoration: line-through; text-decoration-thickness: 1.5px; }
.cc.withdrawn .meta, .cc.withdrawn .bio, .cc.withdrawn .lv { color: var(--ink-faint); }
.cc.withdrawn .avatar { border-color: var(--ink-faint); color: var(--ink-faint); filter: grayscale(1); }
.cc.withdrawn .incb { border-color: var(--ink-faint); color: var(--ink-faint); }
.cc.withdrawn .ends, .cc.withdrawn .pod { opacity: 0.55; }
.cc.withdrawn .pod { filter: grayscale(1); }
.cc .wdb { font-family: var(--sans); font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em; border: 1px solid var(--ink-faint); color: var(--ink-faint); background: var(--paper); border-radius: 2px; padding: 2px 6px; margin-left: 7px; vertical-align: 2px; white-space: nowrap; }

/* Candidate profile header: photo + social links */
.cand-head { display: flex; gap: 18px; align-items: center; }
.cand-head .cand-id { min-width: 0; }
.cand-photo { width: 112px; height: 112px; object-fit: cover; object-position: 50% 12%; border-radius: 50%; border: 1.5px solid var(--ink); flex-shrink: 0; background: var(--paper-warm); }
.cand-head.withdrawn .cand-photo { filter: grayscale(1); }
.cand-links { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 10px; }
@media (max-width: 560px) { .cand-head { flex-direction: column; align-items: flex-start; gap: 12px; } .cand-photo { width: 88px; height: 88px; } }

/* Council candidates who did not participate in The 155 Podcast */
.cgroup-h { font-family: var(--sans); font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink); margin: 20px 0 10px; padding-top: 12px; border-top: 1px solid var(--ink-faint); }
.fbar + .cgroup-h { border-top: 0; padding-top: 0; margin-top: 10px; }
.cc .pod.pod-declined { justify-content: center; text-align: center; }
.cc .nm a.nm-link { color: inherit; text-decoration: none; }
.cc .nm a.nm-link:hover { color: var(--accent); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
/* The 155 Podcast player */
.cc .pod.pod-embed, .pod-embed { padding: 0; display: block; background: none; container-type: inline-size; min-width: 0; }
.pp { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "art meta" "bar bar"; column-gap: 10px; row-gap: 8px; align-items: center; background: var(--ink); color: var(--paper); border-radius: 2px; padding: 10px; font-family: var(--sans); }
.pp-art { grid-area: art; width: 52px; height: 52px; border-radius: 2px; object-fit: cover; display: block; background: #333; }
.pp-meta { grid-area: meta; min-width: 0; display: grid; gap: 2px; }
.pp-show { font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .85; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-show span { font-weight: 600; letter-spacing: .04em; }
a.pp-title, a.pp-title:visited { color: var(--paper); text-decoration: none; font-size: 13px; font-weight: 700; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-wrap: pretty; }
a.pp-title:hover { color: var(--paper); text-decoration: underline; text-underline-offset: 2px; }
.pp-desc { display: none; margin: 2px 0 0; font-size: 12px; line-height: 1.45; opacity: .85; text-wrap: pretty; }
.pp-bar { grid-area: bar; min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.18); }
.pp-play { width: 34px; height: 34px; border-radius: 50%; background: var(--paper); color: var(--ink); display: grid; place-items: center; text-decoration: none; transition: transform .12s, background .12s; }
.pp-play:hover { background: #fff; color: var(--ink); transform: scale(1.06); }
.pp-play:focus-visible, .pp button:focus-visible, .pp-ext:focus-visible, a.pp-title:focus-visible { outline: 2px solid var(--paper); outline-offset: 2px; }
.pp-play svg { width: 14px; height: 14px; fill: currentColor; }
.pp-i-pause, .pp.is-playing .pp-i-play { display: none; }
.pp.is-playing .pp-i-pause { display: block; }
.pp.is-loading .pp-play { animation: pp-pulse 1s ease-in-out infinite; }
@keyframes pp-pulse { 50% { opacity: .55; } }
.pp-track { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.pp-time { font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pp-seek { --pp-pct: 0%; -webkit-appearance: none; appearance: none; width: 100%; min-width: 0; height: 14px; margin: 0; background: transparent; cursor: pointer; }
.pp-seek:disabled { cursor: default; }
.pp-seek::-webkit-slider-runnable-track { height: 3px; border-radius: 2px; background: linear-gradient(to right, var(--paper) var(--pp-pct), rgba(255,255,255,.28) var(--pp-pct)); }
.pp-seek::-moz-range-track { height: 3px; border-radius: 2px; background: rgba(255,255,255,.28); }
.pp-seek::-moz-range-progress { height: 3px; border-radius: 2px; background: var(--paper); }
.pp-seek::-webkit-slider-thumb { -webkit-appearance: none; width: 11px; height: 11px; margin-top: -4px; border-radius: 50%; background: var(--paper); border: 0; }
.pp-seek::-moz-range-thumb { width: 11px; height: 11px; border-radius: 50%; background: var(--paper); border: 0; }
.pp-seek:disabled::-webkit-slider-thumb { opacity: 0; }
.pp-seek:disabled::-moz-range-thumb { opacity: 0; }
.pp-ctl { display: flex; align-items: center; gap: 4px; }
.pp-ctl button, .pp-ext { font: 700 11px/1 var(--sans); color: var(--paper); background: transparent; border: 1px solid rgba(255,255,255,.4); border-radius: 2px; min-width: 30px; height: 26px; padding: 0 6px; display: grid; place-items: center; cursor: pointer; text-decoration: none; font-variant-numeric: tabular-nums; }
.pp-ctl button:hover, .pp-ext:hover { border-color: var(--paper); background: rgba(255,255,255,.1); color: var(--paper); }
.pp:not(.pp-ready) .pp-back, .pp:not(.pp-ready) .pp-rate { display: none; }
.pp.is-error .pp-track::before { content: 'Audio unavailable — open on The 155 ↗'; font-size: 11px; font-weight: 600; }
.pp.is-error .pp-back, .pp.is-error .pp-rate, .pp.is-error .pp-seek, .pp.is-error .pp-time { display: none; }
/* card widths */
@container (max-width: 320px) { .pp-ctl .pp-rate { display: none; } }
@container (max-width: 270px) {
  .pp-art { width: 40px; height: 40px; }
  a.pp-title { font-size: 12px; }
  .pp-bar { grid-template-columns: auto minmax(0, 1fr); }
  .pp-ctl { display: none; }
  .pp-track { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}
/* wide: profile pages, single-column layouts */
@container (min-width: 480px) {
  .pp { grid-template-areas: "art meta" "art bar"; column-gap: 16px; padding: 14px; align-items: start; }
  .pp-art { width: 112px; height: 112px; }
  a.pp-title { font-size: 15px; }
  .pp-desc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .pp-bar { align-self: end; }
}
.pp-lg .pp-play { width: 44px; height: 44px; }
.pp-lg .pp-play svg { width: 18px; height: 18px; }
@container (min-width: 640px) { .pp-lg a.pp-title { font-size: 18px; } .pp-lg .pp-art { width: 128px; height: 128px; } }
@media (pointer: coarse) {
  .pp-play { width: 44px; height: 44px; }
  .pp-ctl button, .pp-ext { min-width: 36px; height: 36px; }
  .pp-seek { height: 24px; }
}

/* self-hosted social icons (mask so they take the text colour) */
.socials .ic { width: 14px; height: 14px; background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; display: block; }
.socials span { color: var(--ink-faint); border-color: var(--ink-faint); }
.ic-bs { --i: url(icons/bluesky.svg); } .ic-fb { --i: url(icons/facebook.svg); } .ic-ig { --i: url(icons/instagram.svg); } .ic-in { --i: url(icons/linkedin.svg); }
.wp-cols:not(:has(.rail)) { grid-template-columns: 1fr; }

.mlist{border-top:1px solid var(--ink-faint)}
.mrow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--ink-faint)}
.mrow-id{display:flex;flex-direction:column;gap:3px;min-width:0}
.mrow .nm,.mrow .nm a{font-size:17px;font-weight:400;font-family:var(--sans);color:var(--ink);text-decoration:none}.mrow .nm a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.cc a.site::before,.cand-links a.site::before{content:"";display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:-3px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cellipse cx='12' cy='12' rx='4' ry='10'/%3E%3Cpath d='M2 12h20'/%3E%3C/svg%3E") center / 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='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cellipse cx='12' cy='12' rx='4' ry='10'/%3E%3Cpath d='M2 12h20'/%3E%3C/svg%3E") center / contain no-repeat}.mrow .site{font-family:var(--sans);font-size:12px;color:var(--ink-soft)}
.mrow .socials{flex:none}

/* transcript */
.tx-note{font-family:var(--sans);font-size:13px;color:var(--ink-soft);margin-top:8px}
.tx-toc{display:flex;flex-wrap:wrap;gap:6px 14px;margin:12px 0 4px;padding:0;list-style:none;font-family:var(--sans);font-size:12px;font-weight:600}
.tx-toc a{text-decoration:none}
.tx{margin-top:14px;max-width:72ch}
.tx h3{font-family:var(--serif-display);font-size:20px;margin:30px 0 4px;padding-bottom:4px;border-bottom:2px solid var(--accent)}
.tx h4{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:22px 0 6px}
.tx .turn{display:grid;grid-template-columns:96px minmax(0,1fr);gap:4px 14px;padding:10px 0;border-bottom:1px solid var(--ink-faint)}
.tx .who{font-family:var(--sans);font-size:12px;font-weight:700;line-height:1.3}
.tx .who time{display:block;font-weight:400;color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-top:2px}
.tx .turn.q .who{color:var(--ink-soft)}
.tx .say p{margin:0 0 .75em;line-height:1.55}
.tx .say p:last-child{margin-bottom:0}
.tx .en{font-family:var(--sans);font-size:13px;color:var(--ink-soft);margin:6px 0 6px 110px}
.tx-src{margin-top:18px;font-family:var(--sans);font-size:12px;color:var(--ink-soft)}
@media(max-width:560px){.tx .turn{grid-template-columns:1fr}.tx .en{margin-left:0}}

/* brand colours for linked social icons */
.socials a:has(.ic-bs){--b:#1185FE}.socials a:has(.ic-fb){--b:#1877F2}.socials a:has(.ic-ig){--b:#E4405F}.socials a:has(.ic-in){--b:#0A66C2}
.socials a[aria-label]{color:var(--b,var(--accent));border-color:var(--b,var(--accent))}
.socials a[aria-label]:hover{background:var(--b,var(--accent));color:#fff}

.cc .avatar img[src$="sciara-anthony.jpg"]{transform:scale(1.1)}

.cc .avatar img[src$="tompkins-bernard.jpg"]{transform:scale(1.1)}

.cc .avatar img[src$="campbell-wade.jpg"]{transform:scale(1.1)}

.pl-note { margin: 8px 0; }
.pl-list { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px 16px; }
.pl-list li { display: flex; gap: 10px; align-items: flex-start; padding: 8px 0; border-bottom: 1px solid var(--ink-faint); }
.pl-n, .pl-pin { width: 24px; height: 24px; flex: none; border-radius: 50%; background: var(--ink); color: var(--paper); font: 700 12px/24px var(--sans); text-align: center; box-sizing: border-box; border: 2px solid var(--paper); box-shadow: 0 0 0 1px var(--ink); }
.pl-pin-i { background: var(--paper); border: 2px solid var(--ink); box-shadow: none; width: 14px; height: 14px; margin: 5px; }
.pl-name { font-family: var(--sans); font-weight: 700; font-size: 14px; }
.pl-addr { font-family: var(--sans); font-size: 13px; color: var(--ink-soft); }
.pl-sub { font-family: var(--sans); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin: 18px 0 0; }
.pl-inst { margin: 6px 0 0; padding-left: 18px; font-family: var(--sans); font-size: 13px; }
.pl-inst li { margin: 3px 0; }

/* Election-day address lookup: polling places sorted from the reader's address (ward-page.js, #vote=) */
.pl-top { margin-top: 18px; border: 1.5px solid var(--ink); border-radius: 2px; background: var(--paper-warm); padding: 16px 18px; }
.pl-from { font-family: var(--sans); font-size: 14px; margin: 8px 0 0; }
.pl-km { font-family: var(--sans); font-size: 12px; font-weight: 700; margin-top: 2px; }
.pl-next { font-family: var(--sans); font-size: 13px; margin: 12px 0 0; }
.pl-me { width: 16px; height: 16px; box-sizing: border-box; border-radius: 50%; background: var(--accent); border: 3px solid var(--paper); box-shadow: 0 0 0 1px var(--accent); }
