/* Interactive maps + chart tooltips (shared by both sites) */
.imap{margin-top:6px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.imap-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px}
.imap-badge{display:inline-flex;align-items:center;gap:7px;background:#E9C46A;color:#0E2A3F;font-weight:800;font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase;padding:6px 12px 6px 10px;border-radius:999px;box-shadow:0 2px 10px rgba(233,196,106,.35)}
.imap-badge i{width:9px;height:9px;border-radius:50%;background:#0E2A3F;position:relative}
.imap-badge i:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #0E2A3F;opacity:0;animation:imapPing 1.8s ease-out infinite}
@keyframes imapPing{0%{transform:scale(.6);opacity:.8}100%{transform:scale(1.6);opacity:0}}
.imap-hint{font-size:13.5px;font-weight:600;opacity:.92}
.imap-pills{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.imap-pills button{font:inherit;font-size:14px;line-height:1.2;text-align:center;font-weight:700;color:inherit;background:rgba(255,255,255,.08);border:1.5px solid rgba(247,243,233,.55);border-radius:999px;padding:9px 16px;cursor:pointer;min-height:42px;transition:background .15s,color .15s,border-color .15s}
.imap-pills button small{display:block;font-size:10px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;opacity:.8;margin-bottom:2px}
.imap-pills button:hover{background:rgba(255,255,255,.18)}
.imap-pills button[aria-pressed="true"]{background:#F7F3E9;color:#0E2A3F;border-color:#F7F3E9;box-shadow:0 2px 12px rgba(0,0,0,.25)}
.imap-pills button:focus-visible{outline:3px solid #E9C46A;outline-offset:2px}
.imap-title{font-weight:800;font-size:19px;margin:2px 0 2px}
.imap-scope{font-size:12.5px;line-height:1.45;opacity:.85;margin:10px 0 0;font-weight:600}
.imap-sent{font-size:15.5px;line-height:1.4;margin:0 0 10px}
.imap-stage{position:relative;border-radius:14px 14px 0 0;overflow:hidden;background:#E9EBE8;line-height:0}
.imap-stage svg{display:block;width:100%;height:auto;touch-action:manipulation}
.imap-a{cursor:pointer;transition:fill .35s}
.imap-a:hover{filter:brightness(1.07)}
.imap-a:focus{outline:none}
.imap-a:focus-visible{stroke:#0E2A3F;stroke-width:3}
.imap-lab text{user-select:none}
.imap-legend{background:#E9EBE8;color:#0E2A3F;font-size:11.5px;font-weight:600;padding:6px 14px 10px;border-radius:0 0 14px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px}
.imap-legend b{width:100%;font-size:10px;letter-spacing:2px}
.imap-legend span{display:inline-flex;align-items:center;white-space:nowrap}
.imap-legend i{display:inline-block;width:13px;height:13px;border-radius:3px;margin-right:5px}
.imap-legend i.hx{background:repeating-linear-gradient(45deg,#C3C6C9 0 3px,#9A9EA3 3px 5px)}
.imap-src{font-size:11.5px;line-height:1.45;opacity:.75;margin:6px 0 0}
.imap-tip{position:absolute;font-family:Montserrat,sans-serif;letter-spacing:0;text-transform:none;text-align:left;z-index:5;background:#FFFFFF;color:#0E2A3F;border-radius:10px;box-shadow:0 6px 22px rgba(0,0,0,.35);padding:9px 12px;font-size:12.5px;line-height:1.35;width:max-content;max-width:min(270px,92%);pointer-events:none}
.imap-stage .imap-tip{pointer-events:auto}
.imap-tip b{display:block;font-size:14px;line-height:1.25;margin-bottom:4px}
.imap-tip .r{font-size:12.5px;display:grid;grid-template-columns:1fr auto;column-gap:12px;align-items:baseline;padding:3px 0;opacity:.72}
.imap-tip .r.on{opacity:1}
.imap-tip .r.on span{font-weight:700}
.imap-tip .r strong{font-weight:800}
.imap-tip .r em{grid-column:1/-1;font-style:normal;font-size:11px;opacity:.8;line-height:1.2}
.imap-nudge{position:absolute;right:12px;top:12px;display:flex;align-items:center;gap:8px;background:rgba(14,42,63,.92);color:#F7F3E9;font-size:13px;font-weight:700;line-height:1;padding:9px 14px;border-radius:999px;pointer-events:none;white-space:nowrap;transition:opacity .4s;animation:imapBob 2.4s ease-in-out infinite}
.imap-nudge i{width:10px;height:10px;border-radius:50%;background:#E9C46A;box-shadow:0 0 0 4px rgba(233,196,106,.35)}
@keyframes imapBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.imap-used .imap-nudge{opacity:0}
.imap-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.itip{position:relative}
.itip [data-tip]{cursor:pointer}
.itip [data-tip]:focus{outline:none}
.itip-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:4px 0 8px}
.itip-head .imap-badge{font-size:10.5px;padding:5px 10px 5px 9px}
.itip-head .imap-hint{font-size:12.5px}
@media (prefers-reduced-motion:reduce){.imap-badge i:after,.imap-nudge{animation:none}.imap-a{transition:none}}
@media (max-width:760px){.imap-pills{gap:6px;flex-wrap:nowrap}.imap-pills button{font-size:12.5px;padding:7px 4px;flex:1 1 0;min-width:0}.imap-pills button small{font-size:9px;letter-spacing:1px}.imap-sent{font-size:14.5px}.imap-hint{font-size:12.5px}.imap-nudge{font-size:11.5px;top:8px;right:8px;padding:7px 11px}.imap-title{font-size:17px}}
.imap-intro{color:#D5D5D0;font-size:15.5px;line-height:1.5;margin:0 0 14px;max-width:760px}
.imap-panel{padding:22px}
.imap-cue{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:16px;color:#F7F3E9;text-decoration:none;font-weight:700;font-size:15px;background:rgba(14,42,63,.62);border:1px solid rgba(233,196,106,.6);border-radius:999px;padding:6px 16px 6px 6px;box-shadow:0 4px 16px rgba(0,0,0,.25)}
.imap-cue:hover{border-color:#E9C46A;background:rgba(14,42,63,.8)}
.imap-cue b{color:#E9C46A}
@media (max-width:760px){.imap-panel{padding:14px}.imap-cue{font-size:13.5px;border-radius:16px}}
.itip .imap-tip .r{display:block;text-align:left}
.itip .imap-tip{max-width:260px}
.imap-legend em.imap-lnote{width:100%;font-style:normal;font-weight:500;font-size:12px;margin:-2px 0 2px}
