Na aula faltou mencionar o marcador !important
Se tivermos esse marcador na nossa definição no arquivo css e não a tivermos na declaração inline ela sobrescreve o inline, nesse caso ficando com a cor "gray".
color: gray !important;
Se ambas as declarações (inline e arquivo externo) tiverem o marcador !important a do inline prevalece.