They appear to be using the Backbone.js/Marionette framework, which is super hardcore but also dates when this site was probably developed (I can't remember the last time I saw Backbone in the wild!)
In the spirit of clarification / correction (vs pedantry), SPA is a client-side web architecture pattern, whereas Next.js is a web framework best known for its support for rendering outside the browser (SSR and SSG).
Thanks. Terminology aside, what I referred to was exactly Next.js's pre-rendering (SSR & SSG) and prefetching. I feel like without them it'll be harder to achieve OP's interactivity with just React/Vue.
React / Vue is also irrelevant here however. It all depends how your actual prod code is built in the end. (For example you can use React with Next.js and still do all the SSR SSG stuff) In this case you're writing React for your server side rendered pages as opposed to the 'traditional' pattern of an SPA where everything happens in the client.
Might also be using the native Context Index API.[0] That's usually used to allow sites to be downloaded and browsed offline. I think that's how SVGOMG does it too