.vignette-link :is(.fx-hail,.fx-peek,.fx-lift,.fx-float,.fx-zoom){transition:transform .3s ease-out,filter .3s ease-out}.vignette-link .fx-card{transition:box-shadow .3s ease-out}.vignette-link:is(:hover,:focus-visible) .fx-hail{filter:drop-shadow(0 12px 40px rgba(0,0,0,.55)) drop-shadow(0 0 24px rgba(255,204,50,.4))}.vignette-link:is(:hover,:focus-visible) .fx-lift{filter:drop-shadow(0 8px 32px rgba(255,204,50,.55))}.vignette-link:is(:hover,:focus-visible) :is(.fx-float,.fx-bob){filter:drop-shadow(0 0 24px rgba(255,255,255,.25))}.vignette-link:is(:hover,:focus-visible) .fx-card{box-shadow:0 20px 60px rgba(0,0,0,.45),0 0 0 3px rgba(106,190,69,.75),0 0 36px rgba(106,190,69,.35)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.vignette-link:is(:hover,:focus-visible) .fx-hail{animation:fan-hail .6s ease-in-out}.vignette-link:is(:hover,:focus-visible) .fx-peek{transform:translateY(-8px)}.vignette-link:is(:hover,:focus-visible) .fx-lift{transform:translateY(-6px)}.vignette-link:is(:hover,:focus-visible) .fx-float{transform:translateY(-10px) scale(1.04)}.fx-bob{transform:translateY(calc(var(--bob-y) * var(--bob-amp))) rotate(calc(var(--bob-rot) * var(--bob-amp)));transition:--bob-amp .4s ease-out,filter .3s ease-out;animation:fan-bob 1.6s ease-in-out infinite;animation-play-state:paused}.vignette-link:is(:hover,:focus-visible) .fx-bob{--bob-amp:1;animation-play-state:running}.vignette-link:is(:hover,:focus-visible) .fx-zoom{transform:scale(1.06)}}@keyframes fan-hail{0%,to{transform:rotate(0deg)}20%{transform:rotate(1.5deg)}45%{transform:rotate(-1.5deg)}70%{transform:rotate(1deg)}}@property --bob-y{syntax:"<length>";inherits:false;initial-value:0}@property --bob-rot{syntax:"<angle>";inherits:false;initial-value:0deg}@property --bob-amp{syntax:"<number>";inherits:false;initial-value:0}@keyframes fan-bob{0%,to{--bob-y:-6px;--bob-rot:1deg}50%{--bob-y:3px;--bob-rot:-1deg}}