/* Entrada editorial global. El estado oculto sólo existe cuando JavaScript
   confirma IntersectionObserver; si el script falla, todo permanece visible. */
.has-scroll-reveal .avl-scroll-reveal{
  opacity:0;
  filter:blur(2.5px);
  translate:0 clamp(28px,3.2vw,46px);
  transition:
    opacity .82s cubic-bezier(.22,.61,.36,1),
    translate 1s cubic-bezier(.16,1,.3,1),
    filter .72s ease;
  transition-delay:var(--avl-reveal-delay,0ms);
  will-change:opacity,translate,filter;
}

.has-scroll-reveal.avl-reveal-preparing .avl-scroll-reveal{
  transition:none!important;
}

.has-scroll-reveal .avl-scroll-reveal.avl-reveal-visible{
  opacity:1;
  filter:none;
  translate:0 0;
}

@media(max-width:760px){
  .has-scroll-reveal .avl-scroll-reveal{
    translate:0 28px;
    transition-duration:.72s,.88s,.64s;
  }
}

@media(prefers-reduced-motion:reduce){
  .has-scroll-reveal .avl-scroll-reveal{
    opacity:1!important;
    filter:none!important;
    translate:none!important;
    transition:none!important;
  }
}
