.text-rise .tr-char {
  display: inline-block;
  white-space: pre;
  opacity: 0;
  transform: translateY(0.8em);
  will-change: transform, opacity;
}

.text-rise.is-animated .tr-char {
  animation: trCharRise 0.72s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

@keyframes trCharRise {
  0% {
    opacity: 0;
    transform: translateY(0.8em);
  }

  60% {
    opacity: 1;
    transform: translateY(-0.06em);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.text-fade-up[data-tf-ready="1"] {
  opacity: 0;
  transform: translateY(18px);
  will-change: transform, opacity;
}

.text-fade-up[data-tf-ready="1"].is-animated {
  animation: trFadeUp 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

html.js .text-stamp-pop {
  display: inline-block;
  opacity: 0;
  transform: scale(0.68) rotate(-8deg);
  transform-origin: center center;
  will-change: transform, opacity;
}

html.js .text-stamp-pop.is-animated {
  animation: trStampPop 0.46s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes trFadeUp {
  0% {
    opacity: 0;
    transform: translateY(18px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes trStampPop {
  0% {
    opacity: 0;
    transform: scale(0.68) rotate(-8deg);
  }

  58% {
    opacity: 1;
    transform: scale(1.16) rotate(3deg);
  }

  78% {
    opacity: 1;
    transform: scale(0.96) rotate(-1deg);
  }

  100% {
    opacity: 1;
    transform: scale(1) rotate(0);
  }
}

html.pt-hide .js-fixed-cta {
  opacity: 0 !important;
  transform: translateY(12px) !important;
  pointer-events: none !important;
  transition-delay: 0s !important;
}

html.pt-hide.pt-cta-ready .js-fixed-cta:not(.is-near-footer) {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
  transition-delay: 0s !important;
}

html.pt-hide.pt-cta-ready .js-fixed-cta.is-near-footer {
  opacity: 0 !important;
  transform: translateY(12px) !important;
  pointer-events: none !important;
  transition-delay: 0s !important;
}

@media (prefers-reduced-motion: reduce) {
  .text-rise .tr-char {
    opacity: 1;
    transform: none;
    animation: none !important;
  }

  .text-fade-up[data-tf-ready="1"] {
    opacity: 1;
    transform: none;
    animation: none !important;
  }

  html.js .text-stamp-pop {
    opacity: 1;
    transform: none;
    animation: none !important;
  }
}
