Use a block theme, and simply either remove any block related to displaying the posts (the Latest Posts or Blog Posts blocks), change the Query Loop block’s settings if that’s used instead, or just avoid any templates designed to display blog posts.
Keep in mind that WordPress is a content management system, and posts are a type of content it manages. The functionality will remain in the backend, but it’s trivial to modify any block theme to never display posts.
These block themes are all free: https://wordpress.org/themes/tags/full-site-editing/
Block themes use the new Site Editor, meaning that how you can modify a theme is now almost limitless without even having to touch CSS: https://wordpress.org/documentation/article/site-editor/
Therefore, the theme can display as much, or as little as you want, you have full control.
There’s also a video tutorial if you prefer that style: https://learn.wordpress.org/tutorial/intro-to-the-site-editor-and-template-editor/