@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(assets/noto-sans-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(assets/noto-sans-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(assets/noto-sans-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: normal;
  font-display: swap;
  src: url(assets/noto-sans-800.ttf) format('truetype');
}

:root{--red:#c51f32;--ink:#222322;--paper:#fff;--muted:#676962;--line:#e5e4de;--soft:#f5f5f0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Noto Sans",Arial,sans-serif;line-height:1.55}a{color:inherit;text-underline-offset:5px}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.skip{position:absolute;left:16px;top:-100px;background:white;padding:12px}.skip:focus{top:12px;z-index:10}header{display:flex;align-items:center;justify-content:space-between;padding:25px 0;border-bottom:1px solid var(--line);gap:24px}.logo{width:290px;height:auto;display:block}nav{display:flex;gap:30px;font-size:14px;font-weight:600}nav a{text-decoration:none}nav a:hover{color:var(--red)}.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:70px;padding-top:64px;padding-bottom:62px;align-items:stretch}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.3px;color:var(--red);margin:0 0 20px}h1{font-size:clamp(48px,5.9vw,78px);letter-spacing:-3px;line-height:1.04;margin:0 0 28px;font-weight:800}h1 em{font-style:normal;color:var(--red)}.intro{font-size:17px;line-height:1.7;margin:0 0 28px;color:#52554e}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:28px;padding:14px 20px;border:1px solid var(--line);border-radius:5px;text-decoration:none;font-size:14px;font-weight:600}.primary{background:var(--red);border-color:var(--red);color:#fff}.campaign{background:var(--red);color:white;padding:32px 34px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.campaign:after{content:'ΑΣΕ';position:absolute;right:-15px;bottom:38px;transform:rotate(-12deg);font-size:150px;font-weight:900;opacity:.06}.tag{font-size:12px;letter-spacing:2px}.campaign h2{font-size:clamp(30px,3.4vw,45px);line-height:1.13;letter-spacing:-1px;margin:28px 0;font-weight:800}.campaign-end{border-top:1px solid #ffffff55;padding-top:18px;display:flex;justify-content:space-between;font-size:15px}.campaign-end span{font-size:26px}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0}.quick>div{position:relative;padding-left:40px}.num{position:absolute;left:0;color:var(--red);font-size:12px;font-weight:700;top:6px}h3{font-size:18px;margin:0 0 8px}.quick p{font-size:13px;color:var(--muted);margin:0;max-width:275px}.section{padding-top:62px;padding-bottom:62px}.section-title{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}h2{font-size:36px;letter-spacing:-1px;line-height:1.2;margin:0 0 20px}.section-title h2{margin:0}.section-title p:last-child{font-size:14px;color:var(--muted);margin:0}.finder{background:var(--soft);border-radius:10px;display:grid;grid-template-columns:1fr 1.2fr;gap:55px;padding:32px}.toggle{display:flex;gap:16px;flex-wrap:wrap}.toggle label{font-size:14px}fieldset{border:0;padding:0;margin:0}legend,.field{font-size:12px;font-weight:700;margin:0 0 12px}.field{display:block;margin-top:24px}select{width:100%;padding:13px;border:1px solid #d6d8ce;background:white;border-radius:5px;font:inherit;font-size:15px}.small{font-size:12px;color:var(--muted)}.council{padding:12px 0;border-bottom:1px solid #dadcd3}.council span{font-size:11px;letter-spacing:1px;color:var(--muted);display:block;margin-bottom:5px}.council strong{font-size:18px}.council:last-child{border:0}.guide-bg{background:var(--soft)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:32px 0}.steps b{font-size:32px;color:var(--red)}.steps h3{margin-top:16px}.steps p,.steps a{font-size:14px}.steps a{font-weight:600;color:var(--red)}.faq{margin-top:30px}details{border-top:1px solid #d9dcd1;padding:17px 0}summary{font-size:15px;font-weight:600;cursor:pointer}details p{font-size:14px;max-width:760px}.material-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.material-grid p{font-size:15px}.pending{border-left:3px solid var(--red);padding:10px 16px;background:var(--soft);color:var(--muted)}footer{border-top:1px solid var(--line);padding:28px 0}footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px}footer img{width:230px}footer p,footer a{font-size:12px}footer span{color:var(--muted)}:focus-visible{outline:3px solid #1777c5;outline-offset:4px}@media(max-width:760px){.wrap{width:calc(100% - 36px)}header{align-items:flex-start;flex-direction:column;padding:18px 0}.logo{width:250px}nav{gap:20px;font-size:12px;flex-wrap:wrap}.hero{grid-template-columns:1fr;gap:30px;padding:40px 0}h1{font-size:58px}.campaign{min-height:310px}.campaign h2{font-size:38px}.quick{grid-template-columns:1fr;gap:24px}.quick p{max-width:none}.section{padding:40px 0}.section-title{flex-direction:column;align-items:flex-start}h2{font-size:30px}.finder{grid-template-columns:1fr;gap:20px;padding:22px}.steps,.material-grid{grid-template-columns:1fr;gap:26px}footer .wrap{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.map-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:start}.map-panel{background:#f0f4f5;border-radius:10px;padding:12px}.map-panel svg{display:block;width:100%;height:auto}.map-region{fill:#d7dcdb;stroke:white;stroke-width:1.3;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .15s}.map-region:hover{fill:#eda3ac}.map-region.selected{fill:var(--red)}.map-caption{font-size:14px;font-weight:600;text-align:center}.map-panel>.small{text-align:center;font-size:11px}.map-layout .finder{display:block;padding:26px}.map-layout .councils{margin-top:22px}.map-region.selected:hover{fill:#b21a2d}@media(max-width:760px){.map-layout{grid-template-columns:1fr}.map-layout .finder{padding:22px}.map-panel{padding:6px}}

header{align-items:center}nav{gap:18px;flex-wrap:wrap;justify-content:flex-end;max-width:720px}.about-intro{max-width:850px;font-size:17px}.council-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:28px 0 40px}.council-levels article{border-top:3px solid var(--red);padding-top:20px}.council-levels .eyebrow{font-size:10px;letter-spacing:.7px}.council-levels p,.about-columns p,.about-columns li{font-size:15px}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px}.about-columns li{margin-bottom:12px}blockquote{font-size:25px;font-weight:700;border-left:4px solid var(--red);margin:35px 0;padding:10px 25px;max-width:930px}.poster-preview{display:block;width:min(100%,280px);height:auto;margin:20px 0}@media(max-width:760px){nav{justify-content:flex-start}.council-levels,.about-columns{grid-template-columns:1fr}.council-levels .eyebrow{font-size:12px}blockquote{font-size:21px}}
.council-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.council-tabs button{font:inherit;font-size:13px;padding:12px 16px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);cursor:pointer}.council-tabs button[aria-pressed=true]{background:var(--red);color:white;border-color:var(--red)}.national-view .map-region{cursor:default}.national-view .map-region.selected:hover{fill:var(--red)}.national-view .finder{max-width:800px;width:100%;margin:auto}[hidden]{display:none!important}

.national-view .finder{max-width:none}.candidate-list{display:grid;grid-template-columns:1fr 1fr;column-gap:44px;row-gap:0;padding-left:28px;margin:20px 0}.candidate-list li{padding:12px 8px;border-bottom:1px solid #d9ddd3;font-size:14px}.candidate-list strong{display:block;font-size:15px}.candidate-list span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.candidate-search{font:inherit;width:min(100%,560px);padding:13px;border:1px solid #d6d8ce;border-radius:5px}.ballot-source{font-size:14px;color:var(--red)}.candidate-more{font:inherit;padding:12px 18px;border:1px solid var(--line);background:white;border-radius:5px}.councils>h3{margin-top:24px}@media(max-width:760px){.candidate-list{grid-template-columns:1fr}.candidate-search{font-size:16px}}
/* Explicit foregrounds prevent inherited preview/theme colors. */
body{color:#222322;background:#fff}header,main,footer,.section,.finder,.map-panel,.quick,.councils,.candidate-list{color:#222322}h1,h2,h3,legend,.field,summary,.candidate-list strong,.council strong{color:#222322}.intro,.small,.quick p,.candidate-list span,.council span,.map-panel>.small,footer span,.section-title p:last-child{color:#50534d}.about-intro p,.about-columns p,.about-columns li,.council-levels p,.steps p,.material-grid p,details p{color:#30332e}.campaign,.campaign h2,.campaign .tag,.campaign-end,.campaign-end span{color:#fff}.primary,.council-tabs button[aria-pressed=true]{color:#fff}.eyebrow,h1 em,.num,.steps b,.steps a,.ballot-source{color:#b21a2d}.button:not(.primary),.council-tabs button:not([aria-pressed=true]),.candidate-more{color:#222322;background:#fff}select,.candidate-search,input{color:#222322;background:#fff}.candidate-search::placeholder{color:#5a5e56;opacity:1}input[type=radio]{accent-color:#b21a2d}.toggle label{color:#222322}.pending{color:#50534d}

.national-view .finder{background:#fff;border-top:4px solid #c51f32;border-radius:0;padding:28px 0}.national-view .council{border:0;padding:20px 0 0}.national-view .council>strong{font-size:32px;display:block}.national-view .council>p{max-width:650px}.ballot-heading{font-size:24px;color:#b21a2d;margin:28px 0 14px!important}.candidate-list.ballot-names{list-style:none;padding:0;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:34px;row-gap:0;border-top:1px solid #dedfd9;margin-top:24px}.ballot-names li{padding:15px 0;border-bottom:1px solid #e7e8e2;min-width:0}.ballot-names strong{font-size:15px;font-weight:600;line-height:1.4}.ballot-names span{font-size:12px;color:#50534d;line-height:1.4;margin-top:4px}.national-view .councils>.field{margin-top:28px}.candidate-more{display:block;margin:24px auto 0;color:#b21a2d;border-color:#b21a2d}.candidate-search{max-width:420px}@media(max-width:900px){.candidate-list.ballot-names{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.candidate-list.ballot-names{grid-template-columns:1fr}.ballot-names li{display:flex;justify-content:space-between;gap:14px}.ballot-names strong{max-width:65%}.ballot-names span{text-align:right;max-width:35%}.ballot-heading{font-size:21px}}

.ballot-page{padding-top:48px;padding-bottom:60px}.ballot-page h1{font-size:48px;margin-bottom:16px}.ballot-intro{color:#50534d}.ballot-page .ballot-heading{border-top:4px solid #c51f32;padding-top:24px}.councils .button{margin-top:12px}.ballot-page .candidate-list{margin-top:22px}@media(max-width:760px){.ballot-page h1{font-size:36px}}

.material-teaser{display:flex;align-items:center;justify-content:space-between;gap:24px}.material-teaser h2{margin-bottom:12px}.material-teaser p{color:#50534d}.materials-page{padding-top:48px;padding-bottom:48px}.materials-page h1{font-size:48px}.materials-nav{justify-content:flex-start;gap:24px;margin:24px 0 40px}.materials-section{padding:36px 0;border-top:1px solid #dedfd9}.declaration-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.declaration-grid article{background:#f5f5f0;padding:28px;border-radius:8px}.material-type{font-size:12px;color:#b21a2d;font-weight:700;display:block;margin-bottom:16px}.declaration-grid h3{font-size:24px}.declaration-grid p,.poster-grid p{font-size:14px;color:#50534d}.poster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.poster-grid img{display:block;width:100%;height:auto;margin-bottom:22px}.poster-grid .button{font-size:13px;padding:12px 16px}@media(max-width:760px){.material-teaser{align-items:flex-start;flex-direction:column}.declaration-grid{grid-template-columns:1fr}.poster-grid{grid-template-columns:1fr}.poster-grid article{max-width:400px}.materials-page h1{font-size:36px}}

.sources-heading{font-size:16px;margin:22px 0 12px}.sources-list{padding-left:22px;max-width:850px}.sources-list li{font-size:14px;margin:0 0 16px}.sources-list a{font-weight:600;color:#b21a2d}.sources-list span{display:block;margin-top:5px;color:#50534d}

/* Individual local directorates use real administrative boundaries. */
.map-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.map-toolbar button{font:inherit;font-size:12px;font-weight:600;min-width:34px;min-height:34px;padding:6px 10px;border:1px solid #d4dcd9;border-radius:5px;color:#222322;background:#fff;cursor:pointer}
.map-toolbar button:hover{border-color:#b21a2d;color:#b21a2d}.map-toolbar button:disabled{opacity:.4;cursor:default}
.map-stage{position:relative;overflow:hidden;border-radius:6px}.map-stage svg{touch-action:pan-y}
.map-stage svg[data-zoomed=true]{touch-action:none;cursor:grab}.map-stage svg.is-dragging,.map-stage svg.is-dragging path{cursor:grabbing}
.map-area{fill:#d7dcdb;stroke:#fff;stroke-width:.9;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .15s}
.map-area:hover,.map-area:focus-visible{fill:#eda3ac}.map-area.selected{fill:var(--red)}.map-area.selected:hover{fill:#b21a2d}
.map-area:focus-visible,.map-region:focus-visible{outline:none;stroke:#222322;stroke-width:2}
.map-neutral{fill:#d7dcdb;stroke:#fff;stroke-width:.9;vector-effect:non-scaling-stroke;pointer-events:none}
.map-tooltip{position:absolute;z-index:3;pointer-events:none;width:max-content;max-width:calc(100% - 16px);padding:10px 13px;background:#222322;color:#fff;border-radius:6px;box-shadow:0 4px 15px #0002;font-size:12px;line-height:1.45}
.map-tooltip strong{display:block;color:#fff;font-size:13px}.map-tooltip span{display:block;color:#e2e7e2;margin-top:3px}
.map-panel>.map-help{font-size:12px;margin:12px 4px 8px}.map-caption{margin:10px 4px}
@media(max-width:760px){.map-toolbar button{min-height:40px}.map-tooltip{font-size:11px}.map-tooltip strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.map-area,.map-region{transition:none}}
/* Keep the template beneath the central poster, including on mobile. */
.poster-grid>.poster-template{grid-column:1;grid-row:2}
.poster-grid>.poster-primary{grid-column:2;grid-row:1}
.poster-grid>.poster-secondary{grid-column:3;grid-row:1}
@media(max-width:760px){.poster-grid>.poster-template,.poster-grid>.poster-primary,.poster-grid>.poster-secondary{grid-column:auto;grid-row:auto}}