.elementor-61 .elementor-element.elementor-element-c04c19b{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-61 .elementor-element.elementor-element-3f6e64a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:100px 100px;--row-gap:100px;--column-gap:100px;--padding-top:50px;--padding-bottom:50px;--padding-left:15px;--padding-right:15px;}.elementor-61 .elementor-element.elementor-element-47edd63{--display:flex;}.elementor-61 .elementor-element.elementor-element-af782c3{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-61 .elementor-element.elementor-element-1769338{text-align:center;}.elementor-61 .elementor-element.elementor-element-1769338 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:700;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-61 .elementor-element.elementor-element-afc2637{text-align:center;font-family:"Montserrat", Sans-serif;font-size:24px;font-weight:400;line-height:26px;color:var( --e-global-color-bd742db );}.elementor-61 .elementor-element.elementor-element-dbad583{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:400;line-height:26px;color:var( --e-global-color-primary );}.elementor-61 .elementor-element.elementor-element-449e541{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-61 .elementor-element.elementor-element-449e541:not(.elementor-motion-effects-element-type-background), .elementor-61 .elementor-element.elementor-element-449e541 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-0951bd8 );}.elementor-61 .elementor-element.elementor-element-dec306d{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;}.elementor-61 .elementor-element.elementor-element-5922b38{text-align:start;}.elementor-61 .elementor-element.elementor-element-5922b38 .elementor-heading-title{font-family:var( --e-global-typography-c51571d-font-family ), Sans-serif;font-size:var( --e-global-typography-c51571d-font-size );font-weight:var( --e-global-typography-c51571d-font-weight );text-transform:var( --e-global-typography-c51571d-text-transform );color:var( --e-global-color-bd742db );}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-61 .elementor-element.elementor-element-c43cac8 img{height:100px;object-fit:contain;object-position:center center;}.elementor-61 .elementor-element.elementor-element-dd109e9{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;}.elementor-61 .elementor-element.elementor-element-7bac1fe{width:var( --container-widget-width, 94.705% );max-width:94.705%;--container-widget-width:94.705%;--container-widget-flex-grow:0;text-align:start;}.elementor-61 .elementor-element.elementor-element-7bac1fe.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-61 .elementor-element.elementor-element-7bac1fe .elementor-heading-title{font-family:var( --e-global-typography-c51571d-font-family ), Sans-serif;font-size:var( --e-global-typography-c51571d-font-size );font-weight:var( --e-global-typography-c51571d-font-weight );text-transform:var( --e-global-typography-c51571d-text-transform );color:var( --e-global-color-bd742db );}.elementor-61 .elementor-element.elementor-element-5e75e1f img{height:100px;object-fit:contain;object-position:center center;}.elementor-61 .elementor-element.elementor-element-b56d4d3{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;}.elementor-61 .elementor-element.elementor-element-31fdf3e{text-align:start;}.elementor-61 .elementor-element.elementor-element-31fdf3e .elementor-heading-title{font-family:var( --e-global-typography-c51571d-font-family ), Sans-serif;font-size:var( --e-global-typography-c51571d-font-size );font-weight:var( --e-global-typography-c51571d-font-weight );text-transform:var( --e-global-typography-c51571d-text-transform );color:var( --e-global-color-bd742db );}.elementor-61 .elementor-element.elementor-element-4469038 img{height:100px;object-fit:contain;object-position:center center;}.elementor-61 .elementor-element.elementor-element-a23eae9{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-61 .elementor-element.elementor-element-9434ef4{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:flex-start;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-61 .elementor-element.elementor-element-9434ef4:not(.elementor-motion-effects-element-type-background), .elementor-61 .elementor-element.elementor-element-9434ef4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-bd742db );}.elementor-61 .elementor-element.elementor-element-8d0fa77{text-align:start;}.elementor-61 .elementor-element.elementor-element-8d0fa77 .elementor-heading-title{font-family:var( --e-global-typography-c51571d-font-family ), Sans-serif;font-size:var( --e-global-typography-c51571d-font-size );font-weight:var( --e-global-typography-c51571d-font-weight );text-transform:var( --e-global-typography-c51571d-text-transform );color:var( --e-global-color-0951bd8 );}.elementor-61 .elementor-element.elementor-element-b898934{text-align:start;}.elementor-61 .elementor-element.elementor-element-b898934 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:700;color:var( --e-global-color-0951bd8 );}.elementor-61 .elementor-element.elementor-element-553862c{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:400;line-height:26px;color:var( --e-global-color-0951bd8 );}.elementor-61 .elementor-element.elementor-element-6974810{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:flex-start;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-61 .elementor-element.elementor-element-6974810:not(.elementor-motion-effects-element-type-background), .elementor-61 .elementor-element.elementor-element-6974810 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-0951bd8 );}.elementor-61 .elementor-element.elementor-element-508ccf4{text-align:start;}.elementor-61 .elementor-element.elementor-element-508ccf4 .elementor-heading-title{font-family:var( --e-global-typography-c51571d-font-family ), Sans-serif;font-size:var( --e-global-typography-c51571d-font-size );font-weight:var( --e-global-typography-c51571d-font-weight );text-transform:var( --e-global-typography-c51571d-text-transform );color:var( --e-global-color-bd742db );}.elementor-61 .elementor-element.elementor-element-72a1daf{text-align:start;}.elementor-61 .elementor-element.elementor-element-72a1daf .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:700;color:var( --e-global-color-primary );}.elementor-61 .elementor-element.elementor-element-41033db{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:400;line-height:26px;color:var( --e-global-color-primary );}.elementor-61 .elementor-element.elementor-element-7d383b5{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-61 .elementor-element.elementor-element-7d383b5:not(.elementor-motion-effects-element-type-background), .elementor-61 .elementor-element.elementor-element-7d383b5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-0951bd8 );}.elementor-61 .elementor-element.elementor-element-2c2597d{--display:flex;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-61 .elementor-element.elementor-element-4b4d4e0{text-align:start;}.elementor-61 .elementor-element.elementor-element-4b4d4e0 .elementor-heading-title{font-family:var( --e-global-typography-c51571d-font-family ), Sans-serif;font-size:var( --e-global-typography-c51571d-font-size );font-weight:var( --e-global-typography-c51571d-font-weight );text-transform:var( --e-global-typography-c51571d-text-transform );color:var( --e-global-color-bd742db );}.elementor-61 .elementor-element.elementor-element-818f5ae{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-61 .elementor-element.elementor-element-2326250{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-61 .elementor-element.elementor-element-4a28b89{text-align:center;}.elementor-61 .elementor-element.elementor-element-4a28b89 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:700;}.elementor-61 .elementor-element.elementor-element-68b7549{text-align:center;font-family:"Montserrat", Sans-serif;font-size:24px;font-weight:400;line-height:26px;color:var( --e-global-color-bd742db );}.elementor-61 .elementor-element.elementor-element-efe6e65{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:50px 50px;--row-gap:50px;--column-gap:50px;--padding-top:0px;--padding-bottom:50px;--padding-left:15px;--padding-right:15px;}.elementor-61 .elementor-element.elementor-element-efe6e65.e-con{--flex-grow:0;--flex-shrink:0;}body.elementor-page-61:not(.elementor-motion-effects-element-type-background), body.elementor-page-61 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-40bad41 );}:root{--page-title-display:none;}@media(min-width:768px){.elementor-61 .elementor-element.elementor-element-449e541{--width:100%;}.elementor-61 .elementor-element.elementor-element-a23eae9{--width:100%;}.elementor-61 .elementor-element.elementor-element-2c2597d{--width:70%;}.elementor-61 .elementor-element.elementor-element-818f5ae{--width:70%;}.elementor-61 .elementor-element.elementor-element-efe6e65{--width:100%;}}@media(max-width:1024px){.elementor-61 .elementor-element.elementor-element-449e541{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-61 .elementor-element.elementor-element-5922b38 .elementor-heading-title{font-size:var( --e-global-typography-c51571d-font-size );}.elementor-61 .elementor-element.elementor-element-7bac1fe .elementor-heading-title{font-size:var( --e-global-typography-c51571d-font-size );}.elementor-61 .elementor-element.elementor-element-31fdf3e .elementor-heading-title{font-size:var( --e-global-typography-c51571d-font-size );}.elementor-61 .elementor-element.elementor-element-a23eae9{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-61 .elementor-element.elementor-element-8d0fa77 .elementor-heading-title{font-size:var( --e-global-typography-c51571d-font-size );}.elementor-61 .elementor-element.elementor-element-508ccf4 .elementor-heading-title{font-size:var( --e-global-typography-c51571d-font-size );}.elementor-61 .elementor-element.elementor-element-4b4d4e0 .elementor-heading-title{font-size:var( --e-global-typography-c51571d-font-size );}}@media(max-width:767px){.elementor-61 .elementor-element.elementor-element-5922b38 .elementor-heading-title{font-size:var( --e-global-typography-c51571d-font-size );}.elementor-61 .elementor-element.elementor-element-7bac1fe .elementor-heading-title{font-size:var( --e-global-typography-c51571d-font-size );}.elementor-61 .elementor-element.elementor-element-31fdf3e .elementor-heading-title{font-size:var( --e-global-typography-c51571d-font-size );}.elementor-61 .elementor-element.elementor-element-8d0fa77 .elementor-heading-title{font-size:var( --e-global-typography-c51571d-font-size );}.elementor-61 .elementor-element.elementor-element-508ccf4 .elementor-heading-title{font-size:var( --e-global-typography-c51571d-font-size );}.elementor-61 .elementor-element.elementor-element-4b4d4e0 .elementor-heading-title{font-size:var( --e-global-typography-c51571d-font-size );}}/* Start custom CSS for container, class: .elementor-element-efe6e65 */:root {
            --color-black: #000000;
            --color-teal: #29ABBA;
            --color-white: #ffffff;
            --spine-width: 4px; /* Un peu plus fin pour l'élégance */
            --node-size: 80px; /* Ajusté pour l'équilibre */
        }

        body {
            font-family: 'Montserrat', sans-serif;
            background-color: #f4f4f4;
            margin: 0;
            padding: 50px 20px;
            color: var(--color-black);
        }

        /* Conteneur principal de la timeline */
        .timeline-container {
            position: relative;
            max-width: 1000px;
            margin: 0 auto;
            padding: 20px 0;
        }

        /* Création de la ligne noire centrale */
        .timeline-container::before {
            content: '';
            position: absolute;
            top: 0;
            bottom: 0;
            left: 50%;
            width: var(--spine-width);
            background-color: var(--color-black);
            transform: translateX(-50%);
            z-index: 1;
        }

        /* Un élément de la timeline (Année + Contenu) */
        .timeline-item {
            position: relative;
            display: flex;
            align-items: center;
            margin-bottom: 60px; /* Espacement vertical entre les événements */
            z-index: 2;
        }

        /* Le rond bleu avec l'année */
        .timeline-node {
            width: var(--node-size);
            height: var(--node-size);
            background-color: var(--color-teal);
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            color: var(--color-white);
            font-weight: 800;
            font-size: 1.2rem; /* Légèrement réduit pour bien tenir */
            /* Pour centrer parfaitement le rond sur la ligne */
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            z-index: 3;
            box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Petit ombrage pour le relief */
            border: 4px solid #f4f4f4; /* Petit bord blanc pour détacher de la ligne */
        }

        /* Le petit connecteur horizontal bleu */
        .timeline-connector {
            height: var(--spine-width);
            width: 60px; /* Longueur du connecteur */
            background-color: var(--color-teal);
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            z-index: 2;
        }

        /* La boîte de contenu texte */
        .timeline-content {
            width: 42%; /* Largeur du bloc de texte */
            padding: 20px;
            background: white; /* Fond blanc pour lisibilité */
            border-radius: 8px;
            box-shadow: 0 2px 15px rgba(0,0,0,0.05);
            box-sizing: border-box;
        }

        .timeline-content h3 {
            margin-top: 0;
            margin-bottom: 10px;
            font-weight: 700;
            font-size: 1.1rem;
            text-transform: uppercase;
            color: #29abba;
        }

        .timeline-content p {
            margin: 0;
            line-height: 1.6;
            font-size: 0.95rem;
            color: #333;
        }

        /* --- GESTION DE L'ALTERNANCE GAUCHE / DROITE --- */

        /* Éléments IMPAIRS (1er, 3ème...) -> Contenu à DROITE visuellement */
        /* Note: Dans votre CSS original, "odd" avait justify-content flex-end, ce qui pousse à droite */
        .timeline-item:nth-child(odd) {
            justify-content: flex-end;
        }

        .timeline-item:nth-child(odd) .timeline-content {
            text-align: left;
            /* On pousse le contenu pour qu'il ne touche pas le rond */
            margin-left: calc(var(--node-size) / 2 + 40px); 
        }

        /* Position du connecteur pour la droite */
        .timeline-item:nth-child(odd) .timeline-connector {
            left: 50%;
        }


        /* Éléments PAIRS (2ème, 4ème...) -> Contenu à GAUCHE visuellement */
        .timeline-item:nth-child(even) {
            justify-content: flex-start;
        }
        
        .timeline-item:nth-child(even) .timeline-content {
            text-align: right;
            /* On pousse le contenu pour qu'il ne touche pas le rond */
            margin-right: calc(var(--node-size) / 2 + 40px);
        }

        /* Position du connecteur pour la gauche */
        .timeline-item:nth-child(even) .timeline-connector {
            right: 50%;
        }

        /* Ajustements responsifs pour petits écrans */
        @media (max-width: 768px) {
            .timeline-container::before {
                left: 40px; /* La ligne se déplace à gauche */
            }
            .timeline-node {
                left: 40px;
                width: 60px;
                height: 60px;
                font-size: 0.9rem;
                transform: translateX(-50%);
            }
            .timeline-item {
                justify-content: flex-start !important; /* Tout s'aligne à gauche */
                margin-bottom: 40px;
            }
            .timeline-item:nth-child(odd) .timeline-content,
            .timeline-item:nth-child(even) .timeline-content {
                width: calc(100% - 90px); /* Prend toute la largeur restante */
                text-align: left;
                margin-left: 90px; /* Marge à gauche pour laisser place au rond */
                margin-right: 0;
            }
             .timeline-connector {
                 display: none; /* On cache les connecteurs sur mobile pour simplifier */
             }
        }/* End custom CSS */