.city-scene {
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
  isolation: isolate;
}

.city-scene .city-scene__train {
  transform: translateX(778px);
  animation: nc-scene-slow-train 42s linear -18s infinite;
}

.city-scene .city-scene__neon {
  animation: nc-scene-light-breath 11s ease-in-out infinite alternate;
}

.city-scene .city-scene__neon--green { animation-delay: -6s; }
.city-scene .city-scene__neon--blue { animation-delay: -3s; }
.city-scene .city-scene__neon--cinema { animation-duration: 16s; }
.city-scene .city-scene__neon--cafe { animation-duration: 19s; }
.city-scene .city-scene__neon--red { animation-delay: -8s; }

.city-scene .city-scene__marquee {
  animation: nc-scene-marquee-warmth 7s ease-in-out infinite alternate;
}

.city-scene .city-scene__windows,
.city-scene .city-scene__neon,
.city-scene .city-scene__lamplight {
  transition: opacity 1.2s ease;
}

.city-lights-dim .city-scene .city-scene__windows { opacity: 0.28; }
.city-lights-dim .city-scene .city-scene__neon { opacity: 0.25; animation: none; }
.city-lights-dim .city-scene .city-scene__lamplight { opacity: 0.3; animation: none; }

.motion-paused .city-scene .city-scene__train,
.motion-paused .city-scene .city-scene__neon,
.motion-paused .city-scene .city-scene__marquee,
[data-page-hidden] .city-scene .city-scene__train,
[data-page-hidden] .city-scene .city-scene__neon,
[data-page-hidden] .city-scene .city-scene__marquee {
  animation-play-state: paused;
}

@keyframes nc-scene-slow-train {
  from { transform: translateX(525px); }
  to { transform: translateX(1045px); }
}

@keyframes nc-scene-light-breath {
  from { opacity: 0.86; }
  to { opacity: 1; }
}

@keyframes nc-scene-marquee-warmth {
  from { opacity: 0.78; }
  to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .city-scene .city-scene__train,
  .city-scene .city-scene__neon,
  .city-scene .city-scene__marquee {
    animation: none;
  }

  .city-scene .city-scene__windows,
  .city-scene .city-scene__neon,
  .city-scene .city-scene__lamplight {
    transition: none;
  }
}
