От этого спасает в большей степени mobile first верстка. Ну а так иногда приходится кучу раз их прописывать. Еще со временем рука набивается многие элементы делать резиновыми, что в них даже не приходится прописывать медиа запросы.
Tutucu, ты так уверен?) keyframe generate in js и останавливать animation можно, к тому же у тебя подключен jquery почему же анимацию полность не сделать через .animate(). Еще есть спосбоы делать анимацию при помщи рекурсий. В общем читай учись) Направление я тебе дал
Никак) Это экономия на спичках. Но в твоем случае посоветую. Не заморачивайся с отдельными файлами для блоков и их дочерними элементами, усложняешь себе жизнь только. Чтобы все разложить по полочкам, есть специальный инструментарий. И если у тебя есть идентичные блоки у которых стили дублируются, значит ты как-то не так применяешь БЭМ
Задать фиксированную ширину/высоту для кольца, блоки текста относительно позиционировать. В адаптиве убрать позиционирование и кольцо, просто оставить текст с иконками.