/* ---------- DATA SCIENCE PATHWAY (drawn in the same style as each course's route map) ---------- */
.path-h1{font-size:clamp(26px,3vw,40px);font-weight:700;margin-top:8px}
.path-h1 em{font-style:normal;color:var(--accent)}
#pathSvg{display:block;width:100%;min-width:760px;height:auto}
#pathSvg text{font-family:var(--f-mono)}
#pathSvg .st{cursor:pointer}
#pathSvg .st:hover .lbl,#pathSvg .st:focus .lbl{fill:var(--accent)}
#pathSvg .stage-name{cursor:pointer}
#pathSvg .stage-name:hover .nm{fill:var(--accent)}
#pathSvg .line{transition:opacity .25s}
#pathSvg.focus .line:not(.on){opacity:.22}
.stops .go{display:inline-block;margin-top:4px;font-family:var(--f-mono);font-size:11.5px;color:var(--pc);text-decoration:none;font-weight:600}
.stops .go:hover{text-decoration:underline}
.stops .soon{color:var(--muted)}
.itin .acts{display:flex;flex-wrap:wrap;gap:8px}

/* breadcrumb on a stage's own route page */
.crumb{display:inline-flex;gap:8px;align-items:center;font-family:var(--f-mono);font-size:12px;color:var(--muted);margin-bottom:10px}
.crumb a{color:var(--ink-2);text-decoration:none;border:1px solid var(--line-2);border-radius:7px;padding:3px 9px}
.crumb a:hover{border-color:var(--accent);color:var(--accent)}
#v-path .metro-map{align-self:start}
/* pulsing hint that the stations are clickable */
#pathSvg .p-hint{pointer-events:none}
#pathSvg .p-flow{animation:pFlow 1.1s linear infinite}
#pathSvg .p-pill{animation:pBob 2.4s ease-in-out infinite}
@keyframes pFlow{to{stroke-dashoffset:-12}}
@keyframes pBob{50%{transform:translateY(-3px)}}
#pathSvg .p-ring{transform-box:fill-box;transform-origin:center;animation:pRing 1.8s ease-out infinite}
@keyframes pArrow{0%,100%{transform:translate(0,0);opacity:.55}50%{transform:translate(6px,5px);opacity:1}}
@keyframes pRing{from{transform:scale(1);opacity:.8}to{transform:scale(1.7);opacity:0}}
#pathSvg.focus .p-hint{display:none}
/* light dots drifting along every line, on the pathway and on each course's route map */
.ln-flow{fill:none;stroke:#fff;stroke-opacity:.8;stroke-width:3.5;stroke-linecap:round;stroke-dasharray:1 21;pointer-events:none;animation:lnFlow 1.6s linear infinite}
@keyframes lnFlow{to{stroke-dashoffset:-22}}
@media (prefers-reduced-motion:reduce){#pathSvg .p-flow,#pathSvg .p-pill,#pathSvg .p-ring,.ln-flow{animation:none}}
