 html {
     scroll-behavior: smooth;
 }

 body {
     font-family: 'Poppins', sans-serif;
     background-color: #FDFDFD;
     overflow-x: hidden;
 }

 /* Glassmorphism utilities */
 .glass {
     background: rgba(255, 255, 255, 0.85);
     backdrop-filter: blur(12px);
     -webkit-backdrop-filter: blur(12px);
     border-bottom: 1px solid rgba(255, 255, 255, 0.3);
 }

 .glass-card {
     background: rgba(255, 255, 255, 0.7);
     backdrop-filter: blur(10px);
     border: 1px solid rgba(255, 255, 255, 0.5);
 }

 /* Animations */
 .float-anim {
     animation: float 6s ease-in-out infinite;
 }

 @keyframes float {
     0% {
         transform: translateY(0px);
     }

     50% {
         transform: translateY(-20px);
     }

     100% {
         transform: translateY(0px);
     }
 }

 .pulse-soft {
     animation: pulseSoft 3s infinite;
 }

 @keyframes pulseSoft {
     0% {
         box-shadow: 0 0 0 0 rgba(0, 150, 136, 0.4);
     }

     70% {
         box-shadow: 0 0 0 15px rgba(0, 150, 136, 0);
     }

     100% {
         box-shadow: 0 0 0 0 rgba(0, 150, 136, 0);
     }
 }

 /* Scroll Reveal setup */
 .reveal {
     opacity: 0;
     transform: translateY(40px);
     transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
 }

 .reveal.active {
     opacity: 1;
     transform: translateY(0);
 }

 .reveal-left {
     transform: translateX(-50px);
 }

 .reveal-right {
     transform: translateX(50px);
 }

 .reveal-left.active,
 .reveal-right.active {
     transform: translateX(0);
 }

 /* Preloader */
 #preloader {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: #ffffff;
     z-index: 9999;
     display: flex;
     justify-content: center;
     align-items: center;
     transition: opacity 0.5s ease;
 }

 .spinner {
     width: 50px;
     height: 50px;
     border: 5px solid rgba(46, 59, 132, 0.2);
     border-top-color: #2E3B84;
     border-radius: 50%;
     animation: spin 1s linear infinite;
 }

 @keyframes spin {
     to {
         transform: rotate(360deg);
     }
 }

 /* Custom Scrollbar */
 ::-webkit-scrollbar {
     width: 8px;
 }

 ::-webkit-scrollbar-track {
     background: #f1f1f1;
 }

 ::-webkit-scrollbar-thumb {
     background: #2E3B84;
     border-radius: 4px;
 }

 ::-webkit-scrollbar-thumb:hover {
     background: #E3222B;
 }