Background images are tricky like this.
If you set the size to 100% width, it will resize with your screen. The issue is it will add a white space below the image on smaller screens.
The best thing you can do is apply a different background image which works better for that screen size when you hit that width.
For example, if the image stops looking good at 1200px wide, you could do this:
@media (max-width: 1200px) {
body {
background-image: url('URL TO DIFFERENT IMAGE');
}
}
Let me know if that makes sense 🙂