/* Studio Roo brand fonts — licensed files from Riley's Drive.
   Sofia Pro ships no upright Regular in the licensed set; Medium
   covers the 400–500 range as the body weight. */

@font-face {
  font-family: 'Sofia Pro';
  src: url('../assets/fonts/sofia-pro-medium.otf') format('opentype');
  font-weight: 400 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Sofia Pro';
  src: url('../assets/fonts/sofia-pro-semibold.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Sofia Pro';
  src: url('../assets/fonts/sofia-pro-bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Sofia Pro';
  src: url('../assets/fonts/sofia-pro-black.otf') format('opentype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* Professor (script) — Riley's re-uploaded loose TTF, verified bit-perfect
   (32,156 bytes, checksum-clean, full upper+lowercase set).
   unicode-range limits it to LETTERS ONLY: the 1997 font maps punctuation
   (periods, apostrophes, commas) to blank full-width glyphs, so those
   characters fall through to the Caveat fallback instead of vanishing. */
@font-face {
  font-family: 'Professor';
  src: url('../assets/fonts/professor.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0041-005A, U+0061-007A;
}

/* Neulis Neue — licensed OTFs from Riley's Drive, byte-verified against
   source (68,572 / 69,964 / 70,716 bytes). Riley's folder holds two cuts: "Neulis" (decorative, looped l / curled s) and "NeulisAlt" (conventional letterforms). His Story mockup PDF embeds the clean cut, so the Alt files are wired here; the decorative OTFs stay on disk if he ever wants them. Internal family name is
   "Neulis"; the CSS family is declared as 'Neulis Neue' to match the
   brand name. Uprights only — no italics staged. Unlike Professor, the
   punctuation here is real: period, comma, apostrophe and quotes all
   carry outlines, so no unicode-range restriction is needed. */

@font-face {
  font-family: 'Neulis Neue';
  src: url('../assets/fonts/neulis-alt-regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Neulis Neue';
  src: url('../assets/fonts/neulis-alt-medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Neulis Neue';
  src: url('../assets/fonts/neulis-alt-semibold.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
