Olá Ross, tudo bem?
O Jefferson já disse tudo, realmente o ideal seria criar um CSS Padrão, digamos assim, onde ele vai conter basicamente o layout do seu site, que vai estar presente em todas as páginas, então a edição do header, main, footer
por exemplo, são edições que vai ser igual em todas as páginas, então você cria um CSS apenas para eles. É interessante ter um CSS para cada página específica, por que cada página do seu site vai ter uma peculiaridade que apenas aquela página vai ter, então é interessante separar o CSS, para caso você precise fazer alguma manutenção, fique mais fácil de achar os elementos.
Agora, eu costumo usar bastante comentários no meu CSS para separar partes e me ajudar a compreender o que os elementos irão fazer. E para facilitar a leitura eu separo igual o HTML, então começo no header e desço até o footer, fica mais ou menos assim:
/*HEADER*/
nav ul{
background:rgba(105,105,105, 0.6);
border-radius: 7px;
border-left: 10px solid #004080;
list-style: none;
display: inline-block;
position: fixed;
}
.icon {
display: inline-block;
float: right;
padding: 0 8px;
margin-top: 6px;
opacity: .7;
}
/*FIM HEADER*/
/*MAIN*/
h1 {
font-size: 3em;
color: red;
}
p {
text-align: justify
font-size: .5em;
color: #ccc;
}
/*FIM MAIN*/
/*ASIDE*/
code here...
/*FIM ASIDE*/
/*FOOTER*/
.footer {
padding:8px 0;
min-width: 100%;
background-color: black;
position: fixed;
bottom: 0;
}
footer p {
font-size: 1em;
text-align: center;
}
/*FIM FOOTER*/
PS: Esse CSS Não faz sentido
Bom enfim, eu costumo organizar assim meu CSS para melhor leitura minha, além de fazer um CSS Padrão e outros para cada página.
Espero ter ajudado e bons estudos!