/* ---------- 首页 核心产品与方案：tab 切换 ---------- */
.home-tabs{display:flex;justify-content:center;gap:8px;margin:6px 0 24px}
.home-tabs .tab{appearance:none;border:1px solid var(--line);background:#fff;color:#475569;
  padding:9px 22px;border-radius:999px;font-size:15px;font-weight:600;cursor:pointer;
  transition:.2s;font-family:inherit}
.home-tabs .tab:hover{border-color:var(--blue);color:var(--blue)}
.home-tabs .tab.active{background:linear-gradient(135deg,var(--blue),var(--sky));
  border-color:transparent;color:#fff;box-shadow:0 6px 18px rgba(37,99,235,.25)}
.tab-panel{display:none}
.tab-panel.active{display:block}

/* ---------- 通用：右到左无缝循环 ---------- */
@keyframes prodScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* ---------- 首页 产品 / 方案 跑马灯（单行 4 卡） ---------- */
.prod-marquee{position:relative;overflow:hidden;width:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.prod-track{display:flex;gap:22px;width:max-content;animation:prodScroll 30s linear infinite}
.prod-marquee:hover .prod-track{animation-play-state:paused}
.prod-marquee .pcard{flex:0 0 250px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:16px;box-shadow:var(--shadow);transition:.25s;display:flex;flex-direction:column;
  height:212px;text-decoration:none}
.prod-marquee .pcard:hover{border-color:var(--blue);transform:translateY(-4px)}
.prod-marquee .pcard-media{flex:0 0 122px;display:flex;align-items:center;justify-content:center;
  margin-bottom:14px;overflow:hidden}
.prod-marquee .pcard-media img{max-width:100%;max-height:122px;object-fit:contain}
.prod-marquee .pcard-title{margin-top:auto;font-size:15px;line-height:1.4;color:var(--ink);
  text-align:center;font-weight:600}

/* ---------- 首页 客户案例 跑马灯（图片顶部对齐、文字底部对齐） ---------- */
.client-marquee{position:relative;overflow:hidden;width:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.client-track{display:flex;gap:24px;width:max-content;animation:prodScroll 36s linear infinite}
.client-marquee:hover .client-track{animation-play-state:paused}
.client-marquee .client-case{flex:0 0 240px;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:18px;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:.25s;
  display:flex;flex-direction:column;height:172px;text-align:center}
.client-marquee .client-case:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:var(--shadow)}
.client-marquee .client-case img{flex:0 0 auto;max-width:100%;max-height:92px;object-fit:contain;
  margin:6px auto 0;display:block}
.client-marquee .client-case span{margin-top:auto;font-size:13px;color:#374151;display:block;line-height:1.4}
