/* Adapted from MengTo/threeui SlidingTextCta (MIT, Copyright (c) 2026 Meng To).
   Source: src/shaders/neuform-isolated/sources/sliding-text-cta.html
   Tailwind utility styles converted to local CSS; colors, spacing and link semantics customized.
   Original sliding clone text, timing, hover lift and light layers retained.
   Full license: THREEUI-LICENSE.txt */
.threeui-cta{position:relative;display:inline-flex;min-width:120px;cursor:pointer;transition:all 1000ms cubic-bezier(.15,.83,.66,1);overflow:hidden;font-weight:500;background:#302d27;color:#fff;border:1px solid #302d27;border-radius:100px;padding:17px 25px;align-items:center;justify-content:center;text-decoration:none;line-height:1.4}
.threeui-cta:hover{transform:translateY(-3px)}
.cta-original{position:relative;z-index:1;transition:all .5s ease-out}
.cta-clone{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;transform:translateY(-32px);opacity:0;filter:blur(12px);transition:all .3s ease-in-out}
.threeui-cta:hover .cta-original{transform:translateY(32px);opacity:0;filter:blur(12px)}
.threeui-cta:hover .cta-clone{transform:translateY(0);opacity:1;filter:blur(0)}
.cta-line{position:absolute;bottom:0;left:50%;height:1px;width:70%;transform:translateX(-50%);background:linear-gradient(to right,transparent,#ded9ce,transparent);filter:blur(2px);transition:opacity 1s}
.cta-light{position:absolute;inset:0;pointer-events:none;border-radius:100px;background:linear-gradient(to top,#ffffff16,#ffffff08,transparent);transition:opacity 1s}
.threeui-cta:hover .cta-light{opacity:.6}
@media(prefers-reduced-motion:reduce){.threeui-cta,.cta-original,.cta-clone{transition:none}.threeui-cta:hover{transform:none}.threeui-cta:hover .cta-original{transform:none;opacity:1;filter:none}.cta-clone{display:none}}
