@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap');

:root {
  --background: 145 25% 95%;
  --foreground: 152 40% 12%;

  --card: 145 20% 97%;
  --card-foreground: 152 40% 12%;

  --popover: 145 20% 97%;
  --popover-foreground: 152 40% 12%;

  --primary: 152 60% 25%;
  --primary-foreground: 145 25% 95%;

  --secondary: 145 22% 90%;
  --secondary-foreground: 152 40% 12%;

  --muted: 145 18% 88%;
  --muted-foreground: 150 15% 42%;

  --accent: 145 32% 79%;
  --accent-foreground: 152 40% 12%;

  --destructive: 0 84.2% 60.2%;
  --destructive-foreground: 210 40% 98%;

  --border: 145 18% 85%;
  --input: 145 18% 85%;
  --ring: 152 60% 25%;

  --radius: 0.25rem;

  --gold: 152 50% 35%;
  --gold-light: 145 32% 79%;
  --charcoal: 152 30% 12%;
  --cream: 145 25% 95%;
  --cream-dark: 145 18% 88%;
  --green-brand: 152 60% 25%;
  --purple-brand: 280 40% 30%;

  --sidebar-background: 0 0% 98%;
  --sidebar-foreground: 240 5.3% 26.1%;
  --sidebar-primary: 240 5.9% 10%;
  --sidebar-primary-foreground: 0 0% 98%;
  --sidebar-accent: 240 4.8% 95.9%;
  --sidebar-accent-foreground: 240 5.9% 10%;
  --sidebar-border: 220 13% 91%;
  --sidebar-ring: 217.2 91.2% 59.8%;

  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: 'Inter', system-ui, sans-serif;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: var(--font-body);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
}

* {
  border-color: hsl(var(--border));
}

.text-spaced {
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.card-divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, hsl(var(--gold)), transparent);
}

@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in {
  animation: fade-in 0.6s ease-out forwards;
}

