/* Navigation and automotive motion. */
.header{top:12px;margin:12px 20px 0;background:transparent;border:0;pointer-events:none;transition:top .25s}
.header .nav{position:relative;width:min(1280px,100%);min-height:84px;padding:13px 22px;border:1px solid #e8e8e8;border-radius:17px;background:#fffffff5;box-shadow:0 10px 35px #00000009;pointer-events:auto;gap:24px}
.header nav{display:flex;position:static;background:#171717;border:0;border-radius:30px;padding:5px;gap:3px;box-shadow:none;align-items:center}
.header nav>a{position:relative;padding:10px 16px;color:#ececec;border-radius:25px;font-size:13px;line-height:1.3;white-space:nowrap;transition:background .25s,color .25s,transform .25s}
.header nav>a:hover,.header nav>a.is-active{background:#363636;color:#fff;text-decoration:none}
.header nav>a.is-active:after{content:"";position:absolute;bottom:5px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:#ef3348}
.nav-actions{display:flex;gap:10px;align-items:center}.nav-book{white-space:nowrap;border-radius:30px;padding:14px 18px!important;min-width:178px}
.header .brand img{width:45px;height:48px}.header .brand strong{font-size:22px}.header .brand small{font-size:13px}
.menu-bars{display:flex;flex-direction:column;gap:6px;width:21px}.menu-bars i{height:2px;width:21px;background:currentColor;display:block;transition:transform .3s}
.menu-open .menu-bars i:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-bars i:last-child{transform:translateY(-4px) rotate(-45deg)}
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:60;pointer-events:none}.scroll-progress>div{height:100%;background:#d92338;transform:scaleX(0);transform-origin:left;will-change:transform}
.vehicles-section{padding:0;overflow:hidden;background:#fff;scroll-margin-top:125px}.vehicles-section .marquee{border-top:0;border-bottom:1px solid #ececec}.maker{width:190px;height:114px;transition:transform .3s;position:relative}.maker:hover{transform:translateY(-5px)}.maker img{max-width:140px;max-height:57px}.maker img[src$="nissan-brand.svg"]{width:75px;height:62px}.maker img[src$="honda-black.svg"]{width:130px;height:42px}.maker img[src$="byd-black.svg"]{width:110px;height:42px}.maker img[src$="bmw-light.svg"]{width:61px;height:61px}
/* Text remains available to assistive technology throughout each animation. */
.drive-button{position:relative;overflow:hidden;isolation:isolate;transition:background .25s,box-shadow .25s,transform .25s}
.drive-label{display:block;position:relative;z-index:2;transition:transform .28s,opacity .25s;white-space:nowrap}.drive-arrow{position:relative;z-index:2;transition:transform .3s,opacity .2s}
.button .drive-label{font-size:inherit;line-height:1.4}.menu-toggle .menu-caption{font-size:12px}
.drive-stage{position:absolute!important;inset:0;display:block;z-index:3;pointer-events:none;overflow:hidden}
.car-side{position:absolute;width:48px;height:26px;left:50%;top:50%;opacity:0;transform:translate(-190%,-50%);color:currentColor;filter:drop-shadow(0 2px 1px #0002)}
.car-front{position:absolute;width:42px;height:36px;left:50%;top:50%;opacity:0;transform:translate(-50%,-50%) scale(.16);color:currentColor}
.drive-stage:before,.drive-stage:after{content:"";position:absolute;width:33px;height:1px;left:calc(50% - 61px);top:calc(50% - 3px);background:currentColor;opacity:0;transform:translateX(-35px)}
.drive-stage:after{width:23px;top:calc(50% + 5px);left:calc(50% - 51px)}
.drive-button:hover .drive-label,.drive-button:focus-visible .drive-label{transform:translateX(18px);opacity:0}
.drive-button:hover .drive-arrow,.drive-button:focus-visible .drive-arrow{transform:translateX(25px);opacity:0}
.drive-button:hover .car-side,.drive-button:focus-visible .car-side{animation:car-arrive .65s cubic-bezier(.16,.8,.3,1) forwards,car-idle .5s .65s ease-in-out infinite alternate}
.drive-button:hover .drive-stage:before,.drive-button:hover .drive-stage:after,.drive-button:focus-visible .drive-stage:before,.drive-button:focus-visible .drive-stage:after{animation:speed-lines .6s .15s linear infinite}
.drive-button:hover{box-shadow:0 8px 20px #c5233520;transform:translateY(-2px)}
.drive-button.is-driving .drive-label,.drive-button.is-driving .drive-arrow{opacity:0!important}
.drive-button.is-driving .car-side{animation:none!important;opacity:0!important}.drive-button.is-driving .drive-stage:before,.drive-button.is-driving .drive-stage:after{animation:none!important;opacity:0}
.drive-button.is-driving .car-front{animation:car-launch .52s cubic-bezier(.32,.05,.65,.8) both}
.drive-button.is-driving{transform:scale(.975);box-shadow:0 0 0 5px #d923381a}
.text-link{position:relative;transition:color .25s}.text-link:after{content:"";position:absolute;left:0;bottom:-5px;height:2px;width:100%;background:#d92338;transform:scaleX(0);transform-origin:left;transition:transform .35s}.text-link:hover:after{transform:scaleX(1)}.text-link>span{transition:transform .25s}.text-link:hover>span{transform:translate(4px,-3px)}
.service{position:relative;overflow:hidden;transition:transform .35s,box-shadow .35s,border-color .35s}.service:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:#d92338;transform:scaleX(0);transform-origin:left;transition:transform .5s}.service:hover{transform:translateY(-5px);border-color:#d4a0a6;box-shadow:0 16px 36px #14141408}.service:hover:before{transform:scaleX(1)}
.motion-ready .scroll-reveal{opacity:0;transform:translateY(27px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .scroll-reveal.is-visible{opacity:1;transform:translateY(0)}.motion-ready .service.scroll-reveal.is-visible:hover{transform:translateY(-5px)}
.hero-copy h1{animation:hero-in .85s cubic-bezier(.16,1,.3,1) both}.hero-copy .intro{animation:hero-in .85s .1s cubic-bezier(.16,1,.3,1) both}.photo-gallery{animation:hero-in 1s .12s cubic-bezier(.16,1,.3,1) both}
@keyframes car-arrive{0%{opacity:0;transform:translate(-210%,-50%) skewX(-12deg)}35%{opacity:1}80%{transform:translate(-43%,-50%) skewX(0)}100%{opacity:1;transform:translate(-50%,-50%)}}
@keyframes car-idle{from{transform:translate(-50%,-50%)}to{transform:translate(-50%,-48%)}}
@keyframes speed-lines{0%{opacity:0;transform:translateX(10px) scaleX(.3)}30%{opacity:.7}100%{opacity:0;transform:translateX(-30px) scaleX(1.1)}}
@keyframes car-launch{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}25%{opacity:1;transform:translate(-50%,-50%) scale(.75)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-32%) scale(3.2)}}
@keyframes hero-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.header .nav{gap:15px;padding:12px 17px}.header nav>a{padding:10px 13px}.header .brand strong{font-size:20px}.header .brand small{font-size:12px}.nav-book{min-width:155px;font-size:12px!important;gap:13px}}
@media(max-width:950px){.header .nav{min-height:78px}.header .menu-toggle{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#171717;color:#fff;border:0;border-radius:30px;font-size:12px}.header nav{position:absolute;top:calc(100% + 10px);left:0;right:0;display:flex;flex-direction:column;align-items:stretch;padding:14px;border-radius:17px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px) scale(.98);transform-origin:top;transition:opacity .22s,transform .3s,visibility .3s;box-shadow:0 18px 40px #0002}.header nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.header nav>a{padding:17px 18px;font-size:21px;border-radius:8px;opacity:0;transform:translateX(-12px);transition:opacity .3s,transform .35s,background .2s}.header nav.open>a{opacity:1;transform:none}.header nav.open>a:nth-child(2){transition-delay:40ms}.header nav.open>a:nth-child(3){transition-delay:80ms}.header nav.open>a:nth-child(4){transition-delay:120ms}.header nav>a.is-active:after{left:auto;right:20px;top:calc(50% - 3px);width:6px;height:6px}.nav-actions{margin-left:auto}.header .brand strong{font-size:22px}.header .brand small{font-size:13px}}
@media(max-width:620px){.header{top:8px;margin:8px 12px 0}.header .nav{padding:11px 13px;min-height:73px;border-radius:13px;gap:8px}.header .brand img{width:36px;height:43px}.header .brand strong{font-size:18px;letter-spacing:-.045em}.header .brand small{font-size:11px}.header .brand{gap:5px}.header .nav-book{display:none}.header .menu-toggle{padding:12px;background:none;color:#141414;gap:8px}.menu-caption{font-size:12px}.header nav{border-radius:13px}.hero{padding-top:33px}.maker{width:150px;height:97px;padding:19px}.maker img{max-width:112px;max-height:53px}.maker img[src$="nissan-brand.svg"]{width:65px;height:53px}.maker img[src$="bmw-light.svg"]{width:53px;height:53px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .scroll-reveal{opacity:1;transform:none}.drive-button:hover .drive-label,.drive-button:focus-visible .drive-label,.drive-button.is-driving .drive-label,.drive-button:hover .drive-arrow,.drive-button:focus-visible .drive-arrow{opacity:1!important;transform:none}.car-side,.car-front,.drive-stage:before,.drive-stage:after{display:none}.hero-copy h1,.hero-copy .intro,.photo-gallery{opacity:1;transform:none}.service:hover,.drive-button:hover{transform:none}}
