/* Reaver • a continuous, scroll-driven customer journey */
.customer-journey{--journey-red:#c3223e;--journey-ink:#20271e;background:#fffefa;color:var(--journey-ink);position:relative;padding:116px 0 100px;overflow:clip;isolation:isolate}.customer-journey:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 500px 370px at 85% 28%,#efd5d32e,transparent 80%),radial-gradient(ellipse 500px 440px at 14% 55%,#e4eada55,transparent 80%),radial-gradient(ellipse 450px 330px at 78% 79%,#efd5d330,transparent 85%);pointer-events:none}.journey-anchor{position:absolute;top:0}.journey-header{text-align:center;max-width:800px;margin:0 auto 40px}.customer-journey .journey-header h2{font-size:clamp(52px,6vw,82px);letter-spacing:-.05em;line-height:1.04;margin:22px 0 25px;font-weight:500}.journey-header h2 em{font-weight:500;color:var(--forest-600)}.journey-title-dot{color:var(--journey-red)}.journey-header>p{max-width:565px;margin:0 auto;color:#74796e;font-size:17px;line-height:1.8}.journey-nav{display:flex;justify-content:center;gap:27px;margin:32px auto 25px;align-items:center}.journey-nav a{position:relative;display:grid;place-items:center;width:38px;height:38px;text-decoration:none;border-radius:50%;background:#f4f3ee;border:1px solid #e8e6df;color:#7a7e70;font-size:11px;transition:background .25s,color .25s,border-color .25s}.journey-nav a:not(:last-child):after{position:absolute;content:"";height:1px;width:17px;left:43px;top:18px;background:#d5d8cf}.journey-nav a:hover,.journey-nav a[aria-current="step"]{background:#c3223e;color:white;border-color:#c3223e}.journey-nav a:focus-visible{outline:2px solid var(--journey-red);outline-offset:4px}.journey-scroll{display:inline-flex;gap:12px;align-items:center;color:#898d81;font-size:9px;letter-spacing:.2em}.journey-scroll>span{font-size:21px;color:var(--journey-red);display:inline-block}
.journey-canvas{position:relative;margin-top:20px}.journey-route{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.journey-route path{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.journey-route-base{stroke:#dfb3b855;stroke-width:3}.journey-route-ink{stroke:url(#journey-red);stroke-width:3}.journey-traveler{fill:#c3223e;stroke:#fffefa;stroke-width:2}.journey-traveler-halo{fill:#c3223e18}.journey-stops{list-style:none;padding:0;margin:0;position:relative}.journey-stop{position:relative;min-height:340px;display:flex;align-items:center;scroll-margin-top:140px}.journey-copy{width:35%;margin-left:5%;padding:32px 0;position:relative;z-index:2}.journey-stop:nth-child(even) .journey-copy{margin-left:61%}.journey-icon{height:52px;width:52px;border-radius:17px;display:grid;place-items:center;color:#b52037;background:linear-gradient(135deg,#fff,#f5e9e7);box-shadow:inset 0 1px 0 white,inset -1px -1px 2px #dab9b93b,0 9px 21px #6320150a;transform:rotate(-5deg);margin-bottom:22px}.journey-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transform:rotate(5deg)}.journey-kicker{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.18em;color:#8c8e81;font-weight:700;margin-bottom:12px}.journey-copy h3{font-family:var(--serif);font-size:clamp(29px,3vw,40px);font-weight:500;letter-spacing:-.03em;line-height:1.17;margin:0 0 15px;color:#263322;max-width:375px}.journey-copy p{font-size:15px;line-height:1.85;color:#777c70;margin:0;max-width:370px}.journey-node{position:absolute;top:50%;left:62%;transform:translate(-50%,-50%);width:79px;height:79px;display:grid;place-items:center;z-index:3;border-radius:50%;background:radial-gradient(circle at 30% 24%,#fff 0,#faf6f2 38%,#dfd4cc 86%,#c4b9ae);box-shadow:inset 0 2px 2px white,inset 0 -3px 4px #a1928060,4px 10px 18px #48282122,0 0 0 12px #fffefa;transition:box-shadow .5s}.journey-stop:nth-child(even) .journey-node{left:38%}.journey-node:before{content:"";position:absolute;inset:7px;border-radius:50%;background:radial-gradient(circle at 32% 22%,#e9586b,#c3223e 57%,#840f28);box-shadow:inset 0 1px 1px #ffced19c,inset 0 -3px 4px #57001670,0 3px 5px #630a202b}.journey-node:after{content:"";position:absolute;inset:-24px;border-radius:50%;border:1px solid #c3223e13;pointer-events:none}.journey-node>span{position:relative;color:#fff8f5;font-size:22px;letter-spacing:-.03em;font-family:var(--serif);text-shadow:0 2px 2px #6a001750}.journey-whisper{position:absolute;top:calc(50% + 64px);left:62%;transform:translateX(-50%);color:#929387;font-size:9px;letter-spacing:.19em}.journey-stop:nth-child(even) .journey-whisper{left:38%}.journey-stop.is-active .journey-node{box-shadow:inset 0 2px 2px white,inset 0 -3px 4px #a1928060,4px 14px 28px #74212b30,0 0 0 12px #fffefa,0 0 0 13px #c3223e30}.journey-stop.is-active .journey-kicker{color:#b52037}
.journey-finish{text-align:center;position:relative;margin:65px auto 0;max-width:640px;padding:45px 15px 0}.journey-finish:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);height:1px;width:130px;background:linear-gradient(90deg,transparent,#c3223e70,transparent)}.journey-finish-label{font-size:9px;letter-spacing:.19em;color:#969585;font-weight:700}.journey-finish h3{font-family:var(--serif);font-size:clamp(35px,4.5vw,54px);line-height:1.12;font-weight:500;letter-spacing:-.035em;margin:18px 0}.journey-finish>p{font-size:15px;color:#777c70;max-width:380px;margin:0 auto 25px}.journey-cta{min-height:55px;padding:18px 29px;box-shadow:0 8px 25px #243c1a1c}.journey-finish-note{display:block;margin-top:19px;color:#818675;font-size:10px;line-height:1.8}.journey-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.journey-enhanced .journey-copy{opacity:.35;transform:translateY(20px);transition:opacity .65s ease,transform .8s cubic-bezier(.2,.7,.3,1)}.journey-enhanced .journey-stop.has-entered .journey-copy{opacity:1;transform:none}.journey-enhanced .journey-node{transition:box-shadow .5s,scale .55s;scale:.92}.journey-enhanced .journey-stop.has-entered .journey-node{scale:1}
@media(max-width:900px){.journey-copy{width:39%;margin-left:1%}.journey-stop:nth-child(even) .journey-copy{margin-left:61%}.journey-copy h3{font-size:30px}.journey-copy p{font-size:14px}.journey-node{width:68px;height:68px}.journey-node>span{font-size:20px}.journey-stop{min-height:340px}}
@media(max-width:620px){.customer-journey{padding:72px 0 65px}.customer-journey .journey-header h2{font-size:49px}.journey-header>p{font-size:15px;max-width:340px}.journey-header{margin-bottom:15px}.journey-nav{gap:23px}.journey-nav a:not(:last-child):after{left:41px;width:17px}.journey-canvas{margin-top:5px}.journey-stop{min-height:300px;scroll-margin-top:90px}.journey-copy,.journey-stop:nth-child(even) .journey-copy{width:calc(100% - 89px);margin-left:89px;padding:36px 0}.journey-copy h3{font-size:28px;line-height:1.18}.journey-copy p{font-size:14px;line-height:1.8}.journey-icon{height:42px;width:42px;border-radius:13px;margin-bottom:15px}.journey-icon svg{width:25px;height:25px}.journey-kicker{font-size:8px;letter-spacing:.12em}.journey-node,.journey-stop:nth-child(even) .journey-node{left:32px;width:54px;height:54px;box-shadow:inset 0 2px 2px white,inset 0 -3px 4px #a1928060,3px 8px 16px #48282122,0 0 0 5px #fffefa}.journey-stop:nth-child(even) .journey-node{left:45px}.journey-node:before{inset:5px}.journey-node:after{inset:-8px}.journey-node>span{font-size:17px}.journey-whisper,.journey-stop:nth-child(even) .journey-whisper{display:none}.journey-stop.is-active .journey-node{box-shadow:inset 0 2px 2px white,inset 0 -3px 4px #a1928060,3px 8px 16px #48282122,0 0 0 5px #fffefa,0 0 0 6px #c3223e25}.journey-finish{margin-top:35px}.journey-finish-note{max-width:260px;margin-inline:auto}}
@media(prefers-reduced-motion:reduce){.journey-enhanced .journey-copy{opacity:1;transform:none;transition:none}.journey-enhanced .journey-node{scale:1;transition:none}.journey-traveler,.journey-traveler-halo{display:none}}
@media(max-width:620px){.customer-journey:not(.journey-enhanced) .journey-route{display:none}.customer-journey:not(.journey-enhanced) .journey-stops:before{content:"";position:absolute;top:150px;bottom:150px;left:38px;width:2px;background:#c3223e55}}
