.pfs-world-map {
  --pfs-forest:#344139; --pfs-sage:#71866f; --pfs-sage-dark:#526d59;
  --pfs-gold:#c6a76b; --pfs-ivory:#fbfaf6;
  max-width:1100px; margin:2.5rem auto; padding:clamp(1rem,3vw,2rem);
  color:var(--pfs-forest); background:var(--pfs-ivory);
  border:1px solid rgba(198,167,107,.55); border-radius:24px;
  box-shadow:0 12px 34px rgba(52,65,57,.07);
}
.pfs-map-heading{text-align:center;margin:0 auto 1rem;max-width:760px}
.pfs-map-ornament{display:block;color:var(--pfs-gold);font-size:2rem;line-height:1.1}
.pfs-map-heading h2{margin:.35rem 0 .5rem;color:var(--pfs-forest);font:400 clamp(1.65rem,4vw,2.55rem)/1.2 Georgia,"Times New Roman",serif}
.pfs-map-heading p{margin:0;color:#667064;font-size:1rem;line-height:1.6}
.pfs-map-stage{position:relative;min-height:240px;padding:.25rem;background:radial-gradient(ellipse at center,#fffefa 0%,#f4f1e8 76%,#eeeadf 100%);border:1px solid #e7dfcf;border-radius:18px;overflow:hidden}
.pfs-map-svg{display:block;width:100%;height:auto;min-height:220px}
.pfs-map-country{fill:#aebda9;stroke:#fbfaf6;stroke-width:.65;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .15s ease,stroke .15s ease,opacity .15s ease}
.pfs-map-country:hover,.pfs-map-country:focus{fill:#d1b578;stroke:#8e713c;stroke-width:1.35;outline:none}
.pfs-map-country.pfs-selected{fill:#c6a76b;stroke:#8e713c;stroke-width:1.5}
.pfs-map-country:focus-visible{stroke:#344139;stroke-width:2.5}
.pfs-map-graticule{fill:none;stroke:#d8d0bf;stroke-width:.45;stroke-dasharray:2 5;opacity:.7;pointer-events:none}
.pfs-map-loading{position:absolute;inset:0;display:grid;place-items:center;color:#667064;font-size:.95rem;z-index:1}
.pfs-map-loading.pfs-hidden{display:none}
.pfs-map-message{min-height:1.6em;margin:1rem .25rem .25rem;text-align:center;color:var(--pfs-sage-dark);font-weight:600}
.pfs-map-language-note{max-width:780px;margin:.25rem auto 0;text-align:center;color:#77796f;font-size:.82rem;line-height:1.5}
@media(max-width:600px){.pfs-world-map{padding:.85rem;border-radius:17px}.pfs-map-stage{min-height:170px}.pfs-map-svg{min-height:170px}}
@media(prefers-reduced-motion:reduce){.pfs-map-country{transition:none}}
