/* ============================================================
   官网设计系统 v0.3 · 方向 C「墨 · 光束」
   取大族激光的深色光感与气场 + 通快的克制版式
   底色：深墨蓝黑　　光：激光青白　　动作：纯白

   v0.3 变更（按老板 42 条批注）：
   ① 小字整体放大：原 10.5/11/12/12.5px 全部上调，正文不再低于 14px
   ② 被弱化的小标签加强对比（颜色加深 + 字重 700）
   ③ 导航条底色从半透明灰改成实心墨蓝，不再发灰
   ============================================================ */

@font-face{
  font-family:'Site Sans';
  src:url('../fonts/site-sans-400.woff2') format('woff2');
  font-weight:100 550;font-display:swap;
}
@font-face{
  font-family:'Site Sans';
  src:url('../fonts/site-sans-700.woff2') format('woff2');
  font-weight:551 900;font-display:swap;
}

:root{
  /* 墨（深色区） */
  --ink:      #070B12;
  --ink-2:    #0B111A;
  --ink-3:    #121A25;
  --line-d:   #1D2734;
  /* 光束（唯一强调色） */
  --beam:     #7FD4FF;
  --beam-hi:  #CDEDFF;
  --beam-dim: #3E7C9E;
  --beam-ink: #0E6E93;   /* 浅底上的强调文字色 */
  /* 钢灰（浅色区文字） */
  --steel:    #5A6672;
  --steel-2:  #8B959E;
  --line:     #D9DFE4;
  /* 纸 */
  --paper:    #FFFFFF;
  --paper-2:  #F2F5F7;

  /* 字级（v0.3：小字整体上调，正文不再低于 14px） */
  --fs-micro: 15px;   /* 眉标 / 英文小字 */
  --fs-label: 15px;   /* 小标签、编号、说明 */
  --fs-mini:  14px;   /* 深色区次级小字 */

  /* 悬停底色（v0.6：老板第三轮仍说"浅"，再压深一档；表格行保持近均匀） */
  --hover-tint:  linear-gradient(90deg,rgba(127,212,255,.68) 0%,rgba(127,212,255,.52) 55%,rgba(127,212,255,.46) 100%);   /* 浅底上的悬停（表格行、浅色按钮）*/
  --hover-box:   linear-gradient(160deg,rgba(127,212,255,.60) 0%,rgba(127,212,255,.34) 55%,rgba(127,212,255,.18) 100%); /* 浅底方框悬停 */
  --hover-box-d: linear-gradient(160deg,rgba(127,212,255,.46) 0%,rgba(127,212,255,.20) 100%);                            /* 深底方框悬停 */
  --hover-dark:  linear-gradient(214deg,rgba(127,212,255,.16) 0%,transparent 52%),linear-gradient(160deg,#0F2438 0%,#0A1524 46%,#08161B 100%);   /* 深色卡片悬停：首页那套墨蓝→深青 + 斜光 */
  --hover-solid: linear-gradient(160deg,#17293D 0%,#0C1725 100%);   /* 实心深色按钮悬停：抬一档，不发死黑 */

  /* 所有方框类组件统一带上底色过渡 */
  --hover-ease: background .22s ease, background-color .22s ease, border-color .22s ease, transform .22s ease;

  --shell: 1280px;
  --sans:'Site Sans',"Inter","Segoe UI","Microsoft YaHei","PingFang SC",system-ui,sans-serif;
  --mono:"Consolas","SFMono-Regular",ui-monospace,monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 var(--sans);word-break:keep-all;overflow-wrap:break-word}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--beam);color:var(--ink)}

.shell{max-width:var(--shell);margin:0 auto;padding:0 32px}
.grid{display:grid;gap:32px}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}
.g-63{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.g-55{grid-template-columns:1.05fr .95fr}
section{padding:104px 0;border-top:1px solid var(--line);position:relative}
section.tight{padding:76px 0}
section.dark{background:var(--ink);color:#fff;border-top:none}
section.dark h2,section.dark h3{color:#fff}
section.dark .lede,section.dark .body{color:rgba(255,255,255,.62)}

/* ---------- 排版 ---------- */
.micro{
  font:700 var(--fs-micro)/1.35 var(--sans);letter-spacing:.12em;text-transform:uppercase;
  color:var(--steel);display:flex;align-items:center;gap:14px;
}
.micro::before{content:"";width:30px;height:1px;background:var(--beam-dim);flex:none}
.dark .micro{color:rgba(255,255,255,.55)}
.display{font-size:clamp(34px,4.2vw,58px);font-weight:700;line-height:1.12;letter-spacing:-.03em;margin:22px 0 0}
h2{font-size:clamp(26px,3vw,38px);font-weight:700;line-height:1.22;letter-spacing:-.025em;margin:20px 0 0}
h3{font-size:18px;font-weight:700;line-height:1.45;margin:0 0 10px;letter-spacing:-.012em}
.lede{font-size:17px;line-height:1.85;color:var(--steel);margin:22px 0 0;max-width:64ch}
.body{color:var(--steel);margin:16px 0 0}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.sec-head{max-width:78ch}

/* 占位标记 */
.ph{border-bottom:1px dashed rgba(127,212,255,.75);background:rgba(127,212,255,.10);padding:0 3px;border-radius:2px;color:inherit}
.dark .ph{border-bottom-color:rgba(127,212,255,.85)}

/* ---------- 顶栏（大族式信息条） ---------- */
.topbar{
  background:linear-gradient(180deg,#0A1422 0%,#070D16 100%);
  color:rgba(255,255,255,.6);font-size:var(--fs-mini);border-bottom:1px solid var(--line-d);
}
.topbar-in{display:flex;justify-content:space-between;align-items:center;height:46px;gap:24px}
.topbar b{color:#fff;font-weight:600}
.topbar .r{display:flex;gap:22px;align-items:center}
.topbar .tel{font-family:var(--mono);letter-spacing:.03em;color:var(--beam-hi);font-weight:600}
.topbar .sep{color:rgba(255,255,255,.26)}

/* ---------- 导航 ---------- */
/* v0.3：从半透明灰改成实心墨蓝——原来会在光带上方泛灰 */
.top{
  position:sticky;top:0;z-index:60;
  background:linear-gradient(180deg,rgba(10,20,34,.985) 0%,rgba(6,13,22,.97) 100%);
  backdrop-filter:saturate(150%) blur(14px);
  border-bottom:1px solid var(--line-d);
  box-shadow:inset 0 -1px 0 rgba(127,212,255,.10);
}
.top-in{display:flex;align-items:center;gap:36px;height:78px}
.brand{display:flex;align-items:baseline;gap:10px;color:#fff;font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.brand .en{font-size:14px;letter-spacing:.2em;color:rgba(255,255,255,.5);font-weight:600}
.nav{display:flex;gap:26px;margin-left:auto;font-size:15.5px;color:rgba(255,255,255,.74)}
.nav a{position:relative;padding:4px 0;white-space:nowrap}
.nav a:hover,.nav a.is-hover{color:#fff}
.nav a.on{color:#fff}
.nav a.on::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--beam)}
.top-cta{display:flex;align-items:center;gap:16px}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;padding:14px 26px;
  background:#fff;color:var(--ink);border:1px solid #fff;
  font-size:15px;font-weight:700;letter-spacing:.01em;transition:.2s;white-space:nowrap;
}
/* v0.5：每条 :hover 规则都带一个并列的 .is-hover 类，
   好让「悬停总览页」(hover-states.html) 不用鼠标就能把悬停态摊开显示。
   注意：两者优先级相同，必须写在一起，否则会被后面的规则盖掉。 */
.btn:hover,.btn.is-hover{background:var(--beam);border-color:var(--beam)}
.btn.on-dark{background:#fff;color:var(--ink)}
/* v0.4 修 bug：.btn.on-dark 的白底会盖掉 .btn:hover，导致这颗白色按钮原本没有悬停反馈 */
.btn.on-dark:hover,.btn.on-dark.is-hover{background:var(--beam);border-color:var(--beam);color:var(--ink)}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.btn.ghost:hover,.btn.ghost.is-hover{background:rgba(127,212,255,.22);border-color:var(--beam);box-shadow:inset 0 0 0 1px rgba(127,212,255,.35)}
.btn.solid{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.solid:hover,.btn.solid.is-hover{background:linear-gradient(160deg,#2C4E72 0%,#16324B 100%);border-color:transparent;color:var(--beam-hi);box-shadow:0 8px 26px rgba(127,212,255,.22)}
.btn.line{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.line:hover,.btn.line.is-hover{background:var(--hover-tint);border-color:var(--beam)}
.lang{font-size:14px;font-weight:600;letter-spacing:.12em;color:rgba(255,255,255,.6)}
.lang b{color:#fff}

/* ---------- 首屏 ---------- */
/* 底色方案 = 03 斜向光带 + 05 墨蓝→深青微渐变 + 噪点质感 */
.hero{
  position:relative;color:#fff;overflow:hidden;
  border-top:none;padding:0;min-height:min(84vh,820px);display:flex;flex-direction:column;
  background:
    linear-gradient(214deg,rgba(127,212,255,.18) 0%,rgba(127,212,255,.06) 24%,transparent 54%),
    linear-gradient(160deg,#0A1524 0%,#08131D 46%,#07161B 100%);
}
/* 噪点质感：内嵌 SVG，不额外发请求，压在图层最底 */
.hero::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  opacity:.055;mix-blend-mode:overlay;background-repeat:repeat;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
}
/* 斜向光带：一束光从右上打进来 */
.hero::after{
  content:"";position:absolute;z-index:1;right:12%;top:-30%;width:min(420px,32vw);height:150%;
  transform:rotate(16deg);filter:blur(38px);pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(205,237,255,.22) 32%,rgba(127,212,255,.10) 62%,transparent);
}
/* 光晕：在渐变底色上收敛一些，避免过曝 */
.hero-glow{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero-glow::before{
  content:"";position:absolute;right:-6%;top:-22%;width:min(1080px,80vw);height:min(880px,74vh);
  background:radial-gradient(closest-side,rgba(127,212,255,.24),rgba(127,212,255,.07) 50%,transparent 74%);
  animation:drift 22s ease-in-out infinite alternate;
}
.hero-glow::after{
  content:"";position:absolute;right:9%;top:16%;width:min(480px,37vw);height:min(480px,37vw);
  background:radial-gradient(closest-side,rgba(205,237,255,.55),rgba(127,212,255,.13) 46%,transparent 70%);
  animation:pulse 9s ease-in-out infinite alternate;
}
.hero-grid{
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right,rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:88px 88px;
  mask-image:radial-gradient(120% 90% at 62% 30%,#000 20%,transparent 78%);
}
/* 激光线：横贯全宽的一条光 */
.laser-line{
  position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(127,212,255,.20) 10%,rgba(205,237,255,.98) 50%,rgba(127,212,255,.20) 90%,transparent);
  box-shadow:0 0 34px 6px rgba(127,212,255,.45),0 0 90px 18px rgba(127,212,255,.18);
}
@keyframes drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-4%,4%,0)}}
@keyframes pulse{from{opacity:.5}to{opacity:.9}}
@keyframes sheen{from{opacity:.35}to{opacity:1}}

.hero-stage{position:relative;z-index:2;flex:1;display:flex;align-items:center;padding:96px 0 84px}
.slide{display:none}
.slide.on{display:block;animation:fadein .5s ease}
@keyframes fadein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hero .display{font-size:clamp(38px,5vw,72px);letter-spacing:-.035em;margin-top:26px}
.hero .lede{color:rgba(255,255,255,.72);max-width:48ch;font-size:17.5px}
.hero-cta{display:flex;gap:14px;margin-top:40px;flex-wrap:wrap}
/* 眉标：老板要求"至少加大 5 个字号"（原 11px） */
.hero .micro{color:rgba(255,255,255,.68);font-size:16px;letter-spacing:.1em}
.hero-foot{
  position:relative;z-index:2;border-top:1px solid var(--line-d);
  display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;
}
.dots{display:flex;gap:9px;align-items:center}
.dots i{width:26px;height:2px;background:rgba(255,255,255,.22);cursor:pointer;transition:.25s}
.dots i.on{background:var(--beam);box-shadow:0 0 12px rgba(127,212,255,.7)}
.hero-foot .hint{font-size:14.5px;color:rgba(255,255,255,.55);letter-spacing:.03em}

/* 首屏右侧：实拍图位（暗色质感） */
.hero-shot{position:relative;aspect-ratio:4/3.4;border:1px solid var(--line-d);background:var(--ink-2);overflow:hidden;display:flex;align-items:center;justify-content:center;transition:var(--hover-ease)}
.hero-shot:hover,.hero-shot.is-hover{background:linear-gradient(160deg,#1D3C58 0%,#12263C 100%);border-color:rgba(127,212,255,.5)}
.hero-shot::before{
  content:"";position:absolute;inset:0;
  background-image:repeating-linear-gradient(135deg,transparent 0 12px,rgba(255,255,255,.03) 12px 13px);
}
.hero-shot .cap{position:relative;text-align:center;font-size:15px;color:rgba(255,255,255,.58);line-height:1.9;padding:0 24px}
.hero-shot .cap b{display:block;color:var(--beam);font-size:14px;letter-spacing:.16em;margin-bottom:10px;font-weight:700}

/* ---------- 右侧悬浮联系栏（大族式） ---------- */
.rail{
  position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:55;
  display:flex;flex-direction:column;gap:1px;background:var(--line-d);
}
.rail a{
  width:56px;padding:15px 0;background:var(--ink-2);color:rgba(255,255,255,.72);
  font-size:14px;line-height:1.5;text-align:center;transition:.2s;
}
.rail a b{display:block;font-size:16px;color:var(--beam);margin-bottom:5px;font-weight:400}
.rail a:hover,.rail a.is-hover{background:var(--beam);color:var(--ink)}
.rail a:hover b,.rail a.is-hover b{color:var(--ink)}

/* ---------- 指标条（第二屏，不占首屏） ---------- */
.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.metrics div{padding:34px 26px 38px;border-right:1px solid var(--line);transition:var(--hover-ease)}
.metrics div:hover,.metrics div.is-hover{background:var(--hover-box)}
.metrics div:last-child{border-right:none}
.metrics .k{font:700 var(--fs-label)/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--steel)}
.metrics .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1;margin-top:16px;letter-spacing:-.02em}
.metrics .v small{font-size:15px;font-weight:500;color:var(--steel);margin-left:6px;font-family:var(--sans);letter-spacing:0}
.metrics .u{font-size:var(--fs-label);color:var(--steel);margin:10px 0 0}

/* ---------- 图位 ---------- */
.frame{position:relative;background:var(--paper-2);border:1px solid var(--line);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:var(--hover-ease)}
.frame:hover,.frame.is-hover{background:var(--hover-box);border-color:var(--beam-dim)}
.frame::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(135deg,transparent 0 12px,rgba(7,11,18,.05) 12px 13px)}
.frame span{position:relative;font-size:15px;color:var(--steel);text-align:center;line-height:1.8;padding:0 26px}
.frame.wide{aspect-ratio:16/9}

/* ---------- 表格 ---------- */
.table{width:100%;border-collapse:collapse;font-size:15.5px}
.table caption{text-align:left;font:700 var(--fs-micro)/1.35 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--steel);padding-bottom:18px}
/* 对比表首列固定占位（原来写在内联 style 里，手机端没法覆盖） */
.table:not(.spec) thead th:first-child{width:22%}
.table th,.table td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.table thead th{font:700 15px/1.5 var(--sans);letter-spacing:.02em;color:var(--steel);border-bottom:1px solid var(--ink)}
/* 行悬停：原来 #F2F5F7 太浅几乎看不出，改成带冷光的渐变（v0.4 又加深一档） */
/* v0.6：表头改成"哪一格亮哪一格"（按老板要求分三段），不再整行一起亮 */
.table tbody tr:hover,.table tbody tr.is-hover{background:var(--hover-tint)}
.table tbody tr:hover td:first-child,.table tbody tr.is-hover td:first-child{box-shadow:inset 3px 0 0 var(--beam)}
.table thead th:hover,.table thead th.is-hover{background:var(--hover-tint)}
.table .col-beam{color:var(--beam-ink);font-weight:700}
.table.spec td:first-child{width:240px;color:var(--steel);font-size:15px}
.table.spec td:last-child{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* ---------- 行业应用 ---------- */
.inds{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.ind{background:var(--paper);padding:32px 26px 34px;transition:.22s;display:block}
/* 悬停底色：不用纯黑，改用首页那套「墨蓝→深青 + 一束斜光」 */
.ind:hover,.ind.is-hover{
  color:#fff;
  background:var(--hover-dark);
}
.ind:hover .k,.ind.is-hover .k{color:var(--beam-hi)}
.ind:hover p,.ind.is-hover p{color:rgba(255,255,255,.78)}
.ind:hover .go,.ind.is-hover .go{color:var(--beam)}
.ind .k{font:700 var(--fs-label)/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--beam-ink)}
.ind h3{margin-top:16px;font-size:18px}
.ind p{margin:0;font-size:15px;color:var(--steel);transition:.22s}
.ind .go{display:block;margin-top:22px;font-size:15px;font-weight:700;color:var(--beam-ink);letter-spacing:.01em}

/* ---------- 流程 ---------- */
.flow{display:grid;grid-template-columns:repeat(6,1fr);margin-top:54px;border-top:1px solid var(--ink)}
.flow .step{padding:26px 20px 30px;border-right:1px solid var(--line);transition:var(--hover-ease)}
.flow .step:hover,.flow .step.is-hover{background:var(--hover-box)}
.flow .step:last-child{border-right:none}
.flow .n{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--beam-ink);letter-spacing:.02em}
.flow .t{font-size:17px;font-weight:700;margin-top:14px}
.flow .d{font-size:15px;color:var(--steel);margin-top:7px;line-height:1.7;word-break:keep-all}
.flow .step.core{background:rgba(127,212,255,.07)}
.flow .step.core:hover,.flow .step.core.is-hover{background:linear-gradient(160deg,rgba(127,212,255,.68) 0%,rgba(127,212,255,.38) 100%)}
.flow .step.core .n{color:#0A5A7A}

/* ---------- 卡片 ---------- */
.card{border:1px solid var(--line);background:var(--paper);padding:34px 30px 36px;transition:var(--hover-ease);display:block}
.card:hover,.card.is-hover{border-color:var(--beam-dim);background:var(--hover-box);transform:translateY(-3px)}
.card .k{font:700 var(--fs-label)/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--beam-ink)}
.card h3{margin-top:18px}
.card p{margin:0;font-size:15px;color:var(--steel)}
.card .meta{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:14.5px}
.card .meta dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:9px 14px}
.card .meta dt{color:var(--steel)}
.card .meta dd{margin:0;color:var(--ink);text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:600}

/* v0.6：补下内边距，悬停底色一直铺到下面那条黑分隔线附近（原来只包住文字，上下都短） */
.abil{border-top:2px solid var(--ink);padding:24px 0 32px;transition:var(--hover-ease)}
.abil:hover,.abil.is-hover{border-top-color:var(--beam-ink);background:linear-gradient(160deg,rgba(127,212,255,.52) 0%,rgba(127,212,255,.20) 74%,rgba(127,212,255,.06) 100%)}
.abil .n{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--beam-ink)}
.abil h3{margin-top:14px}
.abil p{margin:0;font-size:15px;color:var(--steel)}

/* ---------- 询盘（深色 + 光，沿用 03+05 底色方案） ---------- */
.inquire{
  color:#fff;border-top:none;position:relative;overflow:hidden;
  background:
    linear-gradient(200deg,rgba(127,212,255,.10) 0%,transparent 46%),
    linear-gradient(200deg,#0A1524 0%,#08131D 52%,#07161B 100%);
}
.inquire::before{
  content:"";position:absolute;z-index:1;left:-10%;bottom:-40%;width:min(900px,70vw);height:min(700px,60vh);
  background:radial-gradient(closest-side,rgba(127,212,255,.16),transparent 72%);
}
.inquire::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  opacity:.055;mix-blend-mode:overlay;background-repeat:repeat;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
}
.inquire .shell{position:relative;z-index:2}
.inquire .lede{color:rgba(255,255,255,.7)}
.form{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:36px}
.field{display:flex;flex-direction:column;gap:9px}
.field.full{grid-column:1/-1}
.field label{font:700 var(--fs-mini)/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.field .in{height:52px;border:1px solid var(--line-d);background:rgba(255,255,255,.03);color:rgba(255,255,255,.6);display:flex;align-items:center;padding:0 16px;font-size:15px;transition:var(--hover-ease)}
.field .in:hover,.field .in.is-hover{border-color:var(--beam-dim);background:var(--hover-box-d)}
.field textarea.in{height:116px;padding-top:15px;align-items:flex-start;font-family:inherit}
.form .actions{grid-column:1/-1;display:flex;align-items:center;gap:20px;margin-top:10px}
.form .hint{font-size:var(--fs-mini);color:rgba(255,255,255,.5)}
.contact-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-d);border:1px solid var(--line-d);margin-top:48px}
.contact-bar div{background:var(--ink-2);padding:24px 26px;transition:var(--hover-ease)}
.contact-bar div:hover,.contact-bar div.is-hover{background:var(--hover-box-d)}
.contact-bar .k{font:700 var(--fs-mini)/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.contact-bar .v{margin:12px 0 0;font-size:16px;color:rgba(255,255,255,.9)}

/* ---------- 页脚 ---------- */
footer{background:linear-gradient(180deg,#08131D 0%,#070B12 58%,#060910 100%);color:rgba(255,255,255,.58);border-top:1px solid var(--line-d);padding:60px 0 42px;font-size:14.5px}
.foot-in{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:34px}
footer .brand{color:#fff}
.fcol h4{font:700 var(--fs-mini)/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin:0 0 16px}
.fcol a,.fcol p{display:block;margin:0 0 10px;color:rgba(255,255,255,.66);font-size:14.5px}
.fcol a:hover,.fcol a.is-hover{color:var(--beam)}
.foot-btm{margin-top:46px;padding-top:24px;border-top:1px solid var(--line-d);display:flex;justify-content:space-between;gap:16px;font-size:14px;color:rgba(255,255,255,.45)}

/* ---------- 产品页 ---------- */
.crumb{display:flex;gap:10px;font-size:14.5px;color:var(--steel);padding-top:30px}
.crumb a:hover,.crumb a.is-hover{color:var(--ink)}
.page-head{padding:52px 0 0;border-top:none}
.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);font-size:14.5px;color:var(--steel)}
.badge b{color:var(--beam-ink);font-weight:700}
.ul{list-style:none;margin:26px 0 0;padding:0}
.ul li{position:relative;padding-left:22px;margin-bottom:13px;font-size:15.5px;color:var(--steel)}
.ul li::before{content:"";position:absolute;left:0;top:12px;width:9px;height:1px;background:var(--beam-dim)}
.ul li strong{color:var(--ink);font-weight:700}
.note{margin-top:22px;padding:16px 18px;border-left:2px solid var(--beam-dim);background:var(--paper-2);font-size:14.5px;color:var(--steel)}
.crumb-wrap{border-top:none;padding:0}

/* ---------- 滚动浮现（JS 可用时才生效） ---------- */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.js .rv.in{opacity:1;transform:none}

/* ---------- 静止模式（.freeze）----------
   供预览窗批注/标注用：停下来，别自己动。
   动效全停 + 平滑滚动关掉 + 浮现动画不位移，
   否则光标底下的元素每 9 秒换一次、滚动后还要滑行一秒，
   标注框会跟着乱跳。 */
.freeze{scroll-behavior:auto!important}
.freeze *,.freeze *::before,.freeze *::after{animation:none!important;transition:none!important}
.freeze .rv{opacity:1!important;transform:none!important}

/* ---------- 响应式 ---------- */
@media (max-width:1100px){
  .g-4,.metrics,.inds{grid-template-columns:repeat(2,1fr)}
  .flow{grid-template-columns:repeat(3,1fr)}
  .flow .step{border-bottom:1px solid var(--line)}
  .foot-in{grid-template-columns:repeat(2,1fr)}
  .nav{gap:18px;font-size:14px}
}
@media (max-width:900px){
  section{padding:76px 0}
  .shell{padding:0 22px}
  .nav,.rail{display:none}
  .hero{min-height:auto}
  .hero-stage{padding:72px 0 64px}
  .g-2,.g-3,.g-63,.g-55,.g-4,.metrics,.inds,.flow,.form,.contact-bar,.foot-in{grid-template-columns:1fr}
  .metrics div{border-right:none;border-bottom:1px solid var(--line)}
  .flow .step{border-right:none}
  .foot-btm{flex-direction:column}
  .topbar-in{height:auto;padding:9px 0;flex-direction:column;align-items:flex-start;gap:4px}
  /* 真机（≤430px）才暴露的溢出，预览窗约 590px 看不到：
     ① 对比表 3 列 × 18px 内边距在 390px 下宽 403px，会把整页撑到 425px
     ② 顶栏「中/EN + 获取技术方案」在 390px 下比容器宽 7px */
  .table{table-layout:fixed;font-size:15.5px}
  .table th,.table td{padding:12px 10px}
  .table:not(.spec) thead th:first-child{width:26%}
  .table caption{padding-bottom:12px}
  .top-in{gap:14px;height:64px}
  .brand{font-size:15px}
  .top-cta{gap:10px}
  .top-cta .lang{display:none}
  .top-cta .btn{padding:12px 16px;font-size:14.5px}
  /* ③ 信息条在 390px 下「热线/语言/搜索」挤成一团并截断：手机上只留公司简称 + 热线 */
  .topbar{font-size:13.5px}
  .topbar .r{gap:0}
  .topbar .r > span:not(:first-child){display:none}
}
@media (prefers-reduced-motion:reduce){
  *,.freeze *::before,.freeze *::after{animation:none!important;transition:none!important}
  .js .rv{opacity:1;transform:none}
}
