/* The LNTV tape: house marks only, crawling against the market tape above it. */
.lntv-logo-tape .tape-run { animation-duration: 45s; animation-direction: reverse; }
.lntv-logo-tape img { display: block; flex: none; width: auto; height: 13px; margin: 0 26px; opacity: .92; }

/* The anchor clip is the hero's backdrop, with live static over it. The wall of
   slots no longer crawls across it; only the board's turning map stays. */
.lb-board .lb-row { display: none; }
.lb-loop { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; background: #07080b; }
.lb-loop video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .5; }
.lb-loop::after {
  content: ""; position: absolute; inset: -120px;
  background: var(--grain-heavy); opacity: .55; mix-blend-mode: overlay;
  animation: lb-static .5s steps(1, end) infinite;
}
@keyframes lb-static {
  0%   { transform: translate(0, 0); }
  20%  { transform: translate(-37px, 23px); }
  40%  { transform: translate(31px, -41px); }
  60%  { transform: translate(-19px, -29px); }
  80%  { transform: translate(43px, 17px); }
}
@media (max-width: 900px) {
  /* Phones stack the hero: the stage on top, then the banner and the auction.
     The clip belongs to the stage alone; spread over the whole column it is
     scaled to 852px tall and cropped down to one eye. */
  .lb-loop { bottom: auto; height: var(--mobile-stage); }
}
@media (prefers-reduced-motion: reduce) {
  .lntv-logo-tape .tape-run, .lb-loop::after { animation: none; }
}
