.research-stages-section {
    padding: 60px 0;
}

.section-title-stages { /* Отдельный класс для заголовка */
    font-size: 2.2em;
    font-weight: bold;
    color: #000;
    margin-top: 0;
    margin-bottom: 50px;
    text-align: center;
}

.timeline {
    position: relative;
    margin: 0 auto;
    padding: 20px 0;
}

/* Вертикальная линия таймлайна */
.timeline::after {
    content: '';
    position: absolute;
    width: 3px; /* Толщина линии */
    background-color: #e0e0e0; /* Цвет линии */
    top: 0;
    bottom: 0;
    left: 50%;
    margin-left: -1.5px; /* Половина ширины линии для центрирования */
    z-index: 1;
}

.timeline-item {
    padding: 10px 40px; /* Отступы для контента от линии и маркера */
    position: relative;
    background-color: inherit;
    width: 50%;
    box-sizing: border-box;
    z-index: 2; /* Чтобы контент был над линией */
    margin-bottom: 30px; /* Отступ между элементами таймлайна */
}
.timeline-item:last-child {
    margin-bottom: 0;
}


/* Расположение элементов слева от линии */
.timeline-item.left {
    left: 0;
    text-align: right; /* Текст выравнивается вправо к линии */
}

/* Расположение элементов справа от линии */
.timeline-item.right {
    left: 50%;
    text-align: left; /* Текст выравнивается влево от линии */
}

/* Маркеры (кружки с номерами) */
.timeline-marker {
    position: absolute;
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 1.1em;
    font-weight: bold;
    text-align: center;
    color: #fff;
    background-color: #343a40; /* Темно-серый фон маркера */
    border: 3px solid #f8f9fa; /* Обводка в цвет фона страницы для эффекта "над линией" */
    border-radius: 50%;
    top: 50%; /* Центрируем по вертикали относительно контента */
    transform: translateY(-50%);
    z-index: 3; /* Маркер над линией и контентом */
}

.timeline-item.left .timeline-marker {
    right: -20px; /* Половина ширины маркера, чтобы он был на линии */
}

.timeline-item.right .timeline-marker {
    left: -20px; /* Половина ширины маркера */
}

.timeline-content {
    padding: 15px; /* Внутренние отступы для текстового блока */
    /* background-color: #fff; */ /* Если нужен фон для текстового блока */
    /* border-radius: 6px; */
    /* box-shadow: 0 2px 5px rgba(0,0,0,0.05); */
    position: relative;
}

.timeline-content h3 {
    margin-top: 0;
    font-size: 1.4em;
    font-weight: bold;
    color: #333;
    margin-bottom: 8px;
}

.timeline-content p {
    margin: 0;
    font-size: 0.95em;
    color: #555;
    line-height: 1.5;
}

.stages-cta-button-wrapper {
    margin-top: 50px;
    text-align: center;
}

.cta-button-stages {
    display: inline-block;
    background-color: #4285f4; /* Синий цвет кнопки, как на скриншоте */
    color: #fff;
    padding: 12px 30px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 500;
    font-size: 1em;
    transition: background-color 0.3s ease, transform 0.2s ease;
    box-shadow: 0 2px 8px rgba(66, 133, 244, 0.4);
}
.cta-button-stages:hover {
    background-color: #357ae8; /* Темнее при наведении */
    color: #fff;
    transform: translateY(-2px);
}

/* Адаптивность для таймлайна */
@media screen and (max-width: 768px) {
    .section-title-stages {
        font-size: 1.8em;
    }
    .timeline::after {
        left: 20px; /* Смещаем линию влево */
        margin-left: 0;
    }

    .timeline-item {
        width: 100%;
        padding-left: 60px; /* Отступ слева для контента (20px отступ линии + 40px ширина маркера) */
        padding-right: 15px;
        text-align: left !important; /* Весь текст слева */
    }

    .timeline-item.left,
    .timeline-item.right {
        left: 0; /* Все элементы начинаются слева */
    }

    .timeline-marker {
        /* top: 15px; Положение маркера теперь относительно начала блока */
        /* transform: translateY(0); */
        /* Вместо центрирования по высоте, просто ставим сверху */
    }

    .timeline-item .timeline-marker {
        left: 0px; /* Маркер теперь слева от контента, на линии */
    }

    .timeline-content h3 {
        font-size: 1.3em;
    }
    .timeline-content p {
        font-size: 0.9em;
    }
}