Устанавливаете градиентный background к тексту, пишете внутреннюю тень для текста text-shadow, дальше добавляем секретный ингредиент background-clip и радуемся результату. (Поддержку сможете посмотреть здесь)
Обычно в меню не делают кнопки "наверх" ее проявляют снизу когда человек спустился ниже по странице. Но если я Вас правильно понял, то посмотрите здесь на реализацию. https://jsfiddle.net/Poter/vdf5nrot/