 @keyframes floatY {

     0%,
     100% {
         transform: translateY(0px);
     }

     50% {
         transform: translateY(-10px);
     }
 }

 @keyframes pulseGlow {

     0%,
     100% {
         opacity: 0.45;
         transform: scale(1);
     }

     50% {
         opacity: 0.75;
         transform: scale(1.08);
     }
 }

 @keyframes shimmer {
     0% {
         transform: translateX(-140%);
     }

     100% {
         transform: translateX(140%);
     }
 }

 @keyframes dotMove {
     0% {
         transform: translateY(0px);
     }

     50% {
         transform: translateY(-8px);
     }

     100% {
         transform: translateY(0px);
     }
 }

 .hero-dot-layer {
     background-image: radial-gradient(rgba(130, 170, 255, 0.28) 1px, transparent 1px);
     background-size: 28px 28px;
     background-position: center;
     animation: dotMove 7s ease-in-out infinite;
 }

 .hero-float {
     animation: floatY 4.5s ease-in-out infinite;
 }

 .hero-glow {
     animation: pulseGlow 5s ease-in-out infinite;
 }

 .btn-shimmer::before {
     content: "";
     position: absolute;
     inset: 0;
     background: linear-gradient(120deg,
             transparent 0%,
             rgba(255, 255, 255, 0.12) 30%,
             rgba(255, 255, 255, 0.45) 50%,
             rgba(255, 255, 255, 0.12) 70%,
             transparent 100%);
     transform: translateX(-140%);
     animation: shimmer 3s linear infinite;
 }