/* The original city photograph stays sharp; weather and light occupy their own layer. */
.hero.city-live{--city-weather-opacity:.72}
.city-weather{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;opacity:var(--city-weather-opacity);mix-blend-mode:screen;mask-image:linear-gradient(90deg,transparent 9%,#0003 34%,#000 66%);-webkit-mask-image:linear-gradient(90deg,transparent 9%,#0003 34%,#000 66%)}
.city-live .hero-content{z-index:2}
.city-live .hero-floor{opacity:.08}
.city-live .city-ground-light{animation:cityWetLight18 13s ease-in-out infinite alternate}
.city-live .city-sign-reflection{animation:cityWetSign18 11s ease-in-out infinite alternate;animation-delay:3.8s}
.city-live-paused .city-ground-light,.city-live-paused .city-sign-reflection,.city-live-paused .city-fog i,.city-live-paused .hero-haze{animation-play-state:paused!important}
@keyframes cityWetLight18{from{opacity:.65;filter:blur(1px)}to{opacity:.94;filter:blur(2px)}}
@keyframes cityWetSign18{0%,100%{opacity:.14;filter:blur(3px)}45%{opacity:.19;filter:blur(3.8px)}65%{opacity:.16;filter:blur(2.8px)}}
@media(min-width:761px){.city-live .hero-art img{transform:translate3d(calc(var(--scene-x,0px)*.45),calc((var(--scene-y,0px) + var(--scene-scroll,0px))*.45),0) scale(1.04)}}
@media(max-width:760px){.hero.city-live{--city-weather-opacity:.56}.city-weather{mask-image:linear-gradient(180deg,transparent 20%,#0002 44%,#000 65%,#0008);-webkit-mask-image:linear-gradient(180deg,transparent 20%,#0002 44%,#000 65%,#0008)}.city-live .city-sign-reflection{animation-name:cityWetSign18Mobile}}
@keyframes cityWetSign18Mobile{from{opacity:.12;filter:blur(2px)}to{opacity:.17;filter:blur(2.7px)}}
@media(prefers-reduced-motion:reduce){.city-weather{display:none}.city-live .city-ground-light,.city-live .city-sign-reflection,.city-live .city-fog i,.city-live .hero-haze{animation:none!important}.city-live .hero-art img{transform:none!important}}
