/* 首页动画与装饰增强 */

/* 滚动入场动画 */
.fade-up {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}

/* 交错延迟 */
.stagger-1 { transition-delay: 0.05s; }
.stagger-2 { transition-delay: 0.1s; }
.stagger-3 { transition-delay: 0.15s; }
.stagger-4 { transition-delay: 0.2s; }
.stagger-5 { transition-delay: 0.25s; }
.stagger-6 { transition-delay: 0.3s; }

/* Hero区域浮动光点装饰 */
.hero-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}
.hero-orb-1 { width: 6px; height: 6px; background: rgba(255,140,66,0.6); top: 20%; left: 15%; animation: float-orb 6s ease-in-out infinite; box-shadow: 0 0 12px rgba(255,140,66,0.4); }
.hero-orb-2 { width: 4px; height: 4px; background: rgba(255,179,128,0.5); top: 35%; right: 20%; animation: float-orb 8s ease-in-out infinite 1s; box-shadow: 0 0 10px rgba(255,179,128,0.3); }
.hero-orb-3 { width: 5px; height: 5px; background: rgba(99,102,241,0.4); bottom: 30%; left: 25%; animation: float-orb 7s ease-in-out infinite 2s; box-shadow: 0 0 10px rgba(99,102,241,0.3); }
.hero-orb-4 { width: 3px; height: 3px; background: rgba(255,255,255,0.4); top: 55%; right: 12%; animation: float-orb 9s ease-in-out infinite 0.5s; box-shadow: 0 0 8px rgba(255,255,255,0.2); }
.hero-orb-5 { width: 4px; height: 4px; background: rgba(255,140,66,0.4); bottom: 20%; right: 30%; animation: float-orb 5s ease-in-out infinite 3s; box-shadow: 0 0 8px rgba(255,140,66,0.3); }

@keyframes float-orb {
    0%, 100% { transform: translateY(0) translateX(0); opacity: 1; }
    25% { transform: translateY(-20px) translateX(10px); opacity: 0.6; }
    50% { transform: translateY(-10px) translateX(-5px); opacity: 1; }
    75% { transform: translateY(-25px) translateX(5px); opacity: 0.7; }
}

/* Hero内容入场动画 */
.hero-content .hero-badge { animation: fadeInUp 0.8s ease-out 0.2s both; }
.hero-content .hero-title { animation: fadeInUp 0.8s ease-out 0.4s both; }
.hero-content .hero-desc { animation: fadeInUp 0.8s ease-out 0.6s both; }
.hero-content .hero-actions { animation: fadeInUp 0.8s ease-out 0.8s both; }
.hero-stats { animation: fadeInUp 0.8s ease-out 1s both; }

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

/* 产品卡片悬停光效 */
.product-card .card-glow {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    border-radius: 20px;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
    background: radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(255,140,66,0.06) 0%, transparent 50%);
}
.product-card:hover .card-glow { opacity: 1; }

/* Section标题下划线装饰 */
.section-header::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--primary), #ff6b35);
    margin: 20px auto 0;
    border-radius: 2px;
}

/* CTA二维码卡片呼吸灯效果 */
.cta-qr-card {
    animation: cardBreathe 4s ease-in-out infinite;
}
@keyframes cardBreathe {
    0%, 100% { box-shadow: 0 25px 60px rgba(0,0,0,0.35); }
    50% { box-shadow: 0 30px 70px rgba(0,0,0,0.4), 0 0 40px rgba(255,140,66,0.05); }
}

/* 滚动条美化 */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--primary), var(--primary-dark)); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--primary-dark); }

/* 移动端适配 */
@media (max-width: 768px) {
    .hero-orb { display: none; }
    .hero-title { font-size: 2.2rem !important; letter-spacing: -0.5px; }
    .hero-content .hero-badge,
    .hero-content .hero-title,
    .hero-content .hero-desc,
    .hero-content .hero-actions,
    .hero-stats { animation-duration: 0.6s; }
    .section-title { font-size: 1.8rem !important; }
    .cta-header h2 { font-size: 2rem !important; }
    .stat-value { font-size: 2rem !important; }
}
