/* ========================================
   POLISH — 全站科技感增强(不动主题色)
   ======================================== */

/* ---- 品牌术语滚动条(hero 下方) ---- */
.tech-ticker{position:relative;z-index:2;overflow:hidden;padding:15px 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.015);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.tk-track{display:flex;width:max-content;animation:tkMove 46s linear infinite}
.tech-ticker:hover .tk-track{animation-play-state:paused}
@keyframes tkMove{to{transform:translateX(-50%)}}
.tk-track .tk{display:inline-flex;align-items:center;gap:30px;padding-right:30px;
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--text-3);white-space:nowrap}
.tk-track .tk b{font-weight:500;color:var(--text-2)}
.tk-track .tk i{font-style:normal;color:var(--blue);font-size:8px;letter-spacing:0}

/* ---- 卡片聚光灯(鼠标跟随径向高亮) ---- */
.spot-card{position:relative}
.spot-card::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:0;
  pointer-events:none;opacity:0;transition:opacity .4s ease;
  background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),rgba(139,124,255,.13),transparent 65%)}
.spot-card:hover::after{opacity:1}

/* ---- 磁吸按钮 ---- */
.btn{will-change:transform}

/* ---- Eyebrow 解码动效 ---- */
.eyebrow.decoding::after{content:"▌";margin-left:3px;color:var(--blue-bright);
  animation:decodeBlink .45s steps(1) infinite}
@keyframes decodeBlink{50%{opacity:0}}

/* ---- 导航栏滚动自动隐藏 ---- */
#hdr{transition:transform .45s cubic-bezier(.4,0,.2,1),background .3s ease}
#hdr.hdr-hide{transform:translateY(-100%)}

/* ---- Hero 标题蓝色高亮: 流光扫过 ---- */
.hero h1 .blue{background:linear-gradient(100deg,var(--blue-bright) 25%,#fff 45%,var(--blue-bright) 65%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:blueShine 6s linear infinite}
@keyframes blueShine{to{background-position:-220% 0}}

/* ---- 滚动进度条发光 ---- */
#progress{box-shadow:0 0 12px rgba(139,124,255,.55),0 0 4px rgba(139,124,255,.8)}

/* ---- 全链路数据飞轮 ---- */
.fw-stage{display:grid;grid-template-columns:minmax(0,500px) 1fr;gap:56px;align-items:center}
@media(max-width:980px){.fw-stage{grid-template-columns:1fr;gap:36px}}
.fw-ring{aspect-ratio:1/1;max-width:500px;width:100%;margin:0 auto;position:relative}
.fw-ring svg{width:100%;height:auto;display:block;overflow:visible}
.fw-node{cursor:pointer}
.fw-node circle,.fw-node text{transition:all .3s}
.fw-detail{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:36px 34px;
  position:relative;overflow:hidden;min-height:290px}
.fw-detail::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--blue),transparent)}
.fw-step{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--blue-bright);margin-bottom:14px}
.fw-detail h3{font-size:clamp(20px,2vw,26px);margin-bottom:18px}
.fw-detail ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.fw-detail li{display:flex;gap:12px;align-items:flex-start;color:var(--text-2);font-size:15px;line-height:1.7}
.fw-detail li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue-bright);
  margin-top:9px;flex-shrink:0}
.fw-dots{display:flex;gap:8px;margin-top:28px}
.fw-dots i{width:26px;height:3px;background:var(--bg-2);border-radius:2px;cursor:pointer;transition:background .3s}
.fw-dots i.on{background:var(--blue-bright)}
.fw-fade{animation:fwFade .45s cubic-bezier(.16,1,.3,1)}
@keyframes fwFade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.fw-formula{margin-top:52px;display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:var(--text-3)}
.fw-formula b{color:var(--text-2);font-weight:500;padding:6px 13px;border:1px solid var(--line);
  border-radius:20px;background:rgba(255,255,255,.02);transition:all .3s}
.fw-formula b:hover{border-color:var(--border);color:var(--text)}
.fw-formula .arr{color:var(--blue)}
.fw-formula .loop{color:var(--blue-bright)}

/* ---- FORCE 部署成熟度评测 ---- */
.force-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:52px;align-items:start}
@media(max-width:980px){.force-grid{grid-template-columns:1fr;gap:36px}}
.force-bars{display:flex;flex-direction:column;gap:24px;padding:30px 32px;background:var(--panel);
  border:1px solid var(--line);border-radius:16px}
.fb-row{display:grid;grid-template-columns:128px 1fr 52px;gap:16px;align-items:center}
.fb-name{font-size:13px;color:var(--text-2)}
.fb-name small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--text-3);margin-top:4px}
.fb-track{height:5px;border-radius:3px;background:rgba(255,255,255,.06);overflow:hidden}
.fb-fill{height:100%;width:0;border-radius:3px;
  background:linear-gradient(90deg,var(--blue-deep),var(--blue-bright));
  transition:width 1.5s cubic-bezier(.16,1,.3,1)}
.reveal.in .fb-fill{width:var(--w)}
.fb-row:nth-child(2) .fb-fill{transition-delay:.12s}
.fb-row:nth-child(3) .fb-fill{transition-delay:.24s}
.fb-row:nth-child(4) .fb-fill{transition-delay:.36s}
.fb-row:nth-child(5) .fb-fill{transition-delay:.48s}
.fb-val{font-family:var(--mono);font-size:13px;color:var(--blue-bright);text-align:right}
.force-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fm{border:1px solid var(--line);border-radius:12px;padding:17px 18px;background:rgba(255,255,255,.02);
  transition:border-color .3s,transform .3s}
.fm:hover{border-color:var(--border);transform:translateY(-2px)}
.fm b{display:block;font-size:13.5px;color:var(--text);font-weight:500;margin-bottom:6px}
.fm span{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--text-3);text-transform:uppercase}

/* ---- 能力实证视频墙 ---- */
.vw-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.vw{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#000;isolation:isolate}
.vw video{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.001);transition:transform .6s cubic-bezier(.16,1,.3,1)}
.vw:hover video{transform:scale(1.03)}
.vw .tag{position:absolute;left:12px;top:12px;z-index:2;font-family:var(--mono);font-size:10px;letter-spacing:.16em;
  color:#fff;background:rgba(5,8,20,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  padding:5px 11px;border-radius:20px;border:1px solid rgba(255,255,255,.14)}
.vw-6{grid-column:span 6;aspect-ratio:16/10}
.vw-3{grid-column:span 3;aspect-ratio:16/10}
.vw-force{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}
.vw-force .vw{aspect-ratio:32/10}
.vw-cap{display:flex;align-items:center;gap:10px;margin:34px 0 14px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;color:var(--blue-bright)}
.vw-cap::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(139,124,255,.35),transparent)}
@media(max-width:980px){
  .vw-grid{grid-template-columns:1fr 1fr}
  .vw-6{grid-column:span 2}
  .vw-3{grid-column:span 1}
  .vw-force{grid-template-columns:repeat(2,1fr)}
  .vw-force .vw{aspect-ratio:16/9}
}

/* ---- 硬件实拍矩阵 ---- */
.hw-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.hw{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--panel)}
.hw img{width:100%;max-width:260px;aspect-ratio:1/1;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.16,1,.3,1);margin:0 auto}
.hw:hover img{transform:scale(1.05)}
.hw .tag{position:absolute;left:10px;bottom:10px;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;
  color:#fff;background:rgba(5,8,20,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  padding:5px 10px;border-radius:16px;border:1px solid rgba(255,255,255,.12)}
@media(max-width:980px){.hw-grid{grid-template-columns:repeat(2,1fr)}}

@media (prefers-reduced-motion: reduce){
  .tk-track{animation:none}
  .hero h1 .blue{animation:none;-webkit-text-fill-color:var(--blue-bright);background:none}
  #hdr{transition:none}
  .fw-fade{animation:none}
  .fb-fill{transition:none}
  .vw:hover video,.hw:hover img{transform:none}
}
