/* Website Wizards - animation layer (additive; nothing existing is removed) */
.wa-prog{display:none!important;position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:#ddf160;z-index:2147483000;pointer-events:none;box-shadow:0 0 12px rgba(221,241,96,.6)}
/* words */
.wa-js .wa-word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.wa-js .wa-word>span{display:inline-block;transform:translateY(115%) rotate(5deg);opacity:0;filter:blur(6px);transition:transform .9s cubic-bezier(.16,1,.3,1),opacity .7s ease,filter .7s ease;transition-delay:calc(var(--i,0)*55ms)}
.wa-js [data-wa=words].wa-in .wa-word>span{transform:none;opacity:1;filter:none}
/* fade up (text, cards, lists) */
.wa-js [data-wa=fade]{opacity:0;transform:translateY(38px);filter:blur(6px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),filter .8s ease;transition-delay:var(--d,0ms)}
.wa-js [data-wa=fade].wa-in{opacity:1;transform:none;filter:none}
.wa-js [data-wa=left]{opacity:0;transform:translateX(-50px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0ms)}
.wa-js [data-wa=right]{opacity:0;transform:translateX(50px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0ms)}
.wa-js [data-wa=left].wa-in,.wa-js [data-wa=right].wa-in{opacity:1;transform:none}
/* image reveal */
.wa-js [data-wa=img]{clip-path:inset(0 0 100% 0 round 24px);transition:clip-path 1.2s cubic-bezier(.77,0,.18,1);transition-delay:var(--d,0ms)}
.wa-js [data-wa=img].wa-in{clip-path:inset(0 0 0 0 round 24px)}
.wa-js [data-wa=img] img{transform:scale(1.3);transition:transform 1.8s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0ms)}
.wa-js [data-wa=img].wa-in img{transform:scale(1)}
.wa-js .bp:hover [data-wa=img].wa-in img,.wa-js .card:hover [data-wa=img].wa-in img,.wa-js .rels a:hover [data-wa=img].wa-in img{transform:scale(1.07);transition-duration:.7s;transition-delay:0s}
/* heading underline grows */
.bsec>h2::after,.bsplit h2::after,.sec>h2::after,.bform h2::after,.rel h2::after,.sm-sec h2::after{content:"";display:block;height:3px;width:0;background:#ddf160;margin-top:14px;transition:width 1.1s cubic-bezier(.16,1,.3,1) .5s}
.wa-js [data-wa=words].wa-in::after{width:64px}
/* buttons: shine + lift */
.btn1,.btn2,.more,.ww-hd-cta,.sm-nav a,.wa-btn{position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,background .3s,color .3s,border-color .3s}
.btn1::after,.btn2::after,.more::after,.wa-btn::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);pointer-events:none}
.btn1:hover::after,.btn2:hover::after,.more:hover::after,.wa-btn:hover::after{left:140%;transition:left .8s ease}
.btn1:hover,.more:hover{box-shadow:0 10px 30px rgba(221,241,96,.35)}
/* card hover glow + lift */
.feat>div,.vals>div,.two>div,.rels a,.card,.bp,.faq details,.sm-list li{will-change:transform}
.feat>div:hover,.vals>div:hover,.rels a:hover,.card:hover{box-shadow:0 18px 50px rgba(221,241,96,.12)}
.feat>div i{transition:transform .6s cubic-bezier(.16,1,.3,1)}
.feat>div:hover i{transform:rotate(360deg) scale(1.12)}
.sm-list li{transition:padding-left .35s ease,background .35s}
.sm-list li:hover{padding-left:14px;background:rgba(255,255,255,.03)}
.faq details{transition:border-color .3s,background .3s}
.faq details[open]{border-color:#ddf160;background:rgba(221,241,96,.04)}
.faq details[open] p{animation:waDrop .5s ease}
@keyframes waDrop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
/* hero decor */
.bhero{position:relative}
.bhero::before{content:"";position:absolute;right:2%;top:-10px;width:240px;height:240px;border:1.5px dashed rgba(221,241,96,.3);border-radius:50%;animation:waSpin 36s linear infinite;pointer-events:none}
.bhero::after{content:"";position:absolute;left:46%;bottom:6px;width:14px;height:14px;border-radius:50%;background:#ddf160;animation:waFloat 5s ease-in-out infinite;pointer-events:none;opacity:.8}
@keyframes waSpin{to{transform:rotate(360deg)}}
@keyframes waFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-22px)}}
.bhero>*{position:relative;z-index:1}
/* marquee strip */
.wa-marq{overflow:hidden;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);padding:22px 0;margin:30px 0 10px;font-family:"Funnel Display","Mona Sans",sans-serif}
.wa-marq-in{display:flex;width:max-content;animation:waMarq 38s linear infinite}
.wa-marq:hover .wa-marq-in{animation-play-state:paused}
.wa-marq span{font-size:clamp(26px,4vw,52px);font-weight:600;white-space:nowrap;padding:0 28px;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.55);transition:color .3s}
.wa-marq span:hover{color:#ddf160;-webkit-text-stroke-color:#ddf160}
.wa-marq i{font-style:normal;color:#ddf160;font-size:clamp(20px,3vw,34px);align-self:center}
@keyframes waMarq{to{transform:translateX(-50%)}}
/* page leave */
html.wa-leaving body{opacity:0;transition:opacity .32s ease}
/* nav / links micro-motion */
a{transition:color .25s}
.sm-nav a{transition:transform .3s,background .25s,color .25s}
.sm-nav a:hover{transform:translateY(-4px) scale(1.08)}
@media(prefers-reduced-motion:reduce){
 .wa-js .wa-word>span,.wa-js [data-wa]{transition:none!important;transform:none!important;opacity:1!important;filter:none!important;clip-path:none!important}
 .bhero::before,.bhero::after,.wa-marq-in{animation:none!important}
}
