@keyframes borderBeam{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.border-beam{position:relative}.border-beam:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,transparent,hsl(var(--secondary)),transparent);background-size:200% 200%;animation:borderBeam 4s linear infinite;z-index:-1;border-radius:calc(var(--radius) + 2px)}.border-beam-hover:hover:before{opacity:1}.border-beam-hover:before{opacity:0;transition:opacity .3s ease}.glow-effect{position:relative}.glow-effect:after{content:"";position:absolute;inset:-1px;background:linear-gradient(45deg,transparent,hsl(var(--secondary)/.2),transparent);filter:blur(8px);z-index:-1;opacity:0;transition:opacity .3s ease}.glow-effect:hover:after{opacity:1}.floating-label{position:relative;margin-bottom:1rem}.floating-label input:focus~label,.floating-label input:not(:placeholder-shown)~label{transform:translateY(-1.5rem) scale(.8);color:hsl(var(--secondary))}.floating-label label{position:absolute;left:1rem;top:.75rem;transition:transform .2s,color .2s;transform-origin:left;pointer-events:none}@keyframes border-beam{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-border-beam{background-size:200% 200%;animation:border-beam 4s linear infinite}@media (max-width:640px){.border-beam:before{opacity:.7;background-size:150% 150%}.glow-effect:after{filter:blur(4px)}@keyframes borderBeam{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.service-card-content{position:relative;z-index:10;background-color:rgba(0,0,0,.6);backdrop-filter:blur(2px)}}