/* Cada efecto se activa con una clase independiente en el body. */
body.drfx-ecg-trace .dr-wave{display:block;opacity:.72;pointer-events:none}
body.drfx-ecg-trace .dr-wave path{stroke-dasharray:600;stroke-dashoffset:600;animation:drfx-trace 6s ease-in-out infinite}
@keyframes drfx-trace{0%{stroke-dashoffset:600;opacity:0}12%{opacity:1}44%,72%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-600;opacity:0}}

body.drfx-heart-pulse .dr-heart{transform-origin:center;animation:drfx-heartbeat 2.8s ease-in-out infinite}
body.drfx-heart-pulse .dr-brand .dr-ecg path{animation:drfx-ecg-glow 2.8s ease-in-out infinite}
@keyframes drfx-heartbeat{0%,15%,38%,100%{transform:scale(1)}22%{transform:scale(1.12)}30%{transform:scale(1.05)}}
@keyframes drfx-ecg-glow{0%,15%,38%,100%{opacity:.8;filter:none}22%,30%{opacity:1;filter:drop-shadow(0 0 3px #c60060)}}

body.drfx-cta-ecg .dr-end{position:relative;isolation:isolate;overflow:hidden}
body.drfx-cta-ecg .dr-end:before{content:"";position:absolute;z-index:0;inset:0;background-image:url('../images/ecg-line.svg');background-repeat:repeat-x;background-position:0 50%;background-size:720px 90px;opacity:.15;animation:drfx-cta-travel 18s linear infinite;pointer-events:none}
body.drfx-cta-ecg .dr-end>*{position:relative;z-index:1}
@keyframes drfx-cta-travel{to{background-position:720px 50%}}

body.drfx-card-lift .dr-card{transition:transform .28s ease,box-shadow .28s ease}
body.drfx-card-lift .dr-card:hover,body.drfx-card-lift .dr-card:focus-within{transform:translateY(-5px);box-shadow:0 12px 24px #09235422}
body.drfx-card-lift .dr-card .dr-featured{transition:transform .35s ease}
body.drfx-card-lift .dr-card:hover .dr-featured,body.drfx-card-lift .dr-card:focus-within .dr-featured{transform:scale(1.035)}

body.drfx-reveal.drfx-js-ready .dr-section,body.drfx-reveal.drfx-js-ready .dr-intro,body.drfx-reveal.drfx-js-ready .dr-end,body.drfx-reveal.drfx-js-ready .dr-page-hero,body.drfx-reveal.drfx-js-ready .dr-detail,body.drfx-reveal.drfx-js-ready .dr-widget{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
body.drfx-reveal.drfx-js-ready .dr-section.is-visible,body.drfx-reveal.drfx-js-ready .dr-intro.is-visible,body.drfx-reveal.drfx-js-ready .dr-end.is-visible,body.drfx-reveal.drfx-js-ready .dr-page-hero.is-visible,body.drfx-reveal.drfx-js-ready .dr-detail.is-visible,body.drfx-reveal.drfx-js-ready .dr-widget.is-visible{opacity:1;transform:none}

body.drfx-button-glow .dr-button-primary{animation:drfx-button-pulse 4.2s ease-in-out infinite}
@keyframes drfx-button-pulse{0%,55%,100%{box-shadow:0 0 0 0 #c6006000}72%{box-shadow:0 0 0 7px #c600601c}}

@media(max-width:650px){body.drfx-card-lift .dr-card:hover,body.drfx-card-lift .dr-card:focus-within{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){
 body.drfx-ecg-trace .dr-wave path,body.drfx-heart-pulse .dr-heart,body.drfx-heart-pulse .dr-brand .dr-ecg path,body.drfx-cta-ecg .dr-end:before,body.drfx-button-glow .dr-button-primary{animation:none!important}
 body.drfx-ecg-trace .dr-wave path{stroke-dashoffset:0;opacity:1}
 body.drfx-card-lift .dr-card,body.drfx-card-lift .dr-card .dr-featured{transition:none!important}
 body.drfx-card-lift .dr-card:hover,body.drfx-card-lift .dr-card:focus-within,body.drfx-card-lift .dr-card:hover .dr-featured,body.drfx-card-lift .dr-card:focus-within .dr-featured{transform:none!important}
 body.drfx-reveal.drfx-js-ready .dr-section,body.drfx-reveal.drfx-js-ready .dr-intro,body.drfx-reveal.drfx-js-ready .dr-end,body.drfx-reveal.drfx-js-ready .dr-page-hero,body.drfx-reveal.drfx-js-ready .dr-detail,body.drfx-reveal.drfx-js-ready .dr-widget{opacity:1!important;transform:none!important;transition:none!important}
}
