html.motion-enabled .site-scroll-progress {
  position: fixed;
  z-index: 9999;
  inset: 0 auto auto 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #8869a9, #6b967b);
  box-shadow: 0 1px 8px rgba(118, 85, 154, .2);
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: left center;
}

html.motion-enabled .aqua-nav {
  animation: site-motion-nav-in 680ms cubic-bezier(.2, .75, .25, 1) both;
}

html.motion-enabled .aqua-nav .links li {
  animation: site-motion-nav-in 520ms cubic-bezier(.2, .75, .25, 1) both;
  animation-delay: var(--motion-stagger, 90ms);
}

html.motion-enabled .motion-hero {
  animation: site-motion-rise 820ms cubic-bezier(.2, .75, .25, 1) both;
  animation-delay: var(--motion-hero-delay, 0ms);
}

html.motion-enabled .motion-hero-child {
  animation: site-motion-child-in 760ms cubic-bezier(.2, .75, .25, 1) both;
  animation-delay: var(--motion-child-delay, 140ms);
}

html.motion-enabled .motion-reveal {
  opacity: 0;
  transform: translate3d(0, 34px, 0) scale(.978);
  filter: blur(6px);
  transition:
    opacity 820ms cubic-bezier(.2, .75, .25, 1),
    transform 900ms cubic-bezier(.2, .75, .25, 1),
    filter 820ms cubic-bezier(.2, .75, .25, 1);
  transition-delay: var(--motion-stagger, 0ms);
}

html.motion-enabled .motion-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}

html.motion-enabled .motion-section {
  opacity: 0;
  transform: translate3d(0, 26px, 0) scale(.992);
  transition:
    opacity 760ms cubic-bezier(.2, .75, .25, 1),
    transform 860ms cubic-bezier(.2, .75, .25, 1);
  transition-delay: var(--motion-stagger, 0ms);
}

html.motion-enabled .motion-section.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

html.motion-enabled .motion-heading {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  filter: blur(3px);
  transition:
    opacity 620ms cubic-bezier(.2, .75, .25, 1),
    transform 720ms cubic-bezier(.2, .75, .25, 1),
    filter 620ms cubic-bezier(.2, .75, .25, 1);
  transition-delay: var(--motion-heading-delay, 0ms);
}

html.motion-enabled .motion-heading.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}

html.motion-enabled .motion-image {
  opacity: 0;
  transform: scale(.96);
  filter: blur(7px);
  transition:
    opacity 850ms cubic-bezier(.2, .75, .25, 1),
    transform 1000ms cubic-bezier(.2, .75, .25, 1),
    filter 850ms cubic-bezier(.2, .75, .25, 1);
  transition-delay: var(--motion-stagger, 0ms);
}

html.motion-enabled .motion-image:not(.motion-float).is-visible {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}

html.motion-enabled .motion-image.motion-float.is-visible {
  opacity: 1;
  filter: blur(0);
}

html.motion-enabled .motion-float {
  translate: 0 var(--motion-parallax-y, 0px);
  animation: site-motion-float 6s ease-in-out 850ms infinite;
  transform-origin: center;
}

html.motion-enabled .motion-body-image.is-visible {
  animation: site-motion-body-drift 6.2s ease-in-out var(--motion-image-delay, 0ms) infinite alternate;
}

html.motion-enabled .motion-lift {
  transition: transform 380ms cubic-bezier(.2, .75, .25, 1);
}

html.motion-enabled .motion-lift:active {
  transform: scale(.99);
}

@media (hover: hover) {
  html.motion-enabled .motion-lift:hover:not(:active):not(.motion-tilt),
  html.motion-enabled .equipment-option:hover:not(:active):not(.motion-tilt) {
    transform: translateY(-4px) scale(1.008);
  }

  html.motion-enabled .motion-image:not(.motion-float):hover {
    transform: scale(1.035);
  }
}

@media (hover: hover) and (pointer: fine) {
  html.motion-enabled .motion-tilt {
    transform-style: preserve-3d;
    transition: transform 420ms cubic-bezier(.2, .75, .25, 1);
  }

  html.motion-enabled .motion-tilt:hover {
    transform:
      perspective(1000px)
      rotateX(var(--motion-tilt-y, 0deg))
      rotateY(var(--motion-tilt-x, 0deg))
      translateY(-5px)
      scale(1.012);
  }
}

html.motion-enabled .page-status,
html.motion-enabled .availability-panel {
  transition:
    background-color 320ms ease,
    border-color 320ms ease,
    color 320ms ease;
}

html.motion-enabled .equipment-option {
  animation: site-motion-option-in 480ms ease both;
}

html.motion-enabled .equipment-option:nth-child(2) { animation-delay: 70ms; }
html.motion-enabled .equipment-option:nth-child(3) { animation-delay: 140ms; }
html.motion-enabled .equipment-option:nth-child(4) { animation-delay: 210ms; }

html.motion-enabled .result-card:not([hidden]) {
  animation: site-motion-rise 620ms cubic-bezier(.2, .75, .25, 1) both;
}

html.motion-enabled .type-accent .motion-char {
  animation: site-motion-type 1ms steps(1, end) both;
}

html.motion-enabled .motion-typed-punctuation {
  animation: site-motion-type 1ms steps(1, end) both;
}

@keyframes site-motion-rise {
  from {
    opacity: 0;
    transform: translate3d(0, 34px, 0) scale(.975);
    filter: blur(6px);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
  }
}

@keyframes site-motion-child-in {
  from {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
    filter: blur(4px);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
}

@keyframes site-motion-nav-in {
  from {
    opacity: 0;
    transform: translate3d(0, -10px, 0) scale(.99);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes site-motion-float {
  0%, 100% {
    transform: translateY(0) rotate(0);
  }

  50% {
    transform: translateY(-10px) rotate(.35deg);
  }
}

@keyframes site-motion-body-drift {
  from {
    translate: 0 0;
    rotate: 0deg;
  }

  to {
    translate: 0 -7px;
    rotate: .25deg;
  }
}

@keyframes site-motion-option-in {
  from {
    opacity: 0;
    filter: blur(4px);
  }

  to {
    opacity: 1;
    filter: blur(0);
  }
}

@keyframes site-motion-type {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.motion-enabled .motion-hero,
  html.motion-enabled .motion-hero-child,
  html.motion-enabled .type-accent .motion-char,
  html.motion-enabled .motion-typed-punctuation {
    animation: none !important;
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
  }

  html.motion-enabled .motion-section {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  html.motion-enabled .motion-heading {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
  }

  html.motion-enabled .motion-reveal {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }

  html.motion-enabled .motion-image {
    opacity: 1 !important;
    filter: none !important;
    transition: none !important;
  }

  html.motion-enabled .motion-float,
  html.motion-enabled .motion-body-image,
  html.motion-enabled .motion-lift,
  html.motion-enabled .motion-tilt,
  html.motion-enabled .equipment-option,
  html.motion-enabled .result-card:not([hidden]),
  html.motion-enabled .aqua-nav,
  html.motion-enabled .aqua-nav .links li {
    animation: none !important;
    transform: none !important;
    translate: none !important;
    rotate: none !important;
    transition: none !important;
  }

  html.motion-enabled .site-scroll-progress {
    display: none;
  }
}
