/* brand-fonts.css — the club's @font-face declarations, and nothing else.
 *
 * THE LAW (Patrick, 2026-09-20): exactly two cores + one special, sitewide.
 *
 *   1. The Seasons  — bold headers / display (the "Caddie Club" lockup serif)
 *   2. DM Sans      — regular text / UI / body / forms / data
 *   3. Sacramento   — the ONLY special. Subtle handwriting script. Short
 *                     accents only (salutations, a venue line, compliments).
 *                     Never sentences. Never forms. Never a fourth face.
 *
 * Retired from the live type system (do not declare, do not fetch):
 *   Beautifully Delicious / BDScript  — was the McDowell script accent
 *   BD Sans                           — was --font-accent, a fourth role
 *
 * Logo raster/SVG artwork that still draws "McDowell" in BD is image art
 * and may stay. CSS tokens must follow the trio.
 *
 * --font-accent is not a fourth face. It maps to The Seasons for short
 * club-voice lines that once wore BD Sans. Operational chrome stays on
 * --font-ui (DM Sans). --font-script and --font-special both name
 * Sacramento; they are aliases, not two specials.
 *
 * These lived at the top of styles.css, which is the app portals' stylesheet.
 * The financial workbook pages (/insurance and /projections) do not load
 * styles.css — they load projection-ui.css — so every "The Seasons" in that
 * file was falling through the stack to Cochin or Georgia. The faces had never
 * been declared on those pages at all. Rather than a second copy that would
 * have to be kept in step (see the licensing note below — there is a specific
 * future edit to make in exactly one place), the declarations moved here and
 * both stylesheets pull them in.
 */

/* ----- Brand type -----
   The Seasons is the club's serif (the "Caddie Club" caps in the lockup
   art) and is the display face throughout — every serif stack below
   falls back through Cochin/Georgia when it hasn't loaded. Sacramento is
   the one special, used SPARINGLY — a word or a compliment, never a
   sentence and never a form field.

   ----- The @font-face family name must be a BARE NAME -----
   These three rules used to declare
       font-family: 'The Seasons', Cochin, 'Cormorant Garamond', Georgia, serif;
   A comma stack is legal in a font-family *property* but not in an
   @font-face *descriptor*, where the value is a single family name. Chrome
   and Safari therefore discarded all three rules outright: document.fonts
   held only leftover script faces and no .otf was ever fetched.
   The Seasons had never actually rendered anywhere — every "serif" surface
   was really falling through to Cochin or the generic serif. Keep the stack
   at the usage sites (it is correct there); keep the descriptor bare.

   ----- Why every The Seasons face carries a unicode-range -----
   The files we ship are Fontspring DEMO cuts. A demo cut is not simply a
   subset: 28 codepoints are present in the cmap but draw a "DEMO" watermark
   instead of the real glyph. Verified by md5-ing the CFF charstrings — the
   same 28 share one outline, identically in all three cuts:

       ! " # $ % & ' ( ) * + - / 4 < = > @ [ \ ] ^ _ ` { | } ~

   Note the digit 4. That means an apostrophe, a hyphen, a percent sign, an
   ampersand or any price with a 4 in it renders as a watermark wherever this
   face applies — which, since the type sweep, is everywhere.

   unicode-range fixes this at the font-matching layer: the browser only
   downloads/uses The Seasons for the glyphs it genuinely draws, and every
   other character falls through the stack to the serif fallback. The listed
   set is exactly the complement of the 28 above.

   THE REAL FIX IS TO BUY THE LICENSED CUT. When the licensed files land,
   drop the three unicode-range lines — do not extend them by hand. */
@font-face {
  font-family: 'The Seasons';
  src: url('/shared/fonts/Fontspring-DEMO-theseasons-reg.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+20, U+2C, U+2E, U+30-33, U+35-3B, U+3F, U+41-5A, U+61-7A;
}
@font-face {
  font-family: 'The Seasons';
  src: url('/shared/fonts/Fontspring-DEMO-theseasons-bd.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+20, U+2C, U+2E, U+30-33, U+35-3B, U+3F, U+41-5A, U+61-7A;
}
@font-face {
  font-family: 'The Seasons';
  src: url('/shared/fonts/Fontspring-DEMO-theseasons-it.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  unicode-range: U+20, U+2C, U+2E, U+30-33, U+35-3B, U+3F, U+41-5A, U+61-7A;
}

/* Sacramento — the only special. Self-hosted Latin woff2 (SIL OFL, see
   fonts/Sacramento-LICENSE.txt) rather than fetched from Google: a
   third-party font request is render-blocking, and the stylesheet
   deliberately makes none.

   Regular 400 only. There is no Bold cut; asking for 700 synthesises a
   smeared script. Short accents only — --font-script / --font-special.
   Complete licensed Latin subset, so no unicode-range. */
@font-face {
  font-family: 'Sacramento';
  src: url('/shared/fonts/Sacramento-latin-400-normal.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* DM Sans — the quiet foundation. Self-hosted (SIL OFL, see
   fonts/DMSans-LICENSE.txt) rather than fetched from Google: a third-party
   font request is render-blocking, and the stylesheet deliberately makes none.
   Latin subset only, four faces, ~58KB total.

   Unlike The Seasons this is a complete, licensed cut — full punctuation, all
   ten digits — so every surface that carries real content (body, nav, forms,
   data) stops depending on the demo font's glyph gaps. */
@font-face {
  font-family: 'DM Sans';
  src: url('/shared/fonts/DMSans-latin-400-normal.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'DM Sans';
  src: url('/shared/fonts/DMSans-latin-500-normal.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'DM Sans';
  src: url('/shared/fonts/DMSans-latin-700-normal.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'DM Sans';
  src: url('/shared/fonts/DMSans-latin-400-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
