.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .75s ease,transform .75s ease;
}

.reveal.is-visible{
  opacity:1;
  transform:none;
}

.reveal-left{
  opacity:0;
  transform:translateX(-34px);
  transition:opacity .8s ease,transform .8s ease;
}

.reveal-left.is-visible{
  opacity:1;
  transform:none;
}

.reveal-right{
  opacity:0;
  transform:translateX(34px);
  transition:opacity .8s ease,transform .8s ease;
}

.reveal-right.is-visible{
  opacity:1;
  transform:none;
}

.float-slow{
  animation:floatSlow 6s ease-in-out infinite;
}

.pulse-soft{
  animation:pulseSoft 3.8s ease-in-out infinite;
}

@keyframes floatSlow{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-12px)}
}

@keyframes pulseSoft{
  0%,100%{box-shadow:0 0 0 0 rgba(19,185,199,.16)}
  50%{box-shadow:0 0 0 18px rgba(19,185,199,0)}
}

@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }

  .reveal,
  .reveal-left,
  .reveal-right{
    opacity:1;
    transform:none;
  }
}
