/* ============ JOURNEY ROADMAP ============ */
.journey{background:var(--card);border-radius:var(--radius-lg);padding:4rem 2rem}
.journey-track{position:relative;display:flex;justify-content:space-between;gap:.5rem;overflow-x:auto;padding:1rem .5rem 1.5rem;scrollbar-width:thin}
.journey-line{position:absolute;left:4%;right:4%;top:34px;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 8px,transparent 8px 16px);z-index:0}
.journey-line-fill{position:absolute;left:4%;top:34px;height:2px;width:0;background:var(--orange);z-index:1;transition:width 1.4s cubic-bezier(.22,.8,.28,1)}
.journey.in-view .journey-line-fill{width:92%}
.jnode{position:relative;z-index:2;flex:1;min-width:108px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.9rem;opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.journey.in-view .jnode{opacity:1;transform:translateY(0)}
.journey.in-view .jnode:nth-child(1){transition-delay:.05s}
.journey.in-view .jnode:nth-child(2){transition-delay:.2s}
.journey.in-view .jnode:nth-child(3){transition-delay:.35s}
.journey.in-view .jnode:nth-child(4){transition-delay:.5s}
.journey.in-view .jnode:nth-child(5){transition-delay:.65s}
.journey.in-view .jnode:nth-child(6){transition-delay:.8s}
.journey.in-view .jnode:nth-child(7){transition-delay:.95s}
.journey.in-view .jnode:nth-child(8){transition-delay:1.1s}
.journey.in-view .jnode:nth-child(9){transition-delay:1.25s}
.jdot{width:68px;height:68px;border-radius:50%;background:var(--paper);border:2px solid var(--line);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:border-color .3s ease,box-shadow .3s ease}
.jnode:nth-child(odd) .jdot{border-color:var(--blue);color:var(--blue)}
.jnode:nth-child(even) .jdot{border-color:var(--orange);color:var(--orange-deep)}
.jnode:hover .jdot{box-shadow:var(--shadow-md);transform:scale(1.06)}
.jnode svg{width:26px;height:26px}
.jnode b{font-size:.82rem;font-weight:600;line-height:1.3;max-width:110px}
.jnode small{font-size:.7rem;color:var(--slate-soft);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
@media (max-width:720px){
  .journey{padding:2.5rem 1.25rem}
  .journey-track{flex-direction:column;overflow-x:visible;align-items:flex-start;gap:1.8rem;padding-left:2.2rem}
  .journey-line,.journey-line-fill{left:33px;top:4%;bottom:4%;right:auto;width:2px;height:auto}
  .journey.in-view .journey-line-fill{height:92%;width:2px}
  .jnode{flex-direction:row;text-align:left;min-width:0}
  .jdot{width:56px;height:56px;flex-shrink:0}
  .jnode b{max-width:none}
}
