                        @keyframes bounce {
                            0%,
                            100% {
                                transform: translateY(0);
                            }
                            50% {
                                transform: translateY(-10px);
                            }
                        }
                        .parcours .icon-location {
                            position: absolute;
                            left: 8px;
                            top: 15px;
                            z-index: 20;
                        }
                        .parcours .step-number {
                            color: #fff;
                            font-size: 30px;
                        }
                        .step-item {
                            display: flex;
                            align-items: center;
                            gap: 20px;
                            width: 315px;
                            height: 100px;
                        }
                        .marker img,
                        .card-header img {
                            position: relative;
                            top: 7px;
                            width: 40px;
                            filter: brightness(0) invert(1);
                            transition: transform 0.3s ease;
                            z-index: 20;
                        }
                        .marker:hover img {
                            transform: scale(1.1);
                        }
                        .map-marker-line {
                            position: absolute;
                            background-color: white;
                            width: 8px;
                            height: 75px;
                            left: 40px;
                            top: calc(80px * 1.3);
                        }
                        .map-marker-line-04 {
                            left: 40px;
                            top: calc(-4px * 1.3);
                            height: 50px;
                        }
                        .map-marker-line-02 {
                            top: calc(4px * 1.3);
                            left: 56px;
                            height: 30px;
                            rotate: 90deg;
                        }
                        .step-text-02 {
                            width: 150px;
                        }
                        .step-text-02:before {
                            top: 9px;
                            left: 158px;
                        }
                        .step-text-02:after {
                            top: 59px;
                            left: 161px;
                        }
                        .step-number {
                            font-size: 20px;
                            font-weight: bold;
                            margin-bottom: 5px;
                        }
                        .step-title {
                            font-size: 24px;
                            font-weight: bold;
                            line-height: 1.1;
                            max-width: 240px;
                            color: #000;
                        }
                        .step-title a {
                            text-decoration: none;
                            color: #000;
                        }
                        .step {
                            border-bottom: 1px solid #2dc4e9;
                            cursor: pointer;
                            padding: 15px;
                        }
                        .step,
                        .step a {
                            color: white;
                        }
                        .step-content {
                            flex: 1;
                            padding: 40px 50px;
                            position: relative;
                        }
                        .step:hover {
                            color: #fff;
                            background-color: #2f2f2f;
                        }
                        .step:hover.step-number,
                        .step:hover .menu-123 {
                            color: black;
                        }
                        .step:hover .menu-123 span {
                            color: #fff;
                        }
                        .step:has(.menu-123.active),
                        .menu-123.active span,
                        .step:hover .menu-123.active span {
                            background-color: #fff;
                            color: #000;
                        }
                        .bg-123 {
                            background-color: #36c5e5;
                        }
                        .border-left-1 {
                            border-left: 35px solid #fff;
                        }
                        .border-right-1 {
                            border-right: 35px solid #fff;
                        }
                        .border-bottom-1 {
                            border-bottom: 35px solid #fff;
                        }
                        .border-top-1 {
                            border-top: 35px solid #fff;
                        }
                        .section-123 {
                            display: flex;
                            max-width: 1200px;
                            margin: 0 auto;
                            background: white;
                        }
                        .sidebar {
                            background: #000;
                            width: 350px;
                        }
                        .menu {
                            list-style: none;
                            padding: 0;
                            margin: 0;
                        }
                        .menu-123 {
                            display: flex;
                            flex-direction: column;
                            justify-content: center;
                            text-decoration: none;
                        }
                        .menu-123 span {
                            font-weight: 600;
                            font-size: 18px;
                            line-height: 1.2;
                        }
                        .content-area {
                            flex: 1;
                            padding: 40px;
                        }
                        .content-area h2 {
                            font-size: 2em;
                            margin-bottom: 20px;
                            color: #000;
                            font-weight: 600;
                        }
                        .content-area p,
                        .card-text p {
                            font-size: 1.1em;
                            line-height: 1.6;
                            margin: 10px 0;
                            border-bottom: 1px solid #ccc;
                            padding-bottom: 8px;
                        }
                        .empty-message {
                            color: red;
                            background: #fcebea;
                            padding: 20px;
                            border: 1px solid #f5c6cb;
                            border-radius: 5px;
                            font-weight: bold;
                        }
                        .icon {
                            display: inline-flex;
                            align-items: center;
                            justify-content: center;
                            width: 24px;
                            height: 24px;
                            margin-right: 8px;
                        }
                        .badge-circle {
                            position: absolute;
                            top: 40px;
                            right: 40px;
                            width: 120px;
                            height: 120px;
                            background-color: #2ec3e0;
                            color: white;
                            font-weight: bold;
                            font-size: 18px;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            border-radius: 50%;
                            text-align: center;
                            line-height: 1.2rem;
                        }
                        .parcours-mobile .step-number {
                            font-size: 26px;
                        }
                        .card-header {
                            border-top-left-radius: 45px !important;
                            border-top-right-radius: 45px !important;
                        }
                        .card-text {
                            border-bottom-left-radius: 45px;
                            border-bottom-right-radius: 45px;
                        }
                        .map-marker-line-mobile-03 {
                            width: 34.6px;
                            height: 70px;
                            left: 48px;
                            top: calc(52px * 1.3);
                        }
                        .section-anchor {
                            scroll-margin-top: 200px;
                        }
                        .parcours-mobile .section-anchor {
                            scroll-margin-top: 450px;
                        }
                        @media only screen and (max-width: 1199px) {
                            .menu-123 span {
                                font-size: 19px;
                                line-height: 1;
                            }
                            .step {
                                height: 80px;
                            }
                        }
                        /********** MENU VERTICALE & Parcours - Version Mobile **********/
                        .vertical-menu .item {
                            display: flex;
                            align-items: center;
                            padding: 18px 25px;
                            text-decoration: none;
                            font-weight: 700;
                            background-color: #000000;
                            color: #FFFFFF;
                            border-bottom: 1px solid #36c5e5;
                            cursor: pointer;
                            transition: background-color 0.2s ease, opacity 0.2s ease;
                            /* Effet de transition doux */
                        }
                        .vertical-menu .number {
                            font-weight: 600;
                            font-size: 1.3rem;
                            margin-right: 20px;
                            min-width: 2em;
                            /* Assure un alignement correct des textes suivants */
                            text-align: left;
                        }
                        .vertical-menu .text {
                            flex-grow: 1;
                            line-height: 1.3;
                            font-size: 1.1rem;
                        }
                        .fa-solid {
                            font-size: 1.4em;
                            /* Taille de l'icône (ajuster si besoin) */
                        }
                        .vertical-menu .icon {
                            margin-left: 20px;
                            font-size: 1.2em;
                            min-width: 2em;
                            /* Assure que l'icône a de la place */
                            text-align: right;
                        }
                        /* --- Effet au survol --- */
                        .vertical-menu .item:hover {
                            background-color: #2f2f2f;
                            color: #fff;
                        }
                        .parcours-mobile .step-number {
                            position: absolute;
                            left: 21px;
                            top: 17px;
                            z-index: 10;
                        }
                        .line-left:before {
                            content: '';
                            display: block;
                            position: absolute;
                            bottom: -20%;
                            right: 88%;
                            height: 35px;
                            background-color: #fff;
                            width: 100vw;
                        }
                        .icon-location {
                            position: relative;
                            left: 22px;
                            top: 49px;
                            z-index: 30;
                        }
                        .fa-solid {
                            color: #36c5e5;
                        }
                        .step-icon img {
                            width: 40px;
                            height: auto;
                        }
                        .fa-location-pin {
                            color: #000000;
                            font-size: 6rem;
                        }
                        @media only screen and (min-width: 3280px) {
                            .border-2XL-end-parcours {
                                border-bottom: 35px solid #fff;
                                margin-left: 30px;
                            }
                        }
