/* The brand fonts, served from this site (2026-10-18), the same files as www.bananablueprint.com/fonts: Big Shoulders
 * (one variable file per subset) and Lato 400, 700 and 900, each split into Latin and Latin Extended so a browser
 * downloads only the part a page uses. No request leaves the demo site for a font, so no visitor address goes to
 * Google. The "Fallback" faces are Arial scaled to the brand fonts, so lines do not jump when the fonts arrive. */
@font-face {
  font-family: "Big Shoulders";
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
  src: url(/assets/fonts/big-shoulders-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Big Shoulders";
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
  src: url(/assets/fonts/big-shoulders-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/lato-400-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/lato-400-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/lato-700-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/lato-700-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/assets/fonts/lato-900-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/assets/fonts/lato-900-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Stand-ins for Big Shoulders and Lato while they download (performance, 2026-10-15).
 *
 * With display=swap a phone on a slow connection paints the page in a fallback font first and swaps in the brand
 * fonts a moment later. Arial as it is runs much wider than Big Shoulders, so headings wrapped onto more lines and the
 * whole page jumped when the fonts arrived (layout shift 0.18 on the homepage). These faces are Arial (Roboto on
 * Android) scaled to the width of the brand fonts, measured on the site's own text, so lines break in the same places
 * before and after the swap. Once the brand fonts are in, nothing here is used.
 *
 * The unicode-range keeps them to characters the brand fonts have, so a symbol the brand fonts lack still falls back
 * exactly as before. The family names are added to the font stacks in brand.css, home.css and tailwind.config.ts.
 * Re-measure if a brand font changes (size-adjust = brand-font width / fallback width; the overrides keep the brand
 * font's ascent 0.99 and descent 0.21). */
@font-face {
  font-family: "Big Shoulders Fallback";
  font-weight: 800;
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Roboto Bold"), local("Roboto-Bold");
  size-adjust: 72.15%;
  ascent-override: 137.21%;
  descent-override: 29.11%;
  line-gap-override: 0%;
  unicode-range: U+0000-00FF, U+2013-2014, U+2018-2019, U+201C-201D, U+2022, U+2026;
}
@font-face {
  font-family: "Big Shoulders Fallback";
  font-weight: 900;
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Roboto Bold"), local("Roboto-Bold");
  size-adjust: 73.99%;
  ascent-override: 133.8%;
  descent-override: 28.38%;
  line-gap-override: 0%;
  unicode-range: U+0000-00FF, U+2013-2014, U+2018-2019, U+201C-201D, U+2022, U+2026;
}
@font-face {
  font-family: "Lato Fallback";
  font-weight: 400;
  src: local("Arial"), local("ArialMT"), local("Roboto"), local("Roboto-Regular");
  size-adjust: 96.85%;
  ascent-override: 102.22%;
  descent-override: 21.68%;
  line-gap-override: 0%;
  unicode-range: U+0000-00FF, U+2013-2014, U+2018-2019, U+201C-201D, U+2022, U+2026;
}
@font-face {
  font-family: "Lato Fallback";
  font-weight: 700;
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Roboto Bold"), local("Roboto-Bold");
  size-adjust: 92.57%;
  ascent-override: 106.95%;
  descent-override: 22.69%;
  line-gap-override: 0%;
  unicode-range: U+0000-00FF, U+2013-2014, U+2018-2019, U+201C-201D, U+2022, U+2026;
}
@font-face {
  font-family: "Lato Fallback";
  font-weight: 900;
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Roboto Bold"), local("Roboto-Bold");
  size-adjust: 94.43%;
  ascent-override: 104.84%;
  descent-override: 22.24%;
  line-gap-override: 0%;
  unicode-range: U+0000-00FF, U+2013-2014, U+2018-2019, U+201C-201D, U+2022, U+2026;
}
