.ecn-election-centre{background:#f5f7fb}
.ecn-election-centre .ecn-inner-header{max-width:1040px}
.ecn-demo-warning{padding:14px 18px;margin:0 0 32px;background:#192438;color:#fff;border-left:5px solid var(--accent-soft);font-size:14px;line-height:1.55}
.ecn-demo-warning strong{color:var(--accent-soft)}
.ecn-election-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin:55px 0 25px}
.ecn-election-heading h2{font-size:clamp(28px,3.3vw,43px);letter-spacing:-.035em;line-height:1.1;margin:8px 0 0;color:var(--navy)}
.ecn-election-heading>p{max-width:420px;margin:0;color:#536176;line-height:1.55}
.ecn-election-feature{display:grid;grid-template-columns:1.35fr .85fr;background:#fff;border:1px solid #dbe4f1;border-radius:17px;overflow:hidden;box-shadow:0 15px 36px rgba(24,48,91,.06)}
.ecn-election-feature-main{padding:clamp(28px,4vw,50px)}
.ecn-election-pill{display:inline-block;border-radius:40px;padding:8px 14px;background:#edf3ff;color:var(--blue);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.ecn-election-feature h3{font-size:clamp(30px,3.5vw,49px);line-height:1.1;letter-spacing:-.035em;margin:23px 0 17px}
.ecn-election-feature-main>p{max-width:58ch;color:#475569;font-size:17px;line-height:1.6}
.ecn-election-meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:25px;color:#41506a;font-size:13px}
.ecn-election-meta span{padding-left:10px;border-left:3px solid var(--accent-soft)}
.ecn-election-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}
.ecn-election-button{display:inline-flex;padding:13px 22px;border-radius:7px;background:var(--blue);color:#fff!important;font-size:14px;font-weight:800;text-decoration:none}
.ecn-election-button:hover,.ecn-election-button:focus{background:#073288}
.ecn-election-text-link{color:var(--blue);font-size:14px;font-weight:800}
.ecn-election-feature-side{padding:clamp(28px,4vw,48px);background:var(--blue);color:#fff;display:flex;flex-direction:column;justify-content:center}
.ecn-election-feature-side .eyebrow{color:#fff}
.ecn-election-feature-side h4{font-size:27px;letter-spacing:-.025em;margin:9px 0 10px;color:#fff}
.ecn-election-feature-side p{font-size:15px;line-height:1.65;color:#ebf0ff}
.ecn-election-feature-side ol{padding:22px 0 0;margin:20px 0 0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;border-top:1px solid rgba(255,255,255,.35)}
.ecn-election-feature-side li{border-top:5px solid rgba(255,255,255,.4);padding-top:12px;font-size:11px;font-weight:700}.ecn-election-feature-side li.is-complete{border-color:var(--accent-soft)}
.ecn-election-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 65px}
.ecn-election-stats>div{min-height:135px;padding:24px;background:#fff;border:1px solid #dbe4f1;border-radius:12px}
.ecn-election-stats strong{display:block;color:var(--blue);font-size:clamp(25px,2.8vw,37px);line-height:1.1;letter-spacing:-.045em}
.ecn-election-stats span{display:block;color:#526078;font-size:13px;margin-top:10px}
.ecn-election-stats small{display:block;margin-top:10px;color:#667085;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.ecn-election-sample{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;background:#fff;border:1px solid #dbe4f1;border-radius:16px;padding:clamp(26px,3.5vw,42px);margin:0 0 65px}
.ecn-election-sample h2{font-size:clamp(27px,3vw,37px);margin:8px 0 16px;line-height:1.15}
.ecn-election-sample p{color:#536176;line-height:1.6}
.ecn-election-result-row{display:grid;grid-template-columns:1fr auto;gap:8px 12px;margin:0 0 21px;font-size:14px}
.ecn-election-track{grid-column:1/-1;background:#e8eef8;height:9px;border-radius:9px;overflow:hidden}
.ecn-election-track i{display:block;height:100%;background:var(--blue);border-radius:9px}
.ecn-election-result-row:nth-child(2) i{background:#5b86d7}.ecn-election-result-row:nth-child(3) i{background:#9ab5eb}
.ecn-election-filters{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0}
.ecn-election-filters a{display:inline-block;padding:10px 16px;border:1px solid #d8e1ef;border-radius:30px;background:#fff;color:#263957;text-decoration:none;font-size:13px;font-weight:700}
.ecn-election-filters a[aria-current="page"]{background:var(--blue);border-color:var(--blue);color:#fff}
.ecn-election-filters a:hover,.ecn-election-filters a:focus{border-color:var(--blue)}
.ecn-election-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ecn-election-archive-card{display:flex;flex-direction:column;min-height:240px;padding:27px;border:1px solid #dbe4f1;border-radius:12px;background:#fff}
.ecn-election-archive-card h3{font-size:clamp(22px,2vw,28px);line-height:1.18;margin:20px 0 8px}
.ecn-election-archive-card h3 a{text-decoration:none;color:var(--navy)}
.ecn-election-archive-card h3 a:hover{text-decoration:underline}
.ecn-election-archive-card p{color:#536176;margin:0}
.ecn-election-archive-card>a,.ecn-election-archive-card>span:last-child{margin-top:auto;padding-top:25px;color:var(--blue);font-size:13px;font-weight:800}
.ecn-election-empty{grid-column:1/-1;background:#fff;border:1px solid #dbe4f1;padding:28px}
.ecn-election-back{display:inline-block;color:var(--blue);font-weight:800;margin:0 0 30px}
.ecn-election-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:start}
.ecn-election-facts{background:#fff;border:1px solid #dbe4f1;border-top:4px solid var(--blue);border-radius:8px;padding:25px}
.ecn-election-facts h2{font-size:22px;margin:0 0 20px}
.ecn-election-facts p{border-top:1px solid #e4eaf3;padding-top:15px;margin:0 0 15px}
.ecn-election-facts strong,.ecn-election-facts span{display:block}.ecn-election-facts strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#647188}.ecn-election-facts span,.ecn-election-facts a{margin-top:5px;font-size:14px}
.ecn-election-detail .ecn-election-stats{margin:0 0 28px}.ecn-election-detail .ecn-inner-content table{width:100%;display:table;min-width:620px}.ecn-election-detail .ecn-inner-content figure.wp-block-table{overflow-x:auto;margin:24px 0 36px}.ecn-election-detail .ecn-inner-content th:last-child,.ecn-election-detail .ecn-inner-content td:last-child{text-align:right;white-space:nowrap}.ecn-election-detail .ecn-inner-content tr:nth-child(even) td{background:#f7f9fd}
@media(max-width:900px){.ecn-election-feature,.ecn-election-sample,.ecn-election-detail-grid{grid-template-columns:1fr}.ecn-election-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ecn-election-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ecn-election-heading{display:block;margin-top:35px}.ecn-election-heading>p{margin-top:12px}.ecn-election-feature-side ol{gap:5px}.ecn-election-stats,.ecn-election-archive-grid{grid-template-columns:1fr}.ecn-election-stats>div{min-height:0}.ecn-election-feature-main,.ecn-election-feature-side{padding:28px 22px}.ecn-election-filters a{font-size:12px}}
