@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: smooth; }
  html.js-reveal .reveal {
    transform: translateY(30px) !important;
    transition: opacity .42s var(--ease), transform .42s var(--ease) !important;
    transition-delay: calc(var(--rd, 0s) * 0.35) !important;
  }
  html.js-reveal .reveal.is-in { opacity: 1 !important; transform: none !important; }

  html.js-reveal .reveal-line {
    transform: scaleX(0) !important;
    transform-origin: left;
    opacity: 1;
    transition: transform .55s var(--ease) !important;
    transition-delay: calc(var(--rd, 0s) * 0.35) !important;
  }
  html.js-reveal .reveal-line.is-in { transform: scaleX(1) !important; opacity: 1; }

  html.js-reveal .rise-mask > span {
    transform: translateY(135%) !important;
    opacity: 1;
    transition: transform .5s var(--ease) !important;
    transition-delay: calc(var(--rd, 0s) * 0.35) !important;
  }
  html.js-reveal .rise-mask.is-in > span { transform: none !important; opacity: 1; }
  html.js-reveal .reveal .plate img {
    transform: scale(1.12) !important;
    opacity: 0 !important;
    transition: transform .9s var(--ease), opacity .7s var(--ease) !important;
    transition-delay: calc(var(--rd, 0s) * 0.35) !important;
  }
  html.js-reveal .reveal.is-in .plate img { transform: none !important; opacity: 1 !important; }
  .cn__drift {
    animation-name: cn-float !important;
    animation-timing-function: ease-in-out !important;
    animation-iteration-count: infinite !important;
    animation-direction: alternate !important;
  }
  .cn::before { transition: inset 1.1s cubic-bezier(.16,1,.3,1), border-radius 1.1s cubic-bezier(.16,1,.3,1); }
  .cn--closed { --cn-inset: 44px; --cn-round: 20px; }
  .cn__hub-t { transition: fill .35s ease; }
  .motion-on .m-shot img,
  .motion-on .m-shot video {
    transform: translate3d(0, var(--mp, 0px), 0) scale(var(--ms, 1)) !important;
  }
  .motion-on .m-shot--settling img,
  .motion-on .m-shot--settling video {
    transition: transform 1.5s var(--ease, cubic-bezier(.16,1,.3,1)) !important;
  }
  .motion-on .btn { transform: translate3d(var(--mx, 0px), var(--my, 0px), 0) !important; }
  .pt-veil { display: block; }
  .motion-on .band--dark > .m-glow { display: block; }
  .stu-card.is-in { animation: stu-card-in 1s var(--ease, cubic-bezier(.16,1,.3,1)) both !important; }
  .stu-track::before { transform: scaleY(0) !important; opacity: 1 !important; transition: transform 1.6s cubic-bezier(.22,.61,.36,1) .2s !important; }
  .stu-track.is-in::before { transform: scaleY(1) !important; }
  .stu-area .stu-area__mark::before { transform: scale(0) !important; opacity: 1 !important; transition: transform .7s var(--ease, cubic-bezier(.16,1,.3,1)) var(--rd, 0s) !important; }
  .stu-area.is-in .stu-area__mark::before { transform: scale(1) !important; }
  .stu-hero--open .stu-pill { animation: stu-pill-in 1s var(--ease, cubic-bezier(.16,1,.3,1)) both .1s !important; }
  .stu-hero--open .stu-hero__tick { animation: stu-tick 1.1s cubic-bezier(.16,1,.3,1) both 1.05s !important; }
  .stu-pill__dot::before { animation: stu-ping 2.4s cubic-bezier(0,0,.2,1) infinite !important; }
  .stu-globe__ring { animation: stu-spin 34s linear infinite !important; }
  .is-entering .hero__inner { opacity: 0; transform: translateY(18px); }
  .is-entered .enter { transition-duration: inherit; }
}
.motion-on .m-shot img,
.motion-on .m-shot video,
.motion-on .m-shot--settling img,
.motion-on .m-shot--settling video {
  transform: none !important;
  will-change: auto !important;
}

.motion-on .m-shot--settling img,
.motion-on .m-shot--settling video { transition: none !important; }
