.elementor-795 .elementor-element.elementor-element-a989ff0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-795 .elementor-element.elementor-element-bbfb33f{--display:flex;}.elementor-795 .elementor-element.elementor-element-45cfd31{--display:flex;}.elementor-795 .elementor-element.elementor-element-364d6d5{--display:flex;}.elementor-795 .elementor-element.elementor-element-d587a84{--display:flex;}.elementor-795 .elementor-element.elementor-element-91d17c2{--display:flex;--overlay-opacity:0.5;}.elementor-795 .elementor-element.elementor-element-91d17c2::before, .elementor-795 .elementor-element.elementor-element-91d17c2 > .elementor-background-video-container::before, .elementor-795 .elementor-element.elementor-element-91d17c2 > .e-con-inner > .elementor-background-video-container::before, .elementor-795 .elementor-element.elementor-element-91d17c2 > .elementor-background-slideshow::before, .elementor-795 .elementor-element.elementor-element-91d17c2 > .e-con-inner > .elementor-background-slideshow::before, .elementor-795 .elementor-element.elementor-element-91d17c2 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#020202;--background-overlay:'';}.elementor-795 .elementor-element.elementor-element-a2bc1df{--display:flex;--overlay-opacity:0.5;}.elementor-795 .elementor-element.elementor-element-a2bc1df::before, .elementor-795 .elementor-element.elementor-element-a2bc1df > .elementor-background-video-container::before, .elementor-795 .elementor-element.elementor-element-a2bc1df > .e-con-inner > .elementor-background-video-container::before, .elementor-795 .elementor-element.elementor-element-a2bc1df > .elementor-background-slideshow::before, .elementor-795 .elementor-element.elementor-element-a2bc1df > .e-con-inner > .elementor-background-slideshow::before, .elementor-795 .elementor-element.elementor-element-a2bc1df > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-795 .elementor-element.elementor-element-2e8ab93{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS for container, class: .elementor-element-364d6d5 *//* === HERO SECTION === */
.hero-100p {
  position: relative;
  min-height: min(92vh, 900px);
  display: grid;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  border-radius: 20px;
  color: #fff;
  text-align: center;
  padding: clamp(20px, 5vw, 60px);
}

/* Fond vidéo/image */
.hero-100p__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.9) contrast(1.1) brightness(0.8);
  z-index: -2;
}

/* Overlay sombre */
.hero-100p::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,.65), rgba(0,0,0,.35));
  z-index: -1;
}

/* Contenu centré */
.hero-100p__content {
  max-width: 900px;
  margin: 0 auto;
  background: rgba(10, 10, 14, 0.65); /* fond semi-transparent */
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 20px;

  padding: 60px 40px;   /* <-- espace intérieur augmenté */
  margin-top: 60px;     /* <-- espace avec le haut */
  margin-bottom: 60px;  /* <-- espace avec le bas */
}

/* Titre */
.hero-100p__title {
  font-size: clamp(28px, 5vw, 64px);
  font-weight: 800;
  margin: 0 0 20px;
  line-height: 1.1;
  text-shadow: 0 2px 14px rgba(0,0,0,.45);
}

/* Tagline */
.hero-100p__tagline {
  font-size: clamp(16px, 2vw, 22px);
  margin: 0 0 32px;
  color: #eaeaea;
  text-shadow: 0 2px 8px rgba(0,0,0,.4);
}

/* CTA boutons */
.hero-100p__cta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 24px;
}

.btn-100p {
  padding: 12px 24px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  transition: all .25s ease;
  box-shadow: 0 6px 18px rgba(0,0,0,.35);
}

.btn-100p--primary {
  background: var(--100p-accent, #ffd166);
  color: #1a1a1a;
}
.btn-100p--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0,0,0,.45);
}

.btn-100p--ghost {
  border: 1px solid rgba(255,255,255,.35);
  color: #fff;
  background: rgba(255,255,255,.1);
}
.btn-100p--ghost:hover {
  background: rgba(255,255,255,.25);
  transform: translateY(-2px);
}

/* Badges sous CTA */
.hero-100p__badges {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 16px;
}
.chip-100p {
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.15);
  font-size: 14px;
  color: #ddd;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d587a84 *//* === Concept section === */
.concept-100p {
  position: relative;
  background: rgba(10, 10, 14, .55);   /* fond semi-transparent */
  backdrop-filter: blur(6px);          /* effet glass */
  -webkit-backdrop-filter: blur(6px);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, .08);
  padding: clamp(30px, 5vw, 60px) clamp(20px, 4vw, 36px);
  color: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  margin-block: clamp(18px, 3vw, 28px);
}

.concept-100p__inner {
  max-width: 1100px;
  margin: 0 auto;
}

.concept-100p__head h2 {
  font-size: clamp(26px, 3.2vw, 42px);
  margin: 0 0 12px;
  text-shadow: 0 2px 12px rgba(0,0,0,.4);
}

.concept-100p__lead {
  font-size: clamp(15px, 1.8vw, 18px);
  line-height: 1.6;
  margin: 0 0 26px;
  color: #f0f2f6;
  opacity: .92;
}

.concept-100p__grid {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr;
}

@media (min-width: 800px) {
  .concept-100p__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.c-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  padding: 18px;
  transition: transform .2s ease, border-color .2s ease;
}

.c-card:hover {
  transform: translateY(-3px);
  border-color: rgba(255,255,255,.25);
}

.c-card h3 {
  margin: 0 0 8px;
  font-size: 18px;
  color: #fff;
}

.c-card p {
  margin: 0;
  color: #dfe3ea;
  font-size: 15px;
  line-height: 1.5;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-91d17c2 *//* === About section — amélioration lisibilité/impact === */
.about-100p{
  position: relative;
  color: #fff;
  /* carte translucide lisible sur image */
  background: rgba(10,10,14,.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  padding: clamp(28px,4.5vw,56px) clamp(18px,4vw,36px);
}

/* renfort de contraste sur grands écrans (dégradé léger) */
.about-100p::before{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  background:
    radial-gradient(80% 60% at 50% 20%, rgba(0,0,0,.25), transparent),
    linear-gradient(to bottom, rgba(0,0,0,.25), rgba(0,0,0,0));
  border-radius: 20px;
}
.about-100p > *{ position: relative; z-index: 1; }

.about-100p__inner{ max-width: 1100px; margin: 0 auto; }
.about-100p__head h2{
  font-size: clamp(26px,3.2vw,42px);
  line-height: 1.1;
  margin: 0 0 8px;
  text-shadow: 0 2px 14px rgba(0,0,0,.4);
}
.about-100p__lead{
  color: #f0f2f6;
  opacity: .92;
  font-size: clamp(15px,1.8vw,18px);
  line-height: 1.6;
  margin: 0 0 20px;
  text-shadow: 0 1px 10px rgba(0,0,0,.35);
}

/* mise en page */
.about-100p__content{
  display: grid; gap: 18px;
  grid-template-columns: 1fr;
}
@media(min-width: 900px){
  .about-100p__content{ grid-template-columns: 1.2fr .8fr; align-items:start; gap: 22px; }
}

/* liste bullets propres + hiérarchie */
.about-100p__list{
  margin: 0; padding-left: 0;
  list-style: none;
}
.about-100p__list li{
  position: relative;
  padding-left: 22px;
  margin: 10px 0;
  color: #dfe3ea;
  line-height: 1.55;
}
.about-100p__list li::before{
  content: "";
  position: absolute; left: 0; top: 9px;
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--100p-accent, #ffd166);
  box-shadow: 0 0 0 4px rgba(255,209,102,.18);
}
.about-100p__list strong{ color: #fff; font-weight: 700; }

/* “facts” en mini-cartes lisibles */
.about-100p__facts{
  display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px;
}
.fact{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  text-align: center;
  padding: 14px 12px;
}
.fact__num{
  display:block; color: var(--100p-accent, #ffd166);
  font-size: clamp(22px,4vw,34px); font-weight: 800; line-height: 1;
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
}
.fact__label{
  display:block; margin-top: 6px; font-size: 13px; color:#cfd5df; letter-spacing:.2px;
}

/* note en bas */
.about-100p__note{
  display:flex; gap:8px; align-items:center;
  margin-top: 16px; color:#cfd5df; font-size: 14px; opacity:.95;
}
.about-100p__note svg{ color: var(--100p-accent, #ffd166); flex:0 0 auto; }

/* espacement global suivant/precedent pour éviter les collisions visuelles */
.about-100p{ margin-block: clamp(18px,3vw,28px); }

/* CTA — bonus lisibilité si besoin */
.cta-100p{
  color:#fff;
  background:
    radial-gradient(80% 60% at 50% 20%, rgba(255,255,255,.04), transparent),
    linear-gradient(180deg, rgba(10,10,14,.7), rgba(10,10,14,.55));
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.cta-100p__title{ text-shadow: 0 2px 12px rgba(0,0,0,.35); }
.cta-100p__text, .cta-100p__sub{ color:#dfe3ea; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a2bc1df *//* === CTA Section === */
.cta-100p {
  position: relative;
  background: rgba(10, 10, 14, .65);     /* fond sombre translucide */
  backdrop-filter: blur(6px);            /* effet glass */
  -webkit-backdrop-filter: blur(6px);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  padding: clamp(30px, 5vw, 60px) clamp(20px, 4vw, 36px);
  text-align: center;
  color: #fff;
  margin-block: clamp(18px, 3vw, 28px);
}

.cta-100p__inner {
  max-width: 900px;
  margin: 0 auto;
}

.cta-100p__title {
  font-size: clamp(24px, 3vw, 40px);
  margin: 0 0 12px;
  font-weight: 800;
  text-shadow: 0 2px 12px rgba(0,0,0,.45);
}

.cta-100p__text {
  font-size: clamp(15px, 1.6vw, 18px);
  margin: 0 0 20px;
  color: #eaeaea;
  line-height: 1.5;
}

.cta-100p__btn {
  display: inline-block;
  margin: 10px 0 14px;
}

.cta-100p__sub {
  font-size: 14px;
  color: #ccc;
  margin-top: 8px;
  opacity: .9;
}

/* Boutons */
.btn-100p {
  padding: 12px 24px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  transition: all .25s ease;
  box-shadow: 0 6px 18px rgba(0,0,0,.35);
}

.btn-100p--primary {
  background: var(--100p-accent, #ffd166);
  color: #1a1a1a;
}
.btn-100p--primary:hover {
  transform: translateY(-2px);
  background: #ffcc33;
  box-shadow: 0 10px 22px rgba(0,0,0,.45);
}/* End custom CSS */