body{position:relative;--rail-width:68px}
main,footer{margin-right:var(--rail-width)}
.drive{--frame-height:calc(100svh - var(--head) - 60px);height:calc(var(--frame-height) + 215svh + 60px);background:#101010}
.hero{height:var(--frame-height);min-height:355px;background:#748995}
.highway,.highway canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.highway{z-index:-2;background:linear-gradient(#8297a7,#ced4d3 49%,#6c7567 53%,#3a3937 57%,#292a29)}
.hero-scrim{opacity:calc(.30 + var(--intro-opacity,1)*.70);background:linear-gradient(90deg,#040907c9,rgba(8,12,10,.36) 40%,transparent 73%),linear-gradient(0deg,#0009,transparent 20%)}
.hero-inner{opacity:var(--intro-opacity,1);transform:translateY(calc(-50% - (1 - var(--intro-opacity,1))*20px))}
.hero-inner[inert]{pointer-events:none}
.hero-foot{right:var(--pad)}.hud{right:var(--pad)}
#play-drive{border:0;background:#1119;border-radius:2px;padding:9px 14px;color:white;cursor:pointer}
#play-drive:hover{background:#111}#play-drive span{color:#ff6551}
.route-track{--station:45px;position:absolute;inset:var(--head) 0 0 auto;height:auto;width:var(--rail-width);filter:none;background:#262829;z-index:12;overflow:hidden;border-left:1px solid #414245;display:block;pointer-events:none;background-image:repeating-linear-gradient(104deg,transparent 0 2px,#fff1 2.5px,transparent 3px 7px);background-size:2px 5px}
.track-line{height:100%;width:100%;border:0;background:none}
.track-line:before{inset:0 5px;background:none;border-inline:1px solid #ffffff35}
#trail{left:28%;width:5px;top:0;right:auto;height:var(--station);background:repeating-linear-gradient(0deg,#fcfcf5 0 21px,transparent 21px 40px);background-position:top;background-size:100% 40px}
.vehicle{width:84px;left:50%;top:var(--station);transform:translate(-50%,-50%);z-index:2}
.stage-sign{top:calc(var(--station) + 22px);right:2px;left:auto;width:20px;z-index:3}
.route-track>span{position:absolute;top:calc(var(--station) + 39px);margin:0;left:50%;transform:translateX(-50%);background:#111e;border-radius:2px;padding:3px 5px;font:600 10px/1.1 Consolas,monospace}
@media(max-width:700px){body{--rail-width:35px}.drive{--frame-height:calc(100svh - var(--head) - 55px);height:calc(var(--frame-height) + 175svh + 55px)}.hero-inner{right:14px}.hero h1{font-size:clamp(57px,12.8vw,83px)}.hero-actions{gap:10px;flex-wrap:wrap}.hero-foot{left:16px;right:16px}.vehicle{width:46px}.stage-sign{width:13px;right:0;top:calc(var(--station) + 13px)}.route-track>span{font-size:8px;top:calc(var(--station) + 24px)}#trail{width:3px}.section{padding-inline:clamp(12px,4.5vw,22px)}.date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.date-grid input{min-width:0}.stepper{gap:0}.stepper button{width:28px}.stepper input{width:31px}.hud{right:17px}.quote-controls,.summary{min-width:0}}
@media(prefers-reduced-motion:reduce){.drive{height:auto}.hero-inner,.hero-scrim{opacity:1}.hero-inner{transform:translateY(-50%)}#play-drive{display:none}}

.route-track{--vehicle-size:84px}.vehicle{width:var(--vehicle-size);transform:translate(-50%,-93.3516%)}#trail{left:calc(50% + var(--vehicle-size)*.1462 - 2.5px);background-image:linear-gradient(to bottom,#fcfcf5 0 21px,transparent 21px 40px);background-repeat:repeat-y}.route-track>span{top:calc(var(--station) + 13px)}.stage-sign{top:calc(var(--station) - 12px);left:2px;right:auto}@media(max-width:700px){.route-track{--vehicle-size:46px}#trail{left:calc(50% + var(--vehicle-size)*.1462 - 1.5px)}.route-track>span{top:calc(var(--station) + 8px)}}
body{--rail-width:83px}.hero-foot{justify-content:flex-start;gap:13px}.road-id{margin-left:auto}.wheel-hint{color:#e6e7e2;font-size:9px}.meter{position:relative}.meter:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--scene-progress,0%);background:#e34e3c}@media(max-width:700px){body{--rail-width:41px}.wheel-hint{letter-spacing:.4px;font-size:8px}.product{grid-template-columns:minmax(88px,30%) 1fr}.hero-actions{gap:9px}.hero-actions .button{padding:13px 12px}}
#trail:after{content:"";position:absolute;left:50%;bottom:0;width:10px;height:9px;transform:translateX(-50%);background:radial-gradient(ellipse at 50% 80%,#fff 0,rgba(255,255,255,.8) 28%,transparent 70%);opacity:var(--paint-flow,0);pointer-events:none}
