/* ITUGID / route atlas — custom SVG scenes, restrained motion, no media downloads. */
.journey-section .route-cols{gap:clamp(28px,4vw,64px)}
.journey-section .route h3{margin-bottom:20px;gap:12px;font-size:30px}
.journey-number{font:500 12px/1 var(--font-ui);letter-spacing:.13em;color:var(--ember);padding-top:4px}
.journey-scene{--route-progress:1;position:relative;margin:0 0 28px;background:#293740;color:#edf1ed;border-radius:12px;overflow:hidden;isolation:isolate}
.journey-meta{display:flex;justify-content:space-between;align-items:center;padding:20px 22px 0;font:500 10px/1.4 var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:#a9c5c0}
.journey-meta span:first-child{color:#e9ece4}
.journey-art{position:relative;aspect-ratio:2/1;margin:8px 0 0}
.journey-art>svg{display:block;width:100%;height:100%;overflow:visible}
.journey-grid{color:#a5c0bb;opacity:.08}
.journey-land{fill:#829d8926;stroke:#a1b8a358;stroke-width:1.2;stroke-linejoin:round}
.journey-land.island{fill:#8daf9433;stroke:#a3c1a87a}
.journey-contours{fill:none;stroke:#a2bfb6;stroke-width:.8;opacity:.12}
.journey-ocean{fill:none;stroke:#8bbfc6;stroke-width:1;opacity:.25}
.journey-track{fill:none;stroke:#9bb8b154;stroke-width:1.25;stroke-dasharray:3 6;stroke-linecap:round}
.journey-trail{fill:none;stroke:#ed672e;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:0;stroke-linecap:round}
.journey-node .node-halo{fill:none;stroke:#eb753c;stroke-width:1;opacity:0}
.journey-node .node-ring{fill:#293740;stroke:#b3c9c176;stroke-width:1}
.journey-node .node-core{fill:#b6d3c8;transition:fill .3s}
.journey-node.is-passed .node-core{fill:#ed672e}
.journey-node.is-passed .node-ring{stroke:#ed672e99}
.journey-vehicle{filter:drop-shadow(0 2px 2px #10212760)}
.vehicle-body{fill:#f3f2e9;stroke:#22353f;stroke-width:.6;stroke-linejoin:round}
.vehicle-accent{fill:#ed672e}
.journey-wake{fill:none;stroke:#b6dce0;stroke-width:1.2;stroke-linecap:round;opacity:.55}
.journey-stop{position:absolute;display:flex;flex-direction:column;gap:5px;font:500 13px/1.3 var(--font-ui);max-width:42%;pointer-events:none}
.journey-stop strong{font-weight:500;color:#e8ece7;transition:color .3s}
.journey-stop span{font-size:10px;color:#96b0b1}
.journey-stop.is-passed strong{color:#e8b393}
.journey-stop.origin{left:7%;top:77%}.journey-stop.destination{right:7%;top:77%;text-align:right}
.journey-stop.transfer{left:51%;top:7%;transform:translateX(-50%);text-align:center}
.journey-progress{height:1px;margin:15px 22px 0;background:#a1b6b322;overflow:hidden}
.journey-progress i{display:block;width:100%;height:100%;background:#a0c8bc;transform:scaleX(var(--route-progress));transform-origin:left}
.journey-toolbar{display:flex;min-height:61px;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px 10px 22px}
.journey-status{font:400 12px/1.4 var(--font-ui);color:#b7c8c6}
.journey-control{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;min-height:36px;padding:4px 7px;background:transparent;border:0;border-radius:5px;color:#f1eee5;font:500 12px/1.3 var(--font-ui);cursor:pointer}
.journey-control svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.journey-control:hover{background:#c7d5c811;color:#e8b393}.journey-control:focus-visible{outline:2px solid #ed672e;outline-offset:2px}
.journey-control[hidden]{display:none}
.journey-section .step{transition:border-color .35s}.journey-section .step.is-current{border-top-color:#dd7448}
@media(max-width:760px){.journey-section .route-cols{gap:46px}.journey-section .route h3{font-size:28px;margin-bottom:17px}.journey-meta{padding:18px 16px 0;font-size:9px;letter-spacing:.11em}.journey-art{margin-top:14px}.journey-toolbar{padding-left:16px;padding-right:11px;min-height:62px}.journey-progress{margin-left:16px;margin-right:16px}.journey-status{max-width:57%;font-size:11px}.journey-stop{font-size:12px;gap:4px}.journey-stop span{font-size:10px}.journey-control{min-height:40px}}
@media(prefers-reduced-motion:reduce){.journey-node .node-core,.journey-stop strong,.journey-section .step{transition:none}}
