/* Container Fix */
.pro-road-container { 
    position: relative; 
    width: 100%; 
    padding: 100px 0; 
    overflow: visible; 
}

/* Bring Line to the back */
.road-svg-wrapper {
    position: absolute;
    width: 100%;
    top: 100px;
    left: 0;
    pointer-events: none;
    z-index: 1; /* Line is below the points */
}

.road-path { 
    stroke-width: 60; 
    stroke-linecap: round; 
    stroke-linejoin: round;
}

/* Points & Cards */
.road-nodes-wrapper {
    position: relative;
    top: 100px;
    width: 100%;
    z-index: 10; /* Everything else is on top */
}

.road-node { 
    position: absolute; 
    display: flex; 
    align-items: center; 
    width: 48%; 
    transform: translateY(-50%);
}

.node-left { left: 0; flex-direction: row-reverse; }
.node-right { right: 0; flex-direction: row; }

/* Point Style - Making it truly sit on the line */
.date-bubble { 
    display: flex; align-items: center; justify-content: center; text-align: center;
    background: #532482; border: 4px solid #fff; border-radius: 50%; color: #fff; 
    width: 80px; height: 80px; flex-shrink: 0; 
    box-shadow: 0 5px 20px rgba(0,0,0,0.2); 
    z-index: 50; /* Higher than news-card */
}

.news-card { 
    background: #fff; border-radius: 15px; margin: 0 30px; 
    box-shadow: 0 15px 45px rgba(0,0,0,0.06); width: 100%; padding: 20px; 
    z-index: 5;
}

/* Responsive Overlap Fix */
@media (max-width: 767px) {
    .pro-road-container { padding-left: 60px; padding-top: 50px; height: auto !important; }
    .road-svg-wrapper { left: 25px; width: 10px; height: 100% !important; top: 50px; }
    .road-svg { transform: none; }
    .road-nodes-wrapper { top: 50px; height: auto !important; }
    .road-node { 
        position: relative !important; 
        width: 100% !important; 
        top: 0 !important; left: 0 !important; 
        flex-direction: row !important; 
        margin-bottom: 60px; 
        transform: none !important; 
    }
    .date-bubble { width: 65px !important; height: 65px !important; margin-right: 15px; }
    .news-card { width: calc(100% - 90px); margin: 0 !important; }
}