/* GAOWU motion layer — 通用动效，不改变布局 */
:root{--m-ease:cubic-bezier(.22,.61,.36,1)}

/* 1. 首屏：文字渐入 + 背景缓慢推近 */
.hero, .hero-band { overflow:hidden; position:relative; }
.hero .wrap, .hero-band .wrap { animation: heroIn .9s var(--m-ease) both; }
@keyframes heroIn { from { transform:translateY(18px); } to { opacity:1; transform:none; } }

.hero img.bg, .hero .bg, .hero-band img.bg { animation: kenburns 26s ease-in-out infinite alternate; }
@keyframes kenburns { from { transform:scale(1.02); } to { transform:scale(1.10); } }

/* 2. 滚动浮现 */
.m-reveal { opacity:0; transform:translateY(26px); transition:opacity .7s var(--m-ease), transform .7s var(--m-ease); will-change:opacity,transform; }
.m-reveal.is-in { opacity:1; transform:none; }
.m-reveal.m-delay-1 { transition-delay:.08s }
.m-reveal.m-delay-2 { transition-delay:.16s }
.m-reveal.m-delay-3 { transition-delay:.24s }

/* 3. 卡片悬停 */
.card, .cat, .app, .cert, .st, .step, .thumb, .model-grid figure, .dl a {
  transition: transform .35s var(--m-ease), box-shadow .35s var(--m-ease), border-color .35s var(--m-ease);
}
.card:hover, .cat:hover, .app:hover, .cert:hover, .st:hover, .step:hover, .dl a:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 34px rgba(15,42,71,.12);
  border-color: rgba(224,102,42,.45);
}
.model-grid figure:hover, .thumb:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(15,42,71,.12); }
.card img, .cat img, .model-grid img { transition: transform .5s var(--m-ease); }
.card:hover img, .cat:hover img, .model-grid figure:hover img { transform: scale(1.045); }

/* 4. 导航滚动收缩 */
.nav.m-shrink { box-shadow:0 8px 24px rgba(15,42,71,.10); }
.nav.m-shrink .wrap { height:62px; transition:height .3s var(--m-ease); }
.nav .wrap { transition:height .3s var(--m-ease); }

/* 5. 数字滚动 */
.m-count { font-variant-numeric: tabular-nums; }

/* 6. 回到顶部 */
.m-top { position:fixed; right:22px; bottom:26px; width:44px; height:44px; border-radius:50%;
  background:#0F2A47; color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:18px; cursor:pointer; opacity:0; pointer-events:none; transform:translateY(10px);
  transition:opacity .3s, transform .3s; z-index:60; border:0; }
.m-top.is-on { opacity:.92; pointer-events:auto; transform:none; }
.m-top:hover { background:#E0662A; }

/* 7. 按钮微交互 */
.btn, .cta, .linkmore { transition: transform .25s var(--m-ease), background .25s, color .25s, border-color .25s; }
.btn:hover, .cta:hover { transform: translateY(-2px); }
.linkmore:hover { letter-spacing:.02em; }

/* 8. 顶栏链接下划线滑入 */
.menu a { position:relative; }
.menu a:after { content:""; position:absolute; left:0; right:100%; bottom:-6px; height:2px;
  background:#E0662A; transition:right .3s var(--m-ease); }
.menu a:hover:after { right:0; }

@media (prefers-reduced-motion: reduce) {
  .hero .wrap, .hero-band .wrap, .hero img.bg, .hero-band img.bg { animation:none !important; }
  .m-reveal { opacity:1 !important; transform:none !important; }
  .card:hover, .cat:hover, .app:hover, .cert:hover, .st:hover, .step:hover, .dl a:hover { transform:none; }
}

/* 语言下拉 */
.m-lang{position:relative;display:inline-block}
.m-lang-btn{background:transparent;border:1px solid rgba(255,255,255,.35);color:#e6edf6;border-radius:6px;
  padding:4px 9px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-family:inherit}
.m-lang-btn:hover{border-color:#fff;color:#fff}
.m-lang-list{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #E3E6EA;border-radius:8px;
  box-shadow:0 12px 28px rgba(15,42,71,.16);padding:6px;min-width:130px;display:none;z-index:80}
.m-lang.open .m-lang-list{display:block}
.m-lang-list a{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:6px;font-size:13px;color:#1B2430}
.m-lang-list a:hover{background:#F7F4EF}
.m-lang-list a.on{color:#E0662A;font-weight:700}
/* 社交图标 */
.m-social{display:flex;gap:10px;margin-top:14px}
.m-social a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;color:#93a6bd;transition:all .25s}
.m-social a:hover{background:#E0662A;border-color:#E0662A;color:#fff;transform:translateY(-2px)}
.m-social svg{width:16px;height:16px}

/* WhatsApp 悬浮 */
.m-wa{position:fixed;left:22px;bottom:26px;z-index:60;width:52px;height:52px;border-radius:50%;background:#25D366;
display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(37,211,102,.4);transition:transform .25s}
.m-wa:hover{transform:scale(1.07)}
.m-wa svg{width:26px;height:26px;fill:#fff}
.bz-view{color:#93a6bd;font-size:12px}
