:root{--bg:#07111f;--bg2:#0d1b2f;--text:#101828;--muted:#667085;--line:#e6eaf2;--white:#fff;--blue:#0b5cff;--blue2:#173b87;--orange:#ff9f1c;--soft:#f6f8fc;--shadow:0 28px 80px rgba(16,24,40,.16);--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.site-header{position:fixed;inset:0 0 auto;z-index:50;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(230,234,242,.75)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{height:52px;width:auto}.nav-links{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:700;color:#24304a}.nav-links a{opacity:.86}.nav-links a:hover{opacity:1;color:var(--blue)}.client-link{padding:11px 18px;border-radius:999px;background:#0b5cff;color:#fff!important;opacity:1!important}.menu-btn{display:none;border:0;background:#eef3ff;color:#0b5cff;border-radius:14px;padding:10px 13px;font-size:22px}.hero{position:relative;min-height:760px;padding-top:78px;overflow:hidden;background:#07111f;color:#fff}.hero-media{position:absolute;inset:0;overflow:hidden;transform:scale(1.02);background:#07111f}.hero-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s ease-in-out}.hero-slider img.active{opacity:1}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,17,31,.96) 0%,rgba(7,17,31,.82) 38%,rgba(7,17,31,.42) 74%,rgba(7,17,31,.15) 100%)}.hero-content{position:relative;z-index:1;min-height:682px;display:flex;align-items:center}.pill,.section-label{display:inline-flex;align-items:center;width:max-content;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.pill{padding:9px 14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff}.hero h1{font-size:clamp(46px,6vw,82px);line-height:.94;letter-spacing:-.065em;margin:22px 0 24px;max-width:860px}.hero p{font-size:19px;line-height:1.72;color:rgba(255,255,255,.78);max-width:650px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:999px;font-weight:900;border:1px solid transparent}.btn-primary{background:linear-gradient(135deg,var(--blue),#0339b9);color:#fff;box-shadow:0 18px 38px rgba(11,92,255,.28)}.btn-ghost{border-color:rgba(255,255,255,.24);color:#fff;background:rgba(255,255,255,.08)}.hero-panel{align-self:end;margin-bottom:92px;padding:24px;border-radius:var(--radius);background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);box-shadow:var(--shadow);backdrop-filter:blur(20px)}.panel-top{display:flex;align-items:center;gap:10px;font-weight:900;margin-bottom:18px}.live-dot{width:11px;height:11px;border-radius:50%;background:#28d17c;box-shadow:0 0 0 9px rgba(40,209,124,.16)}.panel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.panel-grid div{padding:18px;border-radius:20px;background:rgba(255,255,255,.10)}.panel-grid strong{display:block;font-size:25px}.panel-grid small{display:block;margin-top:6px;color:rgba(255,255,255,.65)}.section{padding:96px 0}.section-label{padding:8px 12px;background:#edf3ff;color:var(--blue)}.section-label.light{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff}.section-head{text-align:center;max-width:760px;margin:0 auto 44px}.section-head h2,.intro-card h2,.platform-copy h2,.cta-card h2{font-size:clamp(34px,4vw,56px);line-height:1.04;letter-spacing:-.05em;margin:16px 0}.section-head p,.intro-card p,.platform-copy p,.cta-card p{font-size:18px;line-height:1.72;color:var(--muted);margin:0}.intro{padding-bottom:30px}.intro-card{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:center;padding:42px;border-radius:34px;background:#fff;border:1px solid var(--line);box-shadow:0 22px 70px rgba(16,24,40,.08)}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.solution-card{padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 18px 55px rgba(16,24,40,.06);transition:.25s}.solution-card:hover{transform:translateY(-6px);box-shadow:0 25px 70px rgba(16,24,40,.10)}.solution-card span{font-weight:900;color:var(--orange)}.solution-card h3{font-size:24px;margin:18px 0 12px}.solution-card p{line-height:1.7;color:var(--muted);margin:0}.dark{background:linear-gradient(180deg,#07111f,#0d1b2f);color:#fff}.platform-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:54px;align-items:center}.platform-copy p{color:rgba(255,255,255,.74)}.checks{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:14px}.checks li{position:relative;padding-left:34px;font-weight:800;color:rgba(255,255,255,.9)}.checks li:before{content:'✓';position:absolute;left:0;top:-2px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff}.platform-image img{border-radius:34px;box-shadow:0 30px 90px rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.13)}.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.sector-card{position:relative;height:320px;border-radius:30px;overflow:hidden;background:#111;box-shadow:0 22px 70px rgba(16,24,40,.12)}.sector-card img{width:100%;height:100%;object-fit:cover;transition:.45s}.sector-card:hover img{transform:scale(1.055)}.sector-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 18%,rgba(0,0,0,.80) 100%)}.sector-card div{position:absolute;z-index:1;left:24px;right:24px;bottom:22px;color:#fff}.sector-card h3{font-size:27px;margin:0 0 8px}.sector-card p{margin:0;color:rgba(255,255,255,.78);line-height:1.5}.soft{background:var(--soft)}.ref-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.ref-row span{padding:18px 22px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 40px rgba(16,24,40,.05);font-weight:900;color:#344054}.cta{padding:88px 0;background:linear-gradient(135deg,#081731,#0b5cff);color:#fff}.cta-card{display:grid;grid-template-columns:1fr 390px;gap:44px;align-items:center}.cta-card p{color:rgba(255,255,255,.74)}.contact-box{display:grid;gap:12px;padding:28px;border-radius:var(--radius);background:#fff;color:var(--text);box-shadow:var(--shadow)}.contact-box strong{font-size:22px}.contact-box a{font-weight:900;color:var(--blue)}.footer{padding:34px 0;background:#fff}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer img{height:48px}.footer p{color:var(--muted);margin:0}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.22s}@media(max-width:920px){.menu-btn{display:block}.nav-links{position:absolute;top:78px;left:20px;right:20px;padding:20px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);display:none;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.hero-content,.intro-card,.platform-grid,.cta-card{grid-template-columns:1fr}.hero{min-height:auto}.hero-content{padding:92px 0;min-height:auto}.hero-panel{align-self:auto;margin-bottom:0}.solution-grid,.sector-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;text-align:center}.hero h1{font-size:44px}.section{padding:72px 0}}

/* V11 — Réintégration du blog références */
.references-blog{display:grid;gap:34px;margin-top:22px}.reference-category{padding:28px;border-radius:32px;background:#fff;border:1px solid var(--line);box-shadow:0 22px 65px rgba(16,24,40,.07)}.reference-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.reference-title h3{margin:0;font-size:24px;letter-spacing:-.03em;color:#101828}.reference-title span{display:inline-flex;white-space:nowrap;padding:8px 12px;border-radius:999px;background:#edf3ff;color:var(--blue);font-weight:900;font-size:12px}.references-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.reference-card{height:112px;border-radius:22px;background:#fff;border:1px solid #e9edf5;display:flex;align-items:center;justify-content:center;padding:18px;transition:.22s;box-shadow:0 10px 28px rgba(16,24,40,.04)}.reference-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(16,24,40,.10);border-color:#d7e2ff}.reference-card img{max-width:100%;max-height:74px;width:auto;height:auto;object-fit:contain;filter:saturate(.95)}@media(max-width:1020px){.references-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:760px){.reference-title{align-items:flex-start;flex-direction:column}.references-grid{grid-template-columns:repeat(2,1fr)}.reference-card{height:104px}}@media(max-width:420px){.references-grid{grid-template-columns:1fr}}


/* V12 — Corrections demandées */
.experience-badge{display:inline-flex;align-items:center;gap:18px;padding:18px 24px;border-radius:26px;background:linear-gradient(135deg,#0b5cff,#173b87);color:#fff;box-shadow:0 20px 55px rgba(11,92,255,.22);border:1px solid rgba(255,255,255,.18)}
.experience-badge strong{font-size:64px;line-height:.9;font-weight:900;letter-spacing:-.06em}
.experience-badge span{font-size:18px;line-height:1.15;font-weight:900;text-transform:uppercase;letter-spacing:.08em;max-width:170px}
.intro-card{grid-template-columns:.78fr 1.22fr}
@media(max-width:920px){.hero-content{display:block}.intro-card{grid-template-columns:1fr}.experience-badge strong{font-size:54px}}


/* V14 — Bloc 02 premium "17 ans d’expérience" */
.experience-section{
  position:relative;
  overflow:hidden;
  min-height:360px;
  background:#071b34;
  isolation:isolate;
}
.experience-bg{
  position:absolute;
  inset:0 0 48px 0;
  background:
    radial-gradient(circle at 78% 10%,rgba(255,255,255,.96) 0 18%,rgba(255,255,255,.78) 36%,rgba(255,255,255,0) 62%),
    linear-gradient(100deg,rgba(241,247,252,.30) 0%,rgba(255,255,255,.88) 43%,rgba(246,250,253,.96) 100%),
    url('assets/esa-transport.png') left 44%/cover no-repeat;
  z-index:-3;
}
.experience-bg:after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.05) 0%,rgba(255,255,255,.62) 32%,rgba(255,255,255,.98) 82%),
    radial-gradient(circle at 48% 105%,rgba(226,164,39,.24),rgba(226,164,39,0) 35%);
}
.experience-road{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:96px;
  background:linear-gradient(180deg,#0a2546 0%,#06172d 100%);
  z-index:-2;
  clip-path:polygon(0 44%,48% 78%,100% 42%,100% 100%,0 100%);
}
.experience-road:before{
  content:'';
  position:absolute;
  left:-5vw;
  right:-5vw;
  top:12px;
  height:8px;
  background:linear-gradient(90deg,#bf8d22,#f4cd62,#c9972a);
  transform:skewY(-1.6deg);
  box-shadow:0 8px 22px rgba(111,74,8,.2);
}
.experience-inner{
  min-height:360px;
  display:grid;
  grid-template-columns:360px minmax(0,1fr);
  align-items:center;
  gap:60px;
  padding:30px 0 78px;
}
.experience-medal{
  display:flex;
  align-items:center;
  justify-content:center;
  filter:drop-shadow(0 28px 28px rgba(7,27,52,.30));
}
.experience-medal img{
  width:292px;
  max-width:100%;
  height:auto;
  transform:translateY(4px);
}
.experience-content{
  color:#061a33;
  max-width:910px;
}
.experience-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(11,92,255,.08);
  color:#0b5cff;
  border:1px solid rgba(11,92,255,.10);
  font-size:12px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  margin-bottom:13px;
}
.experience-content h2{
  margin:0 0 14px;
  font-size:clamp(42px,4.6vw,64px);
  line-height:.96;
  letter-spacing:-.06em;
  font-weight:950;
  color:#061a33;
}
.experience-content h2 span{
  color:#c79728;
  margin-right:10px;
}
.experience-content p{
  margin:0;
  max-width:760px;
  font-size:17px;
  line-height:1.55;
  color:#263850;
  font-weight:600;
}
.experience-separator{
  width:330px;
  height:2px;
  background:linear-gradient(90deg,#c9992d,rgba(201,153,45,.22));
  margin:24px 0 22px;
}
.experience-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(120px,1fr));
  gap:0;
}
.experience-stat{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  column-gap:12px;
  align-items:center;
  min-height:60px;
  padding:0 24px 0 0;
  margin-right:24px;
}
.experience-stat:not(:last-child):after{
  content:'';
  position:absolute;
  right:0;
  top:6px;
  bottom:6px;
  width:1px;
  background:linear-gradient(180deg,rgba(7,27,52,0),rgba(7,27,52,.24),rgba(7,27,52,0));
}
.stat-icon{
  grid-row:1/3;
  width:44px;
  height:44px;
  border-radius:50%;
  border:2px solid #c9992d;
  display:grid;
  place-items:center;
  font-size:22px;
  color:#c9992d;
  background:rgba(255,255,255,.54);
  box-shadow:inset 0 0 0 4px rgba(201,153,45,.06);
}
.experience-stat strong{
  display:block;
  font-size:31px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.045em;
  color:#c39325;
  white-space:nowrap;
}
.experience-stat small{
  display:block;
  margin-top:5px;
  font-size:13px;
  line-height:1.15;
  color:#071b34;
  font-weight:700;
  white-space:nowrap;
}
@media(max-width:1080px){
  .experience-inner{grid-template-columns:280px 1fr;gap:34px}
  .experience-medal img{width:238px}
  .experience-stats{grid-template-columns:repeat(2,1fr);row-gap:18px;max-width:620px}
  .experience-stat:nth-child(2):after{display:none}
}
@media(max-width:720px){
  .experience-section{min-height:auto}
  .experience-bg{inset:0 0 76px 0;background-position:left center}
  .experience-inner{min-height:auto;grid-template-columns:1fr;text-align:center;padding:48px 0 112px;gap:18px}
  .experience-medal img{width:218px}
  .experience-content{margin-inline:auto}
  .experience-content p{font-size:15.5px}
  .experience-separator{margin:22px auto}
  .experience-stats{grid-template-columns:1fr;max-width:315px;margin-inline:auto;text-align:left;gap:14px}
  .experience-stat{margin-right:0;padding:0}
  .experience-stat:after{display:none!important}
  .experience-road{height:108px;clip-path:polygon(0 44%,50% 68%,100% 44%,100% 100%,0 100%)}
}

/* V15 — Bloc 02 validé : sans statistiques, badge 17 ans en HTML/CSS éditable */
.experience-section{
  min-height:330px;
  background:#071b34;
}
.experience-bg{
  inset:0 0 58px 0;
  background:
    radial-gradient(circle at 75% 8%,rgba(255,255,255,.98) 0 18%,rgba(255,255,255,.82) 38%,rgba(255,255,255,0) 67%),
    linear-gradient(104deg,rgba(255,255,255,.48) 0%,rgba(255,255,255,.90) 45%,rgba(255,255,255,.98) 100%),
    url('assets/esa-transport.png') left 47%/cover no-repeat;
}
.experience-bg:after{
  background:
    radial-gradient(circle at 70% 32%,rgba(255,255,255,.90),rgba(255,255,255,0) 45%),
    linear-gradient(90deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.72) 36%,rgba(255,255,255,.99) 82%);
}
.experience-bg:before{
  content:'';
  position:absolute;
  left:-8%;
  right:-8%;
  bottom:4px;
  height:155px;
  opacity:.55;
  background:repeating-radial-gradient(ellipse at 52% 100%, rgba(205,154,42,.52) 0 1px, transparent 2px 12px);
  transform:skewY(-3deg);
}
.experience-inner{
  min-height:330px;
  grid-template-columns:330px minmax(0,1fr);
  gap:64px;
  padding:26px 0 86px;
}
.experience-medal{
  filter:drop-shadow(0 26px 28px rgba(7,27,52,.32));
}
.experience-medal img{display:none;}
.medal-badge{
  position:relative;
  width:250px;
  aspect-ratio:1;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:auto;
  color:#fff;
  background:
    radial-gradient(circle at 42% 34%,#153a69 0 23%,#071d39 56%,#04142a 100%);
  border:11px solid #d6a53a;
  box-shadow:
    inset 0 0 0 9px rgba(255,255,255,.07),
    inset 0 28px 48px rgba(255,255,255,.08),
    0 16px 0 #8a6016,
    0 26px 45px rgba(7,27,52,.32);
  overflow:hidden;
}
.medal-badge:before{
  content:'';
  position:absolute;
  inset:11px;
  border-radius:50%;
  border:2px solid rgba(255,221,126,.72);
}
.medal-badge:after{
  content:'';
  position:absolute;
  inset:-30% 18% auto auto;
  width:72px;
  height:160%;
  background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,0));
  transform:rotate(26deg);
  opacity:.35;
}
.medal-stars{
  position:absolute;
  top:24px;
  z-index:2;
  color:#f5c04d;
  font-size:18px;
  letter-spacing:7px;
  text-shadow:0 2px 0 rgba(0,0,0,.25);
}
.medal-badge strong{
  position:absolute;
  top:53px;
  z-index:2;
  font-size:86px;
  line-height:.85;
  letter-spacing:-.08em;
  font-weight:950;
  background:linear-gradient(180deg,#fff1a2,#d49a26 55%,#8d5e10 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:none;
}
.medal-badge span{
  position:absolute;
  top:132px;
  z-index:2;
  font-size:32px;
  font-weight:950;
  line-height:1;
  letter-spacing:.04em;
}
.medal-badge small{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding-top:10px;
  background:linear-gradient(180deg,#0b2547,#06162c);
  border-top:3px solid #d6a53a;
  color:#fff;
  font-size:15px;
  font-weight:950;
  letter-spacing:.12em;
}
.experience-content h2{font-size:clamp(42px,4.2vw,60px);}
.experience-separator{width:190px;margin:20px 0 18px;}
.experience-note{
  max-width:650px!important;
  color:#65748b!important;
  font-size:16px!important;
  font-weight:650!important;
}
.experience-stats,.experience-stat{display:none!important;}
@media(max-width:1080px){
  .experience-inner{grid-template-columns:270px 1fr;gap:36px;}
  .medal-badge{width:222px;}
  .medal-badge strong{font-size:76px;top:48px;}
  .medal-badge span{top:118px;font-size:28px;}
  .medal-badge small{height:56px;font-size:13px;}
}
@media(max-width:720px){
  .experience-inner{grid-template-columns:1fr;padding:48px 0 116px;gap:24px;}
  .medal-badge{width:210px;}
  .experience-separator{margin:20px auto 18px;}
}


/* V16 — Bloc 02 validé : cercle séparé et remplaçable */
.experience-section{
  min-height:330px;
  background:#ffffff;
  border-top:1px solid rgba(230,234,242,.9);
  border-bottom:1px solid rgba(230,234,242,.9);
}
.experience-bg{
  inset:0;
  background:
    radial-gradient(circle at 84% 20%,rgba(255,255,255,.95),rgba(255,255,255,0) 45%),
    linear-gradient(100deg,#ffffff 0%,#fbfcff 48%,#ffffff 100%);
}
.experience-bg:after{
  background:
    radial-gradient(circle at 16% 48%,rgba(11,92,255,.055),rgba(11,92,255,0) 32%),
    linear-gradient(90deg,rgba(255,255,255,.88),rgba(255,255,255,.97));
}
.experience-bg:before{
  content:'';
  position:absolute;
  left:-6%;right:-6%;bottom:-40px;height:190px;
  background:repeating-radial-gradient(ellipse at 52% 100%, rgba(205,154,42,.32) 0 1px, transparent 2px 12px);
  opacity:.72;transform:skewY(-3deg);
}
.experience-road{display:none;}
.experience-inner{
  min-height:330px;
  grid-template-columns:300px minmax(0,1fr);
  gap:60px;
  padding:28px 0 40px;
}
.experience-medal{
  position:relative;
  justify-content:flex-start;
  filter:drop-shadow(0 26px 26px rgba(7,27,52,.18));
}
.experience-medal:after{
  content:'';position:absolute;right:-32px;top:32px;bottom:24px;width:1px;
  background:linear-gradient(180deg,rgba(7,27,52,0),rgba(7,27,52,.20),rgba(7,27,52,0));
}
.experience-medal img{
  display:block!important;
  width:250px;
  height:auto;
}
.medal-badge{display:none!important;}
.experience-content{max-width:850px;}
.experience-kicker{display:none;}
.experience-content h2{
  margin:0 0 16px;
  font-size:clamp(42px,4.2vw,60px);
  line-height:1;
  letter-spacing:-.055em;
  color:#07172f;
}
.experience-content h2 span{
  color:#d80f12;
  margin-right:12px;
  font-weight:950;
}
.experience-content p{
  max-width:770px;
  font-size:18px;
  line-height:1.55;
  color:#23344d;
  font-weight:600;
}
.experience-separator{
  width:165px;height:2px;margin:20px 0 22px;
  background:linear-gradient(90deg,#d80f12,rgba(216,15,18,0));
}
.experience-note{display:none;}
.experience-chips{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:16px;
}
.experience-chip{
  min-height:74px;
  padding:17px 18px;
  border-radius:14px;
  background:rgba(255,255,255,.82);
  border:1px solid #e6eaf2;
  box-shadow:0 14px 35px rgba(16,24,40,.07);
}
.experience-chip b{
  display:block;
  color:#d80f12;
  font-size:15px;
  font-weight:950;
  margin-bottom:5px;
}
.experience-chip small{
  display:block;
  color:#061a33;
  font-size:13px;
  line-height:1.25;
  font-weight:700;
}
@media(max-width:1080px){
  .experience-inner{grid-template-columns:250px 1fr;gap:38px;}
  .experience-medal img{width:220px;}
  .experience-chips{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:720px){
  .experience-inner{grid-template-columns:1fr;text-align:center;padding:46px 0;gap:22px;}
  .experience-medal{justify-content:center;}
  .experience-medal:after{display:none;}
  .experience-medal img{width:210px;}
  .experience-separator{margin:20px auto 22px;}
  .experience-chips{grid-template-columns:1fr;max-width:360px;margin-inline:auto;text-align:left;}
}

/* V17 — Bloc 03 Solutions : 3 modules métiers premium */
.solutions-premium{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 12%,rgba(11,92,255,.07),rgba(11,92,255,0) 28%),
    radial-gradient(circle at 88% 18%,rgba(255,159,28,.08),rgba(255,159,28,0) 30%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.solutions-premium:before{
  content:'';
  position:absolute;
  left:-8%;right:-8%;top:0;height:220px;
  background:repeating-radial-gradient(ellipse at 50% 0%, rgba(11,92,255,.09) 0 1px, transparent 2px 14px);
  opacity:.55;
  pointer-events:none;
}
.modules-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.module-card{
  position:relative;
  min-height:560px;
  border-radius:32px;
  overflow:hidden;
  background:#07111f;
  border:1px solid rgba(7,17,31,.10);
  box-shadow:0 28px 80px rgba(16,24,40,.12);
  transition:transform .28s ease, box-shadow .28s ease;
}
.module-card:hover{
  transform:translateY(-8px);
  box-shadow:0 36px 95px rgba(16,24,40,.18);
}
.module-image{
  position:absolute;
  inset:0;
}
.module-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.04);
  transition:transform .55s ease;
}
.module-card:hover .module-image img{transform:scale(1.10)}
.module-card:after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(7,17,31,.05) 0%,rgba(7,17,31,.50) 36%,rgba(7,17,31,.95) 100%),
    linear-gradient(90deg,rgba(7,17,31,.28),rgba(7,17,31,0));
}
.module-content{
  position:absolute;
  z-index:1;
  left:0;right:0;bottom:0;
  padding:34px;
  color:#fff;
}
.module-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:16px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
  color:#f5b53b;
  font-weight:950;
  margin-bottom:16px;
}
.module-icon{
  display:inline-flex;
  width:46px;
  height:46px;
  align-items:center;
  justify-content:center;
  margin-left:8px;
  border-radius:16px;
  background:linear-gradient(135deg,#0b5cff,#173b87);
  color:#fff;
  font-size:22px;
  font-weight:900;
  box-shadow:0 16px 34px rgba(11,92,255,.30);
}
.module-content h3{
  margin:0 0 12px;
  font-size:clamp(28px,2.35vw,38px);
  line-height:1;
  letter-spacing:-.055em;
}
.module-content p{
  margin:0 0 20px;
  color:rgba(255,255,255,.78);
  line-height:1.58;
  font-size:15.5px;
}
.module-content ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.module-content li{
  position:relative;
  padding-left:25px;
  color:rgba(255,255,255,.92);
  font-size:14px;
  font-weight:800;
}
.module-content li:before{
  content:'✓';
  position:absolute;
  left:0;top:-1px;
  width:17px;height:17px;
  border-radius:50%;
  display:grid;place-items:center;
  background:rgba(245,181,59,.18);
  color:#f5b53b;
  font-size:11px;
  font-weight:950;
}
.module-fleet .module-icon{background:linear-gradient(135deg,#f5a623,#c87d05);box-shadow:0 16px 34px rgba(245,166,35,.26)}
.module-gmao .module-icon{background:linear-gradient(135deg,#173b87,#071b34);box-shadow:0 16px 34px rgba(23,59,135,.26)}
@media(max-width:1020px){
  .modules-grid{grid-template-columns:1fr;}
  .module-card{min-height:470px;}
}
@media(max-width:620px){
  .module-card{min-height:540px;border-radius:26px;}
  .module-content{padding:26px;}
}

/* V19 — Bloc 03 Solutions horizontal — style Samsara + Palantir */
.solutions-premium{
  background:
    radial-gradient(circle at 15% 12%,rgba(11,92,255,.08),rgba(11,92,255,0) 30%),
    radial-gradient(circle at 88% 8%,rgba(245,166,35,.10),rgba(245,166,35,0) 28%),
    linear-gradient(180deg,#ffffff 0%,#f7faff 100%);
}
.modules-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.module-card{
  min-height:auto;
  background:#fff;
  border:1px solid rgba(225,231,242,.95);
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 22px 60px rgba(16,24,40,.09);
}
.module-card:hover{
  transform:translateY(-7px);
  box-shadow:0 30px 80px rgba(16,24,40,.14);
}
.module-card:after{display:none;}
.module-image{
  position:relative;
  inset:auto;
  height:245px;
  overflow:hidden;
  background:#07111f;
}
.module-image:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,17,31,0) 35%,rgba(7,17,31,.18) 100%);
  pointer-events:none;
}
.module-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.01);
}
.module-card:hover .module-image img{transform:scale(1.07);}
.module-content{
  position:relative;
  left:auto;right:auto;bottom:auto;
  padding:28px 28px 30px;
  color:#101828;
}
.module-icon{
  margin:0 0 18px;
  width:48px;
  height:48px;
  border-radius:16px;
  background:linear-gradient(135deg,#0b5cff,#173b87);
  box-shadow:0 16px 34px rgba(11,92,255,.22);
}
.module-fleet .module-icon{background:linear-gradient(135deg,#f5a623,#c87d05);box-shadow:0 16px 34px rgba(245,166,35,.22)}
.module-gmao .module-icon{background:linear-gradient(135deg,#07111f,#173b87);box-shadow:0 16px 34px rgba(7,17,31,.20)}
.module-content h3{
  color:#101828;
  font-size:26px;
  line-height:1.08;
  letter-spacing:-.04em;
  margin:0 0 12px;
}
.module-content p{
  color:#667085;
  font-size:15.5px;
  line-height:1.65;
  margin:0 0 20px;
}
.module-content ul{gap:9px;}
.module-content li{
  color:#344054;
  font-size:14px;
  font-weight:800;
}
.module-content li:before{
  background:rgba(11,92,255,.10);
  color:#0b5cff;
}
.module-fleet .module-content li:before{background:rgba(245,166,35,.14);color:#c87d05;}
.module-gmao .module-content li:before{background:rgba(7,17,31,.09);color:#173b87;}
.module-number{display:none!important;}
@media(max-width:1020px){
  .modules-grid{grid-template-columns:1fr;max-width:620px;margin-inline:auto;}
  .module-image{height:280px;}
}

/* V20 — Bloc 03 Solutions : images réalistes + textes séparés, sans bouton "Découvrir le module" */
.solutions-premium{
  padding-top:92px;
  padding-bottom:88px;
  background:
    radial-gradient(circle at 12% 16%,rgba(11,92,255,.06),rgba(11,92,255,0) 30%),
    radial-gradient(circle at 92% 10%,rgba(245,166,35,.08),rgba(245,166,35,0) 28%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.solutions-premium .section-head{max-width:960px;margin-bottom:42px;}
.solutions-premium .section-head h2{font-size:clamp(38px,4vw,64px);letter-spacing:-.065em;}
.solutions-premium .section-head p{max-width:820px;font-size:19px;line-height:1.6;}
.modules-grid-v20{gap:26px;}
.modules-grid-v20 .module-card{
  border-radius:26px;
  background:#fff;
  border:1px solid #e6ebf3;
  box-shadow:0 22px 65px rgba(16,24,40,.10);
  overflow:hidden;
  min-height:auto;
}
.modules-grid-v20 .module-image{height:320px;background:#071b34;}
.modules-grid-v20 .module-image:after{
  background:linear-gradient(180deg,rgba(7,17,31,0) 55%,rgba(7,17,31,.18) 100%);
}
.modules-grid-v20 .module-image img{transform:none;filter:saturate(1.03) contrast(1.02);}
.modules-grid-v20 .module-card:hover .module-image img{transform:scale(1.045);}
.modules-grid-v20 .module-content{
  position:relative;
  display:grid;
  grid-template-columns:68px 1fr;
  gap:18px;
  align-items:start;
  padding:28px 30px 34px;
  min-height:210px;
}
.modules-grid-v20 .module-icon{
  width:58px;
  height:58px;
  border-radius:16px;
  margin:0;
  font-size:28px;
  background:linear-gradient(135deg,#0b5cff,#173b87);
  box-shadow:0 16px 32px rgba(11,92,255,.24);
}
.modules-grid-v20 .module-icon:after{
  content:'';
  display:block;
  position:absolute;
}
.modules-grid-v20 .module-content h3{
  margin:4px 0 13px;
  font-size:26px;
  line-height:1.06;
  color:#071b34;
  letter-spacing:-.045em;
}
.modules-grid-v20 .module-content p{
  margin:0;
  color:#46566f;
  font-size:16px;
  line-height:1.65;
  font-weight:600;
}
.modules-grid-v20 .module-content ul{display:none!important;}
.modules-grid-v20 .module-fleet .module-icon{background:linear-gradient(135deg,#0b5cff,#173b87);box-shadow:0 16px 32px rgba(11,92,255,.24);}
.modules-grid-v20 .module-gmao .module-icon{background:linear-gradient(135deg,#0b5cff,#173b87);box-shadow:0 16px 32px rgba(11,92,255,.24);}
@media(max-width:1180px){.modules-grid-v20 .module-image{height:260px}.modules-grid-v20 .module-content{grid-template-columns:1fr;gap:14px}.modules-grid-v20 .module-content h3{font-size:24px}}
@media(max-width:1020px){.modules-grid-v20{grid-template-columns:1fr;max-width:650px;margin-inline:auto}.modules-grid-v20 .module-image{height:330px}.modules-grid-v20 .module-content{grid-template-columns:68px 1fr}}
@media(max-width:620px){.solutions-premium{padding-top:70px}.modules-grid-v20 .module-image{height:235px}.modules-grid-v20 .module-content{grid-template-columns:1fr;padding:24px}.modules-grid-v20 .module-icon{width:54px;height:54px}}


.video-container{position:relative;width:100%;padding-bottom:56.25%;overflow:hidden;border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}

/* V24 — Ajustement des tailles demandées */
.hero h1{
  font-size:clamp(38px,4.2vw,54px) !important;
  line-height:1.08 !important;
  letter-spacing:-.045em !important;
  max-width:760px !important;
}
#secteurs .section-head{
  max-width:980px !important;
}
#secteurs .section-head h2{
  font-size:clamp(24px,2.4vw,32px) !important;
  line-height:1.32 !important;
  letter-spacing:-.025em !important;
}
.cta-card h2{
  font-size:clamp(26px,3vw,38px) !important;
  line-height:1.24 !important;
  letter-spacing:-.035em !important;
  max-width:760px !important;
}
@media(max-width:920px){
  .hero h1{font-size:36px !important;}
  #secteurs .section-head h2{font-size:23px !important;}
  .cta-card h2{font-size:27px !important;}
}


/* V25 — Bloc 07 Références : logos noir & blanc, sans titres et espaces réduits */
.references-blog{
  display:grid;
  gap:6px;
  margin-top:18px;
}
.reference-category{
  padding:0;
  border-radius:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.reference-title{display:none!important;}
.references-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
}
.reference-card{
  height:108px;
  border-radius:18px;
  background:#fff;
  border:1px solid #e9edf5;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  box-shadow:0 8px 22px rgba(16,24,40,.035);
}
.reference-card img{
  max-width:100%;
  max-height:72px;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:grayscale(100%);
  opacity:.72;
  transition:filter .32s ease, opacity .32s ease, transform .32s ease;
}
.reference-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 42px rgba(16,24,40,.10);
  border-color:#d7e2ff;
}
.reference-card:hover img{
  filter:grayscale(0%);
  opacity:1;
  transform:scale(1.05);
}
@media(max-width:1020px){.references-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.references-grid{grid-template-columns:repeat(2,1fr);gap:8px}.reference-card{height:100px}}
@media(max-width:420px){.references-grid{grid-template-columns:1fr}}


/* V26 - Ajustements Bloc 07 Références */
.references .section-head{margin-bottom:26px;}
.references .section-head h2{font-size:clamp(26px,2.4vw,34px) !important;line-height:1.2;}
.references .section-head p{display:none !important;}

/* V27 — Badge 17 ans discret en bas à droite du Bloc 01 */
.hero-experience-badge{
  position:absolute;
  right:clamp(26px,6vw,92px);
  bottom:clamp(22px,4vw,54px);
  z-index:3;
  width:clamp(118px,11vw,170px);
  height:auto;
  opacity:.96;
  filter:drop-shadow(0 18px 32px rgba(0,0,0,.34));
  transition:transform .28s ease,filter .28s ease,opacity .28s ease;
  pointer-events:auto;
}
.hero-experience-badge:hover{
  transform:translateY(-4px) scale(1.04);
  filter:drop-shadow(0 24px 44px rgba(0,0,0,.42));
  opacity:1;
}

/* V27 — Bloc 02 allégé : l'expérience reste en texte, sans cercle */
.experience-section{
  min-height:auto !important;
  background:linear-gradient(180deg,#fff 0%,#f6f9ff 100%) !important;
  border-top:1px solid rgba(230,234,242,.9);
  border-bottom:1px solid rgba(230,234,242,.9);
}
.experience-bg,
.experience-road,
.experience-medal{
  display:none !important;
}
.experience-inner{
  min-height:auto !important;
  display:block !important;
  padding:54px 0 !important;
  text-align:center;
}
.experience-content{
  max-width:980px !important;
  margin-inline:auto;
  color:#071b34;
}
.experience-content:before{
  content:'Depuis 2009';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
  padding:8px 14px;
  border-radius:999px;
  color:#c79728;
  background:rgba(201,151,40,.10);
  border:1px solid rgba(201,151,40,.18);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.experience-content h2{
  font-size:clamp(32px,3.1vw,46px) !important;
  line-height:1.1 !important;
  margin:0 0 14px !important;
  letter-spacing:-.045em !important;
}
.experience-content h2 span{
  color:#0b5cff !important;
}
.experience-content p{
  max-width:760px !important;
  margin:0 auto !important;
  font-size:17px !important;
  line-height:1.65 !important;
  color:#506078 !important;
}
.experience-separator{
  width:120px !important;
  height:2px !important;
  margin:22px auto !important;
  background:linear-gradient(90deg,rgba(201,151,40,0),#c79728,rgba(201,151,40,0)) !important;
}
.experience-chips{
  display:flex !important;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px;
}
.experience-chip{
  min-width:165px;
  padding:14px 18px;
  border-radius:18px;
  background:#fff;
  border:1px solid #e8edf6;
  box-shadow:0 12px 32px rgba(16,24,40,.06);
  text-align:left;
}
.experience-chip b{
  display:block;
  color:#071b34;
  font-size:14px;
  font-weight:900;
}
.experience-chip small{
  display:block;
  color:#667085;
  margin-top:4px;
  font-size:12px;
  font-weight:700;
}
@media(max-width:920px){
  .hero-experience-badge{width:98px;right:20px;bottom:18px}
  .hero-content{padding-bottom:120px !important;}
}
@media(max-width:560px){
  .hero-experience-badge{width:82px;right:16px;bottom:14px}
  .experience-inner{padding:42px 0 !important;}
  .experience-chips{display:grid !important;grid-template-columns:1fr;max-width:320px;margin-inline:auto;}
  .experience-chip{text-align:center;}
}

/* V28 — Bloc 02 Pourquoi choisir Eurosoft : badge image séparé + textes modifiables */
.why-eurosoft-section{
  padding:54px 0 62px;
  background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%);
  border-top:1px solid rgba(230,234,242,.9);
  border-bottom:1px solid rgba(230,234,242,.9);
  overflow:hidden;
}
.why-eurosoft-card{
  position:relative;
  padding:38px 54px 42px;
  border-radius:30px;
  background:
    radial-gradient(circle at 4% 12%,rgba(11,92,255,.10) 0 2px,transparent 3px) 0 0/28px 28px,
    radial-gradient(circle at 94% 18%,rgba(11,92,255,.05),rgba(11,92,255,0) 25%),
    linear-gradient(135deg,#fff 0%,#fbfdff 56%,#f5f9ff 100%);
  border:1px solid #e8edf6;
  box-shadow:0 28px 86px rgba(16,24,40,.08);
}
.why-eurosoft-card:after{
  content:'';
  position:absolute;
  right:-80px;
  top:54px;
  width:420px;
  height:240px;
  opacity:.28;
  pointer-events:none;
  background:repeating-radial-gradient(ellipse at right top, transparent 0 16px, rgba(11,92,255,.16) 17px 18px, transparent 19px 36px);
  border-radius:50%;
}
.why-top{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:270px 1fr 270px;
  align-items:start;
  gap:24px;
  margin-bottom:24px;
}
.why-badge-wrap{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding-top:0;
}
.why-badge-img{
  width:188px;
  max-width:100%;
  height:auto;
  filter:drop-shadow(0 18px 28px rgba(12,25,46,.18));
}
.why-title-wrap{
  text-align:center;
  padding-top:16px;
}
.why-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  color:#0b5cff;
  font-size:15px;
  font-weight:900;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.why-kicker:before,.why-kicker:after{
  content:'';
  width:54px;
  height:3px;
  border-radius:999px;
  background:#0b5cff;
}
.why-title-wrap h2{
  margin:14px 0 0;
  color:#061a3a;
  font-size:clamp(34px,3.8vw,54px);
  line-height:.9;
  letter-spacing:-.075em;
  font-weight:950;
}
.why-title-wrap h2:after{
  content:'';
  display:block;
  width:70px;
  height:5px;
  border-radius:999px;
  margin:20px auto 0;
  background:#0b5cff;
}
.why-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.why-item{
  min-height:260px;
  padding:30px 24px 28px;
  border-radius:22px;
  background:rgba(255,255,255,.84);
  border:1px solid #e5ebf5;
  box-shadow:0 18px 52px rgba(16,24,40,.06);
  text-align:center;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.why-item:hover{
  transform:translateY(-5px);
  box-shadow:0 26px 70px rgba(16,24,40,.10);
  border-color:#d6e3ff;
}
.why-icon{
  width:82px;
  height:82px;
  margin:0 auto 22px;
  border-radius:50%;
  color:#0b5cff;
  background:linear-gradient(135deg,#eff5ff,#f8fbff);
  display:grid;
  place-items:center;
}
.why-icon svg{width:50px;height:50px;display:block;}
.why-icon-algeria svg{width:54px;height:54px;}
.why-item h3{
  margin:0;
  color:#061a3a;
  font-size:24px;
  line-height:1.15;
  letter-spacing:-.035em;
  font-weight:900;
}
.why-item h3:after{
  content:'';
  display:block;
  width:46px;
  height:3px;
  border-radius:999px;
  margin:14px auto 18px;
  background:#0b5cff;
}
.why-item p{
  margin:0;
  color:#14244a;
  font-size:15.5px;
  line-height:1.62;
  font-weight:500;
}
.why-note{
  position:relative;
  z-index:1;
  margin:30px auto 0;
  max-width:860px;
  display:grid;
  grid-template-columns:72px 1fr;
  gap:22px;
  align-items:center;
  text-align:left;
}
.why-note-icon{
  width:62px;
  height:62px;
  color:#0b5cff;
  display:grid;
  place-items:center;
}
.why-note-icon svg{width:54px;height:54px;}
.why-note p{
  margin:0;
  color:#0b1b3c;
  font-size:19px;
  line-height:1.55;
  font-weight:500;
}
.why-note strong{color:#0b5cff;font-weight:900;}
@media(max-width:1080px){
  .why-eurosoft-card{padding:34px 28px 38px;}
  .why-top{grid-template-columns:210px 1fr;}
  .why-badge-img{width:160px;}
  .why-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:720px){
  .why-eurosoft-section{padding:42px 0;}
  .why-eurosoft-card{padding:28px 18px 30px;border-radius:24px;}
  .why-top{grid-template-columns:1fr;text-align:center;gap:10px;margin-bottom:22px;}
  .why-badge-img{width:132px;}
  .why-title-wrap{padding-top:0;}
  .why-kicker{font-size:12px;letter-spacing:.16em;}
  .why-kicker:before,.why-kicker:after{width:34px;height:2px;}
  .why-title-wrap h2{font-size:48px;}
  .why-grid{grid-template-columns:1fr;gap:14px;}
  .why-item{min-height:auto;padding:24px 18px;}
  .why-note{grid-template-columns:1fr;text-align:center;gap:10px;}
  .why-note-icon{margin:auto;}
  .why-note p{font-size:16px;}
}


/* V29 — corrections demandées */
.hero-experience-badge{display:none !important;}
.why-title-wrap h2{font-size:clamp(34px,3.8vw,54px) !important;letter-spacing:-.055em !important;}
.why-note{display:none !important;}
#solutions .section-label,#plateforme .section-label,#secteurs .section-label,#references .section-label{display:none !important;}
@media(max-width:720px){.why-title-wrap h2{font-size:38px !important;}}

/* V30 — Alignement largeur, espaces réduits et image GMAO professionnelle */
.container{
  width:min(1440px,calc(100% - 64px));
}
.section{
  padding-top:60px !important;
  padding-bottom:60px !important;
}
.why-eurosoft-section{
  padding-top:34px !important;
  padding-bottom:34px !important;
}
.why-eurosoft-card{
  width:100%;
  padding-top:30px !important;
  padding-bottom:32px !important;
}
.solutions-premium{
  padding-top:54px !important;
  padding-bottom:54px !important;
}
.solutions-premium .section-head{
  margin-bottom:28px !important;
}
.modules-grid-v20{
  width:100%;
  gap:22px !important;
}
.modules-grid-v20 .module-image{
  height:285px !important;
}
.modules-grid-v20 .module-gmao .module-image img{
  object-position:center center;
  filter:saturate(1.04) contrast(1.05) brightness(.98);
}
.platform.section{
  padding-top:64px !important;
  padding-bottom:64px !important;
}
#secteurs.section,
.references.section{
  padding-top:54px !important;
  padding-bottom:54px !important;
}
#secteurs .section-head,
.references .section-head{
  margin-bottom:26px !important;
}
.cta{
  padding-top:66px !important;
  padding-bottom:66px !important;
}
.footer{
  padding-top:24px !important;
  padding-bottom:24px !important;
}
@media(max-width:920px){
  .container{width:min(100% - 32px,720px)}
  .section{padding-top:46px !important;padding-bottom:46px !important;}
  .why-eurosoft-section{padding-top:26px !important;padding-bottom:26px !important;}
  .modules-grid-v20 .module-image{height:245px !important;}
}
@media(max-width:560px){
  .container{width:min(100% - 24px,520px)}
  .modules-grid-v20 .module-image{height:210px !important;}
}

/* V31 - Bloc Contact avec Google Maps */
.contact-section{
  padding:54px 0 34px;
  background:linear-gradient(180deg,#ffffff 0%,#f6f9ff 100%);
}
.contact-wrapper{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:34px;
  align-items:stretch;
  padding:32px;
  border-radius:30px;
  background:rgba(255,255,255,.92);
  border:1px solid #e8eef8;
  box-shadow:0 22px 70px rgba(16,24,40,.08);
}
.contact-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#0b5cff;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:13px;
  margin-bottom:14px;
}
.contact-kicker:after{
  content:"";
  width:30px;
  height:2px;
  background:#0b5cff;
  border-radius:999px;
}
.contact-info h2{
  margin:0 0 14px;
  font-size:clamp(30px,3.2vw,46px);
  letter-spacing:-.045em;
  line-height:1.08;
  color:#071a3d;
}
.contact-intro{
  margin:0 0 22px;
  color:#526079;
  font-size:17px;
  line-height:1.6;
  max-width:520px;
}
.contact-cards{
  display:grid;
  gap:14px;
}
.contact-item,.contact-assist{
  display:flex;
  align-items:center;
  gap:16px;
  padding:18px;
  border:1px solid #e8eef8;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 36px rgba(16,24,40,.05);
}
.contact-icon{
  flex:0 0 54px;
  width:54px;
  height:54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#eef5ff;
  color:#0b5cff;
}
.contact-icon svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.contact-item h3,.contact-assist h3{
  margin:0 0 6px;
  font-size:18px;
  color:#071a3d;
}
.contact-item p,.contact-assist p{
  margin:0;
  color:#526079;
  line-height:1.5;
}
.contact-item a{
  color:#0b5cff;
  font-weight:800;
}
.contact-assist{
  background:linear-gradient(135deg,#f3f7ff,#ffffff);
}
.contact-assist .contact-btn{
  margin-left:auto;
  white-space:nowrap;
  padding:12px 18px;
  border-radius:14px;
  background:#0b5cff;
  color:#fff;
  font-weight:900;
  box-shadow:0 14px 28px rgba(11,92,255,.22);
}
.contact-map{
  min-height:560px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid #dfe7f3;
  box-shadow:0 18px 55px rgba(16,24,40,.10);
  background:#eaf1fb;
}
.contact-map iframe{
  width:100%;
  height:100%;
  min-height:560px;
  border:0;
  display:block;
}
@media(max-width:920px){
  .contact-section{padding:38px 0 24px;}
  .contact-wrapper{grid-template-columns:1fr;padding:18px;border-radius:24px;}
  .contact-map,.contact-map iframe{min-height:380px;}
  .contact-assist{align-items:flex-start;flex-wrap:wrap;}
  .contact-assist .contact-btn{margin-left:70px;}
}
@media(max-width:560px){
  .contact-item,.contact-assist{align-items:flex-start;}
  .contact-assist .contact-btn{margin-left:0;width:100%;text-align:center;}
}

/* V32 - Marker ESA personnalisé + références dynamiques Cat01/Cat02/Cat03 */
.references-blog-v32{
  display:block !important;
  margin-top:18px !important;
}
.references-grid-v32{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:8px !important;
}
.references-grid-v32 .reference-card{
  height:104px;
  border-radius:16px;
  padding:14px;
  box-shadow:0 8px 22px rgba(16,24,40,.04);
}
.references-grid-v32 .reference-card img{
  filter:grayscale(100%);
  opacity:.72;
  transition:filter .28s ease, opacity .28s ease, transform .28s ease;
}
.references-grid-v32 .reference-card:hover img{
  filter:grayscale(0%);
  opacity:1;
  transform:scale(1.04);
}
.contact-map-v32{
  position:relative;
}
.contact-map-v32 iframe{
  position:relative;
  z-index:1;
}
.map-marker-esa{
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;
  width:58px;
  height:58px;
  object-fit:contain;
  transform:translate(-50%,-92%);
  filter:drop-shadow(0 10px 18px rgba(7,26,61,.28));
  pointer-events:none;
}
.map-open-link{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  background:#fff;
  color:#0b5cff;
  font-size:13px;
  font-weight:900;
  border:1px solid #dfe7f3;
  box-shadow:0 12px 28px rgba(16,24,40,.12);
}
@media(max-width:1020px){
  .references-grid-v32{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
}
@media(max-width:760px){
  .references-grid-v32{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:7px !important;}
  .references-grid-v32 .reference-card{height:92px;padding:10px;}
  .map-marker-esa{width:48px;height:48px;}
}
@media(max-width:460px){
  .references-grid-v32{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

/* V33 — Bloc Références : tous les logos Cat01/Cat02/Cat03 + défilement horizontal souris */
.references.section.soft{
  padding-top:56px;
  padding-bottom:56px;
}
.references .container{
  width:min(1440px,calc(100% - 40px));
}
.references .section-head{
  margin-bottom:24px;
}
.references .section-head h2{
  font-size:clamp(28px,2.5vw,38px);
  line-height:1.15;
  letter-spacing:-.035em;
}
.references-scroll-shell{
  position:relative;
  width:100%;
  border-radius:26px;
  background:rgba(255,255,255,.88);
  border:1px solid #e7edf6;
  box-shadow:0 24px 70px rgba(16,24,40,.08);
  padding:18px;
  overflow:hidden;
}
.references-scroll-shell:before,
.references-scroll-shell:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:74px;
  z-index:2;
  pointer-events:none;
}
.references-scroll-shell:before{
  left:0;
  background:linear-gradient(90deg,#fff,rgba(255,255,255,0));
}
.references-scroll-shell:after{
  right:0;
  background:linear-gradient(270deg,#fff,rgba(255,255,255,0));
}
.references-scroll{
  display:flex;
  align-items:center;
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
  padding:4px 6px 10px;
  -webkit-overflow-scrolling:touch;
}
.references-scroll::-webkit-scrollbar{height:8px;}
.references-scroll::-webkit-scrollbar-track{background:#eef3fb;border-radius:999px;}
.references-scroll::-webkit-scrollbar-thumb{background:#c7d4ea;border-radius:999px;}
.references-scroll::-webkit-scrollbar-thumb:hover{background:#9fb4d8;}
.reference-card-scroll{
  flex:0 0 172px;
  height:96px;
  scroll-snap-align:start;
  border-radius:18px;
  background:#fff;
  border:1px solid #e6eaf2;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  box-shadow:0 10px 28px rgba(16,24,40,.045);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.reference-card-scroll:hover{
  transform:translateY(-3px);
  border-color:#d6e2f5;
  box-shadow:0 18px 42px rgba(16,24,40,.09);
}
.reference-card-scroll img{
  max-width:100%;
  max-height:66px;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:grayscale(100%);
  opacity:.70;
  transition:filter .28s ease, opacity .28s ease, transform .28s ease;
}
.reference-card-scroll:hover img{
  filter:grayscale(0%);
  opacity:1;
  transform:scale(1.04);
}
.references-blog-v32,
.references-grid-v32{display:none!important;}
@media(max-width:900px){
  .reference-card-scroll{flex-basis:150px;height:88px;padding:12px;}
  .reference-card-scroll img{max-height:58px;}
}
@media(max-width:560px){
  .references .container{width:min(100% - 28px,1440px);}
  .references-scroll-shell{padding:12px;border-radius:22px;}
  .reference-card-scroll{flex-basis:132px;height:80px;}
}

/* V34 — Bloc Références : 4 lignes visibles + défilement vertical animé */
.references.section.soft{
  padding-top:56px !important;
  padding-bottom:56px !important;
}
.references .container{
  width:min(100% - 56px,1440px) !important;
  max-width:1440px !important;
}
.references .section-head{
  margin-bottom:18px !important;
}
.references .section-head h2{
  font-size:clamp(24px,2.1vw,30px) !important;
  line-height:1.18 !important;
}
.references-scroll-shell,
.references-scroll,
.references-blog-v32,
.references-grid-v32{
  display:none !important;
}
.references-vertical-shell{
  position:relative;
  height:392px; /* 4 lignes visibles */
  overflow:hidden;
  border-radius:30px;
  padding:14px;
  background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%);
  border:1px solid rgba(10,44,92,.10);
  box-shadow:0 22px 70px rgba(16,24,40,.08);
}
.references-vertical-shell:before,
.references-vertical-shell:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:62px;
  z-index:5;
  pointer-events:none;
}
.references-vertical-shell:before{
  top:0;
  background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,0) 100%);
}
.references-vertical-shell:after{
  bottom:0;
  background:linear-gradient(0deg,#f7faff 0%,rgba(247,250,255,0) 100%);
}
.references-vertical-track{
  display:flex;
  flex-direction:column;
  gap:10px;
  animation:referencesVerticalScroll 34s linear infinite;
  will-change:transform;
}
.references-vertical-shell:hover .references-vertical-track{
  animation-play-state:paused;
}
.references-vertical-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
}
.reference-card-vertical{
  height:82px !important;
  border-radius:20px !important;
  padding:12px 18px !important;
  background:#fff !important;
  border:1px solid rgba(10,44,92,.09) !important;
  box-shadow:0 8px 24px rgba(16,24,40,.045) !important;
}
.reference-card-vertical img{
  max-height:54px !important;
  max-width:100% !important;
  object-fit:contain !important;
  filter:grayscale(100%) saturate(0%) contrast(1.05) !important;
  opacity:.72 !important;
  transition:filter .28s ease,opacity .28s ease,transform .28s ease !important;
}
.reference-card-vertical:hover img{
  filter:grayscale(0%) saturate(100%) !important;
  opacity:1 !important;
  transform:scale(1.05) !important;
}
@keyframes referencesVerticalScroll{
  0%{transform:translateY(0)}
  100%{transform:translateY(-50%)}
}
@media(max-width:1100px){
  .references-vertical-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .references-vertical-shell{height:392px;}
}
@media(max-width:760px){
  .references .container{width:min(100% - 28px,1440px) !important;}
  .references-vertical-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .references-vertical-shell{height:368px;border-radius:24px;padding:10px;}
  .reference-card-vertical{height:78px !important;padding:10px 12px !important;}
}

/* V35 — Bloc 07 Références : ascenseur vertical + boutons haut/bas */
.references-control-panel{
  position:relative;
  width:100%;
}
.references-nav-buttons{
  position:absolute;
  right:18px;
  top:18px;
  z-index:12;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.reference-scroll-btn{
  width:42px;
  height:42px;
  border:0;
  border-radius:14px;
  cursor:pointer;
  display:grid;
  place-items:center;
  font-size:20px;
  font-weight:900;
  color:#0b2b62;
  background:rgba(255,255,255,.94);
  box-shadow:0 10px 28px rgba(16,24,40,.14);
  transition:transform .22s ease, background .22s ease, color .22s ease;
}
.reference-scroll-btn:hover{
  transform:translateY(-2px);
  background:#0b5cff;
  color:#fff;
}
.references-vertical-shell{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scroll-behavior:smooth;
  padding-right:18px !important;
}
.references-vertical-shell:before,
.references-vertical-shell:after{
  display:none !important;
}
.references-vertical-track{
  animation:none !important;
  transform:none !important;
  will-change:auto !important;
}
.references-vertical-shell::-webkit-scrollbar{
  width:10px;
}
.references-vertical-shell::-webkit-scrollbar-track{
  background:#edf3fb;
  border-radius:999px;
}
.references-vertical-shell::-webkit-scrollbar-thumb{
  background:#b8c8e4;
  border-radius:999px;
  border:2px solid #edf3fb;
}
.references-vertical-shell::-webkit-scrollbar-thumb:hover{
  background:#87a0cc;
}
.references-vertical-shell{
  scrollbar-width:thin;
  scrollbar-color:#b8c8e4 #edf3fb;
}
@media(max-width:760px){
  .references-nav-buttons{right:12px;top:12px;gap:6px;}
  .reference-scroll-btn{width:36px;height:36px;border-radius:12px;font-size:18px;}
  .references-vertical-shell{padding-right:14px !important;}
}

/* V36 — Références : défilement automatique vertical avec ascenseur, sans boutons */
.references-control-panel{
  position:relative;
  width:100%;
}
.references-nav-buttons,
.reference-scroll-btn{
  display:none !important;
}
.references-vertical-shell{
  height:390px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scroll-behavior:smooth;
  padding:14px 18px 14px 14px !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(10,44,92,.08) !important;
  box-shadow:0 20px 60px rgba(16,24,40,.07) !important;
  scrollbar-width:thin;
  scrollbar-color:#b8c8e4 #edf3fb;
}
.references-vertical-shell:before,
.references-vertical-shell:after{
  display:none !important;
}
.references-vertical-track{
  animation:none !important;
  transform:none !important;
  will-change:auto !important;
}
.references-vertical-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:10px !important;
}
.references-vertical-shell::-webkit-scrollbar{width:10px;}
.references-vertical-shell::-webkit-scrollbar-track{background:#edf3fb;border-radius:999px;}
.references-vertical-shell::-webkit-scrollbar-thumb{background:#b8c8e4;border-radius:999px;border:2px solid #edf3fb;}
.references-vertical-shell::-webkit-scrollbar-thumb:hover{background:#87a0cc;}
.references-vertical-shell:hover .references-vertical-track{
  animation:none !important;
}
.reference-card-vertical{
  height:82px !important;
}

/* V36 — Bloc Nous envoyer un message */
.message-section{
  padding:54px 0 70px;
  background:linear-gradient(180deg,#ffffff 0%,#f6f8fc 100%);
}
.message-wrapper{
  width:min(1440px,calc(100% - 40px));
  margin-inline:auto;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:34px;
  align-items:start;
  padding:34px;
  border-radius:34px;
  background:#fff;
  border:1px solid rgba(10,44,92,.08);
  box-shadow:0 24px 70px rgba(16,24,40,.08);
}
.message-kicker{
  display:inline-flex;
  width:max-content;
  padding:9px 13px;
  border-radius:999px;
  background:#edf3ff;
  color:#0b5cff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.message-copy h2{
  margin:18px 0 14px;
  font-size:clamp(28px,3vw,44px);
  line-height:1.06;
  letter-spacing:-.045em;
  color:#101828;
}
.message-copy p{
  margin:0;
  max-width:520px;
  font-size:17px;
  line-height:1.72;
  color:#667085;
}
.message-form{
  display:grid;
  gap:18px;
}
.form-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.message-form label{
  display:grid;
  gap:8px;
  font-weight:800;
  color:#1d2939;
  font-size:14px;
}
.message-form input,
.message-form textarea{
  width:100%;
  border:1px solid #dbe3f0;
  border-radius:16px;
  padding:15px 16px;
  font:inherit;
  color:#101828;
  background:#f9fbff;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.message-form input:focus,
.message-form textarea:focus{
  border-color:#0b5cff;
  background:#fff;
  box-shadow:0 0 0 4px rgba(11,92,255,.11);
}
.message-form textarea{
  resize:vertical;
  min-height:150px;
}
.message-submit{
  justify-self:start;
  border:0;
  cursor:pointer;
}
.form-alert{
  padding:14px 16px;
  border-radius:16px;
  font-weight:800;
  line-height:1.45;
}
.form-success{
  background:#ecfdf3;
  color:#067647;
  border:1px solid #abefc6;
}
.form-error{
  background:#fff1f3;
  color:#c01048;
  border:1px solid #fecdd6;
}
@media(max-width:920px){
  .references-vertical-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .references-vertical-shell{height:368px !important;}
  .message-wrapper{grid-template-columns:1fr;padding:24px;border-radius:26px;}
  .form-grid{grid-template-columns:1fr;}
}
@media(max-width:520px){
  .references-vertical-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .references-vertical-shell{height:350px !important;padding:10px 14px 10px 10px !important;}
  .message-section{padding:38px 0 50px;}
  .message-wrapper{width:min(100% - 28px,1440px);padding:18px;}
}


/* V37 — Contact Maps + Références */
.map-open-link{display:none !important;}
.map-marker-esa{width:32px !important;height:32px !important;transform:translate(-50%,-88%) !important;}
@media(max-width:560px){.map-marker-esa{width:28px !important;height:28px !important;}}
.references-vertical-shell{overflow-y:auto !important;scroll-behavior:smooth !important;}
.references-vertical-track{animation:none !important;transform:none !important;}


/* V38 — Références plus rapides + carte centrée sans marqueur Google */
.references-vertical-shell{overflow-y:auto !important;}
.map-marker-esa{width:32px !important;height:32px !important;}

/* V39 — Références : cartes logos agrandies x1.5 */
.reference-card-vertical{
  height:123px !important;
  min-height:123px !important;
  padding:18px 22px !important;
  border-radius:22px !important;
}
.reference-card-vertical img{
  max-height:81px !important;
}
@media(max-width:760px){
  .reference-card-vertical{
    height:117px !important;
    min-height:117px !important;
    padding:15px 16px !important;
  }
  .reference-card-vertical img{max-height:76px !important;}
}
@media(max-width:520px){
  .reference-card-vertical{
    height:112px !important;
    min-height:112px !important;
    padding:14px !important;
  }
  .reference-card-vertical img{max-height:72px !important;}
}


/* V40 — Sous-menu Accès Client */
.client-dropdown{
  position:relative;
  display:flex;
  align-items:center;
}
.client-dropdown-toggle{
  border:0;
  cursor:pointer;
  font:inherit;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.client-dropdown-toggle:after{
  content:'▾';
  font-size:12px;
  line-height:1;
  opacity:.85;
}
.client-dropdown-menu{
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  min-width:230px;
  padding:10px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(230,234,242,.95);
  box-shadow:0 24px 70px rgba(16,24,40,.16);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
  z-index:1000;
}
.client-dropdown:hover .client-dropdown-menu,
.client-dropdown:focus-within .client-dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.client-dropdown-menu a{
  display:flex;
  align-items:center;
  padding:13px 14px;
  border-radius:12px;
  color:#17233d!important;
  font-size:14px;
  font-weight:800;
  opacity:1!important;
  white-space:nowrap;
}
.client-dropdown-menu a:hover{
  background:#f2f6ff;
  color:#0b5cff!important;
}
@media(max-width:920px){
  .client-dropdown{width:100%;display:block}
  .client-dropdown-toggle{width:100%;justify-content:center}
  .client-dropdown-menu{
    position:static;
    visibility:visible;
    opacity:1;
    transform:none;
    display:none;
    margin-top:10px;
    width:100%;
    box-shadow:none;
    border-radius:16px;
    background:#f7f9ff;
  }
  .client-dropdown:hover .client-dropdown-menu,
  .client-dropdown:focus-within .client-dropdown-menu{
    display:block;
  }
}


/* V43 corrigée — modifications minimales validées
   1) Le slider est réglé dans script.js à 7000 ms.
   2) Espaces verticaux légèrement réduits sans casser la mise en page. */
.section{
  padding-top:72px !important;
  padding-bottom:72px !important;
}
.section-head{
  margin-bottom:34px !important;
}
.solutions-premium{
  padding-top:74px !important;
  padding-bottom:74px !important;
}
.why-eurosoft-section{
  padding-top:34px !important;
  padding-bottom:34px !important;
}
.contact-section{
  padding-top:44px !important;
  padding-bottom:30px !important;
}
.message-section{
  padding-top:44px !important;
  padding-bottom:54px !important;
}
.cta{
  padding-top:68px !important;
  padding-bottom:68px !important;
}
.footer{
  padding-top:24px !important;
  padding-bottom:24px !important;
}
@media(max-width:920px){
  .section{
    padding-top:54px !important;
    padding-bottom:54px !important;
  }
  .section-head{
    margin-bottom:26px !important;
  }
  .why-eurosoft-section,
  .contact-section,
  .message-section{
    padding-top:34px !important;
    padding-bottom:34px !important;
  }
}


/* V47 — CORRECTION RÉELLE DEMANDÉE
   01) Le clic sur le bloc image/hero arrête l'automatique et passe en défilement manuel.
   02) Suppression de l'espace entre Bloc01 (.hero) et Bloc02 (.why-eurosoft-section). */
.hero{
  margin-bottom:0 !important;
  cursor:pointer;
}
.hero-slider,
.hero-slider img{
  cursor:pointer;
}
.hero-overlay{
  pointer-events:none !important;
}
.hero-content{
  pointer-events:auto;
}
.hero-actions,
.hero-actions a,
.site-header,
.site-header *{
  cursor:auto;
}
.why-eurosoft-section{
  margin-top:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
}
.why-eurosoft-section > .container{
  margin-top:0 !important;
  padding-top:0 !important;
}
.why-eurosoft-card{
  margin-top:0 !important;
}
main > .hero + .why-eurosoft-section{
  margin-top:0 !important;
  padding-top:0 !important;
}
@media(max-width:920px){
  .why-eurosoft-section{
    padding-top:0 !important;
  }
}


/* V48 — CORRECTION FINALE : supprimer l'espace Bloc01 → Bloc02 */
.hero{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  border-bottom:0 !important;
}
.hero + .why-eurosoft-section,
.why-eurosoft-section{
  margin-top:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
}
.hero + .why-eurosoft-section > .container,
.why-eurosoft-section > .container{
  margin-top:0 !important;
  padding-top:0 !important;
}
.why-eurosoft-card{
  margin-top:0 !important;
  border-top-left-radius:0 !important;
  border-top-right-radius:0 !important;
}
@media(max-width:920px){
  .hero + .why-eurosoft-section,
  .why-eurosoft-section{
    padding-top:0 !important;
  }
}

/* V48 — clic image/hero : arrêt automatique puis slides uniquement au clic */
.hero,
.hero-media,
.hero-slider,
.hero-slider img{
  cursor:pointer !important;
}
.hero-overlay{
  pointer-events:none !important;
}


/* V49 — Demandes finales : pas d'espace Bloc01 → Bloc02 + carte Google sans message de zoom */
.hero{margin-bottom:0!important;}
.why-eurosoft-section{margin-top:0!important;padding-top:0!important;border-top:0!important;}
.hero + .why-eurosoft-section{margin-top:0!important;}
.hero + .why-eurosoft-section .why-eurosoft-card{margin-top:0!important;}
.contact-map iframe,
.contact-map-v32 iframe{pointer-events:none!important;}
.contact-map:after,
.contact-map-v32:after{content:'';position:absolute;inset:0;z-index:3;background:transparent;pointer-events:auto;}
.hero-actions .btn-ghost{display:none!important;}


/* V50 — Corrections demandées : carte d’Algérie + Google Maps sans message de zoom */
.why-icon-algeria svg.algeria-map-icon{
  width:44px;
  height:44px;
  display:block;
}
.why-icon-algeria .algeria-map-shape{
  color:#0b5cff;
  filter:drop-shadow(0 8px 14px rgba(11,92,255,.22));
}
.why-icon-algeria .algeria-map-line{
  opacity:.75;
}
.contact-map,
.contact-map-v32{
  position:relative !important;
  overflow:hidden !important;
}
.contact-map iframe,
.contact-map-v32 iframe{
  pointer-events:none !important;
}
.contact-map::after,
.contact-map-v32::after{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  z-index:20 !important;
  display:block !important;
  background:transparent !important;
  pointer-events:auto !important;
}
.contact-map .map-marker-esa,
.contact-map-v32 .map-marker-esa{
  z-index:25 !important;
  pointer-events:none !important;
}


/* V51 — Google Maps interactive : suppression du calque qui bloquait la carte */
.contact-map,
.contact-map-v32{
  position:relative !important;
}
.contact-map iframe,
.contact-map-v32 iframe{
  pointer-events:auto !important;
  position:relative !important;
  z-index:1 !important;
}
.contact-map::before,
.contact-map::after,
.contact-map-v32::before,
.contact-map-v32::after{
  display:none !important;
  content:none !important;
  pointer-events:none !important;
}
.contact-map .map-marker-esa,
.contact-map-v32 .map-marker-esa{
  pointer-events:none !important;
  z-index:2 !important;
}


/* V55 — Carte Google : marker ESA original visible, marker Google uniquement au clic externe */
.contact-map,
.contact-map-v32{
  position:relative !important;
  overflow:hidden !important;
}
.contact-map iframe,
.contact-map-v32 iframe{
  pointer-events:auto !important;
  position:relative !important;
  z-index:1 !important;
}
.contact-map::before,
.contact-map::after,
.contact-map-v32::before,
.contact-map-v32::after{
  display:none !important;
  content:none !important;
  pointer-events:none !important;
}
.contact-map .map-marker-esa,
.contact-map-v32 .map-marker-esa{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  z-index:4 !important;
  width:58px !important;
  height:58px !important;
  object-fit:contain !important;
  transform:translate(-50%,-92%) !important;
  pointer-events:none !important;
  filter:drop-shadow(0 10px 18px rgba(7,26,61,.28)) !important;
}
.map-open-link{
  display:inline-flex !important;
  position:absolute !important;
  left:18px !important;
  bottom:18px !important;
  z-index:5 !important;
  align-items:center !important;
  justify-content:center !important;
  padding:11px 16px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#0b5cff !important;
  font-size:13px !important;
  font-weight:900 !important;
  border:1px solid #dfe7f3 !important;
  box-shadow:0 12px 28px rgba(16,24,40,.16) !important;
  text-decoration:none !important;
}
.map-open-link:hover{
  background:#f2f6ff !important;
  color:#073fb2 !important;
}
@media(max-width:560px){
  .contact-map .map-marker-esa,
  .contact-map-v32 .map-marker-esa{
    width:46px !important;
    height:46px !important;
  }
  .map-open-link{
    left:12px !important;
    bottom:12px !important;
    font-size:12px !important;
    padding:10px 13px !important;
  }
}

/* V57 — Google Maps : un seul bouton visible en haut, le bouton Google natif est masqué */
.contact-map,
.contact-map-v32{
  position:relative !important;
  overflow:hidden !important;
}
.contact-map iframe,
.contact-map-v32 iframe{
  pointer-events:auto !important;
  position:relative !important;
  z-index:1 !important;
}
.contact-map::before,
.contact-map::after,
.contact-map-v32::before,
.contact-map-v32::after{
  display:none !important;
  content:none !important;
}
.contact-map .map-marker-esa,
.contact-map-v32 .map-marker-esa{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  z-index:8 !important;
  width:58px !important;
  height:58px !important;
  object-fit:contain !important;
  transform:translate(-50%,-92%) !important;
  pointer-events:none !important;
  filter:drop-shadow(0 10px 18px rgba(7,26,61,.28)) !important;
}
/* Cache le bouton Google Maps natif en haut à gauche de l'iframe */
.contact-map .google-native-button-cover,
.contact-map-v32 .google-native-button-cover{
  display:block !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:430px !important;
  height:102px !important;
  z-index:40 !important;
  pointer-events:none !important;
  background:linear-gradient(135deg,#9ee0ec 0%,#8bd8e8 100%) !important;
  border-radius:28px 0 34px 0 !important;
}
.map-open-link{
  display:inline-flex !important;
  position:absolute !important;
  left:28px !important;
  top:24px !important;
  bottom:auto !important;
  z-index:60 !important;
  align-items:center !important;
  justify-content:center !important;
  padding:15px 28px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#0b5cff !important;
  font-size:19px !important;
  line-height:1 !important;
  font-weight:950 !important;
  border:1px solid #dfe7f3 !important;
  box-shadow:0 12px 28px rgba(16,24,40,.18) !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
.map-open-link:hover{
  background:#f2f6ff !important;
  color:#073fb2 !important;
}
@media(max-width:560px){
  .contact-map .google-native-button-cover,
  .contact-map-v32 .google-native-button-cover{
    width:320px !important;
    height:82px !important;
  }
  .map-open-link{
    left:16px !important;
    top:16px !important;
    font-size:14px !important;
    padding:12px 18px !important;
  }
  .contact-map .map-marker-esa,
  .contact-map-v32 .map-marker-esa{
    width:46px !important;
    height:46px !important;
  }
}

/* V60 — Menu langue replié : une seule icône au chargement, options verticales au clic */
.lang-menu,
.lang-menu-vertical{
  position:relative;
  display:inline-flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  gap:0;
  padding:0;
  border-radius:18px;
  background:transparent;
  border:0;
  box-shadow:none;
  z-index:80;
}
.lang-options{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  display:none;
  flex-direction:column;
  gap:4px;
  padding:6px;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(11,92,255,.13);
  box-shadow:0 18px 42px rgba(16,24,40,.16);
  backdrop-filter:blur(14px);
}
.lang-menu.open .lang-options{display:flex;}
.lang-btn{
  border:0;
  cursor:pointer;
  width:76px;
  min-height:34px;
  padding:6px 9px;
  border-radius:14px;
  background:rgba(255,255,255,.82);
  color:#173b87;
  font-size:12px;
  font-weight:950;
  font-family:inherit;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  line-height:1;
  transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.lang-current{
  background:#0b5cff;
  color:#fff;
  box-shadow:0 10px 22px rgba(11,92,255,.24);
}
.lang-flag{
  font-size:16px;
  line-height:1;
  display:inline-flex;
  width:20px;
  justify-content:center;
}
.lang-code{
  display:inline-block;
  min-width:18px;
  text-align:left;
}
.lang-options .lang-btn:hover{
  transform:translateX(2px);
  background:rgba(11,92,255,.11);
}
.lang-options .lang-btn.active{
  background:#0b5cff;
  color:#fff;
  box-shadow:0 8px 18px rgba(11,92,255,.22);
}
@media(max-width:920px){
  .lang-menu,
  .lang-menu-vertical{
    width:auto;
    align-self:flex-start;
    order:10;
  }
  .lang-options{position:static;margin-top:6px;}
  .lang-menu:not(.open) .lang-options{display:none;}
  .lang-btn{width:86px;max-width:none;}
}
body.rtl{font-family:Inter,Arial,sans-serif;direction:rtl;text-align:right}
body.rtl .nav,
body.rtl .hero-actions,
body.rtl .why-top,
body.rtl .contact-item,
body.rtl .contact-assist,
body.rtl .footer-inner{direction:rtl}
body.rtl .hero-content{justify-content:flex-start}
body.rtl .hero h1,
body.rtl .hero p,
body.rtl .platform-copy,
body.rtl .contact-info,
body.rtl .message-copy{text-align:right}
body.rtl .checks li{padding-left:0;padding-right:34px}
body.rtl .checks li:before{left:auto;right:0}
body.rtl .module-content{direction:rtl;text-align:right}
@media(max-width:920px){
  .lang-menu,
  .lang-menu-vertical{
    width:auto;
    align-self:flex-start;
    order:10;
  }
  .lang-btn{
    width:82px;
    max-width:none;
  }
}


/* V62 — Footer liens utiles + langue FR par défaut */
.footer-inner-v62{
  align-items:flex-start;
}
.footer-left{
  display:flex;
  align-items:flex-start;
  gap:22px;
  flex-wrap:wrap;
}
.footer-quick-links{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:180px;
  text-align:left;
}
.footer-quick-links a{
  color:#0b5cff;
  font-weight:900;
  font-size:14px;
  line-height:1.25;
}
.footer-quick-links a:hover{
  text-decoration:underline;
}
@media(max-width:720px){
  .footer-inner-v62{align-items:center;}
  .footer-left{justify-content:center;text-align:center;}
  .footer-quick-links{text-align:center;align-items:center;}
}


/* V63 — Liens footer en ligne + bouton retour en haut */
.footer-inner-v62{
  align-items:center !important;
}
.footer-left{
  display:flex !important;
  align-items:center !important;
  gap:28px !important;
  flex-wrap:wrap !important;
}
.footer-quick-links{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:26px !important;
  min-width:0 !important;
  text-align:left !important;
  flex-wrap:wrap !important;
}
.footer-quick-links a{
  white-space:nowrap !important;
}


@media(max-width:720px){
  .footer-left{
    justify-content:center !important;
    gap:16px !important;
  }
  .footer-quick-links{
    justify-content:center !important;
    gap:14px 20px !important;
  }
  
}


/* V64 — Correction forcée footer + retour haut (anti-cache) */
.footer{
  padding:28px 0 !important;
}
.footer-inner,
.footer-inner-v62{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  flex-wrap:wrap !important;
}
.footer-left{
  display:flex !important;
  align-items:center !important;
  gap:30px !important;
  flex-wrap:wrap !important;
  min-width:0 !important;
}
.footer-left img{
  flex:0 0 auto !important;
}
.footer-quick-links{
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:0 !important;
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
}
.footer-quick-links a{
  display:inline-flex !important;
  align-items:center !important;
  color:#0b5cff !important;
  font-weight:900 !important;
  font-size:14px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.footer-quick-links a + a{
  margin-left:32px !important;
}


@media(max-width:900px){
  .footer-inner,.footer-inner-v62{justify-content:center !important;text-align:center !important;}
  .footer-left{justify-content:center !important;}
  .footer-quick-links{flex-wrap:wrap !important;justify-content:center !important;gap:14px 24px !important;}
  .footer-quick-links a + a{margin-left:0 !important;}
}

/* V67 — Correction Bloc01 en langue arabe : garder le contenu à gauche */
html[lang="ar"] .hero,
body.rtl .hero{
  direction:ltr !important;
}
html[lang="ar"] .hero-content,
body.rtl .hero-content{
  direction:ltr !important;
  justify-content:flex-start !important;
  align-items:center !important;
}
html[lang="ar"] .hero-text,
body.rtl .hero-text{
  direction:ltr !important;
  text-align:left !important;
  margin-left:0 !important;
  margin-right:auto !important;
  max-width:760px !important;
}
html[lang="ar"] .hero h1,
html[lang="ar"] .hero p,
body.rtl .hero h1,
body.rtl .hero p{
  direction:rtl !important;
  text-align:left !important;
  margin-left:0 !important;
  margin-right:auto !important;
}
html[lang="ar"] .hero-actions,
body.rtl .hero-actions{
  direction:ltr !important;
  justify-content:flex-start !important;
}
