/* 展示页轻量动效；内容在脚本不可用时保持可见。 */
@media (prefers-reduced-motion: no-preference) {
  .kb-hero-copy { animation: kb-site-enter .62s cubic-bezier(.22,.68,0,1) both; }
  .kb-hero-demo { animation: kb-site-enter .72s .12s cubic-bezier(.22,.68,0,1) both; }
  .kb-price-hero-copy { animation: kb-site-enter .62s cubic-bezier(.22,.68,0,1) both; }
  .kb-price-hero-art { animation: kb-site-enter .72s .12s cubic-bezier(.22,.68,0,1) both; }
  .kb-price-switcher { animation: kb-site-enter .72s .2s cubic-bezier(.22,.68,0,1) both; }
  .kb-motion-reveal { opacity: 0; transition: opacity .55s ease; transition-delay: var(--kb-motion-delay,0ms); }
  .kb-motion-reveal.kb-soft-card.kb-card-hover { transition: opacity .55s ease var(--kb-motion-delay,0ms), border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
  .kb-motion-reveal.kb-motion-heading { transform: translateY(16px); transition: opacity .55s ease, transform .55s cubic-bezier(.22,.68,0,1); transition-delay: var(--kb-motion-delay,0ms); }
  .kb-motion-reveal.kb-motion-visible { opacity: 1; }
  .kb-motion-reveal.kb-motion-heading.kb-motion-visible { transform: none; }
}
@keyframes kb-site-enter {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}
@media print {
  .kb-motion-reveal { opacity: 1 !important; transform: none !important; }
}
/* 首屏主视觉只做 0–6px 的上下轻浮，不改变原有画面角度与缩放。 */
@media (min-width:768px) and (prefers-reduced-motion:no-preference) {
  .kb-home-hero .kb-hero-real-demo,
  #kb-product-page .kb-cap-hero-art,
  #kb-hardware-page .hardware-hero-art,
  .kb-price-hero .kb-price-hero-art,
  #kb-activity-page .kb-static-hero-art img {
    animation:kb-hero-float 5s ease-in-out infinite;
  }
}
@keyframes kb-hero-float {
  0%,100% { translate:0 0; }
  50% { translate:0 calc(-1 * var(--kb-hero-float-offset, 6px)); }
}
/* 触屏宽度下停掉自动循环动画，内容与操作保持可见。 */
@media (max-width:767px) {
  .main-content *, .main-content *::before, .main-content *::after,
  #floatbtn *, #floatbtn *::before, #floatbtn *::after { animation:none!important; }
  .kb-motion-reveal { opacity:1!important; transform:none!important; transition:none!important; }
}
/* 尊重系统的减少动态效果设置。 */
@media (prefers-reduced-motion:reduce) {
  .main-content *, .main-content *::before, .main-content *::after,
  #floatbtn *, #floatbtn *::before, #floatbtn *::after { animation:none!important; transition:none!important; }
  .kb-motion-reveal { opacity:1!important; transform:none!important; }
}
