@bassam 🙂 This how DOM works. Even if you Shadow DOM, changing the fonts will cause re-rendering of the entire layout. Either the fonts have to be blocking (causing delay in page building) or you have to allow the page to build asynchronously but render it several times as components are loaded. The latter will cause the FOUT, unless you hide it. I don’t see how any of it is a hack, since that’s how the browser rendering engine is supposed to operate under DOM/CSSOM rendering pipeline.