el carácter '<' que utilizas para abrir el
<div id="header> contiene un error, posiblemente de codificación, pues si se borra y se vuelve a escribir, el margin-top desaparece.
Y esto es lo que dice
el validador:
Cita: Notes and Potential Issues
The following notes and warnings highlight missing or conflicting information which caused the validator to perform some guesswork prior to validation. If the guess or fallback is incorrect, it could make validation results entirely incoherent. It is highly recommended to check these potential issues, and, if necessary, fix them and re-validate the document.
1.
Warning Byte-Order Mark found in UTF-8 File.
The Unicode Byte-Order Mark (BOM) in UTF-8 encoded files is known to cause problems for some text editors and older browsers. You may want to consider avoiding its use until it is better supported.
Un saludo