Use semantic html (with tags like <main>, <article> etc) , that way you can make a webpage more informative for browsers and search engines.
I also missed it at first, but the hover not only changes the color of h1, but also creates a bigger dropshadow.
You could also use global variables for the font-sizes. I created 3 variables with font-sizes. With 'clamp' as I used it you have a linear scale from small to bigger font-sizes. But if you use media-queries you also only have to define what the size is for each media query and you don't have to set the font-size for element seperately again (you wouldn't need h1 and .description in your media query).
--font-size-heading: clamp(1.25rem, 5vw - 1rem, 1.5rem);
--font-size-medium: clamp(0.875rem, 5vw - 1rem, 1rem);
--font-size-small: clamp(0.75rem, 5vw - 1rem, 0.875rem);