Variant of the same theme for each page

The simplest would be to add it to a CSS style.

WP output body classes, which allow to precisely target any specific page with CSS by ID, for example:

<body class="page page-id-7 page-template-default logged-in admin-bar no-customize-support group-blog no-sidebar">

While it’s not default I also like to hook into it and add page-[name] class for myself.

If your theme is custom you can just work styling into it. If you are using off the shelf theme you should probably create a child theme for it and implement custom styles there.