/**
 * Desìa — Design Tokens
 *
 * Canonical design-system layer. Values are reproduced verbatim from the
 * Desìa Brand Export (~/Desktop/Per Design/tokens.json), the single source of
 * truth for the brand. Do not edit values here by hand — change them in the
 * export and regenerate.
 *
 * Architecture (token "a seed"):
 *   Layer 1 — SEED      raw primitives, named for WHAT they are
 *   Layer 2 — SEMANTIC  role aliases that reference the seed
 * Change a seed and everything referencing it updates.
 *
 * @package DesiaTheme
 */

/* -------------------------------------------------------------------------- */
/* Fonts — Lovelace Text (display) + Caslon Doric (text)                      */
/* -------------------------------------------------------------------------- */

@font-face {
  font-family: "Lovelace Text";
  src: url("../fonts/lovelacetext-light.woff2") format("woff2"),
       url("../fonts/lovelacetext-light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Lovelace Text";
  src: url("../fonts/lovelacetext-lightitalic.woff2") format("woff2"),
       url("../fonts/lovelacetext-lightitalic.woff") format("woff");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Lovelace Text";
  src: url("../fonts/lovelacetext-regular.woff2") format("woff2"),
       url("../fonts/lovelacetext-regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Lovelace Text";
  src: url("../fonts/lovelacetext-italic.woff2") format("woff2"),
       url("../fonts/lovelacetext-italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Lovelace Text";
  src: url("../fonts/lovelacetext-bold.woff2") format("woff2"),
       url("../fonts/lovelacetext-bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Lovelace Text";
  src: url("../fonts/lovelacetext-bolditalic.woff2") format("woff2"),
       url("../fonts/lovelacetext-bolditalic.woff") format("woff");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Caslon Doric";
  src: url("../fonts/caslondoric-light.woff2") format("woff2"),
       url("../fonts/caslondoric-light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Caslon Doric";
  src: url("../fonts/caslondoric-lightitalic.woff2") format("woff2"),
       url("../fonts/caslondoric-lightitalic.woff") format("woff");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Caslon Doric";
  src: url("../fonts/caslondoric-regular.woff2") format("woff2"),
       url("../fonts/caslondoric-regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Caslon Doric";
  src: url("../fonts/caslondoric-regularitalic.woff2") format("woff2"),
       url("../fonts/caslondoric-regularitalic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Caslon Doric";
  src: url("../fonts/caslondoric-medium.woff2") format("woff2"),
       url("../fonts/caslondoric-medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Caslon Doric";
  src: url("../fonts/caslondoric-mediumitalic.woff2") format("woff2"),
       url("../fonts/caslondoric-mediumitalic.woff") format("woff");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Caslon Doric";
  src: url("../fonts/caslondoric-bold.woff2") format("woff2"),
       url("../fonts/caslondoric-bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Caslon Doric";
  src: url("../fonts/caslondoric-bolditalic.woff2") format("woff2"),
       url("../fonts/caslondoric-bolditalic.woff") format("woff");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* ========================================================================== */
/* LAYER 1 — SEED (raw primitives, from the Brand Export)                     */
/* ========================================================================== */

:root {
  /* Color — base (tokens.json group: base) */
  --seed-warm-paper: #dfd5cf;
  --seed-black: #1a1a18;
  --seed-white: #fdfbf9;
  --seed-pop-batoro: #accdf1;

  /* Color — accent (tokens.json group: accent) */
  --seed-wine-red: #6b1f28;
  --seed-pale-blue: #1f2c4d; /* export name kept verbatim; value is a deep ink blue */
  --seed-soft-gold: #bfa15a;
  --seed-pearl-yellow: #ffcd2c;

  /* Font families */
  --seed-font-primary: "Lovelace Text", Georgia, serif;
  --seed-font-secondary: "Caslon Doric", system-ui, sans-serif;

  /* Type scale — sizes from tokens.json (px → rem @16), line-height unitless */
  --seed-size-display: 3.75rem;   /* 60px */
  --seed-line-display: 1.1;       /* 66/60 */
  --seed-size-h1: 2.5rem;         /* 40px */
  --seed-line-h1: 1.15;           /* 46/40 */
  --seed-size-h2: 1.25rem;        /* 20px */
  --seed-line-h2: 0.9;            /* 18/20 — verbatim from export (intentionally tight) */
  --seed-size-body: 1rem;         /* 16px */
  --seed-line-body: 1.5;          /* 24/16 */
  --seed-size-caption: 0.75rem;   /* 12px */
  --seed-line-caption: 1.333;     /* 16/12 */
  --seed-size-note: 0.625rem;     /* 10px */
  --seed-line-note: 1.3;          /* 13/10 */

  /* Font weights */
  --seed-weight-light: 300;
  --seed-weight-regular: 400;
  --seed-weight-medium: 500;
  --seed-weight-bold: 700;

  /* Spacing — no spacing in the export yet; base scale kept as seed */
  --seed-space-1: 0.25rem;
  --seed-space-2: 0.5rem;
  --seed-space-3: 1rem;
  --seed-space-4: 1.5rem;
  --seed-space-5: 2rem;
  --seed-space-6: 4rem;
  --seed-space-7: 8rem;
}

/* ========================================================================== */
/* LAYER 2 — SEMANTIC (role aliases → reference seed)                         */
/* ========================================================================== */

:root {
  /* Surfaces & ink */
  --color-background: var(--seed-warm-paper);
  --color-surface: var(--seed-white);
  --color-foreground: var(--seed-black);

  /* Accents */
  --color-accent: var(--seed-wine-red);
  --color-accent-blue: var(--seed-pale-blue);
  --color-accent-gold: var(--seed-soft-gold);
  --color-accent-pearl: var(--seed-pearl-yellow);
  --color-pop: var(--seed-pop-batoro);

  /* Typography roles */
  --font-display: var(--seed-font-primary);
  --font-body: var(--seed-font-secondary);

  --text-display-size: var(--seed-size-display);
  --text-display-line: var(--seed-line-display);
  --text-h1-size: var(--seed-size-h1);
  --text-h1-line: var(--seed-line-h1);
  --text-h2-size: var(--seed-size-h2);
  --text-h2-line: var(--seed-line-h2);
  --text-body-size: var(--seed-size-body);
  --text-body-line: var(--seed-line-body);
  --text-caption-size: var(--seed-size-caption);
  --text-caption-line: var(--seed-line-caption);
  --text-note-size: var(--seed-size-note);
  --text-note-line: var(--seed-line-note);

  /* Spacing roles */
  --space-1: var(--seed-space-1);
  --space-2: var(--seed-space-2);
  --space-3: var(--seed-space-3);
  --space-4: var(--seed-space-4);
  --space-5: var(--seed-space-5);
  --space-6: var(--seed-space-6);
  --space-7: var(--seed-space-7);

  /* Layout roles — fluid page gutter, section rhythm, reading measure */
  --gutter: clamp(var(--space-4), 6vw, var(--space-7));
  --section-y: clamp(var(--space-6), 11vw, calc(var(--space-7) * 1.4));
  --measure: 68ch;
}
