/* ============================================
   LINA CAPITAL - Page Investir
   Nouveau style inspir&eacute; Helpo
   Fonts: Quicksand (Google) + Storytella (locale)
   ============================================ */

/* -- Chargement polices -- */
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;700&display=swap');

/* -- Police manuscrite Storytella (locale) -- */
@font-face {
    font-family: 'Storytella';
    src: url('../fonts/storytella/storytella.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* ============================================
   REGLES TYPOGRAPHIQUES GLOBALES PAGE INVESTIR
   ------------------------------------------
   H1: 70px (hero uniquement, blanc)
   H2: 50px, line-height 1.1, letter-spacing -3.5px
   H3: 30px, line-height 1.1, letter-spacing -2px
   Corps: 18px, line-height 1.5
   Couleur titres: #4a4c70
   Padding sections: 160px haut/bas
   Titres: bold (700) + light (300) pour accentuer
   Container: max-width 1440px, padding 0 40px
   ============================================ */


/* ============================================
   HERO
   - Image de fond pleine largeur (740px)
   - Overlay navy 30%
   - Texte aligne a gauche dans container 1440px
   - Mot manuscrit "S'eduquer" en Storytella (decoratif, bas droite)
   ============================================ */
.inv-hero {
    position: relative;
    width: 100%;
    height: 740px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    padding-top: 100px;
    overflow: hidden;
}

/* Overlay semi-transparent sur l'image hero */
.inv-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(27, 42, 74, 0.30);
    z-index: 1;
}

/* Conteneur du texte - meme container que les autres sections */
.inv-hero-content {
    position: relative;
    z-index: 2;
    text-align: left;
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
    padding: 0 40px;
}

/* Titre H1 en Quicksand - 2 epaisseurs bold/light */
.inv-hero-title {
    font-family: 'Quicksand', sans-serif;
    font-size: 70px;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    letter-spacing: -3.5px;
    margin-bottom: 20px;
    max-width: 50%;
}

/* Chaque span du H1 sur sa propre ligne */
.inv-hero-title span {
    display: block;
}

/* Mots importants en bold */
.inv-hero-title .inv-bold {
    font-weight: 700;
}

/* Mots secondaires en light */
.inv-hero-title .inv-light {
    font-weight: 300;
}

/* Texte descriptif sous le H1 */
.inv-hero-text {
    font-family: 'Quicksand', sans-serif;
    font-size: 20px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.4;
    max-width: 600px;
}

/* Bouton CTA principal */
.inv-hero-btn {
    display: inline-block;
    font-family: 'Quicksand', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    background: #efc940;
    padding: 14px 35px;
    border-radius: 10px;
    text-decoration: none;
    margin-top: 25px;
    transition: background 0.3s;
}

/* Hover du bouton CTA */
.inv-hero-btn:hover {
    background: #d4ae2e;
}

/* Mot manuscrit decoratif en Storytella (comme "Mercy" dans Helpo) */
.inv-hero-handwrite {
    position: absolute;
    bottom: -55px;
    right: 40px;
    z-index: 2;
    font-family: 'Storytella', cursive;
    font-size: 200px;
    color: #efc940;
    line-height: 1;
    pointer-events: none;
}


/* ============================================
   BARRE BADGES
   - Bande navy sous le hero
   - 3 mentions avec icones Font Awesome
   ============================================ */
.inv-badges-bar {
    background: #1B2A4A;
    padding: 12px 40px;
}

/* Container interne centre */
.inv-badges-bar-inner {
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    gap: 40px;
}

/* Chaque badge : texte discret */
.inv-badge-item {
    font-family: 'Quicksand', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.75);
    letter-spacing: 0.3px;
}

/* Icones des badges en jaune (couleur du bouton Hero) */
.inv-badge-item i {
    color: #efc940;
    margin-right: 6px;
    font-size: 12px;
}


/* ============================================
   SECTION : POURQUOI INVESTIR
   - Grille 3 colonnes : intro (1.4fr) + 2 cards (1fr)
   - 3 cards fond beige avec icones vert clair
   - Image decorative fond-orange.png en arriere-plan
   - Padding sections : 160px haut/bas
   ============================================ */
.inv-pourquoi {
    padding: 160px 0;
    background: #fff;
    position: relative;
    overflow: hidden;
}

/* Image decorative en arriere-plan (style Helpo) */
.inv-pourquoi-bg {
    position: absolute;
    right: 100px;
    top: 50%;
    transform: translateY(-50%);
    width: 600px;
    height: auto;
    z-index: 0;
    pointer-events: none;
}

/* Grille principale : intro + 2 cards en haut, vide + card en bas */
.inv-pourquoi-grid {
    position: relative;
    z-index: 1;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: 1.4fr 2fr;
    align-items: start;
    gap: 30px;
}

/* Colonne intro : titre + texte + bouton */
.inv-pourquoi-intro {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-right: 40px;
}

/* Pré-titre au-dessus du H2 (style Helpo) */
.heading__pre-title {
    display: inline-block;
    font-family: 'Quicksand', sans-serif;
    font-size: 16px;
    color: #9e9e9e;
    font-weight: 700;
    margin-bottom: 10px;
}

/* Titre H2 de la section - 2 epaisseurs */
.inv-pourquoi-title {
    font-family: 'Quicksand', sans-serif;
    font-size: 50px;
    color: #4a4c70;
    line-height: 1.1;
    letter-spacing: -3.5px;
    margin-bottom: 15px;
}

/* Mots importants du H2 en bold */
.inv-pourquoi-title .inv-bold {
    font-weight: 700;
}

/* Pas d'italique sur les em des titres */
.inv-pourquoi-title .inv-bold em {
    font-style: normal;
}

/* Mots secondaires du H2 en regular */
.inv-pourquoi-title .inv-light {
    font-weight: 400;
}

/* Texte descriptif sous le titre */
.inv-pourquoi-text {
    font-family: 'Quicksand', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #666;
    line-height: 1.5;
    margin-bottom: 60px;
    max-width: 80%;
}

/* Bouton outline avec fleche pointillee */
.inv-pourquoi-btn {
    display: inline-flex;
    align-items: center;
    font-family: 'Quicksand', sans-serif;
    font-size: 17px;
    font-weight: 600;
    color: #1a1a1a;
    text-decoration: none;
    border: 1.5px solid #efc940;
    background: #fff;
    padding: 14px 25px;
    border-radius: 50px;
    transition: all 0.3s;
    align-self: flex-start;
}

/* Hover du bouton outline */
.inv-pourquoi-btn:hover {
    background: #efc940;
    border-color: #efc940;
    color: #333;
    transform: translateY(-5px);
    box-shadow: 0 20px 38px rgba(0, 0, 0, 0.16);
}

/* Fleche decorative dans le bouton */
.inv-btn-arrow {
    margin-left: 15px;
    letter-spacing: 3px;
}

/* Image sous le bouton dans la colonne intro */
.inv-pourquoi-img {
    display: block;
    width: 240px;
    height: auto;
    margin-top: 30px;
    margin-left: auto;
}

/* Conteneur des 3 cards - grille independante de la colonne intro */
.inv-pourquoi-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

/* Card 3 seule sur sa ligne */
.inv-pourquoi-cards .inv-pourquoi-card:last-child {
    grid-column: 2;
}

/* Cards fond beige */
.inv-pourquoi-card {
    background: #f5f3eb;
    border-radius: 16px;
    padding: 35px 40px;
}

/* Icone dans un carre vert clair */
.inv-pourquoi-icon {
    width: 65px;
    height: 65px;
    background: #dfe8a0;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
}

/* Couleur de l'icone */
.inv-pourquoi-icon i {
    font-size: 22px;
    color: #5a6b2a;
}

/* Titre H3 des cards - 2 epaisseurs */
.inv-pourquoi-card-title {
    font-family: 'Quicksand', sans-serif;
    font-size: 30px;
    font-weight: 400;
    color: #4a4c70;
    line-height: 1.1;
    letter-spacing: -2px;
    margin-bottom: 15px;
}

/* Mots importants des H3 en bold, sans italique */
.inv-pourquoi-card-title em {
    font-weight: 700;
    font-style: normal;
}

/* Corps de texte des cards */
.inv-pourquoi-card p {
    font-family: 'Quicksand', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #666;
    line-height: 1.5;
}



/* ============================================
   SECTION : LES MODULES (style Helpo Causes)
   - Heading + fleches a droite
   - Slider Slick qui deborde a droite
   - Cards blanches avec ombre legere
   - Padding sections : 160px haut/bas
   ============================================ */
/* Section avec fond beige sur 65% du haut (style Helpo) */
.inv-modules {
    padding: 140px 0;
    background: transparent;
    position: relative;
    overflow: hidden;
}

/* Image decorative arriere-plan (style Helpo causes__bg) */
.inv-modules-bg {
    position: absolute;
    bottom: 0;
    right: 0;
    pointer-events: none;
    z-index: -1;
}

.inv-modules::before {
    content: "";
    display: block;
    width: 100%;
    height: 65%;
    background: #f9f7f6;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

/* Ligne 1 : 2 colonnes independantes (intro | compteurs) */
.inv-modules-row1 {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    align-items: start;
    gap: 40px;
}

/* Colonne gauche du header */
.inv-modules-header-left {
    max-width: 600px;
}

/* Titre H2 des modules */
.inv-modules-title {
    font-family: 'Quicksand', sans-serif;
    font-size: 50px;
    color: #4a4c70;
    line-height: 1.1;
    letter-spacing: -3.5px;
    margin-bottom: 15px;
}

.inv-modules-title .inv-bold {
    font-weight: 700;
}

.inv-modules-title .inv-light {
    font-weight: 400;
}

/* Texte descriptif sous le titre (style Helpo: 16px, 500, #777, line-height 1.7) */
.inv-modules-text {
    font-family: 'Quicksand', sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: #777;
    line-height: 1.5;
    margin-bottom: 0;
}

/* Bouton outline (style Helpo button--primary) */
.inv-modules-btn {
    display: inline-flex;
    align-items: center;
    font-family: 'Quicksand', sans-serif;
    font-size: 17px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: normal;
    color: #333;
    text-decoration: none;
    border: 1.5px solid #efc940;
    background: #fff;
    padding: 14px 40px;
    border-radius: 50px;
    min-width: 160px;
    transition: all 0.3s;
    margin-top: 30px;
}

.inv-modules-btn:hover {
    background: #efc940;
    color: #333;
    transform: translateY(-5px);
    box-shadow: 0 20px 38px rgba(0, 0, 0, 0.16);
}

/* Compteurs : grille 2 colonnes calée à droite */
.inv-modules-counters {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 120px;
    align-self: center;
    justify-self: center;
}

/* Chaque compteur (style Helpo counter-item--style-3) */
.inv-counter-item {
    text-align: left;
}

/* Label du compteur (style Helpo: 20px, 700, #4a4c70) */
.inv-counter-label {
    font-family: 'Quicksand', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #4a4c70;
    line-height: 1.2;
    letter-spacing: -1px;
    margin-bottom: 8px;
}

/* Sous-texte parenthèse (durée) - meme style que le label */
.inv-counter-sub {
    font-size: 20px;
    font-weight: 700;
    color: #4a4c70;
}

/* Valeur du compteur (style Helpo: 100px, 700, #5e5c8b, letter-spacing -0.07em) */
.inv-counter-value {
    font-family: 'Quicksand', sans-serif;
    font-size: 100px;
    font-weight: 700;
    color: #5e5c8b;
    line-height: 1.2;
    letter-spacing: -0.07em;
}

/* Unite (k, bil) */
.inv-counter-unit {
    font-size: 60px;
    font-weight: 400;
    color: #9e9e9e;
    margin-left: 4px;
}

/* Ligne 2 : fleches alignees a droite */
.inv-modules-row2 {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    justify-content: flex-end;
    margin-bottom: 40px;
}

/* Navigation fleches du slider (style Helpo) */
.inv-slider-nav {
    display: inline-flex;
    align-items: center;
}

.inv-slider-prev,
.inv-slider-next {
    width: 45px;
    height: 45px;
    border: 2px solid #efc940;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #4a4c70;
    transition: all 0.3s;
}

.inv-slider-prev {
    margin-right: 17px;
}

.inv-slider-prev:hover,
.inv-slider-next:hover {
    background: #efc940;
    color: #4a4c70;
}

/* Conteneur du slider - aligne a gauche du container, deborde a droite (style Helpo) */
/* overflow hidden masque la gauche, padding-right laisse la moitié de la 4eme card visible */
.inv-modules-holder {
    margin-left: calc(50% - 700px);
    padding-right: calc(50% - 700px);
    overflow: hidden;
}

/* Slider Slick : overflow visible pour laisser les cards deborder dans le padding */
.inv-modules-slider .slick-list {
    overflow: visible;
    padding: 20px 0 50px;
}

/* Espacement entre les slides */
.inv-modules-slider .slick-slide {
    margin: 0 15px;
    height: auto;
}

/* Forcer la meme hauteur sur tous les slides */
.inv-modules-slider .slick-track {
    display: flex;
}

.inv-modules-slider .slick-slide > div {
    height: 100%;
}

.inv-modules-slider .slick-slide .inv-module-card {
    height: 100%;
}

/* Card module (style Helpo causes-item) */
.inv-module-card {
    background: #fff;
    border-radius: 16px;
    padding: 45px 30px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.06);
    min-height: 350px;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s, box-shadow 0.3s;
}

/* Hover sur la card */
.inv-module-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 38px rgba(0, 0, 0, 0.1);
}

/* Numero du module */
.inv-module-num {
    font-family: 'Quicksand', sans-serif;
    font-size: 50px;
    font-weight: 700;
    color: #efc940;
    line-height: 1;
    letter-spacing: -0.07em;
    margin-bottom: 20px;
}

/* Titre H3 du module */
.inv-module-card-title {
    font-family: 'Quicksand', sans-serif;
    font-size: 24px;
    font-weight: 400;
    color: #4a4c70;
    line-height: 1.2;
    letter-spacing: -1px;
    margin-bottom: 15px;
}

/* Mots importants en bold, sans italique */
.inv-module-card-title em {
    font-weight: 700;
    font-style: normal;
}

/* Description du module */
.inv-module-card p {
    font-family: 'Quicksand', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #666;
    line-height: 1.5;
    flex-grow: 1;
}

/* Image du module (entre paragraphe et formats) - format 16:9, 600x340px recommandé */
.inv-module-img {
    width: 100%;
    height: 180px;
    border-radius: 15px;
    margin-top: 20px;
    object-fit: cover;
}

/* Conteneur des 3 formats disponibles */
.inv-module-formats {
    display: flex;
    gap: 20px;
    margin-top: 25px;
}

/* Format (video, podcast, mail) */
.inv-module-format {
    font-family: 'Quicksand', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #9e9e9e;
    display: inline-flex;
    align-items: center;
}

.inv-module-format i {
    color: #efc940;
    margin-right: 8px;
    font-size: 16px;
}


/* ============================================
   SECTION : ILS NOUS FONT CONFIANCE
   - Images qui se chevauchent (style Helpo donors)
   - Zone de texte en position absolute haut gauche
   - Padding sections : 160px haut/bas
   ============================================ */
.inv-partners {
    padding: 0 0 90px 0;
    background: #fff;
    position: relative;
    overflow: hidden;
}

/* Image decorative arriere-plan centree */
.inv-partners-bg {
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 0;
}

/* Container */
.inv-partners-container {
    position: relative;
    z-index: 1;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
}

/* Heading : 2 colonnes independantes */
.inv-partners-heading {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 40px;
}

/* Image a droite du heading */
.inv-partners-heading-img {
    width: 155px;
    height: auto;
}

/* Titre H2 */
.inv-partners-title {
    font-family: 'Quicksand', sans-serif;
    font-size: 50px;
    color: #4a4c70;
    line-height: 1.1;
    letter-spacing: -3.5px;
    margin-bottom: 15px;
}

.inv-partners-title .inv-bold {
    font-weight: 700;
}

.inv-partners-title .inv-light {
    font-weight: 400;
}

/* Texte sous le titre */
.inv-partners-text {
    font-family: 'Quicksand', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #666;
    line-height: 1.5;
    max-width: 600px;
    margin-bottom: 80px;
}

/* Grille : 2 colonnes avec chevauchement vertical, centree a 60% */
.inv-partners-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

/* Chaque bloc image + texte */
.inv-partner-block {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
}

/* Blocs pairs decales vers le bas pour creer le chevauchement */
.inv-partner-block--2 {
    margin-top: 80px;
}

.inv-partner-block--3 {
    margin-top: -80px;
}

.inv-partner-block--4 {
    margin-top: 0;
}

/* Image du partenaire - carree, source 800x800, zoom au hover */
.inv-partner-img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
    border-radius: 16px;
    transition: transform 0.5s ease;
}

.inv-partner-block:hover .inv-partner-img {
    transform: scale(1.05);
    border-radius: 16px;
}

/* Tailles differentes et justification alternee pour creer le chevauchement */
.inv-partner-block--1 {
    width: 85%;
    justify-self: end;
}

.inv-partner-block--2 {
    width: 70%;
    justify-self: start;
    margin-left: -5%;
}

.inv-partner-block--3 {
    width: 70%;
    justify-self: end;
    margin-right: -5%;
}

.inv-partner-block--4 {
    width: 80%;
    justify-self: start;
    margin-top: -5%;
}

/* Zone de texte positionnee sur l'image */
.inv-partner-text {
    position: absolute;
    z-index: 2;
    background: #efc940;
    padding: 25px 30px;
    max-width: 60%;
}

/* Bloc 1 : texte en haut a gauche */
.inv-partner-block--1 .inv-partner-text {
    top: 0;
    left: 0;
    border-radius: 16px 0 16px 0;
}

/* Bloc 2 : texte en haut a droite */
.inv-partner-block--2 .inv-partner-text {
    top: 0;
    right: 0;
    border-radius: 0 16px 0 16px;
}

/* Bloc 3 : texte en haut a gauche */
.inv-partner-block--3 .inv-partner-text {
    top: 0;
    left: 0;
    border-radius: 16px 0 16px 0;
}

/* Bloc 4 : texte en bas a droite */
.inv-partner-block--4 .inv-partner-text {
    bottom: 0;
    right: 0;
    border-radius: 16px 0 16px 0;
}

/* Titre du partenaire */
.inv-partner-name {
    font-family: 'Quicksand', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    letter-spacing: -1px;
    margin-bottom: 8px;
}

/* Description du partenaire */
.inv-partner-text p {
    font-family: 'Quicksand', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1.5;
    margin: 0;
}


/* ============================================
   SECTION : VOTRE TRANSFORMATION
   - 2 colonnes : Storytella (40%) + contenu (60%)
   - Tableau Avant/Apres
   - Style Helpo "We work around the globe"
   ============================================ */
.inv-transform {
    padding: 90px 0 90px;
    background: #fff;
    position: relative;
    overflow: hidden;
}

/* Container */
.inv-transform-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
}

/* Grille 2 colonnes : 40% (Storytella) / 60% (contenu) */
.inv-transform-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    align-items: center;
    gap: 60px;
}

/* Colonne gauche : texte Storytella centre */
.inv-transform-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* Image sous Storytella */
.inv-transform-img {
    max-width: 100%;
    border-radius: 0;
    margin-top: 30px;
    align-self: flex-end;
}

/* Colonne droite : H2 + texte + tableau */
.inv-transform-right {
    display: flex;
    flex-direction: column;
}

/* Texte manuscrit Storytella */
.inv-transform-handwrite {
    font-family: 'Storytella', cursive;
    font-size: 180px;
    color: #efc940;
    line-height: 0.9;
    text-align: center;
}

/* Titre H2 */
.inv-transform-title {
    font-family: 'Quicksand', sans-serif;
    font-size: 50px;
    color: #4a4c70;
    line-height: 1.1;
    letter-spacing: -3.5px;
    margin-bottom: 15px;
}

.inv-transform-title .inv-bold {
    font-weight: 700;
}

.inv-transform-title .inv-light {
    font-weight: 400;
}

/* Texte sous le titre */
.inv-transform-text {
    font-family: 'Quicksand', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #666;
    line-height: 1.5;
    margin-bottom: 40px;
}

/* Tableau Avant / Apres */
.inv-transform-table {
    width: 100%;
}

/* Header du tableau */
.inv-table-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 5px;
}

.inv-table-header .inv-table-col {
    font-family: 'Quicksand', sans-serif;
    font-size: 20px;
    font-weight: 700;
    padding: 15px 20px;
    border-radius: 10px 10px 0 0;
}

.inv-table-header .inv-table-before {
    color: #9e9e9e;
    background: #f9f9f9;
}

.inv-table-header .inv-table-after {
    color: #fff;
    background: #efc940;
}

/* Lignes du tableau */
.inv-table-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 5px;
}

.inv-table-row .inv-table-col {
    font-family: 'Quicksand', sans-serif;
    font-size: 16px;
    font-weight: 500;
    padding: 18px 20px;
    line-height: 1.4;
}

.inv-table-row .inv-table-before {
    color: #9e9e9e;
    background: #f9f9f9;
}

.inv-table-row .inv-table-after {
    color: #4a4c70;
    background: rgba(239, 201, 64, 0.12);
}

/* Derniere ligne : arrondi en bas */
.inv-table-row:last-child .inv-table-before {
    border-radius: 0 0 0 10px;
}

.inv-table-row:last-child .inv-table-after {
    border-radius: 0 0 10px 0;
}


/* ============================================
   SECTION : CE QUI ARRIVE
   - 2 colonnes : texte (60%) + card agrement (40%)
   - Style Helpo Founding Partner
   - Timeline verticale pour le processus AMF
   ============================================ */
.inv-launch {
    padding: 160px 0 90px;
    background: transparent;
    position: relative;
    overflow: hidden;
}

/* Image decorative arriere-plan centree a gauche */
.inv-launch-bg {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 25%;
    height: auto;
    pointer-events: none;
    z-index: 0;
}

/* Container avec fond beige */
.inv-launch-container {
    position: relative;
    z-index: 1;
    max-width: 1440px;
    margin: 0 auto;
    padding: 100px;
    background: #f9f7f6;
    border-radius: 16px;
}

/* Grille 2 colonnes : 60% / 40% */
.inv-launch-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    align-items: start;
    gap: 60px;
}

/* Titre H2 */
.inv-launch-title {
    font-family: 'Quicksand', sans-serif;
    font-size: 50px;
    color: #4a4c70;
    line-height: 1.1;
    letter-spacing: -3.5px;
    margin-bottom: 15px;
}

.inv-launch-title .inv-bold {
    font-weight: 700;
}

.inv-launch-title .inv-light {
    font-weight: 400;
}

/* Texte sous le titre */
.inv-launch-text {
    font-family: 'Quicksand', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #666;
    line-height: 1.5;
    margin-bottom: 40px;
}

/* Liste de features avec check */
.inv-launch-features {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.inv-launch-feat {
    font-family: 'Quicksand', sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: #4a4c70;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

/* Icone check */
.inv-launch-check {
    color: #efc940;
    font-size: 16px;
    margin-top: 3px;
    flex-shrink: 0;
}

/* Card agrement PSFP */
.inv-status-card {
    background: #fff;
    border-radius: 16px;
    padding: 40px 30px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.06);
}

/* Badge "En cours" */
.inv-status-badge {
    display: inline-block;
    font-family: 'Quicksand', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    background: #efc940;
    padding: 4px 14px;
    border-radius: 50px;
    margin-bottom: 20px;
}

/* Titre de la card */
.inv-status-title {
    font-family: 'Quicksand', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #4a4c70;
    letter-spacing: -1px;
    margin-bottom: 10px;
}

/* Texte de la card */
.inv-status-text {
    font-family: 'Quicksand', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #666;
    line-height: 1.5;
    margin-bottom: 30px;
}

/* Timeline verticale */
.inv-status-timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    padding-left: 20px;
}

/* Ligne verticale de la timeline */
.inv-status-timeline::before {
    content: "";
    position: absolute;
    left: 6px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #e0e0e0;
}

/* Chaque etape */
.inv-tl-step {
    font-family: 'Quicksand', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: #9e9e9e;
    padding: 12px 0;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
}

/* Point de la timeline */
.inv-tl-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #e0e0e0;
    border: 2px solid #fff;
    position: absolute;
    left: -20px;
    flex-shrink: 0;
}

/* Etape terminee */
.inv-tl-done {
    color: #4a4c70;
    font-weight: 600;
}

.inv-tl-done .inv-tl-dot {
    background: #efc940;
}

/* Etape active */
.inv-tl-active {
    color: #4a4c70;
    font-weight: 700;
}

.inv-tl-active .inv-tl-dot {
    background: #efc940;
    box-shadow: 0 0 0 4px rgba(239, 201, 64, 0.3);
}


/* ============================================
   SECTION : CTA FINAL
   - Background jaune pleine largeur
   - Contenu centré
   ============================================ */
.inv-cta {
    padding: 90px 0 0;
    text-align: center;
}

.inv-cta .inv-container {
    max-width: 1440px;
    margin: 0 auto;
    background: #efc940 url('../images/investir/inscription-gratuite.jpg') right top / 90% auto no-repeat;
    border-radius: 30px;
    padding: 100px 60px;
}

.inv-cta .heading__pre-title {
    color: #fff;
}

.inv-cta-title {
    font-family: 'Quicksand', sans-serif;
    font-size: 70px;
    color: #4a4c70;
    line-height: 1.1;
    letter-spacing: -3.5px;
    margin-bottom: 15px;
}

.inv-cta-text {
    font-family: 'Quicksand', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #4a4c70;
    line-height: 1.5;
    margin-bottom: 40px;
}

.inv-cta-btn {
    display: inline-block;
    font-family: 'Quicksand', sans-serif;
    font-size: 17px;
    font-weight: 600;
    color: #4a4c70;
    background: #fff;
    border: 1.5px solid #fff;
    border-radius: 50px;
    padding: 16px 36px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.inv-cta-btn i {
    margin-left: 8px;
}

.inv-cta-btn:hover {
    background: #4a4c70;
    color: #fff;
    border-color: #4a4c70;
    transform: translateY(-5px);
    box-shadow: 0 20px 38px rgba(0,0,0,0.16);
}

.inv-cta-reassurance {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 30px;
}

.inv-cta-reassurance span {
    font-family: 'Quicksand', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #4a4c70;
}

.inv-cta-reassurance i {
    margin-right: 6px;
}


/* ============================================
   RESPONSIVE
   ============================================ */

/* -- Tablette paysage (max 1024px) -- */
@media (max-width: 1024px) {
    /* Hero : texte manuscrit plus petit */
    .inv-hero-handwrite {
        font-size: 140px;
    }

    /* Pourquoi : grille 2 colonnes */
    .inv-pourquoi-grid {
        grid-template-columns: 1fr 1fr;
    }

    /* Modules : holder aligne a gauche */
    .inv-modules-holder {
        margin-left: 40px;
    }

    /* Modules : header en colonne */
    .inv-modules-row1 {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    /* Compteurs sur 2 colonnes en tablette */
    .inv-modules-counters {
        grid-template-columns: 1fr 1fr;
    }
}

/* -- Tablette portrait / mobile (max 768px) -- */
@media (max-width: 768px) {
    /* Hero : hauteur reduite */
    .inv-hero {
        height: 500px;
    }

    /* Hero : titre plus petit */
    .inv-hero-title {
        font-size: 36px;
    }

    /* Hero : texte plus petit */
    .inv-hero-text {
        font-size: 16px;
    }

    /* Hero : texte manuscrit adapte */
    .inv-hero-handwrite {
        font-size: 100px;
        right: 20px;
        bottom: -10px;
    }

    /* Pourquoi : grille 1 colonne */
    .inv-pourquoi-grid {
        grid-template-columns: 1fr;
    }

    /* Partners heading : 1 colonne */
    .inv-partners-heading {
        grid-template-columns: 1fr;
    }

    /* Partners : 1 colonne, plus de chevauchement */
    .inv-partners-grid {
        grid-template-columns: 1fr;
    }

    .inv-partner-block--2,
    .inv-partner-block--3 {
        margin-top: 0;
    }

    /* Transform : 1 colonne */
    .inv-transform-grid {
        grid-template-columns: 1fr;
    }

    .inv-transform-handwrite {
        font-size: 100px;
    }

    .inv-transform {
        padding: 80px 0;
    }

    .inv-transform-title {
        font-size: 30px;
    }

    /* Launch : 1 colonne */
    .inv-launch-grid {
        grid-template-columns: 1fr;
    }

    .inv-launch {
        padding: 80px 0;
    }

    .inv-launch-title {
        font-size: 30px;
    }

    /* Partners : padding section reduit */
    .inv-partners {
        padding: 80px 0;
    }

    /* Partners : titre plus petit */
    .inv-partners-title {
        font-size: 30px;
    }

    /* Cards : 1 colonne en mobile */
    .inv-pourquoi-cards {
        grid-template-columns: 1fr;
    }

    .inv-pourquoi-cards .inv-pourquoi-card:last-child {
        grid-column: auto;
    }

    /* Pourquoi : retirer le padding droit de l'intro */
    .inv-pourquoi-intro {
        padding-right: 0;
    }

    /* Pourquoi : titre plus petit */
    .inv-pourquoi-title {
        font-size: 30px;
    }

    /* Pourquoi : padding section reduit */
    .inv-pourquoi {
        padding: 80px 20px;
    }

    /* Modules : holder pleine largeur */
    .inv-modules-holder {
        margin-left: 20px;
    }

    /* Modules : padding section reduit */
    .inv-modules {
        padding: 80px 0;
    }

    /* Modules : titre plus petit */
    .inv-modules-title {
        font-size: 30px;
    }
}

/* -- Mobile petit ecran (max 480px) -- */
@media (max-width: 480px) {
    /* Hero : hauteur minimale */
    .inv-hero {
        height: 450px;
    }

    /* Hero : titre compact */
    .inv-hero-title {
        font-size: 28px;
    }

    /* Hero : texte manuscrit compact */
    .inv-hero-handwrite {
        font-size: 70px;
    }

    /* Hero : padding reduit */
    .inv-hero-content {
        padding: 0 20px;
    }
}
