.elementor-5971 .elementor-element.elementor-element-15b001ad{--display:flex;}.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 );}:root{--page-title-display:none;}/* Start custom CSS for text-editor, class: .elementor-element-959616d *//* --- Variables de Charte --- */
:root {
    --purple: #6e1b89;
    --dark: #1e1036;
    --wine: #8A1538;
    --lavender: #f3e5f5;
    --white: #ffffff;
    --border-lux: rgba(110, 27, 137, 0.15);
}

/* --- Titre Éditorial --- */
#main-title {
    text-align: center;
    color: var(--dark);
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    margin: 60px auto 30px;
    max-width: 1000px;
    line-height: 1.1;
    padding: 0 20px;
}

#title-highlight {
    background: linear-gradient(90deg, var(--purple), var(--wine));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-style: italic;
}

/* --- Navigation Sticky --- */
#nav-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.8);
    border-bottom: 1px solid var(--border-lux);
    backdrop-filter: saturate(180%) blur(15px);
    -webkit-backdrop-filter: saturate(180%) blur(15px);
}

#nav-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 14px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

#nav-label {
    letter-spacing: 1px;
    color: var(--purple);
    text-transform: uppercase;
    font-size: 0.75rem;
    font-weight: 900;
}

#nav-menu {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

/* Style des "Pills" avec IDs thématiques */
.nav-pill {
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 100px;
    font-weight: 800;
    font-size: 0.8rem;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    border: 1px solid transparent;
}

#pill-essentiel, #pill-debat, #pill-avis, #pill-futur {
    background: var(--lavender);
    color: var(--purple);
    border-color: var(--border-lux);
}

#pill-oracles, #pill-adaptation, #pill-limites {
    background: #fff1f4; /* Teinte Wine très claire */
    color: var(--wine);
}

#pill-faq {
    background: var(--dark);
    color: var(--white);
}

.nav-pill:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(110, 27, 137, 0.15);
}

/* --- Section Essentiel (Manifesto) --- */
#section-essentiel {
    padding: clamp(60px, 10vw, 120px) 24px;
    scroll-margin-top: 80px;
    text-align: center;
    background: var(--white);
}

#manifesto-content {
    max-width: 900px;
    margin: 0 auto;
}

#manifesto-text {
    color: #4a4a4a;
    font-size: clamp(1.2rem, 3vw, 1.45rem);
    line-height: 1.7;
    font-weight: 300;
    margin: 0;
}

#statement-box {
    display: block;
    margin-top: 40px;
    padding: 40px;
    background: var(--dark);
    border-radius: 30px;
    color: var(--white);
    box-shadow: 0 20px 40px rgba(30, 16, 54, 0.1);
}

#question-ai {
    display: block;
    font-family: 'Playfair Display', serif;
    font-size: 1.8rem;
    color: var(--lavender);
    margin-bottom: 10px;
}

#question-intuition {
    display: block;
    color: var(--wine);
    font-weight: 700;
}

#manifesto-separator {
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, var(--purple), var(--wine));
    margin: 60px auto 0;
    border-radius: 2px;
}

/* --- RESPONSIVE MOBILE (Manifesto & Editorial) --- */
@media (max-width: 768px) {
    /* Titre Éditorial */
    #main-title {
        font-size: 2rem; /* Taille plus équilibrée pour mobile */
        margin: 40px auto 20px;
        line-height: 1.2;
    }

    /* Navigation Sticky Mobile */
    #nav-header {
        top: 0;
    }

    #nav-container {
        flex-direction: column; /* On empile le label et le menu */
        padding: 12px 15px;
        gap: 10px;
    }

    #nav-label {
        font-size: 0.65rem;
        opacity: 0.8;
    }

    #nav-menu {
        justify-content: center; /* On centre les pilules */
        gap: 6px;
    }

    .nav-pill {
        padding: 6px 12px; /* Plus compact pour que tout rentre */
        font-size: 0.7rem;
        letter-spacing: 0.5px;
    }

    /* Section Essentiel (Manifesto) */
    #section-essentiel {
        padding: 50px 20px;
    }

    #manifesto-text {
        font-size: 1.1rem; /* Lecture confortable sur smartphone */
        line-height: 1.6;
        text-align: center;
    }

    /* La Statement Box (Le bloc noir) */
    #statement-box {
        margin-top: 30px;
        padding: 30px 20px; /* On réduit pour laisser de la place au texte */
        border-radius: 24px;
    }

    #question-ai {
        font-size: 1.4rem; /* Réduction pour éviter les retours à la ligne brusques */
        margin-bottom: 8px;
    }

    #question-intuition {
        font-size: 1.1rem;
    }

    #manifesto-separator {
        margin: 40px auto 0;
        width: 50px; /* Plus discret */
    }
}

/* Optimisation pour les écrans très étroits (iPhone SE, etc.) */
@media (max-width: 380px) {
    #main-title {
        font-size: 1.7rem;
    }

    .nav-pill {
        padding: 5px 8px;
        font-size: 0.65rem;
    }

    #question-ai {
        font-size: 1.2rem;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-100a1ff *//* --- SECTION ESSENTIEL --- */
#essentiel {
    padding: clamp(80px, 12vw, 140px) 0;
    background: var(--white);
    overflow: hidden;
}

#essentiel-layout {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(40px, 6vw, 80px);
    align-items: center;
}

/* --- Côté Narratif --- */
#essentiel-narrative {
    position: relative;
}

#essentiel-accent-bar {
    width: 60px;
    height: 6px;
    background: linear-gradient(90deg, var(--wine), var(--purple));
    border-radius: 3px;
    margin-bottom: 24px;
}

#essentiel-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.2rem, 4vw, 3.2rem);
    color: var(--dark);
    line-height: 1.1;
    margin: 0 0 30px 0;
    font-weight: 900;
}

#essentiel-title span {
    color: var(--wine);
    font-style: italic;
    font-weight: 400;
}

#marie-story {
    font-size: 1.2rem;
    line-height: 1.8;
    color: var(--dark);
    opacity: 0.9;
    position: relative;
    padding-left: 30px;
    border-left: 2px solid var(--lavender);
}

/* --- Côté Marché (Dark Card) --- */
#market-impact-card {
    background: var(--dark);
    color: var(--white);
    padding: clamp(40px, 5vw, 60px);
    border-radius: 40px;
    position: relative;
    box-shadow: 0 40px 80px rgba(30, 16, 54, 0.2);
    transform: rotate(1deg); /* Tension visuelle */
}

#market-impact-card h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.8rem;
    color: var(--lavender);
    margin: 0 0 30px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

#market-data-grid {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.market-stat-item {
    border-bottom: 1px solid rgba(243, 229, 245, 0.1);
    padding-bottom: 15px;
}

.stat-number {
    display: block;
    font-size: 2.2rem;
    font-weight: 900;
    color: var(--white);
    line-height: 1;
    margin-bottom: 5px;
}

.stat-label {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--lavender);
    opacity: 0.8;
}

.market-link {
    color: var(--white);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 2px solid var(--purple);
    transition: all 0.3s ease;
}

.market-link:hover {
    color: var(--lavender);
    border-bottom-color: var(--white);
}

/* --- Responsive --- */
@media (max-width: 960px) {
    #essentiel-layout { grid-template-columns: 1fr; }
    #market-impact-card { transform: rotate(0); margin-top: 40px; }
}

/* --- RESPONSIVE MOBILE (Essentiel) --- */
@media (max-width: 768px) {
    #essentiel {
        padding: 60px 0; /* Réduction de l'espace vertical pour mobile */
    }

    #essentiel-layout {
        padding: 0 20px;
        gap: 40px; /* Espace entre le récit et la carte */
    }

    /* Ajustement du titre */
    #essentiel-title {
        font-size: 2.2rem;
        line-height: 1.1;
        text-align: left;
    }

    #essentiel-accent-bar {
        width: 45px;
        height: 5px;
        margin-bottom: 20px;
    }

    /* Le récit de Marie */
    #marie-story {
        font-size: 1.1rem;
        padding-left: 20px; /* Plus compact sur les côtés */
        line-height: 1.6;
        border-left-width: 3px;
    }

    /* La Carte Impact Marché */
    #market-impact-card {
        padding: 35px 25px; /* Moins de vide interne pour gagner de la place */
        border-radius: 30px; /* Rayon un peu plus doux pour les petits écrans */
        transform: rotate(0deg); /* On stabilise la carte pour la lecture tactile */
        margin-top: 20px;
    }

    #market-impact-card h3 {
        font-size: 1.5rem;
        margin-bottom: 25px;
    }

    /* Statistiques */
    .stat-number {
        font-size: 1.8rem; /* Un peu moins imposant sur mobile */
    }

    .stat-label {
        font-size: 0.8rem;
        letter-spacing: 0.5px;
    }

    #market-data-grid {
        gap: 20px;
    }
}

/* Optimisation pour les écrans ultra-fins (iPhone SE, etc.) */
@media (max-width: 380px) {
    #essentiel-title {
        font-size: 1.9rem;
    }

    .stat-number {
        font-size: 1.6rem;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-4f52932 *//* --- Base de la section Oracles Numériques --- */
#section-oracles-ia {
    padding: clamp(80px, 12vw, 140px) 0;
    background-color: var(--white);
    font-family: 'Inter', system-ui, sans-serif;
    position: relative;
    overflow: hidden;
}

#oracles-ia-wrapper {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 24px;
}

/* --- Header avec indicateur vertical --- */
#oracles-ia-header {
    margin-bottom: 60px;
    position: relative;
}

#oracles-ia-indicator {
    width: 60px;
    height: 4px;
    background: var(--wine);
    margin-bottom: 25px;
    border-radius: 2px;
}

#oracles-ia-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.2rem, 5vw, 3.2rem);
    color: var(--dark);
    line-height: 1.1;
    font-weight: 900;
    margin: 0 0 25px 0;
}

#title-accent-wine {
    color: var(--wine);
    font-style: italic;
    font-weight: 400;
}

#oracles-ia-intro {
    font-size: 1.15rem;
    line-height: 1.7;
    color: var(--dark);
    max-width: 75ch;
    opacity: 0.85;
}

/* --- Grille et Cartes --- */
#oracles-ia-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 30px;
}

#feature-precision, #feature-accessibility {
    position: relative;
    background: var(--white);
    border: 1px solid var(--border-lux);
    border-radius: 24px;
    padding: 40px;
    box-shadow: 0 10px 30px rgba(110, 27, 137, 0.03);
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    overflow: hidden;
}

/* Effets de survol */
#feature-precision:hover, #feature-accessibility:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(110, 27, 137, 0.08);
}

/* Badges (Tags) */
#precision-tag, #accessibility-tag {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 100px;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 25px;
}

#precision-tag { background: var(--lavender); color: var(--purple); }
#accessibility-tag { background: #fff1f4; color: var(--wine); }

/* Typographie des cartes */
#precision-title, #accessibility-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.6rem;
    color: var(--dark);
    margin: 0 0 15px 0;
}

#precision-text, #accessibility-text {
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--dark);
    opacity: 0.9;
    margin-bottom: 25px;
}

/* Bloc Citation (Card 1) */
#precision-quote {
    margin: 0;
    padding: 20px;
    background: var(--lavender);
    border-radius: 16px;
    font-style: italic;
    font-size: 0.95rem;
    color: var(--purple);
}

#precision-quote cite {
    display: block;
    margin-top: 10px;
    font-weight: 700;
    font-style: normal;
    text-align: right;
    font-size: 0.8rem;
}

/* Lien consultation (Card 2) */
#link-consultation {
    color: var(--wine);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 2px dashed rgba(138, 21, 56, 0.3);
    transition: all 0.3s ease;
}

#link-consultation:hover {
    border-bottom-style: solid;
    background: #fff1f4;
}

/* Élément visuel flottant (Card 2) */
#accessibility-bg-icon {
    position: absolute;
    bottom: -10px;
    right: 20px;
    font-size: 8rem;
    opacity: 0.03;
    z-index: 0;
    pointer-events: none;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    #section-oracles-ia { padding: 60px 0; }
    #feature-precision, #feature-accessibility { padding: 30px; }
}

/* --- RESPONSIVE MOBILE (Oracles IA) --- */
@media (max-width: 768px) {
    #section-oracles-ia {
        padding: 50px 0; /* Réduction du souffle vertical */
    }

    #oracles-ia-wrapper {
        padding: 0 20px;
    }

    /* Header : On centre pour un aspect plus équilibré */
    #oracles-ia-header {
        margin-bottom: 40px;
        text-align: center;
    }

    #oracles-ia-indicator {
        width: 40px;
        margin: 0 auto 15px; /* Centrage du marqueur */
    }

    #oracles-ia-title {
        font-size: 1.8rem; /* On stabilise le titre */
        line-height: 1.2;
    }

    #oracles-ia-intro {
        font-size: 1rem;
        line-height: 1.6;
        text-align: left; /* Le texte long reste plus lisible aligné à gauche */
    }

    /* Grille : On force l'empilement vertical propre */
    #oracles-ia-grid {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    #feature-precision, #feature-accessibility {
        padding: 30px 20px; /* On réduit pour gagner de la surface de lecture */
        border-radius: 20px;
    }

    /* On désactive le hover "translate" qui peut être gênant sur mobile */
    #feature-precision:hover, #feature-accessibility:hover {
        transform: none;
    }

    /* Badges */
    #precision-tag, #accessibility-tag {
        margin-bottom: 20px;
        font-size: 0.7rem;
    }

    /* Typo interne des cartes */
    #precision-title, #accessibility-title {
        font-size: 1.4rem;
        margin-bottom: 12px;
    }

    #precision-text, #accessibility-text {
        font-size: 0.95rem;
        line-height: 1.6;
        margin-bottom: 20px;
    }

    /* Bloc Citation IA */
    #precision-quote {
        padding: 15px;
        font-size: 0.9rem;
        border-radius: 12px;
    }

    /* Icône flottante : On la réduit pour ne pas surcharger le fond */
    #accessibility-bg-icon {
        font-size: 5rem;
        right: 10px;
        bottom: -5px;
    }
}

/* Optimisation pour les terminaux très compacts (iPhone SE / mini) */
@media (max-width: 380px) {
    #oracles-ia-title {
        font-size: 1.6rem;
    }

    #precision-title, #accessibility-title {
        font-size: 1.3rem;
    }

    #precision-quote {
        font-size: 0.85rem;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-63761f5 *//* --- Base de la section Débat --- */
#section-le-debat {
    padding: clamp(80px, 12vw, 160px) 0;
    background-color: var(--white);
    font-family: 'Inter', system-ui, sans-serif;
    position: relative;
    scroll-margin-top: 80px;
}

#debat-wrapper {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 24px;
}

/* --- Header --- */
#debat-header {
    text-align: center;
    margin-bottom: 60px;
}

#debat-kicker {
    display: inline-block;
    color: var(--wine);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 4px;
    font-size: 0.8rem;
    margin-bottom: 20px;
}

#debat-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.5rem, 6vw, 3.8rem);
    color: var(--dark);
    line-height: 1.1;
    font-weight: 900;
    margin: 0 0 30px 0;
}

#title-invisible {
    color: var(--purple);
    font-style: italic;
    font-weight: 400;
}

#debat-intro {
    max-width: 75ch;
    margin: 0 auto;
    font-size: 1.2rem;
    line-height: 1.8;
    color: var(--dark);
    opacity: 0.8;
}

#debat-link-voyance {
    color: var(--purple);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 2px dashed var(--border-lux);
    transition: all 0.3s ease;
}

#debat-link-voyance:hover {
    border-bottom-style: solid;
    background: var(--lavender);
}

/* --- Image et Cadre --- */
#debat-visual-frame {
    margin: 60px auto;
    max-width: 850px;
    position: relative;
}

#debat-figure {
    margin: 0;
    padding: 15px;
    background: var(--white);
    border: 1px solid var(--border-lux);
    box-shadow: 0 30px 60px rgba(30, 16, 54, 0.1);
    border-radius: 4px; /* Effet photo print */
}

#debat-image {
    width: 100%;
    display: block;
    filter: sepia(20%) contrast(110%);
}

#debat-caption {
    margin-top: 15px;
    text-align: center;
    font-style: italic;
    font-size: 0.9rem;
    color: var(--dark);
    opacity: 0.6;
}

/* --- Bloc Citation Pivot --- */
#debat-quote-box {
    background: linear-gradient(135deg, var(--lavender) 0%, var(--white) 100%);
    border-left: 8px solid var(--purple);
    padding: 50px 40px;
    border-radius: 0 30px 30px 0;
    margin: 80px 0;
    position: relative;
    box-shadow: 0 10px 30px rgba(110, 27, 137, 0.05);
}

#quote-icon {
    position: absolute;
    top: -25px;
    left: 20px;
    width: 50px;
    height: 50px;
    background: var(--purple);
    color: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    box-shadow: 0 5px 15px rgba(110, 27, 137, 0.3);
}

#quote-text {
    margin: 0;
    font-family: 'Playfair Display', serif;
    font-size: 1.45rem;
    line-height: 1.6;
    color: var(--dark);
    font-style: italic;
}

#quote-source {
    display: block;
    margin-top: 20px;
    font-family: 'Inter', sans-serif;
    font-style: normal;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 1px;
    color: var(--wine);
}

/* --- Grille d'Arguments --- */
#debat-arguments-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 40px;
}

.debat-card {
    background: var(--white);
    border: 1px solid var(--border-lux);
    border-top: 6px solid var(--wine); /* Focus sur le côté humain */
    padding: 40px;
    border-radius: 20px;
    transition: transform 0.3s ease;
}

.debat-card:hover {
    transform: translateY(-5px);
}

#arg-empathy-title, #arg-cost-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.6rem;
    color: var(--dark);
    margin-bottom: 20px;
}

#arg-empathy-desc, #arg-cost-desc {
    line-height: 1.7;
    color: var(--dark);
    opacity: 0.85;
}

#arg-empathy-desc strong, #arg-cost-desc strong {
    color: var(--wine);
}

/* --- Responsive --- */
@media (max-width: 800px) {
    #debat-header { text-align: left; }
    #debat-quote-box { padding: 40px 25px; }
    #debat-arguments-grid { grid-template-columns: 1fr; }
}

/* --- RESPONSIVE MOBILE (Section Le Débat) --- */
@media (max-width: 768px) {
    #section-le-debat {
        padding: 60px 0; /* Réduction de l'espace vertical */
    }

    #debat-wrapper {
        padding: 0 20px;
    }

    /* Header */
    #debat-header {
        text-align: center; /* Centrage pour un look plus équilibré sur mobile */
        margin-bottom: 40px;
    }

    #debat-kicker {
        font-size: 0.7rem;
        letter-spacing: 2px;
        margin-bottom: 15px;
    }

    #debat-title {
        font-size: 2.2rem;
        line-height: 1.1;
        margin-bottom: 20px;
    }

    #debat-intro {
        font-size: 1.05rem;
        line-height: 1.6;
        text-align: left; /* Meilleure lisibilité pour les textes longs */
    }

    /* Image et Cadre (Effet Photo) */
    #debat-visual-frame {
        margin: 40px auto;
    }

    #debat-figure {
        padding: 8px; /* On réduit le cadre "photo print" pour gagner de la place */
        border-radius: 2px;
    }

    #debat-caption {
        font-size: 0.8rem;
        margin-top: 10px;
    }

    /* Bloc Citation Pivot */
    #debat-quote-box {
        margin: 60px 0;
        padding: 40px 20px 30px; /* Plus d'espace en haut pour l'icône */
        border-radius: 0 20px 20px 0;
        border-left-width: 6px;
    }

    #quote-icon {
        width: 40px;
        height: 40px;
        top: -20px;
        left: 15px;
        font-size: 1rem;
    }

    #quote-text {
        font-size: 1.25rem;
        line-height: 1.4;
    }

    #quote-source {
        font-size: 0.7rem;
        margin-top: 15px;
    }

    /* Grille d'Arguments */
    #debat-arguments-grid {
        grid-template-columns: 1fr; /* Force une seule colonne */
        gap: 20px;
    }

    .debat-card {
        padding: 30px 20px;
        border-radius: 16px;
        border-top-width: 5px;
    }

    /* On retire l'effet hover pour éviter les sauts visuels au tactile */
    .debat-card:hover {
        transform: none;
    }

    #arg-empathy-title, #arg-cost-title {
        font-size: 1.4rem;
        margin-bottom: 12px;
    }

    #arg-empathy-desc, #arg-cost-desc {
        font-size: 0.95rem;
        line-height: 1.5;
    }
}

/* Optimisation pour les terminaux ultra-fins (iPhone SE / mini) */
@media (max-width: 380px) {
    #debat-title {
        font-size: 1.9rem;
    }

    #quote-text {
        font-size: 1.1rem;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-7d38b81 *//* --- Base de la section Adaptation --- */
#adaptation-section {
    padding: clamp(80px, 12vw, 140px) 0;
    background-color: var(--white);
    font-family: 'Inter', system-ui, sans-serif;
}

#adaptation-container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 24px;
}

/* --- Header --- */
#adaptation-header {
    margin-bottom: 60px;
}

#adaptation-accent-line {
    width: 60px;
    height: 4px;
    background: var(--wine);
    margin-bottom: 25px;
    border-radius: 2px;
}

#adaptation-main-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.2rem, 5vw, 3.2rem);
    color: var(--dark);
    line-height: 1.1;
    font-weight: 900;
    margin: 0 0 25px 0;
}

#title-adaptation-wine {
    color: var(--wine);
    font-style: italic;
    font-weight: 400;
}

#adaptation-intro-text {
    font-size: 1.15rem;
    line-height: 1.7;
    color: var(--dark);
    opacity: 0.85;
    max-width: 75ch;
}

/* --- Carte Riposte (Style Émotionnel) --- */
#riposte-card {
    display: flex;
    background: var(--white);
    border: 1px solid var(--border-lux);
    border-radius: 24px;
    padding: 40px;
    margin-bottom: 40px;
    box-shadow: 0 10px 30px rgba(110, 27, 137, 0.03);
    position: relative;
    overflow: hidden;
}

#riposte-visual-marker {
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 8px;
    background: var(--wine);
}

#riposte-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.6rem;
    color: var(--wine);
    margin-bottom: 15px;
}

#riposte-text {
    line-height: 1.7;
    color: var(--dark);
    margin: 0;
}

/* --- Dashboard Hybride (Style Technique) --- */
#hybrid-dashboard {
    background: linear-gradient(135deg, var(--dark) 0%, #2a1b4a 100%);
    border-radius: 32px;
    padding: clamp(35px, 5vw, 60px);
    color: var(--white);
    box-shadow: 0 30px 60px rgba(30, 16, 54, 0.2);
}

#dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 30px;
}

#dashboard-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.8rem;
    margin: 0;
}

#dashboard-badge {
    background: var(--purple);
    color: var(--white);
    padding: 6px 16px;
    border-radius: 100px;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
}

#dashboard-subtitle {
    font-size: 1.1rem;
    opacity: 0.8;
    margin-bottom: 40px;
}

/* Grille de modules */
#hybrid-modules-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
}

.hybrid-module {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 25px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    transition: all 0.3s ease;
}

.hybrid-module:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: var(--purple);
    transform: translateY(-5px);
}

.mod-icon {
    font-size: 1.5rem;
    width: 45px;
    height: 45px;
    background: var(--purple);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
}

.mod-text {
    font-size: 0.95rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.9);
}

.mod-text strong {
    color: var(--lavender);
}

/* --- Responsive --- */
@media (max-width: 600px) {
    #riposte-card { padding: 30px; }
    #hybrid-dashboard { padding: 30px 20px; }
    #dashboard-header { flex-direction: column; align-items: flex-start; }
}

/* --- RESPONSIVE MOBILE (Section Adaptation) --- */
@media (max-width: 768px) {
    #adaptation-section {
        padding: 60px 0; /* Réduction de l'espace vertical */
    }

    #adaptation-container {
        padding: 0 20px;
    }

    /* Header : On centre pour un rendu plus "App" */
    #adaptation-header {
        text-align: center;
        margin-bottom: 40px;
    }

    #adaptation-accent-line {
        width: 40px;
        margin: 0 auto 15px; /* Centrage de la ligne */
    }

    #adaptation-main-title {
        font-size: 2rem;
        line-height: 1.2;
    }

    #adaptation-intro-text {
        font-size: 1.05rem;
        line-height: 1.6;
        text-align: left; /* Meilleur confort de lecture pour les longs textes */
    }

    /* Carte Riposte (Style Émotionnel) */
    #riposte-card {
        padding: 30px 20px;
        padding-left: 30px; /* On laisse de la place pour le marqueur Wine */
        border-radius: 20px;
        margin-bottom: 30px;
    }

    #riposte-visual-marker {
        width: 6px; /* Marqueur un peu plus fin sur mobile */
    }

    #riposte-title {
        font-size: 1.4rem;
        margin-bottom: 10px;
    }

    #riposte-text {
        font-size: 0.95rem;
        line-height: 1.5;
    }

    /* Dashboard Hybride (Style Technique) */
    #hybrid-dashboard {
        padding: 35px 20px;
        border-radius: 24px;
    }

    #dashboard-header {
        flex-direction: column; /* On empile le titre et le badge */
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 25px;
    }

    #dashboard-title {
        font-size: 1.5rem;
    }

    #dashboard-badge {
        font-size: 0.65rem;
        padding: 4px 12px;
    }

    #dashboard-subtitle {
        font-size: 0.95rem;
        margin-bottom: 30px;
        line-height: 1.5;
    }

    /* Grille de modules : Passage en 1 colonne pour la clarté */
    #hybrid-modules-grid {
        grid-template-columns: 1fr; 
        gap: 15px;
    }

    .hybrid-module {
        padding: 20px;
        gap: 12px;
        border-radius: 16px;
    }

    /* On désactive les effets de survol pour éviter les bugs tactiles */
    .hybrid-module:hover {
        transform: none;
        border-color: rgba(255, 255, 255, 0.1);
    }

    .mod-icon {
        width: 40px;
        height: 40px;
        font-size: 1.2rem;
        border-radius: 10px;
    }

    .mod-text {
        font-size: 0.9rem;
    }
}

/* Optimisation pour les terminaux ultra-fins (iPhone SE / mini) */
@media (max-width: 380px) {
    #adaptation-main-title {
        font-size: 1.7rem;
    }

    #dashboard-title {
        font-size: 1.3rem;
    }

    .hybrid-module {
        padding: 15px;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-33ef691 *//* --- Base de la section Avis --- */
#section-avis-utilisateurs {
    padding: clamp(80px, 12vw, 140px) 0;
    background-color: var(--white);
    font-family: 'Inter', system-ui, sans-serif;
    position: relative;
    scroll-margin-top: 80px;
}

#avis-wrapper {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}

/* --- Header avec point d'exclamation visuel --- */
#avis-header {
    margin-bottom: 60px;
    text-align: left;
}

#avis-accent-dot {
    width: 12px;
    height: 12px;
    background: var(--purple);
    border-radius: 50%;
    margin-bottom: 20px;
    box-shadow: 0 0 15px rgba(110, 27, 137, 0.4);
}

#avis-main-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.2rem, 5vw, 3.2rem);
    color: var(--dark);
    line-height: 1.1;
    font-weight: 900;
    margin: 0;
}

#title-avis-purple {
    color: var(--purple);
    font-style: italic;
    font-weight: 400;
}

/* --- Bloc Image (Style Galerie) --- */
#avis-visual-deck {
    margin: 60px 0;
}

#avis-figure {
    margin: 0;
    max-width: 800px;
}

#avis-img-frame {
    padding: 12px;
    background: var(--white);
    border: 1px solid var(--border-lux);
    box-shadow: 0 20px 40px rgba(30, 16, 54, 0.06);
    border-radius: 12px;
    transform: rotate(-1deg);
    transition: transform 0.5s ease;
}

#avis-img-frame:hover {
    transform: rotate(0deg) scale(1.02);
}

#avis-hero-img {
    width: 100%;
    border-radius: 6px;
    display: block;
}

#avis-img-caption {
    margin-top: 20px;
    font-size: 0.9rem;
    color: var(--dark);
    opacity: 0.6;
    font-style: italic;
    border-left: 2px solid var(--lavender);
    padding-left: 15px;
}

/* --- Grille de Feedback --- */
#feedback-comparison-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
}

#feedback-human-card, #feedback-ai-card {
    position: relative;
    padding: 45px;
    border-radius: 24px;
    border: 1px solid var(--border-lux);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    background: var(--white);
    display: flex;
    flex-direction: column;
}

#feedback-human-card:hover, #feedback-ai-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 50px rgba(30, 16, 54, 0.08);
}

/* Badges de tête */
#label-human, #label-ai {
    font-size: 0.7rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 25px;
}

#label-human { color: var(--purple); }
#label-ai { color: var(--wine); }

/* Contenu des cartes */
#feedback-human-title, #feedback-ai-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.6rem;
    margin-bottom: 20px;
}

#feedback-human-title { color: var(--dark); }
#feedback-ai-title { color: var(--wine); }

#feedback-human-text, #feedback-ai-text {
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--dark);
    opacity: 0.9;
    flex-grow: 1;
}

#feedback-human-text strong { color: var(--purple); }
#feedback-ai-text strong { color: var(--wine); }

/* Marqueurs visuels en bas de carte */
#feedback-human-marker, #feedback-ai-marker {
    height: 4px;
    width: 40px;
    margin-top: 30px;
    border-radius: 2px;
}

#feedback-human-marker { background: var(--purple); }
#feedback-ai-marker { background: var(--wine); }

/* Couleur de fond spécifique pour la carte IA */
#feedback-ai-card {
    background-color: #fdfafc; /* Teinte Wine ultra-diluée */
}

/* --- Responsive --- */
@media (max-width: 768px) {
    #avis-img-frame { transform: none; }
    #feedback-human-card, #feedback-ai-card { padding: 30px; }
}

/* --- RESPONSIVE MOBILE (Avis Utilisateurs) --- */
@media (max-width: 768px) {
    #section-avis-utilisateurs {
        padding: 60px 0; /* Réduction du souffle vertical */
    }

    #avis-wrapper {
        padding: 0 20px;
    }

    /* Header */
    #avis-header {
        text-align: center; /* Centrage pour un look plus équilibré sur mobile */
        margin-bottom: 40px;
    }

    #avis-accent-dot {
        margin: 0 auto 15px; /* Centrage du point d'accent */
    }

    #avis-main-title {
        font-size: 2rem;
        line-height: 1.2;
    }

    /* Bloc Image Galerie */
    #avis-visual-deck {
        margin: 40px 0;
    }

    #avis-img-frame {
        padding: 8px; /* On réduit le cadre blanc */
        transform: none !important; /* On annule la rotation pour éviter les débordements */
        border-radius: 10px;
    }

    /* On désactive le hover scale sur mobile pour éviter les bugs tactiles */
    #avis-img-frame:hover {
        transform: none;
    }

    #avis-img-caption {
        font-size: 0.85rem;
        margin-top: 15px;
        text-align: left;
    }

    /* Grille de Feedback : Passage en colonne unique impératif */
    #feedback-comparison-grid {
        grid-template-columns: 1fr; 
        gap: 20px;
    }

    #feedback-human-card, #feedback-ai-card {
        padding: 30px 20px; /* On réduit de 45px à 20px sur les côtés */
        border-radius: 20px;
        text-align: left;
    }

    /* On calme les effets de survol sur mobile */
    #feedback-human-card:hover, #feedback-ai-card:hover {
        transform: none;
        box-shadow: 0 10px 20px rgba(30, 16, 54, 0.05);
    }

    #label-human, #label-ai {
        font-size: 0.65rem;
        margin-bottom: 15px;
    }

    #feedback-human-title, #feedback-ai-title {
        font-size: 1.4rem;
        margin-bottom: 15px;
    }

    #feedback-human-text, #feedback-ai-text {
        font-size: 0.95rem;
        line-height: 1.6;
    }

    /* Marqueurs de bas de carte */
    #feedback-human-marker, #feedback-ai-marker {
        margin-top: 25px;
        width: 30px;
    }
}

/* Optimisation pour les terminaux ultra-fins (iPhone SE / mini) */
@media (max-width: 380px) {
    #avis-main-title {
        font-size: 1.7rem;
    }

    #feedback-human-title, #feedback-ai-title {
        font-size: 1.25rem;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-d5e5048 *//* --- Base de la section Limites --- */
#section-limites-fondamentales {
    padding: clamp(60px, 10vw, 120px) 0;
    background-color: #fdfcfd; /* Très léger contraste */
    font-family: 'Inter', system-ui, sans-serif;
    position: relative;
    scroll-margin-top: 80px;
}

#limites-wrapper {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 24px;
}

/* --- Header avec barre de garde --- */
#limites-header {
    margin-bottom: 50px;
}

#limites-marker {
    width: 8px;
    height: 35px;
    background: var(--wine);
    border-radius: 4px;
    margin-bottom: 20px;
}

#limites-main-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 5vw, 2.8rem);
    color: var(--dark);
    line-height: 1.1;
    font-weight: 900;
    margin: 0;
}

#title-limites-wine {
    color: var(--wine);
    font-style: italic;
    font-weight: 400;
}

/* --- Grille et Cartes "Barrières" --- */
#limites-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 30px;
}

.limit-card, .limit-card-alert {
    background: var(--white);
    border: 1px solid var(--border-lux);
    border-radius: 20px;
    padding: 40px;
    position: relative;
    transition: all 0.4s ease;
    display: flex;
    flex-direction: column;
}

.limit-card:hover, .limit-card-alert:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(138, 21, 56, 0.08);
}

/* Accents de bordure haute */
#limit-card-consciousness, #limit-card-energy { border-top: 6px solid var(--purple); }
#limit-card-ethics { border-top: 6px solid var(--wine); background: #fff9fa; }

/* Numérotation stylisée */
.limit-number, .limit-number-alert {
    font-family: 'Playfair Display', serif;
    font-size: 3rem;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 20px;
    opacity: 0.15;
}

.limit-number { color: var(--purple); }
.limit-number-alert { color: var(--wine); opacity: 0.3; }

/* Typographie interne */
.limit-title, .limit-title-alert {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    margin-bottom: 15px;
    color: var(--dark);
}

.limit-title-alert { color: var(--wine); }

.limit-text {
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--dark);
    opacity: 0.9;
    flex-grow: 1;
}

.limit-text strong { color: var(--wine); }

/* Décorations de bas de carte */
.limit-footer-line {
    height: 2px;
    width: 40px;
    background: var(--lavender);
    margin-top: 30px;
}

.limit-warning-badge {
    display: inline-block;
    margin-top: 30px;
    padding: 4px 12px;
    background: var(--wine);
    color: var(--white);
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 4px;
    align-self: flex-start;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .limit-card, .limit-card-alert { padding: 30px; }
}

/* --- RESPONSIVE MOBILE (Section Limites) --- */
@media (max-width: 768px) {
    #section-limites-fondamentales {
        padding: 50px 0; /* Réduction du souffle vertical */
    }

    #limites-wrapper {
        padding: 0 20px;
    }

    /* Header : On centre pour un aspect plus solennel */
    #limites-header {
        margin-bottom: 40px;
        text-align: center;
    }

    #limites-marker {
        width: 40px; /* On le passe en horizontal sur mobile */
        height: 4px;
        margin: 0 auto 15px;
    }

    #limites-main-title {
        font-size: 1.8rem;
        line-height: 1.2;
    }

    /* Grille : On force l'empilement vertical propre */
    #limites-grid {
        grid-template-columns: 1fr; 
        gap: 20px;
    }

    /* Ajustement des Cartes Barrières */
    .limit-card, .limit-card-alert {
        padding: 30px 20px; /* On réduit pour gagner de la surface de lecture */
        border-radius: 18px;
        text-align: left;
    }

    /* On désactive l'effet de levée au survol pour le tactile */
    .limit-card:hover, .limit-card-alert:hover {
        transform: none;
    }

    /* Numérotation stylisée : on la réduit un peu */
    .limit-number, .limit-number-alert {
        font-size: 2.5rem;
        margin-bottom: 10px;
    }

    /* Typo interne */
    .limit-title, .limit-title-alert {
        font-size: 1.3rem;
        margin-bottom: 10px;
    }

    .limit-text {
        font-size: 0.95rem;
        line-height: 1.6;
    }

    /* Pied de carte et Badge */
    .limit-footer-line {
        margin-top: 20px;
        width: 30px;
    }

    .limit-warning-badge {
        margin-top: 20px;
        padding: 6px 10px;
        font-size: 0.65rem;
    }
}

/* Optimisation pour les écrans ultra-compacts (iPhone SE / mini) */
@media (max-width: 380px) {
    #limites-main-title {
        font-size: 1.6rem;
    }

    .limit-title, .limit-title-alert {
        font-size: 1.2rem;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-a41537d *//* --- Base de la section Futur --- */
#section-futur-hybride {
    padding: clamp(80px, 15vw, 160px) 0;
    background-color: var(--white);
    font-family: 'Inter', system-ui, sans-serif;
    position: relative;
    overflow: hidden;
    scroll-margin-top: 80px;
}

#futur-wrapper {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 1;
}

/* --- Filigrane 2026 --- */
#timeline-watermark {
    position: absolute;
    top: -50px;
    right: -20px;
    font-family: 'Playfair Display', serif;
    font-size: 15rem;
    font-weight: 900;
    color: var(--lavender);
    opacity: 0.4;
    z-index: 0;
    pointer-events: none;
}

/* --- Header --- */
#futur-header {
    margin-bottom: 60px;
    position: relative;
}

#futur-accent-glow {
    width: 50px;
    height: 50px;
    background: var(--purple);
    filter: blur(40px);
    position: absolute;
    top: -20px;
    left: -20px;
    opacity: 0.3;
}

#futur-main-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.2rem, 5vw, 3.2rem);
    color: var(--dark);
    line-height: 1.1;
    font-weight: 900;
    margin-bottom: 25px;
}

#title-futur-purple {
    color: var(--purple);
    font-style: italic;
    font-weight: 400;
}

#futur-lead-text {
    font-size: 1.2rem;
    line-height: 1.8;
    color: var(--dark);
    max-width: 70ch;
    opacity: 0.9;
}

/* --- La Carte de l'Alliance (Le Chef d'œuvre) --- */
#human-retention-card {
    background: var(--dark);
    border-radius: 40px;
    padding: clamp(40px, 8vw, 80px);
    color: var(--white);
    position: relative;
    overflow: hidden;
    box-shadow: 0 40px 100px rgba(30, 16, 54, 0.3);
}

#card-inner-aura {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(138, 21, 56, 0.15) 0%, transparent 60%);
    z-index: 0;
    animation: pulseAura 10s infinite alternate;
}

@keyframes pulseAura {
    from { opacity: 0.3; transform: scale(1); }
    to { opacity: 0.6; transform: scale(1.1); }
}

#card-content-wrapper {
    position: relative;
    z-index: 1;
}

#retention-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.8rem, 4vw, 2.4rem);
    margin: 0 0 20px 0;
    color: var(--lavender);
}

#retention-icon {
    display: block;
    font-size: 2.5rem;
    margin-bottom: 15px;
}

#retention-intro {
    font-size: 1.1rem;
    opacity: 0.8;
    margin-bottom: 50px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 20px;
}

/* --- Liste de Modules --- */
#retention-modules {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.retention-mod {
    display: flex;
    gap: 15px;
    background: rgba(255, 255, 255, 0.03);
    padding: 20px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: all 0.3s ease;
}

.retention-mod:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: var(--purple);
    transform: translateX(10px);
}

.mod-dot {
    width: 10px;
    height: 10px;
    background: var(--purple);
    border-radius: 50%;
    margin-top: 6px;
    box-shadow: 0 0 10px var(--purple);
}

.mod-info strong {
    display: block;
    font-size: 1.1rem;
    color: var(--white);
    margin-bottom: 5px;
}

.mod-info p {
    margin: 0;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.5;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    #human-retention-card { padding: 40px 24px; border-radius: 24px; }
    #timeline-watermark { font-size: 8rem; top: 0; }
}

/* --- RESPONSIVE MOBILE (Futur Hybride) --- */
@media (max-width: 768px) {
    #section-futur-hybride {
        padding: 60px 0; /* Rythme plus nerveux pour le mobile */
    }

    #futur-wrapper {
        padding: 0 20px;
    }

    /* Filigrane 2026 : On le dompte pour éviter le scroll horizontal */
    #timeline-watermark {
        font-size: 6rem; /* On divise par deux pour la lisibilité */
        top: 10px;
        right: 10px;
        opacity: 0.15; /* Plus discret pour ne pas gêner le texte */
    }

    /* Header */
    #futur-header {
        text-align: center; /* Plus "premium" sur mobile */
        margin-bottom: 40px;
    }

    #futur-accent-glow {
        left: 50%;
        transform: translateX(-50%); /* On centre la lueur */
    }

    #futur-main-title {
        font-size: 2.1rem;
        line-height: 1.1;
    }

    #futur-lead-text {
        font-size: 1rem;
        line-height: 1.6;
        text-align: left; /* Confort de lecture préservé */
    }

    /* La Carte de l'Alliance */
    #human-retention-card {
        padding: 35px 20px; /* On libère de l'espace pour le contenu */
        border-radius: 30px;
        box-shadow: 0 20px 50px rgba(30, 16, 54, 0.2);
    }

    #retention-title {
        font-size: 1.6rem;
        text-align: center;
    }

    #retention-icon {
        margin: 0 auto 15px; /* Centrage de l'icône */
    }

    #retention-intro {
        font-size: 0.95rem;
        text-align: center;
        margin-bottom: 30px;
    }

    /* Liste de Modules : Passage en une colonne nette */
    #retention-modules {
        grid-template-columns: 1fr; 
        gap: 15px;
    }

    .retention-mod {
        padding: 15px;
        background: rgba(255, 255, 255, 0.05); /* Un peu plus visible */
    }

    /* On neutralise le hover "translateX" qui est souvent "collant" sur mobile */
    .retention-mod:hover {
        transform: none;
        background: rgba(255, 255, 255, 0.1);
    }

    .mod-info strong {
        font-size: 1rem;
    }

    .mod-info p {
        font-size: 0.85rem;
    }
}

/* Ajustements pour les écrans ultra-compacts (iPhone SE / mini) */
@media (max-width: 380px) {
    #futur-main-title {
        font-size: 1.8rem;
    }

    #retention-title {
        font-size: 1.4rem;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-487f0d58 *//* --- Base de la section Conclusion --- */
#conclusion-section {
    padding: clamp(60px, 12vw, 120px) 0;
    background-color: var(--white);
    font-family: 'Inter', system-ui, sans-serif;
    position: relative;
    scroll-margin-top: 80px;
}

#conclusion-wrapper {
    max-width: 980px;
    margin: 0 auto;
    padding: 0 24px;
}

/* --- Header --- */
#conclusion-header {
    margin-bottom: 40px;
}

#conclusion-accent-bar {
    width: 60px;
    height: 6px;
    background: linear-gradient(90deg, var(--wine), var(--purple));
    border-radius: 3px;
    margin-bottom: 25px;
}

#conclusion-main-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 5vw, 2.8rem);
    color: var(--dark);
    line-height: 1.2;
    font-weight: 900;
    margin: 0;
}

#title-conclusion-wine {
    color: var(--wine);
    font-style: italic;
    font-weight: 400;
}

/* --- Texte Narratif --- */
.conclusion-text {
    font-size: 1.15rem;
    line-height: 1.8;
    color: var(--dark);
    margin-bottom: 20px;
    opacity: 0.9;
}

.conclusion-text-italic {
    font-size: 1.15rem;
    line-height: 1.8;
    color: var(--dark);
    font-style: italic;
    opacity: 0.8;
    border-left: 3px solid var(--lavender);
    padding-left: 20px;
}

/* --- Visuel Figure --- */
#conclusion-visual-deck {
    margin: 50px 0;
}

#conclusion-img-border {
    padding: 10px;
    background: var(--white);
    border: 1px solid var(--border-lux);
    box-shadow: 0 15px 35px rgba(30, 16, 54, 0.08);
    border-radius: 20px;
}

#conclusion-hero-img {
    width: 100%;
    border-radius: 12px;
    display: block;
}

#conclusion-caption {
    margin-top: 15px;
    text-align: center;
    font-size: 0.9rem;
    color: var(--dark);
    opacity: 0.6;
    font-style: italic;
}

/* --- Carte de Conversion Finale (Le "Rideau de Velours") --- */
#final-conversion-card {
    position: relative;
    background: var(--dark);
    color: var(--white);
    border-radius: 40px;
    padding: clamp(40px, 8vw, 70px);
    text-align: center;
    overflow: hidden;
    box-shadow: 0 30px 60px rgba(30, 16, 54, 0.25);
    margin-top: 60px;
}

#card-inner-glow {
    position: absolute;
    top: -50%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 200%;
    background: radial-gradient(circle, rgba(110, 27, 137, 0.2) 0%, transparent 70%);
    z-index: 0;
}

#card-content {
    position: relative;
    z-index: 1;
}

#card-motto {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.6rem, 4vw, 2.2rem);
    color: var(--lavender);
    margin: 0 0 25px 0;
}

#motto-icon {
    display: block;
    margin-bottom: 10px;
    font-size: 2rem;
}

#card-message {
    font-size: 1.1rem;
    line-height: 1.7;
    max-width: 700px;
    margin: 0 auto 40px;
    opacity: 0.9;
}

/* Boutons CTA */
#cta-button-group {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.cta-button {
    text-decoration: none;
    display: inline-block;
    padding: 18px 35px;
    border-radius: 50px;
    background: var(--wine);
    color: var(--white);
    font-weight: 800;
    font-size: 1.05rem;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 10px 25px rgba(138, 21, 56, 0.4);
}

.cta-button:hover {
    transform: translateY(-5px) scale(1.03);
    box-shadow: 0 15px 35px rgba(138, 21, 56, 0.5);
    background: #a11a43; /* Un Wine légèrement plus lumineux pour le hover */
}

#btn-guidance-mail {
    background: transparent;
    border: 2px solid var(--lavender);
    box-shadow: none;
}

#btn-guidance-mail:hover {
    background: var(--lavender);
    color: var(--purple);
}

/* --- Responsive --- */
@media (max-width: 768px) {
    #final-conversion-card { padding: 40px 24px; border-radius: 24px; }
    #cta-button-group { flex-direction: column; }
    .cta-button { width: 100%; box-sizing: border-box; }
}

/* --- RESPONSIVE MOBILE (Conclusion & Final CTA) --- */
@media (max-width: 768px) {
    #conclusion-section {
        padding: 50px 0; /* On réduit le souffle pour garder l'attention */
    }

    #conclusion-wrapper {
        padding: 0 20px;
    }

    /* Header : Centrage "Premium" */
    #conclusion-header {
        text-align: center;
        margin-bottom: 35px;
    }

    #conclusion-accent-bar {
        width: 40px;
        height: 5px;
        margin: 0 auto 15px; /* On centre la barre d'accentuation */
    }

    #conclusion-main-title {
        font-size: 1.8rem;
        line-height: 1.2;
    }

    /* Texte Narratif : Plus compact */
    .conclusion-text, .conclusion-text-italic {
        font-size: 1rem;
        line-height: 1.6;
        text-align: left;
    }

    .conclusion-text-italic {
        padding-left: 15px;
        border-left-width: 3px;
    }

    /* Visuel : On optimise la place de l'image */
    #conclusion-visual-deck {
        margin: 30px 0;
    }

    #conclusion-img-border {
        padding: 6px; /* On réduit le cadre blanc pour agrandir l'image */
        border-radius: 16px;
    }

    /* La Carte de Conversion Finale */
    #final-conversion-card {
        padding: 45px 20px;
        border-radius: 30px;
        margin-top: 40px;
        box-shadow: 0 20px 50px rgba(30, 16, 54, 0.2);
    }

    #card-motto {
        font-size: 1.5rem;
        line-height: 1.3;
        margin-bottom: 20px;
    }

    #motto-icon {
        font-size: 1.8rem;
    }

    #card-message {
        font-size: 0.95rem;
        line-height: 1.6;
        margin-bottom: 30px;
    }

    /* Boutons CTA : Ergonomie Tactile maximale */
    #cta-button-group {
        flex-direction: column; /* Empilage vertical pour le pouce */
        gap: 12px;
    }

    .cta-button {
        width: 100%; /* Pleine largeur pour un clic sans effort */
        padding: 16px 20px;
        font-size: 1rem;
        text-align: center;
        box-sizing: border-box;
    }

    /* On calme le hover scale pour éviter les clics "collants" */
    .cta-button:hover {
        transform: translateY(-2px);
    }
}

/* Optimisation pour les écrans de poche (iPhone SE / mini) */
@media (max-width: 380px) {
    #conclusion-main-title {
        font-size: 1.6rem;
    }

    #card-motto {
        font-size: 1.3rem;
    }

    .conclusion-text-italic {
        font-size: 0.95rem;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-095eece *//* --- Base de la section FAQ --- */
#section-faq-final {
    padding: clamp(60px, 10vw, 120px) 0;
    background-color: #fdfdfd;
    font-family: 'Inter', system-ui, sans-serif;
    position: relative;
    scroll-margin-top: 80px;
}

#faq-mystic-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px;
}

/* --- Header --- */
#faq-editorial-header {
    margin-bottom: 50px;
    text-align: left;
}

#faq-status-light {
    width: 10px;
    height: 10px;
    background: var(--dark);
    border-radius: 50%;
    margin-bottom: 20px;
    box-shadow: 0 0 10px rgba(30, 16, 54, 0.2);
}

#faq-editorial-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    color: var(--dark);
    line-height: 1.2;
    font-weight: 900;
    margin: 0;
}

#title-faq-purple {
    color: var(--purple);
    font-style: italic;
    font-weight: 400;
}

/* --- Accordéon de Sagesse --- */
#faq-accordion-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.faq-card {
    background: var(--white);
    border: 1px solid var(--border-lux);
    border-radius: 16px;
    box-shadow: 0 4px 15px rgba(30, 16, 54, 0.02);
    overflow: hidden;
    transition: all 0.3s ease;
}

.faq-card:hover {
    box-shadow: 0 10px 25px rgba(30, 16, 54, 0.06);
}

/* Bordures thématiques */
.card-purple { border-left: 6px solid var(--purple); }
.card-wine { border-left: 6px solid var(--wine); }

/* Zone de Question */
.faq-question {
    padding: 22px 28px;
    cursor: pointer;
    font-weight: 800;
    color: var(--dark);
    font-size: 1.05rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none; /* Cache la flèche native */
    user-select: none;
}

.faq-question::-webkit-details-marker { display: none; }

/* Icône personnalisée (+ / -) */
.faq-toggle-icon {
    position: relative;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.faq-toggle-icon::before,
.faq-toggle-icon::after {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    background: var(--purple);
    transition: all 0.3s ease;
}

.faq-toggle-icon::before { width: 16px; height: 2px; }
.faq-toggle-icon::after { width: 2px; height: 16px; }

/* État Ouvert */
.faq-card[open] .faq-toggle-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.faq-card[open] .faq-question {
    background: var(--lavender);
    color: var(--purple);
}

/* Zone de Réponse */
.faq-content {
    padding: 0 28px 28px 28px;
    line-height: 1.7;
    color: var(--dark);
    opacity: 0.9;
    font-size: 1.05rem;
    animation: faqFade 0.4s ease-out;
}

@keyframes faqFade {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 0.9; transform: translateY(0); }
}

.faq-content strong { color: var(--wine); }

/* --- Responsive --- */
@media (max-width: 600px) {
    .faq-question { padding: 20px; font-size: 1rem; }
    .faq-content { padding: 0 20px 20px 20px; }
}/* End custom CSS */