:root {
    --brand-beige: #F9F7F4;
    --brand-indigo: #5A4E85;
    --brand-sage: #8A9A8A;
    --text-forest: #2F352F;
    --text-muted: #6B7280;
    --font-heading: 'Outfit', sans-serif;
    --font-body: 'Inter', sans-serif;
    --font-serif: 'Spectral', serif;
}

body {
    font-family: var(--font-body);
    color: var(--text-forest);
    background-color: var(--brand-beige);
    scroll-behavior: smooth;
}

h1, h2, h3, h4, .heading {
    font-family: var(--font-heading);
    font-weight: 700;
}

.serif { font-family: var(--font-serif); }
.bg-indigo { background-color: var(--brand-indigo); }
.text-indigo { color: var(--brand-indigo); }
.bg-sage { background-color: var(--brand-sage); }
.text-sage { color: var(--brand-sage); }

/* Custom Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-up {
    animation: fadeInUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.delay-100 { animation-delay: 0.1s; }
.delay-200 { animation-delay: 0.2s; }
.delay-300 { animation-delay: 0.3s; }

/* Smooth Section Transitions */
section {
    position: relative;
}

/* Utilities */
.tracking-tight-custom { letter-spacing: -0.02em; }
.tracking-wide-custom { letter-spacing: 0.05em; }