/* ===== budi motion PLUS: signature effects (Nov 2026) ===== */
.mx-progress{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--brand,#FEF100);transform-origin:0 50%;transform:scaleX(0);z-index:9999;pointer-events:none;box-shadow:0 0 10px rgba(254,241,0,.7)}
.mx-fly{position:fixed;z-index:10000;pointer-events:none;border-radius:14px;object-fit:contain;background:#fff;box-shadow:0 18px 40px -12px rgba(0,0,0,.35)}
@media (prefers-reduced-motion:no-preference){
.mx-w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.mx-w>span{display:inline-block;transform:translateY(110%);transition:transform .9s cubic-bezier(.2,.75,.15,1);transition-delay:calc(var(--i,0) * 55ms)}
.mx-words.mx-on .mx-w>span{transform:none}
.mx-eb .eyebrow::before{transform:scaleX(0);transform-origin:0 50%;transition:transform .8s cubic-bezier(.2,.75,.15,1) .15s}
.mx-eb.mx-on .eyebrow::before{transform:scaleX(1)}
.card{position:relative}
.card.mx-tilt{transform:perspective(900px) translateY(-5px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .15s ease-out,box-shadow .4s}
.mx-glare{position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .3s;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.55),rgba(255,255,255,0) 45%);mix-blend-mode:soft-light;z-index:3}
.card:hover .mx-glare{opacity:1}
.mx-mag{transition:translate .25s cubic-bezier(.2,.8,.2,1),transform .2s,box-shadow .2s,background-color .2s,color .2s}
.catban__media{overflow:hidden}
.catban__media img{scale:1.12;translate:0 var(--py,0px)}
.mx-wipe .catban__media{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s cubic-bezier(.7,0,.2,1)}
.mx-wipe.mx-on .catban__media{clip-path:inset(0 0 0 0)}
.promo__card,.offers__row>*{position:relative;isolation:isolate}
.mx-spot{position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .35s;background:radial-gradient(520px circle at var(--sx,50%) var(--sy,50%),rgba(254,241,0,.22),transparent 55%);z-index:0}
.promo__card:hover .mx-spot,.offers__row>*:hover .mx-spot{opacity:1}
.promo__card>*:not(.mx-spot){position:relative;z-index:1}
.trust__row.mx-marquee{display:block;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mx-track{display:flex;width:max-content;gap:56px;animation:mxMarq 28s linear infinite}
.mx-track>*{flex:none;white-space:nowrap}
.trust__row.mx-marquee:hover .mx-track{animation-play-state:paused}
@keyframes mxMarq{to{transform:translateX(-50%)}}
.cart-pill.mx-got{animation:mxGot .6s cubic-bezier(.3,1.6,.5,1)}
@keyframes mxGot{0%{transform:scale(1)}30%{transform:scale(1.12) rotate(-4deg)}60%{transform:scale(.96) rotate(3deg)}100%{transform:none}}
.stats strong.mx-count{font-variant-numeric:tabular-nums}
.hero2__dots button{position:relative;overflow:hidden}
.hero2__dots button.is-active::after{content:"";position:absolute;inset:0;background:var(--brand,#FEF100);transform-origin:0 50%;animation:mxDot var(--mx-slide,6s) linear both}
@keyframes mxDot{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}
@media (prefers-reduced-motion:reduce){.mx-progress{display:none}}