/* Shared styles extracted from repeated inline blocks. */
/* V50 update: restore premium scroll reveal animation */
body:not(.no-motion) .reveal{
  opacity:0!important;
  transform:translateY(34px)!important;
  transition:
    opacity .82s cubic-bezier(.2,.8,.2,1),
    transform .82s cubic-bezier(.2,.8,.2,1)!important;
  will-change:opacity,transform;
}
body:not(.no-motion) .reveal.reveal-left{
  transform:translateX(-36px)!important;
}
body:not(.no-motion) .reveal.reveal-right{
  transform:translateX(36px)!important;
}
body:not(.no-motion) .reveal.visible{
  opacity:1!important;
  transform:none!important;
}
body:not(.no-motion) .section-heading.reveal h2,
body:not(.no-motion) .hero-copy.reveal h1,
body:not(.no-motion) .page-hero-content.reveal h1{
  animation:zxTextLift .9s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes zxTextLift{
  from{opacity:0;transform:translateY(22px);filter:blur(4px)}
  to{opacity:1;transform:translateY(0);filter:blur(0)}
}
@media (prefers-reduced-motion: reduce){
  .reveal{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}
