/* Approved cluster journey component — production integration v1 */
.jrl-cluster-journey{--cj-forest:#003e32;--cj-forest-2:#075240;--cj-gold:#e3bc5b;--cj-mint:#c9f2df;position:relative;isolation:isolate;overflow:hidden;margin-top:30px;margin-bottom:34px;padding:34px;border:1px solid rgba(228,190,91,.5);border-radius:29px;background:linear-gradient(145deg,#075240 0,#003d32 52%,#002f28 100%);box-shadow:0 28px 75px rgba(0,55,43,.2);color:#fff}
.jrl-cluster-journey:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 18% 72%,rgba(20,217,138,.12),transparent 27%),radial-gradient(circle at 85% 42%,rgba(227,188,91,.1),transparent 24%)}
.jrl-cj-shine{position:absolute;z-index:4;top:-40%;bottom:-40%;left:-25%;width:18%;rotate:13deg;background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent);animation:jrlCjSheen 8s ease-in-out infinite;pointer-events:none}
.jrl-cj-head{text-align:center}
.jrl-cj-kicker{display:block;margin-bottom:8px;color:#efc967;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.jrl-cj-head h2{max-width:940px;margin:0 auto;color:#fff;font-size:clamp(30px,4vw,52px);line-height:1;letter-spacing:-.045em}
.jrl-cj-head p{max-width:720px;margin:10px auto 24px;color:#c9ded4;font-size:13px;line-height:1.55}
.jrl-cj-track{position:relative;display:grid;grid-template-columns:1.22fr 1fr 1.28fr 1.22fr .9fr;gap:9px}
.jrl-cj-track:before{content:"";position:absolute;z-index:-1;top:25px;right:3%;left:3%;height:1px;background:rgba(227,188,91,.42)}
.jrl-cj-stage{position:relative;min-width:0;min-height:376px;padding:48px 11px 14px;border:1px solid rgba(193,229,212,.19);border-radius:19px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,31,25,.12));transition:border-color .4s ease,background .4s ease,box-shadow .4s ease}
.jrl-cj-stage.is-live{border-color:rgba(239,201,103,.76);background:linear-gradient(180deg,rgba(20,217,138,.12),rgba(0,31,25,.18));box-shadow:inset 0 0 24px rgba(20,217,138,.07),0 10px 24px rgba(0,0,0,.12)}
.jrl-cj-number{position:absolute;z-index:4;top:8px;left:50%;display:grid;width:34px;height:34px;translate:-50% 0;place-items:center;border:1px solid rgba(230,190,87,.8);border-radius:50%;background:#07513f;color:#f1d17c;font-size:11px;font-weight:900;box-shadow:0 0 0 5px #064838}
.jrl-cj-stage.is-live .jrl-cj-number{background:#e2b957;color:#073d31;box-shadow:0 0 0 5px #064838,0 0 21px rgba(234,194,91,.74)}
.jrl-cj-stage-heading{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;margin:0 0 12px}
.jrl-cj-stage-heading>div{min-width:0}
.jrl-cj-icon{display:grid;flex:0 0 37px;width:37px;height:37px;margin:0;place-items:center;border:1px solid rgba(39,224,148,.45);border-radius:50%;background:linear-gradient(145deg,rgba(18,123,92,.38),rgba(0,45,37,.3));color:#87efba;box-shadow:inset 0 1px rgba(255,255,255,.08)}
.jrl-cj-icon svg,.jrl-cj-solution-icon svg,.jrl-cj-time-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.jrl-cj-stage-heading h3{min-height:0;margin:0 0 3px;color:#fff;text-align:left;font-size:15px;line-height:1.15}
.jrl-cj-stage-heading p{min-height:0;margin:0;color:#bad2c6;text-align:left;font-size:8px;line-height:1.35}
.jrl-cj-portrait-sheet{position:relative;overflow:hidden;max-width:188px;margin:8px auto 10px;border:1px solid rgba(229,188,88,.72);border-radius:13px;background:#00392f;box-shadow:0 10px 24px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.12)}
.jrl-cj-portrait-sheet img{display:block;width:100%;height:auto;aspect-ratio:1.62;object-fit:cover}
.jrl-cj-portrait-sheet:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 34%,rgba(255,255,255,.22) 49%,transparent 64%);translate:-150% 0;animation:jrlCjPortraitLight 5s ease-in-out infinite}
.jrl-cj-labels{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}
.jrl-cj-labels span{padding:4px 6px;border-radius:99px;background:rgba(0,34,28,.64);color:#d4eade;font-size:7px}
.jrl-cj-time-list,.jrl-cj-solution-list,.jrl-cj-cost-list{display:grid;gap:7px}
.jrl-cj-time-item{display:grid;grid-template-columns:29px 1fr;grid-template-rows:auto auto;align-items:center;gap:1px 7px;min-height:48px;padding:7px 9px;border:1px solid rgba(220,177,73,.58);border-radius:11px;background:linear-gradient(145deg,rgba(4,69,55,.95),rgba(0,46,38,.9));box-shadow:inset 0 1px rgba(255,255,255,.06),0 5px 12px rgba(0,0,0,.11);line-height:1.1}
.jrl-cj-time-icon{grid-row:1/3;display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:linear-gradient(145deg,#168267,#07513f);color:#f1c964;box-shadow:inset 0 1px rgba(255,255,255,.14),0 4px 10px rgba(0,0,0,.16)}
.jrl-cj-time-item strong{color:#fff;font-size:15px;font-style:normal;font-weight:900;letter-spacing:-.03em}
.jrl-cj-time-item small{color:#c3d9cf;font-size:7px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.jrl-cj-solution-list{gap:10px}
.jrl-cj-solution{display:grid;width:100%;min-height:66px;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;padding:10px 11px;border:1px solid rgba(211,169,66,.72);border-radius:13px;background:linear-gradient(145deg,#fffdf5 0,#f7edcd 58%,#ead59a 100%);color:#173f34;box-shadow:inset 0 1px rgba(255,255,255,.85),0 7px 15px rgba(0,20,15,.2)}
.jrl-cj-solution-icon{grid-row:1/3;display:grid;width:38px;height:38px;place-items:center;border-radius:10px;background:linear-gradient(145deg,#087259,#003f34);color:#f3cb66;box-shadow:inset 0 1px rgba(255,255,255,.2),0 4px 9px rgba(0,45,35,.2)}
.jrl-cj-solution:nth-child(2) .jrl-cj-solution-icon{background:linear-gradient(145deg,#f1a03e,#cf6f1f);color:#fff}
.jrl-cj-solution:nth-child(3) .jrl-cj-solution-icon{background:linear-gradient(145deg,#139175,#07513f);color:#fff}
.jrl-cj-solution b{color:#143f34;font-size:11px;line-height:1.15}
.jrl-cj-solution small{color:#61736b;font-size:9px;line-height:1.25}
.jrl-cj-offer{display:grid;gap:7px}
.jrl-cj-cost{min-height:45px;padding:7px 8px;border:1px solid rgba(167,213,192,.18);border-radius:10px;background:linear-gradient(145deg,rgba(0,48,39,.94),rgba(0,34,28,.9));box-shadow:inset 0 1px rgba(255,255,255,.045)}
.jrl-cj-cost-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:#e6c366;font-size:9px}
.jrl-cj-cost-top b{color:#dcefe6;font-size:8px;text-align:right}
.jrl-cj-cost-line{height:7px;background:repeating-linear-gradient(90deg,rgba(108,207,151,.78) 0 5px,transparent 5px 9px);mask:linear-gradient(90deg,#000 0 93%,transparent 93%)}
.jrl-cj-cost-line i{position:relative;display:block;width:var(--w);height:100%;animation:jrlCjBarGlow 2.5s ease-in-out infinite}
.jrl-cj-cost-line i:after{content:"";position:absolute;top:50%;right:-4px;width:9px;height:9px;translate:0 -50%;border-radius:50%;background:#fff3bd;box-shadow:0 0 8px 3px rgba(227,188,91,.8),0 0 18px rgba(227,188,91,.7)}
.jrl-cj-funding{display:grid;justify-items:center;align-content:start;text-align:center}
.jrl-cj-funding-flow{display:grid;width:100%;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:3px;margin:12px auto 0;text-align:center}
.jrl-cj-funding-flow span{display:grid;min-height:28px;padding:7px 3px;place-items:center;border:1px solid rgba(211,169,66,.32);border-radius:6px;background:linear-gradient(145deg,rgba(4,69,55,.95),rgba(0,39,32,.9));color:#dcefe6;font-size:7px;font-weight:850}
.jrl-cj-funding-flow i{color:#e7c05f;font-size:7px;font-style:normal}
.jrl-cj-orb{display:grid;width:92px;height:92px;margin:45px auto 14px;place-items:center;border:2px solid #f0ce78;border-radius:50%;background:radial-gradient(circle at 35% 30%,#148161,#003d32 66%);box-shadow:0 0 0 7px rgba(233,190,81,.08),0 0 31px rgba(233,190,81,.57);animation:jrlCjOrbGlow 2.4s ease-in-out infinite}
.jrl-cj-orb span{font-size:44px}
.jrl-cj-final-copy{display:block;color:#fff8dc;font-size:9px;line-height:1.4;text-align:center}
.jrl-cj-footer{display:grid;justify-items:center;gap:11px;margin-top:13px;padding:12px 16px;border:0;background:transparent}
.jrl-cj-footer-route{display:flex;align-items:center;justify-content:center;gap:9px;color:#f0cc72;font-size:9px;font-weight:800}
.jrl-cj-footer-route span{min-width:145px;padding:9px 14px;border:1px solid rgba(227,188,91,.55);border-radius:999px;text-align:center}
.jrl-cj-footer-route i{color:#e8c365;font-style:normal}
.jrl-cj-footer p{max-width:980px;margin:0;color:#9bb7aa;font-size:8px;line-height:1.45;text-align:center}
.jrl-cj-travelers{position:absolute;z-index:2;top:0;right:0;left:0;height:52px;overflow:hidden;pointer-events:none}
.jrl-cj-travelers>span{position:absolute;top:12px;left:2%;width:27px;height:27px;border:1px solid #f0c969;border-radius:50%;background-image:url('/assets/cluster-journey/borrower-portraits.png');background-position:var(--x) 0;background-size:400% 200%;box-shadow:0 5px 13px rgba(0,0,0,.34),0 0 0 4px rgba(227,188,91,.1),0 0 17px rgba(255,217,113,.38);opacity:0;animation:jrlCjTraveler 10.8s linear infinite;animation-delay:calc(var(--delay) * -1)}
@keyframes jrlCjSheen{0%,68%{translate:-100% 0;opacity:0}75%{opacity:1}94%,100%{translate:780% 0;opacity:0}}
@keyframes jrlCjPortraitLight{0%,55%{translate:-150% 0}82%,100%{translate:150% 0}}
@keyframes jrlCjBarGlow{0%,100%{filter:brightness(.82)}50%{filter:brightness(1.35)}}
@keyframes jrlCjOrbGlow{0%,100%{scale:.96}50%{scale:1.03;box-shadow:0 0 0 10px rgba(233,190,81,.05),0 0 42px rgba(233,190,81,.76)}}
@keyframes jrlCjTraveler{0%{left:2%;scale:.58;opacity:0}4%{opacity:1}28%{scale:.82}55%{scale:1.08}82%{scale:.86}96%{opacity:1}100%{left:calc(98% - 27px);scale:.64;opacity:0}}
@media(max-width:1080px) and (min-width:621px){.jrl-cluster-journey{padding:30px 22px}.jrl-cj-track{grid-template-columns:repeat(5,195px);justify-content:start;margin-right:-22px;padding:4px 22px 18px 0;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.jrl-cj-track::-webkit-scrollbar{display:none}.jrl-cj-track:before{display:none}.jrl-cj-stage{scroll-snap-align:start}.jrl-cj-travelers{right:auto;width:1011px}}
@media(max-width:620px){.jrl-cluster-journey{margin-top:22px;margin-bottom:26px;padding:23px 14px;border-radius:22px}.jrl-cj-head{text-align:left}.jrl-cj-head h2{font-size:34px}.jrl-cj-head p{margin-left:0}.jrl-cj-track{display:grid;grid-template-columns:1fr;gap:10px;margin:0;padding:0;overflow:visible}.jrl-cj-track:before{display:block;z-index:-1;top:20px;bottom:20px;left:25px;width:1px;height:auto;background:rgba(227,188,91,.35)}.jrl-cj-stage{min-height:0;padding:17px 13px 17px 60px;border-radius:19px;scroll-snap-align:none}.jrl-cj-number{top:15px;left:9px;translate:0 0;width:34px;height:34px}.jrl-cj-stage-heading{justify-content:flex-start;gap:10px;margin-bottom:12px}.jrl-cj-icon{flex-basis:34px;width:34px;height:34px}.jrl-cj-stage-heading h3{font-size:18px}.jrl-cj-stage-heading p{font-size:9px}.jrl-cj-portrait-sheet{max-width:260px;margin-left:0}.jrl-cj-labels{justify-content:flex-start}.jrl-cj-solution{min-height:68px}.jrl-cj-funding-flow{margin-top:4px}.jrl-cj-orb{margin:24px auto 12px}.jrl-cj-footer{justify-items:start;padding-right:0;padding-left:0}.jrl-cj-footer-route{justify-content:flex-start;flex-wrap:wrap}.jrl-cj-footer-route span{min-width:0}.jrl-cj-footer p{text-align:left}.jrl-cj-travelers{top:0;bottom:0;left:8px;width:35px;height:auto;overflow:visible}.jrl-cj-travelers>span{top:1%;left:0;width:27px;height:27px;animation-name:jrlCjTravelerMobile}}
@keyframes jrlCjTravelerMobile{0%{top:1%;scale:.58;opacity:0}4%{opacity:1}28%{scale:.82}55%{scale:1.08}82%{scale:.86}96%{opacity:1}100%{top:calc(99% - 27px);scale:.64;opacity:0}}
@media(prefers-reduced-motion:reduce){.jrl-cj-shine,.jrl-cj-portrait-sheet:after,.jrl-cj-cost-line i,.jrl-cj-orb,.jrl-cj-travelers>span{animation:none}.jrl-cj-travelers{display:none}.jrl-cj-stage{transition:none}}

