/* Desktop keeps its existing two-column choreography. */
.journey-art-stage{display:contents}
@media(max-width:760px){
 .journey[data-mobile-journey=on] .journey-chapter:not(.journey-manifesto){min-height:0}
 .journey[data-mobile-journey=on] .journey-split{position:relative;top:auto;min-height:0;overflow:visible;gap:34px;padding-block:54px 38px}
 .journey[data-mobile-journey=on] .journey-art-stage{display:block;position:relative;width:100%;height:calc(var(--mobile-art-height) + var(--mobile-art-hold));min-width:0}
 .journey[data-mobile-journey=on] .journey-art-stage>.journey-art{position:sticky;top:var(--mobile-art-top);margin-inline:auto;max-width:340px}
 .journey[data-mobile-journey=on] .journey-art-stage[data-hold=false]>.journey-art{position:relative;top:auto}
 .journey[data-mobile-journey=on] .journey-manifesto{min-height:185svh}
 .journey[data-mobile-journey=on] :is(.journey-copy h2,.context-intro h2,.answers-intro h2){opacity:calc(.28 + var(--mobile-heading,1)*.72);transform:translateY(calc((1 - var(--mobile-heading,1))*12px))}
 .journey[data-mobile-journey=on] .journey-word{transition:none}
 /* Progress is interpolated in one frame loop, not queued CSS transitions. */
 .journey[data-mobile-journey=on] .allocation-orbit>svg{transition:none}
}
@media(max-width:760px) and (max-height:580px){
 .journey[data-mobile-journey=on] .journey-manifesto{min-height:0}
 .journey[data-mobile-journey=on] .journey-manifesto .journey-pin{position:relative;top:auto}
}
