/* Jasmine Universal Effects — opt-in only. Applied to widgets and containers. */
[class*="jws-ux-"]{--jws-ux-distance:12px;--jws-ux-duration:550ms;--jws-ux-delay:0ms}
:is(.jws-ux-hover-lift,.jws-ux-hover-scale,.jws-ux-hover-tilt,.jws-ux-hover-float,.jws-ux-hover-fade)
>:is(.elementor-widget-container,.e-con-inner){transition:transform var(--jws-ux-duration) cubic-bezier(.2,.75,.2,1),filter var(--jws-ux-duration) ease;will-change:auto}
@media(hover:hover){
.jws-ux-hover-lift:hover>:is(.elementor-widget-container,.e-con-inner){transform:translateY(calc(-1 * var(--jws-ux-distance)))}
.jws-ux-hover-scale:hover>:is(.elementor-widget-container,.e-con-inner){transform:scale(1.035)}
.jws-ux-hover-tilt:hover>:is(.elementor-widget-container,.e-con-inner){transform:rotate(-1.8deg) translateY(calc(-.5 * var(--jws-ux-distance)))}
.jws-ux-hover-float:hover>:is(.elementor-widget-container,.e-con-inner){transform:translateY(calc(-1 * var(--jws-ux-distance))) rotate(1.5deg) scale(1.015)}
.jws-ux-hover-fade:hover img{filter:grayscale(0) saturate(1.08)!important}
}
.jws-ux-image-mono img{filter:grayscale(1)}
.jws-ux-image-warm img{filter:sepia(.17) saturate(.9)}
.jws-ux-image-contrast img{filter:contrast(1.16) saturate(1.08)}
.jws-ux-image-dream img{filter:contrast(.91) brightness(1.06) saturate(.77)}
.jws-ux-hover-fade img{filter:grayscale(.7);transition:filter var(--jws-ux-duration) ease}
:is(.jws-ux-mask-arch,.jws-ux-mask-ticket,.jws-ux-mask-diagonal,.jws-ux-mask-ellipse)>:is(.elementor-widget-container,.e-con-inner){overflow:clip}
.jws-ux-mask-arch>:is(.elementor-widget-container,.e-con-inner){clip-path:polygon(0 100%,0 23%,3% 14%,12% 6%,25% 1%,50% 0,75% 1%,88% 6%,97% 14%,100% 23%,100% 100%)}
.jws-ux-mask-ticket>:is(.elementor-widget-container,.e-con-inner){clip-path:polygon(0 0,100% 0,100% 45%,95% 50%,100% 55%,100% 100%,0 100%,0 55%,5% 50%,0 45%)}
.jws-ux-mask-diagonal>:is(.elementor-widget-container,.e-con-inner){clip-path:polygon(5% 0,100% 0,95% 100%,0 100%)}
.jws-ux-mask-ellipse>:is(.elementor-widget-container,.e-con-inner){clip-path:ellipse(49% 50% at 50% 50%)}
/* Reveals are disabled before JS initializes: full content stays visible without JS. */
.jws-ux-reveal-active{opacity:1;transition:opacity var(--jws-ux-duration) ease var(--jws-ux-delay),transform var(--jws-ux-duration) cubic-bezier(.2,.8,.2,1) var(--jws-ux-delay),filter var(--jws-ux-duration) ease var(--jws-ux-delay)}
.jws-ux-reveal-active:not(.jws-ux-inview){opacity:0}
.jws-ux-reveal-active.jws-ux-reveal-rise:not(.jws-ux-inview){transform:translateY(35px)}
.jws-ux-reveal-active.jws-ux-reveal-slide:not(.jws-ux-inview){transform:translateX(35px)}
.jws-ux-reveal-active.jws-ux-reveal-scale:not(.jws-ux-inview){transform:scale(.94)}
.jws-ux-reveal-active.jws-ux-reveal-blur:not(.jws-ux-inview){filter:blur(12px)}
@media(prefers-reduced-motion:reduce){
.jws-ux-reveal-active{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
:is(.jws-ux-hover-lift,.jws-ux-hover-scale,.jws-ux-hover-tilt,.jws-ux-hover-float)>:is(.elementor-widget-container,.e-con-inner){transform:none!important;transition:none!important}
}
/* v0.12 Reusable Motion Director presets; no-JS content is visible. */
.jws-md-enabled{--jws-md-intensity:50;--jws-md-duration:800ms;--jws-md-delay:0ms;
 --jws-md-ease:cubic-bezier(.2,.8,.2,1);transition:transform var(--jws-md-duration) var(--jws-md-ease) var(--jws-md-delay),opacity var(--jws-md-duration) var(--jws-md-ease) var(--jws-md-delay),filter var(--jws-md-duration) ease var(--jws-md-delay)}
.jws-md-enabled[data-jws-md-easing="liquid"]{--jws-md-ease:cubic-bezier(.17,.77,.3,1)}
.jws-md-enabled[data-jws-md-easing="spring"]{--jws-md-ease:cubic-bezier(.2,1.35,.37,1)}
.jws-md-enabled[data-jws-md-easing="sharp"]{--jws-md-ease:cubic-bezier(.76,0,.2,1)}
.jws-md-enabled.jws-md-wait{opacity:0;transform:translateY(calc(var(--jws-md-intensity)*.65px)) scale(calc(1 - var(--jws-md-intensity)*.0004))}
.jws-md-enabled.jws-md-wait[data-jws-md-blur="1"]{filter:blur(calc(var(--jws-md-intensity)*.12px))}
.jws-md-enabled[data-jws-md-trigger="hover"]:is(:hover,:focus-within).jws-md-on{transform:translateY(calc(var(--jws-md-intensity)*-.18px)) scale(calc(1 + var(--jws-md-intensity)*.0005))}
.jws-md-enabled[data-jws-md-trigger="click"].jws-md-on{animation:jws-md-click var(--jws-md-duration) var(--jws-md-ease) 1}
@keyframes jws-md-click{0%{transform:scale(1)}40%{transform:scale(calc(1 + var(--jws-md-intensity)*.001))}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.jws-md-enabled{transition:none!important;animation:none!important;opacity:1!important;filter:none!important;transform:none!important}}
/* Opt-in layout breakout works on Elementor widgets and flex containers.
   Subtract native scrollbar width (populated by JS only when needed). */
.jws-ux-fullbleed-yes {
  --jws-bleed-viewport:calc(100vw - var(--jws-scrollbar-width, 0px));
  position:relative!important;
  box-sizing:border-box!important;
  width:var(--jws-bleed-viewport)!important;
  max-width:var(--jws-bleed-viewport)!important;
  min-width:0!important;
  flex-shrink:0!important;
  margin-left:calc((100% - var(--jws-bleed-viewport))/2)!important;
  margin-right:calc((100% - var(--jws-bleed-viewport))/2)!important;
  margin-top:var(--jws-bleed-y,0px)!important;
  margin-bottom:var(--jws-bleed-y,0px)!important;
}
.jws-ux-fullbleed-yes.elementor-widget>.elementor-widget-container,
.jws-ux-fullbleed-yes.e-con>.e-con-inner {
  width:100%;max-width:100%!important;
}
@media(max-width:767px){
  .jws-ux-fullbleed-yes {--jws-bleed-y:0px;}
}

/* v0.17 opt-in responsive SVG masks; artwork stays unmodified. */
.jws-ux-mask-svg-petal>:is(.elementor-widget-container,.e-con-inner){-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M50%202C63%2021%2087%2012%2098%2050C76%2056%2079%2088%2050%2098C26%2083%2017%2075%202%2050C15%2028%2021%2018%2050%202Z%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M50%202C63%2021%2087%2012%2098%2050C76%2056%2079%2088%2050%2098C26%2083%2017%2075%202%2050C15%2028%2021%2018%2050%202Z%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-position:center;mask-position:center}
.jws-ux-mask-svg-arch>:is(.elementor-widget-container,.e-con-inner){-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M2%20100V47C2%2018%2023%202%2050%202S98%2018%2098%2047V100Z%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M2%20100V47C2%2018%2023%202%2050%202S98%2018%2098%2047V100Z%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-position:center;mask-position:center}
.jws-ux-mask-svg-orbit>:is(.elementor-widget-container,.e-con-inner){-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%20preserveAspectRatio%3D%22none%22%3E%3Cellipse%20cx%3D%2250%22%20cy%3D%2250%22%20rx%3D%2248%22%20ry%3D%2247%22%20fill%3D%22white%22%2F%3E%3Cellipse%20cx%3D%2250%22%20cy%3D%2250%22%20rx%3D%2239%22%20ry%3D%2238%22%20fill%3D%22black%22%2F%3E%3Cellipse%20cx%3D%2250%22%20cy%3D%2250%22%20rx%3D%2231%22%20ry%3D%2230%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%20preserveAspectRatio%3D%22none%22%3E%3Cellipse%20cx%3D%2250%22%20cy%3D%2250%22%20rx%3D%2248%22%20ry%3D%2247%22%20fill%3D%22white%22%2F%3E%3Cellipse%20cx%3D%2250%22%20cy%3D%2250%22%20rx%3D%2239%22%20ry%3D%2238%22%20fill%3D%22black%22%2F%3E%3Cellipse%20cx%3D%2250%22%20cy%3D%2250%22%20rx%3D%2231%22%20ry%3D%2230%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-position:center;mask-position:center}
.jws-ux-mask-svg-brush>:is(.elementor-widget-container,.e-con-inner){-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M9%202H93L97%209L92%2016L99%2024L95%2031L100%2042L95%2048L99%2058L95%2071L99%2083L95%2098H4L8%2090L3%2080L8%2069L2%2060L7%2051L2%2040L8%2033L3%2023L9%2014Z%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M9%202H93L97%209L92%2016L99%2024L95%2031L100%2042L95%2048L99%2058L95%2071L99%2083L95%2098H4L8%2090L3%2080L8%2069L2%2060L7%2051L2%2040L8%2033L3%2023L9%2014Z%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-position:center;mask-position:center}
.jws-ux-mask-svg-wave>:is(.elementor-widget-container,.e-con-inner){-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M1%208Q12%20-2%2026%208T50%208T75%208T99%208V90Q87%20103%2075%2092T50%2092T25%2092T1%2092Z%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M1%208Q12%20-2%2026%208T50%208T75%208T99%208V90Q87%20103%2075%2092T50%2092T25%2092T1%2092Z%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-position:center;mask-position:center}
.jws-ux-mask-svg-diamond>:is(.elementor-widget-container,.e-con-inner){-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M50%200L100%2050L50%20100L0%2050Z%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M50%200L100%2050L50%20100L0%2050Z%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-position:center;mask-position:center}
/* Mask animation only on explicitly selected elements. */
[class*="jws-ux-mask-svg-"].jws-ux-mask-motion-hover>:is(.elementor-widget-container,.e-con-inner){transition:mask-size .9s cubic-bezier(.2,.8,.2,1),-webkit-mask-size .9s cubic-bezier(.2,.8,.2,1);-webkit-mask-size:94% 94%;mask-size:94% 94%}
@media(hover:hover){[class*="jws-ux-mask-svg-"].jws-ux-mask-motion-hover:is(:hover,:focus-within)>:is(.elementor-widget-container,.e-con-inner){-webkit-mask-size:110% 110%;mask-size:110% 110%}}
[class*="jws-ux-mask-svg-"].jws-ux-mask-motion-breathe>:is(.elementor-widget-container,.e-con-inner){animation:jws-mask-breathe 5.8s ease-in-out infinite}
[class*="jws-ux-mask-svg-"].jws-ux-mask-motion-slide>:is(.elementor-widget-container,.e-con-inner){-webkit-mask-size:110% 100%;mask-size:110% 100%;animation:jws-mask-travel 6s ease-in-out infinite alternate}
@keyframes jws-mask-breathe{0%,100%{-webkit-mask-size:97% 97%;mask-size:97% 97%}50%{-webkit-mask-size:105% 105%;mask-size:105% 105%}}
@keyframes jws-mask-travel{0%{-webkit-mask-position:0% 50%;mask-position:0% 50%}100%{-webkit-mask-position:100% 50%;mask-position:100% 50%}}
[class*="jws-ux-svg-"]:not(.jws-ux-svg-none) :is(svg,img[src$=".svg"]){transform-origin:center;animation-duration:var(--jws-svg-duration,5s);animation-iteration-count:infinite;animation-timing-function:ease-in-out}
.jws-ux-svg-float :is(svg,img[src$=".svg"]){animation-name:jws-svg-float}
.jws-ux-svg-orbit :is(svg,img[src$=".svg"]){animation-name:jws-svg-orbit;animation-duration:12s;animation-timing-function:linear}
.jws-ux-svg-pulse :is(svg,img[src$=".svg"]){animation-name:jws-svg-pulse}
.jws-ux-svg-swing :is(svg,img[src$=".svg"]){animation-name:jws-svg-swing}
.jws-ux-svg-draw svg :is(path,line,circle,rect,polygon,polyline){stroke-dasharray:var(--jws-svg-dash,900);stroke-dashoffset:var(--jws-svg-dash,900);animation:jws-svg-draw 3.8s ease-in-out infinite alternate}
@keyframes jws-svg-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes jws-svg-orbit{to{transform:rotate(360deg)}}
@keyframes jws-svg-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes jws-svg-swing{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes jws-svg-draw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){
 [class*="jws-ux-mask-svg-"]>:is(.elementor-widget-container,.e-con-inner),
 [class*="jws-ux-svg-"] :is(svg,img[src$=".svg"]),.jws-ux-svg-draw svg :is(path,line,circle,rect,polygon,polyline){animation:none!important;transition:none!important}
}
