/* cq-vetfix2-18jul — audit-and-enliven layer · The VET Sector Directory
   Ken Burns in photo frames (alternating), hover duotone, reveal cascades,
   card tilt+sheen (fine pointer only), specialism marquee. All PRM-gated. */

/* reveal cascade (JS sets data-vfx-c; no-JS users never see the hidden 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}
}

/* Ken Burns pan/zoom inside listing photo frames — slow, alternating direction */
@media (prefers-reduced-motion: no-preference){
  .listgrid2 .lcard .lph img{animation:vfxkbA 22s ease-in-out infinite alternate}
  .listgrid2 .lcard:nth-child(even) .lph img{animation-name:vfxkbB;animation-duration:26s}
}
@keyframes vfxkbA{from{transform:scale(1.02) translate(-1%,0)}to{transform:scale(1.09) translate(1.6%,-1.2%)}}
@keyframes vfxkbB{from{transform:scale(1.02) translate(1%,-.6%)}to{transform:scale(1.09) translate(-1.6%,1%)}}

/* hover zoom + indigo duotone wash in the frame (fine pointers) */
@media (hover:hover) and (pointer:fine){
  .lcard .lph::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(150deg,rgba(46,58,140,.42),rgba(199,145,43,.18));
    opacity:0;transition:opacity .35s ease}
  .lcard:hover .lph::after{opacity:1}
  .lcard:hover .lph img{animation:none;transform:scale(1.1)}
  .tmember .tph img{transition:transform .45s ease}
  .tmember:hover .tph img{transform:scale(1.08)}
}

/* 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,.32),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}
  .listgrid2 .lcard .lph img{animation:none!important}
}

/* specialism marquee — indigo band in the Directory voice (contained dark strip) */
.vfx-mq{overflow:hidden;white-space:nowrap;background:linear-gradient(100deg,#141A3C,#2E3A8C);
  border-top:1px solid rgba(199,145,43,.4);border-bottom:1px solid rgba(199,145,43,.4);padding:13px 0}
.vfx-mq-t{display:inline-block;white-space:nowrap;font:italic 500 1rem/1.2 Fraunces,Georgia,serif;color:#E8E2CF;
  animation:vfxmq 80s linear infinite}
.vfx-mq-t i{font-style:normal;opacity:.55;margin:0 14px;color:#E5C55B}
@keyframes vfxmq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.vfx-mq-t{animation:none}}

/* directory filter helper */
.vfx-noresults{display:none;border:1px dashed var(--line,#D8DCE8);border-radius:14px;padding:26px;text-align:center;
  font-size:15px;color:#4A5068;margin-top:6px}
.vfx-noresults.on{display:block}
