/* cq-vetfix2-18jul — audit-and-enliven layer · The VET Sector Awards
   Reveal cascades, card tilt+sheen (fine pointer only), count-ups, category marquee.
   Everything PRM-gated; motion never sits behind text. */

/* reveal cascade (JS sets data-vfx-c + per-item delay; no-JS users never see this state) */
[data-vfx-c]{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease;transition-delay:var(--vfxd,0ms)}
[data-vfx-c].vfx-in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  [data-vfx-c]{opacity:1!important;transform:none!important;transition:none!important}
}

/* card tilt + sheen — fine pointers only */
@media (hover:hover) and (pointer:fine){
  .vfx-tilt{will-change:transform;transition:transform .3s ease,box-shadow .3s ease}
  .vfx-sheen{position:relative;overflow:hidden}
  .vfx-sheen::after{content:"";position:absolute;top:0;left:-75%;width:46%;height:100%;
    background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent);
    transform:skewX(-18deg);opacity:0;pointer-events:none;transition:left .65s ease,opacity .25s ease}
  .vfx-sheen:hover::after{left:138%;opacity:1}
}
@media (prefers-reduced-motion: reduce){
  .vfx-tilt{transform:none!important;transition:none!important}
  .vfx-sheen::after{display:none!important}
}

/* category marquee — one per site, family navy+gold voice (dark strip is a contained band) */
.vfx-mq{overflow:hidden;white-space:nowrap;background:linear-gradient(100deg,#101528,#1B2A5E);
  border-top:1px solid rgba(229,197,91,.4);border-bottom:1px solid rgba(229,197,91,.4);padding:13px 0}
.vfx-mq-t{display:inline-block;white-space:nowrap;font:italic 500 1rem/1.2 Fraunces,Georgia,serif;color:#E5C55B;
  animation:vfxmq 80s linear infinite}
.vfx-mq-t i{font-style:normal;opacity:.55;margin:0 14px}
@keyframes vfxmq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.vfx-mq-t{animation:none}}
