/* Source-coordinate masks keep each landmark aligned in wide and narrow art. */
.city-art[data-city-slug="london"] .landmark-foreground{--scene-cut:polygon(0 83%,16%82%,31%84%,47%82%,61%84%,76%82%,91%84%,100%82%,100%100%,0 100%);transform:translateY(-1px) scale(1.012);filter:drop-shadow(0 4px 2px #164b3c38)}
.city-art[data-city-slug="geneva"] .landmark-foreground{--scene-cut:polygon(0 91%,20%90%,43%92%,63%90%,80%92%,100%90%,100%100%,0 100%);transform:translateY(-1px) scale(1.012);filter:drop-shadow(0 4px 2px #164b3c30)}
.bridge-leaf{transform-box:view-box;transform:rotate(0);filter:drop-shadow(0 2px 1px #173f3040)}
.bridge-leaf-left{transform-origin:934px 674px}
.bridge-leaf-right{transform-origin:1181px 674px}
.city-art.scene-playing .bridge-leaf-left{animation:scene-bridge-left 16s cubic-bezier(.42,0,.3,1) infinite}
.city-art.scene-playing .bridge-leaf-right{animation:scene-bridge-right 16s cubic-bezier(.42,0,.3,1) infinite}
@keyframes scene-bridge-left{0%,10%,90%,100%{transform:rotate(0)}38%,62%{transform:rotate(-15deg)}}
@keyframes scene-bridge-right{0%,10%,90%,100%{transform:rotate(0)}38%,62%{transform:rotate(15deg)}}
.fountain-stream{fill:none;stroke:#fffef2;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:9 13;opacity:.9}
.fountain-stream-fine{stroke-width:1.4;stroke-dasharray:5 10;opacity:.66}
.fountain-stream-side{stroke-width:1.8;stroke-dasharray:7 15;opacity:.7}
.fountain-spray{fill:#fffcef;opacity:.66;transform-box:view-box;transform-origin:1370px 734px}
.city-art.scene-playing .fountain-rise{animation:scene-fountain-rise 1.1s linear infinite}
.city-art.scene-playing .fountain-fall{animation:scene-fountain-fall 1.45s linear infinite}
.city-art.scene-playing .fountain-stream-fine{animation-duration:1.7s;animation-delay:-.65s}
.city-art.scene-playing .fountain-spray{animation:scene-fountain-spray 1.6s ease-in-out infinite}
@keyframes scene-fountain-rise{to{stroke-dashoffset:-88}}
@keyframes scene-fountain-fall{to{stroke-dashoffset:-88}}
@keyframes scene-fountain-spray{0%,100%{opacity:.48;transform:translateY(1px)}50%{opacity:.85;transform:translateY(-2px)}}
.city-art[data-city-slug="madrid"] .landmark-foreground,.city-art[data-city-slug="jeddah"] .landmark-foreground{transform:none;filter:none}
.madrid-jets .fountain-stream{stroke-width:.85;stroke-dasharray:4 5;opacity:.84}
.fountain-spill-thread{fill:none;stroke:#f3fff2;stroke-width:.85;stroke-linecap:round;stroke-dasharray:3.5 5;opacity:.78}
.city-art.scene-playing .fountain-spill-thread{animation:scene-fountain-spill 1.05s linear infinite}
@keyframes scene-fountain-spill{to{stroke-dashoffset:-34}}
.jeddah-plume .fountain-stream{stroke-width:1.4;stroke-dasharray:10 14;opacity:.88}
.jeddah-plume .fountain-stream-fine{stroke-width:.85;stroke-dasharray:5 8;opacity:.72}
.jeddah-plume .fountain-stream-side{stroke-width:1.05;stroke-dasharray:7 12;opacity:.8}
.fountain-sea-glint{fill:none;stroke:#e0f1d6;stroke-width:.7;stroke-linecap:round;opacity:.55;transform-box:view-box}
.city-art.scene-playing .fountain-sea-glint{animation:scene-fountain-sea 1.9s ease-in-out infinite alternate}
.city-art.scene-playing .fountain-sea-glint-counter{animation-direction:alternate-reverse;animation-delay:-.8s;animation-duration:2.4s}
@keyframes scene-fountain-sea{from{opacity:.25;transform:translateX(-1.5px)}to{opacity:.82;transform:translateX(2.5px)}}
.city-art.scene-offscreen .scene-detail *, .scene-document-hidden .scene-detail *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.city-art .scene-detail .bridge-leaf,.city-art .scene-detail .fountain-stream,.city-art .scene-detail .fountain-spray,.city-art .scene-detail .fountain-spill-thread,.city-art .scene-detail .fountain-sea-glint{animation:none!important}}
