To replicate it in HTML/CSS will be relatively easy: it isn’t terribly complicated, and I’m not sure exactly what they’re using w/r/t a theme, because honestly it doesn’t really look themed (it doesn’t have that polish you’d expect). And with regards to a free theme - there are thousands of free themes available, so you’d need to have a hunt around (the base WordPress one is quite nice for starters), but there will definitely be one that makes this easy.
If you’re wanting to replicate it exactly, then it’ll be easier to do it in HTML/CSS first (I’d advise ignoring the current HTML/CSS as there is a huge amount of crap dumped in by the theme + the plugins). Then you can move that to be a WordPress theme without much effort
the main thing to bear in mind here is that WordPress is basically a wrapper over a database, a way to input data on the admin side, then display on the client side using PHP templates. It’s for making a site that you need to update often. It’s very easy to get started with, and if you’re happy with just using a premade theme and some plugins, can be made with no coding.
You can’t do that with just HTML/CSS. The things WordPress makes easier here are firstly the booking form (it’s easy to find a form plugin to handle that), and secondly adding events. If you aren’t aiming to update the site regularly, WP is not really necessary, but it’s useful, means you don’t have to manually write any content into HTML, you just write in the admin bit then save and it pops up on the front end