/**
 * SFU MSA Platform — Official Typography
 *
 * Canonical @font-face + role tokens for every frontend surface.
 * Font binaries live in each app's `public/fonts` (synced from
 * `shared/typography/fonts`).
 *
 * Brand roles:
 *   --font-heading  → DM Serif Display     (primary headings / heroes)
 *   --font-body     → ITC New Baskerville  (body / UI text)
 *   --font-seasons  → The Seasons          (secondary / promotional display)
 *   --font-script   → Above the Beyond Script (decorative accents only)
 *
 * Note: Tailwind's existing `font-display` utility maps to --font-heading
 * (primary headings). The Seasons uses `font-serif` / `font-seasons` so we
 * do not break hundreds of heading class usages. Spec alias --font-display
 * is provided as an alias of --font-seasons for brand-token consumers.
 *
 * Available today: DM Serif Display (OFL) — Regular + Italic.
 * Pending licensed files (do not invent substitutes):
 *   ITC New Baskerville, The Seasons, Above the Beyond Script
 */

/* -------------------------------------------------------------------------- */
/* DM Serif Display — primary headings (verified, OFL)                        */
/* -------------------------------------------------------------------------- */

@font-face {
  font-family: "DM Serif Display";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:
    url("/fonts/DMSerifDisplay-Regular.woff2") format("woff2"),
    url("/fonts/DMSerifDisplay-Regular.ttf") format("truetype");
  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: "DM Serif Display";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/DMSerifDisplay-Regular-LatinExt.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: "DM Serif Display";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src:
    url("/fonts/DMSerifDisplay-Italic.woff2") format("woff2"),
    url("/fonts/DMSerifDisplay-Italic.ttf") format("truetype");
  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: "DM Serif Display";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/DMSerifDisplay-Italic-LatinExt.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;
}

/* -------------------------------------------------------------------------- */
/* ITC New Baskerville — body (MISSING — place files, then uncomment)         */
/* Expected filenames in public/fonts:                                        */
/*   ITCNewBaskerville-Regular.woff2 (+ .ttf optional)                        */
/*   ITCNewBaskerville-Italic.woff2                                           */
/*   ITCNewBaskerville-Bold.woff2                                             */
/*   ITCNewBaskerville-BoldItalic.woff2                                       */
/* -------------------------------------------------------------------------- */

/*
@font-face {
  font-family: "ITC New Baskerville";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/ITCNewBaskerville-Regular.woff2") format("woff2"),
       url("/fonts/ITCNewBaskerville-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "ITC New Baskerville";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/ITCNewBaskerville-Italic.woff2") format("woff2"),
       url("/fonts/ITCNewBaskerville-Italic.ttf") format("truetype");
}
@font-face {
  font-family: "ITC New Baskerville";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/ITCNewBaskerville-Bold.woff2") format("woff2"),
       url("/fonts/ITCNewBaskerville-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "ITC New Baskerville";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/ITCNewBaskerville-BoldItalic.woff2") format("woff2"),
       url("/fonts/ITCNewBaskerville-BoldItalic.ttf") format("truetype");
}
*/

/* -------------------------------------------------------------------------- */
/* The Seasons — secondary display (MISSING — place files, then uncomment)    */
/* Expected: TheSeasons-Regular.woff2, TheSeasons-Italic.woff2 (if licensed)  */
/* -------------------------------------------------------------------------- */

/*
@font-face {
  font-family: "The Seasons";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/TheSeasons-Regular.woff2") format("woff2"),
       url("/fonts/TheSeasons-Regular.otf") format("opentype");
}
@font-face {
  font-family: "The Seasons";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/TheSeasons-Italic.woff2") format("woff2"),
       url("/fonts/TheSeasons-Italic.otf") format("opentype");
}
*/

/* -------------------------------------------------------------------------- */
/* Above the Beyond Script — decorative only (MISSING)                        */
/* Expected: AboveTheBeyondScript-Regular.woff2                               */
/* Never use for nav, paragraphs, forms, or buttons.                          */
/* -------------------------------------------------------------------------- */

/*
@font-face {
  font-family: "Above the Beyond Script";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/AboveTheBeyondScript-Regular.woff2") format("woff2"),
       url("/fonts/AboveTheBeyondScript-Regular.otf") format("opentype");
}
*/

/* -------------------------------------------------------------------------- */
/* Role tokens                                                                */
/* -------------------------------------------------------------------------- */

:root {
  --font-heading: "DM Serif Display", Georgia, "Times New Roman", serif;
  --font-body: "ITC New Baskerville", Georgia, "Times New Roman", serif;
  --font-seasons: "The Seasons", Georgia, "Times New Roman", serif;
  --font-script: "Above the Beyond Script", "Segoe Script", "Apple Chancery", cursive;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
    "Courier New", monospace;

  /* Spec name: secondary display family */
  --font-display: var(--font-seasons);

  /* Legacy / Tailwind-oriented aliases (body + secondary) */
  --font-sans: var(--font-body);
  --font-serif: var(--font-seasons);
}

/* Utility roles */
.font-heading {
  font-family: var(--font-heading);
  font-weight: 400;
}

.font-body {
  font-family: var(--font-body);
}

.font-seasons,
.font-display-secondary {
  font-family: var(--font-seasons);
}

.font-script {
  font-family: var(--font-script);
  font-weight: 400;
}
