Это просто фон.
Фон с помощью множественных радиальных градиентов.
У одного блока, а не трех.
Типа того https://jsfiddle.net/ertscfdw/
Разными способами написала градиент для разных случаев, сами сделаете как нужно, в зависимости от желаемого поведения при адаптации. Статья
Если ширина зависит от размера корневого шрифта, то да. Если нет, то нет. Вроде очевидно.
Высоту вообще не стоит задавать, используйте отступы.
И вот это Какие используете единицы измерения при верстке?