/* Adapted from the timeline supplied by the user. Built using Hyperiux Vault: https://vault.hyperiux.com */
.journey{position:relative;background:#101010;color:#fff;border-top:1px solid #303030}
.approach>.journey{width:100vw;margin-left:calc(50% - 50vw);margin-top:0}
.approach:has(.approach-portal.is-ready)>.journey{margin-top:calc(var(--do-svh, 1svh) * -100);z-index:2;opacity:var(--portal-next,0)}
.journey-axis{position:relative}
.journey-stage{padding:72px 7%}
.journey-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:40px}
.journey-heading h2{font-size:clamp(32px,4.6vw,72px);font-weight:400;letter-spacing:-.055em;line-height:1.08;margin:0}
.journey-heading h2 span{color:var(--accent,#c8ff26)}
.journey-heading p{color:#999;font-size:12px;line-height:1.5;margin:0;max-width:230px}
.journey-lead{margin:0 0 32px;max-width:340px}
.journey-lead img{width:100%;height:300px;object-fit:cover;object-position:center 30%;display:block}
.journey-lead figcaption{font-size:12px;color:#aaa;margin-top:12px}
.journey-list{position:relative;list-style:none;margin:0;padding:0 0 0 26px;border-left:1px solid var(--accent,#c8ff26)}
.journey-item{position:relative;margin:0 0 32px;max-width:540px}
.journey-item::before{content:"";position:absolute;left:-31px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--accent,#c8ff26)}
.journey-number{font-size:12px;color:var(--accent,#c8ff26);display:block;margin-bottom:14px}
.journey-card h3{font-size:clamp(24px,2.25vw,36px);font-weight:400;letter-spacing:-.035em;line-height:1.12;margin:0 0 14px}
.journey-card p{font-size:clamp(15px,1.2vw,18px);line-height:1.5;color:#aaa;margin:0;max-width:28ch}
.journey-progress,.journey-stem,.journey-cue{display:none}
.journey.is-animated{height:var(--journey-height,calc(var(--do-svh, 1svh) * 350))}
.journey.is-animated .journey-stage{position:sticky;top:0;height:calc(var(--do-svh, 1svh) * 100);padding:100px 0 26px;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.journey.is-animated .journey-heading{padding:0 7%;margin-bottom:24px;flex-shrink:0}
.journey.is-animated .journey-track{display:flex;align-items:center;gap:6vw;width:max-content;height:min(calc(var(--do-svh, 1svh) * 60),580px);padding:0 7vw;will-change:transform;flex-shrink:0}
.journey.is-animated .journey-lead{flex:0 0 clamp(230px,28vw,420px);width:clamp(230px,28vw,420px);margin:0}
.journey.is-animated .journey-lead img{height:min(calc(var(--do-svh, 1svh) * 47),460px)}
.journey.is-animated .journey-list{display:flex;align-items:stretch;height:100%;padding:0;border:0}
.journey.is-animated .journey-axis{height:100%;flex:none;width:max-content}
.journey.is-animated .journey-item{flex:0 0 clamp(270px,27vw,430px);width:clamp(270px,27vw,430px);height:100%;margin:0;padding-right:38px}
.journey.is-animated .journey-item::before{display:none}
.journey.is-animated .journey-progress{display:block;position:absolute;top:50%;left:0;right:0;height:1px;background:#333}
.journey.is-animated .journey-progress i{display:block;width:100%;height:1px;background:var(--accent,#c8ff26);transform:scaleX(var(--journey-progress,0));transform-origin:left}
.journey.is-animated .journey-card{position:absolute;left:24px;right:36px;top:3%;opacity:var(--item-reveal,0);transform:translateY(calc((1 - var(--item-reveal,0))*24px));}
.journey.is-animated .journey-item:nth-of-type(even) .journey-card{top:62%}
.journey.is-animated .journey-stem{display:block;position:absolute;left:0;top:4%;height:46%;width:1px;background:var(--accent,#c8ff26);transform:scaleY(var(--item-reveal,0));transform-origin:bottom}
.journey.is-animated .journey-stem::before{content:"";position:absolute;top:0;left:-4px;width:9px;height:9px;border-radius:50%;background:var(--accent,#c8ff26)}
.journey.is-animated .journey-item:nth-of-type(even) .journey-stem{top:50%;height:46%;transform-origin:top}
.journey.is-animated .journey-item:nth-of-type(even) .journey-stem::before{top:auto;bottom:0}
.journey.is-animated .journey-cue{display:block;padding:20px 7% 0;font-size:12px;color:#999}
@media(max-width:700px){.journey-stage{padding:48px 7%}.journey-heading{display:block}.journey-heading p{margin-top:12px;max-width:none}.journey.is-animated .journey-heading h2{font-size:32px}.journey.is-animated .journey-stage{padding-top:100px}.journey.is-animated .journey-track{height:calc(var(--do-svh, 1svh) * 60);gap:32px}.journey.is-animated .journey-lead{flex-basis:72vw;width:72vw}.journey.is-animated .journey-item{flex-basis:80vw;width:80vw}.journey.is-animated .journey-card{left:18px;right:25px}.journey-card h3{font-size:23px}.journey-number{margin-bottom:8px}.journey-card p{font-size:14px;line-height:1.4}.journey.is-animated .journey-cue{padding-top:12px}}
@media(prefers-reduced-motion:reduce){.journey-track{transform:none!important}}
@media(max-width:700px){.journey.is-animated .journey-progress,.journey.is-animated .journey-progress i{height:2px}.journey.is-animated .journey-stem{width:2px}.journey.is-animated .journey-progress{background:#494949}}
/* Anchor the horizontal axis to the viewport centre, independent of header height. */
@media(max-width:700px){
 .journey.is-animated .journey-heading{margin:0;padding:0}
 .journey.is-animated .journey-heading h2{position:absolute;top:96px;left:7%;right:7%;font-size:28px}
 .journey.is-animated .journey-heading p{position:absolute;bottom:64px;left:7%;right:7%;margin:0}
 .journey.is-animated .journey-track{position:absolute;top:50%;left:0;height:calc(var(--do-svh, 1svh) * 48);margin-top:calc(var(--do-svh, 1svh) * -24)}
 .journey.is-animated .journey-cue{position:absolute;bottom:26px;left:0;right:0;padding-top:0}
}

/* Offset the global 100px anchor padding so navigation lands past the colour transition. */
#wspolpraca{scroll-margin-top:-120px}
