I would like to fix the layer order (the navigation overlaps the content) and revisit the animations later. Just a fun experiment and I'm sure there are better ways to code this using SVG. Feel free to comment and share if you have your own examples built. Inspired by Google Design.
Since we can't transition CSS gradients (to another gradient) yet, I've provided a lil' workaround using a pseudo element. The shown transition is triggered by the opacity property. Note: To transition gradients like this only works with browsers which are able to transition pseudo elements.