Puedes usar tal vez
animation-direction
que tiene un valor
reverse
, tal vez haciendo una animación en el estado natural y otra cuando se pase el mouse por encima. Pero tal vez tengas algún problema con que no se realice la animación al sacarlo, ya que igual choca ese
forwards
, y sin eso pues no se mantiene.
Haré alguna prueba por la tarde.
Si la animación sólo tuviera "una vuelta" podrías usar
cubic-bezier()
para
timing-function
.