Hiding submenus with "display: none" causes the submenus to become inaccessible through at least some screen readers (e.g., Apple's VoiceOver), so the ugly -9999px hack must be used. Still need to test the max-width: 480px case with a phone.