/* Base Styles & Utilities */
html {
    scroll-behavior: smooth;
}

body {
    background-color: #fefdf8; /* cream-50 */
}

/* Blob Animations */
.blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.4;
    z-index: 0;
    animation: float 10s infinite ease-in-out;
}

.blob-1 {
    width: 400px;
    height: 400px;
    background: #34d399; /* emerald-500 */
    top: 10%;
    left: -100px;
    animation-delay: 0s;
}

.blob-2 {
    width: 300px;
    height: 300px;
    background: #f9f2e0; /* cream-200 */
    bottom: 20%;
    right: -50px;
    animation-delay: 2s;
}

.blob-3 {
    width: 200px;
    height: 200px;
    background: #10b981; /* emerald-600 */
    top: 50%;
    left: 40%;
    animation-delay: 4s;
}

@keyframes float {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(20px, -20px); }
}

/* Scroll Reveal Animation Classes */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Service Card Tilt Effect (Subtle) */
.service-card {
    transform-style: preserve-3d;
    perspective: 1000px;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #fefdf8;
}

::-webkit-scrollbar-thumb {
    background: #059669;
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: #047857;
}

/* Mobile Menu Transitions */
#mobile-menu {
    backdrop-filter: blur(10px);
    background: rgba(253, 249, 240, 0.95);
}
