Znacznik <main> nie powinien zawierać znacznika <header>
Najpierw <header> potem <main> .
https://developer.mozilla.org/pl/docs/Web/HTML/Element/main
https://developer.mozilla.org/en-US/docs/Glossary/Semantics
https://www.freecodecamp.org/news/semantic-html5-elements/
Tutaj masz linki które powinieneś zbadać i przeczytać skoro wiesz że masz z tym problem zajrzyj tam i wyeliminuj problem!!!
Dobrą praktyką jest odseparowanie <style> do osobnego pliku : "style.css" lub main.css" wedle uznania reszta wygląda Super jak na moje oko !
Pozdrawiam Serdecznie !