@media (prefers-reduced-motion: no-preference) {
  .home-flow .hero__scene {
    transform: translate3d(0, var(--flow-down, 0px), 0) scale(1.018);
  }

  .home-flow .about__photo img,
  .home-flow .service-card__visual img,
  .home-flow .courses__visual img,
  .home-flow .why__portrait img,
  .home-flow .youtube__portrait-image {
    transform: translate3d(0, var(--flow-up, 0px), 0) scale(1.07);
  }

  .home-flow .about__photo--session img {
    transform: translate3d(0, var(--flow-down, 0px), 0) scale(1.07);
  }

  .home-flow .service-card:hover .service-card__visual img {
    transform: translate3d(0, var(--flow-up, 0px), 0) scale(1.095);
  }

  .home-flow .courses__feature:hover .courses__visual img {
    transform: translate3d(0, var(--flow-up, 0px), 0) scale(1.095);
  }

  .home-flow .about__photo img,
  .home-flow .service-card__visual img,
  .home-flow .courses__visual img,
  .home-flow .why__portrait img,
  .home-flow .youtube__portrait-image {
    transition: transform 110ms linear;
  }

  .home-flow .about__details,
  .home-flow .why__feature,
  .home-flow .faq__item,
  .home-flow .reviews__carousel,
  .home-flow .youtube__watch {
    position: relative;
  }

  .home-flow .about__details::before,
  .home-flow .why__feature::before,
  .home-flow .faq__item::after,
  .home-flow .reviews__carousel::before,
  .home-flow .youtube__watch::before {
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    height: 1px;
    background: #94ad98;
    content: '';
    pointer-events: none;
    transform-origin: left center;
    transform: scaleX(0);
  }

  .home-flow .about__details::before,
  .home-flow .why__feature::before,
  .home-flow .youtube__watch::before { top: -1px; }
  .home-flow .faq__item::after { bottom: -1px; }
  .home-flow .reviews__carousel::before { top: -1px; left: 18px; right: 18px; }
  .home-flow .about__details::before,
  .home-flow .youtube__watch::before,
  .home-flow .reviews__carousel::before {
    transform: scaleX(var(--flow-fill, 0));
  }
  .home-flow .why__feature.flow-seen::before,
  .home-flow .faq__item.flow-seen::after {
    transform: scaleX(1);
    transition: transform 820ms cubic-bezier(.22, 1, .36, 1);
  }

  .home-flow .services.services--motion .service-card:not(.service-card--visible) {
    transform: translate3d(0, 29px, 0) scale(.988);
  }
  .home-flow .courses.courses--motion .courses__feature:not(.is-visible) {
    transform: translate3d(18px, 0, 0);
  }
  .home-flow .why.why--motion .why__visual:not(.is-visible) {
    transform: translate3d(-16px, 14px, 0);
  }
  .home-flow .youtube.youtube--motion .youtube__watch:not(.is-visible) {
    transform: translate3d(0, 27px, 0);
  }
  .home-flow .consultation.consultation--motion .consultation__panel:not(.is-visible) {
    transform: translate3d(0, 21px, 0) scale(.992);
  }

  .home-flow .consultation__portrait {
    transform: translateX(-50%) translate3d(0, var(--flow-down, 0px), 0);
    transition: transform 110ms linear;
  }

  .home-flow .reviews--enhanced .reviews__slide:not([hidden]) {
    animation: flow-quote-enter 700ms cubic-bezier(.22, 1, .36, 1) both;
  }

  .home-flow .booking__field.flow-seen {
    animation: flow-field-enter 680ms cubic-bezier(.22, 1, .36, 1) both;
  }

  .home-flow .therapy-path__steps .therapy-path__step { z-index: 1; }

  .home-flow .therapy-path__steps::after {
    position: absolute;
    z-index: 0;
    top: 29px;
    left: calc((100% - 3 * clamp(22px, 3vw, 49px)) / 8);
    right: calc((100% - 3 * clamp(22px, 3vw, 49px)) / 8);
    height: 1px;
    content: '';
    pointer-events: none;
    background: #7d967f;
    transform: scaleX(var(--path-line-fill, 0));
    transform-origin: left center;
    transition: transform 320ms cubic-bezier(.22, 1, .36, 1);
  }

  @media (max-width: 1050px) {
    .home-flow .therapy-path__steps::after {
      right: calc((100% - 69px) / 8);
      left: calc((100% - 69px) / 8);
    }
  }

  @media (max-width: 900px) {
    .home-flow .therapy-path__steps::after {
      top: 24px;
      bottom: 18px;
      left: 24px;
      right: auto;
      width: 1px;
      height: auto;
      transform: scaleY(var(--path-line-fill, 0));
      transform-origin: center top;
    }
    .home-flow .about__photo img,
    .home-flow .service-card__visual img,
    .home-flow .courses__visual img,
    .home-flow .why__portrait img,
    .home-flow .youtube__portrait-image { transition-duration: 150ms; }
  }

  @media (max-width: 380px) {
    .home-flow .therapy-path__steps::after { top: 21px; left: 21px; }
  }

  @keyframes flow-quote-enter {
    from { opacity: .28; transform: translate3d(0, 12px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
  }

  @keyframes flow-field-enter {
    from { opacity: .45; transform: translate3d(0, 11px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
  }
}
