html { scroll-behavior: smooth; }

#header.scrolled { border-bottom-color: rgba(229,231,235,0.8); box-shadow: 0 4px 24px rgba(0,0,0,0.06); }

#mobile-menu { animation: slideDown 0.2s ease-out; }
@keyframes slideDown {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* 浮动动画 */
@keyframes floatSlow {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(3deg); }
}
@keyframes floatSlower {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-30px) scale(1.05); }
}
@keyframes pulseSlow {
    0%, 100% { opacity: 0.5; transform: translate(-50%,-50%) scale(1); }
    50% { opacity: 0.8; transform: translate(-50%,-50%) scale(1.1); }
}
.animate-float-slow { animation: floatSlow 8s ease-in-out infinite; }
.animate-float-slower { animation: floatSlower 12s ease-in-out infinite; }
.animate-pulse-slow { animation: pulseSlow 6s ease-in-out infinite; }

.fade-in { opacity: 0; transform: translateY(20px); transition: opacity 0.5s ease, transform 0.5s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }

#contact-form button[type="submit"]:hover { transform: translateY(-1px); }
