/* ═══ V2GO — Cadena de valor (Fig. 01) ═════════════════════════ */
.v2-chain { position: relative; overflow: hidden; }
.v2-chain__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--s-8);
  margin-bottom: clamp(var(--s-10), 5vw, var(--s-16));
}
.v2-chain__head .v2-tag { margin-bottom: var(--s-5); }
.v2-chain__head .v2-lead { justify-self: end; max-width: 44ch; }

.v2-chain__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: var(--s-2); }
.v2-chain__fig { min-width: 900px; }

.v2-chain__track { stroke: var(--navy-22); stroke-width: 2.5; stroke-linecap: round; }
.v2-chain__stop rect { fill: #fff; stroke: none; rx: 22; ry: 22; filter: drop-shadow(0 8px 18px rgba(27,50,64,0.12)); }
.v2-chain__glyph { fill: none; stroke: var(--ambar-hondo); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.v2-chain__num { font-family: var(--fuente); font-size: 15px; font-weight: 700; fill: var(--ambar-texto); }
.v2-chain__sub { font-family: var(--fuente); font-size: 12px; font-weight: 300; fill: var(--navy-50); }

.v2-chain__packet rect { fill: var(--ambar); rx: 5; ry: 5; }
.is-in .v2-chain__packet { animation: v2-chain-run 8s var(--ease-soft) 1.2s infinite; }
@keyframes v2-chain-run {
  0%   { transform: translateX(95px);   opacity: 0; }
  6%   { opacity: 1; }
  94%  { opacity: 1; }
  100% { transform: translateX(1145px); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .is-in .v2-chain__packet { animation: none; opacity: 0; } }

@media (max-width: 900px) {
  .v2-chain__head .v2-lead { justify-self: start; max-width: none; }
}
