Overall this looks very nice.
I had a (short) look at the code and I have a question: Is there a specific reason for not using a multi-row Grid for the whole part below the image instead of a vertical Flexbox with nested single row grids?
Beside the cleaner code this would also make sure that the text in the cells are nicely aligned vertically.
I think you could use filter: blur(<pixel value>);. This would blur all of the content when applied to the body directly, but you can move the image to body::before and apply the filter there.