:root{
    --bg-0:#041d44; --bg-1:#062146; --bg-2:#0a2c5e;
    --ink:#eaf4ff; --muted:#8fa8c8; --faint:#5e769b;
    --cyan:#35d6ff; --blue:#29a8df; --gold:#ffb020; --amber:#f5a623;
    --pink:#e94f8a; --green:#7ac943; --purple:#8352c9;
    --line:rgba(53,214,255,.22);
    --font:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  }


  /* 文字层 */
  .eyebrow{display:inline-flex; align-items:center; gap:8px; font-size:12.5px; letter-spacing:.16em;
    color:var(--cyan); border:1px solid var(--line); border-radius:99px; padding:5px 13px; background:rgba(10,28,54,.5); backdrop-filter:blur(6px)}
  h1{font-size:clamp(28px,3.5vw,52px); line-height:1.22; margin:18px 0 0; font-weight:800; letter-spacing:-.02em}
  .sub{margin-top:14px; font-size:clamp(13px,1.05vw,16px); line-height:1.85; color:var(--muted); max-width:34em}

  /* 图例 */

  /* 提示条 */

  /* 节点浮层 */
  #tip{position:absolute; z-index:5; display:none; transform:translate(-50%,-125%);
    background:rgba(6,18,38,.94); border:1px solid var(--line); border-radius:10px; padding:9px 13px;
    font-size:13px; white-space:nowrap; box-shadow:0 10px 30px rgba(0,0,0,.5); pointer-events:none}
  #tip b{color:var(--gold)} #tip s{display:block; text-decoration:none; color:var(--cyan); font-size:12px; margin-top:2px}

  @media (max-width:900px){
    .sub{display:none}
  }

/* ===================== 整站布局（深色科技风，与地图协调） ===================== */
:root{
  --bg:#041d44; --bg2:#0a2348; --panel:rgba(16,26,48,.66);
  --bd:rgba(86,150,230,.16); --cyan:#35d6ff; --red:#e63946; --gold:#ffb020;
  --txt:#e9eff8; --muted:#94a8c6; --grad:linear-gradient(135deg,#35d6ff,#7b6cff);
}
.nav .links a{padding:7px 13px;border-radius:9px;font-size:18px;color:var(--muted);transition:.18s}
.badge{position:absolute;top:14px;right:14px;font-size:11px;color:var(--gold);
  border:1px solid rgba(255,176,32,.4);padding:3px 8px;border-radius:8px}
.shot{aspect-ratio:4/3;border-radius:14px;border:1px dashed var(--bd);
  background:linear-gradient(135deg,rgba(53,214,255,.06),rgba(123,108,255,.06));
  display:grid;place-items:center;color:var(--muted);font-size:13px;text-align:center;padding:10px}
.foot .col h4{margin:0 0 12px;font-size:14px;color:var(--cyan)}
.foot .col p{color:var(--muted);font-size:14px;display:block;margin:6px 0}
  /* 首页快捷入口卡片 */
  .link-card{display:flex; flex-direction:column; gap:8px; text-decoration:none; color:var(--ink);
    background:linear-gradient(135deg,rgba(53,214,255,.07),rgba(123,108,255,.07));
    border:1px solid var(--bd); border-radius:16px; padding:22px 18px; transition:.22s; min-height:148px}
  .link-card .more{margin-top:auto; color:var(--gold); font-size:13px; font-weight:600}
  @media(max-width:900px){.quick-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:520px){.quick-grid{grid-template-columns:1fr 1fr}}

/* 全站介绍性文字两端对齐（首行左起、整行两端撑齐、末行左对齐；标题/导航/KPI/按钮等单行元素不受影响） */
p,li,.note,.tip,.article p{text-align:justify;text-align-last:left;text-justify:inter-ideograph}

/* ===== 子页浅色主题（二级网页底色改为浅色） ===== */
body.subpage{--bg:#f3f7fc;--bg2:#ffffff;--panel:#ffffff;--bd:#dde6f1;--cyan:#0a7ea4;--red:#e63946;--gold:#b26a00;--txt:#16273e;--muted:#5a6b82;--grad:linear-gradient(135deg,#1597c4,#6a5cff);background:var(--bg);color:var(--txt);min-height:100vh}
body.subpage .nav{background:transparent;border-bottom:none}
body.subpage .nav .brand{color:var(--txt)}
body.subpage .nav .links a{color:var(--muted)}
body.subpage .nav .links a:hover{color:#12233c;background:rgba(10,126,164,.1)}
body.subpage .nav .links a.active{color:#0a7ea4;background:rgba(10,126,164,.14);font-weight:700}
body.subpage .nav.scrolled{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid #e4ebf4}
body.subpage .sec-head .k{color:#0a7ea4}
body.subpage .sec-head h2,body.subpage h2{color:#12233c}
body.subpage .sec-head p{color:var(--muted)}
body.subpage .card{background:#fff;border-color:var(--bd);box-shadow:0 2px 10px rgba(23,43,77,.05)}
body.subpage .card:hover{border-color:#7cc7e8;box-shadow:0 10px 26px rgba(23,43,77,.1)}
body.subpage .card h3{color:#12233c}
body.subpage .card p{color:var(--muted)}
body.subpage .card .ic{background:rgba(10,126,164,.09);color:#0a7ea4}
body.subpage .tag{background:rgba(10,126,164,.08);color:#0a7ea4;border-color:rgba(10,126,164,.2)}
body.subpage .badge{color:#b26a00;border-color:rgba(178,106,0,.4)}
body.subpage .note{color:#8a5300;background:rgba(255,176,32,.1);border-color:rgba(178,106,0,.35)}
body.subpage .shot{background:linear-gradient(135deg,rgba(10,126,164,.06),rgba(123,108,255,.06));border-color:#c6d3e4;color:#6b7c93}
body.subpage .shot b{color:#0a7ea4}
body.subpage figure.cert{background:#fff;border-color:var(--bd)}
body.subpage figure.cert figcaption{color:#0a7ea4}
body.subpage figure.cert img{background:#eef2f7}
body.subpage .tbl-wrap{border-color:var(--bd)}
body.subpage .tbl th{background:rgba(10,126,164,.08);color:#0a7ea4}
body.subpage .tbl td{border-bottom-color:var(--bd)}
body.subpage .tbl tr:hover td{background:rgba(10,126,164,.04)}
body.subpage .tbl td.amt{color:#b26a00}
body.subpage .pill.gov{background:rgba(123,108,255,.12);color:#5a4fb0}
body.subpage .pill.biz{background:rgba(178,106,0,.12);color:#b26a00}
body.subpage .stats .s{background:#fff;border-color:var(--bd);box-shadow:0 2px 10px rgba(23,43,77,.05)}
body.subpage .stats .s b{color:#0a7ea4}
body.subpage .stats .s span{color:var(--muted)}
body.subpage .article{color:var(--txt)}
body.subpage .article h2,body.subpage .article h3{color:#12233c}
body.subpage .article .lead{color:var(--muted)}
body.subpage footer{background:#fff;border-top:1px solid var(--bd)}
body.subpage .foot .col h4{color:#0a7ea4}
body.subpage .foot .col p{color:var(--muted)}
body.subpage .foot .col a:hover{color:#12233c}
body.subpage footer .bot{color:#8595ab;border-top-color:#e4ebf4}
body.subpage .more-link a{color:#b26a00}

/* 设备实拍图库 */
@media(max-width:900px){.gallery{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.gallery{grid-template-columns:1fr}}
body.subpage figure.eq{background:#fff;border-color:var(--bd);box-shadow:0 2px 10px rgba(23,43,77,.05)}
body.subpage figure.eq img{background:#eef2f7}
body.subpage figure.eq figcaption{color:#0a7ea4}
body.subpage .gal-title{color:#12233c}
  /* 合作伙伴：合作规模数据条 */
  /* 09-23 19:3x 数据条移到 LOGO 墙上方：上下间距统一 32px（与 sec-head 到内容块一致） */
  .pstats{display:flex; flex-wrap:wrap; gap:14px; margin:0 0 32px}
  .pstat{flex:1 1 150px; background:linear-gradient(135deg,rgba(10,126,164,.08),rgba(123,108,255,.08)); border:1px solid var(--bd); border-radius:14px; padding:16px 18px}
  .pstat b{display:block; font-size:clamp(22px,2.4vw,32px); font-weight:800; color:#0a7ea4; font-variant-numeric:tabular-nums; line-height:1.2}
  .pstat span{font-size:13px; color:var(--muted)}


/* ===== 合作项目板块并入本页（原独立页 /projects/ 已删除，内容仅存本页 .partner-projects） =====
 * 09-23 19:4x 按要求删除本板块顶部那条横向分隔线，并同步收掉只为它预留的上内边距，
 * 否则线没了会单侧多出 86px 空白（46 外边距 + 40 内边距）。 */
.partner-projects{margin-top:46px}
.partner-projects .sec-head{margin-bottom:22px}
.partner-projects .sec-head h2{font-size:clamp(24px,2.4vw,30px)}
@media (max-width:780px){
  .partner-projects{margin-top:32px}
  .partner-projects .sec-head h2{font-size:clamp(21px,5.4vw,26px)}
}

/* 表格：宽度自适应 + 单元格自动换行 —— 常规视口下无需左右滑动即可看全 */
.tbl-wrap{overflow:hidden;border:1px solid var(--bd);border-radius:14px}
.tbl{width:100%;min-width:0;border-collapse:collapse;font-size:14px;table-layout:auto}
.tbl th,.tbl td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--bd);
  vertical-align:top;line-height:1.55;white-space:normal}
.tbl td.proj{min-width:190px}
.tbl td.cust{min-width:118px}
.tbl th:nth-child(1),.tbl td:nth-child(1){width:42px;text-align:center;color:var(--muted);white-space:nowrap}
.tbl th:nth-child(4),.tbl td:nth-child(4),
.tbl th:nth-child(5),.tbl td:nth-child(5),
.tbl th:nth-child(6),.tbl td:nth-child(6){white-space:nowrap}
.tbl th{background:rgba(53,214,255,.08);color:var(--cyan);font-weight:700;position:static}
.tbl tr:hover td{background:rgba(255,255,255,.03)}
.tbl-wrap{-webkit-overflow-scrolling:touch; overscroll-behavior-x:contain;
  scrollbar-width:none; -ms-overflow-style:none}          /* 兜底：不显示横向滚动条 */
.tbl-wrap::-webkit-scrollbar{width:0; height:0; display:none}
/* --- 手机（≤760px）：宽表转「卡片」纵向堆叠，逐字段带标签，无需左右滑动 --- */
@media (max-width:760px){
  .tbl-wrap{border:0;border-radius:0;overflow:visible}
  .tbl{display:block;font-size:14px}
  .tbl thead{display:none}
  .tbl tbody{display:block}
  .tbl tr{display:block;position:relative;background:var(--panel);
    border:1px solid var(--bd);border-radius:12px;padding:13px 14px;margin:0 0 10px}
  .tbl tr:hover td{background:transparent}
  .tbl td{display:block;padding:0;border:0;min-width:0;white-space:normal}
  .tbl td+td{margin-top:7px}
  .tbl td::before{content:attr(data-label);display:block;
    font-size:12px;color:var(--muted);margin-bottom:2px;letter-spacing:.02em}
  .tbl td:nth-child(1){position:absolute;top:12px;right:14px;width:auto;margin:0;
    font-size:12px;color:var(--muted);text-align:right}
  .tbl td:nth-child(1)::before{display:none}
  .tbl td.proj{min-width:0;font-weight:700;font-size:15px;line-height:1.62;padding-right:42px}
  .tbl td.amt{font-size:15.5px}
}
@media (max-width:760px){
  body.subpage .tbl tr{background:#fff}     /* 浅色子页卡片底色（置于深色变量之后） */
}
/* ===== 分页控件（合作项目 565 条分页展示：桌面每页 50 条 / 手机每页 20 条） ===== */
.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:14px;margin-top:20px;padding-top:18px;border-top:1px solid var(--bd)}
.pager-info{font-size:13.5px;color:var(--muted);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.pager-btns{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pg-nums{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pg-btn,.pg-num{font:inherit;font-size:13.5px;color:var(--txt);background:#fff;border:1px solid var(--bd);
  border-radius:9px;cursor:pointer;transition:.18s;-webkit-tap-highlight-color:transparent;
  font-variant-numeric:tabular-nums}
.pg-btn{padding:8px 14px}
.pg-num{min-width:36px;height:36px;padding:0 10px}
.pg-btn:hover:not(:disabled),.pg-num:hover{border-color:#7cc7e8;color:#0a7ea4}
.pg-num.on{background:#0a7ea4;border-color:#0a7ea4;color:#fff;font-weight:700}
.pg-num.on:hover{color:#fff}
.pg-btn:disabled{opacity:.42;cursor:not-allowed}
.pg-gap{color:var(--muted);padding:0 3px;font-size:13.5px;user-select:none}
.pager-jump{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted)}
.pager-jump input{width:64px;height:36px;padding:0 8px;font:inherit;font-size:13.5px;color:var(--txt);
  background:#fff;border:1px solid var(--bd);border-radius:9px;text-align:center;font-variant-numeric:tabular-nums}
.pager-jump input:focus{outline:none;border-color:#7cc7e8;box-shadow:0 0 0 3px rgba(10,126,164,.12)}
@media (max-width:760px){
  .pager{gap:10px;margin-top:16px}
  .pager-info{width:100%;text-align:center}
  .pager-btns{width:100%;justify-content:center}
  .pg-btn{min-height:44px;display:inline-flex;align-items:center;padding:10px 16px}
  .pg-num{min-width:44px;height:44px}
  .pager-jump{width:100%;justify-content:center}
  .pager-jump input{height:44px}
}

