@media (prefers-reduced-motion: no-preference) {

  .hero__text>*,
  .hero .proof {
    animation: rise var(--dur-slow) var(--ease) both;
  }

  .hero__text>*:nth-child(1) {
    animation-delay: 40ms;
  }

  .hero__text>*:nth-child(2) {
    animation-delay: 90ms;
  }

  .hero__text>*:nth-child(3) {
    animation-delay: 140ms;
  }

  .hero__text>*:nth-child(4) {
    animation-delay: 190ms;
  }

  .hero__text>*:nth-child(5) {
    animation-delay: 240ms;
  }

  .hero__text>*:nth-child(6) {
    animation-delay: 290ms;
  }

  .hero .proof {
    animation-delay: 180ms;
  }

  .js .reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity var(--dur-slow) var(--ease),
      transform var(--dur-slow) var(--ease);
  }

  .js .reveal .cards>*,
  .js .reveal .stats>* {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity var(--dur-slow) var(--ease),
      transform var(--dur-slow) var(--ease),
      border-color var(--dur-base) var(--ease);
  }

  .js .reveal.is-visible .cards>*,
  .js .reveal.is-visible .stats>* {
    opacity: 1;
    transform: none;
  }

  .js .reveal.is-visible .cards>.card:hover {
    transform: translateY(-2px);
  }

  .js .reveal .cards>*:nth-child(2),
  .js .reveal .stats>*:nth-child(2) {
    transition-delay: 80ms;
  }

  .js .reveal .cards>*:nth-child(3),
  .js .reveal .stats>*:nth-child(3) {
    transition-delay: 160ms;
  }

  .js .reveal .cards>*:nth-child(4),
  .js .reveal .stats>*:nth-child(4) {
    transition-delay: 240ms;
  }

  .btn:hover {
    transform: translateY(-2px);
  }

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

  .js .reveal .table tbody tr {
    opacity: 0;
    transform: translateY(8px);
    transition: opacity var(--dur-base) var(--ease),
      transform var(--dur-base) var(--ease);
  }

  .js .reveal.is-visible .table tbody tr {
    opacity: 1;
    transform: none;
  }

  .js .reveal .table tbody tr:nth-child(2) {
    transition-delay: 40ms;
  }

  .js .reveal .table tbody tr:nth-child(3) {
    transition-delay: 80ms;
  }

  .js .reveal .table tbody tr:nth-child(4) {
    transition-delay: 120ms;
  }

  .js .reveal .table tbody tr:nth-child(5) {
    transition-delay: 160ms;
  }

  .js .reveal .table tbody tr:nth-child(6) {
    transition-delay: 200ms;
  }

  .js .reveal .table tbody tr:nth-child(7) {
    transition-delay: 240ms;
  }

  .js .reveal .table tbody tr:nth-child(8) {
    transition-delay: 280ms;
  }

  .proof__dot {
    animation: pulse 2.4s var(--ease) infinite;
  }
}

@keyframes pulse {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: .45;
  }
}

@keyframes rise {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}
