Hey Olayemi,
This is cool.
These are my suggestions
1 You could use the picture html element and declare the breakpoint in source element for desktop and default (i.e mobile) in img element. This would do the same job without using css and it will be clear as well neat.
2 The product image should be the same size and product information section (i.e aside). You could use flex on parent container (i.e main element).
3 Styling html elements (main, body etc) directly is not recommended and not good practice. Instead, make it a class and style it. This will save you a lot of time when you need to extend the project.
I hope you find this helpful.