.visual-section {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100vw;
  padding: clamp(3rem, 7vw, 6rem) clamp(1rem, 5vw, 4rem);
  overflow: visible;
}
.visual-section__inner { width: min(100%, 1120px); margin-inline: auto; }
.visual-section__header { max-width: 680px; margin: 0 auto clamp(1.5rem, 4vw, 3rem); text-align: center; }
.visual-section__eyebrow { margin: 0 0 .5rem; font: 700 .7rem var(--font-body); letter-spacing: .28em; text-transform: uppercase; color: var(--color-smart-blue); }
.visual-section__header h2 { font: 700 clamp(2.2rem, 6vw, 4rem)/1 var(--font-body); color: var(--color-carbon-black); }
.visual-section__header > p:last-child { max-width: 600px; margin: 1rem auto 0; font-family: var(--font-body); color: var(--color-taupe); }
.map-card { min-width: 0; padding: clamp(.75rem, 2vw, 1.5rem); border: 1px solid var(--color-alabaster-gray); border-radius: 4px; background: var(--color-surface); }
.map-canvas { isolation: isolate; position: relative; }
.europe-map { display: block; width: 100%; height: auto; }
.map-country { cursor: pointer; stroke: var(--map-country-stroke); stroke-width: 1.1; stroke-linejoin: round; transition: opacity 140ms ease, stroke 140ms ease, stroke-width 140ms ease, filter 140ms ease; }
.map-country:hover, .map-country.is-active, .map-country:focus-visible { stroke: var(--color-carbon-black); stroke-width: 2; outline: none; filter: brightness(1.08); }
.map-tooltip { position: absolute; z-index: 2; display: flex; flex-direction: column; width: max-content; max-width: min(240px, calc(100% - 2rem)); padding: .7rem .85rem; border: 1px solid var(--color-border); border-radius: 4px; background: var(--color-surface-translucent); box-shadow: 0 12px 32px rgb(0 0 0 / .14); pointer-events: none; backdrop-filter: blur(8px); }
.map-tooltip[hidden] { display: none; }
.map-tooltip strong { font: 600 1.05rem/1.1 var(--font-body); color: var(--color-carbon-black); }
.map-tooltip span { margin-top: .2rem; font: .72rem var(--font-body); color: var(--color-taupe); }
.map-legend { display: grid; grid-template-columns: auto minmax(80px, 180px) auto; gap: .65rem; align-items: center; justify-content: center; margin-top: .5rem; font: .65rem var(--font-body); color: var(--color-taupe); }
.map-legend__scale { height: .45rem; border-radius: 999px; background: linear-gradient(90deg, #D2DAEF 0%, #2D4399 100%); }
.map-summary { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--color-alabaster-gray); font: .74rem var(--font-body); color: var(--color-taupe); }
.map-summary strong { color: var(--color-carbon-black); }
.map-top { display: flex; flex-wrap: wrap; gap: .45rem .8rem; margin-top: .8rem; font: .68rem var(--font-body); color: var(--color-taupe); }
.map-top strong { color: var(--color-carbon-black); }
@media (width <= 600px) {
  .visual-section { padding-inline: .35rem; }
  .map-card { padding: .4rem; }
  .map-summary { flex-direction: column; gap: .25rem; }
  .map-top { display: none; }
}
