body {
    background-color: #FFF0F5;
    color: #543D3F;
    overflow-x: hidden;
}

html { scroll-behavior: smooth; }

/* Custom Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #FFF0F5; }
::-webkit-scrollbar-thumb { background: #D4AF37; border-radius: 4px; }

/* Animations */
@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-15px); }
    100% { transform: translateY(0px); }
}
.float-slow { animation: float 6s ease-in-out infinite; }
.float-medium { animation: float 4s ease-in-out infinite; }

.fade-up {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease-out;
}
.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}

.arch-mask { border-radius: 200px 200px 0 0; }

/* Mobile Menu Transition */
.mobile-menu-enter { transform: translateY(-100%); opacity: 0; }
.mobile-menu-enter-active { transform: translateY(0); opacity: 1; transition: all 0.4s ease-out; }
.mobile-menu-exit { transform: translateY(0); opacity: 1; }
.mobile-menu-exit-active { transform: translateY(-100%); opacity: 0; transition: all 0.4s ease-in; }

/* Marquee Specifics */
.marquee-container {
    overflow: hidden;
    white-space: nowrap;
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}
.marquee-content {
    display: inline-block;
    animation: marquee 30s linear infinite;
}
@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}