body{
    overflow-x: hidden;
}
/* Main Background Color */
.bg-main{
    background-color: #E6F7FF;
}
.bg-main-linear{
    background: linear-gradient(to bottom, #E6F7FF 60%, #D9ECF2 80%, #FFFFFF 100%);
}
.bg-gradient{
    background: linear-gradient(to right, #0071BD, #2E3192);
}
.nav-bg{
    background-color: #E6F7FF;
}
.text-linear{
    background: linear-gradient(to right, #0071BD, #2E3192);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.text-white-linear{
    background: linear-gradient(to right, #fff, #0071BD);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
/* OverLay */
.bg-overlay{
    background-color: #2E3192;
}
@keyframes textRotate {
    0% { content: "Listen"; }
    33% { content: "Apply"; }
    66% { content: "Solve"; }
    100% { content: "Listen"; }
}
.rotating-text::after {
    content: "analyze"; /* Default text */
    animation: textRotate 2s infinite steps(1);
}
.bg-custom-gradient {
    background: linear-gradient(0deg, rgba(229, 239, 255, 0.18), rgba(229, 239, 255, 0.18)), 
                linear-gradient(302.37deg, rgba(46, 49, 146, 0) -4.33%, rgba(46, 49, 146, 0.0828) 103.81%);
  }

  .spane {
    opacity: 1;
    transform: translateY(20px); /* Initially, the words are slightly down */
    transition: opacity 0.7s ease, transform 0.7s ease;
  }
  

/* Buttom Gradient */
.btn{
    background: linear-gradient(to right,#0071BD,#2E3192);
    color: aliceblue;
}

.bg-box{
    background-color: #EEF1F9;
}
.box{
    background-color: #B7CCEA;
    border-radius: 10px;
    z-index: 50; 
  }
.pop {
    opacity: 0;
    animation: none;
}
.pop-left {
    transform: translateX(-100px);
}
.pop-right {
    transform: translateX(100px);
} 
.pop-bottom {
    transform: translateY(100px);
}
.animate-appear {
    animation: appear 1s ease-out forwards;
}
.animate-left{
    animation: left_appear 1s ease-out forwards;
}
.animate-right{
    animation: right_appear 1s ease-out forwards;
}
@keyframes appear {
    from {
      opacity: 0;
      transform: translateY(100px);
    }
    to {
      opacity: 1;
      transform: translateY(0px);
    }
}
@keyframes left_appear {
    from {
      opacity: 0;
      transform: translateX(-100px);
    }
    to {
      opacity: 1;
      transform: translateX(0px);
    }
} 
@keyframes right_appear {
    from {
      opacity: 0;
      transform: translateX(100px);
    }
    to {
      opacity: 1;
      transform: translateX(0px);
    }
}
 
@keyframes fadeIn {
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}
.fade-in{
    animation: fadeIn 1s ease-in;
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to{
        opacity: 0;
    }
}

.fade-out{
    animation: fadeOut 1s ease-out;
    
}

/* --- UNIVERSAL OVERFLOW FIX --- */
* {
    max-width: 100% !important;
    box-sizing: border-box;
}

html, body {
    width: 100% !important;
    overflow-x: hidden !important;
}

/* Prevent absolute elements from causing right overflow */
[class*="absolute"], [class*="fixed"] {
    max-width: 100vw;
}
