.world-explorer{padding-block:38px 50px;scroll-margin-top:110px}
.world-explorer .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.world-explorer-heading{margin-bottom:24px}
.world-explorer-heading h2{font-size:clamp(1.75rem,2.8vw,2.35rem);line-height:1.2;letter-spacing:-.04em;margin:0 0 12px}
.world-explorer-heading p{font-size:1rem;line-height:1.6;color:var(--muted);margin:0}
.world-explorer-card{border:1px solid var(--line);border-radius:22px;background:#f3f9f9;overflow:hidden}
.world-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:20px 24px;border-bottom:1px solid #d9e9e7;background:#fff}
.world-map-country-picker{display:flex;align-items:center;gap:16px;min-width:0;font-size:.875rem;font-weight:600}
.world-map-country-picker select{width:250px;max-width:100%;min-height:46px;border:1px solid #b8d0cc;border-radius:9px;padding:10px 35px 10px 12px;background:#fff;color:var(--ink);font-size:1rem}
.world-map-zoom-controls{display:flex;align-items:center;gap:6px}
.world-map-zoom-controls button{min-width:44px;min-height:44px;border:1px solid #b8d0cc;border-radius:9px;background:#fff;font-size:1.5rem;line-height:1.2}
.world-map-zoom-controls button:hover:not(:disabled){background:#e4f0ed}
.world-map-zoom-controls button:disabled{opacity:.35;cursor:default}
.world-map-zoom-controls [data-map-reset]{font-size:.875rem;padding:10px 14px;margin-left:6px}
.world-map-zoom-level{min-width:40px;text-align:center;font-size:.875rem;font-variant-numeric:tabular-nums}
.world-map-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(330px,1fr);align-items:stretch}
.world-map-canvas{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:14px 10px 8px}
.world-map-viewport{position:relative;overflow:hidden;border-radius:10px;isolation:isolate}
.world-map-svg{display:block;width:100%;height:auto;aspect-ratio:960/420;fill:none;stroke:none;overflow:hidden;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
.world-map-svg.is-zoomed{touch-action:none;cursor:grab}
.world-map-svg.is-dragging,.world-map-svg.is-dragging .world-map-country{cursor:grabbing}
.world-map-svg:focus-visible{outline:3px solid #148f99;outline-offset:-3px}
.world-map-country{cursor:pointer;outline:none}
.world-map-country path,.world-map-country circle{fill:#c2d4d1;stroke:#f3f9f9;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .16s}
.world-map-country.has-destinations path,.world-map-country.has-destinations circle{fill:#81b4ae}
.world-map-country:hover path,.world-map-country:hover circle{fill:#3f8780}
.world-map-country.is-active path,.world-map-country.is-active circle{fill:var(--coral)}
.world-map-country:focus-visible path{stroke:var(--ink);stroke-width:2}
.world-map-hover{position:absolute;top:12px;left:12px;max-width:calc(100% - 24px);padding:8px 12px;border-radius:7px;box-shadow:0 3px 18px #113d4215;background:#fff;color:var(--ink);font-size:.875rem;line-height:1.4;pointer-events:none}
.world-map-help{font-size:.8rem;line-height:1.5;color:var(--muted);margin:12px 12px 0;text-align:center}
.world-map-credit{font-size:.75rem;color:var(--muted);line-height:1.5;text-align:right;padding-inline:12px;margin:8px 0 0}
.world-map-credit a{text-underline-offset:3px}
.world-map-selection{background:#fff;border-left:1px solid #d9e9e7;min-width:0;padding:26px 22px;scroll-margin-top:120px}
.world-map-selection-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 14px;margin-bottom:20px}
.world-map-selection-heading h3{font-size:1.5rem;letter-spacing:-.035em;line-height:1.25;margin:0}
.world-map-selection-heading>span{font-size:.8125rem;line-height:1.5;color:var(--muted)}
.world-map-destinations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;padding:0;margin:0;list-style:none}
.world-map-destinations>li{min-width:0}
.world-map-destination{display:flex;align-items:center;gap:10px;min-height:58px;text-decoration:none;border-radius:8px;padding:4px;transition:background .16s}
.world-map-destination:hover{background:#f0f6f5}
.world-map-destination>img,.world-map-number{flex:0 0 42px;width:42px;height:48px;border-radius:7px;background:#e4efed}
.world-map-destination>img{object-fit:cover}
.world-map-number{display:grid;place-items:center;color:var(--ink);font-size:1rem;font-weight:700}
.world-map-destination .destination-card-body{padding:0;min-width:0}
.world-map-destination .destination-country{font-size:.75rem;line-height:1.4;overflow-wrap:anywhere}
.world-map-destination h4{font-size:.9375rem;line-height:1.3;letter-spacing:-.015em;margin:4px 0 0;overflow-wrap:anywhere}
.world-map-arrow{font-size:.8rem;margin-left:auto;color:var(--muted)}
.world-map-destination:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.world-map-empty{font-size:.95rem;line-height:1.7;color:var(--muted);max-width:330px;margin:0}
@media(max-width:1000px){
 .world-map-layout{grid-template-columns:1fr}
 .world-map-canvas{padding:18px 20px 12px}
 .world-map-selection{border-left:0;border-top:1px solid #d9e9e7;padding:24px}
 .world-map-destinations{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
}
@media(max-width:700px){
 .world-explorer{padding-block:24px 34px}
 .world-explorer-heading{margin-bottom:20px}
 .world-explorer-heading h2{font-size:1.65rem}
 .world-explorer-card{border-radius:15px}
 .world-map-toolbar{padding:14px;gap:12px}
 .world-map-country-picker{flex-direction:column;align-items:stretch;width:100%;gap:7px}
 .world-map-country-picker select{width:100%}
 .world-map-zoom-controls{width:100%;justify-content:center}
 .world-map-canvas{padding:12px 4px 8px}
 .world-map-credit{padding-inline:10px}
 .world-map-selection{padding:20px 14px 22px}
 .world-map-selection-heading h3{font-size:1.35rem}
 .world-map-destinations{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}
 .world-map-destination{gap:8px}
 .world-map-destination>img,.world-map-number{flex-basis:40px;width:40px;height:46px}
 .world-map-destination h4{font-size:.875rem}
 .world-map-arrow{display:none}
}
