.cms-page-content{max-width:74rem;margin:1.5rem auto;padding:0 1.5rem}.cms-page-content:empty{display:none}.election-hub{--election-card-padding:32px}.election-hub .elections-intro{max-width:780px}.election-hub [id]{scroll-margin-top:32px}.election-guide-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px;display:flex}.election-guide-heading .brand-label{color:var(--color-gold);margin:0 0 12px}.election-guide-heading h2{margin:0}.election-guide-heading>p{color:var(--color-muted);margin:0;font-size:14px;line-height:1.7}.election-page-content{margin-bottom:32px}.election-guide-grid,.election-history-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.election-guide-card{border:1px solid var(--color-border);border-top:4px solid var(--color-navy);border-radius:var(--radius-card);background:var(--color-white);flex-direction:column;min-width:0;display:flex;overflow:hidden}.election-card-header{padding:var(--election-card-padding);align-items:center;gap:20px;display:flex}.election-card-header img,.election-history-card img{object-fit:contain;flex-shrink:0}.election-card-header .brand-label{color:var(--color-muted);letter-spacing:1.3px;margin:0 0 8px;font-size:10px;line-height:1.6}.election-card-header h3{margin:0;font-size:32px}.election-day{padding:22px var(--election-card-padding);background:var(--color-navy);color:var(--color-white);justify-content:space-between;align-items:center;gap:12px;display:flex}.election-date-label{color:var(--color-blue-soft);margin-bottom:4px;font-size:12px;display:block}.election-day time{font:400 clamp(25px,2.5vw,34px)/1.2 var(--font-display);white-space:nowrap}.election-status{text-align:right;max-width:90px;font:600 11px/1.5 var(--font-body);color:var(--color-gold-light);display:block}.election-status-past{color:var(--color-blue-soft)}.election-card-body{padding:28px var(--election-card-padding)}.election-race{margin:0 0 12px;font-size:14px;font-weight:600;line-height:1.6}.election-electorate{color:var(--color-muted);margin:0 0 24px;font-size:13px;line-height:1.7}.election-hub h4{font:600 15px/1.5 var(--font-body);letter-spacing:0;margin:0 0 16px}.election-location{background:var(--color-surface);border-left:3px solid var(--color-gold);margin-bottom:28px;padding:24px}.election-location h4{letter-spacing:1.2px;text-transform:uppercase;color:var(--color-muted);margin-bottom:12px;font-size:11px}.election-location p{margin:0 0 8px;font-size:13px;line-height:1.6}.election-location .election-location-name{font-size:16px;font-weight:600;line-height:1.5}.election-location p.election-location-hours{margin-top:12px}.election-primary-link{background:var(--color-blue);min-height:48px;color:var(--color-white);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:12px 16px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.election-primary-link:hover{background:var(--color-navy);color:var(--color-white)}.election-key-dates ol{margin:0;padding:0;list-style:none}.election-key-dates li{border-top:1px solid var(--color-border);grid-template-columns:64px minmax(0,1fr);gap:16px;padding:15px 0;display:grid}.election-key-dates time{color:var(--color-gold);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.election-key-dates strong{font-size:13px;font-weight:600;line-height:1.5;display:block}.election-key-dates p{color:var(--color-muted);margin:4px 0 0;font-size:12px;line-height:1.65}.election-useful-links{flex-wrap:wrap;gap:12px 20px;margin-top:20px;display:flex}.election-useful-links a{text-underline-offset:4px;align-items:center;gap:3px;min-height:28px;font-size:12px;display:inline-flex}.election-card-footer{padding:24px var(--election-card-padding);border-top:1px solid var(--color-border);margin-top:auto}.election-help{flex-wrap:wrap;justify-content:space-between;gap:6px 16px;margin:0 0 16px;font-size:12px;display:flex}.election-help strong{font-weight:600}.election-help a,.election-sources a{text-underline-offset:3px}.election-source-note{color:var(--color-muted);margin:0 0 12px;font-size:11px;line-height:1.7}.election-sources{flex-wrap:wrap;gap:8px 16px;margin:0 0 20px;font-size:11px;display:flex}.election-archive-link{justify-content:space-between;align-items:center;gap:12px;min-height:36px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.election-archive-link:hover{text-underline-offset:4px;text-decoration:underline}.election-checked{color:var(--color-muted);margin:24px 0 0;font-size:12px}.election-history{background:var(--color-surface);border-top:1px solid var(--color-border)}.election-history-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-card);min-width:0;padding:28px}.election-history-card header{align-items:center;gap:20px;margin-bottom:24px;display:flex}.election-history-card h3{margin:0;font-size:28px}.election-records{margin:0 0 16px;padding:0;list-style:none}.election-records li{border-top:1px solid var(--color-border)}.election-records a{justify-content:space-between;align-items:center;gap:20px;padding:16px 0;font-size:14px;font-weight:600;text-decoration:none;display:flex}.election-records a:hover{text-underline-offset:4px;text-decoration:underline}.election-records small{color:var(--color-muted);margin-top:4px;font-size:12px;font-weight:400;display:block}.election-history-links{flex-wrap:wrap;gap:12px 24px;margin-top:24px;display:flex}.election-history-links a{text-underline-offset:4px;align-items:center;gap:8px;min-height:32px;font-size:13px;font-weight:600;display:inline-flex}.election-no-records{color:var(--color-muted);font-size:14px;line-height:1.7}.election-hub a:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}@media (width<=1100px){.election-hub{--election-card-padding:24px}.election-card-header{gap:16px}.election-card-header h3{font-size:28px}.election-card-header img{width:68px;height:68px}.election-day{flex-direction:column;align-items:start}.election-status{text-align:left;max-width:none}.election-guide-heading>p br{display:none}.election-guide-heading>p{max-width:280px}}@media (width<=800px){.election-guide-grid,.election-history-grid{grid-template-columns:1fr;gap:24px}.election-guide-heading{display:block}.election-guide-heading>p{max-width:560px;margin-top:16px}.election-day{flex-direction:row;align-items:center}.election-card-header img{width:76px;height:76px}.election-card-header h3{font-size:32px}.election-status{text-align:right;max-width:90px}.election-guide-section{padding-top:36px}.election-guide-heading h2{font-size:36px}}@media (width<=420px){.election-hub{--election-card-padding:20px}.election-card-header img{width:60px;height:60px}.election-card-header h3{font-size:27px}.election-card-header .brand-label{letter-spacing:1px;font-size:9px}.election-location{padding:20px 16px}.election-key-dates li{grid-template-columns:56px minmax(0,1fr);gap:12px}.election-day time{font-size:26px}.election-status{max-width:68px;font-size:10px}.election-history-card{padding:24px 20px}.election-history-card h3{font-size:26px}}
