/*===================== SECTION FIRST OF WEBSITE ===========================*/


.banner-section {
    color: white;
    padding: 1.04vw 8.928vw 0vw 8.928vw;
    /* height: 44.354vw; */
    height: 100vh;
    position: relative;
    overflow: hidden;
    background: #284c9a;
}

.banner-section .overlay-blue .slide.other::after {
    content: '';
    position: absolute;
    background: #284c9aa0;
    width: 100%;
    height: 100%;
    display: block;
    top: 0;
    left: 0;
    z-index: 2;
}
.banner-slider .slide {
    top: 0 !important;
    left: 0 !important;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}
.banner-slider .slide.active {
    opacity: 1;
}
.banner-slider .slide {
    transform: scale(1.05);
}
.banner-slider .slide.active {
    transform: scale(1);
    transition: opacity 1s, transform 4s;
}

.banner-content {
    text-align: center;
    margin-top: 1.41vw;
}

.banner-content.slide h1  {
    font-size: 8.854vw;
    font-weight: 900;
    color: #4162a8;
    line-height: 3.3vw;
    left: 0;
    right: 0;
    text-align: center;
    margin: 0 auto;
    padding-top: 8.3229vw;
    text-align: center;
    font-family: var(--font-name);
    white-space: nowrap;
    z-index: 8;
    text-shadow: -1px -1px 0 #ffffff00, 1px -1px 0 #CCDBF933, -1px 1px 0 #CCDBF933, 1px 1px 0 #CCDBF933, -1px 0 0 #CCDBF933, 1px 0 0 #CCDBF933, 0 -1px 0 #CCDBF933, 0 1px 0 #CCDBF933;
}
.slide h1 {
    font-size: 8.854vw;
    font-weight: 900;
    color: #F1E800;
    line-height: 3.3vw;
    left: 0;
    right: 0;
    text-align: center;
    margin: 0 auto;
    padding-top: 8.3229vw;
    z-index: 8;
    font-family: var(--font-name);
    white-space: nowrap;
    /* text-shadow: -1px -1px 0 #ffffff00, 1px -1px 0 #CCDBF933, -1px 1px 0 #CCDBF933, 1px 1px 0 #CCDBF933, -1px 0 0 #CCDBF933, 1px 0 0 #CCDBF933, 0 -1px 0 #CCDBF933, 0 1px 0 #CCDBF933; */
}

.content-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 2.08vw;
    gap: 2vw;
    /* padding: 0 5.21vw; */
}

.banner-section .text-left,
.banner-section .text-right {
    flex: 1;
    z-index: 3;
    /* width: 28.59; */
    max-width: 18vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* align-items: flex-start; */
    gap: 1vw;
    text-align: left;
    margin-top: 15.36vw;
}

/* État initial */
.banner-section .text-left,
.banner-section .text-right {
    opacity: 0;
    transform: translateX(0);
    transition: transform 0.8s ease, opacity 0.8s ease;
}

.banner-section .text-left.reveal {
    transform: translateX(0);
    opacity: 1;
}

.banner-section .text-right.reveal {
    transform: translateX(0);
    opacity: 1;
}

/* Position de départ hors écran */
.banner-section .text-left {
    transform: translateX(-60px);
}

.banner-section .text-right {
    transform: translateX(60px);
}


.banner-section .text-left p,
.banner-section .text-right p {
    font-size: 1.82vw;
    font-weight: bold;
    margin-bottom: 0.78vw;
    line-height: 2.6vw;
    /* display: -webkit-box; */

}

/* .cta {
    width: 1.04vw;
    z-index: 3;
    bottom: 0.52vw;
  }
  
  .cta img {
    width: 17.69vw;
  } */
.cta-button {
    display: inline-flex;
    align-items: center;
    gap: 0.78vw;
    /* padding: 0.78vw 1.56vw; */
    font-size: 1.3vw;
    font-weight: 700;
    text-decoration: none;
    border-radius: 2.6vw;
    box-shadow: 0 0.26vw 0.52vw rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s ease;
    height: 2.82vw;
}

.cta-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.34vw;
    height: 2.34vw;
    border-radius: 50%;
    background-color: white;
}

.cta-icon img {
    width: auto;
    height: 1.56vw;
}

.cta-button .cta-text {
    text-wrap: nowrap;
}


.btn-yellow {
    background-color: #F1E800;
    color: #0E1F56;
    padding: 0.78vw 1.56vw 0.78vw 0.12vw;
}

.btn-yellow .cta-icon {
    background-color: #284D9A;
    width: 2.6vw;
    height: 2.6vw;
}

.btn-yellow:hover {
    background-color: #ddd600;
}


.btn-green {
    background-color: #37964A;
    color: #ffffff;
    padding: 0.78vw 1.56vw 0.78vw 0.2vw;
}

.btn-green .cta-icon {
    background-color: #F1E800;
    width: 2.6vw;
}

.btn-green:hover {
    background-color: #2b7d3b;
}



.banner-images {
    position: absolute;
    width: 56.5625vw;
    height: auto;
    left: 0;
    margin: auto;
    right: 0;
    bottom: 0;
}

.banner-images .famille {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
    z-index: 2;
    object-fit: contain;
}


.services-section {
    background-color: #f0f7ff;
    padding: 3.13vw 8.928vw;
}

.services-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1.56vw;
    margin-bottom: 3.13vw;
}

.service-card {
    position: relative;
    flex: 1 1 calc(25% - 1.56vw);
    width: 19.37vw;
    height: 22.34vw;
    padding: 1.56vw 1.04vw;
    border-radius: 1.3vw;
    box-shadow: 0 0.52vw 1.3vw rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: white;
    overflow: hidden;
}

.card-text h3 {
    font-size: 1.77vw;
    font-weight: 900;
    margin-bottom: 0.88vw;
    max-width: 60%;
}

.card-text p {
    font-weight: 500;
    font-size: 1.04vw;
    line-height: 1.4;
    /* height: 3.8em; */
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 65vw;
}

.arrow-img {
    position: absolute;
    bottom: 1.04vw;
    left: 1.04vw;
    width: 3.38vw;
    height: 3.38vw;
    cursor: pointer;
}

.illustration {
    position: absolute;
    bottom: 0.52vw;
    right: -3.48vw;
    width: 100%;
    height: 10.0546875vw;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-size: contain;
}

.consult {
    background-color: #701847;
}

.analyse {
    background-color: #A1BA39;
}

.soins {
    background-color: #F38430;
}

.hospital {
    background-color: #56A1BF;
}

.stats {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1.04vw;
    text-align: right;
    font-size: 1.04vw;
}

.stats .stat-link {
    flex: 1 1 calc(33% - 1.04vw);
    min-width: 7.81vw;
    color: black;
}

.stats strong {
    font-size: 3.125vw;
    color: #37964A;
    font-weight: 900;
    display: block;
    margin-bottom: 0.52vw;
}

.experience-section {
    background-color: #ffffff;
    padding: 5.41vw 7.55vw;
    display: flex;
    justify-content: center;
    align-items: center;
}

.experience-container {
    display: flex;
    flex-wrap: wrap;
    gap: 2.08vw;
    align-items: center;
    max-width: 90vw;
    margin: 0 auto;
    justify-content: flex-start;
    width: 100%;
}


.experience-image img {
    width: 100%;
    max-width: 42.46vw;
}

.experience-years {
    display: inline-flex;
    align-items: baseline;
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 6.35vw;
    color: #37964A;
    text-shadow: -0.43vw 0.57vw 0 #E9E11F,
        0.57vw 0.57vw 0 #E9E11F;

    gap: 0.2vw;
    margin-bottom: 0.5vw;
}

.experience-years .plus {
    font-size: 6.35vw;
    line-height: 1;
    margin-right: 1vw;
}

.experience-years .number {
    font-size: 6.35vw;
    font-weight: 900;
    margin-right: 1vw;
}

.experience-years .label {
    font-size: 2.5vw;
    font-weight: 900;
    margin-left: 0.3vw;
}


.experience-content {
    flex: 1;
    min-width: 15.63vw;
}

.experience-content h2 {
    font-size: 2.39vw;
    font-weight: 800;
    color: #37964A;
    margin-bottom: 1.04vw;
}

.experience-content p {
    font-size: 1.3vw;
    color: #333333;
    margin-bottom: 0.78vw;
}

/* .btn.green {
    background-color: #37964A;
    color: white;
    padding: 10px 20px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: bold;
  /* } */

/* .btn.green img {
    height: auto;
    width: auto;
  } */

.specialities-section {
    background-color: #e6f0ff;
    text-align: center;
    padding: 3.13vw 8.928vw;
}

.specialities-section h2 {
    font-size: 5vw;
    font-weight: 900;
    color: #3791A6;
    margin-bottom: 2.08vw;
}

.specialities-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.04vw;
}

.speciality {
    background-color: white;
    border-radius: 2.6vw;
    padding: 0.52vw 1.04vw;
    display: flex;
    align-items: center;
    gap: 0.52vw;
    box-shadow: 0 0.1vw 0.21vw rgba(0, 0, 0, 0.1);
    font-size: 0.83vw;
    font-weight: 500;
    color: #333;
    height: 2.81vw;
    transition: all .5s ease-in-out;
}

.speciality img {
    background-color: #3791A6;
    border-radius: 50%;
    padding: 0.26vw;
    width: 2.5vw;
    height: 2.5vw;
    margin-left: -0.94vw;
    transition: all .5s ease-in-out;
}

.speciality:hover,
.speciality.active {
    border: 0.1vw solid #3791A6;
    transition: all .5s ease-in-out;
}

.speciality:hover img,
.speciality.active img {
    background-color: transparent;
    filter: brightness(0) saturate(100%) invert(54%) sepia(3%) saturate(6736%) hue-rotate(144deg) brightness(93%) contrast(102%);
    transition: all .5s ease-in-out;
}

.publications-section {
    background-color: #e6f0ff;
    padding: 3.13vw 8.928vw;
}

.publications-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2.08vw;
}

.publications-header h2 {
    font-size: 5vw;
    font-weight: 900;
    color: #284D9A;
}

.view-all {
    color: #284D9A;
    font-weight: 700;
    font-size: 1.82vw;
    display: flex;
    align-items: center;
    gap: 0.52vw;
    text-decoration: none;
}

.publications-container {
    display: flex;
    flex-wrap: wrap;
    gap: 1vw;
    justify-content: center;
}

.publication-card {
    background-color: white;
    border-radius: 1.3vw;
    overflow: hidden;
    width: 19.375vw;
    /* height: 30.9vw; */
    box-shadow: 0 0.26vw 0.78vw rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-bottom-left-radius: 4.17vw;
    border-bottom-right-radius: 0;
}

.publication-card img {
    width: 100%;
    height: auto;
    object-fit: cover;
    padding: 0;
}

.publication-card h3 {
    font-size: 1.01vw;
    font-weight: 700;
    color: #0E1F56;
    padding: 0.78vw;
}

.publication-card p {
    font-size: 0.88vw;
    color: #333;
    padding: 0 0.78vw 0.78vw;
}

.publication-card span {
    font-size: 1.01vw;
    font-weight: 700;
    color: #284D9A;
    padding: 0.78vw;
    display: flex;
    align-items: center;
    justify-content: end;
    text-decoration: none;
    /* margin-left: 3.39vw; */
    gap: 3.78vw;
}

.publication-card span img {
    width: 1.3vw;
    height: 1.3vw;
}

.testimonials-section {
    background-color: #e6f0ff;
    padding: 3.13vw 8.928vw;
    position: relative;
    margin-bottom: 5.21vw;
}

.testimonials-section h2 {
    font-size: 5vw;
    font-weight: 900;
    color: #2C9344;
    margin-bottom: 2.08vw;
}

.testimonials-section h2 span {
    color: #2C9344;
}

.testimonial-wrapper {
    position: relative;
}

.dots-yellow {
    position: absolute;
    bottom: -2.6vw;
    left: -2.6vw;
    z-index: 0;
    width: 10.42vw;
}

.dots-green {
    position: absolute;
    top: -3.65vw;
    right: -3.65vw;
    z-index: 0;
    width: 10.42vw;
}

.testimonial-card {
    display: flex;
    background: white;
    padding: 2.08vw;
    box-shadow: 0 0.52vw 1.3vw rgba(0, 0, 0, 0.1);
    justify-content: space-between;
    align-items: center;
    position: relative;
    z-index: 1;
}

.testimonial-text {
    max-width: 50%;
}

.testimonial-text p {
    font-size: 1.26vw;
    line-height: 2.5vw;
    margin-bottom: 3.91vw;
}

.testimonial-author {
    display: flex;
    align-items: center;
    margin-bottom: 3.91vw;
}

.author-number {
    background: #2C9344;
    color: white;
    font-weight: 700;
    padding: 1.42vw 1.63vw;
    margin-right: 0.78vw;
    font-size: 2vw;
}

.testimonial-author strong {
    color: #2C9344;
    font-weight: 900;
    font-size: 1.63vw;
    margin-bottom: 2.6vw;
}

.testimonial-author span {
    font-size: 1.73vw;
    color: #999;
    font-weight: 600;
}

.testimonial-nav button {
    background: none;
    border: none;
    cursor: pointer;
    margin-right: 0.52vw;
}

.testimonial-image {
    position: relative;
    max-width: 45%;
}

.image-frame {
    position: relative;
    display: inline-block;
}

.image-frame img {
    display: block;
    width: 100%;
    height: auto;
    margin-left: -2.6vw;
}

.green-frame {
    position: absolute;
    top: -1.04vw;
    right: -1.04vw;
    bottom: -1.04vw;
    left: -1.04vw;
    border-top: 1.04vw solid #2C9344;
    border-right: 1.04vw solid #2C9344;
    border-bottom: 1.04vw solid #2C9344;
    z-index: -1;
}

.insurance-section {
    background-color: #f0f7ff;
    padding: 3.13vw 8.928vw;
    text-align: center;
}

.insurance-section h2 {
    font-size: 5vw;
    font-weight: 900;
    color: #3791A6;
    margin-bottom: 2.08vw;
}

.insurance-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.08vw;
}

.insurance-logos a {
    width: 6.25vw;
    height: auto;
    object-fit: contain;
    cursor: default;
    transition: all .5s ease-in-out;
}

.insurance-logos a img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.insurance-logos img:hover {
    transform: scale(1.05);
    transition: all .5s ease-in-out;
}

/* SECTION NEWSLETTER  */

.newsletter-section {
    background-color: #e6f0ff;
    display: flex;
    justify-content: end;
    align-items: center;
    padding: 0 8.928vw;
    position: relative;
    overflow: hidden;
    height: 44.21vw;
}

.newsletter-container {
    display: flex;
    align-items: center;
    justify-content: end;
    width: 100%;
    max-width: 67.71vw;
    gap: 3vw;
}

.newsletter-image img {
    width: 100%;
    height: 100%;
    /* max-width: 100%; */
    object-fit: contain;
    position: relative;
    z-index: 1;
}

.newsletter-image {
    width: 39.79vw;
    height: 40.104vw;
    display: block;
    position: absolute;
    bottom: 0;
    left: 7.65vw;
}


.newsletter-content {
    /* flex: 1; */
    position: relative;
    z-index: 2;
    width: 40.104vw;
    display: block;
}

.courbe-deco {
    position: absolute;
    top: 0;
    right: 0;
    width: 52.08vw;
    z-index: 0;
}

.newsletter-content h2 {
    font-size: 2.86vw;
    font-weight: 800;
    color: #444444;
    margin-bottom: 1.3vw;
    text-align: right;
}

.newsletter-form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5vw;
    margin-bottom: 1.3vw;
}


/* 
  .newsletter-form input[type="text"]{
    flex: 1 1 20%;
  } */


.newsletter-form input[type="text"],
.newsletter-form input[type="email"] {
    padding: 0.52vw 1.04vw;
    border: 0.2vw solid #56A1BF;
    border-top-left-radius: 1.82vw;
    border-top-right-radius: 2.6vw;
    border-bottom-right-radius: 2.6vw;
    font-size: 1.45vw;
    color: #000;
    opacity: 0.5;
    background: #fff;
    font-weight: 600;
    height: 4.79vw;
    width: 100%;
}

.newsltter-form1 {
    gap: 2vw;
    display: flex;
    margin-bottom: 2.08vw;
}

.email-submit {
    display: flex;
    flex: 1 1 100%;
    gap: 0.52vw;
    align-items: center;
}

.email-submit input[type="email"] {
    flex: 1;
}

.email-submit button {
    border: none;
    background: transparent;
}

.email-submit button img {
    width: 4.79vw;
    height: auto;
}

/* ====== EQUIPE SERENA — STYLE MAQUETTE ====== */

/* 2 colonnes plus tendues comme sur la maquette */
.experience-container {
  display: grid;
  grid-template-columns: minmax(380px, 44vw) 1fr;
  align-items: center;
  gap: 3vw;
  max-width: 90vw;
  margin: 0 auto;
}

/* Bloc visuel avec aplat vert derrière */
.experience-image {
  position: relative;
  width: 100%;
  max-width: 44vw;   /* cohérent avec la grille */
  isolation: isolate; /* pour gérer les z-index propres */
}

/* L'image par-dessus, légère bordure douce */
.experience-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0.8vw;
  position: relative;
  z-index: 2;
  box-shadow: 0 12px 28px rgba(0,0,0,.097);
  object-fit: cover;
  border-bottom-left-radius: 10vw;
 border-bottom-right-radius: 0vw;
}

/* Aplat vert arrondi façon maquette (en haut-gauche) */
.experience-image::before {
  content: "";
  position: absolute;
  top: -2.2vw;
  left: -2.2vw;
  width: 32vw;       
  height: 20vw;
  background: #2C9344;
  border-radius: 1.6vw;
  z-index: 1;
  border-top-left-radius: 0vw;
  border-top-right-radius:10vw !important;
}




@media (max-width: 768px) {
      .experience-container {
            display: flex;
            flex-direction: column;
            gap: 6vw;
        }

        .experience-image {
            width: 100%;
            max-width: 92vw;
        }

        .experience-image::before {
            top: -6vw;
            left: -6vw;
            width: 66vw;
            height: 38vw;
            border-radius: 4vw;
        }

        .experience-image img {
            border-radius: 2.5vw;
        }

        .experience-content {
            text-align: left; /* garde le look éditorial */
            width: 100%;
        }

        .experience-content h2 {
            font-size: 6vw;
            margin-bottom: 3vw;
        }

        .experience-content p {
            font-size: 4vw;
            line-height: 1.6;
        }

        .cta-button.btn-green .cta-icon {
            width: 9vw; height: 9vw;
        }

    .mobile-header.scrolled {
        background-color: #284D9A;
        /* background-color: #284D9A;  */
        /* box-shadow: 0 2px 5px rgba(0,0,0,0.15); */
    }

    .banner-section {
        background-color: #284D9A;
        color: white;
        height: 100vh;
        padding: 73vw 5vw 4vw;
        position: relative;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;

        /* Image en background avec overlay */
        background-image:
            linear-gradient(rgba(40, 77, 154, 0.6),
                /* overlay bleu translucide */
                rgba(40, 77, 154, 0.6)),
            url('/images/family.png');
        background-repeat: no-repeat;
        background-position: center bottom;
        background-size: cover;
        background-attachment: scroll;
        background-blend-mode: overlay;
        animation: fadeInDown 1s ease forwards;
    }
    
    .banner-content.slide h1,
    .slide h1 { 
        font-size: 72.65px;
        font-weight:900;
        color: #fff; /* blanc pur pour bien contraster sur le bg */
        line-height: 1.1;
        margin: 18vw 0 16vw 0;
        font-family: var(--font-name);
        text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.6);
        white-space: normal;
        text-shadow: 1px 0 currentColor, -1px 0 currentColor, 0 1px currentColor, 0 -1px currentColor;
    }
    .banner-images {
        display: none;
    }

    .content-wrapper {
        flex-direction: column;
        align-items: center;
        gap: 8vw;
        margin-top: 0;
    }

    .banner-section .text-left,
    .banner-section .text-right {
        max-width: 100%;
        margin-top: 0;
        text-align: center;
        padding: 0 2vw;
    }

    .banner-section .text-left {
        padding-left: 0vw;
        padding-right: 31vw;
    }

    .banner-section .text-right {
        padding-left: 39vw;
        padding-right: 0vw;
    }

    .banner-section .text-left p,
    .banner-section .text-right p {
        font-size: 4vw;
        font-weight: 600;
        line-height: 1.3;
        color: #fff;
        margin-bottom: 3vw;
    }

    /* Boutons */
    .cta-button {
        font-size: 4vw;
        height: 10vw;
        border-radius: 5vw;
        padding: 0 5vw;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
        transition: background-color 0.4s ease, transform 0.3s ease;
    }

    .cta-button:hover {
        transform: scale(1.05);
    }

    .btn-yellow {
        background-color: #F1E800;
        color: #0E1F56;
    }

    .btn-yellow .cta-icon {
        background-color: #284D9A;
        width: 9vw;
        height: 9vw;
        margin-left: -4.5vw;
    }

    .btn-green {
        background-color: #37964A;
        color: #ffffff;
    }

    .btn-green .cta-icon {
        background-color: #F1E800;
        width: 9vw;
        height: 9vw;
        margin-left: -4vw;
    }

    .cta-icon img {
        height: 5vw;
    }



    .services-section {
        padding: 8vw 5vw;
    }

    .services-container {
        flex-direction: column;
        align-items: center;
        gap: 6vw;
    }

    .service-card {
        width: 90vw;
        height: auto;
        padding: 6vw;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    }

    .card-text p {
        font-size: 4.5vw;
        line-height: 1.4;
        width: 52vw;
    }

    .illustration {
        position: absolute;
        bottom: 2.52vw;
        right: -28.48vw;
        width: 100%;
        height: 27vw;
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        background-size: contain;
    }

    .card-text h3 {
        font-size: 6vw;
        margin-bottom: 2vw;
    }

    .card-text p {
        font-size: 4.5vw;
        line-height: 1.4;
        margin-bottom: 11vw;
    }

    .arrow-img {
        position: absolute;
        bottom: 3.78vw;
        left: 3.78vw;
        width: 8.38vw;
        height: 8.38vw;
    }

    /* Stats */
    .stats {
        display: flex;
        flex-direction: column;
        text-align: center;
        gap: 4vw;
    }

    .stats .stat-link {
        font-size: 4vw;
    }

    .stats strong {
        font-size: 8.125vw;
    }

    /* Expérience */
    .experience {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        max-width: 90vw;
        margin: 0 auto;
        padding: 8vw 5vw;
        height: auto;
        text-align: center;
    }

    .experience-container {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    
    .experience-container .experience-image {
        width: 100%;
        height: 55vw;
    }
    .experience-container img {
        max-width: 100%;
    }

    .experience-content .experience-years {
        font-size: 15vw;
    }

    .experience-content {
        text-align: center;
        padding: 6vw 4vw;
    }

    .experience-content h2 {
        font-size: 6vw;
    }

    .experience-content p {
        font-size: 4vw;
    }

    /* Publications */

    .publications-section {
        background-color: #e6f0ff;
        padding: 3.13vw 12.207px 4.928vw;
    }

    .publications-header {
        display: flex;
        flex-direction: column;
        gap: 2vw;
        align-items: center;
        text-align: center;
        margin-bottom: 4vw;
    }

    .publications-header h2 {
        font-size: 6vw;
    }

    .view-all {
        font-size: 4vw;
        display: flex;
        align-items: center;
        gap: 1vw;
        color: #0072ce;
        font-weight: 600;
        text-decoration: none;
    }

    .publications-container {
        display: flex;
        flex-wrap: wrap;
        gap: 4vw 2vw;
        justify-content: space-between;
        padding: 3vw 1vw;
    }

    .publication-card {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 1vw;
        border-radius: 5.17vw;
    }

    .publication-card h3,
    .publication-card span {
        font-size: 4vw;
        padding: 3vw 3vw;
    }

    .publication-card span img {
        width: 5.3vw;
        height: 5.3vw;
    }


    .publication-card p {
        font-size: 3.5vw;
        padding: 0vw 3vw;
    }

    /* Nos spécialités */
    .specialities-section {
        padding: 6vw 4vw;
    }

    .specialities-section h2 {
        font-size: 6vw;
        text-align: center;
        margin-bottom: 4vw;
    }

    .specialities-container {
        display: flex;
        flex-wrap: wrap;
        gap: 3vw;
        justify-content: center;
        padding: 0vw 2vw;
    }

    .speciality {
        display: flex;
        align-items: center;
        gap: 2vw;
        background: #f2f6fc;
        padding: 3.5vw 3vw;
        border-radius: 4vw;
        font-size: 3vw;
        text-decoration: none;
        flex: 1 1 40%;
        transition: background 0.3s ease;
    }

    .speciality:hover {
        background: #e1eafe;
    }

    .speciality img {
        width: 6vw;
        height: auto;
        margin-left: -10px;
    }



    /* ========== 3. Témoignages ========== */
    .testimonials-section {
        padding: 6vw 4vw;
        text-align: center;
    }

    .testimonials-section h2 {
        font-size: 6vw;
        text-align: center;
        line-height: 1.4;
    }

    .testimonial-wrapper {
        position: relative;
        padding: 4vw 2vw;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .testimonial-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
        width: 100%;
        gap: 3vw;
    }

    .testimonial-text p {
        font-size: 4.5vw;
        line-height: 6vw;
        margin-bottom: 4vw;
    }

    .testimonial-author {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 3vw;
        margin-top: 2vw;
    }

    .author-number {
        width: 7vw;
        height: 7vw;
        font-size: 4vw;
    }

    .testimonial-image {
        width: 60vw;
        height: auto;
    }

    .testimonial-image .image-frame {
        width: 100%;
        height: auto;
        position: relative;
    }

    .testimonial-image img {
        width: 100%;
        height: auto;
        object-fit: cover;
    }

    .testimonial-author strong {
        font-size: 5.83vw;
    }

    .testimonial-author span {
        font-size: 2.73vw;
    }

    .green-frame {
        display: none;
    }

    .dots-yellow,
    .dots-green {
        display: none;
    }

    .testimonial-nav {
        display: flex;
        justify-content: center;
        gap: 4vw;
        margin-top: 4vw;
    }

    .testimonial-nav button img {
        width: 6vw;
        height: auto;
    }

    /* ========== 4. Assurances acceptées ========== */
    .insurance-section {
        padding: 6vw 4vw;
    }

    .insurance-section h2 {
        font-size: 6vw;
        text-align: center;
        margin-bottom: 5vw;
    }

    .insurance-logos {
        display: flex;
        flex-wrap: wrap;
        gap: 2vw;
        justify-content: center;
        align-items: center;
    }

    .insurance-logos a {
        flex: 1 1 28vw;
        max-width: 28vw;
        padding: 2vw;
        background: white;
        border-radius: 2vw;
        box-shadow: 0 0.5vw 1.5vw rgba(0, 0, 0, 0.05);
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .insurance-logos img {
        width: 100%;
        height: auto;
    }

    /* ========== 5. Newsletter Section ========== */

    .newsletter-section {
        padding: 2vw 4vw 0vw 4vw;
        position: relative;
        background: #F2F6FC;
        text-align: center;
        height: auto;
    }

    .courbe-deco {
        display: none;
    }

    .newsletter-container {
        flex-direction: column;
        gap: 5vw;
        align-items: self-start;
        max-width: 100%;
    }

    .newsletter-content {
        width: 100%;
        padding: 4vw 2vw;
    }

    .newsletter-content h2 {
        font-size: 4.86vw;
        margin-bottom: 4.3vw;
        text-align: left;
    }

    .newsletter-form {
        gap: 2.5vw;
    }

    .newsletter-form input[type="text"],
    .newsletter-form input[type="email"] {
        padding: 3.52vw 3.04vw;
        font-size: 4.45vw;
        height: auto;
        width: 100%;
    }

    .newsltter-form1 {
        gap: 3vw;
        margin-bottom: 0.08vw;
    }

    .newsletter-form .email-submit button {
        background: #284D9A;
        border: none;
        width: fit-content;
        color: white;
        padding: 3vw 8vw;
        border-radius: 8px;
        margin-top: 3vw;
        align-self: baseline;
    }

    .testimonial-text {
        max-width: 100%;
    }

    .testimonial-text p {
        width: 80vw;
    }


}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        transform: translateY(-30px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}