/* The map is the visual centre; the story remains a readable side column. */
@media(min-width:1101px){.scrolly{grid-template-columns:minmax(340px,29%) minmax(0,1fr)}.intro h1{font-size:clamp(64px,6.1vw,108px)}.case h2{font-size:clamp(40px,4vw,70px)}}
@media(min-width:701px) and (max-width:1100px){.scrolly{grid-template-columns:minmax(300px,34%) minmax(0,1fr)}.intro h1{font-size:7.4vw}.case h2{font-size:4.2vw}}
@media(min-width:701px){
  .map-stage{padding:0;min-height:0;isolation:isolate}
  .map-heading{position:absolute;top:24px;left:24px;right:24px;padding:0;z-index:3;pointer-events:none}
  .map-wrap{position:absolute;inset:-15px -18px 25px -22px;margin:0;flex:none;min-height:0;z-index:1}
  .map-wrap .europe-map{width:100%;height:100%;transform:scale(1.06);transform-origin:50% 43%;overflow:visible}
  .map-bottom{position:absolute;bottom:14px;left:24px;right:24px;padding:18px 14px 10px;background:linear-gradient(0deg,#101114 72%,#10111400);z-index:3;pointer-events:none}
  .map-count{padding-top:12px}.map-count>span:first-child{font-size:38px}.map-legend{margin-top:12px}.map-disclosure{margin-top:9px}
  .map-progress{left:24px;right:24px;z-index:4}
  .sea-label{left:15%;top:43%;z-index:1}
  .static-map .map-stage{height:720px;max-width:1180px;padding:0}
}
.europe-map{pointer-events:auto;cursor:default}
.europe-map .country{pointer-events:visiblePainted;cursor:crosshair;transition:filter .16s ease,stroke .16s ease}
.europe-map .country.is-hovered,.europe-map .country:focus-visible{stroke:#f3dcff!important;stroke-width:2.5!important;filter:brightness(1.65) drop-shadow(0 0 4px #bd94ed66);outline:none}
.graticules,.place-labels{pointer-events:none}
.map-tooltip{position:fixed;z-index:100;pointer-events:none;width:245px;max-width:calc(100vw - 24px);padding:16px 18px;background:#211c2af2;color:#f2eafa;border:1px solid #8c6cab;border-radius:9px;box-shadow:0 8px 35px #0007;backdrop-filter:blur(12px)}
.map-tooltip strong{display:block;font-size:20px;line-height:1.2;letter-spacing:-.025em;margin-bottom:8px}
.map-tooltip [data-hover-label]{font:10px/1.5 'SFMono-Regular',Consolas,monospace;color:#d4b5f6}
.map-tooltip [data-hover-note]{font-size:11px;line-height:1.6;color:#aaa0b8;margin-top:8px}
@media(max-width:700px){.map-stage{height:40svh;min-height:280px;max-height:350px}.map-wrap{width:65%;bottom:38px}.map-wrap .europe-map{width:155%;height:155%;left:-16%;top:-35%}.map-bottom{margin-left:65%;padding-left:6px}.map-heading{pointer-events:none}.map-disclosure{max-width:65%}.map-scroll-hint{font-size:6px}}
@media(prefers-reduced-motion:reduce){.europe-map .country{transition:none}}
@media print{.map-tooltip{display:none!important}.map-stage .map-wrap{position:relative;inset:auto;height:500px}.map-wrap .europe-map{transform:none}.map-stage .map-bottom,.map-stage .map-heading{position:relative;inset:auto}.map-stage{height:auto!important}}

/* Hover uses the same country article and card styles as the scroll story. */
.hover-story{position:fixed;top:calc(var(--header) + 12px);bottom:16px;z-index:20;background:var(--bg);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#635276 transparent;padding-right:8px}
.hover-story-toolbar{position:sticky;top:0;z-index:2;padding:12px 0 18px;background:var(--bg)}
.hover-story-toolbar button{border:0;background:none;padding:7px 0;color:#c7a5ed;font:10px/1.5 'SFMono-Regular',Consolas,monospace;letter-spacing:.02em;min-height:36px;text-align:left}
.hover-story .case{min-height:0;display:block;padding-top:16px;padding-bottom:32px}
.hover-story .case:before{display:none}
.hovering-country .narrative{visibility:hidden}
.hovering-country .map-tooltip{clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0;border:0}
@media(max-width:700px){.hover-story{display:none!important}.hovering-country .narrative{visibility:visible}}
@media print{.hover-story{display:none!important}.hovering-country .narrative{visibility:visible}}
