Hi there,
Background images can be tricky, and are usually used for patterns/large images that will look good even if certain areas aren’t shown.
They aren’t really designed to display logos/text etc..
In this case, I would set your header background color to the red, and then input the logo with a transparent background into the Header widget area in “Appearance > Widgets”.
This would give you a consistent look on desktop and mobile, and would always show your logo (while adding it as a background won’t).
To change the header background on individual pages, you’ll need to know the page ID of the page.
For example, if your page ID is 10, you could do this in CSS:
.page-id-10 .site-header {
background-image: url('URL TO YOUR BACKGROUND IMAGE');
}
Let me know if you need more info π