.services-progress-bar {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 10%;
    width: 90vw;
    height: 3px;
    background: rgba(94, 94, 94, 0.15);
    border-radius: 5px;
    z-index: 500;
    display: none;
    transition: opacity 0.3s;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.12);
}

.services-progress-bar.visible {
    display: block;
    opacity: 1;
}

.services-progress-bar.hide {
    opacity: 0;
    pointer-events: none;
}

.services-progress {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--primary-color), var(--secondary-color), var(--tertiary-color));
    border-radius: 5px;
    transition: width 0.2s;
}

.services-progress-marks {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
}

.services-progress-mark {
    width: 3px;
    height: 18px;
    background: var(--grey);
    opacity: 0.5;
    border-radius: 2px;
    transition: background 0.2s, opacity 0.2s;
    margin-top: -4px;
}

.services-progress-mark.active {
    background: var(--primary-color);
    opacity: 1;
}