/**
 * Deco motion — entradas e estado inicial (parallax via JS + translate/rotate individuais).
 */
[data-deco-prop][data-deco-enter]:not(.deco-enter-done) {
  transition:
    opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.65s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-deco-prop][data-deco-enter='fade']:not(.deco-enter-done) {
  opacity: 0;
}

[data-deco-prop][data-deco-enter='blur']:not(.deco-enter-done) {
  opacity: 0;
  filter: blur(12px) var(--deco-filter-extra, none);
}

[data-deco-prop][data-deco-enter='blur-up']:not(.deco-enter-done) {
  opacity: 0;
  filter: blur(10px) var(--deco-filter-extra, none);
}

[data-deco-prop][data-deco-enter='scale']:not(.deco-enter-done) {
  opacity: 0;
  filter: blur(6px) var(--deco-filter-extra, none);
}

[data-deco-prop].deco-enter-done,
[data-deco-prop][data-deco-enter='fade'].deco-enter-done,
[data-deco-prop][data-deco-enter='blur'].deco-enter-done,
[data-deco-prop][data-deco-enter='blur-up'].deco-enter-done,
[data-deco-prop][data-deco-enter='scale'].deco-enter-done {
  opacity: var(--deco-opacity-effective, 1);
  filter: var(--deco-filter-effective, var(--deco-filter-extra, none));
}

@media (prefers-reduced-motion: reduce) {
  [data-deco-prop][data-deco-enter] {
    opacity: 1 !important;
    filter: none !important;
    transition: none !important;
  }
}
