.hero-scene{overflow:hidden;z-index:0}.hero-scene,.hero-sky{position:absolute;inset:0}.hero-sky{background:linear-gradient(180deg,#0f172a,#1e293b 30%,#334155 50%,#475569 65%,#64748b 75%,#94a3b8 85%)}.hero-stars{position:absolute;top:0;left:0;width:100%;height:50%;pointer-events:none}.hero-star{position:absolute;background:white;border-radius:50%;animation:hero-twinkle 3s ease-in-out infinite}@keyframes hero-twinkle{0%,to{opacity:.3}50%{opacity:.8}}.hero-cityscape{position:absolute;bottom:35%;left:0;width:200%;height:120px;animation:hero-scroll-bg 50s linear infinite}.hero-cityscape svg{width:50%;height:100%;float:left}@keyframes hero-scroll-bg{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.hero-lamps{position:absolute;bottom:35%;left:0;width:200%;height:220px;pointer-events:none;animation:hero-scroll-lamps 36s linear infinite}@keyframes hero-scroll-lamps{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.hero-lamp{position:absolute;bottom:0;width:6px;background:linear-gradient(180deg,#9ca3af,#4b5563);border-radius:3px;box-shadow:0 0 6px rgba(255,255,255,.08)}.hero-lamp:before{content:"";position:absolute;top:18px;left:-30px;width:36px;height:6px;background:#9ca3af;border-radius:4px}.hero-lamp:after{content:"";position:absolute;top:22px;left:-38px;width:50px;height:30px;background:radial-gradient(ellipse at center,rgba(255,214,140,.35),transparent 70%);filter:blur(1px)}.hero-road{width:100%;height:35%;background:linear-gradient(180deg,#374151,#4b5563 2%,#374151 4%,#1f2937 50%,#111827)}.hero-road,.hero-road:before{position:absolute;bottom:0;left:0}.hero-road:before{content:"";top:0;right:0;background:repeating-linear-gradient(90deg,transparent,transparent 3px,rgba(255,255,255,.02) 0,rgba(255,255,255,.02) 4px)}.hero-road-texture{position:absolute;top:0;left:0;width:200%;height:100%;background-image:radial-gradient(circle,rgba(255,255,255,.03) 1px,transparent 0);background-size:20px 15px;animation:hero-scroll-road-slow 1.8s linear infinite}@keyframes hero-scroll-road-slow{0%{transform:translateX(0)}to{transform:translateX(-40px)}}.hero-shoulder-line{position:absolute;top:8%;left:0;width:100%;height:3px;background:rgba(255,255,255,.15)}.hero-shoulder-line-bottom{position:absolute;top:75%;left:0;width:100%;height:2px;background:rgba(255,255,255,.08)}.hero-lane-markings{position:absolute;top:38%;left:0;width:200%;height:4px;background:repeating-linear-gradient(90deg,#fbbf24,#fbbf24 40px,transparent 0,transparent 80px);animation:hero-scroll-road .9s linear infinite;opacity:.8}@keyframes hero-scroll-road{0%{transform:translateX(0)}to{transform:translateX(-80px)}}.hero-vehicle-stage{position:absolute;bottom:18%;left:0;width:100%;height:200px;pointer-events:none}.hero-vehicle{position:absolute;bottom:0;transform:translateX(110vw);will-change:transform,filter}.hero-vehicle.active{animation:hero-vehicle-drive 8s cubic-bezier(.22,.7,.2,1) forwards;--wheel-speed:0.18s;--glow-pulse:1.4s}@keyframes hero-vehicle-drive{0%{transform:translateX(110vw) translateY(6px) rotate(-1.5deg) scale(.98);filter:blur(4px)}12%{transform:translateX(calc(55vw - 120px)) translateY(0) rotate(0deg) scale(1);filter:blur(0)}65%{transform:translateX(calc(50vw - 120px)) translateY(0) rotate(.2deg) scale(1);filter:blur(0)}82%{transform:translateX(calc(45vw - 200px)) translateY(-2px) rotate(1deg) scale(1.01);filter:blur(0)}to{transform:translateX(-420px) translateY(6px) rotate(2deg) scale(.98);filter:blur(5px)}}.hero-vehicle-inner{animation:hero-vehicle-bob 1.4s ease-in-out infinite;transform-origin:50% 100%;animation-play-state:paused}.hero-vehicle.active .hero-vehicle-inner{animation-duration:1.1s;animation-play-state:running}@keyframes hero-vehicle-bob{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}.hero-vehicle-svg{display:block;width:420px;height:180px}.hero-vehicle.facing-left .hero-vehicle-svg{transform:scaleX(-1);transform-origin:50% 50%}.hero-vehicle-shadow{position:absolute;bottom:12px;left:10%;width:80%;height:12px;background:radial-gradient(ellipse,rgba(0,0,0,.5) 0,transparent 70%);border-radius:50%;animation:hero-shadow-pulse 1.6s ease-in-out infinite;animation-play-state:paused}.hero-vehicle.active .hero-vehicle-shadow{animation-play-state:running}@keyframes hero-shadow-pulse{0%,to{transform:scaleX(1);opacity:.5}50%{transform:scaleX(.9);opacity:.35}}.hero-headlight-glow{width:60px;height:30px;background:radial-gradient(ellipse at right,rgba(255,240,200,.3) 0,transparent 70%);right:-30px}.hero-headlight-glow,.hero-taillight-glow{position:absolute;top:50%;transform:translateY(-50%);animation:hero-glow var(--glow-pulse,2s) ease-in-out infinite;animation-play-state:paused}.hero-taillight-glow{width:40px;height:20px;background:radial-gradient(ellipse at left,rgba(255,50,50,.4) 0,transparent 70%);left:-20px}.hero-vehicle.active .hero-headlight-glow,.hero-vehicle.active .hero-taillight-glow{animation-play-state:running}@keyframes hero-glow{0%,to{opacity:.6;transform:translateY(-50%) scale(1)}50%{opacity:1;transform:translateY(-50%) scale(1.08)}}.hero-vehicle.facing-left .hero-headlight-glow{left:-30px;right:auto;background:radial-gradient(ellipse at left,rgba(255,240,200,.3) 0,transparent 70%)}.hero-vehicle.facing-left .hero-taillight-glow{right:-20px;left:auto;background:radial-gradient(ellipse at right,rgba(255,50,50,.4) 0,transparent 70%)}.hero-vehicle.van .hero-vehicle-shadow{bottom:10px;width:86%;left:7%}.hero-vehicle.van .hero-headlight-glow,.hero-vehicle.van .hero-taillight-glow{top:62%}.hero-vehicle.car .hero-headlight-glow,.hero-vehicle.car .hero-taillight-glow{top:54%}.hero-speed-lines{position:absolute;bottom:20%;left:0;width:100%;height:150px;pointer-events:none;opacity:0}.hero-speed-lines.entering{animation:hero-speed-enter 1.2s ease-out forwards}.hero-speed-lines.exiting{animation:hero-speed-exit 1.5s ease-in forwards}@keyframes hero-speed-enter{0%{opacity:.6}to{opacity:0}}@keyframes hero-speed-exit{0%{opacity:0}40%{opacity:0}60%{opacity:.8}to{opacity:0}}.hero-speed-line{position:absolute;height:2px;background:linear-gradient(90deg,rgba(255,255,255,.4),transparent);border-radius:1px;opacity:0;animation:hero-speed-line-move .7s linear infinite;animation-play-state:paused}.hero-speed-lines.entering .hero-speed-line,.hero-speed-lines.exiting .hero-speed-line{animation-play-state:running}@keyframes hero-speed-line-move{0%{transform:translateX(30px);opacity:0}20%{opacity:.6}to{transform:translateX(-220px);opacity:0}}@media (prefers-reduced-motion:reduce){.hero-scene *{animation:none!important}}@media (max-width:768px){.hero-lamps,.hero-speed-lines,.hero-vehicle-stage{display:none}.hero-cityscape{animation-duration:120s}.hero-lane-markings{animation-duration:2s}}