@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Montserrat:wght@300;400;500;600;700&display=swap');

:root {
  --color-background: #0a0a0b;
  --color-foreground: #e6e4dc;
  --color-primary: #e6b800;
  --color-primary-rgb: 230, 184, 0;
  --color-secondary: #27b06e;
  --color-card: #101011;
  --color-border: #42381f;
  
  --font-serif: 'Playfair Display', serif;
  --font-sans: 'Montserrat', sans-serif;
}

body {
  background-color: var(--color-background);
  color: var(--color-foreground);
  font-family: var(--font-sans);
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-serif);
}

.text-gradient-gold {
  background: linear-gradient(to right, #bf953f, #fcf6ba, #b38728, #fbf5b7, #aa771c);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.font-serif {
  font-family: var(--font-serif);
}

.border-white\/5 {
  border-color: rgba(255, 255, 255, 0.05);
}

.border-white\/10 {
  border-color: rgba(255, 255, 255, 0.1);
}

.bg-white\/5 {
  background-color: rgba(255, 255, 255, 0.05);
}

.bg-primary\/10 {
  background-color: rgba(230, 184, 0, 0.1);
}

.bg-primary\/5 {
  background-color: rgba(230, 184, 0, 0.05);
}

.text-primary {
  color: var(--color-primary);
}

.border-primary\/30 {
  border-color: rgba(230, 184, 0, 0.3);
}

/* Animations */
.animate-fade-in-up {
  animation: fadeInUp 0.8s ease-out forwards;
  opacity: 0;
  transform: translateY(20px);
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: .5;
  }
}
