.approach-journey{position:relative;background:var(--cream,#f4efe6);border-block:1px solid rgba(22,45,66,.08);margin-block:20px 75px;overflow:visible}
.journey-stage{position:relative;padding:56px 6%}
.journey-track{display:grid;grid-template-columns:1fr 2fr;gap:55px;max-width:1240px;margin:auto}
.journey-intro{min-width:0}
.journey-intro h2{font-family:var(--display);font-weight:400;font-size:clamp(36px,3.8vw,52px);line-height:1.1;letter-spacing:-.02em;margin:14px 0 18px;color:var(--ink,#162d42)}
.journey-intro .journey-count{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#7a6a58;margin-bottom:24px}
.journey-intro img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:3px;padding:8px;background:#fff;border:1px solid rgba(22,45,66,.1);box-shadow:0 16px 38px -18px rgba(22,45,66,.12)}
.journey-points{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:30px}
.journey-point{position:relative;min-width:0;--node-reveal:1}
.journey-point-copy{border-top:1px solid rgba(22,45,66,.16);padding-top:20px}
.journey-number{font-family:var(--display);font-style:italic;font-size:20px;color:var(--accent,#d46f56);letter-spacing:.02em}
.journey-point h3{font-family:var(--display);font-weight:500;font-size:29px;line-height:1.16;color:var(--ink,#162d42);letter-spacing:-.015em;margin:12px 0}
.journey-point p{font-size:14px;line-height:1.85;color:var(--muted,#526475)}
.journey-dot,.journey-cue{display:none}
.approach-journey[data-motion=ready] .journey-stage{position:sticky;top:var(--header-height);height:calc(100svh - var(--header-height));min-height:0;padding:0;overflow:hidden}
.approach-journey[data-motion=ready] .journey-track{position:absolute;left:0;top:50%;height:min(500px,73svh);display:flex;align-items:stretch;width:max-content;max-width:none;margin:0;padding:0 6vw;gap:65px;transform:translate3d(var(--journey-x,0px),-50%,0);will-change:transform}
.approach-journey[data-motion=ready] .journey-intro{width:clamp(260px,28vw,370px);flex-shrink:0;display:flex;flex-direction:column;justify-content:center}
.approach-journey[data-motion=ready] .journey-intro img{height:auto;max-height:240px;aspect-ratio:3/2}
.approach-journey[data-motion=ready] .journey-points{position:relative;display:flex;align-items:stretch;gap:50px;padding:0 25px;height:100%;flex-shrink:0}
.approach-journey[data-motion=ready] .journey-points:before,.approach-journey[data-motion=ready] .journey-points:after{content:'';position:absolute;left:0;top:50%;height:1.5px;background:rgba(22,45,66,.16);width:100%}
.approach-journey[data-motion=ready] .journey-points:after{background:var(--accent,#d46f56);width:var(--journey-line,0%);max-width:100%}
.approach-journey[data-motion=ready] .journey-point{flex:0 0 280px;width:280px;height:100%;z-index:1}
.approach-journey[data-motion=ready] .journey-dot{display:block;position:absolute;left:0;top:calc(50% - 6px);width:13px;height:13px;background:var(--accent,#d46f56);border:3px solid var(--cream,#f4efe6);border-radius:50%;box-shadow:0 0 0 1px var(--accent,#d46f56);scale:calc(.5 + var(--node-reveal)*.5)}
.approach-journey[data-motion=ready] .journey-point:before{content:'';position:absolute;left:6px;top:35%;bottom:50%;width:1px;background:rgba(22,45,66,.18);transform-origin:bottom;scale:1 var(--node-reveal)}
.approach-journey[data-motion=ready] .journey-point:nth-child(even):before{top:50%;bottom:35%;transform-origin:top}
.approach-journey[data-motion=ready] .journey-point-copy{position:absolute;left:25px;right:0;bottom:calc(50% + 25px);padding:0;border:0;opacity:calc(.25 + var(--node-reveal)*.75);transform:translateY(calc((1 - var(--node-reveal))*12px))}
.approach-journey[data-motion=ready] .journey-point:nth-child(even) .journey-point-copy{bottom:auto;top:calc(50% + 35px)}
.approach-journey[data-motion=ready] .journey-cue{position:absolute;left:6%;right:6%;bottom:24px;display:flex;align-items:center;justify-content:space-between;font-size:10.5px;line-height:1.7;color:var(--muted,#526475);letter-spacing:.08em;text-transform:uppercase}
.approach-journey[data-motion=ready] .journey-cue>span:last-child{font-size:18px}
.magic-text[data-magic-ready] .magic-word{opacity:var(--word-opacity,1);transition:none}
@media(max-width:700px){
 .approach-journey{margin-block:0 45px}
 .journey-stage{padding:38px 6%}
 .journey-track{grid-template-columns:1fr;gap:30px}
 .journey-intro h2{font-size:34px}
 .journey-intro img{max-width:330px}
 .journey-points{grid-template-columns:1fr;gap:24px}
 .journey-point h3{font-size:27px}
 .approach-journey[data-motion=ready] .journey-track{height:min(510px,72svh);gap:35px;padding-inline:7vw}
 .approach-journey[data-motion=ready] .journey-intro{width:76vw;max-width:330px}
 .approach-journey[data-motion=ready] .journey-intro img{max-height:210px}
 .approach-journey[data-motion=ready] .journey-points{gap:28px;padding-inline:10px}
 .approach-journey[data-motion=ready] .journey-point{width:70vw;max-width:290px;flex-basis:70vw}
 .approach-journey[data-motion=ready] .journey-point-copy{left:22px}
 .journey-point p{font-size:13.5px;line-height:1.85}
 .journey-point h3{font-size:27px;line-height:1.2}
 .approach-journey[data-motion=ready] .journey-cue{font-size:9px;bottom:17px}
}
@media(prefers-reduced-motion:reduce){.magic-text .magic-word{opacity:1!important}}
