/* Studio type (STUDIO3). Not linked by any page yet: STUDIO4 imports or inlines
   it. Paths are root-absolute so the rules work pasted into another file.

   Big Shoulders (display) and Atkinson Hyperlegible Next (body), both OFL 1.1
   (licences beside this file), self-hosted as variable WOFF2 subsets: Basic
   Latin, Latin-1 (every pt-BR and es letter, ¿ ¡ º ª) and typographic
   punctuation. Rebuild with scripts/site/studio_fonts.py.

   Fallbacks are metric-matched so the swap does not reflow: size-adjust
   matches the shaped (kerned) width of the studio's own copy, the overrides
   match the web face's line box. Big Shoulders is matched at the phone H1
   (38.4px, so opsz 38.4); at other sizes its width drifts with optical size. Roboto is listed first (Android, the main market);
   Arial covers Windows, macOS and iOS (Helvetica shares its widths) and
   Liberation Sans covers Linux.

   Notes for STUDIO4:
   - Preload the display face only:
     <link rel="preload" href="/assets/fonts/big-shoulders.woff2" as="font"
       type="font/woff2" crossorigin>
   - Optical size follows font-size on its own (font-optical-sizing: auto).
   - Big Shoulders has no tnum feature and proportional figures, so
     font-variant-numeric: tabular-nums does nothing on the numeral. Atkinson
     has tnum. */

:root {
  --font-display:
    "Big Shoulders", "Big Shoulders Fallback Roboto",
    "Big Shoulders Fallback Arial", sans-serif;
  --font-body:
    "Atkinson Hyperlegible Next", "Atkinson Hyperlegible Next Fallback Roboto",
    "Atkinson Hyperlegible Next Fallback Arial", system-ui, sans-serif;
}

@font-face {
  font-family: "Big Shoulders";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/big-shoulders.woff2") format("woff2");
  unicode-range:
    U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
    U+2009, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026,
    U+2039-203A, U+202F, U+20AC, U+2122, U+2192, U+2212;
}

@font-face {
  font-family: "Atkinson Hyperlegible Next";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("/assets/fonts/atkinson-hyperlegible-next.woff2") format("woff2");
  unicode-range:
    U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
    U+2009, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026,
    U+2039-203A, U+202F, U+20AC, U+2122, U+2192, U+2212;
}

/* Big Shoulders is set at 800 and display sizes, so its fallback is a bold
   face at every weight (no synthetic bolding). */
@font-face {
  font-family: "Big Shoulders Fallback Roboto";
  font-weight: 100 900;
  src: local("Roboto Bold"), local("Roboto-Bold");
  size-adjust: 85.71%;
  ascent-override: 114.98%;
  descent-override: 25.03%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Big Shoulders Fallback Arial";
  font-weight: 100 900;
  src:
    local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"),
    local("Helvetica-Bold"), local("Liberation Sans Bold"),
    local("LiberationSans-Bold");
  size-adjust: 80.19%;
  ascent-override: 122.9%;
  descent-override: 26.75%;
  line-gap-override: 0%;
}

/* Atkinson: a regular face for 200-599 and a bold face for 600-800, each
   measured against the matching Atkinson weight (400 and 700). */
@font-face {
  font-family: "Atkinson Hyperlegible Next Fallback Roboto";
  font-weight: 200 599;
  src: local("Roboto"), local("Roboto-Regular");
  size-adjust: 99.2%;
  ascent-override: 99.19%;
  descent-override: 31.85%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Atkinson Hyperlegible Next Fallback Roboto";
  font-weight: 600 800;
  src: local("Roboto Bold"), local("Roboto-Bold");
  size-adjust: 105.16%;
  ascent-override: 93.57%;
  descent-override: 30.05%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Atkinson Hyperlegible Next Fallback Arial";
  font-weight: 200 599;
  src:
    local("Arial"), local("ArialMT"), local("Helvetica"),
    local("Liberation Sans"), local("LiberationSans");
  size-adjust: 98.49%;
  ascent-override: 99.9%;
  descent-override: 32.08%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Atkinson Hyperlegible Next Fallback Arial";
  font-weight: 600 800;
  src:
    local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"),
    local("Helvetica-Bold"), local("Liberation Sans Bold"),
    local("LiberationSans-Bold");
  size-adjust: 98.36%;
  ascent-override: 100.04%;
  descent-override: 32.13%;
  line-gap-override: 0%;
}
