/* Film panes, moving coordinates, topographic light, evidence and the growing city.
   Transform/opacity carries ambient motion; every layer pauses when off screen. */
.cinema-panes{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1;display:flex;opacity:.5}
.cinema-panes i{width:33.34%;height:100%;border-left:1px solid #c1faff25;background:linear-gradient(110deg,transparent 50%,#88f2ff15);transform:translateY(calc(var(--journey-phase,0) * -35%));animation:pane-arrive 950ms cubic-bezier(.16,1,.3,1) both}
.cinema-panes i:nth-child(2){animation-delay:120ms;transform:translateY(calc(var(--journey-phase,0) * 25%))}.cinema-panes i:nth-child(3){animation-delay:240ms}
@keyframes pane-arrive{from{opacity:0;translate:0 35%}to{opacity:1;translate:0 0}}
.journey-waypoints{position:absolute;inset:0;pointer-events:none;z-index:2;color:#eafff8;font:600 10px/1.4 system-ui;letter-spacing:.18em}
.journey-waypoints span{position:absolute;display:flex;gap:10px;align-items:center;padding:9px 13px;border:1px solid #b6ffdf44;border-radius:999px;background:#08243788;animation:waypoint-drift 3.8s ease-in-out infinite alternate;animation-play-state:paused}
.journey-waypoints span:nth-child(1){top:18%;left:8%}.journey-waypoints span:nth-child(2){top:43%;right:17%;animation-delay:-1.3s}.journey-waypoints span:nth-child(3){top:67%;right:7%;animation-delay:-2.5s}
.journey-waypoints i{width:6px;height:6px;background:#a9ffe0;border-radius:50%;box-shadow:0 0 0 5px #c5ffe518}
@keyframes waypoint-drift{to{transform:translate3d(12px,-14px,0)}}
.journey-active .journey-waypoints span{animation-play-state:running}
.vision-ribbon{position:absolute;bottom:110px;left:-5%;width:110%;height:150px;pointer-events:none;z-index:-1;opacity:.35;transform:translateY(calc((.5 - var(--journey-phase,.5)) * 100px))}.vision-ribbon svg{width:100%;height:100%;overflow:visible}.vision-ribbon path{fill:none;stroke:#48baa2;stroke-width:18;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--journey-reveal,0))}
.connection-packets{position:absolute;inset:auto 8% 8%;height:160px;pointer-events:none;overflow:hidden;z-index:1}.connection-packets i{position:absolute;top:calc(var(--packet) * 22%);width:calc(12px + var(--packet) * 5px);height:3px;border-radius:10px;background:#338bca;opacity:0;animation:packet-travel 3s linear infinite;animation-delay:calc(var(--packet) * -.56s);animation-play-state:paused}
.journey-active .connection-packets i{animation-play-state:running}@keyframes packet-travel{0%{transform:translateX(-30px);opacity:0}20%,75%{opacity:.65}100%{transform:translateX(75vw);opacity:0}}
.landscape-contours{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.35;transform:translateY(calc((var(--journey-phase,.5) - .5) * -70px))}.landscape-contours svg{width:100%;height:100%}.landscape-contours path{fill:none;stroke:#bfffea;stroke-width:1;stroke-dasharray:.22 .78;stroke-dashoffset:calc(var(--journey-phase,0) * -.65 + var(--contour) * .06)}
.team-join{position:relative;width:min(680px,85%);margin:26px auto 0;display:flex;align-items:center;gap:20px;color:#27887e;pointer-events:none}.team-join i{height:1px;flex:1;background:linear-gradient(90deg,#bfd4f2,#75cdb7);transform:scaleX(var(--journey-reveal,0));transform-origin:right}.team-join i:last-child{transform-origin:left}.team-join b{display:grid;place-items:center;width:42px;height:42px;border:1px solid #b7dacf;border-radius:50%;font:800 18px system-ui;transform:scale(calc(.65 + var(--journey-reveal,0) * .35))}
.progress-illustration{position:relative;isolation:isolate;width:72px;height:72px;margin-top:24px;color:#288f7e;pointer-events:none;transform:translateY(calc((1 - var(--journey-reveal,0)) * 20px))}.progress-illustration svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.progress-illustration i{position:absolute;inset:0;border:1px solid #329a7929;border-radius:20px;z-index:-1;transform:rotate(12deg);animation:evidence-pulse 3s ease-in-out infinite alternate;animation-play-state:paused}.progress-illustration i+i{inset:10px;background:#83cbb515;transform:rotate(-12deg);animation-delay:-1.5s}.journey-active .progress-illustration i{animation-play-state:running}.progress-card:nth-child(2) .progress-illustration{color:#397ce2}.progress-card:nth-child(3) .progress-illustration{color:#91754b}
@keyframes evidence-pulse{to{transform:rotate(0deg) scale(.85);opacity:.55}}
.horizon-grid{position:absolute;inset:auto 0 0;height:50%;z-index:-1;overflow:hidden;pointer-events:none;opacity:.35}.horizon-grid i{position:absolute;left:-15%;width:130%;height:1px;background:linear-gradient(90deg,transparent,#66aeeea6,transparent);top:calc(var(--row,1) * 18%);transform:translateY(calc(var(--journey-phase,0) * 85px))}.horizon-grid i:nth-child(2){--row:2}.horizon-grid i:nth-child(3){--row:3}.horizon-grid i:nth-child(4){--row:4}.horizon-grid i:nth-child(5){--row:5}
.journey-active .city-horizon i{transform:scaleY(calc(.35 + var(--journey-reveal,1) * .65));transform-origin:bottom}
.final-connection{position:relative;z-index:1;display:flex;align-items:center;gap:20px;width:min(460px,65%);margin:40px auto 0;color:#c9ffeb;pointer-events:none}.final-connection i{height:2px;flex:1;background:linear-gradient(90deg,transparent,#b5ffdf);transform:scaleX(var(--journey-reveal,1));transform-origin:right}.final-connection i:last-child{background:linear-gradient(90deg,#b5ffdf,transparent);transform-origin:left}.final-connection span{font:800 30px system-ui;animation:connected-beat 2.6s ease-in-out infinite;animation-play-state:paused}.journey-active .final-connection span{animation-play-state:running}@keyframes connected-beat{50%{transform:scale(1.13)}}
.page-hidden :is(.journey-waypoints span,.connection-packets i,.progress-illustration i,.final-connection span){animation-play-state:paused!important}
@media(max-width:600px){.journey-waypoints span{font-size:8px;padding:6px 9px}.journey-waypoints span:nth-child(1){top:14%;left:6%}.journey-waypoints span:nth-child(2){top:27%;right:7%}.journey-waypoints span:nth-child(3){display:none}.landscape-contours{height:54%}.vision-ribbon{bottom:85px;height:100px}.connection-packets{height:90px;bottom:30px}.progress-illustration{width:55px;height:55px;margin-top:18px}}
.motion-lite .cinema-panes{display:none}.motion-lite .connection-packets i:nth-child(n+3){display:none}.motion-lite .landscape-contours path:nth-child(n+3){display:none}
@media(prefers-reduced-motion:reduce){.cinema-panes,.journey-waypoints,.connection-packets,.landscape-contours,.vision-ribbon{display:none}.progress-illustration,.team-join i,.team-join b,.horizon-grid i,.final-connection i,.city-horizon i{transform:none!important}.progress-illustration i,.final-connection span{animation:none!important}}
