.scroll-icon {
    animation: floatY 1.6s ease-in-out infinite;
}

@keyframes floatY {
    0% { transform: translateY(0); }
    50% { transform: translateY(15px); }
    100% { transform: translateY(0); }
}
.theme-btn {
    position: relative;
    overflow: hidden;
}
.theme-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(120deg, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0.2) 100%);
    transform: skewX(-25deg);
    transition: left 0.5s ease;
}
.theme-btn:hover::before {
    left: 130%; /* shine sweeps across */
    transition: left 0.6s ease;
}

.practice-card:hover {
    background-color: #003555;
    transform: translateY(-8px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

.readmore-btn {
    transition: all 0.3s ease;
}

.readmore-btn span {
    display: inline-block;
    transition: transform 0.3s ease;
}
.readmore-btn:hover span {
    transform: translateX(5px);
}

/* banner content animation */
@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.banner-content .animate-item {
  opacity: 0;
  animation: none;
}

.banner-content .animate-in {
  animation: fadeUp 0.8s ease-out forwards;
}
.join-btn:hover{    background-color: #064264;color: #fff;}
.join-btn:hover svg path{fill: #fff;}
.join-btn {
    position: relative;
    overflow: hidden;
}
.join-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(120deg, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0.2) 100%);
    transform: skewX(-25deg);
    transition: left 0.5s ease;
}
.join-btn:hover::before {
    left: 130%; /* shine sweeps across */
    transition: left 0.6s ease;
}
