/* Camada de movimento. Só transform/opacity/clip-path; desliga com prefers-reduced-motion. */
@media (prefers-reduced-motion: no-preference) {
  .js-mov .abertura h1, .js-mov .abertura-apoio, .js-mov .abertura-acoes, .js-mov .abertura-fatos li {
    opacity: 0; transform: translateY(18px);
    animation: subir .8s cubic-bezier(.2,.7,.2,1) forwards;
  }
  .js-mov .abertura-apoio { animation-delay: .12s; }
  .js-mov .abertura-acoes { animation-delay: .22s; }
  .js-mov .abertura-fatos li:nth-child(1) { animation-delay: .38s; }
  .js-mov .abertura-fatos li:nth-child(2) { animation-delay: .46s; }
  .js-mov .abertura-fatos li:nth-child(3) { animation-delay: .54s; }
  @keyframes subir { to { opacity: 1; transform: none; } }

  /* Fotos se revelam de baixo para cima, como tecido saindo da mesa de corte */
  .js-mov [data-revela] { clip-path: inset(100% 0 0 0); transition: clip-path .8s cubic-bezier(.2,.7,.2,1); }
  .js-mov [data-revela].visto { clip-path: inset(0 0 0 0); }

  /* Etapas entram em sequência */
  .js-mov .etapas[data-seq] li { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
  .js-mov .etapas[data-seq].visto li { opacity: 1; transform: none; }
  .js-mov .etapas[data-seq].visto li:nth-child(2) { transition-delay: .18s; }
  .js-mov .etapas[data-seq].visto li:nth-child(3) { transition-delay: .36s; }
  .js-mov .etapas[data-seq].visto li:nth-child(4) { transition-delay: .54s; }

  /* Títulos de seção sobem uma vez */
  .js-mov [data-sobe] { opacity: 0; transform: translateY(20px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
  .js-mov [data-sobe].visto { opacity: 1; transform: none; }

  /* Foto aérea com leve aproximação ao rolar */
  .js-mov .planta-foto[data-zoom] img { transform: scale(1.06); transition: transform 1.6s cubic-bezier(.2,.7,.2,1); }
  .js-mov .planta-foto[data-zoom].visto img { transform: scale(1); }
}
