/* DigiMunks motion: scroll reveals, hero entrance, button shine, card lift, chat pulse, process line.
   Everything here is switched off for visitors who ask their device to reduce motion.
   Scroll reveals only apply once assets/motion.js has run (html.dm-motion), so content is never hidden without JavaScript. */

/* ---------- 1. Scroll reveals ---------- */
.dm-motion .dm-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--dm-i,0) * 90ms)}
.dm-motion .dm-reveal.dm-in{opacity:1;transform:none}

/* ---------- 2. Hero entrance (pure CSS, runs on page load) ---------- */
@keyframes dm-rise{from{opacity:.01;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes dm-hero-zoom{from{transform:scale(1)}to{transform:scale(1.06)}}
.dmh-hero-content>*,
.page-hero .container>*,
.dm-contact-hero-layout>div:first-child>*,
.dm-about-hero-copy>*{animation:dm-rise .75s cubic-bezier(.2,.7,.2,1) both}
.dmh-hero-content>*:nth-child(2),.page-hero .container>*:nth-child(2),.dm-contact-hero-layout>div:first-child>*:nth-child(2),.dm-about-hero-copy>*:nth-child(2){animation-delay:.1s}
.dmh-hero-content>*:nth-child(3),.page-hero .container>*:nth-child(3),.dm-contact-hero-layout>div:first-child>*:nth-child(3),.dm-about-hero-copy>*:nth-child(3){animation-delay:.2s}
.dmh-hero-content>*:nth-child(4),.page-hero .container>*:nth-child(4),.dm-contact-hero-layout>div:first-child>*:nth-child(4),.dm-about-hero-copy>*:nth-child(4){animation-delay:.3s}
.dmh-hero-content>*:nth-child(n+5),.page-hero .container>*:nth-child(n+5),.dm-contact-hero-layout>div:first-child>*:nth-child(n+5),.dm-about-hero-copy>*:nth-child(n+5){animation-delay:.4s}
.dmh-hero-photo{animation:dm-hero-zoom 14s ease-out both;transform-origin:61% center}

/* ---------- 3. Button shine (pink buttons) ---------- */
.dmh-button-hot,.button,.dm-contact-button{position:relative;overflow:hidden;isolation:isolate}
.dmh-button-hot::before,.button::before,.dm-contact-button::before{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;z-index:-1;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:translateX(-160%) skewX(-18deg)}
.dmh-button-hot:hover::before,.button:hover::before,.dm-contact-button:hover::before,
.dmh-button-hot:focus-visible::before,.button:focus-visible::before,.dm-contact-button:focus-visible::before{transform:translateX(330%) skewX(-18deg);transition:transform .75s ease}

/* ---------- 4. Card hover lift ---------- */
.dmh-service-card:hover,.dmh-service-card:focus-visible{transform:translateY(-6px);box-shadow:0 22px 45px #25105222}
.image-card img,.dm-template-card-image img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.image-card:hover img,.image-card:focus-visible img{transform:scale(1.05)}
.post-card:hover,.post-card:focus-within{transform:translateY(-6px)}

/* ---------- 5. Chat bubble attention pulse (once per visit, added by motion.js) ---------- */
@keyframes dm-pulse{0%{box-shadow:0 14px 30px #210a4766,0 0 0 0 rgba(255,23,73,.55)}70%{box-shadow:0 14px 30px #210a4766,0 0 0 18px rgba(255,23,73,0)}100%{box-shadow:0 14px 30px #210a4766,0 0 0 0 rgba(255,23,73,0)}}
.dmcb-launcher.dm-pulse{animation:dm-pulse 1.4s ease-out 3}

/* ---------- 6. Process steps: the pink bars fill in sequence when the steps scroll into view ---------- */
.dm-motion .dmh-process-grid.dm-steps-in>div::before{right:0;transition:right .6s cubic-bezier(.4,0,.2,1)}
.dm-motion .dmh-process-grid.dm-steps-in>div:nth-child(2)::before{transition-delay:.45s}
.dm-motion .dmh-process-grid.dm-steps-in>div:nth-child(3)::before{transition-delay:.9s}
.dm-motion .dmh-process-grid.dm-steps-in>div:nth-child(4)::before{transition-delay:1.35s}

/* ---------- Respect "reduce motion" ---------- */
@media (prefers-reduced-motion:reduce){
 .dm-motion .dm-reveal{opacity:1!important;transform:none!important;transition:none!important}
 .dmh-hero-content>*,.page-hero .container>*,.dm-contact-hero-layout>div:first-child>*,.dm-about-hero-copy>*,.dmh-hero-photo,.dmcb-launcher.dm-pulse{animation:none!important}
 .dmh-button-hot::before,.button::before,.dm-contact-button::before{display:none}
}
@media print{.dm-motion .dm-reveal{opacity:1!important;transform:none!important}}
