/* A calm regional map, without sales counters or invented office locations. */
.kv-markets-section { background:#f4f7f9; padding-block:66px; scroll-margin-top:105px; }
.kv-markets-layout { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.5fr); gap:44px; align-items:center; }
.kv-markets-copy { min-width:0; padding-bottom:15px; }
.kv-refresh .kv-markets-copy h2 { font-size:clamp(31px,2.9vw,45px)!important; font-weight:600; line-height:1.13!important; color:#243d50; margin:0 0 22px!important; letter-spacing:-.025em; }
.kv-markets-copy>p { color:#5b7486; font-size:18px; line-height:1.85; margin:0 0 27px; }
.kv-markets-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.kv-refresh .kv-market-choice { position:relative; display:flex; align-items:center; gap:9px; border:1px solid #d5dfe7; background:transparent; border-radius:2px; color:#48647b; min-height:46px; padding:11px 10px; text-align:left; font:600 15px/1.4 'Source Sans 3',sans-serif; cursor:pointer; transition:background-color 180ms,border-color 180ms,color 180ms; }
.kv-market-choice::before { content:''; display:block; width:5px; height:5px; background:#6885a0; border-radius:50%; flex:0 0 auto; }
.kv-refresh .kv-market-choice[aria-pressed=true] { background:#234a8d; border-color:#234a8d; color:#fff; }
.kv-market-choice[aria-pressed=true]::before { background:#fff; }
.kv-refresh .kv-market-choice:hover:not([aria-pressed=true]) { border-color:#9db1c4; background:#e9eff4; }
.kv-market-origin-legend { display:flex; gap:9px; align-items:center; color:#657c8e; font-size:15px; line-height:1.5; margin-top:25px; }
.kv-market-origin-dot { width:7px; height:7px; border-radius:50%; background:#c82d32; box-shadow:0 0 0 4px #c82d3212; margin-inline:3px; }
.kv-markets-visual { display:block; position:relative; min-width:0; width:100%; aspect-ratio:920/650; margin:0; }
.kv-markets-coastline {
  display:block; width:100%; height:100%;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,transparent 6%,#000 24%,#000 92%,transparent 100%),linear-gradient(90deg,transparent 0%,transparent 3%,#000 14%,#000 94%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(180deg,transparent 0%,transparent 6%,#000 24%,#000 92%,transparent 100%),linear-gradient(90deg,transparent 0%,transparent 3%,#000 14%,#000 94%,transparent 100%);
  mask-composite:intersect;
}
.kv-markets-points { position:absolute; inset:0; display:block; width:100%; height:100%; overflow:visible; }
.kv-market-route { stroke:#b6c7d8; stroke-width:1.35; opacity:.82; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:0; transition:stroke 220ms,stroke-width 220ms,opacity 220ms; }
.kv-market-route.is-selected { stroke:#c82d32; stroke-width:2; opacity:.95; }
.kv-market-pin-halo { fill:#234a8d; opacity:.08; transition:fill 220ms,opacity 220ms; }
.kv-market-pin { fill:#234a8d; stroke:#fff; stroke-width:1.5; transition:fill 220ms; }
.kv-market-point.is-selected .kv-market-pin { fill:#c82d32; }
.kv-market-point.is-selected .kv-market-pin-halo { fill:#c82d32; opacity:.14; }
.kv-market-label { fill:#48647b; font:600 18px 'Source Sans 3',sans-serif; paint-order:stroke fill; stroke:#f4f7f9; stroke-width:4px; stroke-linejoin:round; }
.kv-market-point.is-selected .kv-market-label { fill:#a92328; }
.kv-market-label-leader { stroke:#a1b4c6; stroke-width:1; fill:none; }
.kv-market-origin-halo { fill:#c82d32; opacity:.12; }
.kv-market-origin-pin { fill:#c82d32; stroke:#fff; stroke-width:2; }
.kv-market-origin-label { fill:#a92328; font-size:16px; }
.kv-market-selection-status { position:absolute; height:1px; width:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@keyframes kv-market-route-enter { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
.kv-enter[data-kv-state=pending] .kv-market-route { stroke-dashoffset:1; }
.kv-enter[data-kv-state=entering] .kv-market-route { animation:kv-market-route-enter 900ms cubic-bezier(.22,1,.36,1) both; }
@media (max-width:1199px) { .kv-markets-layout { grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr); gap:28px; } .kv-markets-copy>p { font-size:17px; } .kv-markets-list { grid-template-columns:1fr; } }
@media (max-width:1023px) { .kv-markets-layout { grid-template-columns:1fr; gap:20px; } .kv-markets-copy { max-width:680px; } .kv-markets-list { grid-template-columns:repeat(3,minmax(0,1fr)); } .kv-markets-visual { max-width:850px; margin-inline:auto; } .kv-market-label { font-size:18px; } }
@media (max-width:767px) {
 .kv-markets-section { padding-block:44px; scroll-margin-top:85px; }
 .kv-markets-layout { gap:15px; }
 .kv-markets-copy { padding-bottom:0; }
 .kv-markets-copy>p { font-size:17px; line-height:1.8; margin-bottom:22px; }
 .kv-markets-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .kv-refresh .kv-market-choice { min-height:46px; font-size:16px; padding:11px; }
 .kv-market-origin-legend { margin-top:18px; }
 .kv-markets-visual { margin-block:5px 0; }
 .kv-market-label,.kv-market-label-leader { display:none; }
 .kv-market-pin { r:6px; }
 .kv-market-pin-halo { r:15px; }
 .kv-market-origin-pin { r:7px; }
 .kv-market-route { stroke-width:2; }
 .kv-market-route.is-selected { stroke-width:3; }
}
@media (prefers-reduced-motion:reduce) {
 .kv-market-route,.kv-market-pin,.kv-market-pin-halo,.kv-market-choice { transition:none!important; }
 .kv-market-route { animation:none!important; stroke-dashoffset:0!important; }
}
