
.lc-escena { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.login-branding.o3d-panel > .login-brand-content { position: relative; z-index: 3; }

.lc-cruza { position: absolute; top: 22%; left: -280px; width: 200px; animation: lcCruza 38s linear infinite; filter: drop-shadow(0 8px 14px rgba(0,0,0,.45)); }
.lc-cruza img { display: block; width: 100%; height: auto; }
.lc-cruza b { display: block; font-size: 3.4rem; line-height: 1; font-weight: 400; }
@keyframes lcCruza {
  0%   { transform: translate(0, 0); }
  25%  { transform: translate(calc(25vw + 70px), -14px); }
  50%  { transform: translate(calc(50vw + 140px), 6px); }
  75%  { transform: translate(calc(75vw + 210px), -10px); }
  100% { transform: translate(calc(100vw + 300px), 0); }
}

.lc-cae { position: absolute; top: -40px; color: #fff; line-height: 1; opacity: 0; text-shadow: 0 0 6px rgba(120,200,255,.45); animation: lcCae linear infinite; }
.lc-cae--adorno { text-shadow: none; }
@keyframes lcCae {
  0%   { opacity: 0; transform: translate(0, 0) rotate(0deg); }
  8%   { opacity: .9; }
  50%  { transform: translate(28px, 52vh) rotate(180deg); }
  92%  { opacity: .75; }
  100% { opacity: 0; transform: translate(-12px, 105vh) rotate(360deg); }
}
.lc-cae:nth-child(1)  { left: 3%;  font-size: 14px; animation-duration: 14s; animation-delay: 0s; }
.lc-cae:nth-child(2)  { left: 9%;  font-size: 20px; animation-duration: 18s; animation-delay: 3s; }
.lc-cae:nth-child(3)  { left: 15%; font-size: 12px; animation-duration: 12s; animation-delay: 6s; }
.lc-cae:nth-child(4)  { left: 21%; font-size: 17px; animation-duration: 16s; animation-delay: 1.5s; }
.lc-cae:nth-child(5)  { left: 27%; font-size: 13px; animation-duration: 13s; animation-delay: 8s; }
.lc-cae:nth-child(6)  { left: 33%; font-size: 22px; animation-duration: 20s; animation-delay: 4.5s; }
.lc-cae:nth-child(7)  { left: 39%; font-size: 15px; animation-duration: 15s; animation-delay: 10s; }
.lc-cae:nth-child(8)  { left: 45%; font-size: 12px; animation-duration: 11s; animation-delay: 2s; }
.lc-cae:nth-child(9)  { left: 51%; font-size: 19px; animation-duration: 17s; animation-delay: 7s; }
.lc-cae:nth-child(10) { left: 57%; font-size: 14px; animation-duration: 14s; animation-delay: 11.5s; }
.lc-cae:nth-child(11) { left: 63%; font-size: 21px; animation-duration: 19s; animation-delay: 5s; }
.lc-cae:nth-child(12) { left: 69%; font-size: 13px; animation-duration: 12.5s; animation-delay: 9s; }
.lc-cae:nth-child(13) { left: 75%; font-size: 16px; animation-duration: 15.5s; animation-delay: 0.8s; }
.lc-cae:nth-child(14) { left: 81%; font-size: 12px; animation-duration: 11.5s; animation-delay: 6.5s; }
.lc-cae:nth-child(15) { left: 87%; font-size: 20px; animation-duration: 18.5s; animation-delay: 3.5s; }
.lc-cae:nth-child(16) { left: 93%; font-size: 14px; animation-duration: 13.5s; animation-delay: 12s; }
.lc-cae:nth-child(17) { left: 6%;  font-size: 16px; animation-duration: 16.5s; animation-delay: 13s; }
.lc-cae:nth-child(18) { left: 36%; font-size: 12px; animation-duration: 12s; animation-delay: 14s; }
.lc-cae:nth-child(19) { left: 60%; font-size: 18px; animation-duration: 17.5s; animation-delay: 15s; }
.lc-cae:nth-child(20) { left: 84%; font-size: 13px; animation-duration: 13s; animation-delay: 16s; }
.lc-cae:nth-child(21) { left: 24%; font-size: 15px; animation-duration: 15s; animation-delay: 17s; }
.lc-cae:nth-child(22) { left: 48%; font-size: 20px; animation-duration: 19.5s; animation-delay: 18s; }
.lc-cae:nth-child(23) { left: 72%; font-size: 12px; animation-duration: 11s; animation-delay: 19s; }
.lc-cae:nth-child(24) { left: 96%; font-size: 16px; animation-duration: 16s; animation-delay: 20s; }

@media (max-width: 767.98px) {
  .lc-cruza { width: 150px; top: 4%; animation-duration: 26s; }
  .lc-cae:nth-child(n+13) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .lc-escena { display: none; }
}
