@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

* { font-family: 'Inter', 'PingFang SC', 'Microsoft YaHei', sans-serif; }

html { scroll-behavior: smooth; }

.glass {
    background: rgba(255,255,255,0.85);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.card-hover {
    transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.card-hover:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(37, 99, 235, 0.15);
}

.btn-primary {
    background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
    transition: all 0.3s ease;
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(37, 99, 235, 0.4);
}

.btn-outline {
    border: 2px solid #2563eb;
    color: #2563eb;
    transition: all 0.3s ease;
}

.btn-outline:hover {
    background: #2563eb;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(37, 99, 235, 0.3);
}

.hero-gradient {
    background: radial-gradient(ellipse at top right, rgba(37,99,235,0.08) 0%, transparent 60%),
                radial-gradient(ellipse at bottom left, rgba(59,130,246,0.05) 0%, transparent 60%);
}

.stat-number { font-variant-numeric: tabular-nums; }

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
}

.faq-answer.open { max-height: 300px; }

.faq-btn i { transition: transform 0.3s ease; }
.faq-btn i.rotated { transform: rotate(180deg); }

.star-glow { color: #f59e0b; }

.mobile-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.mobile-menu.open { max-height: 400px; }

.counter-bg {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
}

.testimonial-bg {
    background: linear-gradient(135deg, #fafafe 0%, #eff6ff 100%);
}

.download-card {
    transition: all 0.35s ease;
}

.download-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px rgba(37, 99, 235, 0.2);
}

.download-card.featured {
    border: 2px solid #2563eb;
}
