снес из фреймворка по умолчанию подключавшийся .clearfix, на кой он там нужен х.з., но делу это не помогло.
с контентом разобрался - оказывается при overflow:hidden, браузер считает margin не от родителя, а от ближайшего предыдущего блока, потому его и уносило вдаль.
с бекграундом в хедере пока не ясно.