Расхождение в полпикселя нормально. Если пишешь отрицательные маргины, значит в верстке уже что-то не так.
Также обрати внимание, что для Pixel Perfect макет должен быть подготовлен идеально (каждый отступ и размер шрифта логически обоснован).
Для первого раза неплохо. Еще бы избавиться от лишних position: absolute.
Нечетные единицы в размере шрифта лучше не использовать и вообще перевести в rem.
Свойства margin и background нужно группировать.