/* Full-screen departure scene, shown only between click and navigation. */
body.driving .drive-overlay.booking-transition{display:block;z-index:1000;pointer-events:auto;background:#080a10;animation:none;overflow:hidden;color:#fff}
.booking-transition .departure-scene{position:absolute;inset:0;overflow:hidden;perspective:550px;background:radial-gradient(ellipse at 50% 43%,#353449 0%,#11141f 25%,#080a10 70%)}
.departure-tunnel{position:absolute;inset:0;perspective:550px;perspective-origin:50% 43%;overflow:hidden}
.departure-gate{position:absolute;inset:8% 8% 16%;border:2px solid #8c9ba033;border-top-color:#b4bfd966;border-radius:38% 38% 5% 5%;box-shadow:0 0 24px #7c8dab11,inset 0 0 28px #7c8dab0a;opacity:0;transform:translateZ(-1500px);animation:departure-tunnel 1.2s linear infinite;animation-delay:calc(var(--gate)*-.133s);animation-play-state:paused}
.departure-running .departure-gate{animation-play-state:running}
.departure-gate:nth-child(3n){border-left-color:#ed364c77;border-right-color:#6155ff77}
@keyframes departure-tunnel{0%{transform:translateZ(-1500px);opacity:0}18%{opacity:.75}88%{opacity:.85}100%{transform:translateZ(500px);opacity:0}}
.departure-road{position:absolute;left:-40%;right:-40%;top:44%;height:100%;transform-origin:50% 0;transform:rotateX(64deg);background:repeating-linear-gradient(180deg,transparent 0 70px,#cfdbed88 70px 125px,transparent 125px 200px) center top/4px 200px repeat-y;opacity:.5;animation:departure-road .32s linear infinite;animation-play-state:paused}
.departure-running .departure-road{animation-play-state:running}@keyframes departure-road{to{background-position:center 200px}}
.departure-glow{position:absolute;left:30%;right:30%;top:45%;height:24%;background:radial-gradient(ellipse,#ff384638,transparent 65%);filter:blur(24px);opacity:.6}
.departure-car{position:absolute;left:50%;top:48%;width:min(850px,80vw);aspect-ratio:4/3;transform:translate(-50%,-50%);transform-origin:50% 45%;will-change:transform,opacity,filter}
.departure-car img{width:100%;height:100%;object-fit:contain;mix-blend-mode:lighten;mask-image:radial-gradient(ellipse 49% 45% at 50% 53%,#000 55%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 49% 45% at 50% 53%,#000 55%,transparent 100%)}
.departure-running .departure-car{animation:departure-accelerate 2.7s cubic-bezier(.25,.1,.3,1) forwards}
@keyframes departure-accelerate{0%{transform:translate(-50%,-45%) scale(.88);opacity:0;filter:blur(7px)}18%{transform:translate(-50%,-50%) scale(1);opacity:1;filter:blur(0)}46%{transform:translate(-50%,-50%) scale(1.04);opacity:1;filter:blur(0)}76%{transform:translate(-50%,-72%) scale(.5);opacity:.9;filter:blur(.5px)}100%{transform:translate(-50%,-100%) scale(.04);opacity:0;filter:blur(4px)}}
.departure-brand{position:absolute;top:7%;left:8%;right:8%;font-size:13px;letter-spacing:.22em;color:#c7cbd8}
.departure-hud{position:absolute;bottom:9%;left:8%;right:8%;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.departure-eyebrow{color:#a7aebe;font-size:12px;letter-spacing:.16em}.departure-title{font-size:clamp(27px,4.5vw,48px);line-height:1.1;letter-spacing:-.025em;margin:10px 0}.departure-caption{font-size:14px;color:#b5bdcd;margin-top:8px}
.departure-progress{height:2px;width:min(280px,60vw);background:#30374a;margin-top:22px;overflow:hidden}.departure-progress:after{content:'';display:block;height:100%;background:linear-gradient(90deg,#ff3846,#958cff);transform:scaleX(0);transform-origin:left}.departure-running .departure-progress:after{animation:departure-progress 2.7s linear forwards}@keyframes departure-progress{to{transform:scaleX(1)}}
.departure-skip{padding:12px 18px;background:#ffffff0a;border:1px solid #ffffff35;border-radius:8px;white-space:nowrap;font-size:14px;color:#fff;cursor:pointer}.departure-skip:hover{background:#ffffff1c}.departure-skip:focus-visible{outline:2px solid white;outline-offset:4px}
@media(max-width:650px){.departure-car{width:112vw;top:42%}.departure-hud{left:6%;right:6%;bottom:7%;flex-direction:column;align-items:flex-start;gap:20px}.departure-brand{left:6%;top:5%;font-size:12px}.departure-title{font-size:29px}.departure-gate{inset:12% -12% 23%}.departure-caption{font-size:14px}}
@media(prefers-reduced-motion:reduce){.booking-transition *{animation:none!important}}
