/* Progressive enhancement: content remains readable without JS or GSAP. */
.mr-motion-progress { position: fixed; z-index: 45; inset: 0 0 auto; height: 2px; pointer-events: none; background: #0764eb; transform: scaleX(0); transform-origin: left; }
.mr-motion-card { position: relative; isolation: isolate; overflow: hidden; }
.mr-motion-glow { position: absolute; pointer-events: none; z-index: -1; top: -150px; left: -150px; width: 300px; height: 300px; border-radius: 50%; background: radial-gradient(circle,#8ecbff44,transparent 68%); opacity: 0; transition: opacity .3s; }
.mr-motion-card:hover > .mr-motion-glow { opacity: 1; }
.mr-contact { position: relative; isolation: isolate; overflow: hidden; }
.mr-contact__inner { position: relative; z-index: 1; }
.mr-motion-field { position: absolute; inset: -100% -10% -120% 38%; pointer-events: none; z-index: -1; background: radial-gradient(ellipse at center,#237be870,transparent 56%); }
.mr-motion-field::after { content: ''; position: absolute; inset: 18%; border: 1px solid #7fbeff26; border-radius: 50%; box-shadow: 0 0 0 50px #7fbeff09,0 0 0 100px #7fbeff06; }
.mr-motion-satellite { position: absolute; inset: -1px; border-radius: 50%; pointer-events: none; transform: rotate(-35deg); }
.mr-motion-satellite::before { content: ''; position: absolute; top: -4px; left: 50%; width: 8px; height: 8px; background: #4c9fff; border: 2px solid #e7f3ff; border-radius: 50%; box-shadow: 0 0 0 5px #086bf515,0 0 18px #086bf585; }
.mr-motion-satellite:nth-child(2) { inset: -20px; transform: rotate(140deg); }
.mr-motion-satellite:nth-child(3) { inset: 22px; transform: rotate(250deg); }
.mr-motion-satellite:nth-child(2)::before { background: #6edee4; }
.mr-motion-satellite:nth-child(3)::before { width: 6px; height: 6px; }
.mr-motion-process { position: relative; }
.mr-motion-process::after { content: ''; position: absolute; left: 0; top: -20px; height: 2px; width: 100%; background: linear-gradient(90deg,#0764eb,#87c7ff 70%,#e4effd); transform-origin: left; transform: scaleX(0); }

@media (prefers-reduced-motion: no-preference) {
  html[data-mr-motion="on"] .mr-service-card,
  html[data-mr-motion="on"] .mw-solution { transition: border-color .25s,box-shadow .35s,background-color .25s; }
  html[data-mr-motion="on"] .mr-motion-card:hover { box-shadow: 0 18px 42px -20px #225d9f55; }
  html[data-mr-motion="on"] :is(.mr-icon-tile,.mw-solution__top > svg,.ge-platform-logo) { transition: transform .45s cubic-bezier(.2,.75,.2,1); }
  html[data-mr-motion="on"] :is(.mr-service-card:hover,.mw-solution:hover,.ge-platform-grid a:hover) :is(.mr-icon-tile,.mw-solution__top > svg,.ge-platform-logo) { transform: perspective(300px) rotateX(10deg) rotateY(-12deg) translateY(-3px); }
  html[data-mr-motion="on"] :is(.mc-case-card__image,.mr-insight__visual,.mr-scenario__image) { overflow: hidden; }
  html[data-mr-motion="on"] :is(.mc-case-card__image,.mc-news-card__image,.mr-insight__visual,.mr-scenario__image) img { transition: transform .8s cubic-bezier(.2,.75,.2,1); }
  html[data-mr-motion="on"] :is(.mc-case-card,.mc-news-card,.mr-insight,.mr-scenario):is(:hover,:focus-within) img { transform: scale(1.045); }
  html[data-mr-motion="on"] :is(.mr-btn,.mr-text-link,.mc-card-link,.mr-service-card__bottom) > .mr-icon:last-child { transition: transform .3s cubic-bezier(.2,.75,.2,1); }
  html[data-mr-motion="on"] :is(.mr-btn,.mr-text-link,.mc-case-card,.mr-service-card):is(:hover,:focus-visible) :is(.mr-icon:last-child) { transform: translateX(4px); }
  html[data-mr-motion="on"] .mr-btn { position: relative; overflow: hidden; }
  html[data-mr-motion="on"] .mr-btn::after { content: ''; position: absolute; pointer-events: none; inset: -80% auto; left: -70%; width: 40%; background: linear-gradient(90deg,transparent,#ffffff35,transparent); transform: skewX(-24deg); }
  html[data-mr-motion="on"] .mr-btn:is(:hover,:focus-visible)::after { animation: mr-button-light .65s ease-out; }
  html[data-mr-motion="on"] .mr-motion-field { animation: mr-field-drift 12s ease-in-out infinite alternate; animation-play-state: paused; }
  html[data-mr-motion="on"] .mr-motion-satellite { animation: mr-satellite 22s linear infinite; animation-play-state: paused; }
  html[data-mr-motion="on"] .mr-motion-satellite:nth-child(2) { animation-duration: 30s; animation-delay: -12s; animation-direction: reverse; }
  html[data-mr-motion="on"] .mr-motion-satellite:nth-child(3) { animation-duration: 18s; animation-delay: -7s; }
  html[data-mr-motion="on"] .is-motion-inview :is(.mr-motion-field,.mr-motion-satellite) { animation-play-state: running; }
  html[data-mr-motion="on"] .ge-demo-orbit::after { animation-play-state: paused; }
  html[data-mr-motion="on"] .is-motion-inview .ge-demo-orbit::after { animation-play-state: running; }
  html[data-mr-motion="on"] .mr-motion-process.is-motion-inview::after { transform: scaleX(1); transition: transform 1.4s cubic-bezier(.16,1,.3,1); }
  html[data-mr-motion="on"] .mr-nav a:not(.is-active)::after { content: ''; position: absolute; bottom: 4px; left: 0; right: 0; height: 2px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .3s; }
  html[data-mr-motion="on"] .mr-nav a:hover::after { transform: scaleX(1); }
  @keyframes mr-button-light { to { transform: translateX(600%) skewX(-24deg); } }
  @keyframes mr-field-drift { to { transform: translate3d(-12%,5%,0) rotate(12deg); } }
  @keyframes mr-satellite { to { transform: rotate(325deg); } }
}

/* Suspend ambient motion in background tabs and while the inquiry is open. */
html.mr-motion-suspended :is(.mr-motion-field,.mr-motion-satellite,.mh-float),
html.mr-motion-suspended .ge-demo-orbit::after { animation-play-state: paused !important; }
html[data-mr-motion="off"] { scroll-behavior: auto; }
html[data-mr-motion="off"] :is(.mr-motion-field,.mr-motion-glow,.mr-motion-progress,.mr-motion-satellite) { display: none; }
html[data-mr-motion="off"] .mr-home *, html[data-mr-motion="off"] .mr-home *::before, html[data-mr-motion="off"] .mr-home *::after { animation: none !important; transition: none !important; }
html[data-mr-motion="off"] :is(.mh-art,.mh-art img) { transform: none !important; }
html[data-mr-motion="off"] .mh-slide.is-active .mh-line > * { transform: none !important; opacity: 1 !important; }
@media (hover: none), (max-width: 900px) {
  .mr-motion-glow { display: none; }
  .mr-motion-satellite:nth-child(n+2) { display: none; }
  .mr-motion-process::after { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .mr-motion-field,.mr-motion-glow,.mr-motion-satellite,.mr-motion-progress { display: none; }
  .mr-motion-process::after { display: none; }
}
