Ciao, penso che il problema sia l'uso di overflow:hidden.

Finché <ul> ha position:static (valore di default), il suo overflow non influisce sui contenuti (discendenti) che hanno position:absolute...