/* Bride Era R14.7.165 — efeitos de rolagem e 3D das landings */
.fx-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:9999;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#e8b4ad,#c9a227,#b3706b);pointer-events:none}
.fx-item{opacity:0;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--fx-d,0ms)}
.fx-up{transform:translateY(34px)}.fx-left{transform:translateX(-40px) rotate(-1deg)}.fx-right{transform:translateX(40px) rotate(1deg)}.fx-zoom{transform:scale(.92)}
.fx-item.fx-in{opacity:1;transform:none}
.fx-words .fx-w{display:inline-block;opacity:0;transform:translateY(.45em) rotateX(40deg);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--fx-i)*55ms)}
.fx-words.fx-in .fx-w{opacity:1;transform:none}
.fx-tilt{transform-style:preserve-3d;transform:perspective(900px) rotateX(var(--fx-rx,0deg)) rotateY(var(--fx-ry,0deg));transition:transform .25s ease-out,box-shadow .3s ease;position:relative}
.fx-tilt.fx-item:not(.fx-in){transform:translateY(34px)}
.fx-tilt:hover{box-shadow:0 22px 50px rgba(90,50,45,.16)}
.fx-glare{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--fx-gx,50%) var(--fx-gy,50%),rgba(255,255,255,.35),transparent 55%);opacity:0;transition:opacity .3s;z-index:1}
.fx-tilt:hover .fx-glare{opacity:1}
.fx-clip{overflow:hidden}
.fx-kb{transform:translateY(var(--fx-py,0)) scale(1.06);transition:transform .2s linear;animation:fxKen 18s ease-in-out infinite alternate;will-change:transform}
@keyframes fxKen{to{scale:1.04}}
.fx-mag{transform:translate(var(--fx-mx,0),var(--fx-my,0));transition:transform .2s ease-out}
.fx-petals{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.fx-petals i{position:absolute;top:-30px;width:14px;height:10px;border-radius:70% 0 70% 0;background:linear-gradient(135deg,#f4cfc7,#e8b4ad);opacity:.7;transform:scale(var(--fx-s,1));animation:fxFall linear infinite}
@keyframes fxFall{0%{transform:translate(0,-30px) rotate(0) scale(var(--fx-s,1));opacity:0}10%{opacity:.75}100%{transform:translate(var(--fx-x,0),110vh) rotate(540deg) scale(var(--fx-s,1));opacity:0}}
@media(prefers-reduced-motion:reduce){.fx-item,.fx-words .fx-w{opacity:1!important;transform:none!important}.fx-kb,.fx-petals i{animation:none!important}}
