Нормально ли такое расхождение с макетом?
Да нормально, даже хорошо. Если заказчик нормальный человек (что все таки большинство), то хорошо. По поводу меню, нужно сделать через ::after, ::before.menu li a::before,
.menu li a::after{
   content: "";
   position: absolute;
    bottom: 0;
    width: 49%;
    height: 2px;
}
Нормально.
С учетом того,  что браузер и фотошоп/скетч/фигрма рендерят картинку по разному. 
Главное что бы все отсутпы,  лайнхейты и т.д.  соответствовали макету.