Ich würde einiges anders machen. Zum Beispiel nicht das Menü per padding nach unten zwingen, die Breite des Menüs an ein Hintergrundbild anpassen, etc...
Zu Deinem Problem: h3 bekommt vom Browser ein padding mit. Das musst Du reseten:
#menu h3 { margin:0}