/* 全站动效:克制、只在营销页用、系统「减少动态效果」时全部关闭。
   .rise 入场只播一次;.type 大标题第二行打字出现 + 光标闪烁(JS);[data-tilt] 静态展示卡随指针倾斜 ≤3°;.lift-icon 卡片 hover 图标微抬。 */
.rise { opacity: 0; animation: sd-rise .6s cubic-bezier(.2, .7, .2, 1) forwards; }
.rise-2 { animation-delay: .12s; } .rise-3 { animation-delay: .24s; } .rise-4 { animation-delay: .36s; }
@keyframes sd-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
/* 打字:文字本来就在 DOM 里(SEO / 无 JS 照常显示),JS 清空后逐字放回;光标是伪元素,打完再闪几秒收掉 */
.type.typing::after, .type.done::after { content: ""; display: inline-block; width: .08em; height: .95em; margin-left: .08em; vertical-align: -.08em; background: currentColor; animation: sd-blink 1s steps(1, end) infinite; }
.type.done::after { animation: sd-blink 1s steps(1, end) 4; }
@keyframes sd-blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
[data-tilt] { transition: transform .18s ease; transform-style: preserve-3d; }
.lift-icon { transition: transform .2s ease; }
.group:hover .lift-icon { transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) {
  .rise { animation: none; opacity: 1; }
  .type::after { display: none !important; }
  [data-tilt] { transform: none !important; transition: none; }
  .lift-icon { transition: none; }
}
