.ducklife-site .button{position:relative;overflow:hidden}
.ducklife-site .button.cta-motion-visible{animation:ducklife-cta-wiggle var(--cta-cycle,32s) var(--cta-delay,0s) infinite;transform-origin:center}
.ducklife-site .button::after{content:'';position:absolute;inset:-50% auto -50% -50%;width:35%;background:linear-gradient(90deg,transparent,#fff9,transparent);transform:translateX(-150%) skewX(-20deg);opacity:0;pointer-events:none}
.ducklife-site .button.cta-motion-visible::after{animation:ducklife-cta-shine var(--cta-cycle,32s) var(--cta-delay,0s) infinite}
@keyframes ducklife-cta-wiggle{0%,83%,89%,100%{rotate:0deg}84%,86%,88%{rotate:-2deg}85%,87%{rotate:2deg}}
@keyframes ducklife-cta-shine{0%,39%{opacity:0;transform:translateX(-150%) skewX(-20deg)}40%{opacity:.8;transform:translateX(0) skewX(-20deg)}44%{opacity:.8;transform:translateX(650%) skewX(-20deg)}45%,100%{opacity:0;transform:translateX(650%) skewX(-20deg)}}
@media(prefers-reduced-motion:reduce){.ducklife-site .button.cta-motion-visible,.ducklife-site .button.cta-motion-visible::after{animation:none}.ducklife-site .button::after{display:none}}

/* The featured CTA remains anchored inside the artwork. */
.ducklife-site .hero-art .hero-explore{position:absolute}
