
.reveal.left   { transform: translateX(-24px) skewY(1deg) scale(0.98); }
.reveal.right  { transform: translateX(24px) skewY(-1deg) scale(0.98); }
.reveal.left.is-visible,
.reveal.right.is-visible { transform: translateX(0) skewY(0) scale(1); }

.reveal.clip { 
  clip-path: inset(0 100% 0 0); 
  -webkit-clip-path: inset(0 100% 0 0);
}
.reveal.clip.is-visible { 
  clip-path: inset(0 0 0 0); 
  -webkit-clip-path: inset(0 0 0 0);
  transition: clip-path 900ms ease-out, opacity 700ms ease-out, transform 700ms ease-out;
}

.reveal.is-visible .shimmer {
  animation: shimmer 1100ms ease-out both;
  background-size: 200% 100%;
  background-image: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.35) 15%,
    rgba(255,255,255,0) 30%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent; 
}
@keyframes shimmer {
  0%   { background-position: -120% 0; }
  100% { background-position: 120% 0; }
}

.reveal.right.is-visible .cta-glow {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 600ms ease-out 180ms, transform 600ms ease-out 180ms;
}
.cta-glow {
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
  position: absolute; left: 0; right: 0; bottom: -6px; height: 10px;
  background: radial-gradient(50% 100% at 50% 50%, rgba(69,85,253,0.35), rgba(69,85,253,0));
  filter: blur(8px);
}
