/* ══════════════════════════════════════════════════════════════════════
   首页 · 一镜到底（body.home 专属，类名一律 h- 前缀，不与 style.css 的任何选择器相撞）
   三段产品各自换版式：声临=文左图右，Glacier=通栏大图+浮层，LUMEN=图右+占用地图条
   ══════════════════════════════════════════════════════════════════════ */

body.home{overflow-x:hidden}
body.home > .wrap{position:relative;z-index:2}

/* ── 滚动指示（右缘，过了首屏才淡入） ── */
body.home .spy{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:880;
  display:flex;flex-direction:column;gap:18px;opacity:0;pointer-events:none;
  transition:opacity var(--d2) var(--e)}
body.home .spy.show{opacity:1;pointer-events:auto}
body.home .spy a{display:flex;align-items:center;gap:10px;justify-content:flex-end;
  font-family:var(--metric);font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--ink-3);
  transition:color var(--d2) var(--e)}
body.home .spy a i{width:22px;height:1.5px;background:var(--rule-2);display:block;
  transition:width var(--d2) var(--e),background var(--d2)}
body.home .spy a span{opacity:.4;transition:opacity var(--d2) var(--e)}
body.home .spy a:hover span,body.home .spy a.on span{opacity:1}
body.home .spy a.on{color:var(--ink)} body.home .spy a.on i{width:42px}
body.home .spy a.sl.on i{background:var(--shenglin)}
body.home .spy a.gl.on i{background:var(--glacier)}
body.home .spy a.lm.on i{background:var(--lumen)}

/* ── 首屏 ── */
body.home .h-hero{position:relative;z-index:2;min-height:calc(100vh - 64px);display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:56px;align-items:center;
  max-width:1320px;margin:0 auto;padding:56px var(--pad) 96px}
body.home .h-hero .kick{font-family:var(--metric);font-size:12px;font-weight:700;
  letter-spacing:.3em;color:var(--ink-3)}
body.home .h-hero h1{margin-top:20px;font-family:var(--latin);font-weight:800;
  font-size:clamp(44px,6.6vw,96px);line-height:.99;letter-spacing:-.045em}
body.home .h-hero h1 .sl{color:var(--shenglin)}
body.home .h-hero h1 .gl{color:var(--glacier)}
body.home .h-hero h1 .lm{color:var(--lumen)}
body.home .h-lede{margin-top:28px;font-size:17px;line-height:1.85;color:var(--ink-2);max-width:36em}
body.home .h-lede b{color:var(--ink);font-weight:600}
body.home .h-chips{margin-top:40px;display:flex;gap:12px;flex-wrap:wrap}
body.home .h-chip{display:flex;align-items:center;gap:11px;padding:12px 18px 12px 14px;
  border-radius:100px;border:1px solid var(--rule);background:var(--paper);font-size:13.5px;
  box-shadow:0 12px 26px -22px rgba(11,26,32,.5);
  transition:transform var(--d2) var(--e),border-color var(--d2),box-shadow var(--d2)}
body.home .h-chip i{width:8px;height:8px;border-radius:50%;display:block}
body.home .h-chip small{font-family:var(--metric);font-size:11px;font-weight:700;
  letter-spacing:.06em;color:var(--ink-3)}
body.home .h-chip:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(11,26,32,.6)}
body.home .h-chip.sl i{background:var(--shenglin)} body.home .h-chip.sl:hover{border-color:var(--shenglin)}
body.home .h-chip.gl i{background:var(--glacier)}  body.home .h-chip.gl:hover{border-color:var(--glacier)}
body.home .h-chip.lm i{background:var(--lumen)}   body.home .h-chip.lm:hover{border-color:var(--lumen)}
body.home .h-cue{position:absolute;left:var(--pad);bottom:40px;display:flex;align-items:center;gap:12px;
  font-family:var(--metric);font-size:10.5px;font-weight:700;letter-spacing:.22em;color:var(--ink-3)}
body.home .h-cue .track{width:1px;height:44px;background:var(--rule-2);position:relative;overflow:hidden}
body.home .h-cue .track::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;
  background:var(--ink);animation:h-drip 2.4s var(--e2) infinite}
@keyframes h-drip{0%{top:-100%}60%,100%{top:100%}}

/* 首屏右侧三扇窗：滚动时收拢，把"一镜到底"接进第一段 */
body.home .h-deck{position:relative;height:min(580px,64vh);min-width:0}
body.home .h-win{position:absolute;border-radius:11px;overflow:hidden;background:var(--paper);
  border:1px solid var(--rule);opacity:0;
  box-shadow:0 34px 70px -34px rgba(11,26,32,.42),0 2px 6px -2px rgba(11,26,32,.14);
  transform:translateY(52px) rotate(var(--r)) scale(.92);
  transition:opacity 1.2s var(--e) var(--dl),transform 1.2s var(--e) var(--dl)}
body.home .h-hero.in .h-win{opacity:1;
  transform:translateY(var(--sy,0px)) rotate(var(--r)) scale(1) translateX(var(--sx,0px))}
body.home .h-win .hd{display:flex;align-items:center;gap:6px;padding:8px 11px;
  background:#FBFDFD;border-bottom:1px solid var(--rule)}
body.home .h-win .hd u{width:7px;height:7px;border-radius:50%;background:var(--rule-2);display:block}
body.home .h-win .hd b{font-family:var(--latin);font-size:9.5px;font-weight:700;letter-spacing:.12em;
  color:var(--ink-2);margin-left:4px}
body.home .h-win .hd em{margin-left:auto;font-style:normal;font-family:var(--metric);font-size:9px;
  font-weight:700;color:var(--ink-3)}
body.home .h-win img{display:block;width:100%;height:calc(100% - 31px);object-fit:cover;
  object-position:top left}
body.home .h-win.w1{--r:-4.5deg;left:0;top:5%;width:62%;height:52%;z-index:3;--dl:.2s}
body.home .h-win.w2{--r:3.4deg;right:2%;top:25%;width:56%;height:47%;z-index:2;--dl:.36s}
body.home .h-win.w3{--r:-1.2deg;left:15%;bottom:0;width:65%;height:43%;z-index:4;--dl:.52s}
body.home .h-halo{position:absolute;left:50%;top:52%;width:80%;height:74%;
  transform:translate(-50%,-50%);border-radius:50%;filter:blur(44px);will-change:transform;z-index:1;
  background:radial-gradient(circle,rgba(30,95,208,.28),rgba(194,82,8,.16) 46%,transparent 72%);
  animation:h-breathe 10s var(--e2) infinite}
@keyframes h-breathe{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.8}
  50%{transform:translate(-50%,-53%) scale(1.1);opacity:1}}
body.home .h-tag{position:absolute;right:0;top:-14px;z-index:5;font-family:var(--metric);font-size:10px;
  font-weight:700;letter-spacing:.2em;color:var(--ink-3);display:flex;align-items:center;gap:9px}
body.home .h-tag::before{content:"";width:26px;height:1px;background:var(--rule-2)}

/* ── 数据条 ── */
body.home .h-ticker{position:relative;z-index:2;border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);padding:15px 0;overflow:hidden;background:rgba(255,255,255,.42)}
body.home .h-ticker .t{display:flex;gap:40px;white-space:nowrap;width:max-content;
  animation:h-slide 36s linear infinite}
body.home .h-ticker:hover .t{animation-play-state:paused}
@keyframes h-slide{to{transform:translateX(-50%)}}
body.home .h-ticker span{font-family:var(--metric);font-size:14px;font-weight:700;letter-spacing:.14em;
  color:var(--ink-2);display:flex;align-items:center;gap:40px}
body.home .h-ticker span::after{content:"";width:5px;height:5px;border-radius:50%;
  background:var(--shenglin);opacity:.7}

/* ── 产品段 ── */
body.home .h-sec{position:relative;z-index:2;max-width:1320px;margin:0 auto;
  padding:132px var(--pad);min-height:100vh;display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:76px;align-items:center}
body.home .h-txt{position:sticky;top:122px;align-self:start}
body.home .h-no{font-family:var(--metric);font-size:11px;font-weight:700;letter-spacing:.26em;
  color:var(--ink-3)}
body.home .h-sec h2{margin-top:14px;font-family:var(--latin);font-weight:800;
  font-size:clamp(34px,4.4vw,60px);letter-spacing:-.035em;line-height:1.02}
body.home .h-sec.sl h2{color:var(--shenglin)} body.home .h-sec.gl h2{color:var(--glacier)}
body.home .h-sec.lm h2{color:var(--lumen)}
body.home .h-role{margin-top:14px;font-size:15px;color:var(--ink-2)}
body.home .h-desc{margin-top:24px;font-size:15.5px;line-height:1.95;color:var(--ink-2);max-width:34em}
body.home .h-feat{margin-top:28px;display:flex;flex-direction:column}
body.home .h-feat div{display:grid;grid-template-columns:70px 1fr;gap:16px;align-items:baseline;
  padding:13px 0;border-top:1px solid var(--rule);font-size:14px;color:var(--ink-2)}
body.home .h-feat div:last-child{border-bottom:1px solid var(--rule)}
body.home .h-feat em{font-style:normal;font-family:var(--metric);font-weight:700;font-size:15.5px;
  letter-spacing:.04em}
body.home .h-sec.sl .h-feat em{color:var(--shenglin-ink)}
body.home .h-sec.gl .h-feat em{color:var(--glacier)}
body.home .h-sec.lm .h-feat em{color:var(--lumen-ink)}

/* 页内下载块：沿用官网"顶部导航不放下载按钮"的定样，落点在段内 */
body.home .h-dl{display:inline-flex;align-items:baseline;gap:12px;margin-top:34px;padding:15px 24px;
  border-radius:100px;font-size:15px;font-weight:700;color:#fff;background:var(--accent-solid);
  will-change:transform;transition:box-shadow var(--d2) var(--e),transform .12s linear}
body.home .h-dl small{font-family:var(--metric);font-weight:700;font-size:11.5px;opacity:.78}
body.home .h-sec.sl .h-dl{background:var(--shenglin-solid)}
body.home .h-sec.gl .h-dl{background:var(--glacier-solid)}
body.home .h-sec.lm .h-dl{background:var(--lumen-solid)}
body.home .h-sec.sl .h-dl:hover{box-shadow:0 0 0 6px var(--shenglin-wash),0 24px 44px -18px rgba(30,95,208,.55)}
body.home .h-sec.gl .h-dl:hover{box-shadow:0 0 0 6px var(--glacier-wash),0 24px 44px -18px rgba(194,82,8,.5)}
body.home .h-sec.lm .h-dl:hover{box-shadow:0 0 0 6px var(--lumen-wash),0 24px 44px -18px rgba(11,138,110,.5)}

/* 截图：色块垫层 + 3D 倾斜 + 视差 */
body.home .fig{perspective:1500px;min-width:0}
body.home .fig .tilt{position:relative;transform-style:preserve-3d;
  transition:transform .6s var(--e);will-change:transform}
body.home .fig .lift{position:absolute;inset:16px -14px -16px 14px;border-radius:12px;z-index:-1}
body.home .h-sec.sl .lift{background:var(--shenglin-wash)}
body.home .h-sec.gl .lift{background:var(--glacier-wash)}
body.home .h-sec.lm .lift{background:var(--lumen-wash)}
body.home .fig .frame{position:relative;border:1px solid var(--rule);border-radius:10px;
  overflow:hidden;background:var(--paper);
  box-shadow:0 44px 88px -40px rgba(11,26,32,.42),0 3px 10px -4px rgba(11,26,32,.16)}
body.home .fig .frame img{width:100%;height:clamp(280px,44vh,452px);object-fit:cover;
  object-position:top left;scale:1.02;transition:scale 1.8s var(--e)}
body.home .fig.in .frame img{scale:1.06}
body.home .fig .chrome{display:flex;align-items:center;gap:8px;padding:9px 13px;background:#FBFDFD;
  border-bottom:1px solid var(--rule)}
body.home .fig .chrome u{width:8px;height:8px;border-radius:50%;background:var(--rule-2);display:block}
body.home .fig .chrome b{font-family:var(--latin);font-size:10.5px;font-weight:700;letter-spacing:.1em;
  color:var(--ink-2);margin-left:5px}
body.home .fig .chrome em{margin-left:auto;font-style:normal;font-family:var(--metric);font-size:10px;
  font-weight:700;letter-spacing:.08em;color:var(--ink-3)}
body.home .fig .cap{margin-top:14px;display:flex;justify-content:space-between;gap:16px;
  font-family:var(--metric);font-size:10.5px;font-weight:700;letter-spacing:.1em;color:var(--ink-3)}

/* 大读数 */
body.home .h-big{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:34px;
  background:var(--rule);border:1px solid var(--rule);border-radius:10px;overflow:hidden}
body.home .h-big .cell{background:var(--paper);padding:16px 14px}
body.home .h-big .v{font-family:var(--metric);font-weight:700;font-size:34px;line-height:1;
  font-variant-numeric:tabular-nums}
body.home .h-big .v u{text-decoration:none;font-size:13px;opacity:.65;margin-left:2px;font-family:var(--latin)}
body.home .h-sec.sl .h-big .v{color:var(--shenglin)} body.home .h-sec.gl .h-big .v{color:var(--glacier)}
body.home .h-sec.lm .h-big .v{color:var(--lumen)}
body.home .h-big .l{margin-top:8px;font-size:11.5px;color:var(--ink-3);line-height:1.45}

/* ── 第二段版式：通栏大图 + 左浮层 + 能力带 ── */
body.home .h-sec.wide{display:block;min-height:auto;padding-top:110px;padding-bottom:132px}
body.home .h-sec.wide .h-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);
  gap:60px;align-items:end}
body.home .h-sec.wide .h-desc{margin-top:0}
body.home .h-sec.wide .fig{margin-top:46px}
body.home .h-sec.wide .fig .frame img{height:clamp(320px,50vh,520px)}
body.home .h-note{position:absolute;left:26px;bottom:44px;z-index:6;width:min(330px,42%);
  background:rgba(255,255,255,.92);border:1px solid var(--rule);border-radius:12px;padding:24px 22px;
  box-shadow:0 30px 60px -34px rgba(11,26,32,.5);opacity:0;transform:translateX(-22px);
  transition:opacity var(--d3) var(--e) .3s,transform var(--d3) var(--e) .3s}
body.home .h-sec.wide.in .h-note{opacity:1;transform:none}
body.home .h-note .k{font-family:var(--metric);font-size:10.5px;font-weight:700;letter-spacing:.2em;
  color:var(--glacier)}
body.home .h-note p{margin-top:10px;font-size:14px;line-height:1.85;color:var(--ink-2)}
body.home .h-rows{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:46px;
  background:var(--rule);border:1px solid var(--rule);border-radius:10px;overflow:hidden}
body.home .h-rows > div{background:var(--paper);padding:22px 20px}
body.home .h-rows em{font-style:normal;display:block;font-family:var(--metric);font-size:26px;
  font-weight:700;color:var(--glacier)}
body.home .h-rows b{display:block;margin-top:6px;font-size:13.5px;font-weight:700}
body.home .h-rows span{display:block;margin-top:6px;font-size:12.5px;line-height:1.7;color:var(--ink-3)}

/* ── 第三段版式：占用地图条 ── */
body.home .tmap{margin-top:26px;display:flex;flex-direction:column;gap:6px}
body.home .tmap .row{display:flex;align-items:center;gap:12px;font-family:var(--metric);
  font-size:11px;font-weight:700;color:var(--ink-3)}
body.home .tmap .row b{font-family:var(--cjk);font-size:12px;font-weight:500;color:var(--ink-2);
  min-width:104px}
body.home .tmap .row u{text-decoration:none;min-width:56px}
body.home .tmap .tb{height:22px;border-radius:4px;flex:0 0 auto;width:0;
  transition:width 1.25s var(--e) var(--dl,0s)}
body.home .tmap.in .tb{width:var(--w)}

/* ── 尾屏：三张卡扇形入场 ── */
body.home .h-end{position:relative;z-index:2;max-width:1320px;margin:0 auto;
  padding:132px var(--pad) 92px;border-top:1px solid var(--rule)}
body.home .h-end h2{font-family:var(--latin);font-weight:800;font-size:clamp(34px,5vw,68px);
  letter-spacing:-.04em;line-height:1.04;max-width:18em}
body.home .h-end h2 em{font-style:normal;color:var(--lumen)}
/* 尾屏里的"底线"小节是普通段标题，不能跟主标题抢字号 */
body.home .h-end .sec-head h2{font-family:var(--cjk);font-size:clamp(24px,3.1vw,34px);
  letter-spacing:-.015em;line-height:1.28;margin-top:10px}
body.home .h-end .sec-head h2 a{color:var(--ink);box-shadow:inset 0 -1px 0 var(--rule-2)}
body.home .h-grid{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
body.home .h-card{background:var(--paper);border:1px solid var(--rule);border-radius:14px;
  padding:26px 24px 28px;display:flex;flex-direction:column;gap:12px;opacity:0;
  transform:translateY(38px) scale(.97);
  transition:opacity 1s var(--e) var(--dl),transform 1s var(--e) var(--dl),box-shadow var(--d2),border-color var(--d2)}
body.home .h-end.in .h-card{opacity:1;transform:none}
body.home .h-card:hover{box-shadow:0 30px 56px -34px rgba(11,26,32,.45)}
body.home .h-card.sl:hover{border-color:var(--shenglin)}
body.home .h-card.gl:hover{border-color:var(--glacier)}
body.home .h-card.lm:hover{border-color:var(--lumen)}
body.home .h-card .n{font-family:var(--metric);font-size:10.5px;font-weight:700;letter-spacing:.2em;
  color:var(--ink-3)}
body.home .h-card h3{font-family:var(--latin);font-size:25px;font-weight:800;letter-spacing:-.02em}
body.home .h-card.sl h3{color:var(--shenglin)} body.home .h-card.gl h3{color:var(--glacier)}
body.home .h-card.lm h3{color:var(--lumen)}
body.home .h-card p{font-size:13px;line-height:1.75;color:var(--ink-2);flex:1}
body.home .h-card a{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;
  border-radius:100px;border:1px solid var(--rule);font-family:var(--latin);font-weight:700;
  font-size:13px;transition:var(--d2) var(--e)}
body.home .h-card a:hover{background:var(--ground-2)}
body.home .h-card a small{font-family:var(--metric);font-size:10.5px;opacity:.6;font-weight:700}

/* 底线四条：与 .bento 同一套「格子描边」画法，最后一行缺格时不会露出空块 */
body.home .h-rules{display:grid;grid-template-columns:repeat(4,1fr);margin-top:34px;
  border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
body.home .h-rules .r{background:var(--ground);padding:20px 18px 22px;
  border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
body.home .h-rules b{display:block;font-size:15px;font-weight:800;letter-spacing:-.01em;
  margin-bottom:7px}
body.home .h-rules span{display:block;font-size:12.5px;line-height:1.78;color:var(--ink-2)}

/* ── 响应式 ── */
@media (max-width:1080px){
  body.home .h-rules{grid-template-columns:repeat(2,1fr)}
  body.home .h-hero{grid-template-columns:1fr;padding-top:40px}
  body.home .h-deck{display:none}
  body.home .h-sec{grid-template-columns:1fr;gap:36px;padding:88px var(--pad);min-height:auto}
  body.home .h-txt{position:static}
  body.home .h-sec.wide .h-head{grid-template-columns:1fr;gap:20px}
  body.home .h-note{position:static;width:auto;margin-top:16px;transform:none;opacity:1}
  body.home .h-rows{grid-template-columns:1fr}
  body.home .h-grid{grid-template-columns:1fr}
  body.home .spy{display:none}
}
@media (max-width:860px){
  body.home .h-rules{grid-template-columns:1fr}
  body.home .h-big{grid-template-columns:1fr}
  body.home .h-hero h1{font-size:clamp(38px,11vw,56px)}
}
