/* instrument-geist self-hosted fonts (latin subset). Instrument Sans display, Geist body, Geist Mono mono.
   ONE face per family, a weight RANGE, one file (2026-10-24): each file is a VARIABLE font, and the per-weight copies
   in fonts/ are byte-identical. Declared per weight, the browser fetched the same font up to four times, and only the
   preloaded copy (700, which beacon's first screen never uses) came early: the headline's 500 arrived after first
   paint and the hero reflowed when it swapped in (beacon About, layout shift 0.104 on PageSpeed). The ranges are the
   weights that were declared before, so text renders exactly as it did. */
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url('../fonts/geistmono-400.woff2') format('woff2');}
@font-face{font-family:'Geist';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/geist-400.woff2') format('woff2');}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/instrumentsans-400.woff2') format('woff2');}
