/* SEO Return Motion: Webflow-style scroll reveals that replay scrolling down and up. */
:root{--srm-ease:cubic-bezier(.16,1,.3,1);--srm-d:1s;--srm-y:46px}

/* Neutralise Elementor's one-time entrance animations inside page content; we run our own. */
.srm-on :is([data-elementor-type="wp-page"],[data-elementor-type="footer"],[data-elementor-type="single-post"],[data-elementor-type="single-page"],[data-elementor-type="archive"]) .elementor-invisible{visibility:visible!important}
.srm-on :is([data-elementor-type="wp-page"],[data-elementor-type="single-post"],[data-elementor-type="single-page"],[data-elementor-type="archive"]) > .e-con:not(:first-child) :is(.animated,.e-con.animated),.srm-on :is([data-elementor-type="wp-page"],[data-elementor-type="single-post"],[data-elementor-type="single-page"],[data-elementor-type="archive"]) > .e-con.animated:not(:first-child),.srm-on [data-elementor-type="footer"] .animated{animation-name:none!important}

/* Before the script runs: keep below-the-fold content hidden so nothing flashes. */
.srm-on:not(.srm-js) :is([data-elementor-type="wp-page"],[data-elementor-type="single-post"],[data-elementor-type="single-page"],[data-elementor-type="archive"]) > .e-con:not(:first-child) :is(.elementor-widget-heading,.elementor-widget-text-editor,.elementor-widget-button,.elementor-widget-image,.elementor-widget-icon-list,.elementor-widget-icon-box,.elementor-widget-image-box,.elementor-widget-accordion,.elementor-widget-toggle,.elementor-widget-n-accordion,.elementor-widget-form,.elementor-widget-testimonial-carousel,.elementor-widget-image-carousel,.elementor-widget-counter,.elementor-widget-video,.elementor-widget-star-rating,.elementor-widget-html,.srt-card),
.srm-on:not(.srm-js) [data-elementor-type="footer"] :is(.elementor-widget-heading,.elementor-widget-text-editor,.elementor-widget-button,.elementor-widget-image,.elementor-widget-icon-list,.elementor-widget-form){opacity:0}

/* Hero (first section): plays once on page load without waiting for the script. */
@keyframes srm-hero{from{opacity:0;transform:translate3d(0,34px,0)}}
@keyframes srm-hero-h{from{opacity:0;clip-path:inset(0 0 100% 0);transform:translate3d(0,30px,0)}to{opacity:1;clip-path:inset(-25% -10% -35% -10%);transform:none}}
.srm-on :is([data-elementor-type="wp-page"],[data-elementor-type="single-post"],[data-elementor-type="single-page"],[data-elementor-type="archive"]) > .e-con:first-child :is(.elementor-widget-text-editor,.elementor-widget-button,.elementor-widget-image,.elementor-widget-icon-list,.elementor-widget-html,.elementor-widget-form){animation:srm-hero 1s var(--srm-ease) .1s backwards}
.srm-on :is([data-elementor-type="wp-page"],[data-elementor-type="single-post"],[data-elementor-type="single-page"],[data-elementor-type="archive"]) > .e-con:first-child .elementor-widget-heading{animation:srm-hero-h 1.1s var(--srm-ease) .05s backwards}
.srm-on :is([data-elementor-type="wp-page"],[data-elementor-type="single-post"],[data-elementor-type="single-page"],[data-elementor-type="archive"]) > .e-con:first-child .elementor-widget:nth-child(2){animation-delay:.16s}
.srm-on :is([data-elementor-type="wp-page"],[data-elementor-type="single-post"],[data-elementor-type="single-page"],[data-elementor-type="archive"]) > .e-con:first-child .elementor-widget:nth-child(3){animation-delay:.27s}
.srm-on :is([data-elementor-type="wp-page"],[data-elementor-type="single-post"],[data-elementor-type="single-page"],[data-elementor-type="archive"]) > .e-con:first-child .elementor-widget:nth-child(4){animation-delay:.38s}
.srm-on :is([data-elementor-type="wp-page"],[data-elementor-type="single-post"],[data-elementor-type="single-page"],[data-elementor-type="archive"]) > .e-con:first-child .elementor-widget:nth-child(5){animation-delay:.48s}
.srm-on :is([data-elementor-type="wp-page"],[data-elementor-type="single-post"],[data-elementor-type="single-page"],[data-elementor-type="archive"]) > .e-con:first-child .elementor-widget:nth-child(n+6){animation-delay:.56s}
.srm-on :is([data-elementor-type="wp-page"],[data-elementor-type="single-post"],[data-elementor-type="single-page"],[data-elementor-type="archive"]) > .e-con:first-child .e-con .elementor-widget{animation-delay:.32s}

/* Script-managed reveals. */
.srm-js [data-srm]{transition:opacity var(--srm-d) var(--srm-ease),transform var(--srm-d) var(--srm-ease),clip-path calc(var(--srm-d) * 1.15) var(--srm-ease);transition-delay:var(--srm-delay,0s)}
.srm-js [data-srm]:not(.srm-in){opacity:0;transform:translate3d(0,var(--srm-y),0)}
.srm-js [data-srm][data-srm-dir="t"]:not(.srm-in){transform:translate3d(0,calc(var(--srm-y) * -1),0)}

/* Headings: masked rise (wipes down when entering from below, up when entering from above). */
.srm-js [data-srm="head"].srm-in{clip-path:inset(-25% -10% -35% -10%)}
.srm-js [data-srm="head"]:not(.srm-in){clip-path:inset(0 0 100% 0);transform:translate3d(0,32px,0)}
.srm-js [data-srm="head"][data-srm-dir="t"]:not(.srm-in){clip-path:inset(100% 0 0 0);transform:translate3d(0,-32px,0)}

/* Cards: rise with a slight scale. */
.srm-js [data-srm="card"]:not(.srm-in){transform:translate3d(0,60px,0) scale(.95)}
.srm-js [data-srm="card"][data-srm-dir="t"]:not(.srm-in){transform:translate3d(0,-60px,0) scale(.95)}

/* Buttons: pop up. */
.srm-js [data-srm="btn"]:not(.srm-in){transform:translate3d(0,22px,0) scale(.92)}
.srm-js [data-srm="btn"][data-srm-dir="t"]:not(.srm-in){transform:translate3d(0,-22px,0) scale(.92)}

/* Images: clip-mask reveal with a slow zoom-out. */
.srm-js [data-srm="img"]{transition-duration:var(--srm-d),var(--srm-d),1.3s}
.srm-js [data-srm="img"].srm-in{clip-path:inset(0 0 0 0 round 0)}
.srm-js [data-srm="img"]:not(.srm-in){transform:none;clip-path:inset(14% 8% 14% 8% round 28px)}
.srm-js [data-srm="img"] img{transition:transform 1.5s var(--srm-ease);transition-delay:var(--srm-delay,0s)}
.srm-js [data-srm="img"]:not(.srm-in) img{transform:scale(1.14)}

/* Jump to the hidden state instantly when an element leaves the screen. */
.srm-js [data-srm].srm-reset,.srm-js [data-srm].srm-reset img{transition:none!important}
.srm-js .srm-skip{opacity:1!important;transform:none!important}

@media (prefers-reduced-motion:reduce){.srm-on [data-srm],.srm-on .elementor-widget{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;clip-path:none!important}}
@media print{.srm-on [data-srm],.srm-on .elementor-widget{opacity:1!important;transform:none!important;clip-path:none!important}}
