This is the first time I have done the full post processing in Blender, where I did the color collection and added the grain.
One of the reasons why it is a good idea to do the post processing in Blender internally, is because renders by default are going to be 32-bit. This means much more flexibility when editing the photos.
Here I used the Kuwahara filter in the Blender compositor which gives a nice painterly feel.
I used quite a lot of assets that I have previously prepared such as the water shader, and boulder generator. However I did model some assets from scratch for this scene like the vault door, and created a procedural system for the water plants.