:root {
    --burnt-orange: #d15600;
    --charcoal: #2a2c26;
    --cream: #f4f2eb;
}

body {
    font-family: 'Mulish', sans-serif;
    background-color: var(--cream);
    color: var(--charcoal);
}

.serif-font {
    font-family: 'Fraunces', serif;
}

.bg-burnt-orange { background-color: var(--burnt-orange); }
.text-burnt-orange { color: var(--burnt-orange); }
.bg-charcoal { background-color: var(--charcoal); }
.text-charcoal { color: var(--charcoal); }
.bg-cream { background-color: var(--cream); }
.text-cream { color: var(--cream); }

/* Ambient Organic Blobs */
.blob {
    position: absolute;
    border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
    filter: blur(80px);
    z-index: 0;
    opacity: 0.15;
    animation: morph 15s ease-in-out infinite both alternate;
}

.blob-tl {
    top: -10%;
    left: -10%;
    width: 600px;
    height: 600px;
    background: var(--burnt-orange);
}

.blob-br {
    bottom: -20%;
    right: -10%;
    width: 800px;
    height: 800px;
    background: #e6a87c;
    animation-delay: -5s;
}

.blob-center {
    top: 40%;
    left: 40%;
    width: 500px;
    height: 500px;
    background: var(--charcoal);
    opacity: 0.05;
    animation-duration: 25s;
}

@keyframes morph {
    0% { border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%; transform: rotate(0deg) scale(1); }
    34% { border-radius: 70% 30% 50% 50% / 30% 30% 70% 70%; transform: rotate(15deg) scale(1.1); }
    67% { border-radius: 100% 60% 60% 100% / 100% 100% 60% 60%; transform: rotate(-10deg) scale(0.9); }
    100% { border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%; transform: rotate(0deg) scale(1); }
}

/* Entrance Animations */
.fade-in {
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.delay-1 { animation-delay: 0.2s; }
.delay-2 { animation-delay: 0.4s; }
.delay-3 { animation-delay: 0.6s; }

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

::selection {
    background: var(--burnt-orange);
    color: var(--cream);
}