Note that I removed the margin-top declaration and added the position and top properties. This should give you the behavior you are looking for.
As to why this didn’t work originally, this is a tricky one. The problem has to do with what you are trying to accomplish. You are trying to have a child element (menu-cta) go beyond the boundaries of (menu) by using margin and setting the menu’s height to be 80px. This causes some weird behavior where your content is compressed and expanded, whose exact details I am not too sure about. I just learned through experience that causes problems.