Boa Tarde. Eu fui vendo as dúvidas dos outro colegas, e descobri e acabei entendendo porque a minha codificação .html não funcionava no .CSS. Pelo que entendi o campo texto = "Outros" tem que estar na mesma tag que o item de seleção, no caso tipo = "radio" outros. Ai funcionou corretamente. Segue a minha codificação.
contato.html
<main>
<h1 class="titulo-principal">Contato</h1>
<div class="container">
<form>
<fieldset>
<legend>Dados Pessoais</legend>
<label for="nome">Nome</label>
<input id="nome" type="Text" name="nome-contato" placeholder="Seu nome aqui" required autofocus pattern="[A-Za-zÀ-ú ']{4,}" title="O nome precisa ter pelo menos 4 caracteres">
<label for="email">E-mail</label>
<input id="email" type="email" name="email-contato" placeholder="Digite seu e-mail" required>
</fieldset>
<fieldset>
<legend>Assunto</legend>
<label>
<input type="radio" name="assunto" value="Blog">
Blog
</label>
<label>
<input type="radio" name="assunto" value="Serviço">
Serviço
</label>
<label>
<input type="radio" name="assunto" value="Outro">
Outro
<input type="text" name="outro-assunto" placeholder="Informe o assunto específico" required>
</label>
<fieldset>
<label for="mensagem">Mensagem</label>
<textarea name="msg" id="mensagem" cols="60" rows="10" required placeholder="Digite aqui sua mensagem"></textarea>
<button type="submit">Enviar <strong>para mim</strong></button>
</fieldset>
</fieldset>
</form>
</div>
</main>
contato.css
/*O radio usado para o assunto "outro-assunto" tem o atributo value com esse texto.
Então, usando os seletores de atributo e de irmão,
conseguimos selecionar o campo e escondê-lo com a propriedade display:*/
input[value="Outro"] ~ input {
display: none;
}
/*Agora, quando esse radio for selecionado, a pseudoclasse será adicionada a ele.
Podemos usar essa pseudoclasse para selecionar novamente o campo de texto ao lado
e mudar o valor da propriedade display:*/
input[value="Outro"]:checked ~ input {
display: inline;
}