/* ==========================================================================
   AGUIAR & TORRES - MOVIMENTO
   O JavaScript (GSAP + Lenis) coreografa a página; aqui ficam os loops,
   os estados iniciais da entrada e o modo de movimento reduzido.
   ========================================================================== */

/* --- O sol gira devagar, sempre --- */
@keyframes sol-gira {
  to { transform: rotate(360deg); }
}

.sun--spin {
  transform-origin: 50% 50%;
  animation: sol-gira 150s linear infinite;
  animation-delay: -38s;
  animation-play-state: paused;
  will-change: transform;
}

/* Só roda quando está na tela (classe alternada por IntersectionObserver) */
.is-live .sun--spin,
.sun--spin.is-live { animation-play-state: running; }

.frentes-sol.sun--spin { animation-duration: 90s; }

body.paused *,
body.paused *::before,
body.paused *::after { animation-play-state: paused !important; }

/* --- Entrada do hero: escondido só até a coreografia assumir --- */
.motion:not(.intro-done) .hero [data-intro],
.motion:not(.intro-done) .hero-team img,
.motion:not(.intro-done) .hero-sun { opacity: 0; }

.motion:not(.intro-done) .hero-title .l-in { transform: translateY(112%); }

/* --- Menu do celular --- */
.menu-list li {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s var(--ease-out) calc(var(--d) * 60ms + 80ms), transform 0.7s var(--ease-out) calc(var(--d) * 60ms + 80ms);
}

.menu.is-open .menu-list li {
  opacity: 1;
  transform: none;
}

.menu {
  opacity: 0;
  transition: opacity 0.45s var(--ease-out);
}

.menu.is-open { opacity: 1; }

/* --- Lenis (rolagem suave) --- */
html.lenis,
html.lenis body { height: auto; }

.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }

/* --- Movimento reduzido: tudo no estado final, nada se mexe --- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0s !important;
    scroll-behavior: auto !important;
  }

  .menu-list li {
    opacity: 1;
    transform: none;
  }
}
