Background contain y múltiple

Además de background-size: cover, se puede indicar background-size: contain

https://css-tricks.com/almanac/properties/b/background-size/

También es posible usar más de una imagen:

https://css-tricks.com/stacking-order-of-multiple-backgrounds/