/* 78 Branches — design tokens (brief §3). Single source of truth for color, type, spacing. */

/* Arial (Liberation Sans on Linux) scaled to Inter's metrics so the swap to Inter doesn't reflow
   text and shift layout (CLS). Values match the standard Next.js Inter fallback. */
@font-face {
  font-family: "Inter Fallback";
  src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("LiberationSans");
  size-adjust: 107.12%;
  ascent-override: 90.44%;
  descent-override: 22.52%;
  line-gap-override: 0%;
}

:root {
  /* Core palette */
  --color-purple-deep: #2a1a4a;
  --color-purple: #4b2e83;
  --color-purple-mid: #5b4b8a;
  --color-gold: #c9a227;
  --color-gold-warm: #e0b84f;
  --color-parchment: #f4ecd8;
  --color-cream: #fbf7ec;
  --color-midnight: #140f26;
  --color-wood: #3a2a1e;

  /* Semantic roles */
  --bg: var(--color-midnight);
  --bg-elevated: var(--color-purple-deep);
  --surface: #1e1636;
  --text: #f3eeff;
  --text-muted: #c9c0e0;
  --accent: var(--color-gold);
  --accent-strong: var(--color-gold-warm);
  --on-accent: var(--color-midnight);
  --border: rgba(201, 162, 39, 0.28);

  /* Typography */
  --font-display: "Cinzel", "Trajan Pro", Georgia, "Times New Roman", serif;
  --font-serif: "Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;

  /* Parchment panels: dark ink on the single light surface. */
  --parchment-ink: #2a1a4a;
  --parchment-gold: #b98a1c;
  --parchment-gold-text: #7a5a0c;
  --gold-foil: linear-gradient(180deg, #fff1b8 0%, #e8c25a 38%, #b98a1c 58%, #f0d37a 100%);
  --font-body: "Inter", "Inter Fallback", "Segoe UI", system-ui, -apple-system, sans-serif;
  --fs-hero: clamp(2rem, 6vw, 4.5rem);
  --fs-h1: clamp(2rem, 4vw, 3rem);
  --fs-h2: clamp(1.5rem, 3vw, 2.25rem);
  --fs-body: 1.05rem;
  --lh-body: 1.65;

  /* Spacing scale */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2.5rem;
  --space-6: 4rem;

  /* Radii & shadow */
  --radius: 0.75rem;
  --shadow-soft: 0 10px 40px rgba(0, 0, 0, 0.45);

  --container-max: 1200px;
}
