/* PJ Integrations process timeline, adapted from the supplied 21st.dev scroll concept. */
.journey-section{position:relative;overflow:clip;background:rgba(4,23,19,.57);border-block:1px solid rgba(171,236,192,.15);color:#f5f9f1}
.journey-intro{padding:clamp(70px,8vw,116px) 0 52px}
.journey-intro .eyebrow{color:#c9e9ad}
.journey-intro h2{max-width:1000px;margin:0;font-family:'DM Serif Display',Georgia,serif;font-size:clamp(42px,5.5vw,78px);font-weight:400;line-height:1.05;letter-spacing:-.048em;text-wrap:balance}
.journey-intro h2 em,.journey-outcome h3 em{color:#d1eea8;font-weight:400}
.journey-intro>p{max-width:650px;margin:24px 0 0;color:#d0e1d3;font-size:clamp(15px,1.4vw,18px);line-height:1.7}
.journey-scroll{position:relative}
.journey-sticky{position:relative}
.journey-topline,.journey-bottomline{display:none}
.journey-viewport{width:100%}
.journey-track{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,6vw,85px);width:min(1200px,calc(100% - 48px));margin:0 auto;padding:0 0 65px}
.journey-cover{position:relative;align-self:start;min-width:0;height:400px;margin:0;overflow:hidden;border-radius:18px;background:#153b2b}
.journey-cover img{display:block;width:100%;height:100%;object-fit:cover}
.journey-cover::after{position:absolute;inset:0;content:"";background:linear-gradient(0deg,rgba(3,21,17,.86),transparent 60%);pointer-events:none}
.journey-cover figcaption{position:absolute;z-index:1;right:25px;bottom:25px;left:25px;color:#e6f2df;font-size:13px;line-height:1.5;letter-spacing:.03em}
.journey-cover figcaption strong{display:block;margin-top:3px;color:#fff;font-family:'DM Serif Display',Georgia,serif;font-size:clamp(24px,2.5vw,36px);font-weight:400;letter-spacing:-.035em}
.journey-steps{position:relative;margin:0;padding:4px 0 0 0;border-left:1px solid rgba(183,226,184,.52);list-style:none}
.journey-step{position:relative;padding:0 0 38px 32px}
.journey-step:last-child{padding-bottom:0}
.journey-step::after{position:absolute;top:7px;left:-7px;width:12px;height:12px;content:"";transform:rotate(45deg);background:#cdeb9f;box-shadow:0 0 0 5px rgba(205,235,159,.12)}
.journey-stem{display:none}
.journey-step-number,.journey-outcome-kicker{display:block;color:#bfe39d;font-size:10px;font-weight:700;letter-spacing:.16em}
.journey-copy h3{max-width:340px;margin:13px 0 10px;color:#f9fbf5;font-size:clamp(24px,2.2vw,32px);font-weight:500;line-height:1.12;letter-spacing:-.045em;text-wrap:balance}
.journey-copy p{max-width:330px;margin:0;color:#c9dccd;font-size:14px;line-height:1.65}
.journey-outcome{grid-column:1/-1;padding:44px 0 0;border-top:1px solid rgba(183,226,184,.38)}
.journey-outcome h3{margin:15px 0 18px;color:#fff;font-family:'DM Serif Display',Georgia,serif;font-size:clamp(42px,5vw,68px);font-weight:400;line-height:1.02;letter-spacing:-.045em}
.journey-outcome p{max-width:660px;margin:0 0 23px;color:#d2e3d4;font-size:15px;line-height:1.72}
.journey-outcome .text-link{color:#d8f3ad}

.journey-section.is-horizontal .journey-sticky{position:sticky;top:0;display:flex;flex-direction:column;justify-content:center;height:100vh;min-height:620px;padding-top:88px}
.journey-section.is-horizontal .journey-topline{display:flex;justify-content:space-between;gap:20px;padding-top:10px;color:#bad9b4;font-size:10px;font-weight:700;letter-spacing:.17em}
.journey-section.is-horizontal .journey-topline span:last-child{color:#e2f4c0;font-size:12px;white-space:nowrap}
.journey-section.is-horizontal .journey-viewport{display:flex;flex:1;align-items:center;max-height:580px;min-height:400px;overflow:hidden}
.journey-section.is-horizontal .journey-track{display:flex;align-items:center;gap:68px;width:max-content;max-width:none;height:100%;margin:0;padding:0 clamp(36px,6vw,100px);will-change:transform}
.journey-section.is-horizontal .journey-cover{flex:0 0 clamp(330px,31vw,430px);align-self:center;height:min(390px,76%)}
.journey-section.is-horizontal .journey-steps{display:flex;flex:0 0 auto;align-items:stretch;width:max-content;height:100%;padding:0;border:0}
.journey-section.is-horizontal .journey-steps::before,.journey-section.is-horizontal .journey-steps::after{position:absolute;top:50%;left:0;height:1px;content:"";border:0;transform:none;box-shadow:none}
.journey-section.is-horizontal .journey-steps::before{right:0;background:rgba(199,231,194,.35)}
.journey-section.is-horizontal .journey-steps::after{width:calc(var(--journey-line-progress,0)*100%);background:#d3efa4;box-shadow:0 0 16px rgba(202,237,160,.36)}
.journey-section.is-horizontal .journey-step{flex:0 0 clamp(320px,29vw,410px);height:100%;padding:0}
.journey-section.is-horizontal .journey-step::after{top:calc(50% - 7px);left:calc(50% - 7px);z-index:2;opacity:.55;transition:background .35s,opacity .35s,box-shadow .35s}
.journey-section.is-horizontal .journey-step.is-seen::after{opacity:1;background:#e2f6b4;box-shadow:0 0 0 7px rgba(215,241,177,.15),0 0 20px rgba(215,241,177,.43)}
.journey-section.is-horizontal .journey-stem{position:absolute;left:50%;display:block;width:1px;background:#b9d993;transform:scaleY(0);transition:transform .6s ease}
.journey-section.is-horizontal .journey-step.is-upper .journey-stem{top:24%;height:26%;transform-origin:bottom}
.journey-section.is-horizontal .journey-step.is-lower .journey-stem{top:50%;height:26%;transform-origin:top}
.journey-section.is-horizontal .journey-step.is-seen .journey-stem{transform:scaleY(1)}
.journey-section.is-horizontal .journey-copy{position:absolute;left:15%;width:75%;opacity:.68;transform:translateY(19px);transition:opacity .65s ease,transform .65s ease}
.journey-section.is-horizontal .journey-step.is-upper .journey-copy{top:3%}
.journey-section.is-horizontal .journey-step.is-lower .journey-copy{bottom:9%}
.journey-section.is-horizontal .journey-step.is-seen .journey-copy{opacity:1;transform:none}
.journey-section.is-horizontal .journey-copy h3{font-size:clamp(25px,2.35vw,35px)}
.journey-section.is-horizontal .journey-copy p{font-size:13px}
.journey-section.is-horizontal .journey-outcome{flex:0 0 470px;align-self:center;padding:0 65px 0 0;border:0}
.journey-section.is-horizontal .journey-outcome h3{font-size:clamp(49px,4.7vw,68px)}
.journey-section.is-horizontal .journey-bottomline{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-bottom:30px;color:#accbab;font-size:9px;font-weight:700;letter-spacing:.12em}
.journey-progress{flex:1;max-width:230px;height:2px;background:rgba(205,238,195,.3)}
.journey-progress span{display:block;width:0;height:100%;background:#d6f0a6;transition:width .12s linear}

@media(max-width:780px){.journey-intro{padding:65px 0 35px}.journey-intro h2{font-size:clamp(42px,8vw,58px)}.journey-intro h2 br{display:none}.journey-track{display:block;width:min(calc(100% - 40px),600px);padding-bottom:55px}.journey-cover{height:290px;margin-bottom:44px}.journey-steps{margin-left:6px}.journey-copy h3{font-size:28px}.journey-outcome{margin-top:38px}.journey-outcome h3{font-size:50px}}
.journey-section.is-vertical-animated .journey-step:not(.is-seen) .journey-copy{opacity:.55;transform:translateY(14px)}
.journey-section.is-vertical-animated .journey-copy{transition:opacity .6s ease,transform .6s ease}
@media(max-width:480px){.journey-cover{height:245px}.journey-intro h2{font-size:42px}.journey-copy h3{font-size:25px}.journey-step{padding-bottom:32px}.journey-outcome h3{font-size:45px}}
@media(prefers-reduced-motion:reduce){.journey-section *{transition:none!important}}
