body {
    background-color: #FAF8F5;
    color: #2C332A;
    /* Subtle noise texture for a more organic feel */
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.03'/%3E%3C/svg%3E");
}

/* Smooth reveal animations */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

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

.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }

/* Custom image mask for aesthetics */
.image-mask {
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M44.7,-76.4C58.8,-69.2,71.8,-59.1,81.3,-46.1C90.8,-33.1,96.8,-16.5,95.5,-0.7C94.2,15.1,85.6,30.2,74.5,42.5C63.4,54.8,49.8,64.3,34.8,71.6C19.8,78.9,3.4,84,-12.3,81.9C-28,79.8,-43,70.5,-55.4,58.6C-67.8,46.7,-77.6,32.2,-83.1,16C-88.6,-0.2,-89.8,-18,-83.7,-33.5C-77.6,-49,-64.2,-62.2,-49.1,-69.1C-34,-76,-17,-76.6,-0.4,-75.9C16.2,-75.2,30.6,-83.6,44.7,-76.4Z' transform='translate(100 100)' /%3E%3C/svg%3E");
    mask-size: cover;
    mask-position: center;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M44.7,-76.4C58.8,-69.2,71.8,-59.1,81.3,-46.1C90.8,-33.1,96.8,-16.5,95.5,-0.7C94.2,15.1,85.6,30.2,74.5,42.5C63.4,54.8,49.8,64.3,34.8,71.6C19.8,78.9,3.4,84,-12.3,81.9C-28,79.8,-43,70.5,-55.4,58.6C-67.8,46.7,-77.6,32.2,-83.1,16C-88.6,-0.2,-89.8,-18,-83.7,-33.5C-77.6,-49,-64.2,-62.2,-49.1,-69.1C-34,-76,-17,-76.6,-0.4,-75.9C16.2,-75.2,30.6,-83.6,44.7,-76.4Z' transform='translate(100 100)' /%3E%3C/svg%3E");
    -webkit-mask-size: cover;
    -webkit-mask-position: center;
}

/* Floating Animation */
@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0px); }
}
.animate-float {
    animation: float 6s ease-in-out infinite;
}

/* Glassmorphism Navbar */
.glass-nav {
    background: rgba(250, 248, 245, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(200, 195, 185, 0.3);
}
