.tete{
    top: 0;
    position:sticky;
    transition: 300ms ease-in-out;
    z-index: 10;
    color: white;
}

*{
    font-family: 'Roboto', sans-serif;
}

body{
    background-color: #1c78b8;
    height: 100%;
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
    
}


@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700;800;900&display=swap");

/* =====================================
   DIV PRINCIPALE
===================================== */

.sdgs {
    position: relative;

    width: 100%;
    height: 60vh;
    min-height: 400px;

    overflow: hidden;

    background-color: #14377a;

    font-family: "Roboto", Arial, Helvetica, sans-serif;
}

.sdgs *,
.sdgs *::before,
.sdgs *::after {
    box-sizing: border-box;
}

/* =====================================
   IMAGE D’ARRIÈRE-PLAN
===================================== */

.sdgs__background {
    position: absolute;
    inset: -15%;
    z-index: 0;

    /*
        Remplace ce chemin par ton image.
    */
    background-image: url("../src/bgbon.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;

    transform:
        translate3d(
            0,
            var(--parallax-y, 0px),
            0
        )
        scale(1.12);

    will-change: transform;
}

/* =====================================
   FILTRE BLEU
===================================== */

.sdgs__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            135deg,
            rgba(10, 42, 107, 0.84),
            rgba(22, 67, 156, 0.78)
        );

    pointer-events: none;
}

/* =====================================
   GRILLE DÉCORATIVE
===================================== */

.sdgs__grille {
    position: absolute;
    inset: 0;
    z-index: 2;

    background-image:
        linear-gradient(
            rgba(255, 255, 255, 0.18) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.18) 1px,
            transparent 1px
        );

    background-size: 64px 40px;

    opacity: 0.7;

    pointer-events: none;
}

/* Lumière centrale */

.sdgs__grille::after {
    content: "";

    position: absolute;
    inset: 0;

    background: radial-gradient(
        circle at center,
        rgba(71, 123, 227, 0.28) 0%,
        rgba(9, 35, 92, 0.15) 55%,
        rgba(3, 21, 58, 0.35) 100%
    );
}

/* =====================================
   CONTENU
===================================== */

.sdgs__contenu {
    position: relative;
    z-index: 3;

    width: 100%;
    height: 100%;
}

/* =====================================
   TEXTES
===================================== */

.sdgs__texte {
    position: absolute;
    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;
    padding: 35px 25px;

    color: #ffffff;
    text-align: center;

    will-change: opacity, transform, filter;
}

/* État du deuxième texte avant l’animation */

.sdgs__texte--deuxieme {
    opacity: 0;
}

/* Titres */

.sdgs h1,
.sdgs h2 {
    margin: 0;

    color: #ffffff;

    font-family: "Roboto", Arial, Helvetica, sans-serif;
    font-size: clamp(3rem, 7vw, 6.4rem);
    font-weight: 900;
    line-height: 0.92;
    letter-spacing: -0.055em;
    text-transform: uppercase;

    text-shadow:
        0 8px 25px rgba(2, 20, 53, 0.28);
}

.sdgs h1 span,
.sdgs h2 span {
    display: block;
}

/* Deuxième message légèrement plus grand */

.sdgs h2 {
    font-size: clamp(3.2rem, 7.5vw, 6.8rem);
}

/* =====================================
   ÉTAT INITIAL
===================================== */

.sdgs.animation-ready
.sdgs__texte--premier {
    opacity: 0;

    filter: blur(8px);

    transform:
        translateX(-150px)
        scale(0.92);
}

.sdgs.animation-ready
.sdgs__texte--deuxieme {
    opacity: 0;

    filter: blur(8px);

    transform:
        translateX(150px)
        scale(0.92);
}

/* =====================================
   ANIMATION DU PREMIER TEXTE
===================================== */

.sdgs.animation-visible
.sdgs__texte--premier {
    animation:
        sdgs-premier-texte
        3.5s
        cubic-bezier(0.22, 1, 0.36, 1)
        both;
}

@keyframes sdgs-premier-texte {
    0% {
        opacity: 0;

        filter: blur(8px);

        transform:
            translateX(-150px)
            scale(0.92);
    }

    22% {
        opacity: 1;

        filter: blur(0);

        transform:
            translateX(0)
            scale(1);
    }

    65% {
        opacity: 1;

        filter: blur(0);

        transform:
            translateX(0)
            scale(1);
    }

    100% {
        opacity: 0;

        filter: blur(5px);

        transform:
            translateX(110px)
            scale(0.96);
    }
}

/* =====================================
   ANIMATION DU DEUXIÈME TEXTE
===================================== */

.sdgs.animation-visible
.sdgs__texte--deuxieme {
    animation:
        sdgs-deuxieme-texte
        1.3s
        cubic-bezier(0.22, 1, 0.36, 1)
        2.7s
        both;
}

@keyframes sdgs-deuxieme-texte {
    0% {
        opacity: 0;

        filter: blur(8px);

        transform:
            translateX(150px)
            scale(0.92);
    }

    100% {
        opacity: 1;

        filter: blur(0);

        transform:
            translateX(0)
            scale(1);
    }
}

/* =====================================
   ANIMATION DES LIGNES
===================================== */

.sdgs.animation-visible
.sdgs__texte--premier span {
    animation: sdgs-ligne 0.8s ease both;
}

.sdgs.animation-visible
.sdgs__texte--premier span:nth-child(1) {
    animation-delay: 0.1s;
}

.sdgs.animation-visible
.sdgs__texte--premier span:nth-child(2) {
    animation-delay: 0.22s;
}

.sdgs.animation-visible
.sdgs__texte--premier span:nth-child(3) {
    animation-delay: 0.34s;
}

@keyframes sdgs-ligne {
    from {
        opacity: 0;
        transform: translateY(28px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =====================================
   TABLETTES
===================================== */

@media screen and (max-width: 900px) {
    .sdgs__background {
        /*
            background-attachment: fixed fonctionne
            mal sur certains appareils tactiles.
        */
        background-attachment: scroll;
    }

    .sdgs h1,
    .sdgs h2 {
        font-size: clamp(3rem, 10vw, 5.5rem);
    }
}

/* =====================================
   TÉLÉPHONES
===================================== */

@media screen and (max-width: 600px) {
    .sdgs {
        height: 60vh;
        min-height: 380px;
    }

    .sdgs__grille {
        background-size: 42px 32px;
    }

    .sdgs__texte {
        padding: 30px 20px;
    }

    .sdgs h1,
    .sdgs h2 {
        font-size: clamp(2.6rem, 13vw, 4.5rem);
        line-height: 0.96;
    }
}

/* =====================================
   TRÈS PETITS TÉLÉPHONES
===================================== */

@media screen and (max-width: 380px) {
    .sdgs h1,
    .sdgs h2 {
        font-size: clamp(2.2rem, 12vw, 3.4rem);
    }
}

/* =====================================
   RÉDUCTION DES ANIMATIONS
===================================== */

@media (prefers-reduced-motion: reduce) {
    .sdgs__background {
        transform: none;
    }

    .sdgs.animation-ready
    .sdgs__texte--premier {
        opacity: 1;

        filter: none;
        transform: none;
    }

    .sdgs.animation-visible
    .sdgs__texte--premier,
    .sdgs.animation-visible
    .sdgs__texte--premier span {
        animation: none;
    }

    .sdgs.animation-ready
    .sdgs__texte--deuxieme,
    .sdgs.animation-visible
    .sdgs__texte--deuxieme {
        display: none;
        animation: none;
    }
}

/*partie du menu de navigation*/




/* =====================================
   BLOC PRINCIPAL
===================================== */

.partenaire-parole {
    width: 100%;
    min-height: 800px;
    padding: 85px 30px 100px;

    overflow: hidden;
    background: #404559;
    color: #ffffff;

    font-family: "Roboto", Arial, Helvetica, sans-serif;
}

.partenaire-parole *,
.partenaire-parole *::before,
.partenaire-parole *::after {
    box-sizing: border-box;
    font-family: inherit;
}

/* Conteneur central */

.partenaire-parole__contenu {
    width: min(790px, 100%);
    margin: 0 auto;
}

/* =====================================
   CITATION
===================================== */

.partenaire-parole__citation {
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
}

.partenaire-parole__citation p {
    max-width: 780px;
    margin: 0;

    color: #ffffff;

    font-size: clamp(1.25rem, 2vw, 1.55rem);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

/* =====================================
   NOM ET FONCTION DE L’AUTEUR
===================================== */

.partenaire-parole__auteur {
    display: flex;
    align-items: flex-start;
    gap: 20px;

    margin-top: 32px;

    color: #ffffff;

    font-size: 1.05rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
}

.partenaire-parole__auteur strong {
    font-weight: 700;
}

.partenaire-parole__tiret {
    flex-shrink: 0;
    color: #ffffff;
}

/* =====================================
   LOGO ET TEXTE DE PRÉSENTATION
===================================== */

.partenaire-parole__presentation {
    width: 100%;
    margin-top: 82px;
}

/* Logo de la Suède */

.partenaire-parole__logo {
    display: flex;
    align-items: center;

    width: 160px;
    min-height: 70px;
}

.partenaire-parole__logo img {
    display: block;

    width: 145px;
    max-width: 100%;
    height: auto;

    object-fit: contain;
}

/* Description du partenariat */

.partenaire-parole__description {
    width: calc(100% - 85px);
    max-width: 680px;

    margin-top: 70px;
    margin-left: 85px;
}

.partenaire-parole__description p {
    margin: 0;

    color: #f1f1f1;

    font-size: 1.1rem;
    font-weight: 400;
    line-height: 1.65;
}

.partenaire-parole__description p + p {
    margin-top: 12px;
}

.partenaire-parole__description strong {
    color: #ffffff;
    font-weight: 700;
}

/* =====================================
   TABLETTES
===================================== */

@media screen and (max-width: 900px) {
    .partenaire-parole {
        min-height: auto;
        padding: 70px 7% 85px;
    }

    .partenaire-parole__contenu {
        width: 100%;
    }

    .partenaire-parole__presentation {
        margin-top: 65px;
    }

    .partenaire-parole__description {
        width: calc(100% - 50px);
        margin-top: 50px;
        margin-left: 50px;
    }
}

/* =====================================
   TÉLÉPHONES
===================================== */

@media screen and (max-width: 600px) {
    .partenaire-parole {
        padding: 55px 24px 65px;
    }

    .partenaire-parole__citation p {
        font-size: 1.25rem;
        line-height: 1.35;
    }

    .partenaire-parole__auteur {
        gap: 12px;
        margin-top: 25px;

        font-size: 0.95rem;
        line-height: 1.5;
    }

    .partenaire-parole__presentation {
        margin-top: 55px;
    }

    .partenaire-parole__logo {
        width: 135px;
        min-height: auto;
    }

    .partenaire-parole__logo img {
        width: 130px;
    }

    .partenaire-parole__description {
        width: 100%;

        margin-top: 40px;
        margin-left: 0;
    }

    .partenaire-parole__description p {
        font-size: 1rem;
        line-height: 1.65;
    }
}

/* =====================================
   TRÈS PETITS TÉLÉPHONES
===================================== */

@media screen and (max-width: 380px) {
    .partenaire-parole {
        padding: 45px 18px 55px;
    }

    .partenaire-parole__citation p {
        font-size: 1.12rem;
    }

    .partenaire-parole__auteur {
        font-size: 0.9rem;
    }

    .partenaire-parole__description p {
        font-size: 0.95rem;
    }
}

/*la partie partenaires*/





.div-two .SDG {
    height: 60vh;
    /* animation: rotate 5s linear infinite; /*  Applique l'animation */
    z-index: -1; /*  Place cet élément derrière les autres */
   
} 

/* Définition de l'animation */
/* @keyframes rotate {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
} */

/* 
.SDG:hover {
    height: auto;
   /*  animation: acce 300ms  ease-in-out; Applique l'animation 
    transition: 300ms;
} */

/* @keyframes acce {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
} */


.piedc{
    padding-left: 15%;
    padding-right: 15%;
}

.actu{
    padding-left: 15%;
    padding-right: 15%;
    background-color:  rgb(241, 241, 241);;
    
}

.commission{

    background-color: #1c78b8;
    font-size: large;
    padding-left: 15%;
    padding-right: 15%;
    padding-top: 10px;
    padding-bottom: 50px;
    
}

.commission h1{
    color: #fff;
    text-align: center;
}
.comone{
    
    width: 100%;
    text-align: center;
    color: white;
    
}



.container {
    display: flex;
    flex-wrap: wrap; /* Permet d'adapter les divs sur plusieurs lignes */
    gap: 20px;
    justify-content: center;
}
/* 
.card {
    width: 180px;
    height: auto;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px;
    border-radius: 5px;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    animation: appear linear;
    animation-timeline: view();
    animation-range: entry 0;
} */




.twos{
    /* background-image: url('../src/SVG/rejoins.svg');    
    background-size:50%;
    background-repeat: no-repeat;
    background-position: center; */
    display: flex;
    align-items: center;
    justify-content: right;  

}


/* .card:hover {
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2);
    transform: translateY(-5px);
} */

/* .label {
    background-color: white;
    color: black;
    text-align: center;
    font-weight: bold;
    padding: 10px 0;
    border-radius: 5px;
} */

/* Responsive Design */
/* @media (max-width: 800px) {
    .card {
        width: 150px;  Réduire la largeur des cartes sur les écrans moyens 
        height: auto;
    }
}

@media (max-width: 480px) {
    .container {
        gap: 15px;  Réduire l'espace entre les cartes sur les petits écrans 
    }
    .card {
        width: 100%;  Chaque carte prend toute la largeur disponible 
        height: auto;  Ajustement automatique de la hauteur 
        padding: 15px;
    }
} */


/* 
.previous{
  
    display: flex;
    justify-content: center;
    align-items: center;
    
}

.previous img{
    object-fit: contain; 
    
} */



.finfond{
    background-color: cornflowerblue;
    padding: 10px 15% 10px 15%;
    font-size: 9px;
    color: #e5eff8;
    height: auto;
    align-items: center;
}


.cap{
    
    background-color: rgb(243, 243, 243);
    padding-left: 15%;
    padding-right: 15%;
    
}

.capchild{
    display: flex;
    flex-direction: row;
    height: 30vh;
    
   
}

.capchild div{
    width: 50%;
    height: auto;

}


@keyframes blier{
    from{
        scale: 0.5;
    }

    to{
        opacity: 1;
        scale: 1;
    }
}

.capchild .one{
    background-image: url('../src/bg3.png');    
    background-size:contain;
    background-repeat: no-repeat;
    background-position: center;
    animation: blier linear;
    animation-timeline: view();
    animation-range: entry 0;
}


  /*la foi vient de ce qu'on entends, ce qu'on entends vient de la parole de Dieu */
  .rose {
    max-width: 1200px;
    margin: 20px auto;
    padding: 20px;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
}

.tool {
    text-align: center;
    margin-bottom: 20px;
}

.tool h1 {
    margin: 0;
    font-size: 28px;
    color: #333;
}

.tool p {
    font-size: 16px;
    color: #666;
}

.services {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;

}

.service {
    flex: 1 1 calc(20% - 20px);
    background: #e5eff8;
    padding: 15px;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.service h3 {
    font-size: 18px;
    color: #1a73e8;
    margin-bottom: 10px;
}

.service p {
    font-size: 14px;
    color: #555;
}

@media (max-width: 992px) {

    .tete a{
        color: #e5eff8;
    }
    
    .service {
        flex: 1 1 calc(33.33% - 20px);
    }
}

@media (max-width: 768px) {
    .service {
        flex: 1 1 calc(50% - 20px);
    }

    .capchild>.one{ 
        display: none;
    }
}

@media (max-width: 480px) {
    .service {
        flex: 1 1 100%;
    }
}



/* Empêche l’animation de dépasser du bloc */
.bloc-indicateurs {
    overflow: hidden;
}

/* État initial activé uniquement lorsque JavaScript fonctionne */

.bloc-indicateurs.animation-ready .titre-indicateurs {
    opacity: 0;
    transform: translateY(-25px);
}

.bloc-indicateurs.animation-ready .indicateur {
    opacity: 0;
    transform: translateY(55px) scale(0.92);
}

/* Animation du titre */

.bloc-indicateurs.animation-visible .titre-indicateurs {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity 0.7s ease,
        transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Animation des indicateurs */

.bloc-indicateurs.animation-visible .indicateur {
    opacity: 1;
    transform: translateY(0) scale(1);

    transition:
        opacity 0.75s ease,
        transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Décalage entre les apparitions */

.bloc-indicateurs.animation-visible .indicateur:nth-child(1) {
    transition-delay: 0.15s;
}

.bloc-indicateurs.animation-visible .indicateur:nth-child(2) {
    transition-delay: 0.3s;
}

.bloc-indicateurs.animation-visible .indicateur:nth-child(3) {
    transition-delay: 0.45s;
}

.bloc-indicateurs.animation-visible .indicateur:nth-child(4) {
    transition-delay: 0.6s;
}

/* Apparition des icônes */

.bloc-indicateurs.animation-visible .indicateur img {
    animation: apparition-icone 0.9s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.bloc-indicateurs.animation-visible .indicateur:nth-child(1) img {
    animation-delay: 0.2s;
}

.bloc-indicateurs.animation-visible .indicateur:nth-child(2) img {
    animation-delay: 0.35s;
}

.bloc-indicateurs.animation-visible .indicateur:nth-child(3) img {
    animation-delay: 0.5s;
}

.bloc-indicateurs.animation-visible .indicateur:nth-child(4) img {
    animation-delay: 0.65s;
}

@keyframes apparition-icone {
    0% {
        opacity: 0;
        transform: translateY(20px) scale(0.5) rotate(-8deg);
    }

    70% {
        opacity: 1;
        transform: translateY(-5px) scale(1.08) rotate(2deg);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1) rotate(0);
    }
}

/* Animation légère des nombres */

.bloc-indicateurs.animation-visible .indicateur strong {
    animation: apparition-nombre 0.7s ease both;
}

.bloc-indicateurs.animation-visible .indicateur:nth-child(1) strong {
    animation-delay: 0.35s;
}

.bloc-indicateurs.animation-visible .indicateur:nth-child(2) strong {
    animation-delay: 0.5s;
}

.bloc-indicateurs.animation-visible .indicateur:nth-child(3) strong {
    animation-delay: 0.65s;
}

.bloc-indicateurs.animation-visible .indicateur:nth-child(4) strong {
    animation-delay: 0.8s;
}

@keyframes apparition-nombre {
    from {
        opacity: 0;
        transform: translateY(15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Désactivation pour les personnes préférant moins d’animations */

@media (prefers-reduced-motion: reduce) {
    .bloc-indicateurs.animation-ready .titre-indicateurs,
    .bloc-indicateurs.animation-ready .indicateur {
        opacity: 1;
        transform: none;
    }

    .bloc-indicateurs.animation-visible .titre-indicateurs,
    .bloc-indicateurs.animation-visible .indicateur,
    .bloc-indicateurs.animation-visible .indicateur img,
    .bloc-indicateurs.animation-visible .indicateur strong {
        animation: none;
        transition: none;
    }
}



@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700;900&display=swap");

/* =====================================
   BLOC PRINCIPAL
===================================== */

.bloc-indicateurs {
    width: 100%;
    min-height: 500px;
    padding: 46px 30px 80px;

    background-color: #1c78b8;
    color: #ffffff;

    font-family: "Roboto", Arial, Helvetica, sans-serif;
}

.bloc-indicateurs *,
.bloc-indicateurs *::before,
.bloc-indicateurs *::after {
    box-sizing: border-box;
    font-family: inherit;
}

/* =====================================
   TITRE
===================================== */

.titre-indicateurs {
    margin: 0;

    color: #ffffff;
    text-align: center;

    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
}

/* =====================================
   DISPOSITION DES INDICATEURS
===================================== */

.indicateurs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;

    width: min(870px, 100%);
    margin: 48px auto 0;

    gap: 55px;
}

/* =====================================
   INDICATEUR
===================================== */

.indicateur {
    min-width: 0;
    margin: 0;
    padding: 0;

    color: #ffffff;
    text-align: left;
}

/* =====================================
   ICÔNES
===================================== */

.indicateur img {
    display: block;

    width: 90px;
    height: 90px;
    margin: 0 0 24px;

    object-fit: contain;

    /*
       Cette ligne transforme les SVG en blanc.
       Supprime-la si tes SVG sont déjà blancs.
    */
    filter: brightness(0) invert(1);
}

/* =====================================
   NOMBRES
===================================== */

.indicateur strong {
    display: block;
    margin: 0;

    color: #ffffff;

    font-size: clamp(2.5rem, 4vw, 3.2rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.04em;
    white-space: nowrap;
}

/* =====================================
   TEXTES
===================================== */

.indicateur p {
    margin: 7px 0 0;

    color: #ffffff;

    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.25;
}

/* =====================================
   TABLETTES
===================================== */

@media screen and (max-width: 900px) {
    .bloc-indicateurs {
        min-height: auto;
        padding: 50px 40px 70px;
    }

    .indicateurs {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        max-width: 600px;
        margin-top: 50px;

        gap: 60px 50px;
    }

    .indicateur {
        text-align: center;
    }

    .indicateur img {
        margin-right: auto;
        margin-left: auto;
    }
}

/* =====================================
   TÉLÉPHONES
===================================== */

@media screen and (max-width: 600px) {
    .bloc-indicateurs {
        padding: 42px 20px 60px;
    }

    .titre-indicateurs {
        font-size: 1.05rem;
    }

    .indicateurs {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        margin-top: 45px;
        gap: 50px 20px;
    }

    .indicateur img {
        width: 75px;
        height: 75px;
        margin-bottom: 18px;
    }

    .indicateur strong {
        font-size: 2.1rem;
        white-space: normal;
    }

    .indicateur p {
        font-size: 1rem;
    }
}

/* =====================================
   TRÈS PETITS TÉLÉPHONES
===================================== */

@media screen and (max-width: 380px) {
    .indicateurs {
        grid-template-columns: 1fr;
    }

    .indicateur strong {
        font-size: 2.5rem;
    }

    .indicateur p {
        font-size: 1.1rem;
    }
}

/* =====================================
   ANIMATION PARTENAIRE PAROLE
===================================== */

/* État initial, activé uniquement avec JavaScript */

.partenaire-parole.animation-ready .partenaire-parole__citation p {
    opacity: 0;
    transform: translateY(40px);
}

.partenaire-parole.animation-ready .partenaire-parole__auteur {
    opacity: 0;
    transform: translateX(-35px);
}

.partenaire-parole.animation-ready .partenaire-parole__logo {
    opacity: 0;
    transform: translateX(-45px) scale(0.85);
}

.partenaire-parole.animation-ready .partenaire-parole__description {
    opacity: 0;
    transform: translateX(45px);
}

/* Apparition de la citation */

.partenaire-parole.animation-visible .partenaire-parole__citation p {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity 0.8s ease,
        transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Apparition du nom de l’auteur */

.partenaire-parole.animation-visible .partenaire-parole__auteur {
    opacity: 1;
    transform: translateX(0);

    transition:
        opacity 0.7s ease 0.25s,
        transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.25s;
}

/* Apparition du logo */

.partenaire-parole.animation-visible .partenaire-parole__logo {
    opacity: 1;
    transform: translateX(0) scale(1);

    transition:
        opacity 0.8s ease 0.5s,
        transform 1s cubic-bezier(0.34, 1.56, 0.64, 1) 0.5s;
}

/* Apparition de la description */

.partenaire-parole.animation-visible .partenaire-parole__description {
    opacity: 1;
    transform: translateX(0);

    transition:
        opacity 0.8s ease 0.7s,
        transform 1s cubic-bezier(0.22, 1, 0.36, 1) 0.7s;
}

/* Petit mouvement du logo après son apparition */

.partenaire-parole.animation-visible .partenaire-parole__logo img {
    animation: mouvement-logo 4s ease-in-out 1.5s infinite;
}

@keyframes mouvement-logo {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}

/* Désactivation des animations si nécessaire */

@media (prefers-reduced-motion: reduce) {
    .partenaire-parole.animation-ready
        .partenaire-parole__citation p,
    .partenaire-parole.animation-ready
        .partenaire-parole__auteur,
    .partenaire-parole.animation-ready
        .partenaire-parole__logo,
    .partenaire-parole.animation-ready
        .partenaire-parole__description {
        opacity: 1;
        transform: none;
    }

    .partenaire-parole.animation-visible
        .partenaire-parole__citation p,
    .partenaire-parole.animation-visible
        .partenaire-parole__auteur,
    .partenaire-parole.animation-visible
        .partenaire-parole__logo,
    .partenaire-parole.animation-visible
        .partenaire-parole__description,
    .partenaire-parole.animation-visible
        .partenaire-parole__logo img {
        animation: none;
        transition: none;
    }
}





/*Partie de la carte */
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap");

/* =====================================
   SECTION PRINCIPALE
===================================== */

.presence-terrain {
    position: relative;

    width: 100%;
    min-height: 680px;
    padding: 80px 40px;

    overflow: hidden;

    background-color: #1e77b7;
    color: #ffffff;

    font-family: "Roboto", Arial, Helvetica, sans-serif;
}

.presence-terrain *,
.presence-terrain *::before,
.presence-terrain *::after {
    box-sizing: border-box;
}

/* Décoration légère du fond */

.presence-terrain::before {
    content: "";

    position: absolute;
    top: 50%;
    left: 50%;

    width: 700px;
    height: 700px;

    border-radius: 50%;

    background: radial-gradient(
        circle,
        rgba(255, 255, 255, 0.07) 0%,
        rgba(255, 255, 255, 0) 68%
    );

    transform: translate(-50%, -50%);
    pointer-events: none;
}

/* =====================================
   CONTENU
===================================== */

.presence-terrain__contenu {
    position: relative;
    z-index: 1;

    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;

    width: min(1100px, 100%);
    min-height: 520px;
    margin: 0 auto;

    gap: 90px;
}

/* =====================================
   CARTE DE LA RDC
===================================== */

.presence-terrain__carte {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
}

.presence-terrain__carte-svg {
    display: block;

    width: min(480px, 100%);
    height: auto;

    object-fit: contain;

    filter: drop-shadow(0 18px 30px rgba(5, 48, 82, 0.2));

    transition:
        transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.8s ease;
}

/* Petit mouvement au survol */

.presence-terrain__carte:hover .presence-terrain__carte-svg {
    transform: translateY(-8px) scale(1.025);

    filter: drop-shadow(
        0 25px 35px rgba(5, 48, 82, 0.28)
    );
}

/* =====================================
   PARTIE ODD
===================================== */

.presence-terrain__odd {
    display: flex;
    flex-direction: column;
    align-items: center;

    width: 100%;
}

/* Conteneur de la roue */

.presence-terrain__roue {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: min(430px, 100%);
    aspect-ratio: 1;

    border-radius: 50%;

    cursor: pointer;

    transition:
        transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.7s ease,
        box-shadow 0.7s ease;
}

/* Halo derrière la roue */

.presence-terrain__roue::before {
    content: "";

    position: absolute;

    width: 75%;
    height: 75%;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.05);
    filter: blur(20px);

    opacity: 0;

    transform: scale(0.7);

    transition:
        opacity 0.7s ease,
        transform 0.7s ease;
}

/* SVG des ODD */

.presence-terrain__odd-svg {
    position: relative;
    z-index: 1;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;

    /* Roue grise au départ */
    filter:
        grayscale(100%)
        brightness(1.05);

    opacity: 0.72;

    transition:
        filter 0.9s ease,
        opacity 0.9s ease,
        transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Couleurs au survol */

.presence-terrain__roue:hover .presence-terrain__odd-svg {
    filter:
        grayscale(0%)
        brightness(1);

    opacity: 1;

    transform: scale(1.06) rotate(5deg);
}

.presence-terrain__roue:hover {
    transform: translateY(-8px);

    background-color: rgba(255, 255, 255, 0.04);

    box-shadow:
        0 30px 55px rgba(5, 48, 82, 0.25),
        0 0 45px rgba(255, 255, 255, 0.1);
}

.presence-terrain__roue:hover::before {
    opacity: 1;
    transform: scale(1);
}

/* =====================================
   LIEN SOUS LA ROUE
===================================== */

.presence-terrain__lien {
    display: inline-flex;
    align-items: center;

    margin-top: 25px;

    color: #ffffff;
    text-decoration: none;

    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.4;

    gap: 14px;

    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
}

.presence-terrain__icone-lien {
    width: 24px;
    height: 24px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: square;
    stroke-linejoin: miter;

    transition: transform 0.3s ease;
}

.presence-terrain__lien:hover {
    opacity: 0.85;
    transform: translateX(4px);
}

.presence-terrain__lien:hover .presence-terrain__icone-lien {
    transform: translate(3px, -3px);
}

/* =====================================
   ÉTAT INITIAL DE L’ANIMATION
===================================== */

.presence-terrain.animation-ready
.presence-terrain__carte {
    opacity: 0;
    transform: translateX(-90px) scale(0.92);
}

.presence-terrain.animation-ready
.presence-terrain__roue {
    opacity: 0;
    transform: translateX(90px) rotate(25deg) scale(0.82);
}

.presence-terrain.animation-ready
.presence-terrain__lien {
    opacity: 0;
    transform: translateY(30px);
}

/* =====================================
   APPARITION AU DÉFILEMENT
===================================== */

.presence-terrain.animation-visible
.presence-terrain__carte {
    opacity: 1;
    transform: translateX(0) scale(1);

    transition:
        opacity 0.9s ease,
        transform 1.15s cubic-bezier(0.22, 1, 0.36, 1);
}

.presence-terrain.animation-visible
.presence-terrain__roue {
    opacity: 1;
    transform: translateX(0) rotate(0) scale(1);

    transition:
        opacity 1s ease 0.15s,
        transform 1.3s cubic-bezier(0.22, 1, 0.36, 1) 0.15s,
        background-color 0.7s ease,
        box-shadow 0.7s ease;
}

.presence-terrain.animation-visible
.presence-terrain__lien {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity 0.8s ease 0.65s,
        transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.65s;
}

.presence-terrain__lien {
    display: flex;
    align-items: center;
    justify-content: center;

    margin-top: 25px;

    color: #ffffff;

    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.4;

    gap: 14px;
}

.presence-terrain__bouton-lien {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    flex-shrink: 0;

    color: #ffffff;
    text-decoration: none;

    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 50%;
    background-color: transparent;

    transition:
        color 0.3s ease,
        background-color 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease;
}

.presence-terrain__icone-lien {
    display: block;

    width: 22px;
    height: 22px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: square;
    stroke-linejoin: miter;
}

.presence-terrain__bouton-lien:hover {
    color: #1e77b7;
    background-color: #ffffff;
    border-color: #ffffff;

    transform: translate(3px, -3px);
}

.presence-terrain__bouton-lien:focus-visible {
    outline: 3px solid rgba(255, 255, 255, 0.65);
    outline-offset: 4px;
}


/* =====================================
   TABLETTE
===================================== */

@media screen and (max-width: 900px) {
    .presence-terrain {
        min-height: auto;
        padding: 70px 35px;
    }

    .presence-terrain__contenu {
        gap: 45px;
    }

    .presence-terrain__carte-svg {
        width: min(390px, 100%);
    }

    .presence-terrain__roue {
        width: min(360px, 100%);
    }

    .presence-terrain__lien {
        text-align: center;
        font-size: 0.9rem;
    }
}

/* =====================================
   TÉLÉPHONE
===================================== */

@media screen and (max-width: 700px) {
    .presence-terrain {
        padding: 60px 20px;
    }

    .presence-terrain__contenu {
        grid-template-columns: 1fr;
        min-height: auto;
        gap: 70px;
    }

    .presence-terrain__carte-svg {
        width: min(400px, 95%);
    }

    .presence-terrain__roue {
        width: min(330px, 90vw);
    }

    .presence-terrain__lien {
        justify-content: center;

        max-width: 320px;
        margin-top: 22px;
    }

    .presence-terrain.animation-ready
    .presence-terrain__carte {
        transform: translateY(60px) scale(0.92);
    }

    .presence-terrain.animation-ready
    .presence-terrain__roue {
        transform: translateY(60px) rotate(18deg) scale(0.85);
    }
}

/* =====================================
   ACCESSIBILITÉ
===================================== */

@media (prefers-reduced-motion: reduce) {
    .presence-terrain *,
    .presence-terrain *::before,
    .presence-terrain *::after {
        animation: none !important;
        transition: none !important;
    }

    .presence-terrain.animation-ready
    .presence-terrain__carte,
    .presence-terrain.animation-ready
    .presence-terrain__roue,
    .presence-terrain.animation-ready
    .presence-terrain__lien {
        opacity: 1;
        transform: none;
    }
}


/*Partie rapport affichage dfsdfdsfdfsfdfdfsdfdfsfdfsdfhsdfjsdjfjdfshfsdfsdhfdsfdfdsfhdhfsdjfdsfd*/


/* =====================================
   BLOC PRINCIPAL
===================================== */

.rapport-vedette {
    position: relative;

    width: 100%;
    min-height: 710px;
    padding: 65px 30px 50px;

    overflow: hidden;

    background-color: #1c78b8;
    color: #ffffff;

    font-family: "Roboto", Arial, Helvetica, sans-serif;
}

.rapport-vedette *,
.rapport-vedette *::before,
.rapport-vedette *::after {
    box-sizing: border-box;
}

/* Lumière décorative derrière le rapport */

.rapport-vedette::before {
    content: "";

    position: absolute;
    top: 10px;
    left: 50%;

    width: 550px;
    height: 450px;

    border-radius: 50%;

    background: radial-gradient(
        circle,
        rgba(255, 255, 255, 0.09) 0%,
        rgba(255, 255, 255, 0) 70%
    );

    transform: translateX(-50%);
    pointer-events: none;
}

/* =====================================
   CONTENU
===================================== */

.rapport-vedette__contenu {
    position: relative;
    z-index: 1;

    width: min(660px, 100%);
    margin: 0 auto;
}

/* =====================================
   IMAGE DU RAPPORT
===================================== */

.rapport-vedette__visuel {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 385px;

    perspective: 1000px;
}

.rapport-vedette__image {
    display: block;

    width: min(430px, 85%);
    max-height: 390px;

    object-fit: contain;

    filter: drop-shadow(
        0 25px 24px rgba(7, 47, 77, 0.3)
    );

    transform-origin: center bottom;

    transition:
        transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.8s ease;
}

/* Effet au survol */

.rapport-vedette__visuel:hover .rapport-vedette__image {
    transform:
        translateY(-10px)
        scale(1.035)
        rotateY(-3deg);

    filter: drop-shadow(
        0 35px 30px rgba(7, 47, 77, 0.4)
    );
}

/* =====================================
   INFORMATIONS
===================================== */

.rapport-vedette__informations {
    width: 100%;
    margin-top: 28px;
}

.rapport-vedette__titre {
    max-width: 620px;
    margin: 0;

    color: #ffffff;

    font-size: clamp(1.05rem, 2vw, 1.22rem);
    font-weight: 700;
    line-height: 1.35;
}

/* =====================================
   BOUTON TÉLÉCHARGER
===================================== */

.rapport-vedette__telecharger {
    display: inline-flex;
    align-items: center;

    margin-top: 17px;

    color: #ffffff;
    text-decoration: none;
    text-transform: uppercase;

    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.01em;

    gap: 7px;

    transition:
        color 0.3s ease,
        transform 0.3s ease;
}

.rapport-vedette__telecharger svg {
    display: block;

    width: 19px;
    height: 19px;

    overflow: visible;

    fill: none;
    stroke: #ff182d;
    stroke-width: 2.5;
    stroke-linecap: square;
    stroke-linejoin: miter;

    transition: transform 0.3s ease;
}

.rapport-vedette__telecharger:hover {
    color: #ffdc3a;
    transform: translateX(4px);
}

.rapport-vedette__telecharger:hover svg {
    transform: translateX(6px);
}

/* =====================================
   LIGNE DE SÉPARATION
===================================== */

.rapport-vedette__separateur {
    position: relative;

    width: 100%;
    height: 2px;
    margin: 36px 0 12px;

    overflow: hidden;

    background-color: rgba(255, 255, 255, 0.35);

    transform-origin: left;
}

/* Première partie plus lumineuse */

.rapport-vedette__separateur::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 34%;
    height: 100%;

    background-color: rgba(255, 255, 255, 0.72);
}

/* =====================================
   LIEN DOCUMENTS
===================================== */

.rapport-vedette__documents {
    display: inline-flex;
    align-items: center;

    color: #ffffff;
    text-decoration: none;

    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.4;

    gap: 12px;

    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
}

.rapport-vedette__documents svg {
    display: block;

    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: square;
    stroke-linejoin: miter;

    transition: transform 0.3s ease;
}

.rapport-vedette__documents:hover {
    opacity: 0.8;
    transform: translateX(4px);
}

.rapport-vedette__documents:hover svg {
    transform: translate(3px, -3px);
}

/* =====================================
   ÉTAT INITIAL DE L’ANIMATION
===================================== */

.rapport-vedette.animation-ready
.rapport-vedette__visuel {
    opacity: 0;

    transform:
        translateY(-70px)
        scale(0.75)
        rotate(-8deg);
}

.rapport-vedette.animation-ready
.rapport-vedette__titre {
    opacity: 0;
    transform: translateY(35px);
}

.rapport-vedette.animation-ready
.rapport-vedette__telecharger {
    opacity: 0;
    transform: translateX(-30px);
}

.rapport-vedette.animation-ready
.rapport-vedette__separateur {
    transform: scaleX(0);
}

.rapport-vedette.animation-ready
.rapport-vedette__documents {
    opacity: 0;
    transform: translateY(20px);
}

/* =====================================
   APPARITION
===================================== */

.rapport-vedette.animation-visible
.rapport-vedette__visuel {
    opacity: 1;

    transform:
        translateY(0)
        scale(1)
        rotate(0);

    transition:
        opacity 0.9s ease,
        transform 1.25s cubic-bezier(0.22, 1, 0.36, 1);
}

.rapport-vedette.animation-visible
.rapport-vedette__titre {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity 0.8s ease 0.3s,
        transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.3s;
}

.rapport-vedette.animation-visible
.rapport-vedette__telecharger {
    opacity: 1;
    transform: translateX(0);

    transition:
        opacity 0.7s ease 0.5s,
        transform 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.5s,
        color 0.3s ease;
}

.rapport-vedette.animation-visible
.rapport-vedette__separateur {
    transform: scaleX(1);

    transition:
        transform 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.65s;
}

.rapport-vedette.animation-visible
.rapport-vedette__documents {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity 0.7s ease 0.85s,
        transform 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.85s;
}

/* =====================================
   RESPONSIVE
===================================== */

@media screen and (max-width: 700px) {
    .rapport-vedette {
        min-height: auto;
        padding: 55px 22px 45px;
    }

    .rapport-vedette__visuel {
        min-height: 320px;
    }

    .rapport-vedette__image {
        width: min(380px, 92%);
        max-height: 320px;
    }

    .rapport-vedette__informations {
        margin-top: 20px;
    }

    .rapport-vedette__titre {
        font-size: 1.05rem;
    }

    .rapport-vedette__separateur {
        margin-top: 30px;
    }
}

@media screen and (max-width: 420px) {
    .rapport-vedette {
        padding-right: 18px;
        padding-left: 18px;
    }

    .rapport-vedette__visuel {
        min-height: 260px;
    }

    .rapport-vedette__image {
        max-height: 260px;
    }

    .rapport-vedette__documents {
        align-items: flex-start;
        font-size: 0.84rem;
    }
}

/* =====================================
   ACCESSIBILITÉ
===================================== */

@media (prefers-reduced-motion: reduce) {
    .rapport-vedette *,
    .rapport-vedette *::before,
    .rapport-vedette *::after {
        animation: none !important;
        transition: none !important;
    }

    .rapport-vedette.animation-ready
    .rapport-vedette__visuel,
    .rapport-vedette.animation-ready
    .rapport-vedette__titre,
    .rapport-vedette.animation-ready
    .rapport-vedette__telecharger,
    .rapport-vedette.animation-ready
    .rapport-vedette__documents {
        opacity: 1;
        transform: none;
    }

    .rapport-vedette.animation-ready
    .rapport-vedette__separateur {
        transform: scaleX(1);
    }
}

@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700;800&display=swap");

/* =====================================
   DIV PRINCIPALE
===================================== */

.video-engagement {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 590px;
    padding: 45px 25px;

    overflow: hidden;

    background-color: #f5f5f5;

    font-family: "Roboto", Arial, Helvetica, sans-serif;
}

.video-engagement *,
.video-engagement *::before,
.video-engagement *::after {
    box-sizing: border-box;
}

/* =====================================
   CARTE
===================================== */

.video-engagement__carte {
    width: min(675px, 100%);

    overflow: hidden;

    background-color: #e5e5e5;

    box-shadow:
        0 18px 45px rgba(15, 23, 42, 0.08);

    transition:
        transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.5s ease;
}

/* Effet au survol de la carte */

.video-engagement__carte:hover {
    transform: translateY(-7px);

    box-shadow:
        0 26px 60px rgba(15, 23, 42, 0.15);
}

/* =====================================
   CONTENEUR YOUTUBE
===================================== */

.video-engagement__media {
    position: relative;

    width: 100%;
    aspect-ratio: 16 / 9;

    overflow: hidden;

    background-color: #111111;
}

/* Iframe YouTube */

.video-engagement__iframe {
    display: block;

    width: 100%;
    height: 100%;

    border: 0;
}

/* =====================================
   INFORMATIONS SOUS LA VIDÉO
===================================== */

.video-engagement__informations {
    width: 100%;
    min-height: 78px;
    padding: 12px 28px 14px;

    background-color: #e5e5e5;
}

/* Titre */

.video-engagement__titre {
    margin: 0;

    color: #505050;

    font-size: clamp(1rem, 2vw, 1.15rem);
    font-weight: 700;
    line-height: 1.35;
}

/* =====================================
   LIEN DÉCOUVRIR
===================================== */

.video-engagement__lien {
    display: inline-flex;
    align-items: center;

    margin-top: 5px;

    color: #101010;
    text-decoration: none;
    text-transform: uppercase;

    font-size: 0.92rem;
    font-weight: 800;

    gap: 6px;

    transition:
        color 0.3s ease,
        transform 0.3s ease;
}

.video-engagement__lien svg {
    display: block;

    width: 20px;
    height: 20px;

    overflow: visible;

    fill: none;
    stroke: #ff172e;
    stroke-width: 2.5;
    stroke-linecap: square;
    stroke-linejoin: miter;

    transition: transform 0.3s ease;
}

.video-engagement__lien:hover {
    color: #1e77b7;

    transform: translateX(4px);
}

.video-engagement__lien:hover svg {
    transform: translateX(5px);
}

/* Focus au clavier */

.video-engagement__lien:focus-visible {
    outline: 3px solid rgba(30, 119, 183, 0.35);
    outline-offset: 5px;
}

/* =====================================
   ÉTAT INITIAL DE L’ANIMATION
===================================== */

/* La carte part légèrement du bas */

.video-engagement.animation-ready
.video-engagement__carte {
    opacity: 0;

    transform:
        translateY(80px)
        scale(0.92);
}

/* La vidéo apparaît progressivement */

.video-engagement.animation-ready
.video-engagement__media {
    clip-path: inset(0 0 100% 0);
}

/* Le titre est caché au départ */

.video-engagement.animation-ready
.video-engagement__titre {
    opacity: 0;
    transform: translateY(25px);
}

/* Le lien arrive depuis la gauche */

.video-engagement.animation-ready
.video-engagement__lien {
    opacity: 0;
    transform: translateX(-25px);
}

/* =====================================
   ANIMATION D’APPARITION
===================================== */

.video-engagement.animation-visible
.video-engagement__carte {
    opacity: 1;

    transform:
        translateY(0)
        scale(1);

    transition:
        opacity 0.8s ease,
        transform 1s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.5s ease;
}

/* Ouverture verticale de la vidéo */

.video-engagement.animation-visible
.video-engagement__media {
    clip-path: inset(0 0 0 0);

    transition:
        clip-path 1.15s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.15s;
}

/* Apparition du titre */

.video-engagement.animation-visible
.video-engagement__titre {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity 0.7s ease 0.6s,
        transform 0.8s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.6s;
}

/* Apparition du lien */

.video-engagement.animation-visible
.video-engagement__lien {
    opacity: 1;
    transform: translateX(0);

    transition:
        opacity 0.7s ease 0.8s,
        transform 0.8s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.8s,
        color 0.3s ease;
}

/* Maintient l’effet au survol après l’animation */

.video-engagement.animation-visible
.video-engagement__carte:hover {
    transform: translateY(-7px);

    box-shadow:
        0 26px 60px rgba(15, 23, 42, 0.15);
}

/* =====================================
   TABLETTES ET TÉLÉPHONES
===================================== */

@media screen and (max-width: 700px) {
    .video-engagement {
        min-height: auto;
        padding: 35px 20px;
    }

    .video-engagement__carte {
        width: 100%;
    }

    .video-engagement__informations {
        min-height: auto;
        padding: 14px 20px 16px;
    }

    .video-engagement__titre {
        font-size: 1rem;
    }

    .video-engagement__lien {
        margin-top: 7px;
    }
}

/* =====================================
   PETITS TÉLÉPHONES
===================================== */

@media screen and (max-width: 450px) {
    .video-engagement {
        padding: 25px 15px;
    }

    .video-engagement__informations {
        padding: 13px 16px 15px;
    }

    .video-engagement__titre {
        font-size: 0.94rem;
        line-height: 1.4;
    }

    .video-engagement__lien {
        margin-top: 8px;

        font-size: 0.85rem;
    }

    .video-engagement__lien svg {
        width: 18px;
        height: 18px;
    }
}

/* =====================================
   RÉDUCTION DES ANIMATIONS
===================================== */

@media (prefers-reduced-motion: reduce) {
    .video-engagement *,
    .video-engagement *::before,
    .video-engagement *::after {
        animation: none !important;
        transition: none !important;
    }

    .video-engagement.animation-ready
    .video-engagement__carte,
    .video-engagement.animation-ready
    .video-engagement__titre,
    .video-engagement.animation-ready
    .video-engagement__lien {
        opacity: 1;
        transform: none;
    }

    .video-engagement.animation-ready
    .video-engagement__media {
        clip-path: none;
    }
}