Фоновые изображения адаптируются с помощью background-size
Или изменения размеров блока. Например, вставляются как фон псевдоэлемента и дальше регулируют размер псевдо, а фону задают contain, cover или 100% (или не 100)
Единственно отличие между растром и SVG в том, что растр меняет свои пропорции, а SVG обычно нет.
Чтобы менялись пропорции SVG у него должен быть атрибут
preserveAspectRatio
Вот примеры
https://jsfiddle.net/0xrh6uvj/ - меняйте ширину окна с результатом
----
Но вы не сделали песочницу на jsfiddle.net с вашим проблемным кодом и не ясно, что вообще вы там творите.