/* ============ Page-load hero sequence ============ */
@keyframes loadUp{ from{opacity:0; transform:translateY(24px);} to{opacity:1; transform:translateY(0);} }
.hero__eyebrow{ animation:loadUp .7s var(--ease) .1s both; }
.hero__title{ animation:loadUp .8s var(--ease) .22s both; }
.hero__desc{ animation:loadUp .8s var(--ease) .34s both; }
.hero__actions{ animation:loadUp .8s var(--ease) .46s both; }
.hero__stats{ animation:loadUp .8s var(--ease) .58s both; }
.hero__visual{ animation:heroImgIn 1.1s var(--ease) .3s both; }
@keyframes heroImgIn{ from{opacity:0; transform:scale(1.06) translateY(10px);} to{opacity:1; transform:scale(1) translateY(0);} }

/* ============ Facet shimmer — subtle gold sweep on key CTAs ============ */
.shimmer{ position:relative; overflow:hidden; }
.shimmer::before{
  content:''; position:absolute; top:0; left:-150%; width:60%; height:100%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,.35), transparent);
  transform:skewX(-20deg); animation:shimmerSweep 3.2s ease-in-out infinite;
}
@keyframes shimmerSweep{ 0%{left:-150%;} 40%{left:150%;} 100%{left:150%;} }

/* ============ Count-up number pulse ============ */
.count-up{ transition:opacity .3s; }

/* ============ Floating gem particles (hero ambient) ============ */
.gem-particle{ position:absolute; width:6px; height:6px; background:var(--gold); opacity:.5; clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); animation:floatY 6s ease-in-out infinite; }
@keyframes floatY{ 0%,100%{ transform:translateY(0) rotate(0deg);} 50%{ transform:translateY(-22px) rotate(180deg);} }

/* ============ Card stagger on scroll (handled via data-reveal-group + JS setting --i) ============ */

/* ============ Marquee pause on hover ============ */
.marquee:hover .marquee__track{ animation-play-state:paused; }

/* ============ Nav underline / mobile drawer already in style.css ============ */

/* ============ Button press ============ */
.btn:active{ transform:scale(.97); }

/* ============ Accordion (FAQ) ============ */
.acc-item__panel{ max-height:0; overflow:hidden; transition:max-height .45s var(--ease-soft); }
.acc-item.is-open .acc-item__panel{ max-height:400px; }
.acc-item__icon{ transition:transform .35s var(--ease); }
.acc-item.is-open .acc-item__icon{ transform:rotate(45deg); }

/* ============ Chat widget pop ============ */
@keyframes chatPop{ from{opacity:0; transform:translateY(16px) scale(.96);} to{opacity:1; transform:translateY(0) scale(1);} }
.chat-panel{ animation:chatPop .3s var(--ease) both; }

/* ============ Skeleton / loading shimmer for dashboard cards ============ */
@keyframes skeletonPulse{ 0%,100%{opacity:.5;} 50%{opacity:1;} }
.skeleton{ animation:skeletonPulse 1.4s ease-in-out infinite; background:rgba(28,23,18,.08); }
