Для начала, перемести весь тег .menu из раздела .logo в .head. Потому что это как минимум очень странная структура получается. А если учесть, что ты использовал flex, который я ранее советовал, это совсем неправильно получается. У тебя уже сам .head, это flex контейнер, так что там дело пары свойств.
При такой структуре....
И таким оформлением картинки...
header .head {
display: flex;
justify-content: flex-start;
gap: 20px;
width: 100%;
height: 100px;
padding: 0 20px;
box-sizing: border-box;
background-color: #000;
}
header .head .logo {
width: 100px;
height: 100%;
}
header .logo img {
height: 100%;
}
Меню будет выглядеть примерно так...
header .head .menu ul {
display: flex;
gap: 20px;
height: 100%;
}
header .head .menu a {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
padding: 0 20px;
background-color: #fff;
}
Остается только адекватно украсить.
Если тебе нужно само меню выровнять по центру отдельно от логотипа, то придется отрезать его от флекса через position: absolute.