Mauricio Doncel
PreguntaDisculpen. La línea 38 (2:29) puede ser solo:
.header__menu:hover ul {
display: block;
}
Y no pierde ninguna funcionalidad en especial pues no entendía bien el porque de lo que le sigue (, ul:hover) y al parecer me funciona apropiadamente.

Carlos Iván Ochoa Gómez
Hola Mauricio, Cundo tu le quieres dar estilos o propiedades a un elemento desde CSS se hace esto, lo cual es lo normal
.header__menu:hover ul { display: block; }
este código significa que cuando el mause pase por .header__menu a la etiqueta ul agrégale este atributo en este caso el display: block. Pero si yo quiero agregar el mismo atributo a ul puedo hacer esto esto
.header__menu:hover ul { display: block; } ul:hover { display: block; }
y este código sígnica que cuando el mause pase por .header__menu a la etiqueta ul agrégale este atributo en este caso el display: block o cuando el mause pase por .ul a la etiqueta ul agrégale este atributo display: block. Entonces para simplificar el código es mejor utilizar una "," de esta forma
.header__menu:hover ul , ul hover{ display: block; }
este código es idéntico al segundo y la coma funciona como una "y". Con las cual puedes dar los mismos estilos a múltiples clases separadas por una coma.