
:root{
    /* Nya tokens för den här komponenten - krockar inte med befintliga :root-variabler i site.css */
    --signal:#e8483a;--signal-text:#ffffff;
    --c-agare:#2c4a6e;--c-ledning:#2e7d6b;--c-ops:#6fa84a;--c-hr:#e8735c;--c-it:#4a90c4;--c-ekonomi:#e0a83e;--c-bridge:#f3d9e5;
    --l2-center:#1565c0;--l2-section:#2e9e44;--l2-page:#ef8a1e;
  }
.map-wrap{max-width:var(--max);margin:32px auto 0;padding:0 28px}
  .map-frame{position:relative;background:var(--card);border:1px solid var(--line);border-radius:26px;overflow:hidden}
  .force-motion-btn{position:absolute;top:14px;right:14px;z-index:5;background:var(--ink);color:#fff;border:none;border-radius:999px;padding:8px 14px;font-size:12px;font-family:Inter,sans-serif;cursor:pointer;opacity:.88}
  .force-motion-btn:hover{opacity:1}
  .satellite circle{fill:var(--paper);stroke:var(--accent);stroke-width:1.4}
  .satellite text{fill:var(--accent);font-weight:800;font-size:10px}
  .satellite{cursor:pointer}
  .l2-close{position:absolute;top:14px;left:14px;z-index:6;background:var(--ink);color:#fff;border:none;border-radius:50%;width:32px;height:32px;font-size:16px;cursor:pointer;display:none;align-items:center;justify-content:center}
  .l2-close.show{display:flex}
  .l2-hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font-size:12px;color:var(--muted);background:rgba(255,255,255,.85);padding:5px 12px;border-radius:999px;display:none}
  .l2-hint.show{display:block}
  @keyframes l2breathe{0%,100%{opacity:.9}50%{opacity:1}}
  .l2-breathe{animation:l2breathe 3.2s ease-in-out infinite}
  @keyframes l2popin{0%{transform:scale(.3);opacity:0}70%{transform:scale(1.08);opacity:1}100%{transform:scale(1);opacity:1}}
  .l2-popin{transform-box:fill-box;transform-origin:center;animation:l2breathe 3.2s ease-in-out infinite, l2popin .32s ease-out}
  .map-frame svg{display:block;width:100%;height:auto}

  .node{cursor:pointer}
  .node.decorative{cursor:default}
  .node circle{transition:filter .15s}
  .node:hover circle.clickable{filter:brightness(1.07)}
  .node text{font-family:Inter,sans-serif;pointer-events:none;user-select:none}
  .node text.tier-label{font-family:Georgia,serif;font-weight:500}

  .edge{stroke:var(--line);stroke-width:1.4;fill:none}
  .edge.bridge-edge{stroke:var(--accent2);stroke-width:1.1}
  .edge.signal-edge{stroke:var(--signal);stroke-width:1.4;stroke-dasharray:2 3}
  .node.outer{opacity:.4}
  .node.outer circle{fill:var(--paper);stroke:var(--muted);stroke-width:1.2;stroke-dasharray:3 4}
  .node.outer text{fill:var(--muted);font-style:italic}

  .map-caption{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 26px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);flex-wrap:wrap}
  .legend{display:flex;gap:14px;flex-wrap:wrap}
  .legend span{display:inline-flex;align-items:center;gap:6px}
  .legend i{width:10px;height:10px;border-radius:50%;display:inline-block}


/* Integrated preview: component lives between the home hero and the first editorial section. */
.living-map-section{max-width:var(--max);margin:-18px auto 70px;padding:0 28px}
.living-map-section .map-wrap{max-width:none;margin:0;padding:0}
@media(max-width:760px){.living-map-section{display:none!important}}
