.approval-editorial .approval-content-flow { padding:56px 0 0; background:white; color:#071B35; }
.approval-editorial .approval-flow-heading { padding-bottom:40px; }
.approval-editorial .approval-flow-heading h2 { margin-bottom:18px; }
.approval-editorial .approval-flow-subheading { font-family:Manrope,sans-serif; font-size:20px; }
.approval-editorial .approval-flow-route { position:relative; list-style:none; padding:0; margin:0; }
.approval-editorial .journey-map { position:relative; }
.approval-editorial .approval-flow-route::before { content:''; position:absolute; left:25px; top:40px; bottom:40px; width:2px; background:#287BFF; z-index:1; }
.approval-editorial .journey-road { display:none; position:absolute; inset:0; width:100%; height:100%; z-index:1; pointer-events:none; overflow:visible; }
.approval-editorial .journey-road path { fill:none; }
.approval-editorial .road-bed { stroke:#dce5ee; stroke-width:18; }
.approval-editorial .road-dashes { stroke:#99acc2; stroke-width:1; stroke-dasharray:5 9; }
.approval-editorial .road-progress { stroke:#287BFF; stroke-width:2; }
.approval-editorial .road-light { fill:#287BFF; stroke:white; stroke-width:2; }
.approval-editorial .approval-flow-stage { position:relative; padding:34px 20px 46px 68px; border:0; border-radius:0; scroll-margin-top:120px; }
.approval-editorial .approval-flow-stage:nth-child(even) { background:#F1F4F7; }
.approval-editorial .approval-flow-marker { position:absolute; left:8px; top:34px; width:36px; min-height:68px; z-index:2; display:flex; flex-direction:column; gap:12px; align-items:center; background:white; padding:6px 0; }
.approval-editorial .approval-flow-marker span { font-size:13px; font-weight:600; color:#0B5ED7; }
.approval-editorial .approval-flow-marker img { width:24px; height:24px; opacity:.75; transition:transform 220ms ease; }
.approval-editorial .approval-flow-stage h3 { font-size:23px; line-height:1.35; color:inherit; margin:0 0 24px; }
.approval-editorial .approval-flow-stage p,.approval-editorial .approval-flow-stage ul li { font-size:16px; line-height:1.8; color:#465b6d; }
.approval-editorial .approval-flow-stage ul { list-style:none; padding:0; margin:24px 0 0; }
.approval-editorial .approval-flow-stage ul li { padding:14px 0 14px 18px; border-top:1px solid #cbd8e5; position:relative; }
.approval-editorial .approval-flow-stage ul li::before { content:''; width:5px; height:5px; position:absolute; left:0; top:25px; background:#287BFF; }
.approval-editorial .journey-copy { position:relative; z-index:2; }
.approval-editorial .journey-visual { display:none; }
.approval-editorial .approval-flow-stage:last-child { background:#071B35; color:white; }
.approval-editorial .approval-flow-stage:last-child p { color:#d8e5f2; }
.approval-editorial .approval-flow-stage:last-child .approval-flow-marker { background:#071B35; }
.approval-editorial .approval-flow-stage:last-child .approval-flow-marker span { color:#91bcff; }
.approval-editorial .approval-flow-stage:last-child .approval-flow-marker img { filter:invert(1); }
.approval-editorial .approval-flow-stage:focus-visible { outline:2px solid #287BFF; outline-offset:-3px; }
.approval-editorial .approval-flow-stage:is(:hover,:focus-visible) .approval-flow-marker img { transform:translateY(-2px); opacity:1; }
.approval-editorial .approval-flow-visible .journey-copy { animation:journey-rise 600ms ease both; }
@keyframes journey-rise { from { opacity:.7; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media(min-width:768px) {
 .approval-editorial .approval-content-flow { padding-top:76px; }
 .approval-editorial .approval-flow-stage { padding:46px 40px 56px 104px; }
 .approval-editorial .approval-flow-stage h3 { font-size:28px; }
 .approval-editorial .approval-flow-marker { left:28px; top:46px; }
 .approval-editorial .approval-flow-route::before { left:45px; }
 .approval-editorial .journey-copy { max-width:780px; }
}
@media(min-width:1200px) {
 .approval-editorial .approval-content-flow { padding-top:90px; }
 .approval-editorial .approval-flow-heading { max-width:920px; padding-bottom:64px; }
 .approval-editorial .approval-flow-route::before { left:50%; }
 .approval-editorial .approval-flow-route.journey-enhanced::before { display:none; }
 .approval-editorial .journey-map:has(.journey-enhanced) .journey-road { display:block; }
 .approval-editorial .approval-flow-stage { display:grid; grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr); padding:64px 36px; min-height:320px; align-items:center; }
 .approval-editorial .approval-flow-stage h3 { font-size:30px; }
 .approval-editorial .journey-copy { grid-column:1; grid-row:1; }
 .approval-editorial .approval-flow-stage:nth-child(even) .journey-copy { grid-column:3; }
 .approval-editorial .approval-flow-marker { left:calc(50% - 70px); top:68px; width:40px; }
 .approval-editorial .approval-flow-stage:nth-child(even) .approval-flow-marker { left:calc(50% + 30px); }
 .approval-editorial .journey-visual { display:flex; justify-content:center; align-items:center; grid-column:3; grid-row:1; padding:30px; }
 .approval-editorial .approval-flow-stage:nth-child(even) .journey-visual { grid-column:1; }
 .approval-editorial .journey-visual > img { width:100px; height:100px; opacity:.14; }
 .approval-editorial .journey-visual figure.content-circle-image { max-width:280px; }
 .approval-editorial .approval-flow-stage:last-child .journey-visual > img { filter:invert(1); opacity:.25; }
 .approval-editorial .approval-flow-stage ul { display:grid; grid-template-columns:1fr 1fr; column-gap:24px; }
}
.approval-editorial .approval-flow-heading { margin-inline:auto; text-align:center; }
.approval-editorial .journey-visual { display:flex; justify-content:center; margin-top:28px; perspective:800px; }
.approval-editorial .journey-visual > img,
.approval-editorial .approval-flow-stage:last-child .journey-visual > img {
 width:160px; height:160px; object-fit:contain; opacity:1; filter:drop-shadow(0 12px 14px rgba(7,27,53,.13));
 animation:journey-icon-float 4.5s ease-in-out infinite;
 transition:transform 300ms ease,filter 300ms ease;
}
.approval-editorial .approval-flow-stage:last-child .approval-flow-marker img { filter:none; }
.approval-editorial .approval-flow-marker img { width:30px; height:30px; opacity:1; object-fit:contain; }
.approval-editorial .approval-flow-stage:is(:hover,:focus-visible) .journey-visual > img {
 animation-play-state:paused; transform:translateY(-8px) rotateY(-12deg) rotateX(5deg) scale(1.08);
 filter:drop-shadow(0 20px 18px rgba(7,27,53,.22));
}
@keyframes journey-icon-float { 0%,100% { translate:0 0; } 50% { translate:0 -7px; } }
@media(min-width:1200px) { .approval-editorial .journey-visual { margin-top:0; } .approval-editorial .journey-visual > img { width:210px; height:210px; } }
@media(prefers-reduced-motion:reduce) { .approval-editorial .approval-content-flow *,.approval-editorial .approval-content-flow *::before { animation:none!important; transition:none!important; scroll-behavior:auto; } }
