
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html, body {
            overflow-x: hidden; /* Empêche le défilement horizontal */
        }
        body {
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
            line-height: 1.6;
            color: #333;
        }

        /* Header */
        .header {
            background: white;
            padding: 1rem 0;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            position: fixed;
            width: 100%;
            top: 0;
            z-index: 1000;
        }

        .nav-container {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0 2rem;
        }

        .logo {
            height: 90px; /* Hauteur du logo dans la barre de navigation */
            display: block;
            margin-left: -2rem; /* Compense le padding du conteneur pour un alignement parfait */
            /* margin-left: -2rem; */ /* Supprimé pour aligner avec le padding du nav-container */
        }

        .logo img {
            height: 100%;
            width: auto;
            object-fit: contain;
        }

        .nav-menu {
            display: flex;
            list-style: none;
            gap: 2rem;
        }

        .nav-menu a {
            text-decoration: none;
            color: #666;
            font-weight: 500;
            transition: color 0.3s;
        }

        .nav-menu a:hover {
            color: #f39c12;
        }

        .nav-toggle {
            display: none; /* Hidden by default on desktop */
            cursor: pointer;
            color: #333;
        }

        .nav-toggle i {
            width: 28px;
            height: 28px;
        }

        /* Styles for the close button inside the mobile menu */
        .nav-menu .nav-close { display: none; }

        /* Hero Section */
        .hero {
            background: linear-gradient(135deg, #fff9e6 0%, #f8f9fa 100%);
            padding: 120px 0 120px; /* Augmentation du padding-bottom pour le badge de confiance */
            overflow: hidden;
            position: relative; 
            /* Courbe douce en haut */
            clip-path: ellipse(70% 100% at 50% 0%);
        }

        .hero-container {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
        }

        .hero-content {
            max-width: 550px; /* Limite la largeur du texte pour un meilleur équilibre */
            justify-self: center; /* Centre le bloc de contenu dans sa colonne de grille */
            /* margin-left: -2rem; */ /* Aligne le contenu avec le logo */
        }

        .hero-content h1 {
            font-size: 2.8rem; /* Taille légèrement réduite pour un meilleur équilibre */
            margin-bottom: 0.5rem; /* Réduction de la marge pour rapprocher le paragraphe */
            color: #2c3e50;
        }

        .hero-content h1 .highlight {
            color: #f39c12;
        }

        .hero-content h1 .dark-blue {
            color: #1e3a8a;
        }

        .hero-content p {
            font-size: 1.1rem;
            color: #666;
            margin-bottom: 1.5rem; /* Réduction de la marge pour rapprocher le CTA */
            line-height: 1.8;
        }

        .cta-buttons {
            display: flex;
            gap: 0.5rem;
            margin-bottom: 4rem;
            align-items: flex-start; /* Aligné à gauche par défaut (desktop) */
        }

        .btn-primary {
            background: #3b82f6;
            color: white;
    padding: 16px 36px; /* Padding augmenté pour un bouton plus grand */
            border: none;
    border-radius: 10px; /* Bords légèrement plus arrondis */
            text-decoration: none;
    font-weight: 700; /* Police plus grasse */
    font-size: 1.1rem; /* Taille de police augmentée */
    transition: all 0.3s ease;
            cursor: pointer;
            margin-right: 0;
    /* Ombre subtile pour un effet "chic" */
    box-shadow: 0 4px 20px rgba(59, 130, 246, 0.35);
    /* Pour l'icône */
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
        }

        .btn-primary:hover {
            background: #2563eb;
    transform: translateY(-3px); /* Effet de surélévation plus prononcé */
    /* Ombre plus forte au survol */
    box-shadow: 0 7px 25px rgba(59, 130, 246, 0.45);
        }

.btn-primary .btn-icon {
    /* Ajustement pour un alignement vertical parfait */
    width: 1.2em;
    height: 1.2em;
    position: relative;
    top: -1px;
    transition: transform 0.3s ease;
}

.btn-primary:hover .btn-icon {
    transform: translateX(5px);
}

        .btn-secondary {
            background: transparent;
            color: #3b82f6;
            padding: 12px 24px;
            border: 2px solid #3b82f6;
            border-radius: 8px;
            text-decoration: none;
            font-weight: 600;
            transition: all 0.3s;
        }

        .btn-secondary:hover {
            background: #3b82f6;
            color: white;
        }

        .hero-image {
            position: relative;
        }
        .hero-real-image {
            width: 100%;
            height: 300px;
            object-fit: cover;
            border-radius: 12px;
            border: 2px solid #e5e7eb;
        }
        .hero-bubbles {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: 2;
        }
        .hero-bubble {
            position: absolute;
            background: rgba(255, 255, 255, 0.9); /* Fond blanc presque opaque */
            color: #1e3a8a; /* Texte en bleu foncé pour un bon contraste */
            font-size: 1.08rem;
            border-radius: 22px;
            padding: 16px 32px;
            box-shadow: 0 4px 18px rgba(30,58,138,0.07), 0 1.5px 0 #e0f2fe;
            font-weight: 500;
            min-width: 180px;
            max-width: 320px;
            text-align: center;
            pointer-events: none;
            opacity: 0.60; /* Rendre la bulle complètement visible */
            border: none;
        }
        .hero-bubble:nth-child(1) {
            top: 18px;
            left: 0;
            transform: translateX(-10%);
        }
        .hero-bubble:nth-child(2) {
            top: 38px;
            right: 0;
            transform: translateX(10%);
        }
        .hero-bubble:nth-child(3) {
            bottom: 18px;
            left: 0;
            transform: translateX(-5%);
        }
        @media (max-width: 900px) {
            .hero-bubble {
                font-size: 0.95rem;
                padding: 10px 16px;
                min-width: 120px;
                max-width: 200px;
            }
            .hero-bubble:nth-child(1) { top: 6px; }
            .hero-bubble:nth-child(2) { top: 36px; }
            .hero-bubble:nth-child(3) { bottom: 6px; }
            .hero-bubble:nth-child(1), .hero-bubble:nth-child(3) {
                transform: translateX(0);
                left: 10px;
            }
        }
        @media (max-width: 600px) {
            .hero-bubble {
                font-size: 0.85rem;
                padding: 7px 10px;
                min-width: 80px;
                max-width: 120px;
            }
        }

        /* Section Title */
        .section-title {
            text-align: center;
            padding: 80px 0 60px;
            background: white;
        }

        .section-title h2 {
            font-size: 2.5rem;
            color: #2c3e50;
        }

        .section-title h2 .highlight {
            color: #f39c12;
        }

        .section-title p {
            font-size: 1.1rem;
            color: #666;
            max-width: 600px;
            margin: 1rem auto 0;
            line-height: 1.8;
        }

        /* Images Grid */
        .images-grid {
            background: white;
            padding: 0 0 80px;
        }
        .collage {
            position: relative;
            height: 500px; /* Augmenter la hauteur pour le nouvel agencement */
            margin: 0 auto;
            max-width: 600px; /* Ajuster la largeur maximale */
        }
        .collage-photo {
            width: 280px; /* Augmenter la largeur des photos */
            height: 200px; /* Ajuster la hauteur */
            background: #e5e7eb;
            border: 2px solid #f39c12;
            border-radius: 16px;
            box-shadow: 0 4px 16px rgba(0,0,0,0.07);
            position: absolute; /* Utiliser le positionnement absolu */
            transition: transform 0.4s ease, box-shadow 0.4s ease;
            overflow: hidden; /* Assure que l'image respecte les bords arrondis */
        }
        .collage-photo:hover {
            transform: scale(1.05) !important; /* Appliquer un zoom au survol */
            box-shadow: 0 8px 25px rgba(0,0,0,0.15);
            z-index: 10 !important; /* Mettre l'image survolée au premier plan */
        }
        .collage-photo img {
            width: 100%;
            height: 100%;
            object-fit: cover; /* S'assure que l'image remplit le conteneur */
        }
        /* Nouvelle disposition des photos */
        .collage-photo:nth-child(1) { top: 20px; left: 0; transform: rotate(-5deg); z-index: 2; } /* En arrière-plan */
        .collage-photo:nth-child(2) { top: 160px; left: 40px; transform: rotate(3deg); z-index: 4; } /* Au premier plan, remontée */
        .collage-photo:nth-child(3) { top: 100px; right: 0; transform: rotate(8deg); z-index: 1; } /* En arrière-plan */
        .collage-photo:nth-child(4) { top: 270px; right: 30px; transform: rotate(-3deg); z-index: 3; } /* Au premier plan */

        @media (max-width: 600px) {
            .collage { height: 400px; }
            .collage-photo { width: 200px; height: 140px; }
            .collage-photo:nth-child(1) { top: 10px; left: 0; }
            .collage-photo:nth-child(2) { top: 120px; left: 20px; }
            .collage-photo:nth-child(3) { top: 80px; right: 0; }
            .collage-photo:nth-child(4) { top: 200px; right: 10px; }
        }

        /* Programs Section */
        .programs {
            background: #f8f9fa;
            padding: 80px 0;
        }

        .programs-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
        }

        .programs h2 {
            text-align: center;
            font-size: 2rem;
            color: #f39c12;
            margin-bottom: 1rem;
        }

        .programs p {
            text-align: center;
            color: #666;
            margin-bottom: 3rem;
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
        }

        .programs-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 2rem;
            margin-bottom: 4rem;
        }

        .program-card {
            background: white;
            border-radius: 12px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            transition: transform 0.3s;
            display: flex; /* Rendre la carte elle-même un conteneur flex */
            flex-direction: column; /* Empiler l'image et le contenu verticalement */
        }
        
        .program-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 8px 25px rgba(0,0,0,0.12);
        }

        .program-card-image {
            height: 150px;
            overflow: hidden; /* S'assure que l'image ne dépasse pas */
            border-top-left-radius: 12px;
            border-top-right-radius: 12px;
        }

        .program-card-image img {
            width: 100%;
            height: 100%;
            object-fit: cover; /* Fait en sorte que l'image couvre la zone sans se déformer */
            transition: transform 0.4s ease;
        }

        /* Ajustement spécifique pour l'image 4 (Applied Data Science) */
        .programs-grid .program-card:nth-child(4) .program-card-image img {
            object-position: top;
        }

        /* Ajustement spécifique pour l'image 6 (Agile Project Management) */
        .programs-grid .program-card:nth-child(6) .program-card-image img {
            object-position: top;
        }

        .program-card-content {
            padding: 1.5rem;
            display: flex;
            flex-direction: column;
            text-align: center; /* Centrer tout le texte par défaut */
        }

        .program-card-title {
            font-size: 1.1rem;
            margin-bottom: 0.5rem;
            color: #2c3e50;
        }

        .program-card-description {
            font-size: 0.9rem;
            color: #666;
            margin-bottom: 1.5rem; /* Augmenter l'espace avant la ligne */
            flex-grow: 1; /* Permet aux cartes d'avoir la même hauteur */
        }

        .program-card-topics {
            font-size: 0.85rem;
            color: #1e3a8a; /* Couleur bleue pour les thématiques */
            font-weight: 600;
            margin-bottom: 1.5rem;
            line-height: 1.5;
            position: relative;
            padding-top: 1.5rem; /* Espace au-dessus des thèmes */
        }

        /* Ligne de séparation stylisée */
        .program-card-topics::before {
            content: '';
            position: absolute;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 40px;
            height: 2px;
            background-color: #e5e7eb; /* Couleur gris clair */
        }

        /* Styles pour le conteneur des boutons dans les cartes de programme */
        .card-buttons-container {
            display: flex;
            margin-top: auto; /* Pousse le bouton vers le bas */
        }

        .btn-card-detail {
            background-color: transparent;
            color: #1e3a8a;
            border: 2px solid #1e3a8a;
            padding: 8px 16px;
            border-radius: 6px;
            text-decoration: none;
            font-weight: 600;
            transition: all 0.3s;
            width: 100%;
            text-align: center;
        }

        .btn-card-detail:hover {
            background-color: #1e3a8a;
            color: white;
        }


        /* Leaders Section */
        .leaders {
            background: linear-gradient(135deg, #f39c12 0%, #1e3a8a 100%);
            color: white;
            padding: 60px 0;
            text-align: center;
        }

        .leaders h2 {
            font-size: 2rem;
            margin-bottom: 2rem;
        }

        .leaders-stats {
            display: flex;
            justify-content: center;
            gap: 4rem;
            margin-top: 2rem;
        }

        .stat {
            text-align: center;
        }

        .stat-number {
            font-size: 3rem;
            font-weight: bold;
            display: block;
        }

        .stat-label {
            font-size: 1rem;
            opacity: 0.9;
        }

        /* Points Forts Section */
        .points-forts {
            background: white;
            padding: 80px 0;
        }

        .points-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
        }

        .points-forts h2 {
            text-align: center;
            font-size: 2rem;
            color: #2c3e50;
            margin-bottom: 3rem;
        }

        .points-forts h2 .highlight {
            color: #f39c12;
        }

        .points-grid {
            display: grid;
            gap: 3rem;
        }

        .point-item {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 2rem;
            align-items: center;
        }

        .point-item:nth-child(even) {
            direction: rtl;
        }

        .point-item:nth-child(even) > * {
            direction: ltr;
        }

        .point-content h3 {
            /* Suppression du fond jaune, couleur et border-radius */
            margin-bottom: 1rem;
            font-size: 1rem;
            display: inline-block;
        }

        .point-content p {
            color: #666;
            line-height: 1.8;
        }

        .point-image {
            height: 250px; /* Augmentons un peu la hauteur pour un meilleur visuel */
            border-radius: 12px;
            overflow: hidden; /* S'assure que l'image respecte les bords arrondis */
            background: #e5e7eb;
            transition: transform 0.4s ease; /* Déplacer la transition ici */
        }

        .point-image img {
            width: 100%;
            height: 100%;
            object-fit: cover; /* Fait en sorte que l'image remplisse le conteneur */
        }

        .point-item:hover .point-image {
            transform: scale(1.03); /* Appliquer un léger zoom sur le conteneur au survol */
        }

        /* Journeys Section - Effet Damier */
        .journeys-section {
            background: #fff;
            padding: 80px 0;
        }
        .journeys-grid {
            display: flex;
            flex-direction: column;
            gap: 0;
        }
        .journey-card {
            display: grid;
            grid-template-columns: 1fr 1.5fr;
            align-items: stretch;
        }
        .journey-card.journey-reverse {
            grid-template-columns: 1.5fr 1fr;
        }

        /* Application des couleurs du damier */
        .journey-card:nth-child(odd) .journey-image { background: #fff; }
        .journey-card:nth-child(odd) .journey-content { background: #f8f9fa; }
        .journey-card:nth-child(even) .journey-image { background: #f8f9fa; }
        .journey-card:nth-child(even) .journey-content { background: #fff; }

        /* Inversion pour la carte "reverse" */
        .journey-card.journey-reverse .journey-image {
            grid-column: 2 / 3;
            grid-row: 1 / 2;
        }
        .journey-card.journey-reverse .journey-content {
            grid-column: 1 / 2;
            grid-row: 1 / 2;
        }

        .journey-image {
            min-height: 400px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.2rem;
            color: #6b7280;
            padding: 2rem;
        }
        .journey-content {
            padding: 3rem;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }
        .journey-content h4 {
            font-size: 1.75rem;
            color: #1e3a8a;
            margin-bottom: 2rem;
        }
        .testimony-block {
            padding: 1.25rem;
            border-radius: 8px;
            margin-bottom: 1.5rem;
        }
        .testimony-block h5 {
            font-size: 0.9rem;
            font-weight: bold;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 0.5rem;
        }
        .testimony-block p {
            font-size: 1rem;
            color: #333;
            font-style: italic;
            line-height: 1.7;
        }
        .testimony-before { background-color: #fee2e2; border-left: 4px solid #ef4444; }
        .testimony-before h5 { color: #b91c1c; }
        .testimony-after { background-color: #dcfce7; border-left: 4px solid #22c55e; }
        .testimony-after h5 { color: #15803d; }

        @media (max-width: 768px) {
            .journey-card, .journey-card.journey-reverse {
                grid-template-columns: 1fr;
            }
            .journey-image { min-height: 300px; }
            .journey-card.journey-reverse .journey-image,
            .journey-card.journey-reverse .journey-content {
                grid-column: auto;
                grid-row: auto;
            }
        }

        /* Mentors Section */
        .mentors {
            background: #f8f9fa;
            padding: 80px 0;
        }

        .mentors h2 {
            text-align: center;
            font-size: 2rem;
            color: #2c3e50;
            margin-bottom: 3rem;
        }

        .mentors-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 2rem;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
        }

        /* Style pour centrer la dernière carte mentor si elle est seule sur sa ligne */
        .mentors-grid .mentor-card:last-child:nth-child(4n - 3),
        .mentors-grid .mentor-card:last-child:nth-child(5n - 4) {
            grid-column: 1 / -1; /* Fait en sorte que la carte prenne toute la largeur de la grille */
            justify-self: center; /* Centre la carte horizontalement */
            max-width: 234px; /* Assure que la carte garde une largeur cohérente avec les autres */
        }


        .mentor-card {
            background: white;
            border-radius: 12px;
            padding: 1.5rem;
            text-align: center;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }

        .mentor-name-container {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 0.5rem; /* Espace entre le nom et le logo */
            flex-wrap: wrap; /* Permet aux logos de passer à la ligne si nécessaire */
            margin-bottom: 0.25rem; /* Réduit l'espace sous le nom */
        }

        .mentor-name-container h4 {
            margin-bottom: 0; /* Annule la marge par défaut du h4 */
        }

        .mentor-company-logo {
            height: 20px; /* Hauteur du petit logo */
            width: auto;
            max-width: 20px; /* Assure que les logos larges ne dépassent pas */
            object-fit: contain;
            border-radius: 4px; /* Bords légèrement arrondis pour les logos carrés */
        }

        .mentor-avatar-img {
            width: 80px;
            height: 80px;
            border-radius: 50%;
            margin: 0 auto 1rem;
            display: flex;
            align-items: center;
            justify-content: center;
            object-fit: cover;
            border: 3px solid #f39c12;
        }

        /* Mentors Section - Encarts & Zoom (isolation stricte) */
        .mentors .mentor-card {
            cursor: pointer;
            transition: transform 0.3s cubic-bezier(.4,2,.6,1), box-shadow 0.3s;
            position: relative;
        }
        .mentors .mentor-card:hover {
            transform: scale(1.04) translateY(-6px);
            box-shadow: 0 8px 32px rgba(30,58,138,0.13);
        }
        .mentors .mentor-detail-overlay {
            position: fixed;
            top: 0; left: 0; right: 0; bottom: 0;
            background: rgba(30,58,138,0.18);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 9999;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.25s;
        }
        .mentors .mentor-detail-overlay.active {
            opacity: 1;
            pointer-events: auto;
        }
        .mentors .mentor-detail-card {
            background: #fff;
            border-radius: 24px;
            box-shadow: 0 8px 40px rgba(30,58,138,0.18);
            padding: 2.5rem 2rem 2rem 2rem;
            min-width: 320px;
            max-width: 95vw;
            max-height: 90vh;
            display: flex;
            flex-direction: column;
            align-items: center;
            position: relative;
            animation: mentorZoom 0.35s cubic-bezier(.4,2,.6,1);
        }
        @keyframes mentorZoom {
            from { transform: scale(0.7) translateY(20px); opacity: 0; }
            to { transform: scale(1) translateY(0); opacity: 1; }
        }
        .mentors .mentor-detail-header {
            position: relative;
            width: 100%;
            display: flex;
            justify-content: center;
            margin-bottom: 1.2rem;
        }
        .mentors .mentor-detail-avatar {
            width: 120px;
            height: 120px;
            border-radius: 50%;
            overflow: hidden;
            border: 4px solid #f39c12;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        }
        .mentors .mentor-detail-avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .mentors .mentor-detail-name {
            font-weight: bold;
            color: #1e3a8a;
            font-size: 1.3rem;
            margin-bottom: 0.3rem;
        }
        .mentors .mentor-detail-role {
            color: #f39c12;
            font-size: 1.05rem;
            margin-bottom: 0.2rem;
        }
        .mentors .mentor-detail-specialty {
            color: #666;
            font-size: 1rem;
            margin-bottom: 1.1rem;
        }
        .mentors .mentor-detail-desc {
            color: #444;
            font-size: 1.02rem;
            margin-bottom: 1.2rem;
            text-align: center;
            max-width: 340px;
        }
        .mentors .mentor-detail-close {
            position: absolute;
            top: 18px;
            right: 18px;
            background: #f3f4f6;
            border: none;
            border-radius: 50%;
            width: 32px;
            height: 32px;
            font-size: 1.3rem;
            color: #1e3a8a;
            cursor: pointer;
            transition: background 0.2s;
        }
        .mentors .mentor-detail-close:hover {
            background: #f39c12;
            color: #fff;
        }
        @media (max-width: 600px) {
            .mentors .mentor-detail-card { padding: 1.2rem 0.5rem; min-width: 0; }
        }

        /* Testimonials */
        .testimonials {
            background: white;
            padding: 80px 0;
        }

        .testimonials h2 {
            text-align: center;
            font-size: 2rem;
            color: #f39c12;
            margin-bottom: 3rem;
        }

        .testimonials-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 2rem;
            max-width: 1000px;
            margin: 0 auto;
            padding: 0 2rem;
        }

        .testimonial-card {
            background: #f8f9fa;
            padding: 2rem;
            border-radius: 12px;
            border-left: 4px solid #f39c12;
        }

        .testimonial-content {
            color: #666;
            margin-bottom: 1rem;
            font-style: italic;
        }

        .testimonial-author {
            display: flex;
            align-items: center;
            gap: 1rem;
        }

        .author-avatar {
            width: 50px;
            height: 50px;
            background: #f39c12;
            border-radius: 50%;
            overflow: hidden; /* Assure que l'image ne dépasse pas du cercle */
            flex-shrink: 0; /* Empêche l'image de se déformer dans un conteneur flex */
        }

        .author-avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover; /* S'assure que l'image remplit le cercle */
        }

        .author-info h4 {
            color: #2c3e50;
            margin-bottom: 0.25rem;
        }

        .author-info p {
            color: #f39c12;
            font-size: 0.9rem;
        }

        /* FAQ Section */
        .faq {
            background: #f8f9fa;
            padding: 80px 0;
        }

        .faq-container {
            display: flex;
            flex-direction: row;
            gap: 2.5rem;
            max-width: 900px;
            margin: 0 auto;
            padding: 0 2rem;
        }
        .faq-left {
            flex: 1 1 300px;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: flex-start;
            min-width: 220px;
        }
        .faq-left h2 {
            font-size: 2rem;
            color: #f39c12;
            margin-bottom: 1.2rem;
            font-family: inherit;
            font-weight: bold;
            text-align: left;
        }
        .faq-left .faq-section-desc {
            font-size: 1.05rem;
            color: #666;
            margin-bottom: 2.2rem;
            text-align: left;
            max-width: 320px;
        }
        .faq-left .faq-photo-placeholder {
            width: 100%;
            min-height: 120px;
            background: #f8f9fa;
            border-radius: 12px;
            margin-top: 1.5rem;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #bbb;
            font-size: 1.1rem;
            border: 2px dashed #eee;
        }
        .faq-right {
            flex: 2 1 400px;
            display: flex;
            flex-direction: column;
            align-items: flex-end;
        }
        .faq-list {
            width: 100%;
            max-width: 500px;
        }
        .faq-item {
            background: white;
            margin-bottom: 1rem;
            border-radius: 8px;
            overflow: hidden;
            width: 100%;
        }

        .faq-question {
            padding: 1.5rem;
            background: #f39c12;
            color: white;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-weight: 600;
            text-align: right;
        }

        .faq-answer {
            padding: 1.5rem;
            color: #666;
            display: none;
            text-align: right;
        }

        @media (max-width: 900px) {
            .faq-container {
                flex-direction: column;
                gap: 1.5rem;
            }
            .faq-left, .faq-right {
                align-items: stretch;
            }
            .faq-right {
                align-items: stretch;
            }
        }

        /* Footer */
        .footer {
            background: #1e3a8a;
            color: white;
            padding: 40px 0;
            text-align: center;
        }

        .footer h3 {
            margin-bottom: 1rem;
            color: #f39c12;
        }

        .footer p {
            opacity: 0.9;
            max-width: 600px;
            margin: 0 auto 2rem;
        }

        /* Capsule Stats Section */
        .capsule-stats-section {
            width: 100%;
            margin: 0 auto 60px auto;
            position: relative;
            display: flex;
            justify-content: center;
            overflow-x: clip; /* La solution : cache tout ce qui dépasse horizontalement */
        }
        .capsule-stats {
            width: 90vw;
            max-width: 1200px;
            min-height: 180px;
            background: linear-gradient(90deg, #FFD600 0%, #1e3a8a 100%);
            border-radius: 90px;
            display: flex;
            align-items: center;
            justify-content: space-around;
            position: relative;
            overflow: visible;
            box-shadow: 0 8px 32px rgba(30,58,138,0.08);
            z-index: 1;
        }
        .capsule-stats .stat-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            flex: 1 1 0;
            min-width: 120px;
            z-index: 2;
        }
        .capsule-stats .stat-icon {
            width: 48px;
            height: 48px;
            margin-bottom: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .capsule-stats .stat-number {
            font-size: 2.8rem;
            font-weight: bold;
            color: #fff;
            margin-bottom: 0.3rem;
            line-height: 1;
        }
        .capsule-stats .stat-label {
            font-size: 1rem;
            color: #fff;
            opacity: 0.92;
            text-align: center;
            font-weight: 400;
        }
        .capsule-stats-section .capsule-deco {
            position: absolute;
            right: -60px;
            top: 50%;
            transform: translateY(-50%);
            width: 120px;
            height: 120px;
            background: #1e3a8a;
            border-radius: 50%;
            z-index: 0;
            box-shadow: 0 8px 32px rgba(30,58,138,0.12);
        }
        @media (max-width: 900px) {
            .capsule-stats { flex-direction: column; border-radius: 60px; min-height: 400px; padding: 2rem 0; }
            .capsule-stats .stat-item { margin-bottom: 1.5rem; }
            .capsule-stats .stat-item:last-child { margin-bottom: 0; }
            .capsule-stats-section .capsule-deco { right: -40px; width: 80px; height: 80px; }
        }
        @media (max-width: 600px) {
            .capsule-stats { width: 98vw; border-radius: 40px; min-height: 320px; }
            .capsule-stats .stat-icon { width: 32px; height: 32px; }
            .capsule-stats .stat-number { font-size: 1.7rem; }
            .capsule-stats-section .capsule-deco { right: -20px; width: 40px; height: 40px; }
        }

        /* Responsive */
        @media (max-width: 768px) {
            .hero-container {
                grid-template-columns: 1fr;
                text-align: center;
            }

            .hero-container .cta-buttons {
                justify-content: center; /* Centre les boutons sur mobile */
                align-items: center; /* Centré sur mobile */
            }
            .hero { 
                clip-path: ellipse(150% 100% at 50% 0%); /* Rend la courbe beaucoup plus douce sur mobile */
            }
            .hero-content h1 {
                font-size: 2rem;
            }

            .grid-container {
                grid-template-columns: 1fr;
            }

            .point-item {
                grid-template-columns: 1fr;
                text-align: center;
            }

            .point-item:nth-child(even) {
                direction: ltr;
            }

            .leaders-stats {
                flex-direction: column;
                gap: 2rem;
            }

            /* --- Mobile Navigation --- */
            .nav-toggle {
                display: block; /* Affiche l'icône hamburger */
                z-index: 1001; /* S'assure qu'elle est au-dessus de tout */
                margin-right: 0; /* Réduction de la marge pour rapprocher le bouton du bord */
            }
            .nav-container {
                height: 90px; /* Assure que le conteneur a une hauteur définie pour l'alignement */
            }

            /* Nouvelle classe pour cacher l'icône hamburger */
            .nav-toggle.hide-toggle {
                display: none;
            }

            .nav-menu {
                position: fixed;
                display: flex; /* Ajouté pour assurer le bon fonctionnement de flexbox */
                top: 0;
                right: -100%; /* Start off-screen */
                width: 70%;
                height: 100vh;
                background-color: #1e3a8a;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                gap: 3rem;
                transition: right 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
                box-shadow: -5px 0 15px rgba(0,0,0,0.2);
            }

            .nav-menu.show-menu {
                right: 0; /* Slide in */
            }

            .nav-menu a {
                color: white;
                font-size: 1.2rem;
            }

            .nav-menu .nav-close {
                display: block;
                position: fixed; /* Positionner par rapport à la fenêtre */
                top: 29px; /* Aligner verticalement avec le logo (90px header / 2 - 32px icon / 2) */
                right: 2rem; /* Aligner horizontalement avec l'icône menu */
                cursor: pointer;
                color: white;
                z-index: 1002; /* S'assurer qu'elle est au-dessus du menu */
            }
            .nav-menu .nav-close i {
                width: 32px; height: 32px;
            }
        }

        .highlight-a {
            position: relative;
            display: inline-block;
            z-index: 1;
        }
        .highlight-a::before {
            content: '';
            position: absolute;
            left: 50%;
            top: 55%;
            transform: translate(-50%, -50%) scale(1.3,1.1);
            width: 2.2em;
            height: 1.5em;
            z-index: -1;
            background: url('data:image/svg+xml;utf8,<svg width="100" height="60" viewBox="0 0 100 60" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 40 Q 30 10 60 20 Q 90 30 80 50 Q 60 60 30 55 Q 10 50 10 40 Z" fill="%23FFD600" fill-opacity="0.55"/></svg>') no-repeat center/contain;
            opacity: 0.85;
            pointer-events: none;
        }
        .highlight-bg {
            position: relative;
            display: inline-block;
        }
        .highlight-bg::before {
            content: '';
            position: absolute;
            left: 50%;
            top: 55%;
            transform: translate(-50%, -50%) scale(1.1,1);
            width: 110%;
            height: 1.3em;
            z-index: -1;
            background: url('data:image/svg+xml;utf8,<svg width="300" height="60" viewBox="0 0 300 60" fill="none" xmlns="http://www.w3.org/2000/svg"><ellipse cx="150" cy="30" rx="140" ry="22" fill="%23FFD600" fill-opacity="0.9"/></svg>') no-repeat center/contain;
            opacity: 1;
            pointer-events: none;
        }

        .cercle-jaune {
            position: relative;
            display: inline-block;
            z-index: 1;
        }
        .cercle-jaune::before {
            content: '';
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-90%, -50%);
            width: 1.4em;
            height: 1.4em;
            background: #FFD600;
            border-radius: 70%;
            opacity: 0.7;
            z-index: -1;
        }

        /* Bénéfices */
        .benefices-section {
            background: #fff;
            padding: 60px 0 40px 0;
        }
        .benefices-cards {
            display: flex;
            gap: 2rem;
            justify-content: center;
            max-width: 1100px;
            margin: 0 auto;
            flex-wrap: wrap;
        }
        .benefice-card {
            background: #f8f9fa;
            border-radius: 16px;
            box-shadow: 0 4px 16px rgba(30,58,138,0.07);
            padding: 2rem 1.5rem 1.5rem 1.5rem;
            flex: 1 1 260px;
            max-width: 320px;
            min-width: 220px;
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            transition: transform 0.25s, box-shadow 0.25s;
        }
        .benefice-card .benefice-icon {
            font-size: 2.2rem;
            margin-bottom: 1rem;
            color: #f39c12;
        }
        .benefice-card h4 {
            font-size: 1.15rem;
            color: #1e3a8a;
            margin-bottom: 0.5rem;
            font-weight: bold;
        }
        .benefice-card p {
            color: #666;
            font-size: 1rem;
        }
        .benefice-card:hover {
            transform: scale(1.04) translateY(-6px);
            box-shadow: 0 8px 32px rgba(30,58,138,0.13);
        }

        /* Problème si on n’agit pas */
        .probleme-section {
            background: #121212; /* Dark background */
            padding: 80px 2rem;
            color: #e5e7eb; /* Light text for dark background */
        }
        .probleme-section-header {
            text-align: center;
            margin-bottom: 3.5rem;
        }
        .probleme-section-header h2 {
            font-size: 2.5rem;
            color: #fff;
            margin-bottom: 1rem;
            font-weight: bold;
        }
        .probleme-section-header p {
            font-size: 1.1rem;
            color: #9ca3af;
            max-width: 700px;
            margin: 0 auto;
            line-height: 1.7;
        }
        .cards-container {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 2rem;
        }
        .card-red, .card-green {
            background-color: #1E1E1E;
            border-radius: 0.75rem; /* 12px */
            border-width: 2px;
            padding: 1.25rem; /* 20px */
            max-width: 400px;
            width: 100%;
            transition: all 0.3s;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }
        .card-red { border-color: #ef4444; }
        .card-green { border-color: #22c55e; }
        .card-red h2, .card-red span, .card-red i { color: #ef4444; }
        .card-green h2, .card-green span, .card-green i { color: #22c55e; }
        
        .card-wrapper {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 1rem;
        }

        .card-hover:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
        }
        @media (max-width: 768px) {
            .cards-container {
                flex-direction: column;
            }
        }

        /* Section CTA "Meilleure équipe" combinée */
        .team-cta-section {
            background: #f8f9fa;
            padding: 80px 2rem;
        }
        .team-cta-container {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 3rem;
            align-items: center;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 3rem; /* Ajout du padding pour la cohérence */
        }
        .team-cta-left {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            margin-left: -2rem; /* Aligne tout le bloc avec le logo */
        }
        .team-cta-left .solution-title,
        .team-cta-left .team-cta-desc {
            text-align: left;
        }
        .team-cta-container .solution-desc {
            max-width: 700px;
        }

        /* Notre solution */
        .solution-section {
            background: #fff;
            padding: 80px 0 100px 0; /* Padding haut et bas pour espacer la section */
            position: relative;
        }
        .solution-container {
            display: block; /* Changé pour un conteneur simple */
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
        }
        .solution-label {
            color: #f39c12;
            font-size: 0.95rem;
            font-weight: 700;
            letter-spacing: 0.09em;
            margin-bottom: 1.1rem;
            text-transform: uppercase;
        }
        .solution-title {
            font-size: 2.5rem;
            font-weight: bold;
            color: #232946;
            margin-bottom: 1.1rem;
            line-height: 1.13;
        }
        .solution-desc {
            color: #666;
            font-size: 1.08rem;
            margin-bottom: 2.2rem;
            line-height: 1.7;
        }
        .solution-steps-area {
            margin-top: 4rem;
        }

        /* Nouvelle grille pour les étapes */
        .solution-steps-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
            position: relative;
        }

        /* Ligne de connexion entre les cartes (Desktop) */
        .solution-steps-grid::before {
            content: '';
            position: absolute;
            top: 40px; /* Aligné verticalement avec les icônes */
            left: 1rem;
            right: 1rem;
            height: 2px;
            background: repeating-linear-gradient(90deg, #d1d5db, #d1d5db 6px, transparent 6px, transparent 12px);
            z-index: 0;
        }

        .solution-step-card {
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 16px;
            padding: 2rem;
            box-shadow: 0 4px 20px rgba(30, 58, 138, 0.05);
            transition: transform 0.3s, box-shadow 0.3s;
            z-index: 1;
        }

        .solution-step-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 8px 30px rgba(30, 58, 138, 0.1);
        }

        .solution-step-header {
            display: flex;
            align-items: center;
            gap: 1rem;
            margin-bottom: 1.5rem;
        }

        .solution-step-icon {
            background-color: #f39c12;
            color: white;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0; /* Empêche l'icône de rétrécir */
        }

        .solution-step-title {
            font-size: 1.2rem;
            font-weight: bold;
            color: #1e3a8a;
        }

        .solution-step-desc {
            color: #4b5563;
            font-size: 1rem;
            line-height: 1.6;
        }

        @media (max-width: 900px) {
            .solution-steps-grid {
                grid-template-columns: 1fr; /* Une seule colonne sur mobile */
            }
            .solution-steps-grid::before {
                display: none; /* Cache la ligne de connexion sur mobile */
            }
        }

        @media (max-width: 900px) {
            .team-cta-container {
                grid-template-columns: 1fr;
                text-align: center;
            }
            .team-cta-left {
                align-items: center;
            }
            .team-cta-left .solution-title, .team-cta-left .solution-desc {
                text-align: center; /* Centre le texte sur mobile */
            }
        }

        /* --- Orbit Layout --- */
        .team-cta-right {
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 350px;
        }
        .orbit-container {
            position: relative;
            width: 300px;
            height: 300px;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .orbit-center .ibudo-logo {
            width: 64px; /* Taille du logo au centre de l'orbite */
            height: 64px;
            z-index: 10;
            position: relative;
        }
        .orbit-container::before, .orbit-container::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            border: 2px dashed #d1d5db;
            border-radius: 50%;
            animation: spin 40s linear infinite;
        }
        .orbit-container::before { /* Inner orbit */
            width: 200px;
            height: 200px;
            transform: translate(-50%, -50%);
        }
        .orbit-container::after { /* Outer orbit */
            width: 300px;
            height: 300px;
            transform: translate(-50%, -50%);
            animation-direction: reverse;
            animation-duration: 50s;
        }
        @keyframes spin {
            from { transform: translate(-50%, -50%) rotate(0deg); }
            to { transform: translate(-50%, -50%) rotate(360deg); }
        }
        .orbit-item {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 54px;
            height: 54px;
            margin: -27px; /* half of width/height */
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .partner-logo img {
            max-width: 80%; /* Donne plus d'espace aux logos */
            max-height: 80%; /* Donne plus d'espace aux logos */
            object-fit: contain;
            height: auto; /* La hauteur s'adapte à la largeur */
        }
        .partner-logo {
            width: 54px;
            height: 54px;
            background: #fff;
            border-radius: 50%; /* Rend le conteneur circulaire */
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 12px rgba(30,58,138,0.1);
            transition: transform 0.3s, box-shadow 0.3s;
        }
        .partner-logo:hover {
            transform: scale(1.1);
            box-shadow: 0 8px 24px rgba(30,58,138,0.15);
        }
        /* Positioning items on the orbits */
        .orbit-item.item-1 { transform: rotate(0deg) translateX(100px) rotate(0deg); }
        .orbit-item.item-2 { transform: rotate(120deg) translateX(150px) rotate(-120deg); }
        .orbit-item.item-3 { transform: rotate(240deg) translateX(100px) rotate(-240deg); }

        @media (max-width: 900px) {
            .team-cta-right { min-height: auto; margin-top: 2rem; }
            .orbit-container { width: 250px; height: 250px; }
            .orbit-container::before { width: 150px; height: 150px; }
            .orbit-container::after { width: 250px; height: 250px; }
            .orbit-item.item-1 { transform: rotate(0deg) translateX(75px) rotate(0deg); }
            .orbit-item.item-2 { transform: rotate(120deg) translateX(125px) rotate(-120deg); }
            .orbit-item.item-3 { transform: rotate(240deg) translateX(75px) rotate(-240deg); }
        }

        /* Badge de confiance */
        .trust-badge {
            display: flex;
            flex-direction: row;
            align-items: center;
            gap: 1rem;
        }
        .trust-info {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
        }
        .trust-avatars {
            display: flex;
            align-items: center;
        }
        .trust-stars {
            margin-bottom: 0;
        }
        .trust-avatars img {
            width: 38px;
            height: 38px;
            border-radius: 50%;
            border: 2px solid #fff;
            box-shadow: 0 2px 8px rgba(30,58,138,0.07);
            object-fit: cover;
            margin-left: -12px;
            background: #f3f4f6;
        }
        .trust-avatars img:first-child {
            margin-left: 0;
            border: 2px solid #FFD600;
        }
        .trust-stars {
            color: #FFD600;
            font-size: 1.35rem;
            letter-spacing: 2px;
        }
        .trust-text {
            font-size: 1.05rem;
            color: #232946;
            text-align: left;
        }
        @media (max-width: 600px) {
            .trust-badge { min-width: 0; }
            .trust-avatars img { width: 28px; height: 28px; }
            .trust-text { font-size: 0.95rem; }
        }
        .title-underline {
            position: relative;
            display: inline-block;
            padding-bottom: 15px;
        }
        .title-underline::after {
            content: '';
            position: absolute;
            bottom: 0;
            right: 0;
            width: 50%;
            height: 10px;
            background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 10" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 5 Q 50 10 100 5" stroke="%23f39c12" stroke-width="3" fill="none" stroke-linecap="round"/></svg>');
            background-repeat: no-repeat;
            background-size: contain;
            background-position: center;
        }

        /* Alumni Success Section */
        .alumni-success-section {
            background: #f8f9fa; /* Light background, similar to programs section */
            padding: 80px 0;
        }

        .alumni-success-section .section-title-custom {
            text-align: center;
            font-size: 2.5rem;
            color: #2c3e50;
            margin-bottom: 4rem; /* More space below the main title */
            max-width: 900px;
            margin-left: auto;
            margin-right: auto;
            line-height: 1.3;
        }

        .alumni-avatar-img {
            width: 80px;
            height: 80px;
            border-radius: 50%;
            object-fit: cover;
            margin: 0 auto 1rem auto; /* Center the image and add bottom margin */
            border: 3px solid #f39c12; /* Optional: add a border */
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        }
        .alumni-grid {
            display: grid;
            /* Forcer 2 colonnes sur les écrans larges */
            grid-template-columns: repeat(2, 1fr);
            gap: 2.5rem;
        }

        .alumni-card {
            background: white;
            border-radius: 12px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.08);
            padding: 2rem;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            display: flex;
            flex-direction: column;
        }

        .alumni-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 8px 25px rgba(0,0,0,0.12);
        }

        .alumni-name {
            font-size: 1.4rem;
            font-weight: bold;
            color: #1e3a8a; /* Dark blue */
            margin-bottom: 0.5rem; /* Espace réduit sous le nom */
            text-align: center;
        }

        .alumni-promo {
            font-size: 0.9rem;
            font-weight: 600;
            color: #666;
            text-align: center;
            margin-bottom: 1rem;
        }

        .alumni-journey {
            font-size: 1rem;
            color: #666;
            line-height: 1.7;
            margin-bottom: 1.5rem;
            flex-grow: 1; /* Ensures cards have similar height if content varies */
        }

        .alumni-today {
            border-top: 1px solid #eee;
            padding-top: 1.5rem;
            margin-top: auto; /* Pushes "Aujourd'hui" to the bottom */
        }

        .alumni-today-title {
            font-size: 1.1rem;
            font-weight: bold;
            color: #f39c12; /* Highlight color */
            margin-bottom: 0.8rem;
        }

        .alumni-achievements {
            list-style: none; /* Remove default list style */
            padding: 0;
            margin: 0;
        }

        .alumni-achievements li {
            font-size: 0.95rem;
            color: #444;
            margin-bottom: 0.5rem;
            position: relative;
            padding-left: 1.5rem; /* Space for custom bullet */
        }

        .alumni-achievements li::before {
            content: '✓'; /* Custom bullet point */
            color: #22c55e; /* Green checkmark */
            position: absolute;
            left: 0;
            top: 0;
            font-weight: bold;
        }

        .alumni-conclusion {
            text-align: center;
            font-size: 1.2rem;
            color: #2c3e50;
            margin-top: 4rem;
            font-style: italic;
            font-weight: 500;
        }

        /* Responsive adjustments */
        @media (max-width: 768px) {
            .alumni-success-section .section-title-custom {
                font-size: 2rem;
            }
            .alumni-grid {
                grid-template-columns: 1fr; /* Single column on small screens */
            }
            .alumni-card {
                padding: 1.5rem;
            }
            .alumni-name {
                font-size: 1.2rem;
            }
            .alumni-journey, .alumni-achievements li {
                font-size: 0.9rem;
            }
            .alumni-today-title {
                font-size: 1rem;
            }
            .alumni-conclusion {
                font-size: 1rem;
            }
        }

        .title-underline {
            position: relative;
            display: inline-block;
            padding-bottom: 15px;
        }
        .title-underline::after {
            content: '';
            position: absolute;
            bottom: 0;
            right: 0;
            width: 50%;
            height: 10px;
            background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 10" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 5 Q 50 10 100 5" stroke="%23f39c12" stroke-width="3" fill="none" stroke-linecap="round"/></svg>');
            background-repeat: no-repeat;
            background-size: contain;
            background-position: center;
        }

        /* Partners Section */
        .partners-section {
            background: #fff; /* Fond blanc pour un look épuré */
            padding: 80px 0;
            border-top: 1px solid #f0f0f0; /* Séparateur subtil */
        }

        .partners-title {
            text-align: center;
            font-size: 2.2rem;
            color: #2c3e50;
            margin-bottom: 4rem;
            font-weight: bold;
        }

        .partners-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
            gap: 3rem;
            align-items: center;
            justify-content: center;
            max-width: 1000px;
            margin: 0 auto;
        }

        .partner-logo-item {
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .partner-logo-item img {
            max-width: 150px;
            height: auto;
            filter: grayscale(100%);
            opacity: 0.6;
            transition: filter 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
        }

        .partner-logo-item:hover img {
            filter: grayscale(0%);
            opacity: 1;
            transform: scale(1.05);
        }

        @media (max-width: 768px) {
            .partners-grid {
                gap: 2rem;
                grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
            }
            .partners-title {
                font-size: 1.8rem;
            }
        }