/* Four open development stations: drawings, sequence and text stay visible. */
.wv-journey { --wv-stroke:#7892b4; --wv-soft:#d8e7fb; position:relative; width:100%; }
.wv-stages { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; list-style:none; margin:0; padding:0; }
.wv-stage { position:relative; isolation:isolate; min-width:0; display:flex; flex-direction:column; padding:26px 32px 34px; border:1px solid #c0d3ed; border-radius:26px; background:linear-gradient(145deg,#f7faff 0,#e9f1fc 60%,#dceafb 100%); transition:border-color .5s,box-shadow .5s; }
.wv-stage::before { content:''; position:absolute; z-index:-1; inset:65px 10px 40%; pointer-events:none; background-image:linear-gradient(#6092ce0b 1px,transparent 1px),linear-gradient(90deg,#6092ce0b 1px,transparent 1px); background-size:28px 28px; mask-image:radial-gradient(ellipse,#000 10%,transparent 68%); }
.wv-stage:nth-child(2),.wv-stage:nth-child(3) { background:linear-gradient(155deg,#f7faff,#e1edfd); }
.wv-stage:last-child { border-style:dashed; }
.wv-chapterline { display:flex; align-items:center; gap:14px; color:#5c7ea6; text-transform:uppercase; font-size:10px; letter-spacing:.13em; line-height:1.5; }
.wv-number { display:grid; place-items:center; width:31px; height:31px; flex:none; border:1px solid #b2cbe9; border-radius:50%; color:#367bc9; font-size:11px; font-variant-numeric:tabular-nums; }
.wv-node { position:absolute; left:32px; top:76px; width:5px; height:5px; border-radius:50%; background:#7fa4d2; transition:background .4s,box-shadow .4s; }
.wv-connector { position:absolute; top:78px; left:44px; right:32px; height:1px; background:#b6cbe64d; }
.wv-progress { position:absolute; inset:0; background:#3989f0; transform-origin:0 50%; }
.wv-glyph { height:clamp(190px,17vw,245px); width:100%; max-width:370px; margin:15px auto 7px; display:flex; align-items:center; justify-content:center; }
.wv-glyph svg { width:100%; height:100%; overflow:visible; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.4; }
.wv-assembly { transform-origin:50% 50%; }
.wv-copy { width:100%; max-width:none; padding:0; }
.wv-copy h3 { color:#18324e; font-size:clamp(25px,2.3vw,37px); font-weight:510; letter-spacing:-.045em; line-height:1.13; margin:0 0 17px; text-wrap:balance; max-width:20ch; }
.wv-copy p { color:#5c7390; font-size:16px; line-height:1.7; max-width:47ch; text-wrap:pretty; }
.wv-stage.wv-is-active { border-color:#6aa4ef; box-shadow:0 17px 36px -30px #056bff66; }
.wv-stage.wv-is-active .wv-node { background:#056bff; box-shadow:0 0 0 5px #056bff10; }
.wv-stage.wv-is-active .wv-number { background:#056bff; color:#fff; border-color:#056bff; }
.wv-number { transition:background .4s,color .4s,border-color .4s; }
@media(hover:hover) and (pointer:fine) { .wv-stage:hover { border-color:#78a7e3; } }
@media(max-width:800px) { .wv-stage { padding:24px; } .wv-copy p { font-size:15px; } .wv-copy h3 { font-size:28px; } .wv-glyph { height:185px; } .wv-node { left:24px; } .wv-connector { left:36px; right:24px; } }
@media(max-width:620px) { .wv-stages { grid-template-columns:minmax(0,1fr); gap:20px; } .wv-stage { padding:23px 24px 29px; border-radius:22px; } .wv-glyph { height:195px; max-width:310px; margin-block:18px 5px; } .wv-copy h3 { font-size:30px; } .wv-copy p { font-size:16px; } }
@media(prefers-reduced-motion:reduce) { .wv-stage,.wv-node,.wv-number { transition:none; } }
.wv-quiet{stroke:#8fa6c4;opacity:.65}
.wv-surface{fill:#edf4fe;stroke:var(--wv-stroke)}
.wv-grid{stroke:#7498c5;stroke-width:.8;opacity:.32}
.wv-ink{stroke:#7892b4;stroke-width:1.2}
.wv-blue{stroke:var(--blue,#056bff);stroke-width:1.6}
.wv-blue-fill{fill:var(--blue,#056bff)}
.wv-blue-soft{fill:#bed7fc;stroke:#518cdf;stroke-width:1.1}
.wv-link{stroke:#8aaddb;stroke-width:1;opacity:.7}
.wv-depth-mid{fill:#9ec4fb}
.wv-depth-near{fill:#3888f6}
.wv-depth-far{fill:#c6ddfd}
.wv-floor{fill:#e0ebfa;stroke:#91adcf}
.wv-wall-left{fill:#d5e5fa;stroke:#7e9dc5}
.wv-wall-right{fill:#e7f0fd;stroke:#7e9dc5}
.wv-view{stroke:#90acce;stroke-width:1;stroke-dasharray:3 5}
.wv-growing{stroke:#6a98d5;stroke-width:1.3;stroke-dasharray:4 5}
.wv-scan-light{fill:#056bff;fill-opacity:.075;stroke:#6c9fe5;stroke-width:.8;stroke-dasharray:3 5}
