/* Umane · animation "boucle vertueuse de la donnée" */
/* ===== Umane · animation "boucle vertueuse de la donnée" ===== */
.umane-flow{--navy:#0A1B3D;--violet:#6B4BFF;--violet2:#8A6FFF;--blue:#1B6FF0;--mute:#8A96AE;--green:#1F9D57;--line:rgba(138,111,255,.34);
  position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--navy);border-radius:18px;
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
.umane-flow *{box-sizing:border-box;margin:0;padding:0}
.umane-flow .uf-stage{position:absolute;left:0;top:0;width:1600px;height:900px;transform-origin:top left}
.umane-flow .uf-glow{position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px)}
.umane-flow .uf-mono{font-family:'JetBrains Mono',monospace}

.umane-flow .uf-title{position:absolute;left:0;right:0;top:86px;text-align:center}
.umane-flow .uf-title h2{font-weight:800;font-size:52px;color:#fff;letter-spacing:-.035em;line-height:1.1}
.umane-flow .uf-grad{background:linear-gradient(95deg,#6B4BFF 0%,#1B6FF0 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

.umane-flow .uf-node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:11px}
.umane-flow .uf-card{background:#fff;border-radius:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 34px rgba(0,0,0,.34);position:relative;width:78px;height:78px}
.umane-flow .uf-card img{display:block}
.umane-flow .uf-hub{width:152px;height:152px;border-radius:26px;background:linear-gradient(140deg,var(--violet),var(--blue));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#fff;box-shadow:0 20px 48px rgba(107,75,255,.42);position:relative}
.umane-flow .uf-hub .k{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.82}
.umane-flow .uf-hub .t{font-weight:800;font-size:19px;letter-spacing:-.01em}
.umane-flow .uf-cap{font-size:14.5px;color:#c7cee0;text-align:center;line-height:1.35;max-width:170px}
.umane-flow .uf-cap b{color:#fff;font-weight:700}

.umane-flow .uf-ring{position:absolute;inset:-12px;border-radius:34px;border:2px solid var(--violet2);opacity:0}
.umane-flow .uf-node.on .uf-ring{animation:ufRing 1.5s ease-out infinite}
.umane-flow .uf-node.on .uf-hub{box-shadow:0 20px 60px rgba(138,111,255,.75)}
.umane-flow .uf-ringc{position:absolute;inset:-9px;border-radius:26px;border:2px solid var(--violet2);opacity:0}
.umane-flow .uf-node.on .uf-card .uf-ringc{animation:ufRing 1.5s ease-out infinite}
@keyframes ufRing{0%{opacity:.85;transform:scale(.94)}100%{opacity:0;transform:scale(1.14)}}

.umane-flow .uf-badge{position:absolute;left:1274px;top:232px;display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--green),#2BB86C);color:#fff;border-radius:100px;padding:11px 20px;font-weight:700;font-size:16px;box-shadow:0 14px 34px rgba(31,157,87,.44);opacity:0;transform:translateY(10px) scale(.9)}
.umane-flow .uf-badge.on{animation:ufPop .5s cubic-bezier(.22,1.4,.36,1) forwards}
@keyframes ufPop{to{opacity:1;transform:translateY(0) scale(1)}}

.umane-flow .uf-steps{position:absolute;left:0;right:0;bottom:58px;display:flex;justify-content:center;gap:10px}
.umane-flow .uf-chip{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--mute);border:1px solid rgba(255,255,255,.14);border-radius:100px;padding:9px 18px;transition:all .35s}
.umane-flow .uf-chip.on{color:#fff;border-color:var(--violet2);background:rgba(107,75,255,.24)}

@media (prefers-reduced-motion:reduce){.umane-flow .uf-node.on .uf-ring,.umane-flow .uf-node.on .uf-card .uf-ringc{animation:none}}
