:root {
  --motion-blue: #0069ea;
  --motion-ease: cubic-bezier(.2, .72, .2, 1);
}

.motion-progress {
  position: fixed;
  z-index: 100001;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  pointer-events: none;
  transform: scaleX(var(--motion-scroll, 0));
  transform-origin: left center;
  background: linear-gradient(90deg, #0069ea, #38bdf8, #7c6cff);
  box-shadow: 0 0 16px rgba(0, 105, 234, .42);
  will-change: transform;
}

.motion-cursor-glow {
  position: fixed;
  z-index: 99999;
  top: 0;
  left: 0;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(calc(var(--motion-pointer-x, -400px) - 50%), calc(var(--motion-pointer-y, -400px) - 50%), 0);
  background: radial-gradient(circle, rgba(0, 105, 234, .12), rgba(56, 189, 248, .045) 38%, transparent 70%);
  transition: opacity .3s ease;
  will-change: transform;
}

.motion-cursor-glow.is-active { opacity: 1; }

.motion-enhanced .site-motion-reveal {
  opacity: 0;
  transform: translate3d(0, 28px, 0) scale(.987);
  filter: blur(2px);
  transition:
    opacity .72s var(--motion-ease) var(--motion-delay, 0ms),
    transform .72s var(--motion-ease) var(--motion-delay, 0ms),
    filter .72s ease var(--motion-delay, 0ms);
  will-change: opacity, transform;
}

.motion-enhanced .site-motion-reveal.is-motion-visible {
  opacity: 1;
  transform: none;
  filter: none;
}

.motion-tilt {
  transform-style: preserve-3d;
  transform-origin: center;
  will-change: transform;
}

.motion-image-card img {
  transition: transform .7s var(--motion-ease), filter .45s ease;
  will-change: transform;
}

.motion-image-card:hover img {
  transform: scale(1.035);
  filter: saturate(1.06) contrast(1.02);
}

.motion-button {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
}

.motion-button:hover { transform: translateY(-2px); filter: brightness(1.035); }
.motion-button:active { transform: translateY(0) scale(.98); }

.motion-ripple {
  position: absolute;
  z-index: -1;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  pointer-events: none;
  background: rgba(255, 255, 255, .42);
  transform: translate(-50%, -50%) scale(0);
  animation: motionRipple .62s ease-out forwards;
}

.jz_web_header .jz_nav_item .nav_item_text {
  position: relative;
}

.jz_web_header .jz_nav_item .nav_item_text::after {
  content: '';
  position: absolute;
  right: 20%;
  bottom: 17px;
  left: 20%;
  height: 2px;
  border-radius: 2px;
  background: var(--motion-blue);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .28s var(--motion-ease);
}

.jz_web_header .jz_nav_item:hover .nav_item_text::after,
.jz_web_header .jz_nav_item_selected .nav_item_text::after {
  transform: scaleX(1);
}

.jz_banner .banner_pic_item {
  animation: motionBannerBreath 12s ease-in-out infinite alternate;
}

.product-trial-button,
.solutions-cta a,
#module306 a,
#module648 .module_button_content {
  box-shadow: 0 10px 24px rgba(0, 105, 234, .2);
}

.custom-news__grid > a,
.solution-card,
.advantage-card,
.certification-card,
.solutions-flow-item,
#row238 .module_image_content,
#row239 .module_image_content,
#row240 .module_image_content,
#row241 .module_image_content {
  backface-visibility: hidden;
}

.custom-news__grid > a:hover,
.solution-card:hover,
.advantage-card:hover {
  border-color: rgba(0, 105, 234, .32) !important;
  box-shadow: 0 22px 48px rgba(30, 64, 112, .15) !important;
}

@keyframes motionRipple {
  to { opacity: 0; transform: translate(-50%, -50%) scale(22); }
}

@keyframes motionBannerBreath {
  from { background-position: 50% 48%; }
  to { background-position: 50% 53%; }
}

@media (max-width: 760px) {
  .motion-progress { height: 2px; }
  .motion-enhanced .site-motion-reveal { transform: translate3d(0, 18px, 0); filter: none; }
  .motion-cursor-glow { display: none; }
  .jz_banner .banner_pic_item { animation-duration: 16s; }
}

@media (prefers-reduced-motion: reduce) {
  .motion-progress,
  .motion-cursor-glow { display: none !important; }
  .motion-enhanced .site-motion-reveal,
  .motion-enhanced .site-motion-reveal.is-motion-visible {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }
  .motion-image-card img,
  .motion-button,
  .jz_web_header .jz_nav_item .nav_item_text::after { transition: none !important; }
  .jz_banner .banner_pic_item { animation: none; }
}
