Для каждого сочетания свойств font-weight и font-style должен быть свой шрифт, а у вас задан только 1 случай - normal/normal.
Браузеры по разному обрабатывают ситуацию когда нет шрифта. Некотрые ничего не делают, а другие автоматически утолщают/наклоняют. Естественно, почти всегда это получается не красиво.
https://jsfiddle.net/7w3d38qk/1/
Еще желательно картинку заранее отмасштабировать, чтобы можно было обойтись без background-size: 120%, т.к. это тоже значительно влияет на производительность
Гуглите position: sticky. Пока что поддерживается не многими браузерами, но можно прикрутить полифил.
Либо, как уже ранее ответили, использовать какой ни будь jquery плагин. Я бы выбрал первый вариант.
Скорее всего проблема в том что используется дочерний селектор ">" в css. Это происходит потому что jquery перед анимацией оборачивает элемент в свой div а после удаляет.
Самое простое решение переписать css для этого блока без использования дочерних селекторов.