/* One illustrated landscape, ordered from right to left. Content is visible without JS. */
.wc-journey {
    --journey-lilac:#c7a9ff;
    position:relative; isolation:isolate; overflow:hidden; margin:32px 0;
    padding:26px 28px 20px; border-radius:26px; color:#fff;
    background:radial-gradient(ellipse at 80% 40%,#7150ce35,transparent 45%),radial-gradient(ellipse at 20% 60%,#169b8a20,transparent 45%),#252039;
    box-shadow:0 22px 45px #28203d15;
}
.wc-journey::before { content:''; position:absolute; inset:0; z-index:-1; opacity:.15; background-image:radial-gradient(#c3addf 1px,transparent 1px); background-size:24px 24px; mask-image:linear-gradient(transparent,#000 30%,transparent); }
.wc-journey-heading { display:flex; justify-content:space-between; gap:15px; align-items:center; border-bottom:1px solid #ffffff14; padding-bottom:18px; }
.wc-journey-heading span { font-size:13px; color:#c6bbd7; }
.wc-journey-heading span:first-child { color:#e2d4fa; font-weight:700; }
.wc-journey .wc-wizard-map { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; border:0; margin:0; padding:22px 0 28px; }
.wc-journey .wc-route-step,
.wc-journey .wc-route-step:nth-child(2),
.wc-journey .wc-route-step:nth-child(3) { display:block; min-width:0; padding:0; margin:0; border:0; border-radius:0; background:none; }
.wc-journey .wc-route-step::after { display:none; }
.wc-journey .wc-route-visual { position:relative; display:grid; place-items:center; height:205px; margin:0 0 30px; }
.wc-journey .wc-route-visual img { position:relative; width:225px; max-width:100%; height:185px; object-fit:contain; filter:drop-shadow(0 12px 16px #100e2230); transition:transform .35s; }
.wc-journey .wc-route-step:hover .wc-route-visual img { transform:translateY(-6px); }
.wc-route-orbit { position:absolute; width:173px; height:173px; border:1px solid #bc9fe732; border-radius:50%; background:radial-gradient(circle,#ad82f51c,transparent 70%); }
.wc-route-orbit::before { content:''; position:absolute; inset:-12px; border:1px dashed #bc9fe725; border-radius:50%; }
.wc-route-orbit::after { content:''; position:absolute; top:26px; right:17px; width:7px; height:7px; background:#c3a1f5; border-radius:50%; box-shadow:0 0 16px #bd96f5; }
.wc-journey .wc-route-step:nth-child(2) .wc-route-orbit { border-color:#76d2b14a; background:radial-gradient(circle,#68c5a61c,transparent 70%); }
.wc-journey .wc-route-step:nth-child(2) .wc-route-orbit::after { background:#8ce2c9; box-shadow:0 0 16px #8ce2c9; }
.wc-journey .wc-route-step:nth-child(3) .wc-route-orbit::after { background:#efd2a2; box-shadow:0 0 16px #efd2a2; }
.wc-journey .wc-route-number { position:absolute; bottom:-10px; left:calc(50% - 21px); display:grid; place-items:center; width:42px; height:42px; background:#342a48; border:1px solid #b596db70; color:#eedfff; border-radius:50%; font-size:15px; box-shadow:0 0 0 6px #29223e; }
.wc-journey .wc-route-step:nth-child(2) .wc-route-number { color:#b6f0dd; border-color:#79cbb17a; }
.wc-journey .wc-route-step:nth-child(3) .wc-route-number { color:#f3dcaf; border-color:#d4b77a7a; }
.wc-journey .wc-route-copy { position:relative; padding:8px 2px 0; }
.wc-journey .wc-route-label { color:#b8a6cc; font-size:13px; line-height:1.8; margin-bottom:10px; }
.wc-journey .wc-route-copy strong { color:#f6f0ff; font-size:18px; line-height:1.9; }
.wc-journey .wc-route-copy p { color:#c7bed4; font-size:14px; line-height:2; margin:10px 0 0; }
.wc-journey-line { position:absolute; top:140px; left:0; width:100%; height:140px; pointer-events:none; }
.wc-line-track { stroke:#b99cdb35; stroke-width:1.5; stroke-dasharray:4 6; }
.wc-line-progress { stroke:#bf9fea; stroke-width:2; stroke-dasharray:1; stroke-dashoffset:0; opacity:.65; }
.wc-journey-footer { display:flex; gap:10px; align-items:center; border-top:1px solid #ffffff14; padding-top:17px; color:#bfb1d1; font-size:13px; line-height:1.9; }
.wc-journey-footer > span { color:#d4b6fc; font-size:19px; }
.wc-journey-started .wc-route-step { animation:wc-station-arrive .75s cubic-bezier(.22,.61,.36,1) both; }
.wc-journey-started .wc-route-step:nth-child(2) { animation-delay:.5s; }
.wc-journey-started .wc-route-step:nth-child(3) { animation-delay:1s; }
.wc-journey-started .wc-line-progress { animation:wc-route-draw 1.8s ease-in-out .25s both; }
.wc-journey-started .wc-route-orbit::after { animation:wc-orbit-on 1s ease-out .4s both; }
.wc-journey-started .wc-route-step:nth-child(2) .wc-route-orbit::after { animation-delay:.9s; }
.wc-journey-started .wc-route-step:nth-child(3) .wc-route-orbit::after { animation-delay:1.4s; }
@keyframes wc-station-arrive { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
@keyframes wc-route-draw { from { stroke-dashoffset:1; opacity:0; } to { stroke-dashoffset:0; opacity:.65; } }
@keyframes wc-orbit-on { from { opacity:0; transform:scale(.3); } to { opacity:1; transform:scale(1); } }
@media(max-width:1000px) and (min-width:768px) {
    .wc-journey { padding-inline:20px; }
    .wc-journey .wc-wizard-map { gap:20px; }
    .wc-journey .wc-route-visual { height:175px; }
    .wc-journey .wc-route-visual img { height:155px; }
    .wc-route-orbit { width:135px; height:135px; }
    .wc-journey .wc-route-copy strong { font-size:16px; }
}
@media(max-width:767px) {
    .wc-journey { padding:20px 18px; margin-inline:-8px; border-radius:20px; }
    .wc-journey-heading { flex-wrap:wrap; gap:4px 18px; }
    .wc-journey .wc-wizard-map { grid-template-columns:1fr; gap:0; padding:10px 0 0; }
    .wc-journey .wc-route-step:nth-child(n) { position:relative; padding:10px 32px 28px 0; }
    .wc-journey .wc-route-step:not(:last-child)::before { content:''; position:absolute; top:64px; bottom:-64px; right:0; border-right:1px dashed #b99cdb70; }
    .wc-journey .wc-route-visual { height:145px; margin:0 0 10px; }
    .wc-journey .wc-route-visual img { height:145px; width:185px; }
    .wc-route-orbit { width:120px; height:120px; }
    .wc-journey .wc-route-number { top:36px; bottom:auto; left:auto; right:-47px; width:31px; height:31px; font-size:13px; box-shadow:0 0 0 5px #29223e; }
    .wc-journey .wc-route-copy { padding:5px 0 0; }
    .wc-journey .wc-route-copy strong { font-size:17px; }
    .wc-journey .wc-route-copy p { font-size:14px; }
    .wc-journey-line { display:none; }
    .wc-journey .wc-route-label { margin-bottom:6px; }
}
@media(prefers-reduced-motion:reduce) {
    .wc-journey *, .wc-journey *::after { animation:none!important; transition:none!important; }
    .wc-journey .wc-route-step:hover .wc-route-visual img { transform:none; }
}
/* The restored illustration now sits independently below the hero. */
.wc-page > .wc-journey { width:min(1240px,calc(100% - 48px)); margin:32px auto; }
.wc-journey .wc-route-label { display:block; }
.wc-journey .wc-route-copy strong { display:block; }
@media(max-width:767px) {
    .wc-page > .wc-journey { width:calc(100% - 28px); margin:24px auto; }
}
