/* EvoCRM Motion System — GSAP hooks only. No layout or brand changes. */

.motion-line {
  display: block;
  overflow: hidden;
  vertical-align: top;
}

.hero-title .motion-word {
  display: inline-block;
  white-space: pre;
}

.motion-line-inner,
.motion-word {
  display: inline-block;
  will-change: transform;
}

.motion-line-inner {
  display: block;
}

html.js-motion .reveal,
html.js-motion .reveal-hero {
  opacity: 0;
  transform: none;
  transition: none;
}

html.js-motion .reveal.is-in,
html.js-motion .reveal-hero.is-in {
  opacity: 1;
}

html.js-motion .reveal-hero.hero-title,
html.js-motion .reveal-hero.hero-sub {
  opacity: 1;
}

html.js-motion .mech-node {
  opacity: 0;
  transform: none;
  transition: none;
}

html.js-motion .mech-board.reveal {
  opacity: 1;
  transform: none;
}

html.js-motion .desk-follow,
html.js-motion .desk-peek,
html.js-motion .desk-search {
  animation: none;
}

html.js-motion .feat-cursor {
  animation: none;
}

html.js-motion .btn:hover,
html.js-motion .btn:active {
  transform: none;
}

html.js-motion .feat-card:hover,
html.js-motion .product-card:hover,
html.js-motion .price-card:hover {
  transform: none;
}

html.js-motion .mech-node.is-on {
  border-color: var(--accent);
}

html.js-motion .desk-col.is-walk {
  box-shadow: inset 0 0 0 1px rgba(217, 80, 15, 0.28);
}

html.js-motion .nav-ic-svg {
  transform-box: fill-box;
  transform-origin: center;
}

html.motion-booted.js-motion .reveal.is-ready,
html.motion-booted.js-motion .reveal-hero.is-ready {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  html.js-motion .reveal,
  html.js-motion .reveal-hero,
  html.js-motion .mech-node {
    opacity: 1;
    transform: none;
  }

  html.js-motion .nav-ic-svg {
    transform: none !important;
  }
}
