.cmap{display:grid;grid-template-columns:1.15fr 1fr;gap:2.4rem;align-items:center}
.cmap-box{position:relative;min-height:320px}
#fmap{width:100%;height:auto;display:block;max-height:78vh;filter:drop-shadow(0 18px 30px rgba(13,42,64,.18))}
#fmap .dept{fill:#cfdde9;stroke:#fff;stroke-width:1.3;stroke-linejoin:round;cursor:pointer;transition:fill .18s,opacity .18s;outline:none}
#fmap .dept.field{fill:#f59300}
#fmap .dept:hover,#fmap .dept:focus-visible{fill:#9fb9cf}
#fmap .dept.field:hover,#fmap .dept.field:focus-visible{fill:#e2570b}
#fmap .dept.sel{stroke:#0d2a40;stroke-width:2.4}
#fmap.dim .dept{opacity:.22}#fmap.dim .dept.lit{opacity:1}
#fmap .dept-label{font:700 8px Inter,system-ui,sans-serif;fill:#fff;text-anchor:middle;dominant-baseline:middle;pointer-events:none;paint-order:stroke;stroke:rgba(13,42,64,.55);stroke-width:2px;stroke-linejoin:round}
.cmap-side{display:grid;gap:1.1rem}
.cmap-leg{display:flex;flex-wrap:wrap;gap:.6rem}
.cmap-leg button{display:inline-flex;align-items:center;gap:.5rem;border:1.5px solid #cfdde9;background:#fff;color:#0d2a40;border-radius:999px;padding:.5rem .95rem;font:600 .9rem inherit;cursor:pointer}
.cmap-leg button i{width:.8rem;height:.8rem;border-radius:4px;display:inline-block}
.cmap-leg button[aria-pressed=true]{border-color:#0d2a40}
.cmap-card{background:#fff;color:#0d2a40;border-radius:22px;padding:1.4rem 1.5rem;box-shadow:0 26px 60px -34px rgba(13,42,64,.55)}
.cmap-card h3{margin:0 0 .35rem;font-size:1.35rem}
.cmap-card .tag{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.25rem .7rem;background:#e7eef5;color:#486276;margin-bottom:.7rem}
.cmap-card .tag.f{background:#fff1dc;color:#b45d00}
.cmap-card p{color:#486276}
@media(max-width:900px){.cmap{grid-template-columns:1fr}}
.cmap-card .cm{margin:.6rem 0 1rem;padding:.7rem .9rem;background:#f4f8fb;border-radius:12px;line-height:1.6}.cmap-card .cm a{color:#0d2a40;font-weight:600;text-decoration:none;border-bottom:1px solid #cfdde9}
