The critical path and what to inline
The critical path is the set of resources the first paint waits for. Everything else is optional and should not be on that path. Once you can name the set, the fix is mechanical: shrink that set, and make its members small.
What you will see
At least one small inline block for the first-patch rules, with the full sheet still linked.
About 1 min of reading
Try It
Name the critical set for one page
1
List the subresources
grep -oE '<(link|script|img)[^>]*(href|src)=' views/partials/head.ejs | head -10
Before you run it, say out loud what it will print. Then open the answer.
What it prints
Everything the head requests. This is the candidate path.
2
Test one removal
comment out the font link, reload, note the first-paint time
Before you run it, say out loud what it will print. Then open the answer.
What it prints
If paint is earlier, the font was on the path and needs a smaller or later load.
3
Move the optional ones
grep -nE '
Before you run it, say out loud what it will print. Then open the answer.
What it prints
Images below the fold should carry loading="lazy" so they are off the path.
4
Inline the patch
grep -c '