/* Ein gemeinsamer Scrolltakt vom Hero bis zum Kontakt. Die Fusszeile bleibt frei. */
.journey-on .journey-target,
.journey-on .journey-target.reveal.in{
  opacity:var(--journey-opacity,1);
  transform:translate3d(0,var(--journey-y,0px),0);
  transition:none;
}
.journey-on .journey-target:focus-within{opacity:1;transform:none}
.journey-on .statement .wd i{transform:none;transition:none}
.journey-on .statement .g::after{transition:none;transform:scaleX(var(--journey-progress,1))}
.journey-on .eq-stage.reveal{opacity:1;transform:none;transition:none}
.journey-on .eq-cell.journey-target{transition:border-color .45s var(--ease-out)}
.journey-on .eq-plate.journey-target{transition:height .42s var(--ease-out)}
.journey-on .refs-strip .strip-track{animation-duration:65s}
.journey-bridge{position:absolute;bottom:0;left:max(calc(var(--gut) + var(--shell)),calc((100vw - var(--maxw))/2 + var(--gut) + var(--shell)));width:1px;height:clamp(24px,4vw,48px);background:linear-gradient(var(--stroke-soft),var(--muted-2));transform:scaleY(var(--handoff,0));transform-origin:top;opacity:.55;pointer-events:none}
.about,.refs{position:relative}
.refs .journey-bridge{left:50%}
.journey-on .cta::before{transform:translateY(var(--contact-drift,0px)) scale(1.035)}
@media(max-width:700px){.journey-bridge{height:24px}.journey-on .refs-strip .strip-track{animation-duration:75s}}
@media(prefers-reduced-motion:reduce){
  .journey-on .journey-target,.journey-on .journey-target.reveal.in{opacity:1;transform:none;transition:none}
  .journey-bridge{display:none}.journey-on .cta::before{transform:none}
  .journey-on .statement .g::after{transform:scaleX(1)}
  .journey-on .refs-strip .strip-track{animation-play-state:paused}
}
