/* ===== MBKFW 动效系统（滚动渐显 / 微交互 / 跑马灯） ===== */
:root { scroll-behavior: smooth; }

/* 滚动渐显（JS 自动添加 .rv 并在进入视口时加 .on） */
.rv { opacity: 0; transform: translateY(26px); transition: opacity .7s cubic-bezier(.16,.84,.34,1), transform .7s cubic-bezier(.16,.84,.34,1); will-change: opacity, transform; }
.rv.on { opacity: 1; transform: none; }
.rv-left { opacity: 0; transform: translateX(-30px); }
.rv.on.rv-left { transform: none; }

/* 关键帧 */
@keyframes mbkFadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
@keyframes mbkPop { from { opacity: 0; transform: scale(.94) translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes mbkShine { from { left: -75%; } to { left: 130%; } }
@keyframes mbkPulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.05); } }
@keyframes lwScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* 首页轮播文案入场（每次切换都播） */
.homeslide .stext > * { opacity: 0; }
.homeslide .sart { opacity: 0; }
.homeslide .slide.on .stext > *:nth-child(1) { animation: mbkFadeUp .7s .05s cubic-bezier(.16,.84,.34,1) forwards; }
.homeslide .slide.on .stext > *:nth-child(2) { animation: mbkFadeUp .7s .18s cubic-bezier(.16,.84,.34,1) forwards; }
.homeslide .slide.on .stext > *:nth-child(3) { animation: mbkFadeUp .7s .32s cubic-bezier(.16,.84,.34,1) forwards; }
.homeslide .slide.on .sart { animation: mbkPop .8s .25s cubic-bezier(.16,.84,.34,1) forwards; }

/* 首页轮播背景缓慢缩放 */
.homeslide .slide.on .sart svg { animation: kenburns 14s ease-in-out infinite alternate; transform-origin: center; }
@keyframes kenburns { from { transform: scale(1); } to { transform: scale(1.07); } }

/* 客户 logo 墙：无缝跑马灯 */
.logo-wall { display: block; overflow: hidden; position: relative; }
.logo-wall::before, .logo-wall::after {
  content: ""; position: absolute; top: 0; bottom: 0; width: 60px; z-index: 2; pointer-events: none;
}
.logo-wall::before { left: 0; background: linear-gradient(90deg, var(--c-bg), transparent); }
.logo-wall::after { right: 0; background: linear-gradient(-90deg, var(--c-bg), transparent); }
.logo-wall .lw-track { display: flex; gap: 12px; width: max-content; animation: lwScroll 30s linear infinite; }
.logo-wall:hover .lw-track { animation-play-state: paused; }
.logo-wall .lw-track span { white-space: nowrap; min-width: 118px; text-align: center; padding: 16px 0; background: var(--c-panel); border: 1px solid var(--c-border); border-radius: 6px; font-size: 13px; color: var(--c-text-sub); }

/* 按钮光泽扫过 */
.btn-primary, .btn-buy, .btn-cart-add, .mhero-btns .btn { position: relative; overflow: hidden; }
.btn-primary::after, .btn-buy::after, .btn-cart-add::after {
  content: ""; position: absolute; top: 0; left: -75%; width: 45%; height: 100%;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,.38), transparent);
  transform: skewX(-20deg); pointer-events: none;
}
.btn-primary:hover::after, .btn-buy:hover::after, .btn-cart-add:hover::after { animation: mbkShine .7s ease; }

/* 卡片悬浮上浮 + 主题色描边光 */
.pcard, .mcard, .sol, .vcard, .ccard, .ai-cell, .tst, .news, .mfeat-cell, .asset {
  transition: transform .28s cubic-bezier(.16,.84,.34,1), box-shadow .28s ease, border-color .28s ease;
}
.pcard:hover { transform: translateY(-6px); }
.mcard:hover, .sol:hover, .vcard:hover, .news:hover { transform: translateY(-5px); }

/* 导航吸顶阴影 */
.nav { position: sticky; top: 0; z-index: 210; transition: box-shadow .3s ease; }
.nav.stuck { box-shadow: 0 8px 24px rgba(8, 38, 84, .22); }

/* 表格行进入 */
.stable tr, .a-table tr { transition: background .2s ease; }

/* 详情页主图悬浮微缩放 */
.dpic .mainpic { transition: transform .5s cubic-bezier(.16,.84,.34,1); }
.dpic:hover .mainpic { transform: scale(1.02); }

/* 公告条滑入 */
.notice-bar { animation: mbkFadeUp .5s ease both; }

/* 减弱动态效果偏好 */
@media (prefers-reduced-motion: reduce) {
  .rv { opacity: 1 !important; transform: none !important; transition: none !important; }
  .homeslide .stext > *, .homeslide .sart { opacity: 1 !important; animation: none !important; }
  .logo-wall .lw-track { animation: none !important; }
  html { scroll-behavior: auto; }
}
