Hola Pao01:
Parte del problema puedes tenerlo en lo que te remarco en negrita:
.menu a:hover { background-position: 0 -23px; text-decoration: none; }
.menu .alt { display:none; }
.menu a#inicio { background-image: url(ini.png) }
.menu a#diseño web { background-image: url(dw.png) }
.menu a#diesño grafico { background-image: url(dg.png) }
.menu a#iservicios web { background-image: url(sw.png) }
.menu a#portfolio { background-image: url(ptf.png) }
.menu a#nuestra empresa { background-image: url(ne.png) }.
menu a#contactar { background-image: url(cnt.png) }
1º diesño grafico = diseño grafico
iservicios web = servicios web
que es como lo tienes en el HTML.
2º las opciones de menu con dos palabras (diseño web, diseño grafico, servicios web, y nuestra empresa, en el CSS debes ponerlo entre comillas y en HTML también pero diferenciandolas, es decir comillas dobles(") comillas simples(')diseño web(')(").
Espero haberme explicado y te solucione el problema.
¡¡Feliz año!!