/* Fiscadi — design tokens
   Red/charcoal pulled by pixel-sampling the real logo (#E34F48 / #4E4E56).
   Button/text reds are a deepened variant kept AA-safe against white. */

:root {
  /* Brand */
  --color-red: #E34F48;
  --color-red-strong: #C23931;
  --color-red-tint: #FBEAE8;
  --color-charcoal: #2B2B30;
  --color-charcoal-soft: #5A5A61;
  --color-blue-muted: #4F6E86;

  /* Neutrals */
  --color-ivory: #FBF8F5;
  --color-ivory-alt: #F2EEE9;
  --color-white: #FFFFFF;
  --color-border: #E2DDD6;
  --color-border-strong: #CFC8BF;

  /* Text */
  --text-heading: var(--color-charcoal);
  --text-body: #33333A;
  --text-muted: var(--color-charcoal-soft);
  --text-on-dark: #F4F1ED;
  --text-on-dark-muted: #C9C4BC;

  /* Typography */
  --font-heading: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body: 'Source Sans 3', 'Segoe UI', system-ui, sans-serif;

  --fs-body: 1.0625rem;      /* ~17px */
  --fs-small: 0.9375rem;     /* ~15px */
  --fs-h1: clamp(2.25rem, 1.9rem + 1.6vw, 3.4rem);
  --fs-h2: clamp(1.75rem, 1.55rem + 0.9vw, 2.4rem);
  --fs-h3: clamp(1.35rem, 1.25rem + 0.5vw, 1.65rem);
  --fs-h4: 1.15rem;
  --fs-eyebrow: 0.8125rem;

  --lh-body: 1.65;
  --lh-heading: 1.18;

  /* Spacing scale (4/8pt rhythm) */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4.5rem;
  --space-9: 6.5rem;

  /* Layout */
  --container-width: 1200px;
  --container-pad: clamp(1.25rem, 4vw, 2.5rem);
  --header-height: 84px;

  /* Radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  /* Shadow */
  --shadow-sm: 0 1px 2px rgba(43, 43, 48, 0.07);
  --shadow-md: 0 10px 28px -12px rgba(43, 43, 48, 0.22);
  --shadow-lg: 0 24px 48px -18px rgba(43, 43, 48, 0.28);

  /* Motion */
  --transition-fast: 150ms ease;
  --transition-base: 220ms cubic-bezier(0.22, 0.61, 0.36, 1);

  /* Z-index scale */
  --z-header: 100;
  --z-overlay: 200;
  --z-modal: 300;
}
