
.te-sequence{
 --te-navy:#11195d;
 --te-ink:#343a57;
 --te-soft:#f4f5ff;
 --te-soft-2:#eef1ff;
 --te-line:#d9ddef;
 width:100%;max-width:1240px;margin:0 auto;padding:18px 8px 12px;box-sizing:border-box
}
.te-sequence *{box-sizing:border-box}
.te-sequence__progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;gap:18px;z-index:2;margin:0 0 22px}
.te-sequence__progress:before{content:"";position:absolute;z-index:-1;top:27px;left:12.5%;right:12.5%;height:2px;background:var(--te-line);overflow:hidden}
.te-sequence__progress:after{content:"";position:absolute;z-index:-1;top:27px;left:12.5%;width:0;height:2px;background:var(--te-navy);transition:width 1.05s cubic-bezier(.22,1,.36,1)}
.te-sequence__circle{opacity:0;transform:scale(.66);position:relative;z-index:2;width:56px;height:56px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid var(--te-line);color:var(--te-navy);font-size:14px;font-weight:800;letter-spacing:-.02em;box-shadow:none;transition:opacity .42s ease,transform .62s cubic-bezier(.18,.89,.32,1.28),background .4s ease,border-color .4s ease,color .4s ease,box-shadow .4s ease}
.te-sequence__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.te-sequence__card{opacity:0;transform:translateY(24px);position:relative;min-width:0;min-height:150px;overflow:hidden;display:flex;align-items:flex-start;gap:14px;padding:24px 22px 22px;border:1px solid rgba(17,25,93,.06);border-radius:22px;background:linear-gradient(135deg,#f7f7ff 0%,#f1f2fc 100%);box-shadow:none;transition:opacity .55s ease,transform .72s cubic-bezier(.22,1,.36,1),box-shadow .3s ease,border-color .3s ease}
.te-sequence__badge{position:absolute;right:14px;top:14px;display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:25px;padding:0 10px;border-radius:999px;background:#fff;border:1px solid rgba(17,25,93,.08);color:var(--te-navy);font-size:11px;font-weight:800;letter-spacing:.02em;box-shadow:0 3px 10px rgba(17,25,93,.05)}
.te-sequence__copy{position:relative;z-index:2;min-width:0;padding-right:18px}
.te-sequence__card h3{margin:0 0 8px!important;color:var(--te-navy)!important;font-size:20px!important;line-height:1.2!important;font-weight:700!important}
.te-sequence__card p{margin:0!important;color:var(--te-ink)!important;font-size:15px!important;line-height:1.5!important;overflow-wrap:anywhere}
.te-sequence__mobile-index{display:none}
.te-sequence.is-visible .te-sequence__progress:after{width:75%}
.te-sequence.is-visible .te-sequence__circle{background:var(--te-navy);border-color:var(--te-navy);color:#fff;box-shadow:0 9px 25px rgba(17,25,93,.15);opacity:1;transform:scale(1);animation:te-seq-node .52s cubic-bezier(.18,.89,.32,1.28) both;animation-delay:calc(var(--te-circle,0)*220ms)}
.te-sequence.is-visible .te-sequence__circle:nth-child(1){--te-circle:0}.te-sequence.is-visible .te-sequence__circle:nth-child(2){--te-circle:1}.te-sequence.is-visible .te-sequence__circle:nth-child(3){--te-circle:2}.te-sequence.is-visible .te-sequence__circle:nth-child(4){--te-circle:3}
.te-sequence.is-visible .te-sequence__card{opacity:1;transform:translateY(0);transition-delay:calc(760ms + var(--te-step)*220ms)}
@keyframes te-seq-node{0%{transform:scale(.72)}70%{transform:scale(1.09)}100%{transform:scale(1)}}
@media(hover:hover) and (pointer:fine){
 .te-sequence__card:hover{transform:translateY(-5px);border-color:rgba(17,25,93,.13);box-shadow:0 16px 35px rgba(17,25,93,.08)}
}
@media(max-width:980px){
 .te-sequence{padding:12px 0}
 .te-sequence__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:767px){
 .te-sequence__progress{display:none}
 .te-sequence__grid{display:block}
 .te-sequence__card{min-height:112px;border-radius:18px;padding:18px 16px 16px 15px;margin-bottom:14px}
 .te-sequence__card:last-child{margin-bottom:0}
  .te-sequence__card h3{font-size:17px!important}
 .te-sequence__card p{font-size:14px!important}
 .te-sequence__badge{right:10px;top:10px;height:23px;min-width:35px;padding:0 8px;font-size:10px}
 .te-sequence__mobile-index{display:flex;position:relative;z-index:2;width:46px;height:46px;border-radius:50%;background:var(--te-navy);color:#fff;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:0 0 46px;box-shadow:0 9px 25px rgba(17,25,93,.15)}
 .te-sequence__card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:start}
 .te-sequence__copy{padding-right:12px}
}
@media(prefers-reduced-motion:reduce){
 .te-sequence__progress:after{width:75%;transition:none}
 .te-sequence__circle,.te-sequence__card{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}
 .te-sequence__circle{background:var(--te-navy);border-color:var(--te-navy);color:#fff}
}

/* v1.2.0 — quatre cartes alignées et grands libellés ÉTAPE */
.te-sequence__card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:24px 21px 27px;min-height:225px}
.te-sequence__badge{position:relative;top:auto;right:auto;min-width:0;height:auto;padding:6px 12px;font-size:15px;line-height:1.25;font-weight:800;text-transform:uppercase;letter-spacing:.025em;border-radius:10px;box-shadow:0 3px 10px rgba(17,25,93,.035)}
.te-sequence__copy{padding-right:0}
.te-sequence__card h3{font-size:19px!important}
@media(min-width:768px){.te-sequence__grid,.te-sequence__progress{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767px){
 .te-sequence__card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:9px 12px;min-height:0;padding:18px 17px 22px}
 .te-sequence__mobile-index{grid-row:1 / span 2}
 .te-sequence__badge{grid-column:2;grid-row:1;font-size:14px;justify-self:start}
 .te-sequence__copy{grid-column:2;grid-row:2;padding:0}
}

/* v1.2.1 : retrait de la ligne de ronds supérieure ; conservation de la liaison entre cartes. */
.te-sequence__progress{display:none!important}
.te-sequence__grid{position:relative;isolation:isolate}
.te-sequence__grid::before{content:"";position:absolute;z-index:-1;left:5%;right:5%;top:50%;height:2px;background:#c5cbe6;pointer-events:none}
.te-sequence__card{z-index:1}
.te-sequence.is-visible .te-sequence__card{transition-delay:calc(120ms + var(--te-step)*220ms)}
@media(max-width:767px){.te-sequence__grid::before{display:none}}
