/* One continuous thread, six scenes embedded in the existing story. */
#main{position:relative}
.journey-route{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;mix-blend-mode:difference;color:#fff;overflow:visible;display:none}
.journey-ready .journey-route{display:block}
.journey-route path{fill:none;stroke:currentColor;stroke-width:1.2}
.journey-route-base{opacity:.18}.journey-route-ink{stroke-width:2!important}
.journey-route-stops circle{fill:#000;stroke:#fff;stroke-width:1.2}.journey-route-stops circle.is-reached{fill:#fff}
.journey-traveller{fill:#fff}.journey-traveller-halo{fill:none;stroke:#fff;stroke-width:1;opacity:.45}
.journey-station{--j:1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;padding:38px 0;border-top:1px solid var(--line);margin-top:60px;min-width:0}
.journey-label{display:flex;align-items:center;gap:14px;font-size:9px;letter-spacing:.1em;margin-bottom:24px}
.journey-number{display:grid;place-items:center;border:1px solid currentColor;width:30px;height:30px;font-size:11px;letter-spacing:0;flex-shrink:0}
.journey-copy h3{font-weight:500;font-size:clamp(25px,2.6vw,42px);letter-spacing:-.045em;line-height:1.1;margin-bottom:18px}
.journey-copy p{font-size:14px;line-height:1.7;max-width:390px;color:var(--muted)}
.journey-scene{width:100%;max-width:480px;justify-self:end;overflow:visible}
.j-surface{fill:var(--paper)}.j-solid{fill:currentColor;stroke:none}.j-inverse{stroke:var(--paper);stroke-width:2}.j-ghost{opacity:.16}.j-line{stroke-width:2}
.j-trace{stroke-width:2;stroke-linecap:square}.journey-ready .j-trace{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--j))}
.journey-ready [data-arrive]{transform:translate(calc(var(--dx)* (1 - var(--j))),calc(var(--dy)* (1 - var(--j))))}
.j-growth{transform-origin:0 163px;transform:scaleY(clamp(.04,calc(var(--j)*1.6 - var(--i)*.3),1))}
.journey-work{padding:0 var(--gutter)}.journey-work .journey-station{margin:0 0 40px;--line:#3a3a36;--muted:#aaa;--paper:#111110}
.hero .journey-station{margin-top:0;padding-top:25px;padding-bottom:30px}.hero .journey-scene{max-width:330px}.hero .journey-copy h3{font-size:30px}
.journey-finish{margin-top:80px;padding:70px 0 0;--paper:var(--contact-bg)}.journey-finish h3{font-size:clamp(34px,4.1vw,66px)}.journey-finish .journey-scene{max-width:550px}
@media(max-width:800px){.journey-station{gap:28px;margin-top:45px}.journey-label{font-size:8px;gap:10px}.journey-copy p{font-size:13px}.journey-scene{max-width:360px}}
@media(max-width:560px){.journey-station{grid-template-columns:1fr;gap:20px;padding:30px 0}.journey-scene{width:88%;justify-self:center}.journey-copy h3{font-size:28px}.journey-copy p{max-width:100%}.journey-label{margin-bottom:18px}.hero .journey-station{margin-top:15px}.hero .journey-copy h3{font-size:28px}.journey-finish{padding-top:40px}.journey-finish h3{font-size:36px}.journey-finish .journey-scene{width:100%}}
.motion-off .journey-traveller,.motion-off .journey-traveller-halo{display:none}
@media(prefers-reduced-motion:reduce){.journey-traveller,.journey-traveller-halo{display:none}}

.journey-route-stops .journey-stop-ring{fill:none;stroke:currentColor;opacity:0;transform-box:fill-box;transform-origin:center}
.journey-stop-dot{transform-box:fill-box;transform-origin:center}
.journey-stop.is-arriving .journey-stop-dot{animation:journey-arrival-dot 650ms ease-out}
.journey-stop.is-arriving .journey-stop-ring{animation:journey-arrival-ring 800ms ease-out}
@keyframes journey-arrival-dot{0%,100%{transform:scale(1)}35%{transform:scale(1.45)}}
@keyframes journey-arrival-ring{0%{opacity:.65;transform:scale(1)}100%{opacity:0;transform:scale(2.6)}}
