The philosophy is good, but IMO, the lack of attention to margins and the weight of key content elements is hurting the readability of the designs.
Setting .btn padding to .5rem .75rem balances the hight of the type vs. the edge of the button a bit, making the buttons both more 'substantial' and moving the harsh btn edge away from the type, which makes it easier to read.
Add margin-top 2.5rem to your h* elements to space your content out.