/* Design tokens: palette drawn from the logo's crimson-to-gold heart */
:root {
  /* Brand */
  --crimson: #a3091f;
  --crimson-deep: #6e0613;
  --crimson-bright: #c8102e;
  --gold: #c99a4e;
  --gold-light: #e8c57a;
  --gold-deep: #9c7433;
  --brand-gradient: linear-gradient(115deg, var(--crimson-bright) 0%, var(--crimson-deep) 42%, var(--gold-deep) 58%, var(--gold-light) 100%);

  /* Surfaces */
  --paper: #fbf6ee;
  --paper-2: #f4eadb;
  --paper-3: #ecdcc4;
  --night: #1a0609;
  --night-2: #2a0b10;

  /* Text */
  --ink: #2a0a0e;
  --ink-soft: #5c4643;
  --ink-faint: #8d7a74;
  --on-night: #f7ecdc;
  --on-night-soft: #c9b6a3;

  /* Semantic (self-check zones) */
  --zone-green: #2f7d4f;
  --zone-green-bg: #e3f1e7;
  --zone-amber: #b26a00;
  --zone-amber-bg: #fbeed6;
  --zone-red: #b0101f;
  --zone-red-bg: #fbe1e3;

  /* Lines */
  --line: rgba(42, 10, 14, 0.12);
  --line-strong: rgba(42, 10, 14, 0.24);
  --line-night: rgba(247, 236, 220, 0.14);

  /* Typography */
  --font-display: "Fraunces", "Iowan Old Style", Georgia, serif;
  --font-body: "Manrope", "Segoe UI", system-ui, sans-serif;

  --text-xs: 0.8125rem;
  --text-sm: 0.9375rem;
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.15rem, 1.05rem + 0.45vw, 1.375rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);
  --text-2xl: clamp(2rem, 1.4rem + 2.6vw, 3.5rem);
  --text-3xl: clamp(2.6rem, 1.5rem + 4.6vw, 5.5rem);
  --text-hero: clamp(2.75rem, 1.2rem + 5.2vw, 6.25rem);

  /* Spacing */
  --space-2xs: 0.375rem;
  --space-xs: 0.625rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2.5rem;
  --space-xl: clamp(3rem, 2rem + 4vw, 5.5rem);
  --space-section: clamp(4.5rem, 3rem + 6vw, 9.5rem);
  --gutter: clamp(1rem, 0.5rem + 2.5vw, 3rem);
  --max: 1240px;

  /* Shape & depth */
  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 32px;
  --radius-pill: 999px;
  --shadow-soft: 0 1px 2px rgba(42, 10, 14, 0.06), 0 8px 24px -12px rgba(42, 10, 14, 0.18);
  --shadow-lift: 0 2px 4px rgba(42, 10, 14, 0.06), 0 24px 48px -20px rgba(110, 6, 19, 0.35);
  --shadow-gold: 0 18px 50px -18px rgba(201, 154, 78, 0.55);

  /* Motion */
  --duration-fast: 150ms;
  --duration-normal: 320ms;
  --duration-slow: 900ms;
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
}
