/*
 * Self-hosted brand fonts for Styrk Reklame 2.0.
 *
 *   Poppins         → body text (slug "base")
 *   Barlow Condensed → headings + display (slug "display")
 *   Oswald          → navigation (.rh-* selectors only)
 *
 * font-display: fallback (not swap): text waits up to 100ms for the brand
 * font, then renders in the size-matched fallback below and only swaps if
 * the font lands within ~3s. With the preload in functions.php the fonts
 * normally arrive inside the 100ms window, so text paints once, in the
 * right face — no visible glyph swap on (hard) reloads.
 *
 * Only the latin subset is shipped — Norwegian uses U+0000-00FF + the
 * common latin extras already covered by the unicode-range. The vietnamese,
 * latin-ext, cyrillic, and devanagari subsets that ship from Google Fonts'
 * default download were dropped (browser never loaded them, but they added
 * ~220 lines to a render-blocking stylesheet). Backup of the full file lives
 * at brand-fonts.css.bak-2026-05-28 for one-line restore.
 *
 * Weights match what's actually used on the site (audited via grep of
 * style.css + the styrk-blocks plugin):
 *   Barlow Condensed: 500, 600, 700
 *   Oswald:           500, 600, 700
 *   Poppins:          400, 500, 600, 700
 * Weights 300 / 800 referenced in CSS are synthesized — kept that way to
 * avoid shipping two more files for a use case the design already accepts.
 */
/* Size-matched fallbacks for Poppins (body), same method as Barlow below:
 * Poppins is ~11% wider than Arial and has a taller line box. */
@font-face {
  font-family: 'Poppins Fallback';
  font-style: normal;
  font-weight: 100 500;
  src: local('Arial'), local('ArialMT');
  size-adjust: 111.1%;
  ascent-override: 94.5%;
  descent-override: 31.5%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Poppins Fallback';
  font-style: normal;
  font-weight: 600 900;
  src: local('Arial Bold'), local('Arial-BoldMT');
  size-adjust: 105.3%;
  ascent-override: 99.7%;
  descent-override: 33.2%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Poppins Fallback Android';
  font-style: normal;
  font-weight: 100 500;
  src: local('Roboto'), local('Roboto-Regular');
  size-adjust: 120.9%;
  ascent-override: 86.8%;
  descent-override: 28.9%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Poppins Fallback Android';
  font-style: normal;
  font-weight: 600 900;
  src: local('Roboto Bold'), local('Roboto-Bold');
  size-adjust: 115.7%;
  ascent-override: 90.8%;
  descent-override: 30.3%;
  line-gap-override: 0%;
}

/*
 * Size-matched fallbacks for Barlow Condensed.
 *
 * On a slow connection (past font-display: fallback's 100ms window) the first paint uses
 * a system font. Barlow Condensed is ~27% narrower than Arial, so headings
 * wrapped onto more lines in the fallback and jumped when the real font
 * arrived (CLS 0.11 on the mobile hero). These faces scale a local system
 * font to Barlow's width (size-adjust) and line box (ascent/descent
 * overrides = Barlow metric / size-adjust), so the swap does not reflow.
 * Ratios were measured in the browser on real Norwegian copy.
 * Arial covers macOS, Windows and iOS; Roboto covers Android. A face whose
 * local() font is missing is skipped and the stack moves on.
 */
@font-face {
  font-family: 'Barlow Condensed Fallback';
  font-style: normal;
  font-weight: 100 900;
  src: local('Arial Bold'), local('Arial-BoldMT');
  size-adjust: 72.5%;
  ascent-override: 137.9%;
  descent-override: 27.6%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Barlow Condensed Fallback';
  font-style: italic;
  font-weight: 100 900;
  src: local('Arial Italic'), local('Arial-ItalicMT');
  size-adjust: 75.2%;
  ascent-override: 133%;
  descent-override: 26.6%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Barlow Condensed Fallback Android';
  font-style: normal;
  font-weight: 100 900;
  src: local('Roboto Bold'), local('Roboto-Bold');
  size-adjust: 76.4%;
  ascent-override: 130.9%;
  descent-override: 26.2%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Barlow Condensed Fallback Android';
  font-style: italic;
  font-weight: 100 900;
  src: local('Roboto Italic'), local('Roboto-Italic');
  size-adjust: 82.2%;
  ascent-override: 121.7%;
  descent-override: 24.3%;
  line-gap-override: 0%;
}

/* latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: fallback;
  src: url(./HTxwL3I-JCGChYJ8VI-L6OO_au7B4-Lwz3bWuYMBYro.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;
}

/* latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: fallback;
  src: url(./HTxwL3I-JCGChYJ8VI-L6OO_au7B4873z3bWuYMBYro.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;
}

/* latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: fallback;
  src: url(./HTxwL3I-JCGChYJ8VI-L6OO_au7B46r2z3bWuYMBYro.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;
}

/* latin */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 500;
  font-display: fallback;
  src: url(./TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlWHYjMdZwl.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;
}

/* latin */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 600;
  font-display: fallback;
  src: url(./TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlWHYjMdZwl.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;
}

/* latin */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  font-display: fallback;
  src: url(./TK3IWkUHHAIjg75cFRf3bXL8LICs1_Fv40pKlN4NNSeSASz7FmlWHYjMdZwl.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;
}

/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: fallback;
  src: url(./pxiEyp8kv8JHgFVrJJfecnFHGPc.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;
}

/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: fallback;
  src: url(./pxiByp8kv8JHgFVrLGT9Z1xlFd2JQEk.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;
}

/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: fallback;
  src: url(./pxiByp8kv8JHgFVrLEj6Z1xlFd2JQEk.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;
}

/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: fallback;
  src: url(./pxiByp8kv8JHgFVrLCz7Z1xlFd2JQEk.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;
}

/*
 * Size-matched fallbacks for Oswald (navigation).
 *
 * The header is server-rendered now, so its text paints before Oswald has
 * loaded. With a plain system fallback the menu links were ~14-17% wider and
 * the whole header row slid sideways when the font arrived ("Tjenester"
 * 97 -> 84px, the CTA 206 -> 188px). Ratios measured in the browser on the
 * real menu labels: Arial for 500, Arial Bold for 600+. The Android (Roboto)
 * ratios are derived from the Arial ones, not measured.
 */
@font-face {
  font-family: 'Oswald Fallback';
  font-style: normal;
  font-weight: 100 500;
  src: local('Arial'), local('ArialMT');
  size-adjust: 86.3%;
  ascent-override: 138.2%;
  descent-override: 33.5%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Oswald Fallback';
  font-style: normal;
  font-weight: 600 900;
  src: local('Arial Bold'), local('Arial-BoldMT');
  size-adjust: 85.5%;
  ascent-override: 139.5%;
  descent-override: 33.8%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Oswald Fallback Android';
  font-style: normal;
  font-weight: 100 500;
  src: local('Roboto'), local('Roboto-Regular');
  size-adjust: 93%;
  ascent-override: 128.3%;
  descent-override: 31.1%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Oswald Fallback Android';
  font-style: normal;
  font-weight: 600 900;
  src: local('Roboto Bold'), local('Roboto-Bold');
  size-adjust: 89.5%;
  ascent-override: 133.3%;
  descent-override: 32.3%;
  line-gap-override: 0%;
}
