Tabs within tabs. The outer bar switches between sections; inside each section, a second layer of pill tabs switches between detail cards. No frameworks — just data attributes and a few lines of JavaScript.
Both tab layers use the same markup recipe: a bar of buttons, a stack of panels, and data-* hooks that pair them up. The inner layer is completely independent of the outer one.
Panels fade up 10px over 350 milliseconds — fast enough to feel responsive, slow enough to be noticed.
Two layers is the sweet spot. Any deeper and users lose track of where they are — at that point, split the content into pages.