.funky-button-wrapper{position:relative;display:inline-block;padding:0;cursor:pointer;text-decoration:none;transform-style:preserve-3d;perspective:1000px;transform:translateZ(0);will-change:transform;overflow:visible;transition:transform .2s ease}.funky-button-content{position:relative;z-index:10;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 28px;font-size:16px;font-weight:600;letter-spacing:.5px;color:#fff;background:linear-gradient(45deg,#063168,#3D75BD);border-radius:8px;box-shadow:0 4px 12px rgba(21,76,179,.3),inset 0 0 0 1px rgba(255,255,255,.1);transform:translateZ(10px);transition:all .3s ease;overflow:hidden}.funky-button-content:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.2) 0,rgba(255,255,255,0) 80%);opacity:0;transform:scale(.5);transition:transform .3s ease,opacity .3s ease;pointer-events:none}.funky-button-wrapper:hover .funky-button-content:before{opacity:1;transform:scale(1)}.funky-button-glow{position:absolute;z-index:1;top:-8px;left:-8px;right:-8px;bottom:-8px;border-radius:12px;background:radial-gradient(ellipse at center,rgba(61,117,189,.5) 0,rgba(6,49,104,.2) 50%,rgba(0,0,0,0) 70%);filter:blur(12px);opacity:.2;transform:translateZ(-10px);pointer-events:none}.funky-button-wrapper:hover .funky-button-glow{animation:pulse 1.5s infinite}.funky-button-wrapper.hovered .funky-button-glow{opacity:.8}.funky-button-icon{display:inline-block;transition:transform .3s ease;will-change:transform}.funky-button-wrapper:hover .funky-button-icon{transform:translateX(3px)}.funky-button-wrapper.hovered .funky-button-content{box-shadow:0 6px 18px rgba(21,76,179,.5),inset 0 0 0 2px rgba(255,255,255,.2)}.funky-button-particles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:20}.funky-particle{position:absolute;border-radius:50%;transform:translate(-50%,-50%)}.funky-button-content.clicked{transform:scale(.98)}@media (max-width:768px){.funky-button-content{padding:14px 24px;font-size:16px}}@keyframes pulse{0%{opacity:.3;transform:scale(.95) translateZ(-10px)}50%{opacity:.8;transform:scale(1.05) translateZ(-10px)}to{opacity:.3;transform:scale(.95) translateZ(-10px)}}