/* Pilot constituency pages: reuse Election Master shared theme tokens and navigation. */
.seo-main{max-width:1160px;margin:0 auto;min-height:75vh;padding:34px 26px 70px;color:var(--em-ink);font-size:15px;line-height:1.7}
.seo-main h1,.seo-main h2,.seo-main h3{font-family:inherit;color:var(--em-ink);letter-spacing:-.028em;line-height:1.22}
.seo-main h1{font-size:clamp(30px,4vw,48px);margin:18px 0}
.seo-main h2{font-size:clamp(20px,2.4vw,27px);margin:10px 0 18px}
.seo-main p{max-width:900px}
.seo-main a{color:var(--em-accent)}
.seo-crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--em-muted);font-size:13px;margin:0 0 32px}
.seo-crumbs a{text-decoration:none}.seo-crumbs a:hover{text-decoration:underline}
.seo-eyebrow{font-size:11px;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:var(--em-secondary)}
.seo-lede{color:var(--em-muted);font-size:17px;line-height:1.65;margin-bottom:25px}
.seo-highlight{background:var(--em-panel);border:1px solid var(--em-edge);border-left:5px solid var(--em-accent);padding:26px;border-radius:16px;margin:28px 0 36px;box-shadow:0 10px 28px #1f152008}
.seo-highlight h2{font-size:clamp(22px,3vw,34px);margin:8px 0}.seo-highlight>p{margin:0;color:var(--em-muted)}
.seo-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}
.seo-facts>div{background:var(--em-soft);border-radius:11px;padding:12px 16px;display:flex;flex-direction:column;gap:4px}
.seo-facts strong{font-size:23px;color:var(--em-ink)}.seo-facts small{font-size:12px;color:var(--em-muted)}
.seo-section{margin-top:36px}.seo-section-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px}
.seo-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.seo-tile{display:flex;flex-direction:column;gap:6px;background:var(--em-panel);border:1px solid var(--em-edge);border-radius:12px;padding:17px;text-decoration:none!important;min-height:95px}
.seo-tile:hover,.seo-tile:focus-visible{border-color:var(--em-accent);box-shadow:0 6px 18px #2212270d}
.seo-tile span{font-weight:750;color:var(--em-ink)}.seo-tile small{font-size:12px;color:var(--em-muted)}
.seo-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--em-edge);border-radius:12px;background:var(--em-panel)}
.seo-table{border-collapse:collapse;width:100%;min-width:760px;font-size:13px}
.seo-table th,.seo-table td{padding:13px 11px;border-bottom:1px solid var(--em-edge);text-align:left;vertical-align:top}
.seo-table thead{background:var(--em-soft)}.seo-table thead th{white-space:nowrap}.seo-table tbody th{font-weight:750}
.seo-table tbody tr:last-child td,.seo-table tbody tr:last-child th{border-bottom:0}
.seo-note{font-size:13px;color:var(--em-muted);border-left:3px solid var(--em-secondary);padding-left:15px;margin:25px 0}
.seo-primary-link{font-weight:750}
@media(max-width:900px){.seo-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.seo-main{padding:22px 16px 48px}.seo-facts{grid-template-columns:1fr}.seo-tiles{grid-template-columns:1fr}.seo-highlight{padding:18px}}

/* Candidate results extension; reuses existing theme variables */
.candidate-results h3{margin-top:24px;font-size:20px}
.candidate-results .seo-table-wrap{margin-bottom:22px}
.candidate-results .seo-table{min-width:500px}
.candidate-results .seo-table tbody th{max-width:300px}
.seo-main .seo-table a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:600px){.candidate-results .seo-table{min-width:440px}}
