.elementor-6078 .elementor-element.elementor-element-9846d93{padding:0px 0px 0px 0px;}.elementor-6078 .elementor-element.elementor-element-870abf9 > .elementor-element-populated{padding:0px 0px 0px 0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-ae1090f */.es-wrap{
  --n:#13294B; --n2:#0d1c33; --n3:#1c3560; --y:#FFD54A; --yd:rgba(255,213,74,.15);
  --mu:#5a6a84; --bd:rgba(19,41,75,.12); --bg:#f3f5f9; --wh:#ffffff;
  font-family:Arial, Helvetica, sans-serif; color:var(--n); line-height:1.6;
  background:var(--wh); overflow-x:hidden; position:relative;
}
.es-wrap *{box-sizing:border-box;}
.es-wrap img{max-width:100%; display:block;}
.es-wrap svg{ display:block; flex:none; }

/* ---------- stabilité mobile : pas de backdrop-filter, pas d'animation liée au scroll ---------- */
.es-wrap *, .es-wrap *::before, .es-wrap *::after{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.es-wrap a, .es-wrap button, .es-wrap details summary{ transition:box-shadow .2s ease, background .2s ease, transform .2s ease; }
@media (hover:hover) and (pointer:fine){
  .es-btn:hover{ box-shadow:0 10px 28px rgba(19,41,75,.22); transform:translateY(-2px); }
  .es-card:hover, .es-type-card:hover, .es-tech-card:hover, .es-why-card:hover, .es-region-card:hover{ box-shadow:0 16px 34px rgba(19,41,75,.12); transform:translateY(-3px); }
}
/* animations décoratives : légères, isolées, transform/opacity uniquement, jamais liées au scroll */
@media (prefers-reduced-motion: reduce){
  .es-wrap *{ animation:none !important; }
}
@keyframes esFloat{ 0%{ transform:translateY(0) } 50%{ transform:translateY(-14px) } 100%{ transform:translateY(0) } }
@keyframes esFloatSlow{ 0%{ transform:translate(0,0) } 50%{ transform:translate(10px,-16px) } 100%{ transform:translate(0,0) } }
@keyframes esPulse{ 0%{ opacity:.55 } 50%{ opacity:.85 } 100%{ opacity:.55 } }

/* ---------- layout helpers ---------- */
.es-section{ padding:56px 20px; position:relative; }
.es-inner{ max-width:1200px; margin:0 auto; position:relative; z-index:2; }
.es-full{ max-width:1200px; margin:0 auto; }
.es-eyebrow{
  display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:bold; letter-spacing:.06em;
  text-transform:uppercase; color:var(--n); background:var(--yd);
  padding:7px 16px; border-radius:30px; margin-bottom:16px;
}
.es-eyebrow-dot{ width:7px; height:7px; border-radius:50%; background:var(--n); animation:esPulse 2.4s ease-in-out infinite; }
.es-wrap h1{ font-size:clamp(30px,4.4vw,48px); line-height:1.15; margin:0 0 18px; }
.es-wrap h2{ font-size:clamp(24px,3.2vw,34px); line-height:1.2; margin:0 0 16px; }
.es-wrap h3{ font-size:19px; line-height:1.3; margin:0 0 10px; color:var(--n); }
.es-wrap p{ margin:0 0 14px; color:#33425e; font-size:16px; }
.es-lead{ font-size:18px; color:#33425e; }
.es-grid{ display:grid; gap:28px; align-items:start; }

/* ---------- blobs décoratifs de fond ---------- */
.es-blob{ position:absolute; border-radius:50%; filter:blur(50px); pointer-events:none; z-index:0; }
.es-blob-y{ background:radial-gradient(circle, rgba(255,213,74,.55), rgba(255,213,74,0) 70%); }
.es-blob-n{ background:radial-gradient(circle, rgba(19,41,75,.35), rgba(19,41,75,0) 70%); }
.es-blob-wh{ background:radial-gradient(circle, rgba(255,255,255,.25), rgba(255,255,255,0) 70%); }

/* ---------- icônes ---------- */
.es-icon{
  width:52px; height:52px; border-radius:16px; display:flex; align-items:center; justify-content:center;
  background:var(--n); flex:none; margin-bottom:16px;
}
.es-icon svg{ width:24px; height:24px; stroke:var(--y); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.es-icon-y{ background:var(--y); }
.es-icon-y svg{ stroke:var(--n); }
.es-icon-outline{ background:var(--yd); }
.es-icon-outline svg{ stroke:var(--n); }

/* ---------- image blocks with gradient fallback ---------- */
.es-img{
  border-radius:30px; width:100% !important; height:auto; object-fit:cover;
  background:linear-gradient(135deg, var(--n), #24406e);
}

/* ---------- buttons ---------- */
.es-btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:Arial, sans-serif; font-weight:bold; font-size:15px;
  padding:14px 26px; border-radius:30px; text-decoration:none !important;
  border:2px solid transparent; cursor:pointer;
}
.es-btn-primary{ background:linear-gradient(135deg, var(--y), #ffdd6f); color:var(--n) !important; box-shadow:0 10px 26px rgba(255,213,74,.35); }
.es-btn-dark{ background:var(--n); color:var(--wh) !important; }
.es-btn-outline-light{ border-color:rgba(255,255,255,.55); color:var(--wh) !important; background:transparent; }
.es-btn-outline{ border-color:var(--bd); color:var(--n) !important; background:transparent; }

/* ================= HERO ================= */
.es-hero{ background:linear-gradient(160deg, var(--n) 0%, var(--n3) 55%, var(--n2) 100%); padding:60px 20px 80px; overflow:hidden; }
.es-hero h1{ color:var(--wh); }
.es-hero .es-lead{ color:rgba(255,255,255,.85); }
.es-hero p{ color:rgba(255,255,255,.78); }
.es-hero .es-eyebrow{ background:rgba(255,213,74,.18); color:var(--y); }
.es-hero .es-eyebrow-dot{ background:var(--y); }
.es-hero .es-chip{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.18); color:var(--wh) !important; }
.es-hero .es-btn-outline{ border-color:rgba(255,255,255,.4); color:var(--wh) !important; }
.es-hero-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:50px; align-items:center; }
.es-hero-badges{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.es-mini-badge{
  display:inline-flex; align-items:center; gap:6px; background:var(--wh); border:1px solid var(--bd);
  padding:7px 14px; border-radius:30px; font-size:12.5px; font-weight:bold; color:var(--n);
}
.es-mini-badge svg{ width:14px; height:14px; stroke:var(--n); fill:none; stroke-width:2; }
.es-hero-chips{ display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.es-chip{
  font-size:13px; font-weight:bold; color:var(--n) !important; text-decoration:none !important;
  background:var(--wh); border:1px solid var(--bd); padding:9px 16px; border-radius:30px;
}
.es-hero-ctas{ display:flex; flex-wrap:wrap; gap:14px; margin-top:26px; }

/* --- panneau visuel hero : 100% CSS/SVG, ne dépend d'aucune photo --- */
.es-hero-panel{
  position:relative; border-radius:34px; padding:22px; min-height:440px; overflow:visible;
  background:linear-gradient(145deg, #1c3a68 0%, var(--n) 45%, var(--n2) 100%);
  box-shadow:0 30px 60px rgba(19,41,75,.32);
  display:flex; align-items:center; justify-content:center;
}
.es-hero-panel .es-blob{ z-index:0; }
.es-hero-photo{
  position:relative; z-index:2; min-height:400px;
  background:linear-gradient(145deg, #1c3a68, var(--n2));
  box-shadow:0 20px 44px rgba(0,0,0,.28); border:1px solid rgba(255,255,255,.12);
}

.es-float-badge{
  position:absolute; z-index:3;
  background:var(--wh); border-radius:16px; padding:10px 16px; box-shadow:0 14px 30px rgba(0,0,0,.18);
  font-size:12.5px; font-weight:bold; color:var(--n); animation:esFloat 6s ease-in-out infinite;
}
.es-badge-lang{ top:16px; right:16px; animation-delay:.3s; }
.es-badge-ssl{ bottom:16px; left:16px; animation-delay:1s; }

/* ================= AGENCE ================= */
.es-agence-grid{ grid-template-columns:0.85fr 1.15fr; }
.es-agence-sticky{ position:static; }
@media (min-width:901px){ .es-agence-sticky{ position:sticky; top:24px; } }
.es-subblock{ display:flex; gap:16px; margin-bottom:26px; }
.es-subblock:last-child{ margin-bottom:0; }
.es-subblock .es-icon{ margin-bottom:0; }
.es-subblock-txt{ flex:1; }

/* ================= SERVICES / TYPES DE SITES (cartes) ================= */
.es-types-grid{ grid-template-columns:repeat(3,1fr); }
.es-type-card{
  background:var(--wh); border:1px solid var(--bd); border-radius:24px; padding:26px; height:100%;
}
.es-type-card .es-tag{
  display:inline-block; font-size:12px; font-weight:bold; color:var(--n);
  background:var(--yd); padding:5px 12px; border-radius:30px; margin-bottom:12px;
}
.es-type-card p{ font-size:14.5px; margin-bottom:8px; }
.es-type-card .es-type-for{ font-size:13.5px; color:var(--mu); font-style:italic; }

/* ---------- accordion ---------- */
.es-accordion{ display:flex; flex-direction:column; gap:14px; margin-top:34px; }
.es-accordion details{
  background:var(--wh); border:1px solid var(--bd); border-radius:20px; padding:0 24px; overflow:hidden;
}
.es-accordion summary{
  list-style:none; cursor:pointer; padding:20px 0; font-weight:bold; font-size:17px;
  color:var(--n); display:flex; align-items:center; gap:14px;
}
.es-accordion summary::-webkit-details-marker{ display:none; }
.es-accordion summary .es-icon{ margin-bottom:0; width:40px; height:40px; border-radius:12px; }
.es-accordion summary .es-icon svg{ width:19px; height:19px; }
.es-accordion summary .es-sum-txt{ flex:1; }
.es-accordion summary::after{
  content:"+"; font-size:22px; color:var(--n); background:var(--yd);
  width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex:none;
}
.es-accordion details[open] summary::after{ content:"–"; }
.es-accordion .es-acc-body{ padding-bottom:22px; padding-left:54px; }
.es-accordion .es-acc-body p{ margin-bottom:10px; }

/* ================= TECHNOLOGIES ================= */
.es-tech-grid{ grid-template-columns:repeat(3,1fr); margin-top:10px; }
.es-tech-card{ background:var(--bg); border-radius:24px; padding:26px; height:100%; }

/* ================= MARCHE / SEO ================= */
.es-marche{ background:var(--n); color:var(--wh); border-radius:40px; max-width:1200px; margin:0 auto; padding:56px 40px; overflow:hidden; }
.es-marche .es-inner{ padding:0; }
.es-marche-grid{ grid-template-columns:1fr 1fr; align-items:center; }
.es-marche h2{ color:var(--wh); }
.es-marche p{ color:rgba(255,255,255,.82); }
.es-marche .es-img{ background:linear-gradient(135deg, #24406e, var(--n2)); }
.es-marche a{ color:var(--y) !important; text-decoration:underline !important; }
.es-stat-row{ display:flex; gap:14px; flex-wrap:wrap; margin:22px 0 6px; }
.es-stat{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:14px 18px; }
.es-stat b{ display:block; color:var(--y); font-size:15px; }
.es-stat span{ font-size:12.5px; color:rgba(255,255,255,.75); }

/* ================= E-COMMERCE ================= */
.es-ecom-grid{ grid-template-columns:1fr 1fr; }
.es-ecom-img .es-img{ aspect-ratio:1/1; object-fit:cover; }
.es-ecom-cta{
  display:flex; gap:16px; align-items:flex-start; background:var(--bg); border-radius:24px;
  padding:24px; margin-top:20px;
}
.es-ecom-cta .es-icon{ margin-bottom:0; }
.es-ecom-cta h3{ margin-bottom:6px; }
.es-ecom-cta p{ margin-bottom:14px; }

/* ================= REGIONS ================= */
.es-region-grid{ grid-template-columns:repeat(3,1fr); }
.es-region-card{
  background:var(--wh); border:1px solid var(--bd); border-radius:24px; padding:26px; height:100%;
}
.es-region-card h3{ margin-bottom:10px; }
.es-region-cta{
  background:var(--n); border-radius:24px; padding:26px; height:100%;
  display:flex; flex-direction:column; justify-content:center; gap:14px;
}
.es-region-cta h3{ color:var(--wh); }
.es-region-cta p{ color:rgba(255,255,255,.8); font-size:14.5px; }

/* ================= METHODE (timeline avec connecteur) ================= */
.es-method-wrap{ position:relative; margin-top:40px; }
.es-method-grid{ grid-template-columns:repeat(4,1fr); position:relative; z-index:1; }
.es-method-line{
  display:none; position:absolute; top:19px; left:6%; right:6%; height:2px;
  background:repeating-linear-gradient(90deg, var(--bd) 0 10px, transparent 10px 18px); z-index:0;
}
@media (min-width:901px){ .es-method-line{ display:block; } }
.es-step{ position:relative; padding-top:8px; }
.es-step-num{
  font-family:Arial, sans-serif; font-weight:bold; font-size:15px; color:var(--n);
  background:var(--y); width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; margin-bottom:16px;
  box-shadow:0 8px 18px rgba(255,213,74,.4); position:relative; z-index:1;
}

/* ================= WHY CHOOSE US ================= */
.es-why-grid{ grid-template-columns:repeat(2,1fr); }
.es-why-card{ background:var(--bg); border-radius:24px; padding:28px; height:100%; display:flex; gap:16px; }
.es-why-card .es-icon{ margin-bottom:0; }

/* ================= PRICING BANNER ================= */
.es-pricing{
  background:linear-gradient(135deg, var(--y), #ffe38a); border-radius:40px; max-width:1200px; margin:0 auto;
  padding:44px 40px; text-align:center; position:relative; overflow:hidden;
}
.es-pricing h2{ color:var(--n); margin-bottom:10px; }
.es-pricing p{ color:#3a3018; max-width:640px; margin:0 auto 24px; }

/* ================= FAQ ================= */
.es-faq details{
  background:var(--wh); border:1px solid var(--bd); border-radius:20px; padding:0 24px; margin-bottom:14px;
}
.es-faq summary{
  list-style:none; cursor:pointer; padding:20px 0; font-weight:bold; font-size:17px;
  display:flex; justify-content:space-between; gap:12px; align-items:center;
}
.es-faq summary::-webkit-details-marker{ display:none; }
.es-faq summary::after{
  content:"+"; font-size:22px; background:var(--yd); color:var(--n);
  width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex:none;
}
.es-faq details[open] summary::after{ content:"–"; }
.es-faq .es-acc-body{ padding-bottom:22px; padding-left:0; }

/* ================= CTA FINALE ================= */
.es-cta-final{ background:var(--n2); border-radius:40px; max-width:1200px; margin:0 auto; padding:56px 40px; text-align:center; overflow:hidden; }
.es-cta-final h2{ color:var(--wh); max-width:760px; margin:0 auto 16px; }
.es-cta-final p{ color:rgba(255,255,255,.8); max-width:640px; margin:0 auto 30px; }
.es-cta-final .es-hero-ctas{ justify-content:center; }

/* ================= LIENS INTERNES ================= */
.es-links-grid{ grid-template-columns:repeat(4,1fr); }
.es-link-card{
  display:block; background:var(--wh); border:1px solid var(--bd); border-left:4px solid var(--y);
  border-radius:20px; padding:20px 22px; text-decoration:none !important; color:var(--n) !important;
  font-weight:bold; font-size:15px;
}
.es-link-card span{ display:block; font-weight:normal; font-size:13px; color:var(--mu); margin-top:6px; }
.es-link-arrow{ float:right; }

/* ================= RESPONSIVE ================= */
@media (max-width:1000px){
  .es-hero-grid, .es-agence-grid, .es-marche-grid, .es-ecom-grid{ grid-template-columns:1fr; }
  .es-hero-panel{ order:-1; }
  .es-types-grid, .es-tech-grid, .es-region-grid{ grid-template-columns:repeat(2,1fr); }
  .es-method-grid, .es-why-grid, .es-links-grid{ grid-template-columns:repeat(2,1fr); }
  .es-hero-grid{ gap:60px; }
  .es-hero-panel{ margin-top:10px; }
}
@media (max-width:640px){
  .es-section{ padding:40px 16px; }
  .es-types-grid, .es-tech-grid, .es-region-grid,
  .es-method-grid, .es-why-grid, .es-links-grid{ grid-template-columns:1fr; grid-auto-rows:auto; }
  .es-marche, .es-cta-final, .es-pricing{ padding:36px 22px; border-radius:28px; }
  .es-hero-panel{ padding:26px; min-height:auto; }
  .es-badge-lang{ right:10px; }
  .es-why-card{ flex-direction:column; }
  .es-ecom-img .es-img{ aspect-ratio:16/9; }
  .es-ecom-cta{ flex-direction:column; }
}/* End custom CSS */