* Avoid custom fonts. You probably don't need a custom font. Just use system fonts. Using built-in fonts will allow your site to load faster.
* Getting a "nice layout/theme" is a design problem. I'd suggest following someone's style guide. I'm fond of the U.S. Web Design System [0] since it's lightweight and accessible. Disagree with their suggestion to use a custom font.
* Keep the layout as simple as possible, with a focus on content. You can go incredibly far with semantic HTML and a smattering of CSS. I don't think it requires a deep-dive.
[0] https://designsystem.digital.gov/