.animated-heading .animated-text-line {
    display: block;
}

.shimmering-text {
    background: linear-gradient(45deg, 
        #ff0000, #ff7f00, #ffff00, #00ff00, 
        #0000ff, #4b0082, #9400d3, #ff69b4, 
        #ff1493, #00bfff, #00ffff, #ff0000);
    background-size: 400% 400%;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent;
    animation: shimmerRainbow 3s ease-in-out infinite;
    font-weight: bold;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
    position: relative;
}

@keyframes shimmerRainbow {
    0% {
        background-position: 0% 50%;
        filter: hue-rotate(0deg) brightness(1.2);
    }
    25% {
        background-position: 100% 50%;
        filter: hue-rotate(90deg) brightness(1.4);
    }
    50% {
        background-position: 100% 100%;
        filter: hue-rotate(180deg) brightness(1.6);
    }
    75% {
        background-position: 0% 100%;
        filter: hue-rotate(270deg) brightness(1.4);
    }
    100% {
        background-position: 0% 50%;
        filter: hue-rotate(360deg) brightness(1.2);
    }
}

.shimmering-text::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.6), transparent);
    animation: shimmerLight 2s ease-in-out infinite;
    z-index: 1;
}

@keyframes shimmerLight {
    0% {
        left: -100%;
        opacity: 0;
    }
    50% {
        left: 0%;
        opacity: 1;
    }
    100% {
        left: 100%;
        opacity: 0;
    }
}