.map-section,.map-section *{box-sizing:border-box}.map-section{background:#002a31;font-family:Montserrat,sans-serif;overflow:visible;position:relative;width:100%;--map-base-min:1400px;--map-zoom:1}.map-section__viewport{overflow-x:auto;overflow-y:hidden;width:100%;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.map-section__canvas{min-width:0;position:relative;width:100%}.map-section__zoom-controls{display:none}@media (max-width:1023px){.map-section__zoom-controls{bottom:max(12px,env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:8px;position:absolute;right:max(12px,env(safe-area-inset-right,0px));z-index:30}.map-section__zoom-btn{align-items:center;background:rgba(0,42,49,.92);border:1px solid hsla(0,0%,100%,.25);border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.35);color:#d9e7d3;cursor:pointer;display:flex;font-size:22px;font-weight:600;height:44px;justify-content:center;line-height:1;transition:background .2s ease,color .2s ease,opacity .2s ease;width:44px;-webkit-tap-highlight-color:transparent}.map-section__zoom-btn:focus-visible,.map-section__zoom-btn:hover{background:rgba(82,224,129,.2);color:#fff;outline:none}.map-section__zoom-btn:focus-visible{box-shadow:0 0 0 2px rgba(82,224,129,.6)}.map-section__zoom-btn:disabled{cursor:not-allowed;opacity:.35;pointer-events:none}.map-section__canvas{min-width:calc(var(--map-base-min)*var(--map-zoom));transition:min-width .22s ease}.map-section__canvas .world-map{display:block;height:auto;max-width:none!important;width:100%}}@media (max-width:1023px) and (prefers-reduced-motion:reduce){.map-section__canvas{transition:none}}@media (min-width:1024px){.map-section__viewport{overflow-x:visible}}.world-map{display:block;height:auto;opacity:.92;width:100%}.overlay{background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.2));inset:0;pointer-events:none;position:absolute}.location{align-items:center;cursor:pointer;display:flex;flex-direction:column;gap:4px;position:absolute;transform:translate(-50%,-50%);transition:transform .35s ease;z-index:10}.location:hover{transform:translate(-50%,-50%) scale(1.2);z-index:20}.location svg{display:block;height:auto;transition:transform .35s ease;width:42px}.location-name{color:#d9e7d3;font-size:12px;font-weight:700;line-height:1.2;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.6);transition:color .35s ease;white-space:nowrap}.location:hover .location-name{color:#fff}.sub-text{color:#d9e7d3;font-size:11px;font-weight:500;margin-top:2px;opacity:.85;white-space:nowrap}@media (hover:none){.location:hover{transform:translate(-50%,-50%)}}