/* ─────────────────────────────────────────────────────────────────
   rebekahterry.com · Design tokens · v1.0
   The single source of truth for color and typography.
   Imported by every page. Do not hard-code values — reference tokens.
   ───────────────────────────────────────────────────────────────── */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;1,400&family=Outfit:wght@200;300;400;500;600&family=Raleway:wght@500&display=swap');

:root {
  /* ─── Color ─── */
  --bg:                 #0a0810;
  --surface:            #110f1a;
  --surface-2:          #1a1728;
  --text-primary:       #f0eeff;
  --text-secondary:     #a89ec4;
  --text-muted:         #5a5070;
  --accent-purple:      #a5b4fc;
  --accent-gold:        #d4a96a;
  --accent-gold-dim:    rgba(212,169,106,0.3);
  --accent-purple-dim:  rgba(165,180,252,0.3);
  --border:             rgba(165,180,252,0.1);
  --border-gold:        rgba(212,169,106,0.15);

  /* ─── Font families ─── */
  --font-serif:  'Cormorant Garamond', Georgia, serif;
  --font-sans:   'Outfit', -apple-system, sans-serif;
  --font-accent: 'Raleway', sans-serif;

  /* ─── Type tokens ─── */
  /* Display — hero & rare */
  --t-display-xl: 200 72px/0.95 var(--font-sans);    /* IMAGINE. */
  --t-display-lg: italic 400 48px/1.0 var(--font-serif);  /* Design. */
  --t-display-md: 500 40px/1.0 var(--font-accent);   /* Build. */

  /* Headings */
  --t-h1: 400 40px/1.1 var(--font-serif);
  --t-h2: 400 32px/1.15 var(--font-serif);
  --t-h3: 500 22px/1.3 var(--font-sans);
  --t-h4: 500 18px/1.4 var(--font-sans);

  /* Labels & eyebrows (letter-spacing applied via class) */
  --t-eyebrow: 500 14px/1.2 var(--font-sans);   /* 0.18em */
  --t-label:   500 14px/1.3 var(--font-sans);   /* 0.08em */
  --t-meta:    500 14px/1.4 var(--font-sans);   /* 0.12em */
  --t-micro:   500 13px/1.3 var(--font-sans);   /* 0.06em · ornamental only */

  /* Body */
  --t-body-lg: 300 17px/1.7 var(--font-sans);
  --t-body:    300 15px/1.7 var(--font-sans);
  --t-body-sm: 200 14px/1.6 var(--font-sans);  /* lighter weight, not smaller */

  /* Numbers (stat moments) */
  --t-number-hero: 400 32px/1.0 var(--font-serif);
  --t-number-lg:   400 48px/1.0 var(--font-serif);
}

/* ─── Base reset ─── */
* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  background: var(--bg);
  color: var(--text-primary);
  font: var(--t-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ─── Typography utility classes ─── */
.t-display-xl { font: var(--t-display-xl); letter-spacing: -0.01em; }
.t-display-lg { font: var(--t-display-lg); }
.t-display-md { font: var(--t-display-md); letter-spacing: 0.02em; color: var(--accent-gold); }

.t-h1 { font: var(--t-h1); }
.t-h2 { font: var(--t-h2); }
.t-h3 { font: var(--t-h3); }
.t-h4 { font: var(--t-h4); }

.t-eyebrow { font: var(--t-eyebrow); letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent-gold); }
.t-label   { font: var(--t-label);   letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent-purple); }
.t-meta    { font: var(--t-meta);    letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-gold); }
.t-micro   { font: var(--t-micro);   letter-spacing: 0.06em; color: var(--text-secondary); }

.t-body-lg { font: var(--t-body-lg); color: var(--text-secondary); }
.t-body    { font: var(--t-body);    color: var(--text-secondary); }
.t-body-sm { font: var(--t-body-sm); color: var(--text-secondary); }

.t-number-hero { font: var(--t-number-hero); color: var(--accent-gold); }
.t-number-lg   { font: var(--t-number-lg);   color: var(--accent-gold); }
