Boa noite Marcos, tudo bem?
Isso acontece porque, por padrão, os elementos < li > possuem display: list-item, definido pela folha de estilo do user agent (o estilo padrão do navegador). Quando você define ul.cabecalhonav_list { display: grid; }, o navegador não altera automaticamente o display dos < li > dentro dela.
Tente forçar o display: grid para os < li > dentro da sua ul:
ul.cabecalho__nav_list {
display: grid;
}
ul.cabecalho__nav_list li {
display: grid; /* Sobrescrevendo o padrão list-item */
}
Se o problema persistir, tente usar display: contents, que pode ajudar os < li > a se comportarem melhor dentro do grid:
ul.cabecalho__nav_list li {
display: contents;
}
O display: contents faz com que o < li > "desapareça" visualmente e seus filhos sejam tratados diretamente como parte do Grid, sem a interferência do list-item.
Se o layout ainda não funcionar como esperado, pode ser útil conferir o DevTools para ver se alguma outra regra está sobrescrevendo suas configurações. Você pode usar o !important como último recurso:
ul.cabecalho__nav_list li {
display: grid !important;
}
Espero que tê-lo ajudado, bons estudos!