/* Webstart — Armenian Unicode sans-serif (fonter.am, free for commercial use).
 *
 * Scoped with unicode-range to the Armenian block, so it applies to Armenian
 * characters only: Latin text keeps Libre Caslon / Inter / JetBrains Mono, and
 * the font files are not downloaded at all on pages with no Armenian on them.
 * That is why Webstart is prepended to every stack rather than replacing one.
 *
 * Loaded after the generated stylesheet so these declarations win on equal
 * specificity. Weight 600 (font-semibold) has no cut and resolves to Bold.
 */

@font-face {
  font-family: "Webstart";
  src: url("/fonts/Webstart-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0530-058F, U+FB13-FB17;
}
@font-face {
  font-family: "Webstart";
  src: url("/fonts/Webstart-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0530-058F, U+FB13-FB17;
}
@font-face {
  font-family: "Webstart";
  src: url("/fonts/Webstart-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0530-058F, U+FB13-FB17;
}
@font-face {
  font-family: "Webstart";
  src: url("/fonts/Webstart-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0530-058F, U+FB13-FB17;
}

/* Digits only. The serif stack resolves to ui-serif/Georgia, whose figures are
 * old-style: 8 and 6 ascend while 3, 4, 5, 7, 9 descend, so "5,824" reads with a
 * tall 8. Neither Georgia nor Libre Caslon Display carries an lnum feature, so the
 * fix is a second face limited by unicode-range to digits and the separators
 * beside them. Letters are untouched, and the file only downloads on pages that
 * show numbers in serif.
 */
@font-face {
  font-family: "CaslonNum";
  src: url("/fonts/LibreCaslonText-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0030-0039, U+002C, U+002E, U+0025, U+002F;
}
@font-face {
  font-family: "CaslonNum";
  src: url("/fonts/LibreCaslonText-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0030-0039, U+002C, U+002E, U+0025, U+002F;
}

body {
  font-family: "Webstart", Inter, system-ui, sans-serif;
}
h1, h2, h3, h4, h5 {
  font-family: "Webstart", "CaslonNum", "Libre Caslon Display", Georgia, serif;
}
.font-serif {
  font-family: "Webstart", "CaslonNum", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}
.font-mono {
  font-family: "Webstart", var(--font-mono);
}
.section-label {
  font-family: "Webstart", "JetBrains Mono", monospace;
}

/* Armenian words are long and unbreakable by default, and the hero headline
 * sits in a ~568px grid column at 72px. "Որմնանկարչության" is wider than that
 * and ran under the adjacent stat panel. This only engages for words that
 * would otherwise overflow, so English headlines are unaffected.
 */
h1 {
  overflow-wrap: break-word;
}

/* The fixed header grew with the larger logo (up to ~74px plus padding). Pages
 * clear it with pt-24 = 96px, which is now a few pixels short, and the compiled
 * bundle has no pt-28 to switch to. Only page roots use this class.
 */
.pt-24 {
  padding-top: 7rem;
}

/* Phones. The compiled bundle has no sm: breakpoint utilities and no responsive
 * type steps below md:, so the two things that need to give on a 390px screen —
 * page headlines at text-5xl, and the plain two-column card grids — are handled
 * here. Element+class selectors so they beat the utility classes.
 */
@media (max-width: 480px) {
  h1.font-serif {
    font-size: 2.15rem;
    line-height: 1.15;
  }
  .grid.grid-cols-2 {
    grid-template-columns: 1fr;
  }
}
