.cv-flow{position:relative;isolation:isolate;width:100%;margin:0;padding:12px 0 28px;--cv-blue:#056bff;--cv-wire:#83a8d9}
.cv-flow::before{content:"";position:absolute;z-index:-2;inset:2% -5% -5%;background:radial-gradient(ellipse at 49% 51%,#056bff0c,transparent 65%);pointer-events:none}
.cv-stages{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.13fr) minmax(0,1fr);gap:clamp(32px,4.2vw,90px);align-items:start}
.cv-station{position:relative;min-width:0;perspective:1000px;z-index:2}
.cv-foundation{padding-top:32px}.cv-geometry{padding-top:64px}
.cv-surface{position:relative;min-height:440px;display:flex;flex-direction:column;padding:30px clamp(22px,2.4vw,47px) 34px;transform-style:preserve-3d;will-change:transform;border-radius:28px;background:linear-gradient(147deg,#ffffffd9,#f5f9ff4a 68%);border:1px solid #fff9;box-shadow:0 22px 55px -43px #3c669968}
.cv-foundation .cv-surface{border-top-right-radius:90px;background:linear-gradient(145deg,#ffffffc9,#f6f9ff73 63%,#dce8f840);border-right-color:#b7cce933;border-bottom-color:#a7c1e342}
.cv-training .cv-surface{min-height:480px;background:radial-gradient(ellipse at 88% 3%,#5b9df866,transparent 62%),linear-gradient(151deg,#096bf3,#0757d8 72%,#0753ca);border-color:#1d79fb;color:#fff;box-shadow:0 28px 50px -32px #056bff76,0 5px 20px -12px #12407844}
.cv-geometry .cv-surface{border-bottom-left-radius:80px;background:linear-gradient(135deg,#f9fcffb8,#e4eefc99 70%);border-left-color:#b7cce947;border-bottom-color:#a7c1e342;padding-bottom:43px}
.cv-surface::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at var(--cv-light-x,50%) var(--cv-light-y,20%),#ffffffb8,transparent 60%);opacity:0;transition:opacity .5s ease;z-index:-1}
.cv-training .cv-surface::before{background:radial-gradient(ellipse at var(--cv-light-x,50%) var(--cv-light-y,20%),#d8ebff35,transparent 64%)}
.cv-stage-label{position:relative;display:flex;align-items:center;gap:8px;min-height:16px;font-size:9px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;font-weight:550;color:#647f9f;white-space:nowrap}
.cv-status-dot{width:5px;height:5px;display:block;flex:0 0 5px;border:1px solid #7f9bbd;border-radius:50%}
.cv-training .cv-stage-label{color:#d3e5ff}.cv-training .cv-status-dot{border-color:#d0e5ff;background:#d0e5ff}.cv-geometry .cv-status-dot{background:#056bff;border-color:#056bff}
.cv-art{position:relative;width:calc(100% + 44px);margin:18px -22px 18px;aspect-ratio:1.82;display:flex;align-items:center;justify-content:center;transform:translateZ(16px);pointer-events:none}
.cv-art svg{display:block;width:100%;height:100%;overflow:visible}
.cv-training .cv-art{margin-top:24px;margin-bottom:20px}
.cv-copy{position:relative;transform:translateZ(10px);margin-top:auto}
.cv-copy h3{font-size:clamp(26px,2.5vw,44px);line-height:1.08;letter-spacing:-.049em;font-weight:540;text-wrap:balance;margin:0 0 19px;max-width:10ch}
.cv-foundation .cv-copy h3{max-width:none}.cv-training .cv-copy h3{max-width:11ch}
.cv-copy p{font-size:clamp(15px,1.18vw,19px);line-height:1.62;letter-spacing:-.013em;color:#617591;max-width:28ch;min-height:calc(1em * 1.62 * 3)}
.cv-training .cv-copy p{color:#dae9ff}.cv-geometry .cv-copy p{max-width:30ch}
.cv-connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1;pointer-events:none}
.cv-wire,.cv-signal{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.cv-wire{stroke:var(--cv-wire);stroke-opacity:.31;stroke-width:1.5}.cv-signal{stroke:url(#cv-link-gradient);stroke-width:1.6}.cv-packet{fill:#056bff;stroke:#eff5ff;stroke-width:4;paint-order:stroke;opacity:0}
.cv-port{position:absolute;width:9px;height:9px;border:1px solid #81a8dd;background:#f1f6fd;border-radius:50%;top:47%;transform:translateY(-50%);box-shadow:0 0 0 5px #e6effbc2;z-index:3}.cv-port-out{right:-5px}.cv-port-in{left:-5px}.cv-training .cv-port{border-color:#abd0ff;background:#e0efff;box-shadow:0 0 0 5px #377feb}
.cv-feature-layer,.cv-depth-field,.cv-depth-ridge,.cv-depth-base,.cv-room-volume,.cv-camera,.cv-view-rays{transform-box:fill-box;transform-origin:center;will-change:transform}
@media(hover:hover) and (pointer:fine){.cv-station:hover .cv-surface::before{opacity:.75}}
@media(min-width:1700px){.cv-surface{min-height:525px}.cv-training .cv-surface{min-height:565px}.cv-stage-label{font-size:10px}.cv-art{margin-top:30px}.cv-copy h3{font-size:46px}.cv-copy p{font-size:20px;max-width:25ch}}
@media(min-width:701px) and (max-width:1000px){.cv-stages{gap:26px}.cv-surface{padding:24px 19px 28px;min-height:405px}.cv-training .cv-surface{min-height:442px}.cv-stage-label{font-size:7px;letter-spacing:.095em;gap:6px}.cv-art{width:calc(100% + 28px);margin-inline:-14px;margin-block:25px}.cv-copy h3{font-size:27px}.cv-copy p{font-size:13px;line-height:1.66}.cv-foundation .cv-surface{border-top-right-radius:66px}.cv-geometry .cv-surface{border-bottom-left-radius:60px}}
@media(max-width:700px){.cv-flow{padding:0 0 10px;max-width:530px;margin-inline:auto}.cv-stages{grid-template-columns:minmax(0,1fr);gap:53px}.cv-foundation,.cv-geometry{padding-top:0}.cv-station{width:92%}.cv-foundation{justify-self:start}.cv-training{justify-self:center}.cv-geometry{justify-self:end}.cv-surface,.cv-training .cv-surface{min-height:0;padding:27px 30px 31px}.cv-geometry .cv-surface{padding-bottom:34px}.cv-stage-label{font-size:8px}.cv-art{aspect-ratio:2.25;max-height:186px;width:calc(100% + 28px);margin:7px -14px 13px}.cv-training .cv-art{margin-block:11px 18px}.cv-copy h3{font-size:34px;max-width:none;margin-bottom:16px}.cv-training .cv-copy h3{max-width:none}.cv-copy p{font-size:15px;min-height:0;max-width:29ch;line-height:1.6}.cv-geometry .cv-copy p{max-width:30ch}.cv-port{left:50%;right:auto;top:auto;transform:translateX(-50%)}.cv-port-out{bottom:-5px}.cv-port-in{top:-5px}.cv-surface{border-radius:25px}.cv-foundation .cv-surface{border-top-right-radius:90px}.cv-geometry .cv-surface{border-bottom-left-radius:66px}}
@media(max-width:370px){.cv-surface,.cv-training .cv-surface{padding-inline:24px}.cv-copy h3{font-size:30px}.cv-stage-label{font-size:7px}.cv-copy p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.cv-station,.cv-surface,.cv-feature-layer,.cv-depth-field,.cv-depth-ridge,.cv-depth-base,.cv-room-volume,.cv-camera,.cv-view-rays{will-change:auto}.cv-signal{stroke-dasharray:none!important;stroke-dashoffset:0!important}.cv-packet{display:none}}

@media(max-width:700px){.cv-flow:not(.cv-ready) .cv-connections{display:none}.cv-flow:not(.cv-ready) .cv-station:not(:last-child)::after{content:"";position:absolute;left:50%;top:100%;width:1px;height:54px;background:linear-gradient(#8aafde,#056bff80);z-index:-1}}
