/* Kian Gasht Luxury Motion System — v1.6 */
:root{
  --kg-motion-fast:180ms;
  --kg-motion-base:420ms;
  --kg-motion-slow:760ms;
  --kg-motion-reveal:820ms;
  --kg-motion-ease:cubic-bezier(.2,.72,.22,1);
  --kg-motion-ease-out:cubic-bezier(.16,1,.3,1);
  --kg-motion-spring:cubic-bezier(.18,.89,.32,1.22)
}

/* Scroll progress */
.kgl-scroll-progress{position:fixed;z-index:4000;top:0;right:0;left:0;height:2px;pointer-events:none;transform:scaleX(0);transform-origin:right center;background:linear-gradient(90deg,transparent,var(--kg-gold),var(--kg-gold-2));box-shadow:0 0 18px rgba(215,171,99,.38);will-change:transform}

/* Reveal system: JS adds attributes only to elements that should animate. */
html.kgl-motion [data-kgl-reveal]{opacity:0;transform:translate3d(0,28px,0);filter:blur(4px);transition:opacity var(--kg-motion-reveal) var(--kg-motion-ease-out),transform var(--kg-motion-reveal) var(--kg-motion-ease-out),filter var(--kg-motion-slow) ease;transition-delay:var(--kgl-delay,0ms);will-change:opacity,transform,filter}
html.kgl-motion [data-kgl-reveal="left"]{transform:translate3d(34px,0,0)}
html.kgl-motion [data-kgl-reveal="right"]{transform:translate3d(-34px,0,0)}
html.kgl-motion [data-kgl-reveal="scale"]{transform:scale(.965) translate3d(0,16px,0)}
html.kgl-motion [data-kgl-reveal].is-visible{opacity:1;transform:none;filter:none;will-change:auto}

/* Hero entrance */
html.kgl-motion .kgl-hero__content>.kgl-eyebrow,
html.kgl-motion .kgl-hero__content>h1,
html.kgl-motion .kgl-hero__content>p,
html.kgl-motion .kgl-hero__content>.kgl-actions,
html.kgl-motion .kgl-hero__trust,
html.kgl-motion .kgl-hero__stats{opacity:0;transform:translate3d(0,24px,0)}
html.kgl-motion.kgl-motion-ready .kgl-hero__content>.kgl-eyebrow,
html.kgl-motion.kgl-motion-ready .kgl-hero__content>h1,
html.kgl-motion.kgl-motion-ready .kgl-hero__content>p,
html.kgl-motion.kgl-motion-ready .kgl-hero__content>.kgl-actions,
html.kgl-motion.kgl-motion-ready .kgl-hero__trust,
html.kgl-motion.kgl-motion-ready .kgl-hero__stats{opacity:1;transform:none;transition:opacity 820ms var(--kg-motion-ease-out),transform 820ms var(--kg-motion-ease-out)}
html.kgl-motion.kgl-motion-ready .kgl-hero__content>h1{transition-delay:90ms}
html.kgl-motion.kgl-motion-ready .kgl-hero__content>p{transition-delay:170ms}
html.kgl-motion.kgl-motion-ready .kgl-hero__content>.kgl-actions{transition-delay:250ms}
html.kgl-motion.kgl-motion-ready .kgl-hero__trust{transition-delay:330ms}
html.kgl-motion.kgl-motion-ready .kgl-hero__stats{transition-delay:410ms}
html.kgl-motion .kgl-hero__visual{opacity:0;transform:translate3d(-24px,10px,0) scale(.98)}
html.kgl-motion.kgl-motion-ready .kgl-hero__visual{opacity:1;transform:none;transition:opacity 1000ms var(--kg-motion-ease-out) 170ms,transform 1000ms var(--kg-motion-ease-out) 170ms}

/* Ambient hero motion and pointer parallax. */
.kgl-hero__mesh{animation:kgl-mesh-drift 14s ease-in-out infinite alternate;will-change:transform}
.kgl-hero__halo{animation:kgl-halo-breathe 5.8s ease-in-out infinite;transform:translate3d(calc(var(--kgl-mx,0) * 8px),calc(var(--kgl-my,0) * 8px),0);transition:transform 300ms ease-out}
.kgl-hero__photo{transform:perspective(1000px) rotateY(calc(var(--kgl-mx,0) * 1.2deg)) rotateX(calc(var(--kgl-my,0) * -0.8deg)) translate3d(calc(var(--kgl-mx,0) * -5px),calc(var(--kgl-my,0) * -4px),0);transition:transform 420ms var(--kg-motion-ease-out);animation:kgl-car-float 7.2s ease-in-out infinite}
.kgl-hero__frame{transform:translate3d(calc(var(--kgl-mx,0) * 3px),calc(var(--kgl-my,0) * 3px),0);transition:transform 420ms var(--kg-motion-ease-out)}
.kgl-hero__badge{transition:transform 420ms var(--kg-motion-ease-out),border-color .25s,background .25s;will-change:transform}
.kgl-hero__badge--fleet{transform:translate3d(calc(var(--kgl-mx,0) * 9px),calc(var(--kgl-my,0) * 7px),0);animation:kgl-badge-float-a 5.4s ease-in-out infinite}
.kgl-hero__badge--secure{transform:translate3d(calc(var(--kgl-mx,0) * -8px),calc(var(--kgl-my,0) * -6px),0);animation:kgl-badge-float-b 6.2s ease-in-out infinite}
.kgl-hero__frame span{animation:kgl-node-pulse 3.4s ease-in-out infinite}.kgl-hero__frame span:nth-child(2){animation-delay:.9s}.kgl-hero__frame span:nth-child(3){animation-delay:1.8s}

/* Premium button sheen + tactile micro-motion. */
.kgl-btn{position:relative;overflow:hidden;isolation:isolate}.kgl-btn>*{position:relative;z-index:1}
.kgl-btn--gold:after{content:"";position:absolute;z-index:0;top:-60%;bottom:-60%;left:-42%;width:26%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);transform:skewX(-18deg) translateX(0);opacity:0;pointer-events:none}
.kgl-btn--gold:hover:after,.kgl-btn--gold:focus-visible:after{opacity:1;animation:kgl-button-sheen 820ms var(--kg-motion-ease-out)}
.kgl-btn .kgl-icon,.kgl-btn .kgc-icon{transition:transform var(--kg-motion-base) var(--kg-motion-spring)}
.kgl-btn:hover .kgl-icon,.kgl-btn:hover .kgc-icon{transform:translateX(-3px)}
.kgl-btn--ghost:hover .kgl-icon,.kgl-btn--ghost:hover .kgc-icon{transform:scale(1.08)}

/* Card depth and light sweep. */
.kian-car-card,.kgl-category-card,.kgl-service-grid article,.kgl-blog-card,.kgl-testimonials blockquote,.kgl-feature-grid article,.kian-portal-booking{will-change:transform}.kgl-blog-card{position:relative}
.kian-car-card:after,.kgl-category-card:after,.kgl-service-grid article:after,.kgl-blog-card:after{content:"";position:absolute;inset:-1px;pointer-events:none;border-radius:inherit;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.045) 43%,rgba(215,171,99,.085) 50%,transparent 64%);background-size:250% 100%;background-position:120% 0;opacity:0;transition:opacity .25s,background-position 850ms var(--kg-motion-ease-out)}
.kian-car-card:hover:after,.kgl-category-card:hover:after,.kgl-service-grid article:hover:after,.kgl-blog-card:hover:after{opacity:1;background-position:-60% 0}
.kgl-category-card__icon,.kgl-service-grid__icon,.kgl-feature-grid__icon,.kgl-step-icon,.kgl-contact-cards__icon{transition:transform var(--kg-motion-base) var(--kg-motion-spring),background .3s,border-color .3s,color .3s}
.kgl-category-card:hover .kgl-category-card__icon,.kgl-service-grid article:hover .kgl-service-grid__icon,.kgl-feature-grid article:hover .kgl-feature-grid__icon{transform:translateY(-4px) rotate(-3deg) scale(1.04)}
.kian-car-card__media{position:relative}.kian-car-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(118deg,transparent 35%,rgba(255,255,255,.08) 48%,transparent 61%);transform:translateX(115%);transition:transform 900ms var(--kg-motion-ease-out);pointer-events:none}.kian-car-card:hover .kian-car-card__media:after{transform:translateX(-115%)}

/* Quick booking / forms */
.kgl-quick-search__panel{transition:transform var(--kg-motion-base) var(--kg-motion-ease-out),border-color .3s,box-shadow .3s}.kgl-quick-search__panel:focus-within{transform:translateY(-2px);border-color:rgba(215,171,99,.24);box-shadow:0 30px 70px rgba(0,0,0,.33),0 0 0 1px rgba(215,171,99,.04)}
.kgl-quick-search__form label,.kian-booking-form label{transition:transform var(--kg-motion-fast) ease}.kgl-quick-search__form label:focus-within,.kian-booking-form label:focus-within{transform:translateY(-1px)}

/* FAQ and details */
.kgl-faq details{overflow:hidden;transition:border-color .3s,background .3s,transform .3s var(--kg-motion-ease-out)}.kgl-faq details[open]{background:rgba(215,171,99,.025);border-color:rgba(215,171,99,.2);transform:translateY(-1px)}
.kgl-faq summary .kgl-icon,.kgl-faq summary .kgc-icon{transition:transform var(--kg-motion-base) var(--kg-motion-ease-out),color .3s}.kgl-faq details[open] summary .kgl-icon,.kgl-faq details[open] summary .kgc-icon{transform:rotate(180deg);color:var(--kg-gold-2)}
.kgl-faq details>p{animation:kgl-details-in 380ms var(--kg-motion-ease-out)}

/* Gallery */
.kgl-car-gallery__main img{transition:opacity 260ms ease,transform 600ms var(--kg-motion-ease-out)}.kgl-car-gallery__main.is-switching img{opacity:.18;transform:scale(.992)}
.kgl-car-gallery__thumbs button{transition:transform .24s var(--kg-motion-ease-out),border-color .24s,opacity .24s}.kgl-car-gallery__thumbs button:hover{transform:translateY(-2px)}.kgl-car-gallery__thumbs button.is-active{transform:translateY(-2px)}
.kgl-lightbox{transition:opacity 260ms ease,visibility 260ms ease}.kgl-lightbox img{transform:scale(.94);opacity:0;transition:transform 460ms var(--kg-motion-ease-out),opacity 300ms ease}.kgl-lightbox.is-open img{transform:scale(1);opacity:1}
.kgl-lightbox__close{transition:transform .25s var(--kg-motion-spring),background .25s}.kgl-lightbox__close:hover{transform:rotate(8deg) scale(1.06)}

/* Drawers */
.kgl-nav,.kgl-filter-card{transition-timing-function:var(--kg-motion-ease-out)!important}.kgl-nav.is-open .menu>li{animation:kgl-menu-item 420ms var(--kg-motion-ease-out) both}.kgl-nav.is-open .menu>li:nth-child(2){animation-delay:35ms}.kgl-nav.is-open .menu>li:nth-child(3){animation-delay:70ms}.kgl-nav.is-open .menu>li:nth-child(4){animation-delay:105ms}.kgl-nav.is-open .menu>li:nth-child(5){animation-delay:140ms}.kgl-nav.is-open .menu>li:nth-child(6){animation-delay:175ms}.kgl-nav.is-open .menu>li:nth-child(7){animation-delay:210ms}
.kgl-filter-card.is-open .kgl-filter-group{animation:kgl-menu-item 420ms var(--kg-motion-ease-out) both}.kgl-filter-card.is-open .kgl-filter-group:nth-of-type(2){animation-delay:55ms}.kgl-filter-card.is-open .kgl-filter-group:nth-of-type(3){animation-delay:110ms}.kgl-filter-card.is-open .kgl-filter-group:nth-of-type(4){animation-delay:165ms}

/* Floating WhatsApp: visible but not distracting. */
.kian-whatsapp-float b{position:relative}.kian-whatsapp-float b:after{content:"";position:absolute;inset:-5px;border:1px solid rgba(37,211,102,.42);border-radius:50%;animation:kgl-whatsapp-ring 2.8s ease-out infinite;pointer-events:none}

/* Decorative sections */
.kgl-experience__lines{animation:kgl-lines-drift 12s linear infinite}.kgl-about-art__ring{animation:kgl-ring-turn 24s linear infinite}.kgl-page-hero__mark{animation:kgl-mark-float 7s ease-in-out infinite}.kgl-cta-strip:before{animation:kgl-cta-glow 8s ease-in-out infinite alternate}

/* Counter transition avoids width jitter. */
[data-kgl-counter]{font-variant-numeric:tabular-nums;min-width:2ch;display:inline-block}

/* Booking states supplied by core.js */
.kian-booking-form.is-quoting .kian-quote{position:relative;overflow:hidden}.kian-booking-form.is-quoting .kian-quote:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.045) 48%,transparent 66%);transform:translateX(100%);animation:kgl-quote-scan 1.05s linear infinite;pointer-events:none}
.kian-booking-form.is-submitting button[type="submit"]{position:relative;overflow:hidden}.kian-booking-form.is-submitting button[type="submit"]:before{content:"";width:14px;height:14px;border:2px solid currentColor;border-left-color:transparent;border-radius:50%;animation:kgl-spin .75s linear infinite}
.kian-booking-form.is-success{animation:kgl-success-pulse 720ms var(--kg-motion-ease-out)}
.kian-quote.is-updated .kian-quote__rows strong{animation:kgl-value-pop 420ms var(--kg-motion-spring)}
.kian-form-message.is-success,.kian-form-message.is-error{animation:kgl-message-in 360ms var(--kg-motion-ease-out)}

@keyframes kgl-mesh-drift{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-28px,22px,0) scale(1.08) rotate(8deg)}}
@keyframes kgl-halo-breathe{0%,100%{opacity:.72;filter:blur(9px)}50%{opacity:1;filter:blur(12px)}}
@keyframes kgl-car-float{0%,100%{margin-top:0}50%{margin-top:-7px}}
@keyframes kgl-badge-float-a{0%,100%{margin-bottom:0}50%{margin-bottom:5px}}
@keyframes kgl-badge-float-b{0%,100%{margin-top:0}50%{margin-top:-5px}}
@keyframes kgl-node-pulse{0%,100%{box-shadow:0 0 0 0 rgba(215,171,99,0);opacity:.45}50%{box-shadow:0 0 0 6px rgba(215,171,99,.06);opacity:.9}}
@keyframes kgl-button-sheen{from{transform:skewX(-18deg) translateX(0)}to{transform:skewX(-18deg) translateX(720%)}}
@keyframes kgl-details-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
@keyframes kgl-menu-item{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
@keyframes kgl-whatsapp-ring{0%{transform:scale(.85);opacity:.55}70%,100%{transform:scale(1.35);opacity:0}}
@keyframes kgl-lines-drift{from{background-position:0 0}to{background-position:180px 0}}
@keyframes kgl-ring-turn{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes kgl-mark-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes kgl-cta-glow{0%{transform:translateX(0) scale(1)}100%{transform:translateX(-4%) scale(1.08)}}
@keyframes kgl-quote-scan{to{transform:translateX(-100%)}}
@keyframes kgl-spin{to{transform:rotate(360deg)}}
@keyframes kgl-success-pulse{0%,100%{transform:none}50%{transform:scale(1.006)}}
@keyframes kgl-message-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@keyframes kgl-value-pop{0%{opacity:.45;transform:translateY(3px)}100%{opacity:1;transform:none}}

@media(max-width:920px){
  .kgl-hero__mesh{animation-duration:18s}.kgl-hero__photo{animation:none}.kgl-hero__badge{animation:none}.kgl-about-art__ring{animation-duration:32s}
  html.kgl-motion [data-kgl-reveal]{transform:translate3d(0,18px,0);filter:none}
}
@media(max-width:620px){
  .kgl-scroll-progress{height:1px}.kgl-hero__halo,.kgl-hero__mesh{animation:none}.kgl-page-hero__mark{animation:none}
}
@media(hover:none){
  .kgl-btn--gold:after,.kian-car-card:after,.kgl-category-card:after,.kgl-service-grid article:after,.kgl-blog-card:after,.kian-car-card__media:after{display:none}
}
@media(prefers-reduced-motion:reduce){
  .kgl-scroll-progress{display:none}
  html.kgl-motion [data-kgl-reveal],html.kgl-motion .kgl-hero__content>*,html.kgl-motion .kgl-hero__visual{opacity:1!important;transform:none!important;filter:none!important}
  .kgl-hero__mesh,.kgl-hero__halo,.kgl-hero__photo,.kgl-hero__badge,.kgl-hero__frame span,.kian-whatsapp-float b:after,.kgl-experience__lines,.kgl-about-art__ring,.kgl-page-hero__mark,.kgl-cta-strip:before{animation:none!important}
}
@media(max-width:620px){.kgl-hero__photo{transform:none!important}}
