.etapes{display:grid;grid-template-columns:300px 1fr;gap:4rem;align-items:start}.etapes-cards{margin-top:0}.etapes-rail{position:sticky;top:7rem;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.15rem}.etapes-rail-actif,.etapes-rail-trait{position:absolute;left:7px;top:7px;bottom:7px;width:2px;border-radius:2px}.etapes-rail-trait{background:var(--gris-800)}.etapes-rail-actif{background:var(--accent);bottom:auto;transition:height .35s ease}.etapes-jalon{position:relative;display:grid;grid-template-columns:16px auto 1fr;align-items:center;gap:.9rem;padding-left:0}.etapes-point{width:16px;height:16px;border-radius:50%;z-index:1;background:var(--noir);border:2px solid var(--gris-700);transition:border-color .3s ease,background .3s ease,transform .3s ease}.etapes-jalon.fait .etapes-point{border-color:var(--accent);background:var(--accent)}.etapes-jalon.actif .etapes-point{transform:scale(1.25);box-shadow:0 0 0 5px rgba(36,212,193,.2)}.etapes-num{font-size:.78rem;font-weight:400;letter-spacing:.02em}.etapes-label,.etapes-num{color:var(--gris-400);transition:color .3s ease}.etapes-label{font-size:.88rem;font-weight:300;line-height:1.3}.etapes-jalon.actif .etapes-num,.etapes-jalon.fait .etapes-num{color:var(--accent)}.etapes-jalon.actif .etapes-label{color:var(--blanc);font-weight:400}@media (max-width:1024px){.etapes{grid-template-columns:1fr;gap:1.6rem}.etapes-rail{position:sticky;top:4.6rem;z-index:3;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;gap:.3rem;background:var(--noir);margin:0 -3rem;padding:.7rem 3rem}.etapes-rail-actif,.etapes-rail-trait{display:none}.etapes-jalon{grid-template-columns:auto;gap:0;flex:1;display:flex;align-items:center;justify-content:center;min-width:0;height:30px;border:1px solid var(--gris-800);border-radius:100px;transition:border-color .3s ease,background .3s ease}.etapes-jalon .etapes-label,.etapes-jalon .etapes-point{display:none}.etapes-num{font-size:.72rem}.etapes-jalon.fait{border-color:rgba(36,212,193,.55)}.etapes-jalon.actif{border-color:var(--accent);background:var(--accent)}.etapes-jalon.actif .etapes-num{color:#06302C;font-weight:600}.etapes .etapes-card{top:8rem}}@media (max-width:768px){.etapes-rail{margin:0 -1.5rem;padding:.7rem 1.5rem}}@media (max-width:400px){.etapes-rail{margin:0 -1.25rem;padding:.6rem 1.25rem;gap:.2rem}.etapes-num{font-size:.68rem}}@media (prefers-reduced-motion:reduce){.etapes-label,.etapes-num,.etapes-point,.etapes-rail-actif{transition:none}}