 /* hero + menu */
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
          margin: 0;
      padding: 0;
      font-family: "Montserrat", sans-serif;
      /* font-family: "Roboto", sans-serif;
      font-family: Arial, sans-serif; */
      background-color: #ffffff;
      line-height: 1.6;
      background-color: #bb142ef2;
      color: white;
    }

    /* Navbar */
    .navbar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0 25px;
      background-color: #ffffff;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 1000;
      height: 100px;
    }

    .logo {
      width: 154px;
      height: 99px;
    }

    nav ul {
      display: flex;
      list-style: none;
    }

    nav ul li {
      margin-left: 20px;
    }

    nav ul li a {
      font-size: 18px;
      color: #000000;
      text-decoration: none;
    }

    nav ul li a.active {
      font-weight: 600;
      color: #bb142e;
    }

    /* Menu burger */
    .menu-toggle {
      display: none;
      font-size: 32px;
      cursor: pointer;
      z-index: 1100;
      color: #000000;
    }

    /* Hero Section */
    .hero {
      position: relative;
      height: 660px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      color: #ffffff;
      padding: 0 20px;
      margin-top: 100px;
    }

    .hero-bg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: -1;
    }

    .hero h1 {
      font-weight: 800;
      font-size: 48px;
      max-width: 1179px;
      margin-bottom: 40px;
    }

    .cta-button {
      background-color: #ffffff;
      color: #bb142e;
      font-weight: 800;
      font-size: 24px;
      padding: 15px 30px;
      text-decoration: none;
      border: none;
      /* border-radius: 5px; */
    }
/* about */
  /* Supprimer les marges et paddings par défaut du navigateur */
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }
/* 
    body {
      margin: 0;
      padding: 0;
    } */

    .about {
      background-color: #bb142e;
      color: #ffffff;
      padding: 60px 0; /* Plus de padding horizontal */
      text-align: center;
    }

    .about h2 {
      font-size: 40px;
      margin-bottom: 30px;
      font-family: "Montserrat", sans-serif;
    }

    .about p {
      font-size: 24px;
      max-width: 1078px;
      margin: 0 auto 30px;
      font-family: "Montserrat", sans-serif;
    }

    .learn-more {
      background-color: #ffffff;
      color: #bb142e;
      font-family: "Roboto", sans-serif;
      font-weight: 500;
      font-style: italic;
      font-size: 24px;
      padding: 15px 30px;
      text-decoration: none;
      display: inline-block;
      /* border-radius: 5px; */
      transition: background-color 0.3s ease;
    }

    .learn-more:hover {
      background-color: #f3f3f3;
    }

     /* * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    } */

    /* body {
      font-family: "Roboto", sans-serif;
      background-color: #ffffff;
      line-height: 1.6;
    } */

    /* Section Valeurs */
    .values {
      padding: 60px 0;
      background-color: #ffffff;
    }

    .values h2 {
      font-size: 40px;
      color: #bb142e;
      text-align: center;
      margin-bottom: 40px;
      font-family: "Montserrat", sans-serif;
    }

    .value-cards {
      display: flex;
      justify-content: space-between;
      gap: 30px;
      max-width: 1373px;
      margin: 0 auto;
      padding: 0 20px;
      flex-wrap: wrap;
    }

    .value-card {
      flex: 1 1 30%;
      border: 1px solid;
      padding: 20px;
      text-align: center;
      min-width: 280px;
      box-sizing: border-box;
      background-color: #fafafa;
    }

    .value-card:nth-child(1) {
      border-color: #dec31e;
    }

    .value-card:nth-child(2) {
      border-color: #bb142e;
    }

    .value-card:nth-child(3) {
      border-color: #2aa3da;
    }

    .value-card img {
      max-width: 100%;
      height: auto;
      margin-bottom: 20px;
    }

    .value-card h3 {
      font-size: 32px;
      margin-bottom: 20px;
      text-decoration: underline;
      font-family: "Montserrat", sans-serif;
    }

    .value-card p {
      font-size: 20px;
      margin-bottom: 20px;
      font-family: "Roboto", sans-serif;
      color: black;
    }

    .value-card blockquote {
      font-family: "Playfair Display", serif;
      font-style: italic;
      font-size: 18px;
      color: #5d5d5d;
    }
/* section parcours  */
 
/* body {
      margin: 0;
      font-family: Arial, sans-serif;
      background-color: #bb142ef2;
      color: white;
    } */

    .journey {
      /* padding: 60px 20px;
      max-width: 800px;
      margin: 0 auto; */
      padding: 60px 40px;
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
    }


    .journey h2 {
      font-size: 40px;
      text-align: center;
      margin-bottom: 40px;
    }

    .rightinfo, .rightinfof {
      /* font-size: 28px;
      text-align: center;
      margin-bottom: 30px; */
      font-size: 32px; /* taille augmentée */
  text-align: left; /* alignement à gauche */
  margin-bottom: 30px;
    }

    .timeline-item, .education-item {
      margin-bottom: 40px;
      padding-left: 0;
      border-left: 4px solid transparent; /* optionnel si tu veux un petit repère */
    }

    .timeline-item h3.tit,
    .education-item h4.inftit {
      font-size: 24px;
      margin-bottom: 8px;
    }

    time {
      font-size: 18px;
      font-weight: bold;
      display: block;
      margin-bottom: 6px;
    }

    .place, .place1, .place2, .place3, .place4, .place5 {
      font-size: 14px;
      font-style: italic;
      margin-bottom: 10px;
    }

    p {
      font-size: 16px;
      line-height: 1.5;
      margin: 0;
    }

    /* realisations */
    .achievements {
  padding: 60px 0;
  background-color: #ffffff;
}

.achievements h2 {
  font-size: 40px;
  color: #bb142e;
  text-align: center;
  margin-bottom: 40px;
}

.achievement-item {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.achievement-item:nth-child(even) {
  flex-direction: row-reverse;
}

.achievement-item img {
  width: 50%;
  max-width: 698px;
}

.achievement-item div {
  width: 50%;
  padding: 0 40px;
}

.achievement-item h3 {
  font-size: 36px;
  color: #bb142e;
  margin-bottom: 20px;
}

.achievement-item ul {
  font-size: 20px;
  color: #000000ba;
  list-style: none;
}

.achievement-item li {
  margin-bottom: 15px;
}
/* rejoindre  */
 .join-community {
      /* background-color: #bb142e; */
      color: #ffffff;
      padding: 60px 20px;
      text-align: center;
      font-family: Arial, sans-serif;
    }

    .join-community h2 {
      font-size: 40px;
      margin-bottom: 30px;
    }

    .join-community p {
      font-size: 24px;
      max-width: 1210px;
      margin: 0 auto 30px;
      line-height: 1.4;
    }

    #rs {
      font-size: 16px;
      font-style: italic;
      color: #ffffff;
      max-width: 800px;
      margin: 0 auto 30px;
    }

    .cta-button {
      display: inline-block;
      background-color: white;
      color: #bb142e;
      text-decoration: none;
      font-weight: 700;
      padding: 15px 40px;
      /* border-radius: 30px; */
      font-size: 20px;
      transition: background-color 0.3s ease;
                  margin-bottom: 20px;
    }

    .cta-button:hover {
      background-color: white;
    }
/* slades */
/* Container responsive */
    .snapwidget-container {
      position: relative;
      width: 100%;
      padding-bottom: 50%; /* aspect ratio approx. height/width */
      height: 0;
      overflow: hidden;
    }
               

    /* iframe full inside container */
    .snapwidget-container iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border: none;
    }
/* contact */
.contact-form {
  padding: 60px 20px; /* un peu de padding horizontal pour mobile */
  max-width: 100%;
  margin: 0 auto;
  background-color: white;
      /* margin-top: -70%; */
}

.contact-form h2 {
  font-size: 40px;
  color: #bb142e;
  text-align: center;
  margin-bottom: 40px;
}

.contact-form form {
  display: flex;
  flex-direction: column;
}

.contact-form label {
  font-family: "Playfair Display", serif;
  font-size: 20px;
  color: #aeb4b5;
  margin-bottom: 10px;
}

.contact-form input,
.contact-form textarea {
  margin-bottom: 20px;
  padding: 10px;
  border: 1px solid #aeb4b563;
  font-size: 18px; /* lisibilité améliorée */
}

.contact-form textarea {
  height: 150px;
  resize: vertical; /* permettre redimension verticale */
}

.contact-form button {
  background-color: #bb142e;
  color: #ffffff;
  font-family: "Roboto", sans-serif;
  font-weight: 800;
  font-size: 32px;
  padding: 15px 30px;
  border: none;
  cursor: pointer;
  align-self: center;
  max-width: 300px;
  width: 100%;
  box-sizing: border-box;
}

/* Achievements Section */
.achievements {
  padding: 60px 0;
  background-color: #ffffff;
}

.achievements h2 {
  font-size: 40px;
  color: #bb142e;
  text-align: center;
  margin-bottom: 40px;
}

.achievement-item {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.achievement-item:nth-child(even) {
  flex-direction: row-reverse;
}

.achievement-item img {
  width: 50%;
  max-width: 698px;
}

.achievement-item div {
  width: 50%;
  padding: 0 40px;
}

.achievement-item h3 {
  font-size: 36px;
  color: #bb142e;
  margin-bottom: 20px;
}

.achievement-item ul {
  font-size: 20px;
  color: #000000ba;
          list-style: none;
}

.achievement-item li {
  margin-bottom: 15px;
}
/* footer */


/* ================================================================================================= */
/*  */
 /* Responsive styles */
 /*  */
    /* hero + menu */
    @media (max-width: 980px) {
      .menu-toggle {
        display: block;
      }

      nav {
        display: none;
        flex-direction: column;
        background-color: #ffffff;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
      }

      nav.active {
        display: flex;
      }

      nav ul {
        flex-direction: column;
        align-items: center;
      }

      nav ul li {
        margin: 10px 0;
      }

      .hero h1 {
        font-size: 30px;
      }

      .cta-button {
        font-size: 20px;
        padding: 12px 25px;
      }
    }
        /* Responsive about */
    @media (max-width: 768px) {
      .about h2 {
        font-size: 30px;
      }

      .about p {
        font-size: 18px;
        padding: 0 10px;
      }

      .learn-more {
        font-size: 20px;
        padding: 12px 25px;
      }
    }

     /* Responsive values*/
    @media (max-width: 1024px) {
      .value-card {
        flex: 1 1 45%;
      }
    }

    @media (max-width: 768px) {
      .value-cards {
        flex-direction: column;
        align-items: center;
      }

      .value-card {
        width: 90%;
        margin-bottom: 30px;
      }

      .values h2 {
        font-size: 32px;
      }

      .value-card h3 {
        font-size: 26px;
      }

      .value-card p,
      .value-card blockquote {
        font-size: 18px;
      }
    }

    /* Responsive parcours*/
     @media screen and (max-width: 600px) {
      .journey {
        padding: 40px 15px;
      }

      .journey h2 {
        font-size: 32px;
      }

      .rightinfo, .rightinfof {
        font-size: 24px;
      }
    }
      @media screen and (min-width: 1024px) {
  .journey {
    padding: 80px 80px;
  }

  .rightinfo, .rightinfof {
    font-size: 36px;
  }

  .journey h2 {
    font-size: 48px;
    text-align: left;
    
  }
 
}
/* responsive realisation */
/*  Responsive Mobile */
@media screen and (max-width: 768px) {
  .achievement-item {
    flex-direction: column !important;
    text-align: center;
  }

  .achievement-item img,
  .achievement-item div {
    width: 100%;
    padding: 0;
  }

  .achievement-item div {
    padding-top: 20px;
  }

  .achievement-item h3 {
    font-size: 28px;
  }

  .achievement-item ul {
    font-size: 18px;
  }
}

/* responsive rejoindre  */

    /* Responsive Tablette */
    @media (max-width: 768px) {
      .join-community {
        padding: 50px 15px;
      }

      .join-community h2 {
        font-size: 32px;
        margin-bottom: 25px;
      }

      .join-community p {
        font-size: 20px;
        max-width: 90%;
        margin-bottom: 25px;
      }

      #rs {
        font-size: 14px;
        max-width: 90%;
        margin-bottom: 25px;
      }

      .cta-button {
        padding: 12px 30px;
        font-size: 18px;
      }
    }

    /* Responsive Mobile */
    @media (max-width: 480px) {
      .join-community {
        padding: 40px 10px;
      }

      .join-community h2 {
        font-size: 26px;
        margin-bottom: 20px;
      }

      .join-community p {
        font-size: 18px;
        max-width: 95%;
        margin-bottom: 20px;
      }

      #rs {
        font-size: 12px;
        max-width: 95%;
        margin-bottom: 20px;
      }

      .cta-button {
        padding: 10px 24px;
        font-size: 16px;
      }
    }
/* responsive slades */
 /* Tablette */
    @media (max-width: 768px) {
      .snapwidget-container {
        padding-bottom: 150%; /* plus haut pour mobile/tablette si besoin */
      }
    }

    /* Mobile */
    @media (max-width: 480px) {
      .snapwidget-container {
        padding-bottom: 50%; /* hauteur encore plus grande sur petit écran */
      }
    }
    /* responsive contact */
/* Responsive pour mobiles et tablettes */
@media (max-width: 600px) {
  .contact-form h2 {
    font-size: 28px;
    margin-bottom: 30px;
  }

  .contact-form label {
    font-size: 16px;
  }

  .contact-form input,
  .contact-form textarea {
    font-size: 16px;
    padding: 8px;
  }

  .contact-form button {
    font-size: 24px;
    padding: 12px 20px;
    max-width: 100%;
  }
}




/* contact */
/* Responsive pour mobiles et tablettes */
@media (max-width: 600px) {
  .contact-form h2 {
    font-size: 28px;
    margin-bottom: 30px;
  }

  .contact-form label {
    font-size: 16px;
  }

  .contact-form input,
  .contact-form textarea {
    font-size: 16px;
    padding: 8px;
  }

  .contact-form button {
    font-size: 24px;
    padding: 12px 20px;
    max-width: 100%;
  }
}

/* footer */

/* Responsive Footer */
