.elementor-1011 .elementor-element.elementor-element-93658c6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;overflow:visible;}/* Start custom CSS for html, class: .elementor-element-fcb5e14 */:root{
  --esco-primaire:#41246d;   /* Titre / label */
  --esco-accent:#F0F0F0;     /* Accent / CTA */
  --esco-bg:#f7f7fb;         /* Fond bloc */
  --esco-card:#ffffff;       /* Fond carte */
  --esco-text:#2c2c34;       /* Texte principal */
  --esco-mute:#666a75;       /* Texte secondaire */
  --esco-line:#dcddea;       /* Ligne/contours */
}

.parcours-esco{
  background:var(--esco-bg);
  padding:48px 20px;
  border-radius:16px;
  font-family:'Mulish', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}
.parcours-esco .container{max-width:1100px;margin:0 auto;}
.parcours-esco h2{
  text-align:center;color:var(--esco-primaire);font-size:28px;line-height:1.25;margin:0 0 8px;
}
.parcours-esco .intro{
  text-align:center;color:var(--esco-mute);max-width:820px;margin:0 auto 28px;font-size:16px;
}

/* Timeline verticale */
.timeline{
  list-style:none;padding:0;margin:0;position:relative;
}
.step{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 48px; /* carte + colonne flèche */
  gap:16px;
  align-items:center;
  margin-bottom:22px;
}
.step:last-child{margin-bottom:0;}
.step .arrow{
  width:48px;height:72px;color:var(--esco-line);display:flex;align-items:center;justify-content:center;
}
.step .arrow svg{width:22px;height:60px;}

/* Carte */
.card{
  background:var(--esco-card);
  border:1px solid var(--esco-line);
  border-radius:14px;
  padding:22px 22px 20px;
  box-shadow:0 6px 14px rgba(0,0,0,.06);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.card:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 26px rgba(0,0,0,.10);
  border-color:#cfd1e4;
}
.badge{
  display:inline-block;
  background:#f1ecfa;
  color:var(--esco-primaire);
  border:1px solid #e1def3;
  border-radius:999px;
  padding:6px 12px;
  font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;margin-bottom:10px;
}
.badge-mid{background:#ffeef6;border-color:#ffd7e9;color:#cc1c6a;}
.badge-top{background:#e9fbf2;border-color:#c9f2dd;color:#0e8a4b;}

.card-title{
  font-size:22px;line-height:1.25;margin:4px 0 8px;color:var(--esco-primaire);
}
.card-desc{
  color:var(--esco-text);font-size:15px;line-height:1.6;margin:0 0 10px;
}
.bullets{
  padding-left:18px;margin:0 0 14px;color:var(--esco-mute);font-size:15px;line-height:1.55;
}
.bullets li{margin-bottom:6px;}
.cta{
  display:inline-block;
  background:var(--esco-accent);color:#fff;
  padding:10px 14px;border-radius:10px;font-weight:700;font-size:14px;text-decoration:none;
  transition:filter .15s ease, transform .15s ease;
}
.cta:hover{filter:brightness(0.95);transform:translateY(-1px);}

/* Responsive */
@media (max-width: 900px){
  .step{grid-template-columns:1fr;gap:10px;}
  .step .arrow{height:24px;}
  .step .arrow svg{height:22px;transform:rotate(90deg);} /* flèche horizontale courte entre cartes */
}
@media (max-width: 560px){
  .parcours-esco h2{font-size:24px;}
  .card-title{font-size:20px;}
  .card{padding:18px;}
}/* End custom CSS */