/* Auto-generated from design-tokens.json — do not edit manually */
/* Run: npm run generate:tokens */

:root {
  /* color */
  --site-color-primary: #C8102E;
  --site-color-primary-light: #F2D5D9;
  --site-color-primary-dark: #8C0B1F;
  --site-color-secondary: #D4A574;
  --site-color-secondary-light: #F0E4D6;
  --site-color-background: #F7F4EF;
  --site-color-surface: #F0E4D6;
  --site-color-text: #2D2926;
  --site-color-text-muted: #6B6461;
  --site-color-border: #D9D4CE;
  --site-color-accent: #C8102E;
  --site-color-success: #3A7D5A;
  --site-color-error: #C8102E;
  --site-color-footer-bg: #2D2926;
  --site-color-footer-text: #F7F4EF;

  /* font */
  --site-font-heading: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --site-font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --site-font-mono: 'JetBrains Mono', 'Courier New', monospace;

  /* size */
  --site-size-h1: clamp(2.25rem, 5vw, 4.5rem);
  --site-size-h2: clamp(1.75rem, 4vw, 2.625rem);
  --site-size-h3: clamp(1.25rem, 3vw, 1.75rem);
  --site-size-h4: clamp(1.125rem, 2vw, 1.25rem);
  --site-size-body: clamp(1.125rem, 1.5vw, 1.25rem);
  --site-size-body-small: 1rem;
  --site-size-small: 0.875rem;
  --site-size-caption: 0.75rem;

  /* weight */
  --site-weight-regular: 400;
  --site-weight-medium: 500;
  --site-weight-semibold: 600;
  --site-weight-bold: 700;

  /* lineheight */
  --site-lineheight-heading: 1.15;
  --site-lineheight-body: 1.6;
  --site-lineheight-nav: 1.0;
  --site-lineheight-tight: 1.2;

  /* spacing */
  --site-spacing-xs: 0.5rem;
  --site-spacing-sm: 1rem;
  --site-spacing-md: 1.5rem;
  --site-spacing-lg: 3rem;
  --site-spacing-xl: clamp(4rem, 8vw, 8rem);
  --site-spacing-2xl: clamp(6rem, 12vw, 10rem);
  --site-spacing-container-max: 1200px;
  --site-spacing-container-narrow: 800px;
  --site-spacing-header-desktop: 80px;
  --site-spacing-header-mobile: 64px;

  /* radius */
  --site-radius-sm: 0.375rem;
  --site-radius-md: 0.75rem;
  --site-radius-lg: 1rem;
  --site-radius-pill: 999px;

  /* shadow */
  --site-shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --site-shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1);
  --site-shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1);

  /* breakpoint */
  --site-breakpoint-sm: 768px;
  --site-breakpoint-md: 1024px;
  --site-breakpoint-lg: 1280px;

  /* transition */
  --site-transition-fast: 150ms ease;
  --site-transition-normal: 300ms ease;
  --site-transition-slow: 500ms ease;

}

/* Utility classes */
.site-text-primary { color: var(--site-color-primary); }
.site-text-primary-light { color: var(--site-color-primary-light); }
.site-text-primary-dark { color: var(--site-color-primary-dark); }
.site-text-secondary { color: var(--site-color-secondary); }
.site-text-secondary-light { color: var(--site-color-secondary-light); }
.site-text-background { color: var(--site-color-background); }
.site-text-surface { color: var(--site-color-surface); }
.site-text-text { color: var(--site-color-text); }
.site-text-text-muted { color: var(--site-color-text-muted); }
.site-text-border { color: var(--site-color-border); }
.site-text-accent { color: var(--site-color-accent); }
.site-text-success { color: var(--site-color-success); }
.site-text-error { color: var(--site-color-error); }
.site-text-footer-bg { color: var(--site-color-footer-bg); }
.site-text-footer-text { color: var(--site-color-footer-text); }

.site-bg-primary { background-color: var(--site-color-primary); }
.site-bg-primary-light { background-color: var(--site-color-primary-light); }
.site-bg-primary-dark { background-color: var(--site-color-primary-dark); }
.site-bg-secondary { background-color: var(--site-color-secondary); }
.site-bg-secondary-light { background-color: var(--site-color-secondary-light); }
.site-bg-background { background-color: var(--site-color-background); }
.site-bg-surface { background-color: var(--site-color-surface); }
.site-bg-text { background-color: var(--site-color-text); }
.site-bg-text-muted { background-color: var(--site-color-text-muted); }
.site-bg-border { background-color: var(--site-color-border); }
.site-bg-accent { background-color: var(--site-color-accent); }
.site-bg-success { background-color: var(--site-color-success); }
.site-bg-error { background-color: var(--site-color-error); }
.site-bg-footer-bg { background-color: var(--site-color-footer-bg); }
.site-bg-footer-text { background-color: var(--site-color-footer-text); }
