.ticker.ticker-ribbon.conveyor{display:block;padding:28px 0 15px;mask-image:none;overflow:hidden;background:none;box-shadow:none;color:#173b57}
.conveyor-viewport{height:100px;position:relative;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.dragging .conveyor-viewport{cursor:grabbing}
.conveyor-belt{position:absolute;left:calc(50% - var(--conveyor-step)*2.5);top:0;height:100%;display:flex;width:calc(var(--conveyor-step)*5);align-items:center;will-change:transform}
.conveyor-word{display:block;flex:0 0 var(--conveyor-step);width:var(--conveyor-step);text-align:center;font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(36px,4.6vw,65px);font-weight:600;letter-spacing:-.055em;line-height:1.3;color:#bac7d3;transition:color .6s,opacity .6s,scale .8s;scale:.87;opacity:.6}
.conveyor-word.focused{background:linear-gradient(110deg,#129aab,#276ee5 55%,#9c85e4);background-clip:text;-webkit-background-clip:text;color:transparent;opacity:1;scale:1}
.conveyor-caption{font-family:Manrope,sans-serif;font-size:14px;font-weight:500;letter-spacing:0;line-height:1.6;color:#4b6880;text-align:center;min-height:46px;margin:8px 20px 0;opacity:0;transition:opacity .35s,translate .5s;translate:0 5px}
.conveyor-caption.caption-in{opacity:1;translate:0 0}
.conveyor-controls{display:flex;justify-content:center;align-items:center;gap:18px}
.conveyor-controls>span{font-family:Manrope,sans-serif;font-size:10px;font-weight:400;letter-spacing:.2px;color:#7b8fa1}
.conveyor-controls button{border:1px solid #dce5ee;background:#fff;color:#345c7b;width:32px;height:32px;border-radius:50%;font-size:16px;transition:background .2s}
.conveyor-controls button:hover{background:#ecf4fb}
@media(max-width:800px){.conveyor-viewport{height:78px}.conveyor-word{font-size:39px}.conveyor-caption{font-size:12px;margin-top:4px;min-height:48px}.ticker.ticker-ribbon.conveyor{padding-top:20px}}
@media(prefers-reduced-motion:reduce){.conveyor-word,.conveyor-caption{transition:none}}
/* Garder le même fond de texte : aucun passage du gris au transparent. */
.conveyor-word{background:linear-gradient(110deg,#129aab,#276ee5 55%,#9c85e4);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:grayscale(1);opacity:.38;transition:filter .8s ease,opacity .8s ease,scale .8s cubic-bezier(.22,1,.36,1)}
.conveyor-word.focused{filter:grayscale(0);opacity:1}
@media(prefers-reduced-motion:reduce){.conveyor-word{transition:none}}
.conveyor-reset .conveyor-word{transition:none!important}

/* Les mots entrent au premier plan, sans commandes visuelles. */
.conveyor-controls{display:none}
.conveyor-viewport{height:122px;perspective:900px}
.conveyor-word{font-size:clamp(40px,5.3vw,76px);scale:.74;filter:grayscale(1) blur(1.8px);opacity:.32;transition:filter 1.2s cubic-bezier(.22,1,.36,1),opacity 1.2s ease,scale 1.2s cubic-bezier(.22,1,.36,1)}
.conveyor-word.focused{scale:1;filter:grayscale(0) blur(0);opacity:1}
.conveyor-caption{margin-top:0;min-height:45px;transition:opacity .7s ease,translate .9s cubic-bezier(.22,1,.36,1);translate:0 7px}
.conveyor-caption.caption-in{transition-delay:.2s}
.ticker.ticker-ribbon.conveyor{padding-top:24px;padding-bottom:8px}
@media(max-width:800px){.conveyor-viewport{height:90px}.conveyor-word{font-size:44px}.conveyor-caption{font-size:12px;min-height:45px}}
@media(prefers-reduced-motion:reduce){.conveyor-word,.conveyor-caption{transition:none}.conveyor-word{filter:grayscale(1)}.conveyor-word.focused{filter:none}}
/* La légende se retire avant le départ; la couleur continue sans redémarrer. */
.conveyor-caption{transition:opacity .22s ease,translate .22s ease;transition-delay:0s}
.conveyor-caption.caption-in{transition:opacity .7s ease .2s,translate .9s cubic-bezier(.22,1,.36,1) .2s}
.conveyor-word,.conveyor-word.focused{background-image:linear-gradient(110deg,#1369ec 0%,#11b6c4 24%,#547bdf 48%,#a79efd 72%,#7564cd 86%,#1369ec 100%);background-size:500% 100%;animation:conveyor-spectrum 36s ease-in-out infinite alternate}
@keyframes conveyor-spectrum{from{background-position:0% 50%}to{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.conveyor-word,.conveyor-word.focused{animation:none}.conveyor-caption,.conveyor-caption.caption-in{transition:none}}
/* Une orbite miniature indique le temps avant le prochain mot. */
.conveyor-viewport{height:150px}
.conveyor-belt{height:112px}
.conveyor-clock{position:absolute;bottom:0;left:calc(50% - 16px);width:32px;height:32px;pointer-events:none;opacity:.8}
.conveyor-clock svg{display:block;width:32px;height:32px;transform:rotate(-90deg);fill:none;stroke-width:1}
.clock-track{stroke:#d9e4ee}
.clock-progress{stroke:#7b88bb;stroke-dasharray:1;stroke-dashoffset:1}
.clock-center{position:absolute;width:3px;height:3px;left:14.5px;top:14.5px;border-radius:50%;background:#7992ad}
.clock-orbit{position:absolute;inset:0}
.clock-orbit i{position:absolute;width:5px;height:5px;top:1.5px;left:13.5px;border-radius:50%;background:#408fab;box-shadow:0 0 0 3px #408fab12}
.running .clock-orbit{animation:clock-lap 5.6s linear both}
.running .clock-progress{animation:clock-fill 5.6s linear both}
.conveyor-caption{margin-top:10px}
@keyframes clock-lap{to{transform:rotate(360deg)}}
@keyframes clock-fill{to{stroke-dashoffset:0}}
@media(max-width:800px){.conveyor-viewport{height:119px}.conveyor-belt{height:82px}}
@media(prefers-reduced-motion:reduce){.conveyor-clock{display:none}}
/* Progression en signature sous la légende, sans interrompre sa lecture. */
.conveyor-viewport{height:110px}
.conveyor-belt{height:100%}
.conveyor-caption{margin-top:2px;min-height:28px}
.conveyor-clock{display:block;position:relative;inset:auto;width:76px;height:2px;margin:16px auto 9px;background:#e5eaf0;border-radius:2px;overflow:hidden;opacity:1}
.conveyor-clock svg,.conveyor-clock .clock-orbit,.conveyor-clock .clock-center{display:none}
.conveyor-clock:after{content:'';display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#29a6b3,#8b81ce);transform:scaleX(0);transform-origin:left}
.conveyor-clock.running:after{animation:conveyor-time-line 5.6s linear both}
@keyframes conveyor-time-line{to{transform:scaleX(1)}}
@media(max-width:800px){.conveyor-viewport{height:85px}.conveyor-belt{height:100%}.conveyor-caption{min-height:38px;margin-top:0}.conveyor-clock{margin-top:9px}}
@media(prefers-reduced-motion:reduce){.conveyor-clock{display:none}}
/* Une voix éditoriale en contraste avec les mots géométriques du convoyeur. */
.ticker.conveyor .conveyor-caption{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(21px,2vw,27px);line-height:1.4;letter-spacing:0;color:#35566e;max-width:690px;min-height:38px;margin:4px auto 0;padding:0 20px;text-wrap:balance;-webkit-font-smoothing:antialiased}
.conveyor-clock{margin-top:17px;width:60px}
@media(max-width:800px){.ticker.conveyor .conveyor-caption{font-size:21px;line-height:1.4;min-height:59px;max-width:440px;margin-top:3px;padding:0 18px}.conveyor-clock{margin-top:9px}}
/* Légende de produit : sans serif, compacte et secondaire. */
.ticker.conveyor .conveyor-caption{font-family:'Plus Jakarta Sans',Manrope,sans-serif;font-style:normal;font-size:15px;font-weight:500;line-height:1.6;letter-spacing:-.015em;color:#526c82;max-width:620px;min-height:26px;margin:1px auto 0;padding:0 18px}
.conveyor-clock{margin-top:13px}
@media(max-width:800px){.ticker.conveyor .conveyor-caption{font-size:13px;line-height:1.55;min-height:40px;max-width:380px;margin-top:0}.conveyor-clock{margin-top:8px}}
.conveyor-word{transition-duration:.72s}
.conveyor-clock.running:after{animation-duration:3.36s}
.ticker.ticker-ribbon.conveyor.conveyor-retired{opacity:0;pointer-events:none;transition:opacity 1.8s ease;translate:0 0}
@media(prefers-reduced-motion:reduce){.ticker.ticker-ribbon.conveyor.conveyor-retired{transition:none}}
/* Progression arrondie, même palette et même phase que les mots. */
.conveyor-clock{height:7px;border-radius:999px}
.conveyor-clock:after{display:none}
.conveyor-clock:before{content:'';display:block;width:100%;height:100%;border-radius:inherit;background-image:linear-gradient(110deg,#1369ec 0%,#11b6c4 24%,#547bdf 48%,#a79efd 72%,#7564cd 86%,#1369ec 100%);background-size:500% 100%;animation:conveyor-spectrum 36s ease-in-out infinite alternate;clip-path:inset(0 100% 0 0 round 999px)}
.conveyor-clock.running:before{animation:conveyor-spectrum 36s ease-in-out infinite alternate,conveyor-rounded-fill 3.36s linear both}
@keyframes conveyor-rounded-fill{from{clip-path:inset(0 100% 0 0 round 999px)}to{clip-path:inset(0 0 0 0 round 999px)}}
/* The caption arrives with the incoming word, without a second delayed entrance. */
.ticker.conveyor .conveyor-caption{opacity:0;filter:blur(3px);translate:0 4px;transition:opacity .15s ease,filter .15s ease,translate .15s ease;transition-delay:0s}
.ticker.conveyor .conveyor-caption.caption-in{opacity:1;filter:blur(0);translate:0 0;transition:opacity .38s ease,filter .5s ease,translate .55s cubic-bezier(.22,1,.36,1);transition-delay:0s}
@media(prefers-reduced-motion:reduce){.ticker.conveyor .conveyor-caption,.ticker.conveyor .conveyor-caption.caption-in{transition:none;filter:none;translate:none}}

/* Quiet supporting copy, with a complete thought on each line. */
.ticker.conveyor .conveyor-promise{font-family:Manrope,sans-serif;font-size:clamp(19px,1.7vw,24px);font-weight:450;line-height:1.55;letter-spacing:-.025em;text-align:center;color:#29475e;max-width:820px;margin:20px auto 24px;padding:0 24px;text-wrap:balance}
.conveyor-promise>span{display:block}
.conveyor-promise strong{display:block;font-family:'Plus Jakarta Sans',Manrope,sans-serif;font-size:clamp(24px,2.3vw,32px);font-weight:600;letter-spacing:-.035em;color:inherit;margin-top:3px;line-height:1.35}
@media(max-width:800px){.ticker.conveyor .conveyor-promise{font-size:18px;max-width:520px;margin-top:12px;padding:0 24px}.conveyor-promise strong{font-size:25px;margin-top:5px}}

.ticker.conveyor .conveyor-promise{max-width:1150px;font-size:clamp(18px,1.65vw,23px);font-weight:450;letter-spacing:-.02em;text-wrap:wrap}
@media(min-width:1000px){.ticker.conveyor .conveyor-promise{white-space:nowrap}}
@media(max-width:800px){.ticker.conveyor .conveyor-promise{font-size:18px}}

/* A gradual departure and soft landing, synchronized with the belt. */
.conveyor-word{scale:.8;transition:filter 1.15s cubic-bezier(.45,0,.25,1),opacity 1.15s cubic-bezier(.45,0,.25,1),scale 1.15s cubic-bezier(.45,0,.25,1)}
.conveyor-word.focused{scale:1}
@media(prefers-reduced-motion:reduce){.conveyor-word{transition:none}}
