/* =====================================================================
   Dr Mark Cheng — tasteful UI motion
   FOUC-safe: .reveal / .dmc-hero-item are ONLY ever applied by motion.js.
   Nothing here hides content on its own.
   Fully gated behind prefers-reduced-motion.
   ===================================================================== */

@media (prefers-reduced-motion: no-preference) {

  /* ---- 1. scroll reveals ---------------------------------------- */
  .reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .7s ease, transform .7s ease;
  }
  .reveal.in {
    opacity: 1;
    transform: none;
  }

  /* ---- 3. hero entrance (staggered by JS via --dmc-d) ------------ */
  .dmc-hero-item {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .7s ease, transform .7s ease;
    transition-delay: var(--dmc-d, 0ms);
  }
  .dmc-hero-item.in {
    opacity: 1;
    transform: none;
  }

  /* ---- 4. hover micro-interactions ------------------------------ */

  /* media cards: wrapper lifts + soft shadow, image zooms inside it */
  .dmc-media .elementor-widget-container {
    overflow: hidden;
    transition: transform .35s ease, box-shadow .35s ease;
  }
  .dmc-media img {
    display: block;
    transition: transform .55s ease;
  }
  .dmc-media:hover .elementor-widget-container {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(15, 28, 36, .14);
  }
  .dmc-media:hover img {
    transform: scale(1.045);
  }

  /* gallery photos zoom inside their own overflow wrapper */
  .elementor-gallery-item,
  .e-gallery-item {
    overflow: hidden;
  }
  .elementor-gallery-item .e-gallery-image,
  .e-gallery-item .e-gallery-image {
    transition: transform .6s ease;
  }
  .elementor-gallery-item:hover .e-gallery-image,
  .e-gallery-item:hover .e-gallery-image {
    transform: scale(1.07);
  }

  /* CTAs */
  .elementor-button {
    transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease;
  }
  .elementor-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
  }

  /* logos: header/footer dim, content logos scale a touch */
  .dmc-logo img {
    transition: opacity .3s ease, transform .3s ease;
  }
  .dmc-logo:hover img {
    opacity: .7;
  }
  .dmc-logo-scale img {
    transition: transform .3s ease;
  }
  .dmc-logo-scale:hover img {
    transform: scale(1.06);
  }

  /* the About page video poster (self-contained embed) */
  .dmc-video__play img {
    transition: transform .5s ease, opacity .3s ease;
  }
  .dmc-video__play:hover img {
    transform: scale(1.03);
  }
}

/* ---- 6. reduced motion: explicitly neutralise everything -------- */
@media (prefers-reduced-motion: reduce) {
  .reveal,
  .reveal.in,
  .dmc-hero-item,
  .dmc-hero-item.in {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .dmc-media:hover .elementor-widget-container,
  .dmc-media:hover img,
  .elementor-gallery-item:hover .e-gallery-image,
  .elementor-button:hover,
  .dmc-logo-scale:hover img,
  .dmc-video__play:hover img {
    transform: none !important;
    box-shadow: none !important;
  }
}
