/* ========== AOS 补充动画 ========== */
[data-aos="fade-up-sm"] {
  transform: translateY(30px);
  opacity: 0;
  transition-property: transform, opacity;
}
[data-aos="fade-up-sm"].aos-animate {
  transform: translateY(0);
  opacity: 1;
}

/* ========== 数字递增 ========== */
.count-up {
  display: inline-block;
  font-variant-numeric: tabular-nums;
}

/* ========== 按钮悬停 ========== */
.btn { transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease, color 0.3s ease; }
.btn:active { transform: scale(0.97); }

/* ========== 卡片悬停 ========== */
.product-card,
.feature-item,
.scenario-card {
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

/* ========== 淡入 ========== */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.fade-in { animation: fadeIn 0.6s ease forwards; }
