font-display: swap causes layout shift — you see text jump when the font loads.
what actually worked better for us: preload the font + font-display: optional. browser uses it if it loads fast, falls back silently if not.
zero layout shift, faster first contentful paint. works better on slow connections too.