/* ALCIDIA DA VEIGA — Typography tokens
   Four roles mirror the source file's four fonts:
     display  → Milo Pro (brand typeface, real .ttf)
     serif    → Schibsted Grotesk [substitute for MiloSerifWebW04-Medium;
                editorial titles/quotes — an editorial grotesk, per request
                the role is all-sans now]
     body     → Hanken Grotesk    [substitute for Adelle Sans ARA]
     caption  → Asap              [exact]
   Type scale, line-heights and tracking are taken from the guidelines. */

:root {
  /* ---- Families ---- */
  --font-display: "Milo Pro", "Helvetica Neue", Arial, sans-serif;
  /* --font-serif is the editorial-title role; now an open-source grotesk
     (name kept for back-compat with existing usages). */
  --font-serif:   "Schibsted Grotesk", "Helvetica Neue", Arial, sans-serif;
  --font-body:    "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
  --font-caption: "Asap", "Helvetica Neue", Arial, sans-serif;

  /* ---- Size scale ---- */
  --fs-display-xl: 64px; /* hero wordmark / campaign */
  --fs-display:    48px; /* section display, page titles */
  --fs-title:      32px; /* serif editorial title */
  --fs-heading:    24px;
  --fs-subhead:    20px;
  --fs-body-lg:    20px; /* guideline body (20/30) */
  --fs-body:       16px;
  --fs-caption:    14px;
  --fs-small:      13px;

  /* ---- Line-heights ---- */
  --lh-tight: 1; /* @kind other */
  --lh-snug:  1.25; /* @kind other */
  --lh-body:  1.5; /* @kind other */
  --lh-loose: 1.6; /* @kind other */

  /* ---- Tracking ---- */
  --tracking-wide:   0.14em; /* uppercase labels, wordmark */
  --tracking-mid:    0.06em;
  --tracking-normal: 0;
  --tracking-tight: -0.01em;

  /* ---- Weights ---- */
  --fw-light:   300; /* @kind other */
  --fw-regular: 400; /* @kind other */
  --fw-medium:  500; /* @kind other */
  --fw-semibold:600; /* @kind other */
}

/* Optional utility classes — the same roles as inline usage. */
.adv-display-xl { font-family: var(--font-display); font-weight: var(--fw-regular); font-size: var(--fs-display-xl); line-height: var(--lh-tight); letter-spacing: var(--tracking-tight); }
.adv-display    { font-family: var(--font-display); font-weight: var(--fw-medium);  font-size: var(--fs-display);    line-height: var(--lh-tight); }
.adv-title      { font-family: var(--font-serif);   font-weight: var(--fw-medium);  font-size: var(--fs-title);      line-height: 1.1; }
.adv-heading    { font-family: var(--font-display); font-weight: var(--fw-medium);  font-size: var(--fs-heading);    line-height: var(--lh-snug); }
.adv-body-lg    { font-family: var(--font-body);    font-weight: var(--fw-regular); font-size: var(--fs-body-lg);    line-height: var(--lh-body); color: var(--text-primary); }
.adv-body       { font-family: var(--font-body);    font-weight: var(--fw-regular); font-size: var(--fs-body);       line-height: var(--lh-body); color: var(--text-primary); }
.adv-caption    { font-family: var(--font-caption); font-weight: var(--fw-light);   font-size: var(--fs-caption);    line-height: var(--lh-tight); }
.adv-label      { font-family: var(--font-display); font-weight: var(--fw-medium);  font-size: var(--fs-caption);    letter-spacing: var(--tracking-wide); text-transform: uppercase; }
.adv-eyebrow    { font-family: var(--font-caption); font-weight: var(--fw-regular); font-size: var(--fs-small);      letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--text-secondary); }
