.cities-map{padding:80px 0}.cities-map__header{text-align:center;margin-bottom:40px}.cities-map__title{font-size:36px;font-weight:600;color:var(--text-black);margin-bottom:12px;line-height:1.2}.cities-map__subtitle{font-size:16px;color:var(--color-text-light);max-width:560px;margin:0 auto}.cities-map__subtitle strong{color:var(--blue);font-weight:600}.cities-map__container{position:relative;width:100%;aspect-ratio:16 / 9;max-height:600px;background:linear-gradient(135deg,var(--light-grey) 0%,#eaeef5 100%);border-radius:16px;overflow:hidden;touch-action:pan-y}.cities-map__container::before{content: '';position:absolute;inset:0;background-image:radial-gradient(circle at 20% 40%,rgba(25,40,240,0.08) 0%,transparent 50%),radial-gradient(circle at 70% 60%,rgba(25,40,240,0.06) 0%,transparent 50%);transition:opacity 300ms ease-out;pointer-events:none}.cities-map__container.is-ready::before{opacity:0}.coop-map [class*="-ground-pane"]{filter:brightness(1.08) contrast(0.92) saturate(0.9);transition:filter 300ms ease-out}.cities-map__pin{position:relative;width:14px;height:14px;border-radius:50%;background:var(--blue);border:2px solid var(--white);box-shadow:0 2px 8px rgba(25,40,240,0.45),0 0 0 1px rgba(0,0,0,0.12);cursor:pointer;transform:translate(-50%,-50%);transition:transform 150ms ease-out}.cities-map__pin::before{content: '';position:absolute;inset:-5px;border-radius:50%}.cities-map__pin:hover,.cities-map__pin:focus-visible{transform:translate(-50%,-50%) scale(1.4);outline:none}.cities-map__pin:focus-visible{outline:3px solid #ffcc00;outline-offset:2px;z-index:10}.cities-map__pin-label{position:absolute;left:50%;bottom:calc(100%+10px);transform:translateX(-50%);padding:6px 12px;background:var(--text-black);color:var(--white);font-size:12px;font-weight:500;line-height:1.2;border-radius:6px;white-space:nowrap;box-shadow:0 4px 14px rgba(22,24,30,0.22);opacity:0;pointer-events:none;transition:opacity 120ms ease-out;z-index:5}.cities-map__pin-label::after{content: '';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--text-black)}.cities-map__pin:hover .cities-map__pin-label,.cities-map__pin:focus-visible .cities-map__pin-label,.cities-map__pin.is-active .cities-map__pin-label{opacity:1}.cities-map__pin--weight-2::after{content: '';position:absolute;inset:-2px;border-radius:50%;background:var(--blue);opacity:0.35;animation:cities-map-pulse 2.4s cubic-bezier(0.4,0,0.6,1) infinite;pointer-events:none;will-change:transform,opacity}@keyframes cities-map-pulse{0%{transform:scale(1);opacity:0.35}70%{transform:scale(2.2);opacity:0}100%{transform:scale(2.2);opacity:0}}.cities-map__fallback{list-style:none;margin:0;padding:0}.cities-map__noscript{margin-top:24px;padding:20px;background:var(--light-grey);border-radius:12px}.cities-map__noscript-title{font-size:15px;font-weight:600;margin-bottom:12px;color:var(--text-black)}.cities-map__noscript-list{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;margin:0;padding:0;color:var(--color-text-medium);font-size:14px}@media (max-width:768px){.cities-map{padding:48px 0}.cities-map__title{font-size:26px}.cities-map__subtitle{font-size:14px}.cities-map__container{aspect-ratio:3 / 2;border-radius:12px}.cities-map__pin{width:18px;height:18px}.cities-map__pin::before{inset:-3px}}@media (prefers-reduced-motion:reduce){.cities-map__pin--weight-2::after{animation:none}.cities-map__pin{transition:none}.coop-map [class*="-ground-pane"]{transition:none}}