/* Shared cinematic motion language. Content remains visible if JS is absent. */
html.motion-capable {
  --motion-ease: cubic-bezier(.2, .78, .18, 1);
  --motion-ease-out: cubic-bezier(.16, 1, .3, 1);
  --motion-fast: 620ms;
  --motion-medium: 920ms;
}

.motion-capable .motion-header {
  opacity: 0;
  transform: translateY(-18px);
  transition: opacity var(--motion-fast) ease, transform var(--motion-medium) var(--motion-ease);
}

.motion-capable body.motion-ready .motion-header {
  opacity: 1;
  transform: none;
}

.motion-capable .motion-hero-item {
  opacity: 0;
  transform: translateY(46px);
  filter: blur(12px);
  clip-path: inset(0 0 32% 0);
  transition: opacity var(--motion-medium) ease,
              transform 1100ms var(--motion-ease-out),
              filter 900ms ease,
              clip-path 1100ms var(--motion-ease-out);
  transition-delay: calc(180ms + (var(--motion-order, 0) * 125ms));
}

.motion-capable body.motion-ready .motion-hero-item {
  opacity: 1;
  transform: none;
  filter: none;
  clip-path: inset(0);
}

.motion-capable .motion-observe {
  opacity: 0;
  transform: translateY(74px);
  clip-path: inset(0 0 16% 0);
  transition: opacity 840ms ease,
              transform 1150ms var(--motion-ease-out),
              clip-path 1150ms var(--motion-ease-out);
}

.motion-capable body[data-motion-profile="cinema"] .motion-observe {
  transform: translateY(54px) scale(.992);
  clip-path: inset(0 0 12% 0);
}

.motion-capable body[data-motion-profile="cascade"] .motion-observe {
  transform: translateY(calc(28px + (var(--motion-section, 0) * 5px))) rotateX(1.5deg);
  transform-origin: 50% 100%;
  clip-path: inset(4% 0 8% 0);
}

.motion-capable body[data-motion-profile="lateral"] .motion-observe {
  transform: translateX(78px);
  clip-path: inset(0 0 0 12%);
}

.motion-capable body[data-motion-profile="focus"] .motion-observe {
  transform: translateY(24px) scale(.985);
  clip-path: inset(3% 2%);
}

.motion-capable body[data-motion-profile="editorial"] .motion-observe:nth-of-type(even) {
  transform: translateX(-68px);
  clip-path: inset(0 10% 0 0);
}

.motion-capable body[data-motion-profile="steady"] .motion-observe {
  transform: translateY(18px);
  clip-path: inset(0);
}

.motion-capable body[data-motion-profile="network"] .motion-observe:nth-of-type(odd) {
  transform: translateX(-30px) scale(.992);
  clip-path: inset(0 5% 0 0);
}

.motion-capable body[data-motion-profile="network"] .motion-observe:nth-of-type(even) {
  transform: translateX(30px) scale(.992);
  clip-path: inset(0 0 0 5%);
}

.motion-capable body[data-motion-profile="sequence"] .motion-observe {
  transform: translateY(34px) perspective(900px) rotateX(2deg);
  transform-origin: 50% 100%;
  clip-path: inset(5% 0 0 0);
}

.motion-capable body[data-motion-profile="lift"] .motion-observe {
  transform: translateY(48px) scale(.988);
  clip-path: inset(0 0 10% 0);
}

.motion-capable .motion-observe.motion-in {
  opacity: 1;
  transform: none !important;
  clip-path: inset(0);
}

/* Interior pages keep the section surface painted and load the actual content
   layers on top. This prevents text, cards and icons from completing their
   transitions behind a still-transparent section. */
.motion-capable .motion-content-section {
  opacity: 1;
  transform: none;
  clip-path: none;
}

.motion-capable .motion-content-section .motion-stagger-item {
  opacity: 0;
  translate: 0 46px;
  scale: .975;
  filter: blur(4px);
  transition: opacity 700ms ease,
              translate 940ms var(--motion-ease-out),
              scale 940ms var(--motion-ease-out),
              filter 780ms ease;
  transition-delay: calc(70ms + (var(--motion-order, 0) * 92ms));
}

.motion-capable body[data-motion-profile="lateral"] .motion-content-section .motion-stagger-item:nth-child(even) {
  translate: 42px 0;
  scale: .985;
}

.motion-capable body[data-motion-profile="editorial"] .motion-content-section .motion-stagger-item:nth-child(odd) {
  translate: -34px 0;
  scale: .988;
}

/* Bordered data grids must keep their cell geometry fixed while loading.
   Moving the cells makes borders split apart and reads as a broken layout. */
.motion-capable body[data-motion-profile] .motion-content-section .knowledge-card,
.motion-capable body[data-motion-profile] .motion-content-section .about-facts > article,
.motion-capable body[data-motion-profile] .motion-content-section .about-reach-facts > article,
.motion-capable body[data-motion-profile] .motion-content-section .about-contact-grid > a {
  translate: none !important;
  scale: none !important;
}

.motion-capable body[data-motion-profile] .motion-content-section.motion-in .motion-stagger-item {
  opacity: 1;
  translate: none;
  scale: none;
  filter: none;
}

.motion-capable body[data-motion-profile="editorial"] .motion-content-section.motion-in .motion-title,
.motion-capable body[data-motion-profile="lateral"] .motion-content-section.motion-in .motion-media,
.motion-capable body[data-motion-profile="network"] .motion-content-section.motion-in .motion-media {
  transform: none;
}

.motion-capable body[data-motion-profile="editorial"] .motion-content-section.motion-in .motion-title {
  opacity: 1;
  clip-path: inset(0);
}

/* About reach already animates its copy and map as reveal wrappers. Keeping a
   second mask on their children can leave the wrapper visible but its content
   clipped when an observer fires late (notably on direct anchors and file previews). */
.motion-capable #about-reach .motion-title,
.motion-capable #about-reach .motion-media {
  opacity: 1;
  transform: none;
  filter: none;
  clip-path: inset(0);
}

.motion-capable .motion-content-section .motion-load-item {
  opacity: 0;
  transform: translateY(16px);
  clip-path: inset(0 0 72% 0);
  transition: opacity 520ms ease,
              transform 720ms var(--motion-ease-out),
              clip-path 720ms var(--motion-ease-out);
  transition-delay: calc(170ms + (var(--motion-text-order, 0) * 48ms));
}

.motion-capable .motion-content-section.motion-in .motion-load-item {
  opacity: 1;
  transform: none;
  clip-path: inset(0);
}

.motion-capable .motion-content-section .motion-icon {
  opacity: 0;
  clip-path: circle(0 at 50% 50%);
  transition: opacity 420ms ease,
              clip-path 650ms var(--motion-ease-out),
              transform 420ms var(--motion-ease),
              filter 420ms ease;
  transition-delay: calc(190ms + (var(--motion-order, 0) * 92ms));
}

.motion-capable .motion-content-section.motion-in .motion-icon {
  opacity: 1;
  clip-path: circle(75% at 50% 50%);
}

/* Product pages use the section as an activation boundary, not as an opaque
   curtain. This keeps every child entrance visible instead of letting nested
   reveal animations complete behind a hidden parent. */
.motion-capable body.product-page .motion-product-section {
  opacity: 1;
  transform: none;
  clip-path: none;
}

.motion-capable body.product-page .motion-product-section .motion-stagger-item {
  transform: translateY(52px) scale(.965);
  filter: blur(4px);
  transition-duration: 760ms, 1000ms, 820ms;
  transition-delay: calc(80ms + (var(--motion-order, 0) * 105ms));
}

.motion-capable body.product-page .motion-product-section .motion-title {
  transform: translateY(112%);
  transition-duration: 620ms, 980ms, 980ms;
}

.motion-capable body.product-page .motion-product-section .motion-media {
  transform: scale(1.055);
  filter: saturate(.62) blur(9px);
}

.motion-capable body.product-page .motion-product-section.motion-in .motion-stagger-item,
.motion-capable body.product-page .motion-product-section.motion-in .motion-title,
.motion-capable body.product-page .motion-product-section.motion-in .motion-media {
  opacity: 1;
  transform: none;
  filter: none;
  clip-path: inset(0);
}

.motion-capable body.product-page .motion-product-section .motion-load-item {
  opacity: 0;
  transform: translateY(18px);
  clip-path: inset(0 0 68% 0);
  transition: opacity 560ms ease,
              transform 760ms var(--motion-ease-out),
              clip-path 760ms var(--motion-ease-out);
  transition-delay: calc(190ms + (var(--motion-text-order, 0) * 48ms));
}

.motion-capable body.product-page .motion-product-section.motion-in .motion-load-item {
  opacity: 1;
  transform: none;
  clip-path: inset(0);
}

.motion-capable body.product-page .motion-product-section .motion-icon {
  opacity: 0;
  clip-path: circle(0 at 50% 50%);
  transition: opacity 440ms ease,
              clip-path 680ms var(--motion-ease-out),
              transform 420ms var(--motion-ease),
              filter 420ms ease;
  transition-delay: calc(220ms + (var(--motion-order, 0) * 105ms));
}

.motion-capable body.product-page .motion-product-section.motion-in .motion-icon {
  opacity: 1;
  clip-path: circle(75% at 50% 50%);
}

.motion-capable body.product-page .motion-product-jumpbar .motion-jump-item {
  opacity: 0;
  transform: translateY(-12px);
  transition: opacity 460ms ease, transform 620ms var(--motion-ease-out);
  transition-delay: calc(260ms + (var(--motion-order, 0) * 70ms));
}

.motion-capable body.product-page.motion-ready .motion-product-jumpbar .motion-jump-item {
  opacity: 1;
  transform: none;
}

.motion-capable body.product-page .motion-hero-caption-item {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 520ms ease, transform 700ms var(--motion-ease-out);
  transition-delay: calc(620ms + (var(--motion-order, 0) * 100ms));
}

.motion-capable body.product-page.motion-ready .motion-hero-caption-item {
  opacity: 1;
  transform: none;
}

/* Homepage sections remain painted while their internal layers load in. */
.motion-capable body.marketing-home .motion-home-section {
  opacity: 1;
  transform: none;
  clip-path: none;
}

.motion-capable body.marketing-home .motion-home-section .motion-stagger-item {
  opacity: 0;
  transform: translateY(54px) scale(.97);
  filter: blur(4px);
  transition: opacity 720ms ease,
              transform 980ms var(--motion-ease-out),
              filter 780ms ease;
  transition-delay: calc(70ms + (var(--motion-order, 0) * 100ms));
}

.motion-capable body.marketing-home .motion-home-section.motion-in .motion-stagger-item {
  opacity: 1;
  transform: none;
  filter: none;
}

.motion-capable body.marketing-home .motion-home-section .motion-title {
  transform: translateY(110%);
  transition-duration: 600ms, 940ms, 940ms;
}

.motion-capable body.marketing-home .motion-home-section .motion-media {
  transform: scale(1.05);
  filter: saturate(.66) blur(7px);
}

.motion-capable body.marketing-home .motion-home-section.motion-in .motion-title,
.motion-capable body.marketing-home .motion-home-section.motion-in .motion-media {
  opacity: 1;
  transform: none;
  filter: none;
  clip-path: inset(0);
}

.motion-capable body.marketing-home .motion-home-section .motion-load-item {
  opacity: 0;
  transform: translateY(18px);
  clip-path: inset(0 0 68% 0);
  transition: opacity 540ms ease,
              transform 740ms var(--motion-ease-out),
              clip-path 740ms var(--motion-ease-out);
  transition-delay: calc(170ms + (var(--motion-text-order, 0) * 46ms));
}

.motion-capable body.marketing-home .motion-home-section.motion-in .motion-load-item {
  opacity: 1;
  transform: none;
  clip-path: inset(0);
}

.motion-capable body.marketing-home .motion-home-section .motion-icon {
  opacity: 0;
  clip-path: circle(0 at 50% 50%);
  transition: opacity 420ms ease,
              clip-path 650ms var(--motion-ease-out),
              transform 420ms var(--motion-ease),
              filter 420ms ease;
  transition-delay: calc(200ms + (var(--motion-order, 0) * 100ms));
}

.motion-capable body.marketing-home .motion-home-section.motion-in .motion-icon {
  opacity: 1;
  clip-path: circle(75% at 50% 50%);
}

.motion-capable .motion-stagger-item {
  opacity: 0;
  filter: blur(4px);
  transition: opacity 680ms ease,
              transform 900ms var(--motion-ease-out),
              filter 760ms ease;
  transition-delay: calc(110ms + (var(--motion-order, 0) * 90ms));
}

/* Content has its own entrance language: copy uncovers, media resolves and
   diagrams assemble. These run once when their section enters the viewport. */
.motion-capable .motion-title {
  opacity: 0;
  transform: translateY(105%);
  clip-path: inset(0 0 100% 0);
  transition: opacity 540ms ease,
              transform 900ms var(--motion-ease-out),
              clip-path 900ms var(--motion-ease-out);
  transition-delay: 80ms;
}

.motion-capable .motion-copy {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 620ms ease, transform 760ms var(--motion-ease-out);
  transition-delay: 180ms;
}

.motion-capable .motion-media {
  opacity: 0;
  transform: scale(1.035);
  filter: saturate(.72) blur(7px);
  clip-path: inset(3% 3% 3% 3% round 2px);
  transition: opacity 720ms ease,
              transform 1200ms var(--motion-ease-out),
              filter 920ms ease,
              clip-path 1100ms var(--motion-ease-out);
  transition-delay: 100ms;
}

.motion-capable body[data-motion-profile="lateral"] .motion-media,
.motion-capable body[data-motion-profile="network"] .motion-media {
  transform: translateX(26px) scale(1.02);
}

.motion-capable body[data-motion-profile="editorial"] .motion-title {
  transform: translateX(-24px);
  clip-path: inset(0 100% 0 0);
}

.motion-capable body[data-motion-profile="cascade"] .motion-stagger-item {
  translate: 0 28px;
  scale: .985;
}

.motion-capable body[data-motion-profile="sequence"] .motion-stagger-item:nth-child(even) {
  translate: 18px 0;
}

.motion-capable .motion-in .motion-title,
.motion-capable .motion-in .motion-copy,
.motion-capable .motion-in .motion-media,
.motion-capable body.motion-ready .motion-hero .motion-title,
.motion-capable body.motion-ready .motion-hero .motion-copy,
.motion-capable body.motion-ready .motion-hero .motion-media {
  opacity: 1;
  transform: none;
  filter: none;
  clip-path: inset(0);
}

.motion-capable .motion-in .motion-stagger-item {
  opacity: 1;
  filter: none;
}

.motion-gradient {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-size: 180% 180% !important;
  animation: veyviz-blue-surface 7s ease-in-out infinite alternate;
}

.motion-gradient::before,
.motion-gradient::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  will-change: transform, opacity;
}

.motion-gradient::before {
  inset: -70% -35%;
  background: linear-gradient(104deg,
    transparent 34%,
    rgba(255, 255, 255, .08) 43%,
    rgba(122, 190, 255, .42) 50%,
    rgba(255, 255, 255, .12) 57%,
    transparent 66%);
  mix-blend-mode: screen;
  transform: translate3d(-52%, 0, 0) rotate(-8deg);
  animation: veyviz-blue-sweep 5.8s cubic-bezier(.45, 0, .2, 1) infinite;
}

.motion-gradient::after {
  inset: -45%;
  background:
    radial-gradient(circle at 18% 35%, rgba(99, 180, 255, .72), transparent 28%),
    radial-gradient(circle at 82% 62%, rgba(0, 29, 166, .62), transparent 34%),
    radial-gradient(circle at 50% 110%, rgba(65, 138, 255, .5), transparent 37%);
  background-size: 130% 130%, 145% 145%, 220% 100%;
  mix-blend-mode: screen;
  opacity: .72;
  animation: veyviz-gradient-flow 6.4s ease-in-out infinite alternate;
}

.motion-gradient > * {
  position: relative;
  z-index: 1;
}

.motion-icon {
  transform-origin: 50% 50%;
  transition: transform 420ms var(--motion-ease), filter 420ms ease;
  animation: veyviz-icon-idle 2.7s ease-in-out infinite;
  animation-delay: calc(var(--motion-order, 0) * 110ms);
}

.motion-in .motion-icon,
.motion-icon:hover {
  animation: veyviz-icon-arrive 680ms var(--motion-ease) both;
}

.motion-icon--whatsapp {
  animation: veyviz-whatsapp-breathe 2.25s ease-in-out infinite !important;
  filter: drop-shadow(0 0 0 rgba(37, 211, 102, 0));
}

.motion-icon--energy {
  animation: veyviz-energy-pulse 2.8s ease-in-out infinite !important;
}

.motion-icon--message {
  animation: veyviz-message-float 3.1s ease-in-out infinite !important;
}

.motion-icon--mail {
  animation: veyviz-mail-nudge 3.25s ease-in-out infinite !important;
}

.motion-icon--search {
  animation: veyviz-search-scan 3.3s ease-in-out infinite !important;
}

.motion-icon--report {
  animation: veyviz-report-rise 3.05s ease-in-out infinite !important;
}

.motion-line {
  position: relative;
  overflow: hidden;
}

.motion-line::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, currentColor 22%, currentColor 78%, transparent);
  opacity: .5;
  transform: translateX(-110%);
}

.motion-in .motion-line::after {
  animation: veyviz-line-travel 1.15s var(--motion-ease-out) 220ms both;
}

.motion-status {
  animation: veyviz-status-breathe 2.4s ease-in-out infinite;
  transform-origin: center;
}

body.motion-paused *,
body.motion-paused *::before,
body.motion-paused *::after {
  animation-play-state: paused !important;
}

@keyframes veyviz-gradient-flow {
  0% { transform: translate3d(-9%, -5%, 0) rotate(-2deg) scale(1); background-position: 0% 20%, 100% 80%, 20% 100%; }
  50% { transform: translate3d(8%, 3%, 0) rotate(2deg) scale(1.05); background-position: 45% 75%, 55% 25%, 60% 45%; }
  100% { transform: translate3d(-2%, 10%, 0) rotate(-1deg) scale(1.02); background-position: 100% 20%, 0% 85%, 90% 10%; }
}

@keyframes veyviz-blue-surface {
  0% { background-position: 0% 35%; }
  100% { background-position: 100% 65%; }
}

@keyframes veyviz-blue-sweep {
  0%, 10% { transform: translate3d(-56%, 0, 0) rotate(-8deg); opacity: 0; }
  24% { opacity: .9; }
  68% { opacity: .9; }
  86%, 100% { transform: translate3d(56%, 0, 0) rotate(-8deg); opacity: 0; }
}

@keyframes veyviz-icon-idle {
  0%, 100% { transform: translateY(0) scale(1); filter: drop-shadow(0 0 0 rgba(32, 91, 255, 0)); }
  50% { transform: translateY(-4px) scale(1.045); filter: drop-shadow(0 5px 8px rgba(32, 91, 255, .25)); }
}

@keyframes veyviz-icon-arrive {
  0% { opacity: .2; transform: scale(.66) rotate(-8deg); }
  62% { opacity: 1; transform: scale(1.08) rotate(2deg); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes veyviz-whatsapp-breathe {
  0%, 100% { transform: translateY(0) scale(1); filter: drop-shadow(0 0 0 rgba(37, 211, 102, 0)); }
  45% { transform: translateY(-4px) scale(1.12); filter: drop-shadow(0 5px 12px rgba(37, 211, 102, .55)); }
  70% { transform: translateY(-1px) scale(1.035); filter: drop-shadow(0 1px 5px rgba(37, 211, 102, .28)); }
}

@keyframes veyviz-energy-pulse {
  0%, 100% { transform: translateY(0) scale(1); filter: brightness(1); }
  48% { transform: translateY(-4px) scale(1.1); filter: brightness(1.4); }
  72% { transform: translateY(-1px) scale(1.03); filter: brightness(1.14); }
}

@keyframes veyviz-message-float {
  0%, 100% { transform: translateY(0) rotate(0); }
  44% { transform: translateY(-5px) rotate(-3deg); }
  72% { transform: translateY(-1px) rotate(2deg); }
}

@keyframes veyviz-mail-nudge {
  0%, 100% { transform: translateX(0) translateY(0); }
  46% { transform: translateX(4px) translateY(-3px); }
  72% { transform: translateX(-2px) translateY(-1px); }
}

@keyframes veyviz-search-scan {
  0%, 100% { transform: rotate(0) scale(1); filter: brightness(1); }
  45% { transform: rotate(-10deg) scale(1.08); filter: brightness(1.34); }
  72% { transform: rotate(4deg) scale(1.025); filter: brightness(1.12); }
}

@keyframes veyviz-report-rise {
  0%, 100% { transform: translateY(0) scaleY(1); filter: brightness(1); }
  48% { transform: translateY(-5px) scaleY(1.035); filter: brightness(1.28); }
  72% { transform: translateY(-1px) scaleY(1.01); filter: brightness(1.1); }
}

@keyframes veyviz-line-travel {
  from { transform: translateX(-110%); }
  to { transform: translateX(110%); }
}

@keyframes veyviz-status-breathe {
  0%, 100% { opacity: .72; transform: scale(.82); }
  50% { opacity: 1; transform: scale(1.08); }
}

@media (prefers-reduced-motion: reduce) {
  .motion-capable:not(.motion-local-preview) .motion-header,
  .motion-capable:not(.motion-local-preview) .motion-hero-item,
  .motion-capable:not(.motion-local-preview) .motion-observe,
  .motion-capable:not(.motion-local-preview) .motion-stagger-item,
  .motion-capable:not(.motion-local-preview) .motion-title,
  .motion-capable:not(.motion-local-preview) .motion-copy,
  .motion-capable:not(.motion-local-preview) .motion-media {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
    transition: none !important;
  }

  .motion-capable:not(.motion-local-preview) body.product-page .motion-load-item,
  .motion-capable:not(.motion-local-preview) body.product-page .motion-icon,
  .motion-capable:not(.motion-local-preview) body.product-page .motion-jump-item,
  .motion-capable:not(.motion-local-preview) body.product-page .motion-hero-caption-item,
  .motion-capable:not(.motion-local-preview) body.marketing-home .motion-load-item,
  .motion-capable:not(.motion-local-preview) body.marketing-home .motion-icon,
  .motion-capable:not(.motion-local-preview) .motion-content-section .motion-load-item,
  .motion-capable:not(.motion-local-preview) .motion-content-section .motion-icon {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
    transition: none !important;
  }

  html:not(.motion-local-preview) .motion-gradient::before,
  html:not(.motion-local-preview) .motion-gradient::after,
  html:not(.motion-local-preview) .motion-icon,
  html:not(.motion-local-preview) .motion-icon--whatsapp,
  html:not(.motion-local-preview) .motion-icon--energy,
  html:not(.motion-local-preview) .motion-icon--message,
  html:not(.motion-local-preview) .motion-icon--mail,
  html:not(.motion-local-preview) .motion-icon--search,
  html:not(.motion-local-preview) .motion-icon--report,
  html:not(.motion-local-preview) .motion-status {
    animation: none !important;
  }

  html:not(.motion-local-preview) .motion-line::after { display: none !important; }
}

/* The local preview reports reduced motion even when animation is being
   reviewed. Restore the shared motion timings only when site-motion.js marks
   that preview explicitly; normal HTTP(S) visitors keep their preference. */
@media (prefers-reduced-motion: reduce) {
  html.motion-local-preview.motion-capable .motion-header {
    transition-duration: 620ms, 920ms !important;
  }

  html.motion-local-preview.motion-capable .motion-hero-item {
    transition-duration: 920ms, 1100ms, 900ms, 1100ms !important;
  }

  html.motion-local-preview.motion-capable .motion-title {
    transition-duration: 620ms, 940ms, 940ms !important;
  }

  html.motion-local-preview.motion-capable .motion-copy {
    transition-duration: 620ms, 760ms !important;
  }

  html.motion-local-preview.motion-capable .motion-media {
    transition-duration: 720ms, 1200ms, 920ms, 1100ms !important;
  }

  html.motion-local-preview.motion-capable .motion-stagger-item {
    transition-duration: 700ms, 940ms, 780ms !important;
  }

  html.motion-local-preview.motion-capable .motion-content-section .motion-stagger-item {
    transition-duration: 700ms, 940ms, 940ms, 780ms !important;
  }

  html.motion-local-preview.motion-capable .motion-load-item {
    transition-duration: 540ms, 740ms, 740ms !important;
  }

  html.motion-local-preview.motion-capable .motion-icon {
    transition-duration: 420ms, 650ms, 420ms, 420ms !important;
  }

  html.motion-local-preview.motion-capable .motion-product-jumpbar .motion-jump-item {
    transition-duration: 460ms, 620ms !important;
  }

  html.motion-local-preview.motion-capable .motion-hero-caption-item {
    transition-duration: 520ms, 700ms !important;
  }

  html.motion-local-preview.motion-capable .motion-in .motion-icon {
    animation-duration: 680ms !important;
    animation-iteration-count: 1 !important;
  }

  html.motion-local-preview.motion-capable .motion-gradient {
    animation-duration: 7s !important;
    animation-iteration-count: infinite !important;
  }

  html.motion-local-preview.motion-capable .motion-gradient::before {
    animation-duration: 5.8s !important;
    animation-iteration-count: infinite !important;
  }

  html.motion-local-preview.motion-capable .motion-gradient::after {
    animation-duration: 6.4s !important;
    animation-iteration-count: infinite !important;
  }

  html.motion-local-preview.motion-capable .motion-status {
    animation-duration: 2.4s !important;
    animation-iteration-count: infinite !important;
  }
}
