/* ECIV Extra — reveal por scroll (WP). Blocos AEO/GEO e fixes vivem em styles.css.
   Só ativo com JS (html.js-anim) e sem reduced motion. Apenas opacity/transform:
   zero layout shift, zero custo de rede. */
.js-anim .reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 600ms var(--ease-out), transform 600ms var(--ease-out);
  transition-delay: var(--reveal-delay, 0ms);
}

.js-anim .reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .js-anim .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Card da categoria C: a ilustracao e 3:2 e o card e 4:5, pelo que o
   object-fit:cover corta a largura. Desloca o corte para a cabina entrar inteira. */
.category-card.focus-88 img { object-position: 88% 50%; }
