.step-progress-shell {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.step-progress-shell::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: url('../images/Milestone%20logo.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: min(17rem, 65vw) auto;
    content: '';
    opacity: 0.05;
    pointer-events: none;
}


.step-progress-shell > * {
    position: relative;
    z-index: 1;
}

.pulse-animation {
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(62, 186, 188, 0.7);
    }

    70% {
        box-shadow: 0 0 0 15px rgba(62, 186, 188, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(62, 186, 188, 0);
    }
}

.progress-bar {
    transition: width 0.8s ease-in-out;
}

.step-progress-number {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
}

.step-progress-name {
    font-size: 0.95rem;
    font-weight: 650;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: uppercase;
}

.step-progress-name.is-active {
    font-weight: 800;
}
