
    :root{
      --bg: #ffff;          /* fond global */
      --bg-2:#04517c;         /* fond hero "hors mask" */
      --color-3: #ef9c28;
      --color-4:#3998de;
      --text:#000000;
      --muted: rgba(255,255,255,.78);
      --blueLight:#91d0ff;
      --max: 1200px;

      --header-h: 84px;
      --hero-h: 780px;   


          /* hauteur totale du hero, responsive */
 --hero-h: clamp(760px, 55vw, 920px);
 


    }


    *{ box-sizing:border-box; }
    html,body{ height:100%;   overflow-x: hidden;
 }
    
    body{
      margin:0;
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      color:var(--text);
      background:var(--bg);
    }
    .btn-contact,
.btn-contact:focus,
.btn-contact:active {
    border: none;
    outline: none;
    box-shadow: none;
}

    a{ color:inherit; text-decoration:none; }
    .container{
      width:min(var(--max), calc(100% - 2rem));
      margin-inline:auto;
    }

    h2{ color:var(--bg-2);}

    p{
          color: #5c6b7a;
    font-size: 1.05rem;
    line-height: 1.7;
      
      }

      h3{ 
        color:var(--color-4);
        font-size: 1.5rem;
      }

    /* =========================
       HEADER
    ========================== */
.site-header{
  position:fixed;
  top:0; left:0; right:0;
  height:var(--header-h);
  z-index:50;
  display:flex;
  align-items:center;
  /*background: linear-gradient(to bottom, rgba(14,22,36,.72), rgba(14,22,36,0));*/
background-color: rgba(14, 22, 36, 0.75);
  backdrop-filter: blur(8px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .38);
}

@media (max-width: 991.98px){
  .site-header{
    height: auto;              /* au lieu de 84px */
    padding: .5rem 0;          /* optionnel: un peu d'air */
  }
  .site-header .navbar{
    min-height: var(--header-h);
  }
}


/* Bootstrap navbar dans le header */
.site-header .navbar{
  width:100%;
  min-height: var(--header-h);
}

  /* Ton cercle doré */
.brand__mark{
  width:34px; height:34px;
  border:2px solid var(--blueLight);
  border-radius:999px;
  display:inline-block;
}

/* Texte de marque */
.brand__name{
  line-height:1.1;
  font-weight:700;
  letter-spacing:.3px;
}
.brand__name small{
  font-weight:500;
  opacity:.75;
  font-size:.82rem;
  margin-top:.1rem;
}

/* Liens */
.site-header .nav-link{
  font-weight:600;
  font-size:1.1rem;
  letter-spacing:.25px;
  color:#fff;
}

.site-header .nav-link.active {
  position: relative;
  color:var(--blueLight);
 
  z-index:1;
}
.site-header .nav-link.active:before{
   content: "";                  
  position: absolute;
   z-index: -1; 
  transform: translateX(-50%);
    top: 5px;
   right: -15px;
 width: 20px;
    height: 10px;              

  background-image: url("/images/menu-select3.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  pointer-events: none;
}

.site-header .nav-link:hover{
  opacity:1;
  color: var(--blueLight);
}

/* Bouton Contact style “pill” */
.nav__cta{
  border:1px solid rgba(202,162,75,.55);
  border-radius:999px;
  background: transparent;
  color: var(--text);
}
.nav__cta:hover{
  background:rgba(202,162,75,.12);
  border-color: rgba(202,162,75,.75);
  color: var(--text);
}

/* Mobile: rendre le menu déroulé plus lisible */
@media (max-width: 991.98px){
   .site-header .container{
    position: relative; /* référence pour le panel */
  }

  .site-header .navbar-collapse{
    position: absolute;         /* panel flottant */
    top: calc(100% + .5rem);
    left: 0;
    right: 0;

    margin-top: 0;              /* tu avais margin-top */
    padding: .75rem;
    border-radius: 16px;
    background: rgba(14,22,36,.72);
    border: 1px solid rgba(255,255,255,.10);
    backdrop-filter: blur(10px);

    max-height: calc(100vh - var(--header-h) - 1rem); /* évite le menu coupé */
    overflow: auto;             /* scroll si trop long */
    z-index: 999;               /* au-dessus du hero */
  }
}

    /* Mobile menu (simple, sans JS) */
    .burger{ display:none; }

    /* =========================
       HERO / SLIDER
    ========================== */
    .hero{
      width: 99%;
       position: relative;


   overflow: visible;
    }

    @media(max-width:500px){
        .hero {
            margin-top: 50px;
        }
    }

    .hero h1{
      color:#fff;
    }

    /* fond hors mask */
.hero__base{
  position:absolute;
  top:0; left:0; right:0;
 height: 780px;
  z-index:0;
box-shadow: 0 6px 18px rgba(0, 0, 0, .58);

 
  --corner-r: 200px;     /* doit matcher ton border-bottom-right-radius */
  --line: rgba(255,255,255,.008);
  --thick: 20px;          /* épaisseur des lignes */
  --gap: 50px;           /* espacement entre lignes */

  border-bottom-right-radius: var(--corner-r);
  overflow: hidden;
  background:
    /* léger halo */
    radial-gradient(circle at 70% 20%, rgba(255,255,255,0.05), transparent 90%),

    /* arcs alignés sur le coin arrondi */
    repeating-radial-gradient(
      circle at calc(100% - var(--corner-r)) calc(100% - var(--corner-r)),
      var(--line) 0px,
      var(--line) var(--thick),
      transparent var(--thick),
      transparent var(--gap)
    ),

    var(--bg-2);

}

@media(max-width:1400px){
   .hero__base{
     --corner-r:150px
   }
}

@media(max-width:1200px){
   .hero__base{
     --corner-r:100px
   }
}




    /* zone slider */
    .hero__slider{
      position:absolute;
      inset:0;
      z-index:1;
        overflow: visible;
    }

    .hero .slide{
      position:absolute;
      inset:0;
      opacity:0;
      transition: opacity .6s ease;
      pointer-events:none;
    }
    .hero .slide.is-active{
      opacity:1;
      pointer-events:auto;
    }

    /* Layer vidéo/image masquée */
.hero .slide__masked-media{
  position:absolute;
  inset:0;

  -webkit-mask-image: url("/images/mask-fidu2.png");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: left bottom;

  mask-image: url("/images/mask-fidu2.png");
  mask-repeat: no-repeat;
  mask-position: left top;

  /* garde les proportions du mask (plus d’étirement) */
  -webkit-mask-size: contain;
  mask-size: contain;

  bottom: auto;

  /* plus haut que le hero => déborde vers le bas */
  height: calc(100% + 130px);  /* ajuste 80–180px */
  transform: none;

  z-index: 2;
}



.hero .slide__masked-media img,
.hero .slide__masked-media video{
  width:100%;
  height:100%;
  display:block;

  /* la vidéo remplit le mask (pas de zones "vides" bleues) */
  object-fit: cover;

  /* c’est ICI qu’on choisit la “portion” visible (au lieu de width:50%) */
  object-position: 20% 60%;

  /* optionnel : très léger zoom */
  transform: scale(1.02);

  filter: contrast(1.05) saturate(1.05);
}
   




  

    /* Contenu slogan */
    .hero__content{
      position:relative;
      z-index:3;
 
     /* min-height: calc(100vh - var(--header-h));*/
      display:flex;
      align-items:flex-start;
      padding-top: 10%;
    /* background: rgba(255, 0, 0, 0.6);*/
    }

@media(min-width:1900px){
  .hero__content{
     padding-top: 5%;
  }
}
@media(max-width:1400px){
   .hero__content h1{
   font-size: 2rem;
   }
}

 @media(max-width:992px){
   .hero__content {
    padding-top: 15%;
   }
}
 @media(max-width:768px){
   .hero__content {
    padding-top: 30%;
   }
}


    .kicker{
      color:var(--gold);
      font-weight:700;
      letter-spacing:.14em;
      text-transform:uppercase;
      font-size:.8rem;
      margin:0 0 .75rem;
          color: #009ce0;

    }
@media(max-width:992px) {
    .kicker {
        color:#fff;
       
    }
}


    h1{
      margin:0 0 1rem;
      font-size: clamp(2rem, 4.2vw, 3.4rem);
      line-height:1.05;
      letter-spacing:-.02em;
          font-size: 3rem;
          color:var(--bg-2);

    }

    .lead{
      margin:0 0 1.6rem;
      color:var(--muted);
      font-size: clamp(1.02rem, 1.4vw, 1.15rem);
      line-height:1.6;
      max-width: 58ch;
    }

    @media(max-width:700px){
 .lead{

 }

    }
    .actions{
      display:flex;
      gap:.8rem;
      flex-wrap:wrap;
      align-items:center;
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.5rem;
      padding:.85rem 1.1rem;
     
      font-weight:700;
      background:var(--bg-2);
    }
    .btn:hover{ border-color: rgba(202,162,75,.55); }
    .btn--primary{
      background: rgba(202,162,75,.18);
      border-color: rgba(202,162,75,.65);
    }

    /* “zone slogan” à droite (optionnelle) */
    .hero__badge{
      justify-self:end;
      width:min(420px, 100%);
      background: rgba(14,22,36,.55);
      border:1px solid rgba(255,255,255,.12);
      border-radius: 18px;
      padding: 1.2rem 1.2rem;
      box-shadow: 0 12px 40px rgba(0,0,0,.35);
    }
    .hero__badge strong{
      display:block;
      font-size:1.1rem;
      margin-bottom:.5rem;
    }
    .hero__badge p{
      margin:0;
      color:var(--muted);
      line-height:1.6;
      font-size:.98rem;
    }

    /* =========================
       SECTIONS
    ========================== */


    .section-title{
      margin:0 0 1rem;
      font-size: clamp(1.4rem, 2.4vw, 2rem);
    }

    .section-text{
      margin:0;
      color:var(--muted);
      line-height:1.7;
      max-width: 75ch;
    }

    footer{
      padding: 3rem 0;
      border-top: 1px solid rgba(255,255,255,.08);
      color: var(--muted);
    }

    /* =========================
       RESPONSIVE
    ========================== */
    @media (max-width: 980px){
      .hero__grid{
        grid-template-columns: 1fr;
      }
      .hero__badge{
        justify-self:start;
        background: rgba(14,22,36,.62);
      }
     
    }

    @media (max-width: 780px){
      .nav{ display:none; }
      .burger{
        display:inline-flex;
        width:42px; height:42px;
        border-radius:12px;
        border:1px solid rgba(255,255,255,.18);
        background: rgba(255,255,255,.06);
        align-items:center; justify-content:center;
      }
    }

   
 .logo-header{
     width: auto;
  height: 42px;     /* ajuste 36–48px selon ton rendu */
  max-width: 220px; /* optionnel */
  object-fit: contain;
 }

 .logo-slide{
     width: 40%;
 }
 @media(max-width:1200px){
    .logo-slide{
   display: none!Important;
   }
}

/* =========================
   SECTION ABOUT
========================= */

.section{
  
  padding-top:5rem;
}

.about{
  
  padding-top:16rem;
}
@media(max-width:1400px){
    .about {
        padding-top: 10rem;
    }
}

.section-kicker{
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: .12em;
  font-size: .8rem;
  color: var(--blueLight);
  margin-bottom: .8rem;
}

.section-title-dark{
  font-size: clamp(1.8rem, 2.8vw, 2.4rem);
  font-weight: 700;
  color: #1a2b3c;
  margin-bottom: 1.2rem;
  line-height: 1.2;
}

.section-text-dark{
  color: #5c6b7a;
  font-size: 1.05rem;
  line-height: 1.7;
 
}


.btn-fidu{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  /*padding:.85rem 1.4rem;*/
 height: 50px;
 padding-right: 20px;  
 padding-left: 40%;
  font-weight:600;
  background: var(--color-4);
  color:#fff;

 transition: transform .25s ease;

   position: relative;   /* pour ancrer le ::before */
  z-index: 1;           /* le bouton au-dessus */
   border-top-right-radius: 20px;
      border-bottom-right-radius: 20px;
       
   
}
/* “barre” qui continue vers la gauche */
.btn-fidu::before{
  content:"";
  position:absolute;
  
  /* on part du milieu vertical du bouton */
  top: 50%;
  transform: translateY(-50%);

  /* la barre commence derrière le bouton */
  left: -9999px;
  right: 100%;


  height: 50px;                 
  background: var(--color-4);
  z-index: -1;
  pointer-events:none;


}

.btn-fidu:hover{
  /*background:#033b5b;
  border-color:#033b5b;*/
  color:#fff;
  transform: translateX(40px);
}

/* left col avec photo*/
.left-col-withPhoto{
  padding-left: 0;
}
.left-col-withPhoto-bg{
    background: rgb(255 255 255);
    margin-left: calc(50% - 50vw);
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
    position: relative;
    box-shadow: rgba(0, 0, 0, 0.28) 0px 6px 18px;
    overflow: visible;
}
.left-col-withPhoto-bg-image-wrapper{
  max-width: 720px;
    position: relative;
  z-index: 1;
   margin-left: auto; 
}

.left-col-withPhoto-bg-img{
  max-height: 420px;
  object-fit: cover;
  border-top-right-radius: 50px;
  border-bottom-right-radius: 50px;
    width: 100%;
  display: block;


}

/* right col avec photo */
.right-col{
  padding-right: 0;
}

.right-bg{
    background: rgb(255 255 255);
    margin-right: calc(50% - 50vw);
    border-top-left-radius: 50px;
    border-bottom-left-radius: 50px;
    position: relative;
    box-shadow: rgba(0, 0, 0, 0.28) 0px 6px 18px;
    overflow: visible;
}


/* Image */
.right-bg-image-wrapper{
  max-width: 720px;
    position: relative;
  z-index: 1;
}

.right-bg-img{
  width: 100%;
  display: block;
}

.right-bg-img{
  max-height: 420px;
  object-fit: cover;
  border-top-left-radius: 50px;
  border-bottom-left-radius: 50px;

}

/* left col */


.left-bg{
  position: relative;
  overflow: visible;
  padding: 3rem 4rem;      /* padding interne pour tes colonnes */
  z-index: 0;              /* base */
   display: flex;
    align-items: center;   /* centre verticalement */
}

@media(max-width:768px){
    .left-bg {
       
        padding:2rem 0rem 0rem 0rem;
       
    }
}

.left-bg .row{
    width: 100%;
}
.experience-title {
    display: flex;
    flex-direction: column;
    padding-bottom: 30px;
    padding-top: 30px;
}

.experience-title h3 {
  color:#5c6b7a;
  font-size: 1.5rem;
  /*font-style: italic;*/
}

.experience-title .img-fluid {
        max-width: 100%;
    height: auto;
   

}

@media(max-width:992px)
{
    .experience-title .img-fluid {
       display:none;
    }
}

/* le fond full width à gauche (sans bouger le contenu) */
.left-bg::before{
  content:"";
  position:absolute;
  top: 0;
  bottom: 0;

  /* on part du bord gauche de la fenêtre */
  left: calc(50% - 50vw);

  /* et on s'arrête au bord droit du bloc .left-bg */
  right: 0;

  background: #fff;
  border-top-right-radius: 50px;
  border-bottom-right-radius: 50px;

  box-shadow: rgba(0, 0, 0, 0.28) 0px 6px 18px;

  z-index: -1;            /* derrière le contenu */
}

/* Image */
.left-bg-image-wrapper{
  max-width: 720px;
    position: relative;
  z-index: 1;
}
.left-bg-img{
  width: 100%;
  display: block;
}

.left-bg-img{
  max-height: 420px;
  object-fit: cover;
  border-top-right-radius: 50px;
  border-bottom-right-radius: 50px;

}

.experience-icon {
       font-size: 2rem;
    color: #fff;
    background: var(--color-3);
    width: 70px;
    height: 70px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
}

/*/ Col single exemple si 4 colonnes*/
.service-card{
  min-height: 400px;
  border-radius: 40px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
  padding: 20px;
      padding-top: 25px;

}

.service-card h3{
  color:var(--color-3);
  font-size: 1.7em;
  padding-bottom: 10px;
      padding-top: 10px;
}

.egalement-icon {
       font-size: 2rem;
    color: #fff;
    background: var(--bg-2);
    width: 70px;
    height: 70px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
}
.egalement .row{
  align-items: stretch;
}
.egalement .col-12{
  display: flex;
}
.egalement .col-xl-3{
  display: flex;
}
.temoignage{
 
      padding: 30px;
       
}

.temoignages-carousel{
  position: relative;
}


.temoignage-card{
  background: transparent; /* ton bloc parent est déjà blanc */
  padding: 1.75rem 1.5rem;

  display: flex;
  flex-direction: column;
   justify-content: center;   /* centre verticalement */
  align-items: center;       /* centre horizontalement */
    
    border-radius: 20px;
 
    text-align: center;
    color:#1d1d1e;
}
.temoignage-body{
                      /* prend tout l’espace dispo */
  display: flex;
  align-items: center;           /* centre verticalement */
  justify-content: center;       /* centre horizontalement */
}

.temoignage-text{
  font-size: 1.05rem;
  line-height: 1.6;
  margin: 0 0 1.25rem 0;
}

.temoignage-footer{


    margin-top: 1.2rem;   /* petit espace sous le texte */
}

.temoignage-name{
  font-weight: 700;
}

.temoignage-role{
  font-size: .95rem;
  opacity: .8;
}

.temoignage-logo{
  height: 38px;
  width: auto;
  object-fit: contain;
}

/* vidéo */
.temoignage-video iframe{
  border-radius: 14px;
}

/* Flèches : positionnées à gauche/droite du contenu */
.temoignages-carousel .carousel-control-prev,
.temoignages-carousel .carousel-control-next{
  width: 44px;
  top: 50%;
  transform: translateY(-50%);
  bottom: auto;
  opacity: 1;
}

.temoignages-carousel .carousel-control-prev{
  left: -50px;   /* ajuste */
}

.temoignages-carousel .carousel-control-next{
  right: -50px;  /* ajuste */
}

/* Rond autour de l’icône */
.temoignages-carousel .carousel-control-prev-icon,
.temoignages-carousel .carousel-control-next-icon{
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-size: 16px 16px;
  background-color: var( --color-3);
}

/* Indicateurs (points) */
.temoignages-carousel .carousel-indicators{
  margin-bottom: -10px;
}

.temoignage-video video{
  width: 100%;
  height: 100%;
  border-radius: 14px;
}
/* Bouton Contact */
.btn-contact{
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    height: 50px;
    padding: 0 30px;
  font-weight:600;
  background: var(--color-4);
  color:#fff;

  transition:.3s ease;
   position: relative;   /* pour ancrer le ::before */
  z-index: 1;           /* le bouton au-dessus */
   border-top-left-radius: 20px;
      border-bottom-left-radius: 20px;
       
   /* background: url(/images/menu-select3.webp) no-repeat left 10px  bottom 18px, var(--bg-2);
    background-size: 10px auto;*/
}
/* “barre” qui continue vers la gauche */
.btn-contact::before{
 content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    
    left: 100%;        /* commence juste après le bouton */
    right: -9999px;    /* s’étend vers la droite */
    
    height: 50px;
    background: var(--color-4);
    z-index: -1;
    pointer-events: none;
}

.btn-contact:hover{
  /*background:#033b5b;
  border-color:#033b5b;*/
  color:#fff;
  transform: translateX(-40px);
}

/* =========================
   FOOTER (card, pas full-width)
========================= */
.site-footer{
  padding: 4rem 0 3rem;
}


.footer-card{
  --card-pad-x: 2.2rem;
  --card-pad-y: 2.2rem;

  background: rgba(14, 22, 36, 0.92);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 28px;
  box-shadow: 0 10px 28px rgba(0,0,0,.28);
  padding: var(--card-pad-y) var(--card-pad-x) 0;
  backdrop-filter: blur(8px);
}

@media (max-width: 576px){
  .footer-card{
    --card-pad-x: 1.4rem;
    --card-pad-y: 1.6rem;
    border-radius: 22px;
  }
}

.footer-logo{
  height: 44px;
  width: auto;
  object-fit: contain;
}

.footer-title{
  color: #009de1;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: .02em;
 
}

.footer-text{
  color: rgba(255,255,255,.70);
  line-height: 1.6;
 
}

.footer-list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: .1rem;
}

.footer-list li{
  display: flex;
  align-items: start;
  gap: .55rem;
  color: #fff;
}

.footer-list i{
  color: #009de1;
  font-size: 1rem;
  transform: translateY(1px);
}

.footer-list a{
  color: #ffffff;
  transition: .2s ease;
  font-size: .9rem;
}

.footer-list a:hover{
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
  
}

.footer-bottom{
     margin-top: 1.6rem;
    
    background: #000000;
    margin-left: calc(var(--card-pad-x) * -1);
    margin-right: calc(var(--card-pad-x) * -1);
    padding: 1.1rem var(--card-pad-x);
    border-bottom-left-radius: 26px;
    border-bottom-right-radius: 26px;
    flex-wrap: wrap;
    gap: .6rem;
    align-items: center;
    color: rgba(255, 255, 255, .62);
    font-size: .95rem;
}

/* radius mobile cohérent */
@media (max-width: 576px){
  .footer-bottom{
    border-bottom-left-radius: 22px;
    border-bottom-right-radius: 22px;
  }
}

.footer-bottom a{
  color: rgba(255,255,255,.72);
}

.footer-bottom a:hover{
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.footer-dot{
  opacity: .5;
}
.site-footer .container{
  width: min(1400px, calc(100% - 3rem));
}
.site-footer .ineako a{
    display: inline-flex;
  align-items: center;
  gap: .5rem;
   color: #fff; text-decoration: none;font-size: .9rem;
  }
.site-footer .ineako img{  height: 18px;
  width: auto;}


.site-footer  .copyright { color:#fff}

@media(max-width:768px){
    .site-footer .copyright {
        font-size:.8rem;
        padding-bottom:10px;
        
    }
}


@media (min-width: 992px) {
  .nav-item.dropdown:hover .dropdown-menu {
    display: block;
    margin-top: 0;
  }
}

.dropdown-menu {
  background: rgba(14, 22, 36, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);


  border-radius: 18px;

  padding: .6rem 0;
  margin-top: 10px;

  box-shadow:
    0 10px 30px rgba(0,0,0,.65),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.dropdown-item {
  color: #fff;
  font-weight: 500;
  padding: .6rem 1.2rem;
  /*transition: .25s ease;*/
}

.dropdown-item:hover {
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(6px);
  border-radius: 8px;
    color: #fff;
}

.Breadcrumbs{
  padding-top: 8rem;
}


/* Conteneur image */
.breadcrumbs-image{
    height: 420px;              /* 👉 garde ta proportion actuelle */
    border-radius: 50px 0 0 50px;
    overflow: hidden;           /* très important */
    position: relative;
}

/* Image cover */
.breadcrumbs-img{
    width: 100%;
    height: 100%;
    object-fit: cover;          /* 🔥 clé du problème */
    object-position: center;    /* centre le sujet */
    display: block;
}



.Breadcrumbs .container-fluid{
  padding-right: 0 !important;
}

.breadcrumb-title{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 50px;


   
  font-weight:600;
  background: var(--bg-2);
  color:#fff;

   position: relative;   /* pour ancrer le ::before */
  z-index: 1;           /* le bouton au-dessus */
   border-top-right-radius: 20px;
      border-bottom-right-radius: 20px;

      font-size: 1.2rem;
      

         
}

.breadcrumb-title::before{
  content:"";
  position:absolute;
 top: 0;
    bottom: 0;
right: 100%;
width: 9999px;
                 
  background: var(--bg-2);
  z-index: -1;
  pointer-events:none;
}




.equipe-t1-title{
  display:inline-flex;
  align-items:center;
  justify-content:left;

 height: 50px;
   
  font-weight:600;
  background: #212835;
  color:#fff;

   position: relative;   /* pour ancrer le ::before */
  z-index: 1;           /* le bouton au-dessus */
   border-top-left-radius: 20px;
      border-bottom-left-radius: 20px;

      font-size: 1.5rem;

       
   
}

.equipe-t1-title::before{
 content: "";
    position: absolute;
    top: 0;
    /* top: 50%; */
    left: 100%;
    right: -9999px;
    height: 50px;
    background: #212835;
    z-index: -1;
    pointer-events: none;
}




.equipe-t2-title{
  display:inline-flex;
  align-items:center;
  justify-content:right;

 height: 50px;
   
  font-weight:600;
  background: #626262;
  color:#fff;

   position: relative;   /* pour ancrer le ::before */
  z-index: 1;           /* le bouton au-dessus */
   border-top-right-radius: 20px;
      border-bottom-right-radius: 20px;

      font-size: 1.5rem;

       
   
}

.equipe-t2-title::before{
 content: "";
    position: absolute;
    top: 0;
    /* top: 50%; */
    left: -9999px;
    right: 100%;
    height: 50px;
    background: #626262;
    z-index: -1;
    pointer-events: none;
}
}
/* =========================
   TEAM CARDS
========================= */

.equipe-members{
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.team-card{
  background: #fff;
  border-radius: 40px;
  padding: 30px 25px 35px;
  text-align: center;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  transition: .4s ease;
  height: 100%;
}

.team-card:hover{
  transform: translateY(-8px);
  box-shadow: 0 14px 36px rgba(0,0,0,.18);
}

.team-img-wrapper{
  border-radius: 30px;
  overflow: hidden;
  margin-bottom: 20px;
}

.team-img{
  max-width: 100%;
  object-fit: cover;
  display: block;
}

.team-name{
  font-size: 1.4rem;
  font-weight: 700;
  color: #2d3350;
  margin-bottom: .5rem;
}

.team-role{
  color: #7b8794;
  font-size: 1rem;
  margin-bottom: 1rem;
}

.team-mail{
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-weight: 600;
  color: var(--bg-2);
  transition: .3s ease;
}

.team-mail i{
  font-size: 1.1rem;
}

.team-mail:hover{
  color: var(--color-3);
}
/* =========================
   PARTENAIRES (logos)
========================= */
.partners-logos{
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  align-items: center;
  padding-bottom: 2rem;
}

.partner-logo-card{
  background: #fff;
  border-radius: 20px;
  padding: 14px 18px;
  box-shadow: 0 8px 24px rgba(0,0,0,.10);
  border: 1px solid rgba(0,0,0,.06);
  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 76px;
  min-width: 180px;
}

.partner-logo-img{
  height: 44px;     /* ajuste si besoin */
  width: auto;
  max-width: 260px;
  object-fit: contain;
  display: block;
}

.partners-note{
  color: #5c6b7a;
  font-size: 1.02rem;
  line-height: 1.7;
  margin: 0;
}

@media (max-width: 576px){
  .partner-logo-card{
    width: 100%;
    justify-content: center;
  }
  .partner-logo-img{
    height: 40px;
  }
}

/* =========================
   SECTION PARTENAIRES INVERSE
========================= */

.right-col-full{
  padding-right: 0;
}

.right-bg-full{
  position: relative;
  overflow: visible;
  padding: 3rem 4rem;
  z-index: 0;
  display: flex;
  align-items: center;
}

@media(max-width:768px){
    .right-bg-full {
        padding: 1.5rem 0rem 1.5rem 1.5rem;
    }
}

.right-bg-full .row{
  width: 100%;
}

/* Fond qui part vers la DROITE */
.right-bg-full::before{
  content:"";
  position:absolute;
  top: 0;
  bottom: 0;

  /* on part du bord droit de la fenêtre */
  right: calc(50% - 50vw);

  /* et on s’arrête au bord gauche du bloc */
  left: 0;

  background: #fff;

  border-top-left-radius: 50px;
  border-bottom-left-radius: 50px;

  box-shadow: rgba(0, 0, 0, 0.28) 0px 6px 18px;

  z-index: -1;
}

/* =========================
   CONTACT FORM
========================= */

.contact-form .form-label{
  font-weight: 600;
  color: #2d3350;
  margin-bottom: .4rem;
}

.contact-form .form-control{
  border-radius: 14px;
  padding: .9rem 1rem;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: none;
  transition: .3s ease;
}

.contact-form .form-control:focus{
  border-color: var(--bg-2);
  box-shadow: 0 0 0 3px rgba(4,81,124,.15);
}

.btn-submit{
  background: var(--bg-2);
  color: #fff;
  border: none;
  padding: .9rem 2rem;
  border-radius: 30px;
  font-weight: 600;
  transition: .3s ease;
}

.btn-submit:hover{
  background: var(--color-3);
}


.map-section {
    position: relative;
   
    height: 500px;
    padding: 0;
    margin: 0;
    overflow: hidden;
    border-radius: 40px;

    box-shadow: 20px 30px 80px rgba(0, 0, 0, 0.15);
}

    .map-section #map {
        position: absolute;
        inset: 0;
    }

.map-section {
    color: #162936
}

    .map-section strong {
        font-weight: bold;
    }

    .map-section .btn-primary {
        border-radius: 13px;
        background-color: #009ce0;
        padding: 10px;
        margin-top: 10px;
        margin-bottom: 10px;
        box-shadow: none;
       

    }


   

    /* =========================
   CONTACT DETAILS (colonne gauche, style Ineako)
========================= */
        .contact-details{
  padding-right: 1.5rem;
}

.contact-details__item{
  margin-bottom: 1.6rem;
}

.contact-details__head{
  display:flex;
  align-items:center;
  gap:.65rem;
  margin-bottom:.45rem;
  color:#2d3350;
}

.contact-details__head i{
  font-size: 1.1rem;
  color: #04517c; /* ton orange */
  transform: translateY(1px);
}

.contact-details__head strong{
  font-size: 1.25rem;

}

.contact-details__value{
  color:#5c6b7a;
  font-size: 1.05rem;
  line-height: 1.7;
  padding-left: calc(1.1rem + .65rem); /* aligne sous le texte après l'icône */
}

.contact-details__value a{
  color: var(--bg-2);
  font-weight: 700;
  text-decoration: none;
}

.contact-details__value a:hover{
  color: #04517c;
  text-decoration: underline;
  text-underline-offset: 3px;
}

li{
    color: #5c6b7a;
    font-size: 1.05rem;
    line-height: 1.8;
    font-weight: 400;
}


 .btn-primary{
 display: inline-block;  
          border-radius: 20px;
        background-color: #1d4e7a;
    padding: 15px;
    margin-top: 10px;
    margin-bottom: 10px;
    color: #fff;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
    /*transition: 1s ease;*/
    transition: transform .25s ease;
    }

     .btn-primary:hover{
    transform: scale(1.05)!important; 

     }

     .cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    color: #fff;
    padding: 1rem 2rem;

    z-index: 9999;
    box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.6);
    
    background-color: #ffffff;
     }
     .cookie-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    max-width: 1200px;
    margin: 0 auto;
    color: #132a37;
    font-weight: 500;
}

.cookie-content a {
    color: #132a37;
    text-decoration: underline;
}

     .btn-cookie {
       display: inline-block;  
    font-weight: 600;
    cursor: pointer;
    border-width: initial;
    border-style: none;
    border-color: initial;
    border-image: initial;
    padding: 0.6rem 1.2rem;
    border-radius: 20px;
    transition: transform .25s ease;
}

     .btn-cookie.decline {
      
    color: rgb(255, 255, 255);
    background-color: rgb(19, 42, 55);
    
}

.btn-cookie.accept {
   
    background-color: #1d4e7a;
        color: #fff;
       
}
.btn-cookie.accept:hover,  .btn-cookie.decline:hover{
 transform: scale(1.05)!important;
}


.custom-select {
    position: relative;
    width: 65px;
    /*background: #295781;*/
    color: #ffffff;
    border-radius: 12px;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
    /*border: 1px solid #3998de;*/
}

.custom-select .selected {
    padding: 8px 12px;
    border-radius: 12px;
}

.custom-select.open .options {
    display: block;
}
.custom-select .options {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
       background: rgba(14, 22, 36, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 12px;
    display: none;
    list-style: none;
    padding: 0;
    margin: 4px 0 0;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.custom-select .options li {
    padding: 8px 12px;
    cursor: pointer;
    transition: background 0.2s;
    color: #fff;
}

.custom-select .options li:hover {
    background: rgba(255, 255, 255, .08);
    backdrop-filter: blur(6px);
    border-radius: 8px;
    color: #fff;
}

.countries{
  padding-left: 20px;

}

.compta h2{
      font-size: 1.5rem;
    color: #3998de;
    padding-left: 13px;
}

.fidu h2 {
      font-size: 1.5rem;
    color: #3998de;
    padding-top: 10px;
   
}


#modalAlert .modal-header h5 {
    color: #ffff;
}
#modalAlert .modal-title {
    padding-top: 10px;
}
#modalAlert .modal-header {
    background-color: #232735;
    border-bottom: none;
    height: 50px;
}

#modalAlert .modal-title {
    padding-top: 10px;
}

#modalAlert .modal-body {
    color: #000;
    font-size: .9rem;
    padding: 1.5rem;
}

.job-card__title a {
    display: inline-block;
    transition: transform .25s ease;
}

    .job-card__title a:hover {
        text-decoration: underline;
        transform: scale(1.02);
    }


.dropdown-item.active, .dropdown-item:active {
    background-color: transparent;
    text-decoration: underline;
}


.leaflet-container a {
    color: #ffffff!important;
}


@media (max-width: 550px) {
    .table-container {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch; /* Défilement fluide sur iOS */
        border: 1px solid #e0e0e0; /* Optionnel : pour bien délimiter la zone de scroll */
    }
}