/* Fusim v2 motion layer */
:root{--ease2:cubic-bezier(.16,1,.3,1)}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:.1em .07em .14em 0;margin:-.1em -.07em -.14em 0}
.w>span{display:inline-block}

/* page load: header + hero */
.fzh-top{animation:fzhFade .9s ease backwards}
.fzh-head{animation:fzhDown 1.1s var(--ease2) backwards .15s}
.fzh-hero__txt>.is-on{animation:none}
.fzh-hero__txt>.is-on>*{animation:fzhUp 1.1s var(--ease2) backwards}
.fzh-hero__txt>.is-on>:nth-child(1){animation-delay:.15s}
.fzh-hero__txt>.is-on>:nth-child(2){animation:none}
.fzh-hero__txt>.is-on>:nth-child(3){animation-delay:.7s}
.fzh-hero__txt>.is-on>:nth-child(4){animation-delay:.9s}
.fzh-hero__txt>.is-on .w>span{animation:fzhWord 1.2s var(--ease2) backwards;animation-delay:calc(.3s + var(--i)*65ms)}
.fzh-hero__txt .fzh-eyebrow::before{animation:fzhLine 1s var(--ease2) backwards .45s}
.fzh-hero__bar{animation:fzhUp 1.1s var(--ease2) backwards 1.15s}

/* page hero (inner pages) */
.fzh-pagehero>img{top:-10%;bottom:auto;height:120%;animation:fzhHeroImg 2.4s var(--ease2) backwards}
.fzh-pagehero .fzh-eyebrow{animation:fzhUp 1s var(--ease2) backwards .35s}
.fzh-pagehero .fzh-eyebrow::before{animation:fzhLine 1s var(--ease2) backwards .65s}
.fzh-pagehero :is(h1,.h1) .w>span{animation:fzhWord 1.25s var(--ease2) backwards;animation-delay:calc(.5s + var(--i)*70ms)}
.fzh-pagehero .fzh-crumb{animation:fzhUp 1s var(--ease2) backwards 1.1s}

/* hidden-before-split for load headings */
@media (prefers-reduced-motion:no-preference){
  html.fzh-js:not(.fzh-noanim) :is(.fzh-pagehero h1,.fzh-pagehero .h1,.fzh-hero__txt h1,.fzh-hero__txt .h1):not(.fzh-split){opacity:0}
  html.fzh-js:not(.fzh-noanim) .fzh-sec .fzh-eyebrow:not(.fzh-in)::before{width:0}
  .fzh-sec .fzh-eyebrow::before{transition:width 1s var(--ease2) calc(var(--d,0ms) + .35s)}
}

/* children that animate once their card is in */
.fzh-in .fzh-why__ico{animation:fzhIcon .9s var(--ease2) backwards;animation-delay:calc(var(--d,0ms) + .35s)}
.fzh-stat.fzh-in b sup{animation:fzhPop .7s var(--ease2) backwards 1.2s}

/* scroll progress */
.fzh-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);z-index:96;pointer-events:none}
body.admin-bar .fzh-progress{top:32px}
@media (max-width:782px){body.admin-bar .fzh-progress{top:46px}}

/* parallax backdrops */
.fzh-dealer__bg{overflow:hidden}
.fzh-dealer__bg img{position:absolute;left:0;top:-12%;width:100%;height:124%}

/* floating buttons */
.fzh-float a{position:relative;animation:fzhPop .8s var(--ease2) backwards 1.5s}
.fzh-float a+a{animation-delay:1.65s}
.fzh-float .wa::after{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;opacity:0;pointer-events:none;animation:fzhRing 2.6s ease-out infinite 2.4s}
.fzh-semi__badge{animation:fzhFloat 5s ease-in-out infinite}

/* hover polish (real hover devices only, so taps don't stick) */
@media (hover:hover) and (pointer:fine){
.fzh-why__ico{transition:transform .55s var(--ease2),background .4s,color .4s}
.fzh-why__item:hover .fzh-why__ico,.fzh-pillar:hover .fzh-why__ico,.fzh-cinfo a:hover .fzh-why__ico{transform:scale(1.12) rotate(-8deg);background:var(--accent);color:#fff}
.fzh-pillar,.fzh-cinfo a,.fzh-perk,.fzh-tcard,.fzh-state,.fzh-step{transition:transform .55s var(--ease2),box-shadow .55s var(--ease2),border-color .4s}
.fzh-pillar:hover,.fzh-cinfo a:hover,.fzh-tcard:hover{transform:translateY(-8px);box-shadow:0 24px 50px rgba(11,11,11,.10)}
.fzh-perk:hover,.fzh-state:hover{transform:translateY(-8px);border-color:var(--accent)}
.fzh-step:hover{transform:translateY(-6px)}
.fzh-door__img,.fzh-model__img,.fzh-post__img{transition:box-shadow .55s var(--ease2)}
.fzh-door:hover .fzh-door__img,.fzh-pcard:hover .fzh-door__img,.fzh-post:hover .fzh-post__img{box-shadow:0 22px 44px rgba(11,11,11,.14)}
.fzh-model:hover .fzh-model__img{box-shadow:0 22px 44px rgba(0,0,0,.4)}
.fzh-stat b{transition:color .4s}
.fzh-stat:hover b{color:var(--accent)}
.fzh-btn--red{position:relative;overflow:hidden;isolation:isolate}
.fzh-btn--red::after{content:'';position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);z-index:-1;transition:left .8s var(--ease2)}
.fzh-btn--red:hover::after{left:130%}
.fzh-logo img{transition:opacity .3s}
.fzh-logo:hover img{opacity:.85}
}
/* interactive bits */
.fzh-drawer.is-open>a{animation:fzhUp .7s var(--ease2) backwards}
.fzh-drawer.is-open>a:nth-child(2){animation-delay:.1s}.fzh-drawer.is-open>a:nth-child(3){animation-delay:.14s}.fzh-drawer.is-open>a:nth-child(4){animation-delay:.18s}.fzh-drawer.is-open>a:nth-child(5){animation-delay:.22s}.fzh-drawer.is-open>a:nth-child(6){animation-delay:.26s}.fzh-drawer.is-open>a:nth-child(7){animation-delay:.3s}.fzh-drawer.is-open>a:nth-child(8){animation-delay:.34s}.fzh-drawer.is-open>a:nth-child(9){animation-delay:.38s}.fzh-drawer.is-open>a:nth-child(10){animation-delay:.42s}.fzh-drawer.is-open>a:nth-child(11){animation-delay:.46s}.fzh-drawer.is-open>a:nth-child(12){animation-delay:.5s}.fzh-drawer.is-open>a:nth-child(13){animation-delay:.54s}
.fzh-faq details[open] p{animation:fzhUp .6s var(--ease2) backwards}
.fzh-lb.is-open img{animation:fzhZoomIn .55s var(--ease2) backwards}
.fzh-pcard.fzh-pop{animation:fzhPopCard .7s var(--ease2) backwards}

@keyframes fzhDown{from{opacity:0;transform:translate3d(0,-24px,0)}}
@keyframes fzhFade{from{opacity:0}}
@keyframes fzhWord{from{transform:translate3d(0,112%,0)}}
@keyframes fzhLine{from{width:0}}
@keyframes fzhHeroImg{from{opacity:0;transform:scale(1.18)}}
@keyframes fzhIcon{from{opacity:0;transform:scale(0) rotate(-45deg)}}
@keyframes fzhPop{from{opacity:0;transform:scale(.4)}}
@keyframes fzhRing{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.75);opacity:0}}
@keyframes fzhFloat{50%{transform:translate3d(0,-10px,0)}}
@keyframes fzhZoomIn{from{opacity:0;transform:scale(.92)}}
@keyframes fzhPopCard{from{opacity:0;transform:translate3d(0,24px,0) scale(.94)}}

@media (prefers-reduced-motion:reduce){
  .fzh-top,.fzh-head,.fzh-hero__txt>.is-on>*,.fzh-hero__txt .w>span,.fzh-hero__bar,.fzh-hero__txt .fzh-eyebrow::before,.fzh-pagehero>img,.fzh-pagehero .fzh-eyebrow,.fzh-pagehero .fzh-eyebrow::before,.fzh-pagehero .w>span,.fzh-pagehero .fzh-crumb,.fzh-in .fzh-why__ico,.fzh-stat b sup,.fzh-float a,.fzh-float .wa::after,.fzh-semi__badge,.fzh-drawer.is-open>a,.fzh-faq details[open] p,.fzh-lb.is-open img,.fzh-pcard.fzh-pop{animation:none!important}
  .fzh-progress,.fzh-btn--red::after{display:none}
}

/* smooth in-page anchors, clear of the fixed header */
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
html{scroll-padding-top:90px}
.fzh-progress{will-change:transform}
/* phones: no blur behind the sticky header, no oversized parallax layers */
@media (max-width:860px),(pointer:coarse){
  .fzh-head.is-fixed{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(11,11,11,.97)}
  .fzh-pagehero>img{top:0;height:100%}
  .fzh-dealer__bg img{top:0;height:100%}
  .fzh-hero__slide img{transition-duration:0s;transform:none!important}
  .fzh-car__track{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
}

/* accessibility: readable small red text, keyboard focus, skip link */
:root{--accent-text:#c8151d}
.fzh-dark,.fzh-hero,.fzh-pagehero,.fzh-foot,.fzh-dealer,.fzh-top,.fzh-drawer{--accent-text:#ff4d54}
.fzh-eyebrow,.fzh-pcard .cat,.fzh-post time,.fzh-form .wpcf7-not-valid-tip,.fzh-perk b,.fzh-step b{color:var(--accent-text)}
.fzh :focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;border-radius:2px}
.fzh-btn--red:focus-visible,.fzh-band .fzh-btn:focus-visible{outline-color:#fff;box-shadow:0 0 0 4px var(--ink)}
.fzh-form input:focus-visible,.fzh-form textarea:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
.fzh-skip{position:absolute;left:12px;top:-80px;z-index:300;background:#fff;color:#0b0b0b;padding:12px 18px;border-radius:4px;font-weight:700;font-size:14px;transition:top .2s}
.fzh-skip:focus{top:12px}

@media (max-width:600px){.fzh-float{right:12px;bottom:14px;gap:10px}.fzh-float a{width:46px;height:46px}.fzh-float svg{width:21px;height:21px}}

/* signature title: Stronger. Safer. Smarter. */
.fzh-steel{--steel:#f0f0f0;--steel-hi:#ffffff;--steel-lo:#8a8a8a}
.fzh-steel em{position:relative;display:inline-block;--steel:var(--accent);--steel-hi:#ff9da1;--steel-lo:#8e0d12}
.fzh-steel .w>span{background-image:linear-gradient(105deg,var(--steel) 0 38%,var(--steel-lo) 44%,var(--steel-hi) 50%,var(--steel-lo) 56%,var(--steel) 62% 100%);background-size:260% 100%;background-position:120% 0;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.fzh-steel em::after{content:'';position:absolute;left:.04em;right:.18em;bottom:.04em;height:3px;background:var(--accent);border-radius:2px;transform:scaleX(0);transform-origin:0 50%}
@media (prefers-reduced-motion:no-preference){
  html.fzh-js:not(.fzh-noanim) .fzh-sec h2.fzh-steel.fzh-steel.fzh-split:not(.fzh-in) .w>span{transform:translate3d(0,118%,0) rotate(7deg);opacity:0}
  html.fzh-js .fzh-sec h2.fzh-steel.fzh-steel.fzh-split .w>span{transform-origin:0 100%;transition:transform 1.15s cubic-bezier(.2,1.15,.3,1) calc(var(--d,0ms) + var(--i,0) * 260ms),opacity .6s ease calc(var(--d,0ms) + var(--i,0) * 260ms)}
  .fzh-steel.fzh-in .w>span{animation:fzhGlint 7s cubic-bezier(.45,0,.2,1) infinite;animation-delay:calc(1.5s + var(--i,0) * 130ms)}
  .fzh-steel.fzh-in em::after{animation:fzhUnderline 1s var(--ease2) 1.05s forwards}
}
@media (prefers-reduced-motion:reduce){.fzh-steel em::after{transform:scaleX(1)}}
html.fzh-noanim .fzh-steel em::after{transform:scaleX(1)}
/* same signature title on light sections (Premium) */
.fzh-steel--ink{--steel:var(--ink,#0b0b0b);--steel-hi:#c4c4c4;--steel-lo:#474747}
.fzh-steel--ink em{--steel:var(--accent);--steel-hi:#ff8a8f;--steel-lo:#8e0d12}
@media (prefers-reduced-motion:no-preference){html.fzh-js .fzh-sec h2.fzh-steel.fzh-steel.fzh-steel--ink.fzh-split .w>span{transition-delay:calc(var(--d,0ms) + var(--i,0) * 150ms),calc(var(--d,0ms) + var(--i,0) * 150ms)}}
@keyframes fzhGlint{0%{background-position:120% 0}24%,100%{background-position:-20% 0}}
@keyframes fzhUnderline{to{transform:scaleX(1)}}

/* Why Choose marquee */
.fzh-marquee{--mq-a:#1a1a1a;--mq-b:#0b0b0b;position:relative;display:flex;align-items:stretch;height:88px;overflow:hidden;color:#fff;background:linear-gradient(90deg,var(--mq-a) 0%,#121212 48%,var(--mq-b) 100%)}
.fzh-marquee::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(92deg,rgba(255,255,255,.025) 0 2px,transparent 2px 9px);pointer-events:none}
.fzh-marquee__label{position:relative;z-index:3;flex:none;display:flex;align-items:center;margin:0;padding:0 70px 0 max(var(--gut),calc((100vw - var(--wrap)) / 2 + var(--gut)));font-family:var(--display);font-style:italic;font-weight:600;font-size:32px;letter-spacing:.01em;white-space:nowrap;background:linear-gradient(90deg,var(--mq-a) 72%,rgba(11,11,11,0));margin-right:-70px}
.fzh-marquee__viewport{position:relative;flex:1;overflow:hidden;display:flex;align-items:center;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 60px,#000 calc(100% - 110px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 60px,#000 calc(100% - 110px),transparent)}
.fzh-marquee__track{display:flex;width:max-content;animation:fzhMarquee 42s linear infinite;will-change:transform}
.fzh-marquee:hover .fzh-marquee__track{animation-play-state:paused}
.fzh-marquee__group{display:flex;margin:0;padding:0;list-style:none}
.fzh-marquee__item{display:flex;align-items:center;gap:16px;padding:0 60px;font-size:22px;font-weight:500;letter-spacing:.01em;white-space:nowrap}
.fzh-marquee__item svg{width:42px;height:42px;flex:none;opacity:.95}
@keyframes fzhMarquee{to{transform:translate3d(-50%,0,0)}}
@media (max-width:860px){.fzh-marquee{height:68px}.fzh-marquee__label{font-size:24px;padding-right:44px;margin-right:-44px}.fzh-marquee__item{font-size:16px;gap:12px;padding:0 34px}.fzh-marquee__item svg{width:30px;height:30px}.fzh-marquee__track{animation-duration:32s}}
@media (prefers-reduced-motion:reduce){.fzh-marquee__track{animation:none}.fzh-marquee__viewport{overflow-x:auto}}

/* Lenis smooth scrolling */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-smooth iframe{pointer-events:none}
.lenis.lenis-smooth .fzh-map iframe{pointer-events:auto}
/* standardised door images: transparent, same canvas, common baseline */
.fzh-door__img img,.fzh-model__img img,.fzh-pd__stage img{width:100%;height:100%;object-fit:contain;object-position:50% 100%}
.fzh-door__img,.fzh-model__img{padding:14px 10px 0}
.fzh-pd__stage{padding:24px 20px 8px}
.fzh-door__img .tag{z-index:2}
.fzh-door__img img,.fzh-model__img img{filter:drop-shadow(0 14px 14px rgba(0,0,0,.18))}
.fzh-model__img img{filter:drop-shadow(0 16px 18px rgba(0,0,0,.5))}
@media (max-width:860px),(pointer:coarse){.fzh-door__img img,.fzh-model__img img{filter:none}}

/* phones: door carousels run to the screen edge so the next door peeks in, cards always snap fully into view */
@media (max-width:600px){.fzh-car:not([data-hscroll]){max-width:none;margin-right:calc(50% - 50vw)}.fzh-car:not([data-hscroll]) .fzh-car__track{scroll-padding-left:0;padding-right:20px}.fzh-car:not([data-hscroll]) .fzh-door{flex-basis:76vw;scroll-snap-stop:always}}

/* solid header bar: nothing shows through it while scrolling */
.fzh-head.is-fixed,html .fzh-head.is-fixed{background:#0b0b0b!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}

/* one door size everywhere: frames match the 1000x1150 door canvas */
.fzh-door__img,.fzh-pcard .fzh-door__img,.fzh-model__img{aspect-ratio:1000/1150;padding:0}
.fzh-pd__stage{aspect-ratio:1000/1150;padding:0}
.fzh-stack.is-pinned .fzh-model__img{aspect-ratio:1000/1150}
