/* Todo contenido es visible sin JS; .js activa los estados iniciales */
.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js [data-reveal].is-in{opacity:1;transform:none}
.js .slide.is-active .kicker,.js .slide.is-active h1,.js .slide.is-active .h1,.js .slide.is-active .lead,.js .slide.is-active .btns{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.js .slide.is-active h1,.js .slide.is-active .h1{animation-delay:.12s}
.js .slide.is-active .lead{animation-delay:.24s}
.js .slide.is-active .btns{animation-delay:.36s}
@keyframes rise{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
@keyframes enter{from{opacity:0}to{opacity:1}}
main{animation:enter .5s ease both}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  .js [data-reveal]{opacity:1;transform:none}
}
