Причина в том, что тень текста отображается на переднем слое. Если бы я был тобой, я бы добавил border-bottom к элементу h1 a без подчеркивания текста.
h1 a {
text-decoration: none;
border-bottom: 1px solid blue;
}
Конечно, замените синий на любой цвет ваших ссылок.
Edit: понял, что тень может быть исправлена с помощью тега span
.
Я думаю, что наличие небольшого промежутка между подчеркиванием и базовой линией при использовании тени выглядит лучше, но если у вас должно быть text-decoration: underline
, вам придется добавить элемент span в вашу разметку:
<a href="/" title="Home"><span>Home</span></a>
CSS:
h1 a span {
position: relative;
top: 0px;
z-index: -100;
}