 /* Custom Utilities */
 .gradient-text {
     background: linear-gradient(135deg, #0066FF 0%, #0052CC 50%, #1E3A8A 100%);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
 }

 .gradient-bg {
     background: linear-gradient(135deg, #FFFFFF 0%, #EFF6FF 50%, #DBEAFE 100%);
 }

 .glow-effect {
     box-shadow: 0 0 60px rgba(0, 102, 255, 0.3), 0 0 100px rgba(0, 102, 255, 0.1);
 }

 /* Scroll Animations Base */
 .animate-on-scroll {
     opacity: 0;
     transition: opacity 0.8s ease-out, transform 0.8s ease-out;
 }

 .fade-in-up {
     transform: translateY(30px);
 }

 .fade-in-scale {
     transform: scale(0.9);
 }

 .fade-in-left {
     transform: translateX(-30px);
 }

 .fade-in-right {
     transform: translateX(30px);
 }

 /* When element becomes visible */
 .animate-on-scroll.visible {
     opacity: 1;
     transform: translate(0) scale(1);
 }

 /* Floating Animations */
 @keyframes float1 {

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

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

 .float-1 {
     animation: float1 3s ease-in-out infinite;
 }

 @keyframes float2 {

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

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

 .float-2 {
     animation: float2 4s ease-in-out infinite;
     animation-delay: 0.5s;
 }

 @keyframes float3 {

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

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

 .float-3 {
     animation: float3 3.5s ease-in-out infinite;
     animation-delay: 1s;
 }

 /* Accordion */
 .accordion-content {
     max-height: 0;
     overflow: hidden;
     transition: max-height 0.3s ease-out;
 }

 .accordion-button[aria-expanded="true"] svg {
     transform: rotate(180deg);
 }

 /* Chart Progress Bars Animation */
 .vertical-progress {
     height: 0;
     transition: height 1s ease-out;
 }

 .horizontal-progress {
     width: 0;
     transition: width 1s ease-out;
 }