/* Self-hosted web fonts for the Commuty marketing site. No external requests.
   Both families are OFL; see OFL.txt, which covers them together. Neither
   copyright line declares a Reserved Font Name, so these modified builds keep
   the original family names.

   Both families are now one variable file each. Google publishes no variable
   master inside @expo-google-fonts for either, so both axes were built offline
   with fontTools varLib from the static TTFs in those packages, then subset to
   the codepoints the static faces carried.

   Bricolage Grotesque is the display face: a two-master build from the 700Bold
   and 800ExtraBold TTFs, subset to the same 404 codepoints (latin and
   latin-ext, 491 glyphs) the static faces carried. Layout features are kept
   whole, so the case, oldstyle, tabular and fraction features the statics
   carried all survive. It replaces two statics totalling 65,396 bytes with
   53,036, saving 12,360.

   The two masters are the axis endpoints, so the only two weights the site uses
   are reproduced rather than interpolated. Instanced back and compared against
   the statics, 700 is exact to the unit. At 800 the outlines differ by at most
   0.5 units per 1000em, which is gvar storing deltas on an integer grid, not a
   change of shape: advance widths agree exactly across all 491 glyphs at both
   weights, and HarfBuzz shapes a mixed latin and latin-ext line to the same
   glyph ids with zero advance and zero offset difference.

   In Chrome the same line at 48px measures 1079.23169px at 700 and 1094.15967px
   at 800, identical to the last digit to the statics it replaces, and every
   character sits at the same x position to within 0px. Rasterised, 700 is
   pixel for pixel identical; at 800, 205 of 126,000 pixels differ by at most 65
   of 255, all of it antialiasing along the edges of the six glyphs in the line
   whose outlines carry that sub-half-unit rounding.

   A third master cannot buy back fidelity here: Google ships no Bricolage
   weight between 700 and 800, so there is no interior weight to correct. A
   third master could only widen the axis, and adding the 600SemiBold master to
   span 600-800 costs 12,028 bytes for a weight the site does not use.

   Hanken Grotesk is one variable file with a continuous 400-600 weight axis,
   built the same way from the 400Regular and 600SemiBold TTFs, then subset to
   the same 434 codepoints (latin and latin-ext, 550 glyphs) the static faces
   carried.

   Two masters rather than three is a measured choice, not a shortcut. Instanced
   back to 400, 500 and 600 and compared against the corresponding Google
   statics, the outlines agree to within 0.74 units per 1000em and HarfBuzz
   shapes a mixed latin and latin-ext line to the same glyphs with at most one
   unit of advance difference. In Chrome the same line typesets to 988.05px at
   400, 993.84px at 500 and 999.66px at 600, against 988.05, 993.80 and 999.66
   from the three statics. Adding a real 500 master costs 7,560 bytes and buys
   back that 0.04px. */

/* One file for 700, 800, and every weight between them. */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700 800;
  font-display: swap;
  src: url('/fonts/BricolageGrotesque-Variable.woff2') format('woff2');
}

/* One file for 400, 500 and 600, and every weight between them. */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/fonts/HankenGrotesk-Variable.woff2') format('woff2');
}
