/* Conserje Virtual — Typography tokens
   Final system per the corrected master spec (§8 tipografía, corrections v1.2.1):
     - Playfair Display: editorial headlines, all large display copy.
     - Inter: body, navigation, buttons, forms, all interface text.
     - Cinzel: OPTIONAL, short labels only — kickers/eyebrows or brief
       all-caps microcopy. Never a headline substitute (Cinzel has no true
       lowercase glyphs — it would fake every headline into small caps,
       which the approved Hero prototype does not show). Use
       --font-serif-display-caps deliberately and sparingly. */

:root {
  /* Font families */
  --font-serif-display: 'Playfair Display', 'Cormorant Garamond', serif;
  --font-serif-display-caps: 'Cinzel', serif; /* optional — short kicker/eyebrow labels only, never headlines */
  --font-sans-ui: 'Inter', 'Manrope', 'Satoshi', -apple-system, sans-serif;

  /* Semantic type roles */
  --font-display: var(--font-serif-display);
  --font-body: var(--font-sans-ui);

  /* Sizes — desktop scale */
  --text-display-xl: 56px;   /* H1 hero */
  --text-display-lg: 44px;   /* H1 section */
  --text-display-md: 34px;   /* H2 */
  --text-display-sm: 26px;   /* H3 / card titles in serif */

  --text-body-lg: 19px;
  --text-body-md: 17px;
  --text-body-sm: 15px;
  --text-caption: 13px;
  --text-eyebrow: 13px;

  /* Weights */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* Line heights */
  --leading-display: 1.15;
  --leading-heading: 1.25;
  --leading-body: 1.6;
  --leading-tight: 1.35;

  /* Letter spacing */
  --tracking-eyebrow: 0.14em;
  --tracking-tight: -0.01em;
  --tracking-normal: 0;
}

@media (max-width: 640px) {
  :root {
    --text-display-xl: 38px;
    --text-display-lg: 32px;
    --text-display-md: 26px;
    --text-display-sm: 21px;
    --text-body-lg: 17px;
    --text-body-md: 16px;
  }
}
