@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap');

*{box-sizing:border-box}
html,body{margin:0;width:100%;min-width:0}
body{font-family:'Montserrat',sans-serif;color:#0b0b12;background:#fff;overflow-x:hidden}
button,input,select,textarea{font-family:'Montserrat',sans-serif}

.w-parcours{
  --pink:#f40078;
  --ink:#0a0a11;
  --muted:#667080;
  position:relative;
  width:100%;
  height:100vh;
  min-height:100vh;
  max-height:100vh;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#fbfaf8 0%,#fff 100%);
}

.w-parcours__halo{
  position:absolute;
  width:460px;
  height:460px;
  border-radius:50%;
  right:-95px;
  top:-235px;
  background:radial-gradient(circle,rgba(237,229,222,.9) 0 43%,rgba(248,245,241,.75) 44% 64%,transparent 65%);
  pointer-events:none;
}

.w-container{
  position:relative;
  z-index:1;
  width:min(1180px,calc(100% - 64px));
  margin:0 auto;
}

.w-parcours__header{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);
  gap:56px;
  align-items:end;
  margin-bottom:36px;
}

.w-eyebrow{
  margin:0 0 12px;
  color:var(--pink);
  font-size:13px;
  font-weight:800;
  letter-spacing:.055em;
}

.w-parcours h2{
  margin:0;
  max-width:690px;
  font-size:clamp(38px,3.5vw,54px);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:900;
}

.w-parcours h2 span{color:var(--pink)}

.w-lead{
  margin:0 0 4px;
  max-width:430px;
  color:#5d6776;
  font-size:15px;
  line-height:1.5;
}

.w-flow{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.w-stage{
  position:relative;
  min-width:0;
  border:1px solid #ece9e6;
  border-radius:18px;
  background:rgba(255,255,255,.94);
  padding:22px 24px 21px;
  box-shadow:0 12px 32px rgba(28,24,25,.04);
}

.w-stage__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:24px;
  margin-bottom:14px;
}

.w-stage__number{
  font-size:13px;
  font-weight:800;
}

.w-stage__arrow{
  position:absolute;
  right:-28px;
  top:20px;
  z-index:2;
  color:var(--pink);
  font-size:24px;
  line-height:1;
}

.w-stage__icon{
  width:56px;
  height:56px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin-bottom:14px;
}

.w-stage__icon svg{
  width:29px;
  height:29px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.w-stage--pink .w-stage__icon{background:#ffe0ec;color:#e4006d}
.w-stage--blue .w-stage__icon{background:#e6f1ff;color:#0874c9}
.w-stage--green .w-stage__icon{background:#ddf6ee;color:#009d78}

.w-stage h3{
  margin:0 0 8px;
  font-size:21px;
  line-height:1.1;
  font-weight:800;
}

.w-stage p{
  margin:0 0 15px;
  max-width:310px;
  min-height:44px;
  color:#626c7a;
  font-size:14px;
  line-height:1.42;
}

.w-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.w-tags span{
  padding:6px 10px;
  border-radius:999px;
  background:#f4f4f4;
  font-size:11px;
  line-height:1;
  font-weight:500;
  white-space:nowrap;
}

.w-parcours__footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid #e8e5e2;
}

.w-data-note{
  display:flex;
  align-items:center;
  gap:12px;
}

.w-data-note__icon{
  width:40px;
  height:40px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#ffe2ed;
  color:var(--pink);
  flex:0 0 auto;
}

.w-data-note__icon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.4;
}

.w-data-note div{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.w-data-note strong{font-size:14px}
.w-data-note span{font-size:12px;color:#6b7481}

.w-parcours__link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--ink);
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}

.w-parcours__link span{
  color:var(--pink);
  font-size:19px;
  transition:transform .2s ease;
}

.w-parcours__link:hover span{transform:translateX(4px)}

@media(max-width:1100px){
  .w-container{width:min(920px,calc(100% - 48px))}
  .w-parcours__header{grid-template-columns:1fr;gap:14px;margin-bottom:28px}
  .w-lead{max-width:700px}
  .w-flow{gap:14px}
  .w-stage{padding:20px 18px}
  .w-stage__arrow{right:-23px}
  .w-stage p{min-height:58px}
}

@media(max-width:820px){
  .w-parcours{
    height:100vh;
    min-height:100vh;
  }
  .w-container{
    width:min(680px,calc(100% - 36px));
  }
  .w-parcours__header{
    gap:10px;
    margin-bottom:20px;
  }
  .w-parcours h2{
    font-size:clamp(32px,6vw,42px);
  }
  .w-lead{
    font-size:14px;
  }
  .w-flow{
    grid-template-columns:1fr;
    gap:10px;
  }
  .w-stage{
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    column-gap:14px;
    padding:14px 16px;
    border-radius:15px;
  }
  .w-stage__top{
    grid-column:1/-1;
    height:auto;
    margin:0 0 4px;
  }
  .w-stage__arrow{display:none}
  .w-stage__icon{
    grid-column:1;
    grid-row:2/5;
    width:48px;
    height:48px;
    margin:0;
  }
  .w-stage__icon svg{width:25px;height:25px}
  .w-stage h3,.w-stage p,.w-tags{grid-column:2}
  .w-stage h3{margin:1px 0 4px;font-size:18px}
  .w-stage p{min-height:0;max-width:none;margin:0 0 8px;font-size:12.5px;line-height:1.35}
  .w-tags span{font-size:10px;padding:5px 8px}
  .w-parcours__footer{margin-top:14px;padding-top:13px}
}

@media(max-width:560px){
  .w-container{width:calc(100% - 28px)}
  .w-parcours__halo{width:300px;height:300px;right:-155px;top:-150px}
  .w-eyebrow{font-size:11px;margin-bottom:8px}
  .w-parcours h2{font-size:30px;line-height:1.02}
  .w-lead{font-size:12.5px;line-height:1.4}
  .w-parcours__header{margin-bottom:15px}
  .w-flow{gap:8px}
  .w-stage{grid-template-columns:44px minmax(0,1fr);column-gap:11px;padding:11px 12px}
  .w-stage__top{margin-bottom:2px}
  .w-stage__number{font-size:11px}
  .w-stage__icon{width:42px;height:42px}
  .w-stage__icon svg{width:22px;height:22px}
  .w-stage h3{font-size:16px}
  .w-stage p{font-size:11.5px;margin-bottom:6px}
  .w-tags{gap:4px}
  .w-tags span{font-size:9px;padding:4px 7px}
  .w-parcours__footer{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
    margin-top:11px;
    padding-top:10px;
  }
  .w-data-note{gap:9px}
  .w-data-note__icon{width:34px;height:34px}
  .w-data-note__icon svg{width:18px;height:18px}
  .w-data-note strong{font-size:11.5px}
  .w-data-note span{font-size:10px}
  .w-parcours__link{margin-left:43px;font-size:11px}
}

/* Isolation stricte de la section : son contenu reste dans ses 100vh. */
.w-parcours > .w-container{
  flex:0 1 auto;
  max-height:100%;
}


/* Responsive pass — PARCOURS */
@media (min-width:821px) and (max-height:820px){
  .w-container{width:min(1080px,calc(100% - 64px))}
  .w-parcours__header{margin-bottom:20px}
  .w-parcours h2{font-size:42px}
  .w-lead{font-size:13px}
  .w-stage{min-height:0;padding:16px}
  .w-stage__icon{width:48px;height:48px}
  .w-stage h3{font-size:16px}
  .w-stage p{font-size:11px;min-height:44px}
  .w-tags span{font-size:9px}
  .w-parcours__footer{margin-top:12px;padding-top:11px}
}


/* ===== LARGEUR COMMUNE = HERO ===== */
@media (min-width:761px){
  .w-container{width:min(1440px,calc(100% - 96px)) !important;}
}
