/* Animated Africa map - wwwroot/css/ccs-map.css
   Colours sampled from the approved design PDFs:
   navy #050e26 / #0a1f4d, mint #5ef2e2, teal #00c9b7, gold #f5b73a, pale gold #ffe29a
   Gold nodes = Aga Khan hospitals / centres. Pale-gold nodes = one per country (capital). */
.ccs-map{width:100%;height:auto;max-width:620px;overflow:visible;filter:drop-shadow(0 0 22px rgba(0,201,183,.55)) drop-shadow(0 0 64px rgba(0,201,183,.3))}
/* Continent: dark teal fill + glowing mint outline, as in the design */
.ccs-map__fill{fill:rgba(0,201,183,.16);stroke:none}
.ccs-map__outline{fill:none;stroke:#5ef2e2;stroke-width:1.8;stroke-linejoin:round;opacity:.9;filter:drop-shadow(0 0 4px #5ef2e2)}
/* Land dots: bright wave converges on Nairobi (--b = 0 for outermost band) */
.ccs-map__dots{fill:none;stroke:#5ef2e2;stroke-width:3;stroke-linecap:round;opacity:.6;animation:ccs-map-wave 4.5s ease-in-out infinite;animation-delay:calc(var(--b) * -0.5s)}
@keyframes ccs-map-wave{0%,100%{opacity:.4}45%{opacity:1;stroke:#b8fff6}}
/* Country links: pale-gold light moves FROM each country TO Nairobi */
.ccs-map__flows{filter:drop-shadow(0 0 5px rgba(245,183,58,.95))}
.ccs-map__flow{stroke:#ffe29a;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:10 96;opacity:1;animation:ccs-map-flow 4.2s linear infinite;animation-delay:var(--d,0s)}
.ccs-map__pt{fill:#ffe29a;filter:drop-shadow(0 0 5px #f5b73a)}
.ccs-map__halo{fill:none;stroke:#ffe29a;stroke-width:1.2;opacity:.7;animation:ccs-map-twinkle 3.6s ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes ccs-map-twinkle{0%,100%{opacity:.15}50%{opacity:.95}}
/* Aga Khan facility links: brightest */
.ccs-map__lines{filter:drop-shadow(0 0 7px rgba(245,183,58,1))}
.ccs-map__line{stroke:#ffe29a;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:12 52;opacity:1;animation:ccs-map-flow 2.4s linear infinite;animation-delay:var(--d,0s)}
@keyframes ccs-map-flow{from{stroke-dashoffset:130}to{stroke-dashoffset:0}}
.ccs-map__core{fill:#f5b73a;filter:drop-shadow(0 0 9px #f5b73a)}
.ccs-map__ring{fill:none;stroke:#ffe29a;stroke-width:1.8;transform-box:fill-box;transform-origin:center;animation:ccs-map-pulse 2.6s ease-out infinite;animation-delay:var(--d,0s)}
.ccs-map__ring--2{animation-delay:1.3s}
.ccs-map__glow{fill:rgba(245,183,58,.28);filter:blur(5px)}
.ccs-map__city--hub .ccs-map__core{fill:#ffe29a;filter:drop-shadow(0 0 12px #f5b73a)}
.ccs-map__city--hub .ccs-map__ring{stroke-width:2.4}
@keyframes ccs-map-pulse{0%{transform:scale(1);opacity:1}100%{transform:scale(5);opacity:0}}
.ccs-map__label{fill:#fff;font:600 14px Inter,system-ui,sans-serif;paint-order:stroke;stroke:#050e26;stroke-width:3.5px}
/* Remove the country links by adding class "ccs-map--no-flows" to the svg */
.ccs-map--no-flows .ccs-map__flows{display:none}
@media (max-width:640px){.ccs-map{filter:drop-shadow(0 0 16px rgba(0,201,183,.5))}.ccs-map__flows,.ccs-map__lines,.ccs-map__outline,.ccs-map__pt{filter:none}.ccs-map__glow{filter:none}.ccs-map__ring--2,.ccs-map__halo{display:none}.ccs-map__flow:nth-child(even){display:none}}
@media (prefers-reduced-motion:reduce){.ccs-map *{animation:none!important}.ccs-map__line,.ccs-map__flow{stroke-dasharray:none;opacity:.45}.ccs-map__ring{display:none}.ccs-map__dots{opacity:.8}}
