/* Decorative routing and pricing motion; content and numerical comparisons remain unchanged. */
.lz-flow { position:relative; padding-top:155px; }
.lz-route-art { position:absolute; top:0; left:50%; width:min(100%,420px); height:140px; transform:translateX(-50%); pointer-events:none; }
.lz-route-art svg { display:block; width:100%; height:100%; overflow:visible; }
.lz-route-line { fill:none; stroke:#555; stroke-width:1.2; }
.lz-route-signal { fill:none; stroke:#eee; stroke-width:2; stroke-linecap:round; stroke-dasharray:5 160; animation:lz-travel 3.8s linear infinite; }
.lz-route-signal.second { animation-delay:-1.9s; }
.lz-route-node { fill:#141414; stroke:#777; stroke-width:1.3; }
.lz-route-core { fill:#f1f1f1; stroke:#fff; stroke-width:1.3; }
.lz-route-core-glow { fill:none; stroke:#d5d5d5; stroke-width:1; opacity:.3; transform-origin:210px 70px; animation:lz-breathe 3.8s ease-in-out infinite; }
.lz-price-track.accent i { position:relative; }
.lz-price-track.accent i::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent,#fff,transparent); transform:translateX(-120%); animation:lz-shimmer 4.5s ease-in-out infinite; }
@keyframes lz-travel { to { stroke-dashoffset:-165; } }
@keyframes lz-breathe { 50% { transform:scale(1.14); opacity:.65; } }
@keyframes lz-shimmer { 0%,25% { transform:translateX(-120%); } 75%,100% { transform:translateX(120%); } }
@media(max-width:767px) { .lz-flow { justify-content:center; padding-top:155px; } }
@media(prefers-reduced-motion:reduce) { .lz-route-signal,.lz-route-core-glow,.lz-price-track.accent i::after { animation:none; } .lz-route-signal { opacity:0; } }
