/* Scroll motion layer: native HTML5 recreation of the source theme's GSAP/ScrollTrigger reveals. */
@media (prefers-reduced-motion: no-preference) {
  .motion-ready [data-reveal] { opacity: 0; will-change: opacity, transform; transition: opacity 760ms cubic-bezier(.23,1,.32,1), transform 900ms cubic-bezier(.23,1,.32,1); transition-delay: var(--reveal-delay, 0ms); }
  .motion-ready [data-reveal="rise"] { transform: translate3d(0, 42px, 0); }
  .motion-ready [data-reveal="from-right"] { transform: translate3d(48px, 0, 0); }
  .motion-ready [data-reveal="from-left"] { transform: translate3d(-48px, 0, 0); }
  .motion-ready [data-reveal="scale-in"] { transform: scale(.94); }
  .motion-ready [data-reveal].is-visible { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }

  .motion-ready [data-reveal="image-reveal"] { opacity: 1; transform: none; clip-path: inset(0 100% 0 0); will-change: clip-path; transition: clip-path 1000ms cubic-bezier(.77,0,.175,1); }
  .motion-ready [data-reveal="image-reveal"].is-visible { clip-path: inset(0 0 0 0); }
  .motion-ready [data-reveal="image-reveal"] > img { transform: translate3d(18%,0,0) scale(1.07); will-change: transform; transition: transform 1100ms cubic-bezier(.77,0,.175,1); }
  .motion-ready [data-reveal="image-reveal"].is-visible > img { transform: translate3d(0,0,0) scale(1); }

  .motion-ready [data-reveal="heading"] { opacity: 1; transform: none; transition: none; }
  .motion-ready [data-reveal="heading"] .word { display: inline-block; opacity: 0; transform: translate3d(22px,0,0); transition: opacity 620ms cubic-bezier(.23,1,.32,1), transform 620ms cubic-bezier(.23,1,.32,1); transition-delay: var(--word-delay, 0ms); }
  .motion-ready [data-reveal="heading"].is-visible .word { opacity: 1; transform: translate3d(0,0,0); }

  .motion-ready .hero-content .word { opacity: 0; transform: translate3d(22px,0,0); transition: opacity 650ms cubic-bezier(.23,1,.32,1), transform 650ms cubic-bezier(.23,1,.32,1); transition-delay: var(--word-delay, 0ms); }
  .motion-ready .hero-content.is-visible .word { opacity: 1; transform: translate3d(0,0,0); }
  .motion-ready .hero-content .kicker, .motion-ready .hero-content .hero-copy, .motion-ready .hero-content .actions { opacity: 0; transform: translateY(16px); transition: opacity 600ms cubic-bezier(.23,1,.32,1), transform 600ms cubic-bezier(.23,1,.32,1); }
  .motion-ready .hero-content.is-visible .kicker { opacity: 1; transform: none; transition-delay: 30ms; }
  .motion-ready .hero-content.is-visible .hero-copy { opacity: 1; transform: none; transition-delay: 380ms; }
  .motion-ready .hero-content.is-visible .actions { opacity: 1; transform: none; transition-delay: 470ms; }

  .hero-bg[data-parallax] { transform: translate3d(0, var(--parallax-y, 0px), 0) scale(1.05); will-change: transform; }
  .cta-inner > img[data-parallax] { transform: translate3d(0, var(--parallax-y, 0px), 0); will-change: transform; }
  .why-images img[data-parallax] { transform: translate3d(0, var(--parallax-y, 0px), 0); will-change: transform; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (max-width: 720px) and (prefers-reduced-motion: no-preference) {
  .motion-ready [data-reveal] { transition-duration: 620ms; }
  .motion-ready [data-reveal="rise"], .motion-ready [data-reveal="from-right"], .motion-ready [data-reveal="from-left"] { transform: translate3d(0, 32px, 0); }
  .motion-ready [data-reveal="image-reveal"] { clip-path: inset(0 0 14% 0 round 0 0 20px 20px); transform: translate3d(0, 26px, 0); transition: clip-path 760ms cubic-bezier(.77,0,.175,1), transform 760ms cubic-bezier(.23,1,.32,1); }
  .motion-ready [data-reveal="image-reveal"].is-visible { clip-path: inset(0 0 0 0 round 0 0 20px 20px); transform: translate3d(0, 0, 0); }
  .motion-ready [data-reveal="image-reveal"] > img { transform: scale(1.06); transition-duration: 800ms; }
  .motion-ready [data-reveal="heading"] .word { transform: translate3d(0, 18px, 0); transition-duration: 520ms; }
}

/* Never gate desktop media behind IntersectionObserver: delayed observers should not blank images. */
@media (min-width: 721px) {
  .motion-ready .service-card,
  .motion-ready .work-card,
  .motion-ready .about-art,
  .motion-ready .why-images,
  .motion-ready .faq-art {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
  }
  .motion-ready .about-art > img,
  .motion-ready .why-images > img,
  .motion-ready .faq-art > img {
    transform: none !important;
  }
}
