@sean good point - a misunderstanding of how CSS transitions work on my part. I was under the impression that I had to declare a property to transition in each rule - i.e. simply saying "transition: background-color 0.5s" without stating an actual background colour wouldn't work. Which is what led to me overthinking!