Hi! I am still learning also! I think you can probably wrap the top-part, bottom-left, and bottom-right sections in one div, named "card", and then define your border-radius in one section instead of have 3 separate areas defining separate sections with the same border-radius property.
Then that one line can look like this:
.card{ overflow: hidden; border-radius: 10px; }
You can add overflow:hidden; inside the .body part as well and that should give all your corners the curve :D.
Similarly, I defined the body font in the body area as 'white', and then just changed everything else in the sections below. That can cut some of the lines like these:
.right { color: white; }
.bottom-left>p { color: white; }
I did not see any changes when I commented those parts out so probably works with less lines.
I hope this helps somewhat. If what I said was confusing, I can send all the things I played around with using your code so you can see what I modified. Feel free to reach out ^_^