.booking-page{background:#f5f5f0;color:#0b0b0b}.booking-page section{position:relative;overflow:hidden}.book-hero{min-height:92vh;background:#0b0b0b;color:#fff;display:grid;grid-template-columns:46% 54%;align-items:center;padding:110px 6vw 70px}.hero-copy{z-index:2}.hero-copy small,.section-copy small,.runway-head small,.time-copy>small,.belt-head small,.rider-form>small,.review-copy small{font-size:11px;font-weight:900;letter-spacing:.2em}.hero-copy h1,.section-copy h2,.runway-head h2,.time-copy h2,.belt-head h2,.rider-form h2,.review-copy h2{font-size:clamp(48px,7vw,104px);line-height:.88;letter-spacing:-.065em;margin:18px 0}.hero-copy h1 em{color:#14b8a6;font-style:normal}.hero-copy p,.section-copy p,.runway-head p,.belt-head p,.review-copy p{max-width:560px;color:#b7b7b7;font-size:17px;line-height:1.7}.hero-copy>a{display:inline-block;margin-top:22px;color:#0b0b0b;background:#14b8a6;padding:15px 22px;border-radius:999px;font-weight:900;text-decoration:none}.hero-route{height:620px;position:relative}.hero-route svg{width:100%;height:100%}.hero-route path{fill:none;stroke-width:4;stroke-linecap:round}.route-shadow{stroke:#2b2b2b}.route-live{stroke:#14b8a6;stroke-dasharray:14 18;animation:routeDash 8s linear infinite}.ride-marker{position:absolute;left:49%;top:42%;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#14b8a6;color:#0b0b0b;font-size:26px;box-shadow:0 0 0 16px #14b8a620;animation:markerFloat 3s ease-in-out infinite}.hero-route>span{position:absolute;right:4%;bottom:16%;font-size:clamp(28px,4vw,64px);font-weight:900;line-height:.9;letter-spacing:-.05em}.route-dot{position:absolute;width:13px;height:13px;border:3px solid #14b8a6;border-radius:50%;background:#0b0b0b}.d1{left:12%;bottom:22%}.d2{left:42%;top:44%}.d3{right:12%;top:29%}.step-rail{position:absolute;bottom:28px;left:6vw;right:6vw;display:flex;align-items:center;gap:10px}.step-rail:before{content:"";height:1px;background:#333;position:absolute;left:0;right:0}.step-rail b{z-index:1;background:#0b0b0b;color:#777;border:1px solid #333;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:10px}.step-rail b.active{background:#14b8a6;color:#0b0b0b;border-color:#14b8a6}
.location-stage{min-height:780px;padding:90px 6vw;display:grid;grid-template-columns:36% 64%;gap:5vw;align-items:center}.section-copy label{display:grid;gap:8px;margin-top:30px;font-weight:800}.section-copy select,.time-copy input,.rider-form input,.rider-form select{border:0;border-bottom:2px solid #0b0b0b;background:transparent;padding:13px 2px;font:inherit;outline:none}.booking-map{height:590px;background:#0b0b0b;position:relative;border-radius:40px;overflow:hidden}.map-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:44px 44px}.booking-map svg{position:absolute;inset:8%;width:84%;height:84%}.booking-map path{fill:none;stroke:#14b8a6;stroke-width:4;stroke-dasharray:10 14;animation:routeDash 9s linear infinite}.hub{position:absolute;background:none;border:0;color:#fff;font-weight:900;cursor:pointer}.hub i{display:block;width:18px;height:18px;background:#fff;border:5px solid #0b0b0b;outline:2px solid #fff;border-radius:50%;margin:auto auto 8px}.hub.active i{background:#14b8a6;outline-color:#14b8a6;box-shadow:0 0 0 12px #14b8a625}.h1{left:16%;bottom:19%}.h2{left:36%;top:30%}.h3{right:20%;top:18%}.h4{right:13%;bottom:23%}.map-status{position:absolute;left:28px;top:28px;color:#fff}.map-status small{display:block;color:#14b8a6;font-weight:900;letter-spacing:.15em}.map-status strong{font-size:26px}
.scooter-runway{background:#0b0b0b;color:#fff;padding:90px 0 70px}.runway-head{padding:0 6vw}.runway-head p{color:#999}.runway{display:flex;gap:0;margin-top:60px;border-top:1px solid #2b2b2b;border-bottom:1px solid #2b2b2b;overflow-x:auto;scroll-snap-type:x mandatory}.machine{min-width:33.333%;height:520px;background:#0b0b0b;color:#fff;border:0;border-right:1px solid #2b2b2b;padding:35px;text-align:left;position:relative;cursor:pointer;scroll-snap-align:start;transition:.35s}.machine:hover,.machine.active{background:#14b8a6;color:#0b0b0b}.machine>span{font-weight:900}.machine>strong{display:block;font-size:34px;margin-top:28px}.machine>small{display:block;opacity:.65;margin-top:6px}.machine>em{display:block;font-style:normal;font-size:20px;font-weight:900;margin-top:18px}.scooter-art{height:270px;position:relative;margin-top:15px}.scooter-art i{position:absolute;bottom:15px;width:78px;height:78px;border:12px solid currentColor;border-radius:50%}.scooter-art i:first-child{left:14%}.scooter-art i:nth-child(2){right:14%}.scooter-art b{position:absolute;left:27%;right:27%;bottom:82px;height:65px;border:14px solid currentColor;border-top:0;transform:skew(-13deg);border-radius:8px}.runway-read{display:flex;gap:28px;align-items:baseline;padding:30px 6vw 0}.runway-read small{color:#14b8a6;font-weight:900;letter-spacing:.15em}.runway-read strong{font-size:30px}.runway-read span{color:#999}
.time-lab{min-height:760px;padding:90px 6vw;display:grid;grid-template-columns:48% 52%;align-items:center}.clock-visual{display:grid;place-items:center}.clock-ring{width:min(480px,80vw);aspect-ratio:1;border:2px solid #0b0b0b;border-radius:50%;position:relative;display:grid;place-items:center}.clock-ring:before,.clock-ring:after{content:"";position:absolute;inset:10%;border:1px dashed #999;border-radius:50%}.clock-ring:after{inset:24%}.clock-ring i{position:absolute;width:4px;height:38%;background:#14b8a6;bottom:50%;transform-origin:bottom;transform:rotate(120deg);transition:.3s}.clock-ring b{font-size:80px}.clock-ring span{position:absolute;bottom:18%;font-weight:900;letter-spacing:.2em}.time-fields{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:35px}.time-copy label{display:grid;gap:8px;font-weight:800}.duration-label{margin-top:32px}.duration-label strong{font-size:26px}.duration-label input{width:100%;accent-color:#0b0b0b}.return-read{margin-top:28px;border-top:1px solid #aaa;padding-top:18px}.return-read small{display:block;font-weight:900;letter-spacing:.14em}.return-read strong{font-size:28px}
.addon-belt{background:#14b8a6;padding:90px 0}.belt-head{padding:0 6vw}.belt-head p{color:#343434}.belt-track{display:flex;margin-top:55px;border-top:2px solid #0b0b0b;border-bottom:2px solid #0b0b0b;overflow-x:auto}.addon{min-width:25%;padding:35px 28px;display:grid;gap:16px;border-right:2px solid #0b0b0b;cursor:pointer;position:relative}.addon input{position:absolute;opacity:0}.addon i{width:44px;height:44px;border:2px solid #0b0b0b;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:24px}.addon strong{font-size:26px}.addon span{font-weight:900}.addon:has(input:checked){background:#0b0b0b;color:#fff}.addon:has(input:checked) i{border-color:#14b8a6;color:#14b8a6;transform:rotate(45deg)}.belt-line{height:60px;position:relative;margin:30px 6vw 0;border-bottom:5px solid #0b0b0b}.belt-line i{position:absolute;width:80px;height:16px;background:#0b0b0b;bottom:-10px;animation:beltMove 5s ease-in-out infinite alternate}
.rider-check{min-height:800px;background:#0b0b0b;color:#fff;padding:90px 6vw;display:grid;grid-template-columns:42% 58%;gap:6vw;align-items:center}.identity-visual{display:grid;place-items:center}.id-outline{width:min(420px,90vw);aspect-ratio:1.55;border:2px solid #14b8a6;border-radius:24px;padding:30px;position:relative;transform:rotate(-6deg);box-shadow:20px 20px 0 #14b8a6}.id-outline span,.id-outline small{font-weight:900;letter-spacing:.15em}.id-outline b{position:absolute;right:30px;top:30px;width:60px;height:60px;background:#14b8a6;color:#0b0b0b;border-radius:50%;display:grid;place-items:center;font-size:28px}.id-outline i{position:absolute;left:30px;bottom:55px;width:95px;height:110px;border:2px solid #fff;border-radius:50% 50% 15px 15px}.id-outline small{position:absolute;bottom:22px;right:25px}.rider-form h2{font-size:clamp(50px,6vw,90px)}.deposit-line{display:flex;justify-content:space-between;border-block:1px solid #444;padding:20px 0;margin:28px 0}.deposit-line strong{color:#14b8a6;font-size:25px}.form-line{display:grid;grid-template-columns:1fr 1fr;gap:28px}.rider-form label{display:grid;gap:7px;margin-bottom:22px}.rider-form input,.rider-form select{color:#fff;border-color:#666}.rider-form select option{color:#0b0b0b}.rider-form em{display:none;color:#14b8a6;font-size:12px;font-style:normal}.rider-form label.invalid em{display:block}.agree{grid-template-columns:auto 1fr!important;align-items:start;color:#aaa}.agree input{margin-top:3px}
.review-ticket{min-height:820px;padding:90px 6vw;background:#f5f5f0;display:grid;grid-template-columns:42% 48%;gap:10%;align-items:center}.review-actions{display:flex;gap:20px;align-items:center;margin-top:28px}.review-actions button{border:0;background:#0b0b0b;color:#fff;padding:15px 22px;border-radius:999px;font-weight:900;cursor:pointer}.review-actions a{color:#0b0b0b;font-weight:900}.form-message{font-weight:800!important;color:#0b0b0b!important;min-height:28px}.ticket{background:#0b0b0b;color:#fff;padding:35px;position:relative;clip-path:polygon(0 0,100% 0,100% 94%,96% 96%,92% 94%,88% 96%,84% 94%,80% 96%,76% 94%,72% 96%,68% 94%,64% 96%,60% 94%,56% 96%,52% 94%,48% 96%,44% 94%,40% 96%,36% 94%,32% 96%,28% 94%,24% 96%,20% 94%,16% 96%,12% 94%,8% 96%,4% 94%,0 96%)}.ticket-top{display:flex;justify-content:space-between;border-bottom:1px dashed #666;padding-bottom:22px}.ticket-top b{font-size:28px;color:#14b8a6}.ticket dl{margin:0}.ticket dl div{display:flex;justify-content:space-between;border-bottom:1px dashed #444;padding:16px 0}.ticket dt{color:#888;font-size:11px;font-weight:900;letter-spacing:.14em}.ticket dd{margin:0;font-weight:800}.ticket-total{display:flex;justify-content:space-between;align-items:end;padding:24px 0}.ticket-total span{font-size:11px;font-weight:900}.ticket-total strong{font-size:42px;color:#14b8a6}.ticket>small{display:block;color:#888;line-height:1.5}.ticket>a{display:block;margin-top:22px;background:#14b8a6;color:#0b0b0b;text-align:center;padding:14px;text-decoration:none;font-weight:900}.ticket>a.disabled{opacity:.35;pointer-events:none}.review-road{position:absolute;bottom:20px;left:0;right:0;height:55px;border-bottom:6px solid #0b0b0b}.review-road i{position:absolute;left:0;right:0;bottom:12px;border-bottom:2px dashed #0b0b0b}.review-road b{position:absolute;bottom:3px;left:12%;font-size:28px;animation:reviewRide 7s linear infinite}
@keyframes routeDash{to{stroke-dashoffset:-180}}@keyframes markerFloat{50%{transform:translateY(-12px)}}@keyframes beltMove{to{left:calc(100% - 80px)}}@keyframes reviewRide{to{left:88%}}@media(max-width:900px){.book-hero,.location-stage,.time-lab,.rider-check,.review-ticket{grid-template-columns:1fr}.book-hero{padding-top:130px}.hero-route{height:440px}.location-stage,.time-lab,.rider-check,.review-ticket{gap:45px}.booking-map{height:480px}.machine{min-width:70%}.addon{min-width:50%}.clock-visual{order:2}.identity-visual{order:2}.review-road{display:none}}@media(max-width:600px){.book-hero,.location-stage,.time-lab,.rider-check,.review-ticket{padding-left:22px;padding-right:22px}.hero-route{height:330px}.hero-route>span{font-size:30px}.step-rail{left:22px;right:22px;overflow:hidden}.booking-map{height:420px;border-radius:24px}.machine{min-width:88%;height:470px}.time-fields,.form-line{grid-template-columns:1fr}.addon{min-width:82%}.review-actions{align-items:flex-start;flex-direction:column}.ticket{padding:25px}.ticket-total strong{font-size:32px}}@media(prefers-reduced-motion:reduce){.route-live,.booking-map path,.ride-marker,.belt-line i,.review-road b{animation:none!important}}
