

:root {
  
  --pine-900: #274b3a;
  --forest-800: #3e4a38;
  --sage-600: #6e7a5e;
  --cream-100: #f6f2e9;
  --ivory-50: #fefcf8;
  --greige-200: #e6e3d6;
  --gold-500: #c0a265;
  --ink-900: #1f1f1d;
  --sage-100: #dde3d6;
  --pine-50: #eaf0ec;
  --white: #ffffff;
  --success-600: #5c7a5e;
  --error-600: #a6564a;

  
  --warning-600: #a6754a;

  
  --success-800: #375339;
  --warning-800: #6d4a2c;
  --error-800: #6d352c;

  
  --surface-page: var(--cream-100);
  --surface-card: var(--ivory-50);
  --surface-callout: var(--greige-200);
  --surface-inverse: var(--pine-900);
  --surface-badge: var(--sage-600);

  
  --text-body: var(--ink-900);
  --text-heading: var(--forest-800);
  
  --text-muted: color-mix(in oklab, var(--ink-900) 64%, transparent);
  --text-inverse: var(--ivory-50);
  --text-link: var(--pine-900);
  --text-link-hover: var(--gold-500);

  
  --border-hairline: var(--gold-500);
  --border-subtle: color-mix(in oklab, var(--ink-900) 12%, transparent);
  --border-card: color-mix(in oklab, var(--ink-900) 8%, transparent);

  
  --btn-primary-bg: var(--pine-900);
  --btn-primary-bg-hover: var(--forest-800);
  --btn-primary-text: var(--ivory-50);
  --btn-secondary-border: var(--pine-900);
  --btn-secondary-text: var(--pine-900);
  --btn-secondary-bg-hover: var(--pine-50);
  --btn-text-color: var(--pine-900);
  --btn-disabled-bg: color-mix(in oklab, var(--pine-900) 30%, var(--cream-100));
  --btn-disabled-text: color-mix(in oklab, var(--ink-900) 40%, transparent);

  
  
  --accent-gold: var(--gold-500); 
  --text-eyebrow: var(--sage-600); 
  --text-price: var(--pine-900); 
  --text-script: var(--gold-500); 
  --surface-inverse-alt: var(--forest-800); 

  
  
  --status-success: var(--success-600);
  --status-success-text: var(--success-800);
  --status-success-bg: color-mix(in oklab, var(--success-600) 14%, var(--cream-100));

  --status-warning: var(--warning-600);
  --status-warning-text: var(--warning-800);
  --status-warning-bg: color-mix(in oklab, var(--warning-600) 14%, var(--cream-100));

  --status-error: var(--error-600);
  --status-error-text: var(--error-800);
  --status-error-bg: color-mix(in oklab, var(--error-600) 14%, var(--cream-100));

  
  
  --font-display: 'Cormorant Garamond', 'Optima', Georgia, serif;
  --font-script: 'Beau Rivage', cursive;
  --font-sans: 'Mulish', -apple-system, sans-serif;

  
  --display-xl: clamp(2.75rem, 2rem + 3vw, 4.5rem);
  --display-lg: clamp(2.25rem, 1.7rem + 2.2vw, 3.4rem);
  --display-md: clamp(1.75rem, 1.4rem + 1.4vw, 2.4rem);
  --display-sm: 1.5rem;

  
  --script-lg: clamp(3rem, 2.2rem + 3.5vw, 5.5rem);
  --script-md: 2.5rem;
  --script-sm: 1.75rem;

  
  --text-xl: 1.375rem;
  --text-lg: 1.125rem;
  --text-md: 1rem;
  --text-sm: 0.875rem;
  --text-xs: 0.75rem;

  
  --tracking-display: 0.06em;
  --tracking-label: 0.14em;
  --tracking-button: 0.18em; 
  --tracking-eyebrow: 0.22em; 
  --tracking-normal: 0;

  
  --leading-tight: 1.1;
  --leading-heading: 1.25;
  --leading-body: 1.65;

  
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
  --space-10: 128px;

  
  --radius-sm: 4px;
  --radius-md: 10px; 
  --radius-lg: 18px; 
  --radius-pill: 999px; 
  --radius-circle: 50%; 

  
  
  --shadow-card: 0 1px 2px rgba(31, 31, 29, 0.04), 0 10px 24px -12px rgba(39, 75, 58, 0.16);
  --shadow-hover: 0 4px 6px rgba(31, 31, 29, 0.05), 0 18px 32px -14px rgba(39, 75, 58, 0.22);
  --shadow-none: none;

  
  --container-max: 1200px;
  --measure-body: 64ch;

  
  
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --duration-fast: 140ms;
  --duration-base: 220ms;
}
