/* CSS motion — light; heavy scroll motion handled in JS (desktop only) */

.reveal-up,
.reveal-clip,
.reveal-section {
  /* avoid permanent will-change — hurts scroll on mobile */
}

.no-js .reveal-up,
.no-js .reveal-clip {
  opacity: 1 !important;
  transform: none !important;
  clip-path: none !important;
}

.hero-anim-line { display: block; overflow: hidden; }
.hero-anim-line > span { display: inline-block; }

@media (max-width: 900px) {
  .reveal-up,
  .reveal-clip,
  .reveal-section {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    filter: none !important;
  }

  .service-card,
  .signature-card,
  .why-card,
  .portfolio-card,
  .btn {
    transition-duration: .2s !important;
  }

  .hero-video {
    /* reduce paint cost while scrolling */
    transform: translateZ(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .hero-media img, .hero-video { transform: none !important; }
  .hero-video { display: none; }
  .hero-video-wrap {
    background:
      #041C14
      url("../images/gallery/img-44.jpeg")
      center / cover no-repeat;
  }
  .premium-marquee-track { animation: none !important; }
}
