/* Airform reference: a native-scroll, pinned product sequence, followed by normal content. */
.vehicle-section{background:var(--cream);color:var(--ink);color-scheme:light;position:relative;isolation:isolate}
.vehicle-stage{height:900px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 43%,#fffef6 0%,var(--cream) 67%);--word-opacity:0;--heading-opacity:1;--body-opacity:1;--cta-opacity:1;--label-opacity:1;--heading-y:0px;--body-y:0px;--cta-y:0px;--progress:1}
.vehicle-eyebrow{position:absolute;top:110px;inset-inline:8%;z-index:3;font-size:10px;letter-spacing:.16em;text-align:center;margin:0}
.vehicle-word{position:absolute;top:31%;inset-inline:0;text-align:center;font-family:var(--display);font-weight:800;font-size:clamp(120px,18vw,280px);line-height:1;letter-spacing:-.025em;white-space:nowrap;background:linear-gradient(180deg,#7f827c,#dddfd0 90%);color:transparent;background-clip:text;opacity:var(--word-opacity);pointer-events:none}
.vehicle-poster,.vehicle-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.vehicle-poster img{width:100%;height:100%;object-fit:contain}
.vehicle-canvas{opacity:0;object-fit:contain}
.vehicle-section.sequence-ready .vehicle-canvas{opacity:1}
.vehicle-section.sequence-ready .vehicle-poster{opacity:0}
.vehicle-copy{position:absolute;top:62%;inset-inline-start:15%;width:34%;max-width:470px;z-index:2}
.vehicle-copy h2{font-size:clamp(38px,4.1vw,64px);line-height:1;max-width:430px;opacity:var(--heading-opacity);transform:translateY(var(--heading-y));margin-bottom:16px}
.vehicle-copy p{font-size:12px;max-width:330px;line-height:1.8;opacity:var(--body-opacity);transform:translateY(var(--body-y));margin-bottom:22px}
.vehicle-copy .button{font-size:11px;padding:15px 20px;min-height:49px;opacity:var(--cta-opacity);transform:translateY(var(--cta-y));gap:24px}
.vehicle-copy .button:hover{background:var(--coral);color:var(--ink)}
.vehicle-label{position:absolute;z-index:2;font-size:9px;font-weight:700;letter-spacing:.12em;opacity:var(--label-opacity);pointer-events:none}
.vehicle-label-buggy{inset-inline-start:18%;top:51%}
.vehicle-label-quad{inset-inline-end:13%;top:76%}
.vehicle-foot{position:absolute;bottom:32px;inset-inline:4%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;line-height:1.7;z-index:3}
.vehicle-foot p{margin:0;text-align:center;max-width:330px;color:#626457}
.vehicle-foot a{text-decoration:underline;text-underline-offset:4px;min-height:32px;display:flex;align-items:center;gap:12px}
.vehicle-scroll{display:flex;gap:12px;align-items:center}.vehicle-scroll>span:first-child{font-size:20px}
.vehicle-progress{position:absolute;bottom:0;inset-inline:0;height:2px;background:#dedfce;overflow:hidden}
.vehicle-progress span{display:block;height:100%;background:var(--coral);transform:scaleX(var(--progress));transform-origin:left}
[dir=rtl] .vehicle-progress span{transform-origin:right}
/* Allocate the pin before assets load, so decoding never shifts the page. */
.vehicle-section.sequence-active{height:300svh;min-height:2100px}
.sequence-active .vehicle-stage{position:sticky;top:0;height:100svh;min-height:640px}
.sequence-active:not(.sequence-ready) .vehicle-stage{--heading-opacity:1!important;--body-opacity:1!important;--cta-opacity:1!important;--heading-y:0px!important;--body-y:0px!important;--cta-y:0px!important;--label-opacity:1!important;--word-opacity:0!important}
.sequence-active .vehicle-copy:not(.is-actionable) .button{visibility:hidden}
.sequence-active:not(.sequence-ready) .vehicle-copy .button{visibility:visible}
.sequence-static .vehicle-stage{--word-opacity:0!important;--heading-opacity:1!important;--body-opacity:1!important;--cta-opacity:1!important;--label-opacity:1!important;--heading-y:0px!important;--body-y:0px!important;--cta-y:0px!important;--progress:1!important}
.sequence-static .vehicle-copy .button{visibility:visible!important}

@media(max-width:1000px){.vehicle-copy{inset-inline-start:11%;width:39%}.vehicle-copy h2{font-size:46px}.vehicle-copy p{font-size:12px}.vehicle-label-buggy{inset-inline-start:16%}.vehicle-label-quad{inset-inline-end:10%}.vehicle-foot{inset-inline:28px;font-size:8px}}
@media(max-width:700px){.vehicle-stage{height:860px}.sequence-active .vehicle-stage{min-height:650px}.vehicle-eyebrow{top:102px;font-size:8px}.vehicle-word{top:33%;font-size:26vw;letter-spacing:-.03em}.vehicle-copy{top:63%;inset-inline:24px;width:auto;max-width:none;text-align:center}.vehicle-copy h2{font-size:clamp(33px,8vw,46px);max-width:360px;margin:0 auto 12px}.vehicle-copy p{max-width:310px;font-size:11px;line-height:1.7;margin:0 auto 16px}.vehicle-copy .button{min-height:44px;padding:12px 18px;font-size:10px}.vehicle-label{font-size:8px;letter-spacing:.07em}.vehicle-label-buggy{inset-inline-start:14%;top:33%}.vehicle-label-quad{inset-inline-end:9%;top:59%}.vehicle-foot{inset-inline:20px;bottom:18px;gap:10px;flex-wrap:wrap;font-size:8px}.vehicle-foot p{order:3;flex-basis:100%;max-width:none;font-size:8px}.vehicle-foot a{min-height:28px}.vehicle-scroll{gap:8px}.vehicle-section.sequence-active{min-height:1950px}}
@media(max-width:350px){.vehicle-copy{inset-inline:18px}.vehicle-copy h2{font-size:32px}.vehicle-copy p{font-size:10px;max-width:270px}.vehicle-copy .button{font-size:9px;min-height:40px;padding:10px 14px}.vehicle-eyebrow{top:97px}.vehicle-foot{inset-inline:16px;bottom:12px}}
[dir=rtl] .vehicle-copy{inset-inline-start:auto;left:15%;text-align:right}
[dir=rtl] .vehicle-label-buggy{inset-inline-start:auto;left:18%}
[dir=rtl] .vehicle-label-quad{inset-inline-end:auto;right:13%}
[dir=rtl] .vehicle-word{font-family:var(--body);font-size:14vw;line-height:1.5}
[dir=rtl] .vehicle-copy h2{font-size:clamp(32px,3.3vw,48px);line-height:1.35}
@media(max-width:1000px){[dir=rtl] .vehicle-copy{left:11%}}
@media(max-width:700px){[dir=rtl] .vehicle-copy{left:24px;right:24px;text-align:center}[dir=rtl] .vehicle-copy h2{font-size:32px;line-height:1.4}[dir=rtl] .vehicle-label-buggy{left:14%}[dir=rtl] .vehicle-label-quad{right:9%}[dir=rtl] .vehicle-word{font-size:23vw}}
@media(prefers-reduced-motion:reduce){.vehicle-section.sequence-active{height:auto;min-height:0}.sequence-active .vehicle-stage{position:relative;height:860px}.vehicle-stage{--word-opacity:0!important;--heading-opacity:1!important;--body-opacity:1!important;--cta-opacity:1!important;--label-opacity:1!important;--heading-y:0px!important;--body-y:0px!important;--cta-y:0px!important}.vehicle-copy .button{visibility:visible!important}}
/* Static posters also cover disabled motion, missing canvas APIs and network failure. */
.sequence-static .vehicle-canvas{opacity:0!important}.sequence-static .vehicle-poster{opacity:1!important}
@media(max-width:700px){.vehicle-poster,.vehicle-canvas{inset:100px 0 auto;width:100%;height:58svh;max-height:500px}}
@media(min-width:701px) and (max-height:850px){.vehicle-copy{top:60%}.vehicle-copy h2{font-size:48px}.vehicle-copy p{font-size:11px;line-height:1.7;margin-bottom:18px}.vehicle-copy .button{min-height:44px;padding:12px 18px}}
@media(min-width:701px) and (max-height:730px){.vehicle-eyebrow{top:95px}.vehicle-copy h2{font-size:40px;margin-bottom:10px}.vehicle-copy p{margin-bottom:14px}.vehicle-copy .button{min-height:42px;padding:11px 16px}.vehicle-foot{bottom:15px}.vehicle-label-quad{top:73%}}
@media(max-width:700px) and (max-height:740px){.vehicle-copy{top:59%}.vehicle-copy h2{font-size:30px;margin-bottom:10px}.vehicle-copy p{font-size:10px;line-height:1.6;margin-bottom:12px}.vehicle-copy .button{min-height:40px;font-size:9px;padding:10px 15px}[dir=rtl] .vehicle-copy h2{font-size:30px}}
.vehicle-card-illustration{width:100%;height:100%;object-fit:contain;animation:buggy-float 6s ease-in-out infinite;padding:5px 15px}
/* Short landscape viewports use the complete, naturally scrolling composition. */
@media(max-height:550px){.vehicle-section.sequence-active{height:auto;min-height:0}.sequence-active .vehicle-stage{position:relative;height:860px}.vehicle-stage{--word-opacity:0!important;--heading-opacity:1!important;--body-opacity:1!important;--cta-opacity:1!important;--label-opacity:1!important;--heading-y:0px!important;--body-y:0px!important;--cta-y:0px!important}.vehicle-copy .button{visibility:visible!important}}
@media(max-width:700px){.vehicle-label-buggy{top:calc(110px + min(189px,21svh))}.vehicle-label-quad{top:calc(110px + min(342px,38svh))}}
.vehicle-foot{padding-right:64px}
@media(max-width:700px){.vehicle-eyebrow{top:110px}.vehicle-foot{padding-right:0}.vehicle-foot p{padding-inline:43px}}
/* Leave clear space beneath the fixed navigation for the buggy roof. */
@media(min-width:701px){.vehicle-poster,.vehicle-canvas{transform:translateY(25px)}.vehicle-label-buggy{top:54%}}
@media(min-width:701px) and (max-height:730px){.vehicle-poster,.vehicle-canvas{transform:translateY(40px)}.vehicle-label-buggy{top:58%}.vehicle-eyebrow{top:110px}}
@media(max-width:700px){.vehicle-foot{padding-right:60px}.vehicle-foot p{padding-inline:0}.vehicle-scroll{flex:1;min-width:0}.vehicle-scroll>span:last-child{min-width:0}.vehicle-foot>a{max-width:95px;flex:0 1 95px;gap:5px}}
