/* FACTECH v10.2 — railway luminous details only.
   Static WebP remains completely untouched. Alpha mask is aligned pixel-to-pixel
   with the approved illustration: this layer never moves the train or tracks. */
.svc-unified-page .svc-rail-light-frame .svc-rail-light-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
  border-radius:inherit;
  isolation:isolate;
}
.svc-unified-page .svc-rail-light-overlay::before,
.svc-unified-page .svc-rail-light-overlay::after{
  content:"";
  display:block;
  position:absolute;
  inset:0;
  pointer-events:none;
  -webkit-mask-image:url("rail-lights-mask.webp");
  mask-image:url("rail-lights-mask.webp");
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
  mix-blend-mode:screen;
  animation-play-state:paused;
}
/* One quiet highlight slowly travels across real coloured details. */
.svc-unified-page .svc-rail-light-overlay::before{
  background:linear-gradient(104deg,transparent 34%,rgba(98,225,249,0) 42%,rgba(195,250,255,.88) 49%,rgba(174,98,255,.44) 53%,transparent 62%);
  background-size:280% 100%;
  background-position:100% 50%;
  opacity:.55;
  animation:factech-rail-light-sweep 9.5s linear infinite;
}
/* Lower-intensity ambient shimmer, not a full-frame filter. */
.svc-unified-page .svc-rail-light-overlay::after{
  background:linear-gradient(110deg,rgba(0,238,255,.23),rgba(126,100,240,.09) 55%,rgba(207,106,255,.25));
  opacity:.08;
  animation:factech-rail-light-breathe 7.4s ease-in-out infinite;
}
.svc-unified-page .rail-lights-on .svc-rail-light-overlay::before,
.svc-unified-page .rail-lights-on .svc-rail-light-overlay::after{
  animation-play-state:running;
}
@keyframes factech-rail-light-sweep {
  0%,12% {background-position:100% 50%;}
  84%,100% {background-position:-100% 50%;}
}
@keyframes factech-rail-light-breathe{
  0%,100%{opacity:.08}
  45%{opacity:.24}
}
@media(prefers-reduced-motion:reduce){
  .svc-unified-page .svc-rail-light-overlay{display:none!important}
}
