*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.container {
    text-align: center;
}

.text {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.25);
    letter-spacing: 0.3em;
    text-transform: uppercase;
    animation: pulseGlow 2.5s ease-in-out infinite;
}

.dots {
    display: inline-block;
    width: 24px;
    text-align: left;
}

.dots span {
    animation: fadeDots 1.4s infinite both;
}

.dots span:nth-child(2) {
    animation-delay: 0.2s;
}

.dots span:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes fadeDots {
    0%, 20% { opacity: 0; }
    50% { opacity: 1; }
    80%, 100% { opacity: 0; }
}

@keyframes pulseGlow {
    0%, 100% { opacity: 0.15; }
    50% { opacity: 0.35; }
}
