/* Project map. Uses the site's colours if variables exist, else these fallbacks. */
.pm{--pm-ink:#0D2535;--pm-water:#1D4F6E;--pm-ochre:#C8862B;--pm-ochre-d:#85540F;--pm-muted:#50606B;--pm-rule:#CFD4D2;--pm-shade:#EBE8DF}
.pm-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:32px;align-items:start}
.pm-grid.pm-compact{grid-template-columns:minmax(0,1fr)}
.pm-map{position:relative;padding:0}
.pm-map svg{width:100%;height:auto;display:block;overflow:visible}
.pm-base circle{fill:#1B3A5C}
.pm-hi circle{fill:var(--pm-ochre);cursor:pointer;transition:fill .15s}
.pm-hi circle.pm-on{fill:var(--pm-ink)}
.pm-mk{cursor:pointer;outline:none}
.pm-halo{fill:var(--pm-ochre);opacity:.28;transition:r .15s,opacity .15s}
.pm-core{fill:#fff;stroke:var(--pm-ink);stroke-width:2.5}
.pm-mk:hover .pm-halo,.pm-mk:focus .pm-halo,.pm-mk.pm-on .pm-halo{r:20;opacity:.5}
.pm-mk:focus-visible .pm-core{stroke:#E0AE68;stroke-width:3.5}
.pm-stats{position:absolute;left:0;bottom:2%;display:flex;gap:clamp(24px,4vw,56px);pointer-events:none}
.pm-stats strong{display:block;font-family:"Source Serif 4",Georgia,serif;font-weight:500;font-size:clamp(44px,6.2vw,84px);line-height:1;color:var(--pm-ink)}
.pm-stats span{display:block;margin-top:8px;max-width:150px;font-size:13px;line-height:1.35;color:var(--pm-muted)}
.pm-tip{position:absolute;z-index:5;max-width:280px;background:#0D2535;color:#fff;border-radius:6px;padding:12px 14px;font-size:13px;line-height:1.45;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .12s,transform .12s;box-shadow:0 6px 20px rgba(13,37,53,.25)}
.pm-tip.pm-show{opacity:1;transform:none}
.pm-tip-d{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#E0AE68;font-weight:600;margin-bottom:6px}
.pm-tip-it+.pm-tip-it{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.18)}
.pm-tip b{display:block;font-family:"Source Serif 4",Georgia,serif;font-size:15px;font-weight:600}
.pm-tip span{color:#C9D3D8}
.pm-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--pm-ink)}
.pm-list li{border-bottom:1px solid var(--pm-rule);padding:12px 8px}
.pm-list li b{display:block;font-family:"Source Serif 4",Georgia,serif;font-size:18px;color:var(--pm-ink);font-weight:600}
.pm-list li span{display:block;font-size:14px;color:var(--pm-muted)}
.pm-list li.pm-on{background:var(--pm-shade)}
@media(max-width:760px){.pm-grid{grid-template-columns:1fr}.pm-stats{position:static;margin-top:16px;gap:32px}.pm-stats strong{font-size:44px}
.pm-tip{position:fixed;left:12px!important;right:12px;top:auto!important;bottom:12px;max-width:none;z-index:50}}
@media(prefers-reduced-motion:reduce){.pm-tip,.pm-halo,.pm-hi circle{transition:none}}
