/* ===================================================================
   众智新工 · zboss 官网 V12 — 「工程蓝图美学」设计系统
   =================================================================== */

:root{
  /* —— 蓝图色板 —— */
  --bg:        #0E1A2B;   /* 深墨蓝底 */
  --bg-2:      #0A1422;   /* 更深（alt 区） */
  --bg-3:      #122236;   /* 卡片底 */
  --line:      #C9D9EC;   /* 蓝图白·主文字 */
  --soft:      #9FB6D4;   /* 次文字 */
  --muted:     #6D83A3;   /* 弱文字/标注 */
  --accent:    #FF6B35;   /* 标注橙·CTA·编号 */
  --accent-2:  #4FC3F7;   /* 辅助青·连接线 */
  --grid:      rgba(120,160,210,.10);
  --grid-2:    rgba(120,160,210,.05);
  --hair:      rgba(159,182,212,.18);  /* 细蓝图线 */

  /* —— 字体 —— */
  --mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, 'Cascadia Code',
          'Roboto Mono', Consolas, 'Liberation Mono', 'Courier New', monospace;
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC',
          'Microsoft YaHei', 'Hiragino Sans GB', sans-serif;

  --maxw: 1200px;
}

/* ===================== 基础 ===================== */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:90px; }
body{
  margin:0;
  font-family:var(--sans);
  background:var(--bg);
  color:var(--line);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{ font-family:var(--mono); font-weight:700; line-height:1.25; margin:0; letter-spacing:.5px; }
p{ margin:0; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
img,svg{ display:block; max-width:100%; }

.container{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 24px; }

/* ===================== 全局蓝图底图 ===================== */
.bp-bg{ position:fixed; inset:0; z-index:-2; pointer-events:none; background:
        radial-gradient(1200px 600px at 70% -10%, rgba(79,195,247,.06), transparent 60%),
        var(--bg); }
.bp-grid{ position:absolute; inset:-40px; opacity:.9; transition:transform .4s ease-out;
  background-image:
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px),
    linear-gradient(var(--grid-2) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-2) 1px, transparent 1px);
  background-size:80px 80px,80px 80px,16px 16px,16px 16px;
}

/* 图框 + 四角定位标记 */
.bp-frame{ position:fixed; inset:14px; z-index:-1; pointer-events:none;
  border:1px solid var(--hair); }
.bp-corner{ position:absolute; width:18px; height:18px; }
.bp-corner::before,.bp-corner::after{ content:''; position:absolute; background:var(--accent); }
.bp-corner::before{ width:18px; height:1.5px; top:8px; left:0; }
.bp-corner::after{ width:1.5px; height:18px; left:8px; top:0; }
.bp-corner.tl{ top:-1px; left:-1px; }
.bp-corner.tr{ top:-1px; right:-1px; }
.bp-corner.bl{ bottom:-1px; left:-1px; }
.bp-corner.br{ bottom:-1px; right:-1px; }

/* ===================== 修订记录条 ===================== */
.rev-bar{ background:#080f1c; border-bottom:1px solid var(--hair); font-family:var(--mono); font-size:12.5px; }
.rev-bar.hide{ display:none; }
.rev-inner{ display:flex; align-items:center; gap:14px; height:38px; }
.rev-tag{ color:var(--bg); background:var(--accent); padding:2px 8px; font-weight:700; letter-spacing:1px; }
.rev-text{ color:var(--soft); flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rev-link{ color:var(--accent-2); white-space:nowrap; }
.rev-link:hover{ color:var(--accent); }
.rev-close{ background:none; border:1px solid var(--hair); color:var(--muted); cursor:pointer;
  width:22px; height:22px; line-height:1; font-size:12px; }
.rev-close:hover{ color:var(--accent); border-color:var(--accent); }

/* ===================== 导航 ===================== */
.navbar{ position:sticky; top:0; z-index:50; background:rgba(14,26,43,.82);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--hair); transition:box-shadow .3s; }
.navbar.scrolled{ box-shadow:0 6px 30px rgba(0,0,0,.35); }
.nav-inner{ display:flex; align-items:center; justify-content:space-between; height:68px; }

.logo{ display:flex; align-items:center; gap:10px; }
.logo-mark{ display:flex; }
.logo-text{ font-family:var(--mono); font-weight:700; font-size:17px; color:var(--line);
  display:flex; flex-direction:column; line-height:1.1; }
.logo-text small{ font-size:9px; color:var(--muted); letter-spacing:2px; font-weight:500; }

.nav-menu{ display:flex; align-items:center; gap:4px; }
.nav-link{ font-family:var(--mono); font-size:13px; color:var(--soft); padding:8px 12px;
  position:relative; transition:color .2s; display:flex; align-items:center; gap:6px; }
.nav-link i{ font-style:normal; color:var(--muted); font-size:10px; }
.nav-link:hover{ color:var(--line); }
.nav-link:hover i{ color:var(--accent-2); }
.nav-link.active{ color:var(--accent); }
.nav-link.active::after{ content:''; position:absolute; left:12px; right:12px; bottom:2px;
  height:2px; background:var(--accent); }

.nav-actions{ display:flex; align-items:center; gap:12px; }
.nav-toggle{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px; }
.nav-toggle span{ width:22px; height:2px; background:var(--line); transition:.3s; }
.nav-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ===================== 按钮 ===================== */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--mono); font-size:14px; font-weight:600; letter-spacing:.5px;
  padding:13px 26px; border:1px solid transparent; cursor:pointer; transition:.25s; position:relative; }
.btn-primary{ background:var(--accent); color:#15090a; border-color:var(--accent); }
.btn-primary:hover{ background:transparent; color:var(--accent); box-shadow:0 0 0 1px var(--accent), 0 8px 30px rgba(255,107,53,.25); }
.btn-ghost{ background:transparent; color:var(--accent-2); border-color:var(--hair); }
.btn-ghost:hover{ border-color:var(--accent-2); color:var(--line); box-shadow:0 0 0 1px var(--accent-2); }
.btn-sm{ padding:9px 18px; font-size:13px; }
.btn-block{ width:100%; }

/* 角标装饰（按钮四角小十字，蓝图感） */
.btn-primary::before,.btn-primary::after{ content:''; position:absolute; width:5px; height:5px;
  border:1px solid var(--bg); opacity:.4; }
.btn-primary::before{ top:3px; left:3px; border-right:0; border-bottom:0; }
.btn-primary::after{ bottom:3px; right:3px; border-left:0; border-top:0; }

/* ===================== 通用 section ===================== */
.section{ padding:92px 0; position:relative; }
.section-alt{ background:var(--bg-2); }
.section-head{ text-align:center; max-width:720px; margin:0 auto 56px; }
.section-tag{ display:inline-block; font-family:var(--mono); font-size:11.5px; letter-spacing:2px;
  color:var(--accent-2); padding:5px 14px; border:1px solid var(--hair); margin-bottom:18px;
  position:relative; }
.section-tag::before{ content:'//'; color:var(--accent); margin-right:6px; }
.section-head h2{ font-size:clamp(26px,3.4vw,38px); color:var(--line); }
.section-head p{ color:var(--soft); margin-top:14px; font-size:15.5px; }

/* reveal 入场 */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity:1; transform:none; }

.link-arrow{ font-family:var(--mono); font-size:13.5px; color:var(--accent); display:inline-flex; gap:4px; margin-top:6px; }
.link-arrow:hover{ color:var(--accent-2); }

/* ===================== Hero ===================== */
.hero{ padding:70px 0 90px; position:relative; }
.hero-inner{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.bp-badge{ display:inline-flex; align-items:center; gap:9px; font-family:var(--mono); font-size:12px;
  color:var(--accent-2); border:1px solid var(--hair); padding:6px 14px; letter-spacing:.5px; }
.bp-badge .dot{ width:7px; height:7px; background:var(--accent); border-radius:50%;
  box-shadow:0 0 0 3px rgba(255,107,53,.2); }
.hero-title{ font-size:clamp(34px,5vw,56px); margin:22px 0 0; line-height:1.12; color:var(--line); }
.hero-title .hi{ color:var(--accent); position:relative; }
.hero-title .hi::after{ content:''; position:absolute; left:0; right:0; bottom:-6px; height:3px;
  background:repeating-linear-gradient(90deg,var(--accent) 0 10px, transparent 10px 16px); }
.hero-sub{ color:var(--soft); font-size:16px; margin-top:26px; max-width:540px; }
.hero-sub strong{ color:var(--line); font-weight:600; }
.hero-actions{ display:flex; gap:14px; margin-top:32px; flex-wrap:wrap; }

/* 数据标注（尺寸引出线） */
.hero-dims{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:48px;
  border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); }
.dim{ padding:18px 14px 16px; position:relative; text-align:left; }
.dim:not(:last-child){ border-right:1px dashed var(--hair); }
.dim::before{ content:'⟂'; position:absolute; top:6px; left:14px; color:var(--accent); font-size:10px; }
.dim b{ font-family:var(--mono); font-size:30px; color:var(--line); font-weight:700; }
.dim span{ font-family:var(--mono); color:var(--accent); font-size:16px; margin-left:2px; }
.dim label{ display:block; font-size:12px; color:var(--muted); margin-top:2px; letter-spacing:.5px; }

/* Hero 工程总图卡片 */
.hero-visual{ position:relative; }
.dwg-card{ background:linear-gradient(180deg, rgba(18,34,54,.7), rgba(10,20,34,.7));
  border:1px solid var(--hair); position:relative; }
.dwg-card::before,.dwg-card::after{ content:''; position:absolute; width:14px; height:14px; border:1.5px solid var(--accent); }
.dwg-card::before{ top:-1px; left:-1px; border-right:0; border-bottom:0; }
.dwg-card::after{ bottom:-1px; right:-1px; border-left:0; border-top:0; }
.dwg-head{ display:flex; justify-content:space-between; align-items:center; padding:12px 16px;
  border-bottom:1px solid var(--hair); font-family:var(--mono); font-size:11.5px; }
.dwg-title{ color:var(--soft); }
.dwg-meta{ color:var(--accent-2); }
.blueprint{ width:100%; height:auto; display:block; }
.blueprint .bp-mono{ font-family:var(--mono); }
.dwg-foot{ display:flex; justify-content:space-between; padding:8px 16px; border-top:1px solid var(--hair);
  font-family:var(--mono); font-size:10.5px; color:var(--muted); }

/* —— SVG 绘制动画 —— */
.blueprint path.bp-draw{ stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 1.1s ease; }
.blueprint.drawn path.bp-draw{ stroke-dashoffset:0; }
.blueprint g.bp-draw rect,
.blueprint g.bp-draw circle{ opacity:0; transition:opacity .7s ease .25s; }
.blueprint.drawn g.bp-draw rect,
.blueprint.drawn g.bp-draw circle{ opacity:1; }
.blueprint text{ opacity:0; transition:opacity .7s ease .5s; }
.blueprint.drawn text{ opacity:1; }

/* ===================== 产品矩阵 ===================== */
.prod-tabs{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-bottom:36px; }
.ptab{ font-family:var(--mono); font-size:13.5px; color:var(--soft); background:transparent;
  border:1px solid var(--hair); padding:10px 18px; cursor:pointer; transition:.2s; display:flex; align-items:center; gap:8px; }
.ptab i{ font-style:normal; color:var(--muted); font-size:10px; }
.ptab:hover{ color:var(--line); border-color:var(--accent-2); }
.ptab.active{ color:var(--accent); border-color:var(--accent); background:rgba(255,107,53,.07); }
.ptab.active i{ color:var(--accent); }

.prod-panels{ position:relative; }
.ppanel{ display:none; grid-template-columns:1fr .85fr; gap:48px; align-items:center; }
.ppanel.active{ display:grid; animation:fadeUp .5s ease; }
@keyframes fadeUp{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;} }
.ppanel-no{ font-family:var(--mono); font-size:12px; color:var(--accent-2); letter-spacing:2px; }
.ppanel-text h3{ font-size:24px; margin:8px 0 12px; color:var(--line); }
.ppanel-text p{ color:var(--soft); font-size:15px; }
.spec-list{ margin:20px 0 8px; display:grid; gap:10px; }
.spec-list li{ font-family:var(--mono); font-size:13.5px; color:var(--line); display:flex; gap:10px; align-items:baseline; }
.sp-no{ color:var(--accent); }

/* 零件卡 */
.part-card{ background:var(--bg-3); border:1px solid var(--hair); padding:0; position:relative; }
.part-card::before{ content:''; position:absolute; top:0; left:0; right:0; height:6px;
  background:repeating-linear-gradient(45deg, var(--accent) 0 6px, transparent 6px 12px); opacity:.5; }
.part-head{ display:flex; justify-content:space-between; align-items:center; padding:18px 18px 12px;
  font-family:var(--mono); font-size:12px; border-bottom:1px solid var(--hair); }
.ph-id{ color:var(--accent); }
.part-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:18px; }
.pg{ background:var(--bg-2); border:1px solid var(--hair); padding:12px; font-family:var(--mono); font-size:12px;
  display:flex; flex-direction:column; gap:4px; }
.pg b{ color:var(--line); font-size:14px; }
.pg i{ font-style:normal; color:var(--accent-2); font-size:11px; }
.pg i.live{ color:var(--accent); }

.form-mock{ padding:18px; display:grid; gap:12px; }
.fm-row{ display:grid; grid-template-columns:80px 1fr; align-items:center; gap:12px; font-family:var(--mono); font-size:12px; color:var(--soft); }
.fm-input{ height:24px; background:var(--bg-2); border:1px solid var(--hair); }
.fm-input.short{ width:50%; }
.fm-pill{ font-size:11px; color:var(--accent); border:1px solid var(--accent); padding:3px 10px; justify-self:start; }
.fm-btns{ display:flex; gap:8px; margin-top:4px; }
.fm-tag{ font-family:var(--mono); font-size:11px; padding:5px 12px; background:var(--accent); color:#15090a; }
.fm-tag.ghost{ background:transparent; color:var(--accent-2); border:1px solid var(--hair); }

.gauge-row{ display:flex; gap:24px; padding:18px; justify-content:center; }
.gauge{ text-align:center; position:relative; }
.g-ring{ width:78px; height:78px; border-radius:50%; background:conic-gradient(var(--accent) calc(var(--p)*1%), var(--hair) 0);
  position:relative; }
.g-ring::after{ content:''; position:absolute; inset:9px; border-radius:50%; background:var(--bg-3); }
.gauge small{ display:block; font-family:var(--mono); font-size:11px; color:var(--muted); margin-top:6px; }
.gauge b{ font-family:var(--mono); font-size:18px; color:var(--line); position:absolute; top:30px; left:0; right:0; }
.line-list{ padding:0 18px 18px; display:grid; gap:8px; font-family:var(--mono); font-size:12px; color:var(--soft); }
.ll{ display:flex; align-items:center; gap:8px; }
.ll i{ width:8px; height:8px; border-radius:50%; }
.ll i.on{ background:var(--accent-2); }
.ll i.warn{ background:var(--accent); }

.flow-mock{ padding:18px 12px; display:flex; align-items:center; gap:4px; flex-wrap:wrap; justify-content:center; }
.fm-node{ font-family:var(--mono); font-size:11px; padding:8px 12px; border:1px solid var(--hair); color:var(--line); background:var(--bg-2); }
.fm-node.start{ border-color:var(--accent-2); color:var(--accent-2); }
.fm-node.end{ border-color:var(--accent); color:var(--accent); }
.fm-arrow{ color:var(--muted); font-family:var(--mono); }

.chat-mock{ padding:18px; display:grid; gap:10px; }
.cm{ font-family:var(--mono); font-size:12.5px; padding:10px 14px; max-width:88%; }
.cm.user{ justify-self:end; background:var(--accent); color:#15090a; }
.cm.bot{ justify-self:start; background:var(--bg-2); border:1px solid var(--hair); color:var(--line); }
.cm.bot .up{ color:var(--accent-2); }
.cm-input{ font-family:var(--mono); font-size:12px; color:var(--muted); border:1px solid var(--hair); padding:9px 14px; }

/* ===================== 核心能力 ===================== */
.cap-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.cap-card{ background:var(--bg-3); border:1px solid var(--hair); padding:26px 24px; position:relative; transition:.25s; }
.cap-card::before{ content:''; position:absolute; top:0; left:0; width:24px; height:24px;
  border-top:2px solid var(--accent); border-left:2px solid var(--accent); }
.cap-card:hover{ transform:translateY(-4px); border-color:var(--accent-2); box-shadow:0 14px 40px rgba(0,0,0,.3); }
.cap-no{ font-family:var(--mono); font-size:12px; color:var(--accent-2); letter-spacing:2px; margin-bottom:12px; }
.cap-card h3{ font-size:17px; color:var(--line); margin-bottom:8px; }
.cap-card p{ font-size:14px; color:var(--soft); }

/* ===================== 解决方案 ===================== */
.sol-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.sol-card{ background:var(--bg-3); border:1px solid var(--hair); padding:26px 22px; position:relative; transition:.25s; }
.sol-card:hover{ border-color:var(--accent); transform:translateY(-4px); }
.sol-no{ font-family:var(--mono); font-size:11px; color:var(--accent); letter-spacing:2px; margin-bottom:14px;
  padding-bottom:12px; border-bottom:1px dashed var(--hair); }
.sol-card h3{ font-size:17px; color:var(--line); margin-bottom:10px; }
.sol-card p{ font-size:13.5px; color:var(--soft); margin-bottom:14px; }
.sol-card ul{ display:grid; gap:6px; }
.sol-card li{ font-family:var(--mono); font-size:12px; color:var(--accent-2); }

/* ===================== 核心优势 ===================== */
.adv-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.adv-card{ background:transparent; border:1px solid var(--hair); padding:28px 24px; position:relative; transition:.25s; }
.adv-card:hover{ border-color:var(--accent); background:rgba(255,107,53,.04); }
.adv-num{ font-family:var(--mono); font-size:40px; font-weight:700; color:var(--accent); opacity:.85; line-height:1; margin-bottom:14px; }
.adv-card h3{ font-size:16px; color:var(--line); margin-bottom:8px; }
.adv-card p{ font-size:13.5px; color:var(--soft); }

.metric-bar{ display:grid; grid-template-columns:repeat(4,1fr); margin-top:48px; border:1px solid var(--hair);
  background:var(--bg-3); }
.metric{ padding:28px 18px; text-align:center; position:relative; }
.metric:not(:last-child)::after{ content:''; position:absolute; right:0; top:20%; bottom:20%; width:1px; background:var(--hair); }
.metric strong{ font-family:var(--mono); font-size:34px; color:var(--accent); font-weight:700; }
.metric span{ font-family:var(--mono); font-size:18px; color:var(--accent); }
.metric label{ display:block; font-size:12.5px; color:var(--soft); margin-top:6px; }

/* ===================== 客户案例 ===================== */
.case-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.case-card{ background:var(--bg-3); border:1px solid var(--hair); padding:0; position:relative; transition:.25s; }
.case-card:hover{ border-color:var(--accent-2); transform:translateY(-4px); }
.case-top{ display:flex; justify-content:space-between; align-items:center; padding:14px 20px;
  border-bottom:1px solid var(--hair); font-family:var(--mono); font-size:11px; }
.case-no{ color:var(--accent); }
.case-tag{ color:var(--accent-2); border:1px solid var(--hair); padding:2px 8px; }
.case-card h3{ font-size:16px; padding:18px 20px 8px; color:var(--line); }
.case-card p{ font-size:13.5px; color:var(--soft); padding:0 20px 16px; }
.case-stats{ display:flex; gap:18px; padding:14px 20px; border-top:1px dashed var(--hair); font-family:var(--mono); font-size:12.5px; color:var(--soft); }
.case-stats b{ color:var(--accent); font-size:15px; }

/* ===================== 合作流程 ===================== */
.process-track{ display:grid; grid-template-columns:repeat(5,1fr); gap:0; position:relative; }
.process-track::before{ content:''; position:absolute; top:26px; left:8%; right:8%; height:1px;
  background:repeating-linear-gradient(90deg,var(--accent-2) 0 8px, transparent 8px 16px); }
.step{ text-align:center; position:relative; padding:0 10px; }
.step-no{ width:54px; height:54px; margin:0 auto 16px; background:var(--bg); border:1.5px solid var(--accent);
  font-family:var(--mono); font-size:17px; color:var(--accent); display:flex; align-items:center; justify-content:center;
  position:relative; z-index:1; }
.step-no::before,.step-no::after{ content:''; position:absolute; background:var(--accent); }
.step-no::before{ width:8px; height:1px; top:-6px; left:50%; }
.step h4{ font-size:15px; color:var(--line); margin-bottom:6px; }
.step p{ font-size:12.5px; color:var(--soft); }

/* ===================== 关于我们 ===================== */
.about-wrap{ display:grid; grid-template-columns:1.3fr .7fr; gap:56px; align-items:center; }
.about-lead{ font-size:16.5px !important; color:var(--line) !important; }
.about-text h2{ font-size:clamp(24px,3vw,34px); margin:14px 0 18px; }
.about-text p{ color:var(--soft); font-size:15px; margin-bottom:14px; }
.about-points{ display:grid; gap:12px; margin-top:22px; }
.ap{ display:flex; align-items:baseline; gap:14px; border-left:2px solid var(--accent); padding-left:14px; }
.ap b{ font-family:var(--mono); color:var(--accent-2); font-size:14px; }
.ap span{ color:var(--soft); font-size:14px; }
.about-visual{ display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--hair); }
.about-stat{ padding:30px 18px; border-bottom:1px solid var(--hair); border-right:1px solid var(--hair); position:relative; }
.about-stat:nth-child(2n){ border-right:0; }
.about-stat:nth-child(n+3){ border-bottom:0; }
.about-stat strong{ font-family:var(--mono); font-size:30px; color:var(--accent); }
.about-stat span{ font-family:var(--mono); color:var(--accent); font-size:16px; }
.about-stat label{ display:block; font-size:12px; color:var(--soft); margin-top:4px; }

/* ===================== 联系 / 需求规格书 ===================== */
.cta-card{ display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--hair);
  background:linear-gradient(180deg,var(--bg-3),var(--bg-2)); position:relative; }
.cta-card::before,.cta-card::after{ content:''; position:absolute; width:16px; height:16px; border:1.5px solid var(--accent); }
.cta-card::before{ top:-1px; left:-1px; border-right:0; border-bottom:0; }
.cta-card::after{ bottom:-1px; right:-1px; border-left:0; border-top:0; }
.cta-info{ padding:44px 40px; border-right:1px solid var(--hair); }
.cta-info .section-tag{ margin-bottom:16px; }
.cta-info h2{ font-size:26px; color:var(--line); }
.cta-info p{ color:var(--soft); margin:12px 0 24px; font-size:15px; }
.contact-list{ display:grid; gap:16px; }
.cl-item{ display:flex; align-items:center; gap:14px; }
.cl-ic{ font-family:var(--mono); font-size:11px; color:var(--accent); border:1px solid var(--hair);
  padding:6px 8px; letter-spacing:1px; }
.cl-item small{ display:block; font-size:11.5px; color:var(--muted); font-family:var(--mono); }
.cl-item b{ font-family:var(--mono); font-size:15px; color:var(--line); }

.cta-form{ padding:44px 40px; }
.form-title{ display:flex; justify-content:space-between; align-items:center; padding-bottom:14px; margin-bottom:18px;
  border-bottom:1px dashed var(--hair); font-family:var(--mono); font-size:12px; }
.ft-id{ color:var(--accent); }
.field{ margin-bottom:14px; }
.field input,.field select,.field textarea{ width:100%; background:var(--bg); border:1px solid var(--hair);
  color:var(--line); font-family:var(--mono); font-size:13.5px; padding:12px 14px; transition:.2s; }
.field input::placeholder,.field textarea::placeholder{ color:var(--muted); }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 1px var(--accent); }
.field select{ appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--accent) 50%),linear-gradient(135deg,var(--accent) 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size:5px 5px; background-repeat:no-repeat; }
.field textarea{ resize:vertical; font-family:var(--sans); }
.err{ display:none; color:var(--accent); font-size:11.5px; font-family:var(--mono); margin-top:4px; }
.field.invalid .err{ display:block; }
.field.invalid input,.field.invalid select{ border-color:var(--accent); }
.form-tip{ font-family:var(--mono); font-size:13px; color:var(--accent-2); margin-top:12px; min-height:18px; }
.form-tip.ok{ color:var(--accent); }

/* ===================== 页脚 ===================== */
.footer{ border-top:1px solid var(--hair); background:var(--bg-2); }
.footer-inner{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:32px; padding:56px 24px 40px; }
.footer-brand .logo-text{ color:var(--line); }
.footer-desc{ color:var(--soft); font-size:13.5px; margin-top:14px; max-width:300px; }
.footer-col h4{ font-family:var(--mono); font-size:13px; color:var(--accent-2); margin-bottom:14px; letter-spacing:1px; }
.footer-col a{ display:block; color:var(--soft); font-size:13.5px; padding:4px 0; transition:.2s; }
.footer-col a:hover{ color:var(--accent); padding-left:4px; }

/* Title Block 工程图纸标题栏 */
.title-block{ border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); background:#080f1c; }
.tb-grid{ display:grid; grid-template-columns:1.4fr repeat(5,1fr); padding:0; }
.tb-cell{ padding:14px 16px; border-right:1px solid var(--hair); display:flex; flex-direction:column; gap:3px; min-width:0; }
.tb-cell:last-child{ border-right:0; }
.tb-cell label{ font-family:var(--mono); font-size:9.5px; color:var(--muted); letter-spacing:1.5px; }
.tb-cell span{ font-family:var(--mono); font-size:13px; color:var(--line); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tb-logo{ flex-direction:row; align-items:center; gap:12px; }
.tb-logo b{ font-family:var(--mono); font-size:18px; color:var(--accent); }
.tb-logo span{ color:var(--soft); }

.footer-bottom{ padding:16px 0; }
.fb-inner{ display:flex; justify-content:space-between; align-items:center; font-family:var(--mono); font-size:11.5px; color:var(--muted); flex-wrap:wrap; gap:10px; }
.fb-links a{ color:var(--soft); }
.fb-links a:hover{ color:var(--accent); }

/* 返回顶部 */
.back-top{ position:fixed; right:24px; bottom:24px; width:44px; height:44px; background:var(--accent);
  color:#15090a; border:0; cursor:pointer; display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:.3s; z-index:40; box-shadow:0 6px 20px rgba(255,107,53,.4); }
.back-top.show{ opacity:1; pointer-events:auto; }
.back-top:hover{ transform:translateY(-3px); }

/* ===================== 响应式 ===================== */
@media (max-width:1024px){
  .hero-inner{ grid-template-columns:1fr; gap:40px; }
  .hero-visual{ max-width:560px; }
  .cap-grid{ grid-template-columns:repeat(2,1fr); }
  .sol-grid,.adv-grid{ grid-template-columns:repeat(2,1fr); }
  .metric-bar{ grid-template-columns:repeat(2,1fr); }
  .metric:nth-child(2)::after{ display:none; }
  .metric:nth-child(-n+2){ border-bottom:1px solid var(--hair); }
  .case-grid{ grid-template-columns:1fr; }
  .process-track{ grid-template-columns:repeat(5,1fr); gap:6px; }
  .ppanel.active{ grid-template-columns:1fr; gap:30px; }
  .about-wrap{ grid-template-columns:1fr; gap:36px; }
  .cta-card{ grid-template-columns:1fr; }
  .cta-info{ border-right:0; border-bottom:1px solid var(--hair); }
}
@media (max-width:768px){
  .nav-menu{ position:fixed; top:106px; left:0; right:0; background:var(--bg-2); border-bottom:1px solid var(--hair);
    flex-direction:column; align-items:stretch; gap:0; padding:8px 0; max-height:0; overflow:hidden; transition:max-height .35s ease; }
  .nav-menu.open{ max-height:420px; }
  .nav-link{ padding:14px 24px; border-bottom:1px solid var(--hair); }
  .nav-toggle{ display:flex; }
  .nav-actions{ display:none; }
  .section{ padding:64px 0; }
  .hero{ padding:40px 0 60px; }
  .hero-dims{ grid-template-columns:repeat(2,1fr); }
  .dim:nth-child(2){ border-right:0; }
  .dim:nth-child(-n+2){ border-bottom:1px dashed var(--hair); }
  .cap-grid,.sol-grid,.adv-grid{ grid-template-columns:1fr; }
  .metric-bar{ grid-template-columns:repeat(2,1fr); }
  .process-track{ grid-template-columns:repeat(2,1fr); gap:24px; }
  .process-track::before{ display:none; }
  .about-visual{ grid-template-columns:1fr 1fr; }
  .cta-info,.cta-form{ padding:30px 22px; }
  .footer-inner{ grid-template-columns:1fr 1fr; }
  .tb-grid{ grid-template-columns:1fr 1fr; }
  .tb-cell{ border-bottom:1px solid var(--hair); }
}
@media (max-width:480px){
  .hero-dims,.metric-bar{ grid-template-columns:1fr 1fr; }
  .tb-grid{ grid-template-columns:1fr; }
  .tb-cell{ border-right:0; }
  .footer-inner{ grid-template-columns:1fr; }
  .rev-text{ font-size:11px; }
}
