.te-ntl{
 --te-navy:#11195d;--te-ink:#343a57;--te-soft:#f4f5ff;--te-line:#d9ddef;
 position:relative;width:100%;max-width:1180px;margin:0 auto;padding:18px 8px 8px;
 box-sizing:border-box
}
.te-ntl *{box-sizing:border-box}
.te-ntl__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;position:relative;z-index:2}
.te-ntl__rail{position:absolute;z-index:1;left:16.67%;right:16.67%;top:45px;height:2px;background:var(--te-line);overflow:hidden}
.te-ntl__rail span{display:block;width:0;height:100%;background:var(--te-navy);transition:width 1.25s cubic-bezier(.22,1,.36,1)}
.te-ntl__step{min-width:0;position:relative}
.te-ntl__node{opacity:0;transform:scale(.65);}
.te-ntl__card{opacity:0;transform:translateY(20px);}
.te-ntl__node{
 position:relative;z-index:3;width:56px;height:56px;margin:0 auto 18px;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;
 transition:background .4s ease,border-color .4s ease,color .4s ease,transform .4s ease,box-shadow .4s ease
}
.te-ntl__card{
 position:relative;min-height:132px;overflow:hidden;display:flex;align-items:center;gap:16px;
 padding:22px 48px 22px 22px;border:1px solid rgba(17,25,93,.06);border-radius:22px;
 background:linear-gradient(135deg,#f7f7ff 0%,#f1f2fc 100%);
 transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease
}
.te-ntl__time{
 flex:0 0 auto;color:rgba(17,25,93,.09);font-size:70px;line-height:.8;font-weight:800;letter-spacing:-.08em
}
.te-ntl__time small{font-size:20px;letter-spacing:0;margin-left:3px}
.te-ntl__copy{position:relative;z-index:2;min-width:0}
.te-ntl__copy h3{margin:0 0 6px!important;color:var(--te-navy)!important;font-size:20px!important;line-height:1.2!important;font-weight:700!important}
.te-ntl__copy p{margin:0!important;color:var(--te-ink)!important;font-size:15px!important;line-height:1.45!important}
.te-ntl__badge{
 position:absolute;right:16px;top:14px;display:inline-flex;align-items:center;justify-content:center;
 min-width:38px;height:25px;padding:0 9px;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-ntl.is-visible .te-ntl__rail span{width:100%}
@media(hover:hover) and (pointer:fine){
 .te-ntl__step:hover .te-ntl__card{transform:translateY(-5px);border-color:rgba(17,25,93,.13);box-shadow:0 16px 35px rgba(17,25,93,.08)}
 .te-ntl__step:hover .te-ntl__node{transform:scale(1.08)}
}
@media(max-width:767px){
 .te-ntl{padding:8px 0}
 .te-ntl__grid{display:block}
 .te-ntl__rail{left:23px;right:auto;top:24px;bottom:24px;width:2px;height:auto}
 .te-ntl__rail span{width:100%;height:0;transition:height 1.25s cubic-bezier(.22,1,.36,1)}
 .te-ntl.is-visible .te-ntl__rail span{width:100%;height:100%}
 .te-ntl__step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:13px;align-items:center;padding-bottom:16px}
 .te-ntl__step:last-child{padding-bottom:0}
 .te-ntl__node{width:48px;height:48px;margin:0;font-size:12px}
 .te-ntl__card{min-height:98px;border-radius:17px;padding:16px 38px 16px 15px;gap:10px}
 .te-ntl__time{font-size:48px}
 .te-ntl__time small{font-size:15px}
 .te-ntl__copy h3{font-size:17px!important}
 .te-ntl__copy p{font-size:14px!important}
 .te-ntl__badge{right:11px;top:10px;height:23px;min-width:35px;padding:0 8px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){
 .te-ntl__step{opacity:1;transform:none;transition:none}
 .te-ntl__rail span{width:100%;height:100%;transition:none}
 .te-ntl__node{background:var(--te-navy);border-color:var(--te-navy);color:#fff}
}
/* Animation séquencée volontairement lente pour laisser le temps à l'œil */
.te-ntl__node{
 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-ntl__card{
 transition:opacity .55s ease,transform .72s cubic-bezier(.22,1,.36,1),
 box-shadow .3s ease,border-color .3s ease
}
.te-ntl.prelude .te-ntl__rail{box-shadow:0 0 0 5px rgba(17,25,93,.035)}
.te-ntl .te-ntl__node.node-on{opacity:1;transform:scale(1);background:var(--te-navy);border-color:var(--te-navy);color:#fff;box-shadow:0 9px 25px rgba(17,25,93,.15)}
.te-ntl .te-ntl__card.card-on{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){
 .te-ntl__node,.te-ntl__card{opacity:1!important;transform:none!important}
}
