/* Rezika fun layer: custom cursor + micro-animations everywhere. Transform/opacity only. */
::selection{background:var(--oak);color:var(--moss)}
@media(hover:hover) and (pointer:fine){html{scrollbar-width:thin;scrollbar-color:var(--oak) transparent}}

@media(prefers-reduced-motion:no-preference){

/* ---------- cursor ---------- */

/* sawdust trail + click burst */
.shav{width:9px;height:4px;margin:-2px 0 0 -4.5px;border-radius:2px;background:var(--c,#c98e4b);animation:burst .85s cubic-bezier(.1,.7,.3,1) forwards}
@keyframes burst{from{opacity:1;transform:translate3d(var(--x),var(--y),0) rotate(0) scale(1)}to{opacity:0;transform:translate3d(calc(var(--x) + var(--bx)),calc(var(--y) + var(--by)),0) rotate(var(--br)) scale(.4)}}

/* button ripple */
.btn .rip{position:absolute;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;background:rgba(255,255,255,.55);pointer-events:none;animation:rip .65s ease-out forwards}
@keyframes rip{to{transform:scale(34);opacity:0}}

/* tilt while hovered (class set by fun.js) */
html .fun-tilt{transform:perspective(900px) translate3d(0,-4px,0) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))!important;transition:transform .25s ease-out!important}

/* ---------- everywhere micro-animations ---------- */
.logo img{animation:logoFloat 6s ease-in-out infinite}
.logo:hover img{animation:wiggle .7s ease-in-out}
@keyframes logoFloat{50%{transform:translateY(-2px) rotate(-.6deg)}}
@keyframes wiggle{20%{transform:rotate(-5deg) scale(1.06)}45%{transform:rotate(4deg) scale(1.08)}70%{transform:rotate(-2deg) scale(1.05)}}

.btn::before{animation:glint 5.5s ease-in-out infinite}
.btn:hover::before{animation:none}
@keyframes glint{0%,70%{transform:translateX(-130%)}100%{transform:translateX(130%)}}

.legal a:not(.btn),footer a:not(.btn){text-decoration:none;background:linear-gradient(var(--oak),var(--oak)) 0 100%/100% 1.5px no-repeat;transition:background-size .3s cubic-bezier(.2,.8,.2,1),color .2s;padding-bottom:1px}
.legal a:not(.btn):hover{background-size:100% 100%;color:var(--moss)}
.legal-links a,footer .legal-links a,footer .legal-links a{transition:transform .3s cubic-bezier(.2,.8,.2,1),color .2s}
.legal-links a::before{content:"\2192";display:inline-block;width:0;opacity:0;overflow:hidden;color:var(--oak);transition:width .3s,opacity .3s,margin .3s}
.legal-links a:hover{transform:translateX(4px);color:var(--birch)}
.legal-links a:hover::before{width:1.1em;opacity:1;margin-right:.2em}
.fcontact .ic{position:relative;transition:transform .35s cubic-bezier(.3,1.6,.5,1),background .25s}
.fcontact li:hover .ic{transform:scale(1.18) rotate(-8deg);background:rgba(201,142,75,.35)}
.fcontact .ic::after{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(201,142,75,.7);animation:ping 3.2s ease-out infinite}
.fcontact li:nth-child(2) .ic::after{animation-delay:1.1s}
@keyframes ping{0%{transform:scale(1);opacity:.7}70%,100%{transform:scale(1.7);opacity:0}}
footer b{display:inline-block;animation:breathe 4.5s ease-in-out infinite}
@keyframes breathe{50%{transform:scale(1.05);color:var(--oak)}}

.legal h2::after{content:"";display:block;height:2px;width:0;margin-top:.45rem;background:var(--oak);transition:width .9s cubic-bezier(.2,.8,.2,1) .25s}
.legal h2.in::after{width:56px}
.legal h2:hover::after{width:140px;transition-delay:0s}
.why-list li strong,.facts h3{transition:color .25s,transform .35s cubic-bezier(.2,.8,.2,1)}
.why-list li:hover strong,.facts>div:hover h3{color:var(--oak-dark);transform:translateX(6px)}
.stat-list li b{display:inline-block;transition:transform .4s cubic-bezier(.3,1.6,.5,1)}
.stat-list li:hover b{transform:scale(1.12) rotate(-2deg)}
.pxw img{transition:filter .6s ease}
.pxw:hover img{filter:saturate(1.15) contrast(1.04)}
.marquee:hover .mq-track{animation-play-state:paused}

input,textarea{transition:border-color .2s,box-shadow .3s,transform .25s,background .2s}
input:focus,textarea:focus{box-shadow:0 0 0 5px rgba(201,142,75,.28);transform:translateY(-2px)}
label{transition:color .2s}
.check input:checked{animation:pop .4s cubic-bezier(.3,1.8,.5,1)}
@keyframes pop{40%{transform:scale(1.5) rotate(8deg)}}
.fielderr:not([hidden]){animation:shake .45s}
@keyframes shake{20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
.done:not([hidden]) h2{animation:bounceIn .7s cubic-bezier(.3,1.5,.5,1)}
@keyframes bounceIn{from{opacity:0;transform:scale(.7) translateY(14px)}}
.btt svg{animation:bob 1.8s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-3px)}}
.burger{transition:transform .35s cubic-bezier(.3,1.6,.5,1),background .2s}
.burger:active{transform:scale(.88) rotate(90deg)}
.mpanel a{transition:transform .25s,color .2s,padding .25s}
.mpanel a:active{transform:translateX(8px);color:var(--oak-dark)}

/* touch: instant press feedback instead of hover */
@media(hover:none){
  .btn:active,.why-list li:active,.facts>div:active,.stat-list li:active{transform:scale(.97);transition:transform .12s}
  .legal-links a:active{transform:translateX(6px);color:var(--oak)}
}
}

/* calm: no endlessly moving decorations */
.logo img,footer b,.btt svg{animation:none!important}.btn::before,.fcontact .ic::after{display:none!important}
.anim .order .btn.rv.in,.anim .badge.rv.in{animation:rvZ .9s cubic-bezier(.2,.7,.2,1) var(--d,0ms) backwards!important}
