/* Shared local SVG map: desktop, touch and keyboard use the same geometry. */
#ses-region-map-root .entoma-coverage-map{position:relative;width:100%;margin:0;padding:0;background:transparent;isolation:isolate}
#ses-region-map-root .ecm-svg{display:block;width:100%;height:auto;max-width:none;overflow:visible;touch-action:pan-y}
#ses-region-map-root .ecm-district{cursor:pointer;outline:none}
#ses-region-map-root .ecm-area{fill:#e1e8f2;stroke:#8299b8;stroke-width:.85;vector-effect:non-scaling-stroke;transition:fill 240ms ease}
#ses-region-map-root .ecm-spb .ecm-area{fill:#d4e0f1;stroke-width:.7}
#ses-region-map-root .ecm-district:is(:hover,:focus-visible,.is-active) .ecm-area{fill:#c5d7f1}
#ses-region-map-root .ecm-glow{fill:none;stroke:#2855cb;stroke-width:1.25;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:0;filter:drop-shadow(0 0 1.4px #2855cb);pointer-events:none}
#ses-region-map-root .ecm-effects.is-active .ecm-glow{opacity:1}
#ses-region-map-root .ecm-dot{fill:#5e7fae;stroke:#fff;stroke-width:.8;vector-effect:non-scaling-stroke;pointer-events:none}
#ses-region-map-root .ecm-pulse{fill:none;stroke:#2855cb;stroke-width:1.3;transform-box:fill-box;transform-origin:center;pointer-events:none;animation:none;transform:none}
#ses-region-map-root .ecm-marker.is-active .ecm-dot{fill:#2855cb}
#ses-region-map-root .ecm-caption{min-height:42px;display:flex;justify-content:center;align-items:center;text-align:center;font-size:13px;line-height:1.45;padding:6px 12px;color:#526983;box-sizing:border-box}
#ses-region-map-root .ecm-caption [hidden]{display:none!important}
#ses-region-map-root .ecm-caption a{color:#2855cb;text-decoration:underline;text-underline-offset:3px;max-width:100%}
#ses-region-map-root .ecm-picker{display:none}


@media(max-width:767px),(pointer:coarse){
 #ses-region-map-root .ecm-picker{display:grid;gap:6px;font-size:13px;line-height:1.4;margin:10px 0 0;color:#526983}
 #ses-region-map-root .ecm-picker select{font:inherit;font-size:16px;width:100%;min-width:0;min-height:44px;box-sizing:border-box;border:1px solid #cbd7e8;border-radius:10px;padding:10px 32px 10px 12px;background:#fff;color:#142c49}
 #ses-region-map-root .ecm-caption{min-height:58px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){
 #ses-region-map-root .ecm-area{transition:none}
 #ses-region-map-root .ecm-pulse{animation:none;opacity:.2}
 #ses-region-map-root .ecm-effects.is-active .ecm-glow{animation:none;stroke-dasharray:none;filter:none}
}

/* Map-led footer: messaging above the full-width map, navigation below it. */
html body.entoma-production footer.site-footer.en-footer-organized.en-footer-feature>.wrap{max-width:var(--en-page-max,1800px)!important;width:calc(100% - 2 * var(--en-page-gutter,24px))!important;padding-inline:0!important;box-sizing:border-box}
html body.entoma-production footer.en-footer-feature .en-footer-social{display:flex!important;flex-flow:row nowrap!important;justify-content:flex-start;align-items:center;gap:8px!important;width:100%!important;margin:16px 0 20px!important;padding:0!important}
html body.entoma-production footer.en-footer-feature .en-footer-social a.footer-contact-pill{width:auto!important;min-width:0;flex:1;justify-content:center!important;box-shadow:none;transition:background-color 180ms ease,border-color 180ms ease}
html body.entoma-production footer.en-footer-feature .en-footer-social a:hover{background:#edf3ff;border-color:#8ea9d5}
html body.entoma-production footer.en-footer-feature .en-footer-map-feature,
html body.entoma-production footer.en-footer-feature .en-footer-map-feature>.wrap:has(>#ses-region-map-root),
html body.entoma-production footer.en-footer-feature #ses-region-map-root{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;box-sizing:border-box;background:transparent!important}
html body.entoma-production footer.en-footer-feature .en-footer-details{display:grid;grid-template-columns:minmax(200px,.9fr) minmax(230px,.9fr) minmax(360px,1.5fr);gap:40px;padding:32px 0;margin-top:24px;border-top:1px solid #dce5ef;align-items:start}
html body.entoma-production footer.en-footer-feature .footer-map{min-width:0;max-width:none;width:auto}
html body.entoma-production footer.en-footer-feature .footer-contact{display:flex!important;flex-direction:column;gap:10px;margin:0!important;padding:0!important;min-width:0}
html body.entoma-production footer.en-footer-feature .footer-phone{font-size:clamp(20px,1.6vw,28px)!important;white-space:nowrap;line-height:1.3}
html body.entoma-production footer.en-footer-feature .footer-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0!important;padding:0!important;border:0!important}
html body.entoma-production footer.en-footer-feature .footer-links nav{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0}
html body.entoma-production footer.en-footer-feature .footer-links h2{font-size:16px!important;line-height:1.4;margin:0 0 12px!important}
html body.entoma-production footer.en-footer-feature .footer-links a{display:flex;align-items:center;min-height:44px;font-size:14px;line-height:1.45;padding:8px 0;box-sizing:border-box}
html body.entoma-production footer.en-footer-feature .footer-bottom{border-top:1px solid #dce5ef;padding-top:20px;gap:16px;flex-wrap:wrap}
#ses-region-map-root .ecm-glow-head{stroke:#6a9dff;stroke-width:1.5;filter:drop-shadow(0 0 1.5px #4b80ee)}
@media(max-width:1023px){html body.entoma-production footer.en-footer-feature .en-footer-details{grid-template-columns:1fr 1fr;gap:28px}.en-footer-feature .footer-links{grid-column:1/-1}}
@media(max-width:600px){
 html body.entoma-production footer.site-footer.en-footer-organized.en-footer-feature>.wrap{padding-inline:0!important}
 html body.entoma-production footer.en-footer-feature .en-footer-social{gap:8px!important;margin-bottom:16px!important}
 html body.entoma-production footer.en-footer-feature .en-footer-social a.footer-contact-pill{min-width:0!important;flex:1;padding:10px 8px!important;font-size:13px!important;gap:6px!important;min-height:48px!important}
 html body.entoma-production footer.en-footer-feature .en-footer-social a.footer-contact-pill>img{width:20px!important;height:20px!important;flex-basis:20px!important}
 html body.entoma-production footer.en-footer-feature .en-footer-details{grid-template-columns:1fr;gap:24px;margin-top:16px;padding-block:24px}
 html body.entoma-production footer.en-footer-feature .footer-links{gap:16px}
 html body.entoma-production footer.en-footer-feature .footer-links a{font-size:13px}
}
@media(prefers-reduced-motion:reduce){html body.entoma-production footer.en-footer-feature .en-footer-social a{transition:none}#ses-region-map-root .ecm-glow-head{filter:none}}

html body.entoma-production footer.en-footer-feature .en-footer-map-title{font-size:clamp(24px,2.1vw,32px)!important;line-height:1.25;margin:0 0 28px!important;font-weight:750;color:#1e2733}
html body.entoma-production footer.en-footer-feature .footer-map .en-footer-social a.footer-contact-pill{padding:10px 8px!important;font-size:13px!important;gap:6px!important;min-height:48px!important}
html body.entoma-production footer.en-footer-feature .footer-map .en-footer-social a.footer-contact-pill>img{width:20px!important;height:20px!important;flex-basis:20px!important}

@media(max-width:1200px){html body.entoma-production footer.en-footer-feature .footer-map .en-footer-social{align-items:stretch}html body.entoma-production footer.en-footer-feature .footer-map .en-footer-social a.footer-contact-pill{flex-direction:column!important;font-size:12px!important;padding:8px 4px!important}}

#ses-region-map-root .ecm-motion-toggle{display:block;min-height:44px;margin:0 auto;padding:8px 12px;background:transparent;border:0;border-radius:8px;color:#526983;font:inherit;font-size:12px;line-height:1.4;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
#ses-region-map-root .ecm-motion-toggle:focus-visible{outline:2px solid #2855cb;outline-offset:2px}

/* Soft travelling light stays above every district; markers remain the top layer. */
#ses-region-map-root :is(.ecm-effects-layer,.ecm-markers-layer),#ses-region-map-root :is(.ecm-effects-layer,.ecm-markers-layer) *{pointer-events:none}
#ses-region-map-root .ecm-halo{fill:none;stroke:#3978ff;stroke-width:8;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:blur(5px);opacity:0}
#ses-region-map-root .ecm-effects.is-active .ecm-halo{opacity:.6}

/* Map toolbar keeps district identity beside the heading, above both map views. */
#ses-region-map-root .ecm-heading-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
html body.entoma-production footer.en-footer-feature .ecm-heading-row .en-footer-map-title{margin:0!important;flex-shrink:0}
#ses-region-map-root .ecm-heading-row .ecm-caption{justify-content:flex-start;text-align:left;min-height:52px;max-width:560px;padding:12px 18px;border:1px solid #d9e4f4;border-radius:14px;background:#edf3fd;font-size:14px;transition:background-color 200ms ease,border-color 200ms ease}
#ses-region-map-root .ecm-caption.has-district{background:#e3edff;border-color:#b6cbed}
#ses-region-map-root .ecm-caption a{font-weight:600;text-decoration:none;color:#214fb8}
#ses-region-map-root .ecm-view-switch{display:inline-flex;gap:4px;padding:5px;border:1px solid #d8e2ef;border-radius:14px;background:#eaf0f8;margin-bottom:20px;max-width:100%;box-sizing:border-box}
#ses-region-map-root .ecm-view-switch button{border:1px solid transparent;border-radius:10px;padding:12px 18px;min-height:46px;background:transparent;color:#526983;font:inherit;font-size:14px;line-height:1.4;cursor:pointer;transition:background-color 200ms ease,color 200ms ease,box-shadow 200ms ease}
#ses-region-map-root .ecm-view-switch button[aria-pressed=true]{background:#fff;border-color:#d4e1f3;color:#214fb8;box-shadow:0 2px 8px #17355412}
#ses-region-map-root .ecm-view-switch button:hover{color:#214fb8;background:#f8faff}
#ses-region-map-root :is(.ecm-view-switch button,.ecm-caption a):focus-visible{outline:2px solid #2855cb;outline-offset:3px}
#ses-region-map-root .ecm-viewport{overflow:hidden;border-radius:18px}
#ses-region-map-root .ecm-svg{overflow:hidden}
@media(max-width:767px){#ses-region-map-root .ecm-heading-row{align-items:stretch;flex-direction:column;gap:12px;margin-bottom:14px}#ses-region-map-root .ecm-heading-row .ecm-caption{max-width:none;min-height:66px;font-size:13px;padding:12px 14px}#ses-region-map-root .ecm-view-switch{display:flex;width:100%}#ses-region-map-root .ecm-view-switch button{flex:1;padding:10px 8px;font-size:12px}}
@media(prefers-reduced-motion:reduce){#ses-region-map-root :is(.ecm-caption,.ecm-view-switch button){transition:none}}
/* Reset inherited footer button sizing so the two view labels never overlap. */
html body.entoma-production #ses-region-map-root .ecm-view-switch{width:fit-content;max-width:100%;align-items:stretch}
html body.entoma-production #ses-region-map-root .ecm-view-switch button{position:static!important;display:block!important;width:auto!important;max-width:none!important;min-width:0!important;flex:0 1 auto;margin:0!important;white-space:normal!important;text-align:center;transform:none!important}
@media(max-width:767px){html body.entoma-production #ses-region-map-root .ecm-view-switch{width:100%}html body.entoma-production #ses-region-map-root .ecm-view-switch button{flex:1 1 0;padding:10px 8px!important}}

/* Keep both views slightly more compact, and light weights stable during zoom. */
#ses-region-map-root .ecm-viewport{width:88%;max-width:1360px;margin-inline:auto}
#ses-region-map-root .ecm-pulse{vector-effect:non-scaling-stroke;stroke-width:1.1}
#ses-region-map-root .ecm-halo{filter:blur(var(--ecm-halo-blur,5px))}
#ses-region-map-root .ecm-glow-head{stroke:#b1d7ff;stroke-width:1.7;filter:drop-shadow(0 0 var(--ecm-head-blur,1.5px) #347dff)}
#ses-region-map-root .ecm-effects.is-active .ecm-glow:not(.ecm-glow-head){opacity:.12}
#ses-region-map-root .ecm-comet-segment{fill:none;stroke:#3178ed;stroke-width:1.4;stroke-linecap:round;vector-effect:non-scaling-stroke;display:none}
#ses-region-map-root .ecm-effects.is-active .ecm-comet-segment{display:block}
@media(max-width:767px){#ses-region-map-root .ecm-viewport{width:100%}}
#ses-region-map-root [data-motion=off] .ecm-effects.is-active .ecm-glow:not(.ecm-glow-head){opacity:1}
#ses-region-map-root .entoma-coverage-map{scroll-margin-top:24px}
#ses-region-map-root .ecm-heading-row{position:sticky;top:8px;z-index:3;background:#f6f7f9;padding-block:8px}
body.admin-bar #ses-region-map-root .ecm-heading-row{top:40px}
@media(max-width:782px){body.admin-bar #ses-region-map-root .ecm-heading-row{top:54px}}

/* Local district portraits at the start of district and district-service pages. */
html body.entoma-production main .en-district-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,40%);gap:32px;align-items:center;margin-bottom:24px}
html body.entoma-production main .en-district-heading h1{margin-bottom:0!important;min-width:0}
html body.entoma-production main .en-district-portrait{margin:0!important;padding:12px!important;min-width:0;background:radial-gradient(ellipse,#eaf2ff 0%,transparent 70%);text-align:center}
html body.entoma-production main .en-district-silhouette{display:block;width:100%;height:430px;overflow:visible}
html body.entoma-production main .en-district-boundary{fill:#dbe7f8;stroke:#7297c9;stroke-width:1;vector-effect:non-scaling-stroke}
html body.entoma-production main .en-district-aura{fill:none;stroke:#4b8bfa;stroke-width:5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px #4388f0);opacity:.2;animation:en-district-breathe 3.8s ease-in-out infinite;animation-play-state:paused}
html body.entoma-production main .en-district-portrait.is-visible .en-district-aura{animation-play-state:running}
html body.entoma-production main .en-district-portrait figcaption{font-size:12px;line-height:1.5;color:#526983;margin-top:8px}
@keyframes en-district-breathe{0%,100%{opacity:.18}50%{opacity:.65}}
@media(max-width:700px){html body.entoma-production main .en-district-heading{grid-template-columns:1fr;gap:8px;margin-bottom:20px}html body.entoma-production main .en-district-silhouette{height:300px}}
@media(prefers-reduced-motion:reduce){html body.entoma-production main .en-district-aura{animation:none;opacity:.25}}
html body.entoma-production main .en-district-heading-copy{min-width:0}
html body.entoma-production main .en-district-heading-copy h1{margin-bottom:20px!important}
html body.entoma-production main .en-district-heading-copy>p{margin:0 0 20px!important}

html body.entoma-production main .en-territory-point{fill:#2854d5;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}
html body.entoma-production main .en-territory-point-halo{fill:#558cfa;opacity:.32;transform-box:fill-box;transform-origin:center;animation:en-territory-point-pulse 2.8s ease-out infinite;animation-play-state:paused}
html body.entoma-production main .en-district-portrait.is-visible .en-territory-point-halo{animation-play-state:running}
@keyframes en-territory-point-pulse{0%{transform:scale(.6);opacity:.5}100%{transform:scale(2.1);opacity:0}}
@media(prefers-reduced-motion:reduce){html body.entoma-production main .en-territory-point-halo{animation:none;opacity:.25}}

html body.entoma-production main .en-district-portrait figcaption{display:none}
