/* 得舍生态 · 动效层
   纯增量：只定义新关键帧与新 class，不覆盖任何既有规则。
   本文件 404 时页面仅丢失动效，布局不受影响。
   改动本文件后，须把 5 个页面的链接改成 /assets/motion.css?v=2
   （该服务器 .css 带 immutable 一年缓存）。 */

/* 1. hero 大标题按行升起 */
@keyframes m-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.hero h1{animation:m-rise .7s cubic-bezier(.22,.8,.28,1) both}
.hero h1 .grad{display:inline-block;animation:m-rise .7s cubic-bezier(.22,.8,.28,1) .15s both}

/* 2. 背景光斑漂移 */
@keyframes m-drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(26px,-20px) scale(1.06)}}
.hero-bg .b1{animation:m-drift 22s ease-in-out infinite}
.hero-bg .b2{animation:m-drift 26s ease-in-out -9s infinite reverse}
.hero-bg .b3{animation:m-drift 30s ease-in-out -16s infinite}

/* 3. Logo 墙无限滚动 */
.m-marquee{flex:1;min-width:0;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
@keyframes m-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.m-track{display:flex;width:max-content;animation:m-scroll 40s linear infinite}
.m-track:hover{animation-play-state:paused}
.m-track .trust-list{flex-wrap:nowrap;padding-right:36px}

/* 4. 右侧常驻浮栏：返回顶部 + 悬停二维码 */
.rail-top,.rail-qr{position:fixed;right:26px;z-index:80;width:56px;height:56px;border-radius:50%;
  background:#fff;border:1px solid var(--line);box-shadow:0 14px 30px -12px rgba(15,138,68,.28);
  display:grid;place-items:center;font-size:20px;color:var(--brand-dark);text-decoration:none;
  transition:transform .25s var(--ease),box-shadow .25s}
.rail-top{bottom:96px}
.rail-qr{bottom:162px;cursor:pointer}
.rail-top:hover,.rail-qr:hover{transform:translateY(-3px);box-shadow:0 20px 36px -14px rgba(25,173,87,.5)}
.rail-qr img{position:absolute;right:66px;top:50%;width:150px;height:150px;max-width:none;border-radius:14px;
  border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;padding:6px;
  opacity:0;visibility:hidden;transform:translateY(-50%) scale(.94);pointer-events:none;
  transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s}
.rail-qr:hover img{opacity:1;visibility:visible;transform:translateY(-50%) scale(1)}

/* 5. 无障碍总开关：系统开启「减弱动态效果」时全部压平 */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important}
  .reveal{opacity:1 !important;transform:none !important}
  .hero h1,.hero h1 .grad{opacity:1 !important;transform:none !important}
}
