/* ── Scroll Reveal ── */

/* Estados iniciais (antes de aparecer) */
.sr-fade-up    { opacity: 0; transform: translateY(20px); filter: blur(4px); }
.sr-slide-right{ opacity: 0; transform: translateX(-30px); filter: blur(4px); }
.sr-slide-left { opacity: 0; transform: translateX(30px);  filter: blur(4px); }

/* Estado visível (ativado pelo JS) */
.sr-fade-up.sr-visible {
  animation: sr-fade-up 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.sr-slide-right.sr-visible {
  animation: sr-slide-right 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.sr-slide-left.sr-visible {
  animation: sr-slide-left 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes sr-fade-up {
  from { opacity: 0; transform: translateY(20px); filter: blur(4px); }
  to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
}
@keyframes sr-slide-right {
  from { opacity: 0; transform: translateX(-30px); filter: blur(4px); }
  to   { opacity: 1; transform: translateX(0);     filter: blur(0); }
}
@keyframes sr-slide-left {
  from { opacity: 0; transform: translateX(30px); filter: blur(4px); }
  to   { opacity: 1; transform: translateX(0);    filter: blur(0); }
}