/* VERSION · v1.0.0 · 2026-06-12 · T0 — extracted cross-page baseline (the
   single source of truth for design tokens + the universal reset/link-reset/
   body baseline). Linked FIRST in <head> on every page, before page-specific
   <style> and before drawer.css, so page rules still override. Page-local
   tokens (--jade / --crimson / --platinum / --silver portal-status colours)
   are intentionally NOT here — they stay page-local per the brand invariants.
   ───────────────────────────────────────────────────────────────────────── */

:root {
  /* Palette — fixed maison tokens (shared across every page) */
  --ivory:    #F5F0E8;
  --warm:     #FAF7F2;
  --obsidian: #0E0D0B;
  --char:     #141210;
  --char2:    #1A1814;
  --gold:     #C8A96E;
  --gold-lt:  #E2C99A;
  --gold-dim: rgba(200,169,110,.5);
  --stone:    #8C8579;
  --mist:     #D6CFC4;

  /* Typography + motion */
  --ff:   'Optima','Cormorant Garamond',Georgia,serif;
  --ease: cubic-bezier(0.25, 0.1, 0.0, 1.0);
  --silk: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Universal reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* Document baseline */
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  background: var(--obsidian);
  color: var(--ivory);
  font-family: var(--ff);
  font-weight: 300;
  letter-spacing: 0.04em;
  cursor: none;
  overflow-x: hidden;
}

/* ── GLOBAL LINK RESET ──
   No blue defaults, ever. Every link inherits its surrounding text colour
   and carries no underline unless a class explicitly adds one. */
a, a:link, a:visited, a:hover, a:active, a:focus {
  color: inherit;
  text-decoration: none;
  -webkit-text-decoration-color: transparent;
}
a:focus-visible { outline: 1px solid var(--gold-dim); outline-offset: 3px; }

/* Touch devices: the custom cursor (#cur/#cur-r) is hidden by pages; restore
   a normal pointer so nothing feels broken where hover doesn't exist. */
@media (hover: none) {
  body { cursor: auto; }
}
