.elementor-355 .elementor-element.elementor-element-4d83ae6{--display:flex;--min-height:0px;--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;}/* Start custom CSS for html, class: .elementor-element-2dd79f9 *//* =========================
   RESET
========================= */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root{
  --blue-900:#0b3d91;
  --blue-800:#0d47a1;
  --blue-700:#1565c0;
  --blue-600:#1976d2;
  --blue-100:#e3f2fd;
  --text:#1f2d3d;
  --bg:#f5f8fc;
  --radius:18px;
}

/* =========================
   GLOBAL
========================= */
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height: 1.6;
  color: var(--text);
  background: var(--bg);
}

h1, h2{
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.container{
  width: min(1100px, 92%);
  margin: 0 auto;
  padding: 60px 0;
}

/* =========================
   HERO
========================= */
.hero{

  color:#fff;
  text-align:center;
  padding:80px 16px;
}

.hero h1{
  font-size: clamp(2rem, 3.8vw, 3.2rem);
  margin-bottom:16px;
}

.subtitle{
  font-size: clamp(1.05rem, 2.1vw, 1.35rem);
  margin-bottom:10px;
}

.description{
  font-size:1rem;
  opacity:.95;
}

/* =========================
   FEATURES
========================= */
.features{
  background:#ffff;
}

.features-grid{
  display:grid;
  gap:22px;
}

.feature{
  background:#fff;
  border:1px solid rgba(13,71,161,.08);
  border-radius:var(--radius);
  padding:22px;
  text-align:center;
  box-shadow:0 8px 20px rgba(13,71,161,.06);
}

.icon{
  width:58px;
  height:58px;
  margin:0 auto 12px auto;
  display:grid;
  place-items:center;
  color:var(--blue-700);
  background:rgba(21,101,192,.10);
  border-radius:16px;
}

.svg{
  width:34px;
  height:34px;
}

.feature h2{
  font-size:1.15rem;
  color:var(--blue-800);
  margin-bottom:8px;
}

.feature p{
  font-size:.98rem;
  color:rgba(31,45,61,.9);
}

/* =========================
   SUPPORT SECTION
========================= */
.support{
  background:var(--blue-100);
  text-align:center;
}

.support h2{
  color:var(--blue-800);
  margin-bottom:14px;
  font-size:clamp(1.4rem,2.6vw,2rem);
}

.support p{
  max-width:780px;
  margin:0 auto;
}

/* =========================
   BUTTONS (100% BLEU, TEXTE BLANC)
========================= */
.cta-group{
  margin-top:26px;
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:center;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  min-width:min(420px,100%);
  background:var(--blue-700);
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff; /* Safari fix */
  transition:transform .15s ease, background .2s ease;
}

.btn:hover,
.btn:focus,
.btn:active,
.btn:visited{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff;
}

.btn-primary{
  background:var(--blue-700);
}

.btn-primary:hover{
  background:var(--blue-800);
}

.btn-secondary{
  background:var(--blue-800);
}

.btn-secondary:hover{
  background:var(--blue-900);
}

/* =========================
   CONTACT SECTION
========================= */
.contact-info{
  background:#fff;
  text-align:center;
}

.contact-info h2{
  color:var(--blue-800);
  margin-bottom:10px;
}

.contact-info p{
  max-width:860px;
  margin:0 auto;
  color:rgba(31,45,61,.9);
}

/* =========================
   RESPONSIVE
========================= */
@media (min-width:768px){

  .features-grid{
    grid-template-columns:repeat(3,1fr);
    gap:18px;
  }

  .cta-group{
    flex-direction:row;
    justify-content:center;
  }

  .btn{
    min-width:260px;
  }
}/* End custom CSS */