It's quite the stretch I know, but for me, on a practical level the answer to getting something better than CSS was Tailwind.
In the biggest project I currently manage, the custom CSS I wrote boils down to maybe 150 lines total of: custom fonts, some ::before/::after styles and styled tags inside a markdown section using @apply. Everything else is just classes in components.