/* AtlasCine desktop/TV motion resilience.
   Mantém o site vivo em telas grandes sem alterar o comportamento mobile. */

@media (min-width: 601px) {
  .hero-visual .floating-card--channels {
    animation: atlasFloatCardA 7s ease-in-out infinite !important;
    will-change: transform;
  }

  .hero-visual .floating-card--speed {
    animation: atlasFloatCardB 8.5s ease-in-out infinite !important;
    will-change: transform;
  }

  .hero-visual .floating-card--support {
    animation: atlasFloatCardC 7.8s ease-in-out infinite !important;
    will-change: transform;
  }

  .atlas-system__radar::before,
  .atlas-system__radar span,
  .orbit,
  .orbit-node,
  .atlas-system__satellite,
  .experience-rail__track,
  .brand-marquee__track,
  .meter-ring--two,
  .meter-orbit {
    will-change: transform, opacity;
  }

  /* No desktop, deixar o ponteiro sobre a faixa não pode parecer que o site travou. */
  .experience-rails:hover .experience-rail__track,
  .brand-marquee:hover .brand-marquee__track {
    animation-play-state: running !important;
  }
}

/* Alguns navegadores de TV e PCs com "reduzir animações" acabam congelando
   absolutamente tudo. Em telas grandes mantemos movimentos leves e contínuos. */
@media (min-width: 601px) and (prefers-reduced-motion: reduce) {
  .eyebrow__pulse { animation: pulse 2.8s ease-out infinite !important; }
  .button--shine::before { animation: buttonSheen 6.5s ease-in-out infinite !important; }
  .scroll-cue i { animation: scrollCue 3s ease-in-out infinite !important; }
  .stats-line { animation: scanLine 9s linear infinite !important; }
  .brand-marquee__track { animation: marquee 44s linear infinite !important; }
  .meter-ring--two { animation: spin 42s linear infinite !important; }
  .meter-orbit { animation: spin 14s linear infinite !important; }
  .atlas-system__aura { animation: systemPulse 8s ease-in-out infinite !important; }
  .globe-dot { animation: globeDot 4.8s ease-in-out infinite !important; }
  .atlas-system__radar::before { animation: radarSweep 8s linear infinite !important; }
  .atlas-system__radar span { animation: radarLine 8s linear infinite !important; }
  .atlas-system__core::before { animation: spin 28s linear infinite !important; }
  .orbit--one { animation: spin 42s linear infinite !important; }
  .orbit--two { animation: spin 34s linear infinite reverse !important; }
  .orbit--three { animation: spin 28s linear infinite !important; }
  .orbit-node--tv { animation: counterSpin 42s linear infinite !important; }
  .orbit-node--phone { animation: counterSpinReverse 34s linear infinite !important; }
  .orbit-node--game { animation: counterSpin 28s linear infinite !important; }
  .atlas-system__satellite { animation: floatSatellite 7s ease-in-out infinite !important; }

  /* O CSS antigo força transform:none nesse modo. A propriedade translate
     separada evita o conflito e mantém as faixas andando. */
  .experience-rail__track {
    animation: atlasRailLeftReduced 52s linear infinite !important;
  }
  .experience-rail--right .experience-rail__track {
    animation: atlasRailRightReduced 58s linear infinite !important;
  }

  .atl-portal i { animation: portalBreathe 9s ease-in-out infinite !important; }
  .hero-visual .floating-card--channels { animation: atlasFloatCardA 9s ease-in-out infinite !important; }
  .hero-visual .floating-card--speed { animation: atlasFloatCardB 10.5s ease-in-out infinite !important; }
  .hero-visual .floating-card--support { animation: atlasFloatCardC 10s ease-in-out infinite !important; }
}

@keyframes atlasFloatCardA {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -10px, 0); }
}

@keyframes atlasFloatCardB {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, 9px, 0); }
}

@keyframes atlasFloatCardC {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(7px, -7px, 0); }
}

@keyframes atlasRailLeftReduced {
  from { translate: 0 0; }
  to { translate: -50% 0; }
}

@keyframes atlasRailRightReduced {
  from { translate: -50% 0; }
  to { translate: 0 0; }
}
