.elementor-4391 .elementor-element.elementor-element-132d2f5{--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;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-e0b2599 */.olq-page {
  --blue:#2C5CAA;
  --blue-dark:#17355F;
  --ink:#003F6B;
  --night:#0F1C34;
  --orange:#FF6B35;
  --text:#4A6072;
  --pale:#F2F6FB;
  --pale-blue:#BFCDE2;
  --white:#FFFFFF;
  --shell:1200px;

  position:relative;
  left:50%;
  width:100vw;
  max-width:100vw;
  margin-left:-50vw;
  overflow:hidden;
  background:#fff;
  color:var(--text);
  font-family:"Inter",Arial,sans-serif;
  font-size:16px;
  line-height:1.6;
}

.olq-page *,
.olq-page *::before,
.olq-page *::after { box-sizing:border-box; }

.olq-page img { display:block; max-width:100%; }
.olq-page a { color:inherit; text-decoration:none; }
.olq-page h1,
.olq-page h2,
.olq-page h3,
.olq-page p { margin-top:0; }

.olq-shell {
  width:min(calc(100% - 48px),var(--shell));
  margin-inline:auto;
}

/* HERO : valeurs exactes du modèle Elementor de l'accueil */
.olq-hero {
  padding:60px 0 85px;
  background:linear-gradient(180deg,#17355F 0%,#2C5CAA 100%);
}

.olq-hero__inner {
  display:flex;
  gap:40px;
  align-items:center;
}

.olq-hero__copy { width:53%; }
.olq-hero__visual { width:47%; margin-top:50px; }

.olq-kbd {
  display:inline-block;
  padding:5px 10px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:6px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:12px;
  font-weight:600;
}

.olq-hero h1 {
  margin:18px 0 20px;
  color:#fff;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:56px;
  font-weight:800;
  letter-spacing:-.8px;
  line-height:1.08;
}

.olq-hero p {
  margin-bottom:25px;
  color:#fff;
  font-size:18px;
  font-weight:400;
}

.olq-btn {
  display:inline-flex;
  min-height:50px;
  align-items:center;
  justify-content:center;
  padding:15px 20px;
  border-radius:6px;
  background:#2C5CAA;
  color:#fff !important;
  font-size:15px;
  font-weight:500;
  transition:transform .18s ease,filter .18s ease;
}

.olq-btn:hover {
  transform:translateY(-1px);
  filter:brightness(1.05);
}

.olq-btn--orange { background:#FF6B35; }

.olq-device {
  position:relative;
  overflow:hidden;
  aspect-ratio:16/11;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  box-shadow:0 20px 45px rgba(0,0,0,.20);
  transform:perspective(1000px) rotateY(-10deg) rotateX(3deg);
}

.olq-device__bar {
  position:absolute;
  z-index:2;
  inset:0 0 auto;
  height:42px;
  display:flex;
  align-items:center;
  padding:0 12px;
  background:rgba(0,0,0,.25);
}

.olq-device__bar span {
  width:10px;
  height:10px;
  border-radius:50%;
  background:#ff6b6b;
  box-shadow:16px 0 0 #f5c451,32px 0 0 #34d399;
}

.olq-device img {
  position:absolute;
  inset:42px 0 0;
  width:100%;
  height:calc(100% - 42px);
  object-fit:cover;
}

/* CERTIFICATIONS */
.olq-certifications {
  padding:100px 0 80px;
  background:#BFCDE2;
}

.olq-heading {
  max-width:900px;
  margin-bottom:38px;
  text-align:center;
}

.olq-heading h2 {
  margin-bottom:12px;
  color:#003F6B;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:40px;
  font-weight:800;
  letter-spacing:-.8px;
  line-height:1.2;
}

.olq-heading h2 span { color:#FF6B35; }

.olq-heading p {
  margin-bottom:0;
  color:#4A6072;
  font-size:18px;
}

.olq-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:25px;
}

.olq-card {
  min-height:260px;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:20px;
  border:1px solid rgba(0,0,0,.06);
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  text-align:center;
  transition:transform .15s ease,box-shadow .2s ease;
}

.olq-card:hover {
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(0,0,0,.10);
}

.olq-card__logo {
  width:100%;
  height:90px;
  display:grid;
  place-items:center;
}

.olq-card__logo img {
  width:100%;
  height:90px;
  object-fit:scale-down;
}

.olq-card__logo--cloe {
  padding:12px;
  border-radius:8px;

}

.olq-card__logo--cloe img { height:62px; }

.olq-card h3 {
  margin:8px 0 10px;
  color:#4A6072;
  font-size:16px;
  font-weight:900;
  line-height:1.25;
}

.olq-rate {
  margin-bottom:6px;
  color:#2C5CAA;
  font-size:13px;
  font-weight:700;
}

.olq-rate strong {
  color:#003F6B;
  font-size:18px;
  font-weight:900;
}

.olq-card small {
  margin-top:auto;
  color:#6B6B6B;
  font-size:11px;
  line-height:1.35;
}

/* CTA */
.olq-final {
  padding:60px 0 100px;
  background:#fff;
}

.olq-final__box {
  display:flex;
  gap:30px;
  align-items:center;
  justify-content:space-between;
  padding:40px;
  border-radius:14px;
  background:#0F1C34;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}

.olq-final h2 {
  margin-bottom:8px;
  color:#fff;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:32px;
  font-weight:800;
  letter-spacing:-.8px;
}

.olq-final p {
  margin-bottom:0;
  color:rgba(255,255,255,.85);
  font-size:18px;
}

@media (max-width:1024px) {
  .olq-hero__copy { width:100%; }
  .olq-hero__visual { display:none; }
  .olq-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:767px) {
  .olq-page { margin-top:-35px; }
  .olq-shell { width:min(calc(100% - 20px),var(--shell)); }
  .olq-hero { padding:60px 6px; }
  .olq-hero h1 { font-size:40px; }
  .olq-hero p { font-size:17px; }
  .olq-certifications { padding:80px 0 60px; }
  .olq-heading h2 { font-size:35px; }
  .olq-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .olq-card {
    min-height:260px;
    padding:14px 10px;
  }
  .olq-card__logo,
  .olq-card__logo img { height:80px; }
  .olq-final { padding:40px 10px 80px; }
  .olq-final__box {
    display:block;
    padding:35px 20px;
  }
  .olq-final h2 { font-size:30px; }
  .olq-final .olq-btn {
    width:100%;
    margin-top:20px;
  }
}/* End custom CSS */