/** QASF Hero Premium — visible first entry + optional premium micro-interactions. */
.qhero-root[data-qhero-motion="1"] .qasf-hero-slide.is-active [data-qhero-anim]:not([data-qhero-anim="none"]):not([data-qhero-anim="typewriter"]):not([data-qhero-anim="letter_stagger"]):not([data-qhero-anim="split_text"]){
  --qhero-enter-transform:none;
  --qhero-enter-filter:none;
  --qhero-enter-clip:inset(0 0 0 0);
  animation:qhero-visible-entry 680ms cubic-bezier(.22,.75,.22,1) both;
  animation-delay:calc(var(--qhero-delay,80ms) + (var(--qhero-order,0) * var(--qhero-stagger,100ms)));
}
.qhero-root[data-qhero-motion="1"] .qasf-hero-slide.is-active [data-qhero-anim="fade_up"]{--qhero-enter-transform:translate3d(0,26px,0)}
.qhero-root[data-qhero-motion="1"] .qasf-hero-slide.is-active [data-qhero-anim="slide_right"]{--qhero-enter-transform:translate3d(58px,0,0)}
.qhero-root[data-qhero-motion="1"] .qasf-hero-slide.is-active [data-qhero-anim="slide_left"]{--qhero-enter-transform:translate3d(-58px,0,0)}
.qhero-root[data-qhero-motion="1"] .qasf-hero-slide.is-active [data-qhero-anim="slide_up"]{--qhero-enter-transform:translate3d(0,36px,0)}
.qhero-root[data-qhero-motion="1"] .qasf-hero-slide.is-active [data-qhero-anim="slide_down"]{--qhero-enter-transform:translate3d(0,-36px,0)}
.qhero-root[data-qhero-motion="1"] .qasf-hero-slide.is-active [data-qhero-anim="zoom_in"]{--qhero-enter-transform:scale(.9)}
.qhero-root[data-qhero-motion="1"] .qasf-hero-slide.is-active [data-qhero-anim="zoom_out"]{--qhero-enter-transform:scale(1.08)}
.qhero-root[data-qhero-motion="1"] .qasf-hero-slide.is-active [data-qhero-anim="scale_soft"]{--qhero-enter-transform:scale(.96)}
.qhero-root[data-qhero-motion="1"] .qasf-hero-slide.is-active [data-qhero-anim="rotate_subtle"]{--qhero-enter-transform:scale(.98) rotate(2.5deg)}
.qhero-root[data-qhero-motion="1"] .qasf-hero-slide.is-active [data-qhero-anim="blur_reveal"]{--qhero-enter-transform:scale(1.015);--qhero-enter-filter:blur(12px)}
.qhero-root[data-qhero-motion="1"] .qasf-hero-slide.is-active [data-qhero-anim="mask_reveal"]{--qhero-enter-transform:translate3d(0,14px,0);--qhero-enter-clip:inset(0 0 100% 0)}
.qhero-root[data-qhero-motion="1"] .qasf-hero-slide.is-active [data-qhero-anim="pop"],
.qhero-root[data-qhero-motion="1"] .qasf-hero-slide.is-active [data-qhero-anim="bounce"],
.qhero-root[data-qhero-motion="1"] .qasf-hero-slide.is-active [data-qhero-anim="glow"]{--qhero-enter-transform:translate3d(0,14px,0) scale(.88)}
@keyframes qhero-visible-entry{
  from{opacity:0;transform:var(--qhero-enter-transform);filter:var(--qhero-enter-filter);clip-path:var(--qhero-enter-clip)}
  to{opacity:1;transform:none;filter:none;clip-path:inset(0 0 0 0)}
}

/* Button effect primitives; scoped rules are emitted per Hero section. */
.qhero-premium-button{position:relative;overflow:hidden;isolation:isolate;transform:translateZ(0)}
.qhero-premium-button::before{content:"";position:absolute;inset-block:-25%;inset-inline-start:-75%;inline-size:34%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),rgba(255,255,255,.44),rgba(255,255,255,.08),transparent);transform:skewX(-18deg);pointer-events:none;opacity:0}
@media(hover:hover) and (pointer:fine){
  .qhero-premium-button.is-shine:hover::before,.qhero-premium-button.is-shine:focus-visible::before{animation:qhero-button-shine 680ms ease-out both}
}
@keyframes qhero-button-shine{0%{inset-inline-start:-75%;opacity:0}18%{opacity:.75}100%{inset-inline-start:145%;opacity:0}}

@media(prefers-reduced-motion:reduce){
  .qhero-root[data-qhero-motion="1"] .qasf-hero-slide.is-active [data-qhero-anim]{animation:none!important;opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
  .qhero-premium-button::before{display:none!important}
}
