/* ============================================================
   昆明信迪科技 — 视觉系统「档案索引 Archive Index」
   ------------------------------------------------------------
   设计概念：把网站构建成一套可检索的档案体系。
   视觉语言直接取自档案业务本身：
     · 分类号   每个区块带档案式分类编号（A-01 / A-02…）
     · 档案卡   卡片采用卷宗标签页形态 + 元数据行
     · 登记表   客户案例以档案登记表呈现，而非通用卡片
     · 档案架   竖向标尺 + 蓝图网格构成结构骨架
     · 技术标注 等宽字体承载编号与数据，发丝线分隔
   ============================================================ */

:root {
  /* —— 间距刻度 —— */
  --s-1: 4px;  --s-2: 8px;  --s-3: 12px; --s-4: 16px; --s-5: 24px;
  --s-6: 32px; --s-7: 48px; --s-8: 64px; --s-9: 80px;

  --sec-y: 80px;
  --head-y: 112px;
  --nav-h: 58px;

  /* —— 字号刻度 —— */
  --fs-hero: 60px;
  --fs-h1: 42px;
  --fs-h2: 36px;
  --fs-h3: 19px;
  --fs-lead: 18px;
  --fs-body: 16px;
  --fs-sm: 14px;
  --fs-mono: 12px;

  /* —— 色彩：档案馆的沉稳 + 数字化的锐利 —— */
  --ink:    #0B2545;   /* 档案深蓝：权威、庄重 */
  --ink-2:  #2A3F5F;
  --muted:  #6E809D;
  --brand:  #1668B3;   /* 主蓝：机构感 */
  --cyan:   #00A9CE;   /* 科技青：数字化 */
  --seal:   #B8503A;   /* 印章红：仅用于资质标记 */

  --paper:  #FFFFFF;
  --bg:     #F2F6FB;
  --bg-2:   #FAFCFE;

  --line:   rgba(11, 37, 69, .10);
  --line-2: rgba(11, 37, 69, .18);
  --grid:   rgba(22, 104, 179, .055);

  --r: 3px;             /* 小圆角：档案卡的硬朗感 */
  --r-lg: 4px;
  --shadow: 0 1px 2px rgba(11,37,69,.04), 0 12px 28px -18px rgba(11,37,69,.28);
  --shadow-h: 0 2px 4px rgba(11,37,69,.06), 0 24px 48px -20px rgba(22,104,179,.4);

  --font: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB",
    "Source Han Sans SC", "Noto Sans CJK SC", -apple-system, sans-serif;
  --mono: ui-monospace, SFMono-Regular, "SF Mono", "JetBrains Mono",
    Menlo, Consolas, "Liberation Mono", monospace;
}

@media (max-width: 1400px) { :root { --sec-y: 64px; --head-y: 96px; --fs-hero: 50px; } }
@media (max-width: 991px)  { :root {
  --sec-y: 56px; --head-y: 84px;
  --fs-hero: 32px; --fs-h1: 28px; --fs-h2: 25px; --fs-lead: 16px;
} }

/* ============================================================
   基础
   ============================================================ */
body {
  font-family: var(--font); color: var(--ink-2);
  background: var(--bg); font-size: var(--fs-body);
  -webkit-font-smoothing: antialiased;
}
/* 内容页（非首页）粘性页脚：内容不足一屏时页脚仍贴底，消除页脚下方空白 */
body:not(.home-tech) {
  min-height: 100vh;
  display: flex; flex-direction: column;
}
body:not(.home-tech) > main { flex: 1 0 auto; }
body:not(.home-tech) > .site-footer { flex-shrink: 0; }
h1,h2,h3,h4,h5,h6 { font-family: var(--font); color: var(--ink); letter-spacing: 0; }
p { color: var(--muted); font-size: var(--fs-body); }
a { transition: color .25s ease; }
img { max-width: 100%; }

.container { max-width: 1240px; padding-left: var(--s-6); padding-right: var(--s-6); }

/* ============================================================
   蓝图网格 —— 全站结构底纹（档案架的秩序感）
   ============================================================ */
.blueprint { position: relative; overflow: hidden; }
.blueprint::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size: 48px 48px;
}

/* ============================================================
   分类号 —— 档案式区块编号（本设计的识别符号）
   ============================================================ */
.idx {
  display: flex; align-items: center; gap: var(--s-4);
  margin-bottom: var(--s-5);
}
.idx-no {
  font-family: var(--mono); font-size: var(--fs-mono); font-weight: 600;
  letter-spacing: 1px; color: var(--paper);
  background: var(--ink); padding: 4px 9px; border-radius: 2px;
  flex-shrink: 0;
}
.idx-label {
  font-family: var(--mono); font-size: var(--fs-mono); font-weight: 600;
  letter-spacing: 2.5px; text-transform: uppercase; color: var(--brand);
  white-space: nowrap;
}
.idx-rule { height: 1px; background: var(--line-2); flex: 1; }

/* 兼容旧类名 */
.tech-eyebrow {
  display: inline-flex; align-items: center; gap: var(--s-3);
  font-family: var(--mono); font-size: var(--fs-mono); font-weight: 600;
  letter-spacing: 2.5px; text-transform: uppercase; color: var(--brand);
  margin-bottom: var(--s-4);
}
.tech-eyebrow::before {
  content: ""; width: 24px; height: 1px; background: var(--line-2);
}

/* ============================================================
   区块骨架
   ============================================================ */
main > section[class] {
  padding: var(--sec-y) 0; background: var(--bg);
  position: relative; overflow: hidden;
}
main > section[class]:nth-of-type(even) { background: var(--bg-2); }
/* 区块之间以发丝线分隔，强化“条目”秩序 */
main > section[class] + section[class] { border-top: 1px solid var(--line); }

/* ============================================================
   区块标题
   ============================================================ */
.section-title { margin-bottom: var(--s-7); text-align: left; }
.section-title h2 {
  font-size: var(--fs-h2); font-weight: 700; line-height: 1.28;
  letter-spacing: -.5px; text-transform: none;
  margin-bottom: var(--s-3); color: var(--ink) !important;
}
.section-title h2 .hl, .hl { color: var(--brand); -webkit-text-fill-color: currentColor; }
.section-title p { font-size: var(--fs-lead); color: var(--muted); margin: 0; max-width: 760px; }

/* ============================================================
   页头骨架（全站内页共用）
   ============================================================ */
.page-head {
  padding: var(--head-y) 0 var(--sec-y) !important;
  background: var(--bg-2) !important;
  position: relative; overflow: hidden; text-align: left;
  border-bottom: 1px solid var(--line);
}
.page-head::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: linear-gradient(105deg, #000 10%, transparent 70%);
  mask-image: linear-gradient(105deg, #000 10%, transparent 70%);
}
.page-head .container { position: relative; z-index: 2; }
.page-head h1 {
  font-size: var(--fs-h1); font-weight: 800; line-height: 1.22;
  letter-spacing: -1px; text-transform: none;
  margin: 0 0 var(--s-4); color: var(--ink);
}
.page-head h1 span { color: var(--brand); }
.page-head .page-lead {
  font-size: var(--fs-lead); color: var(--muted); max-width: 780px; margin: 0;
  line-height: 1.75;
}

/* ============================================================
   导航 —— 固定高度，左对齐，底部发丝线
   ============================================================ */
.site-navigation, .site-navigation.nav-bg {
  height: var(--nav-h); padding: 0 !important;
  display: flex; align-items: center;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
  box-shadow: none;
}
.site-navigation .container { width: 100%; }
.site-navigation .navbar-brand { margin: 0; padding: 0; }
.site-navigation .navbar-brand img { max-width: 46px; }
.site-navigation .nav-item .nav-link {
  font-family: var(--font); color: var(--ink-2);
  font-size: 15px; font-weight: 500;
  padding: var(--s-2) var(--s-5); position: relative;
}
.site-navigation .nav-item .nav-link::after {
  content: ""; position: absolute; left: var(--s-5); right: var(--s-5); bottom: 0;
  height: 2px; background: var(--brand);
  transform: scaleX(0); transition: transform .28s ease;
}
.site-navigation .nav-item .nav-link:hover { color: var(--brand); }
.site-navigation .nav-item .nav-link:hover::after { transform: scaleX(1); }
.site-navigation .main-nav .nav-item:last-child { display: none !important; }
@media (min-width: 992px) {
  .site-navigation .container { display: flex; justify-content: flex-start; align-items: center; }
  .site-navigation .navbar-brand { margin-right: 0; }
  /* 折叠容器占据品牌右侧全部空间，菜单在其中水平居中 */
  .site-navigation .navbar-collapse { flex-grow: 1; flex-basis: auto; }
  .site-navigation .main-nav { margin: 0 auto !important; align-items: center; }
}

/* ============================================================
   按钮 —— 硬朗、克制
   ============================================================ */
.btn { border-radius: var(--r); font-size: 15px; font-weight: 500; padding: 16px 34px; }
.btn-primary {
  background: var(--brand); border: 1px solid var(--brand) !important;
  box-shadow: 0 10px 24px -14px rgba(22,104,179,.9);
}
.btn-primary:hover { background: var(--ink); border-color: var(--ink) !important; }
.btn-secondary {
  background: transparent; color: var(--ink) !important;
  border: 1px solid var(--line-2) !important;
}
.btn-secondary:hover { border-color: var(--ink) !important; background: rgba(11,37,69,.03); }

/* 文字链接 CTA —— 带箭头的检索式动作 */
.site-project-cta, .site-service_project-cta {
  display: inline-flex; align-items: center; gap: var(--s-2);
  margin-top: var(--s-6);
  font-family: var(--font); font-size: 15px; font-weight: 600;
  color: var(--brand) !important; position: relative;
}
.site-project-cta::after, .site-service_project-cta::after {
  content: "→"; font-family: var(--mono); transition: transform .28s ease;
}
.site-project-cta::before { display: none; }
.site-project-cta:hover, .site-service_project-cta:hover { text-decoration: none; color: var(--ink) !important; }
.site-project-cta:hover::after, .site-service_project-cta:hover::after { transform: translateX(5px); }

/* ============================================================
   HERO —— 档案库入口
   ============================================================ */
.home-tech .site-hero {
  height: auto; min-height: 100vh;
  display: flex; flex-direction: column; justify-content: center;
  padding: calc(var(--nav-h) + var(--s-7)) 0 var(--s-7);
  background: linear-gradient(175deg, #FAFCFE 0%, #EFF5FB 60%, #E9F1F9 100%) !important;
  overflow: hidden; border-bottom: 1px solid var(--line);
}
/* 首屏取消蓝图网格背景，保留纯净渐变 */
.home-tech .site-hero::before { display: none; }
/* 首屏光晕：为著录面板提供层次 */
.home-tech .site-hero::after {
  content: ""; position: absolute; right: -6%; top: 12%; width: 46%; height: 66%;
  pointer-events: none; border-radius: 50%;
  background: radial-gradient(circle, rgba(22,104,179,.10), transparent 68%);
}
.home-tech .site-hero .container { position: relative; z-index: 2; }

/* —— 双栏栅格：内容 7 / 著录面板 5 —— */
.home-tech .hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--s-8);
  align-items: center;
  margin-bottom: var(--s-6);
}
@media (max-width: 991px) {
  .home-tech .hero-grid { grid-template-columns: 1fr; gap: var(--s-6); margin-bottom: var(--s-6); }
}
.home-tech .hero-main { text-align: left; min-width: 0; }

.home-tech .site-hero-content h1,
.home-tech .hero-main h1 {
  font-size: var(--fs-hero); font-weight: 800; line-height: 1.14;
  letter-spacing: -2px; margin: 0 0 var(--s-5); color: var(--ink);
}
.home-tech .hero-main h1 .hl { color: var(--brand); }
.home-tech .hero-lead {
  font-size: var(--fs-lead); line-height: 1.8; color: var(--ink-2);
  max-width: none; margin: 0 0 var(--s-6);
}

/* 服务标签 —— 档案条目形态，横线只跨内容列 */
.home-tech .hero-tags {
  list-style: none; padding: 0; margin: 0 0 var(--s-6);
  display: flex; flex-wrap: wrap; gap: 0;
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}
.home-tech .hero-tags li {
  display: inline-flex; align-items: center; gap: var(--s-2);
  padding: var(--s-3) 0; margin-right: var(--s-6);
  color: var(--ink); font-size: 15px; font-weight: 500;
  background: none; border: none; box-shadow: none;
}
.home-tech .hero-tags li .fa { color: var(--brand); font-size: 14px; }

.home-tech .site-hero-content-buttons { margin: 0; padding: 0; }
.home-tech .site-hero-content-buttons li:not(:last-child) { margin-right: var(--s-3); }

/* —— 档案著录面板 —— */
.home-tech .hero-panel {
  background: var(--paper); border: 1px solid var(--line);
  border-radius: var(--r); box-shadow: var(--shadow);
  overflow: hidden; min-width: 0;
}
.home-tech .hp-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--s-3) var(--s-5);
  background: var(--ink); color: var(--paper);
}
.home-tech .hp-name {
  font-family: var(--mono); font-size: 11px;
  letter-spacing: 2px; text-transform: uppercase;
}
.home-tech .hp-state {
  font-family: var(--mono); font-size: 10.5px; letter-spacing: 1px;
  color: var(--cyan);
}
.home-tech .hp-state::before {
  content: "●"; font-size: 7px; vertical-align: middle; margin-right: 5px;
}
/* 轮播舞台：以最高一条撑开，切换时不跳动 */
.home-tech .hp-stage { display: grid; }
.home-tech .hp-body {
  grid-area: 1 / 1; margin: 0; padding: var(--s-2) var(--s-5);
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .45s ease, transform .45s ease, visibility .45s;
}
.home-tech .hp-body.is-on { opacity: 1; visibility: visible; transform: none; }
.home-tech .hp-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--s-4); padding: 10px 0;
  border-bottom: 1px solid var(--line);
}
.home-tech .hp-row:last-child { border-bottom: none; }
.home-tech .hp-row dt {
  font-size: 13px; color: var(--muted); font-weight: 400; flex-shrink: 0;
}
.home-tech .hp-row dd {
  margin: 0; font-family: var(--mono); font-size: 13px;
  color: var(--ink); font-weight: 500; text-align: right;
}

/* —— 三条著录记录：三套配色，便于快速区分 ——
   用自定义属性驱动：面板上设 --rec / --rec-lt，其余属性统一引用，
   避免简写与属性选择器之间的层叠冲突。 */
.home-tech .hero-panel {
  --rec: #1668B3;  --rec-lt: #6FC8E8;  --rec-a: rgba(22,104,179,.09);   /* 档案蓝 */
}
.home-tech .hero-panel[data-theme="2"] {
  --rec: #0A7A93;  --rec-lt: #5FD3E6;  --rec-a: rgba(10,122,147,.09);   /* 科技青 */
}
.home-tech .hero-panel[data-theme="3"] {
  --rec: #96601A;  --rec-lt: #E3B268;  --rec-a: rgba(150,96,26,.09);    /* 卷宗棕 */
}

.home-tech .hero-panel { border-top-color: var(--rec); border-top-width: 3px; border-top-style: solid; }
.home-tech .hero-panel .hp-row dd { color: var(--rec); }
.home-tech .hero-panel .hp-row dd.ok { font-weight: 600; }
.home-tech .hero-panel .hp-state { color: var(--rec-lt); }
.home-tech .hero-panel .hp-dots i.on { background: var(--rec); }
.home-tech .hero-panel .hp-btn:hover { color: var(--rec); background: var(--rec-a); }
/* 翻页控制条 */
.home-tech .hp-foot {
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--s-2) var(--s-3);
  background: #F7FAFD; border-top: 1px solid var(--line);
}
.home-tech .hp-btn {
  border: none; background: none; cursor: pointer;
  font-family: var(--font); font-size: 12.5px; color: var(--muted);
  padding: 6px 10px; border-radius: var(--r);
  transition: color .2s ease, background .2s ease;
}
.home-tech .hp-btn:hover { color: var(--brand); background: rgba(22,104,179,.08); }
.home-tech .hp-btn:focus-visible { outline: 2px solid var(--brand); outline-offset: 1px; }
.home-tech .hp-dots { display: inline-flex; align-items: center; gap: 7px; }
.home-tech .hp-dots i {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--line-2); cursor: pointer;
  transition: width .25s ease, border-radius .25s ease;
}
.home-tech .hp-dots i.on { background: var(--brand); width: 16px; border-radius: 3px; }

/* 数据条 —— 跨整幅，顶部发丝线收束首屏 */
.home-tech .hero-stats {
  display: flex; flex-wrap: wrap; gap: 0; justify-content: flex-start;
  list-style: none; padding: var(--s-5) 0 0; margin: 0; max-width: none;
  border-top: 1px solid var(--line-2);
}

/* 矮视口收紧规则集中在文件末尾，确保胜过后置的组件基础规则（等权重按源码顺序取后者） */

/* 矮视口（含 1366×768 及更低）：整体收紧，确保统计条完整可见 */
@media (min-width: 992px) and (max-height: 900px) {
  .home-tech .site-hero { padding-top: calc(var(--nav-h) + var(--s-4)); padding-bottom: var(--s-5); }
  .home-tech .hero-grid { gap: var(--s-7); margin-bottom: var(--s-5); }
  .home-tech .hero-main h1 { font-size: 46px; margin-bottom: var(--s-4); }
  .home-tech .hero-lead { font-size: 16.5px; line-height: 1.75; margin-bottom: var(--s-5); }
  .home-tech .hero-tags { margin-bottom: var(--s-5); }
  .home-tech .hero-tags li { padding: 10px 0; }
  .home-tech .btn { padding: 13px 28px; }
  .home-tech .hp-row { padding: 8px 0; }
  .home-tech .hp-head, .home-tech .hp-foot { padding-top: 7px; padding-bottom: 7px; }
  .home-tech .hero-stats { padding-top: var(--s-4); }
  .home-tech .hero-stats .n { font-size: 28px; }
  .home-tech .hero-scroll { display: none; }
}
@media (min-width: 992px) and (max-height: 740px) {
  .home-tech .hero-main h1 { font-size: 40px; }
  .home-tech .idx { margin-bottom: var(--s-4); }
  .home-tech .hero-stats .n { font-size: 25px; }
}
.home-tech .hero-stats li {
  flex: 1; min-width: 150px; padding: 0 var(--s-5);
  border-left: 1px solid var(--line);
}
.home-tech .hero-stats li:first-child { padding-left: 0; border-left: none; }
.home-tech .hero-stats .n {
  display: block; font-family: var(--mono);
  font-size: 32px; font-weight: 600; line-height: 1.1;
  color: var(--ink); letter-spacing: -1px;
}
.home-tech .hero-stats .n small { font-size: 17px; color: var(--cyan); }
.home-tech .hero-stats .t {
  font-size: 13px; color: var(--muted); margin-top: 5px; display: block;
}

.home-tech .hero-scroll {
  position: absolute; left: 50%; bottom: var(--s-5); transform: translateX(-50%);
  color: var(--brand); font-size: 20px; z-index: 2; opacity: .5;
  animation: heroBounce 2.4s ease-in-out infinite;
}
@keyframes heroBounce {
  0%,100% { transform: translate(-50%,0); } 50% { transform: translate(-50%,8px); }
}

/* ============================================================
   首页整屏
   ============================================================ */
html:has(body.home-tech) { scroll-snap-type: y proximity; scroll-padding-top: var(--nav-h); }
/* 各区块内容在视口内垂直居中：大屏下不再顶端堆叠、底部留大片空白
   padding 作为安全内边距（顶部含导航高度，避免贴住导航） */
.home-tech main > section {
  min-height: 100vh; display: flex; flex-direction: column; justify-content: center;
  scroll-snap-align: start;
  padding-top: calc(var(--nav-h) + var(--s-5));
  padding-bottom: var(--s-5);
}
.home-tech main > section > .container { width: 100%; }
/* 首屏例外：作为落地页保持居中 */
.home-tech .site-hero { justify-content: center; }
/* 页脚作为独立吸附点，避免末屏吸附回弹导致页脚不可见 */
body.home-tech .site-footer { scroll-snap-align: end; scroll-snap-stop: normal; }

/* ============================================================
   档案卡 —— 核心能力（卷宗标签页形态）
   ============================================================ */
.home-features::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 45%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 45%, transparent);
}
.home-features .container { position: relative; z-index: 2; }

.feature-card {
  height: 100%; padding: var(--s-6) var(--s-5) var(--s-5);
  background: var(--paper); border: 1px solid var(--line);
  border-top: 2px solid var(--ink);
  border-radius: 0 0 var(--r) var(--r);
  position: relative;
  transition: transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s ease, border-color .3s ease;
}
/* 卷宗标签页 */
.feature-card::before {
  content: attr(data-no);
  position: absolute; top: -2px; left: 0;
  font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: 1px;
  color: var(--paper); background: var(--ink);
  padding: 3px 10px 4px; border-radius: 0 0 var(--r) 0;
}
.feature-card:hover {
  transform: translateY(-4px);
  border-top-color: var(--brand);
  box-shadow: var(--shadow-h);
}
.feature-card .fc-icon {
  width: 44px; height: 44px; border-radius: var(--r);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; color: var(--brand);
  background: rgba(22,104,179,.07); border: 1px solid rgba(22,104,179,.16);
  margin: var(--s-4) 0 var(--s-5);
}
.feature-card h3 {
  font-size: var(--fs-h3); font-weight: 700; margin-bottom: var(--s-3);
  letter-spacing: -.3px;
}
.feature-card p { font-size: 14.5px; line-height: 1.75; margin: 0; }
@media (max-width: 991px) { .feature-card { margin-bottom: var(--s-5); } }

/* ============================================================
   数据统计 —— 档案统计表
   ============================================================ */
.site-counter { color: var(--ink-2); }
.site-counter .section-title { margin-bottom: var(--s-7); }
.site-counter-item {
  text-align: left; padding: var(--s-5) 0 var(--s-5) var(--s-5);
  border-left: 1px solid var(--line-2);
  position: relative;
}
.site-counter-item::before {
  content: ""; position: absolute; left: -1px; top: 0; width: 2px; height: 34px;
  background: var(--brand);
}
@media (max-width: 991px) { .site-counter-item { margin-bottom: var(--s-5); } }
.site-counter-item-title {
  font-size: var(--fs-sm); color: var(--muted); font-weight: 400; display: block;
}
.site-counter-item-number {
  font-family: var(--mono); font-size: 46px; font-weight: 600;
  margin: var(--s-2) 0 0; color: var(--ink); letter-spacing: -2px;
  -webkit-text-fill-color: currentColor;
}

/* 业务信息带：平衡本屏体量，补充资质与覆盖信息 */
.counter-meta {
  display: grid; grid-template-columns: repeat(4, 1fr);
  margin-top: var(--s-7); padding-top: var(--s-5);
  border-top: 1px solid var(--line-2);
}
@media (max-width: 991px) { .counter-meta { grid-template-columns: repeat(2, 1fr); gap: var(--s-4); } }
.counter-meta .cm-item { padding-right: var(--s-5); }
.counter-meta .cm-k {
  display: block; font-family: var(--mono); font-size: 11px;
  letter-spacing: 2px; text-transform: uppercase; color: var(--muted);
  margin-bottom: 6px;
}
.counter-meta .cm-v { display: block; font-size: 15px; font-weight: 600; color: var(--ink); }

/* ============================================================
   产品 —— 档案卷宗卡
   ============================================================ */
.site-project-item {
  margin-bottom: var(--s-5); overflow: hidden;
  background: var(--paper); border: 1px solid var(--line);
  border-radius: var(--r);
  transition: transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s ease, border-color .3s ease;
}
.site-project-item:hover {
  transform: translateY(-4px); border-color: rgba(22,104,179,.4);
  box-shadow: var(--shadow-h) !important;
}
.site-project-item-thumb { position: relative; overflow: hidden; }
.site-project-item-thumb::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(11,37,69,.06), rgba(11,37,69,.30));
}
.site-project-item-thumb img {
  transition: transform .6s cubic-bezier(.2,.7,.3,1); display: block;
  width: 100%; height: 190px; object-fit: cover;
}
/* 首页：产品一行四栏，契合整屏并保留图片体量 */
@media (min-width: 992px) {
  .home-tech .site-project [class*="col-lg-6"] { flex: 0 0 25%; max-width: 25%; }
  .home-tech .site-project-item-thumb img { height: 210px; }
  .home-tech .site-project-item-content { padding: var(--s-4) var(--s-5) !important; }
}
@media (min-width: 992px) and (max-height: 800px) {
  .home-tech .site-project-item-thumb img { height: 176px; }
}
.site-project-item:hover .site-project-item-thumb img { transform: scale(1.05); }
.site-project-item-content {
  position: static !important; background: var(--paper) !important;
  padding: var(--s-5) !important; z-index: 2;
  border-top: 1px solid var(--line);
}
.site-project-item:hover .site-project-item-content { padding-bottom: var(--s-5) !important; }
.site-project-item-content span {
  color: var(--brand) !important; font-family: var(--mono);
  font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
  display: block; margin-bottom: var(--s-2);
}
.site-project-item-content h3 { font-size: var(--fs-h3); font-weight: 700; letter-spacing: -.3px; }
.site-project-item-content h3 a { color: var(--ink) !important; }
.site-project-item-content h3 a:hover { color: var(--brand) !important; }
.site-project-item-content .read-more {
  position: static !important; opacity: 1 !important; transform: none !important;
  display: inline-block !important; width: auto !important;
  color: var(--muted) !important; font-size: 13px; margin-top: var(--s-3);
}
.site-project-item-content .read-more:hover { color: var(--brand) !important; }

.site-project-header-content h1 span { color: var(--brand); }
.site-project-pagination, .site-blog-pagination { margin-top: var(--s-7); }
.site-project-pagination .pagination .page-item .page-link,
.site-blog-pagination .pagination .page-item .page-link {
  color: var(--ink); font-family: var(--mono); font-size: 15px;
  border-radius: var(--r);
}
.site-project-pagination .pagination .page-item.active .page-link,
.site-blog-pagination .pagination .page-item.active .page-link {
  background: var(--brand); color: #fff;
}
.site-project-single-section { padding: var(--head-y) 0 var(--sec-y); }
.site-project-single h1 {
  color: var(--ink); font-size: var(--fs-h1); margin-bottom: var(--s-6); letter-spacing: -1px;
}
.site-project-single-action a { color: var(--ink); }

/* ============================================================
   服务客户 —— 档案登记表（本设计的业务识别核心）
   ============================================================ */
/* 表头 */
.registry-head {
  display: flex; align-items: center;
  padding: var(--s-3) var(--s-5);
  background: var(--ink); color: var(--paper);
  font-family: var(--mono); font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
  border-radius: var(--r) var(--r) 0 0;
}
.registry-head .c1 { width: 78px; flex-shrink: 0; }
.registry-head .c2 { flex: 1; }
.registry-head .c3 { width: 220px; flex-shrink: 0; }
.registry-head .c4 { width: 200px; flex-shrink: 0; text-align: right; }
@media (max-width: 991px) { .registry-head { display: none; } }

.site-testimonial-item {
  display: flex; align-items: center;
  background: var(--paper) !important;
  border: 1px solid var(--line); border-top: none;
  border-radius: 0; padding: var(--s-4) var(--s-5) !important;
  margin: 0 !important; height: auto !important;
  box-shadow: none !important;
  transition: background .25s ease, border-color .25s ease;
  position: relative;
}
.site-testimonial-item::before { display: none; }
.site-testimonial-item:last-child { border-radius: 0 0 var(--r) var(--r); }
.site-testimonial-item:hover {
  background: #F7FAFD !important; transform: none !important;
  border-color: rgba(22,104,179,.35);
  box-shadow: none !important; z-index: 2;
}
/* 档案编号 */
.site-testimonial-item .reg-no {
  width: 78px; flex-shrink: 0;
  font-family: var(--mono); font-size: 12px; color: var(--brand); font-weight: 600;
}
.site-testimonial-item-header { margin: 0; flex: 1; display: block; }
.site-testimonial-item-header .person h5 {
  color: var(--ink); font-size: 15px; font-weight: 600; line-height: 1.45;
  margin: 0; padding: 0;
}
/* 建设内容列 */
.site-testimonial-item-body-sys {
  color: var(--ink-2) !important; font-size: 13.5px; margin: 0;
  width: 220px; flex-shrink: 0;
}
/* 状态列 —— 以标记形态呈现 */
.site-testimonial-item-body {
  font-size: 12px; margin: 0;
  width: 200px; flex-shrink: 0; text-align: right;
  color: var(--muted) !important;
}
.site-testimonial-item-body::before {
  content: "●"; color: var(--cyan); font-size: 8px;
  vertical-align: middle; margin-right: 6px;
}
@media (max-width: 991px) {
  .site-testimonial-item { display: block; padding: var(--s-4) !important; }
  .site-testimonial-item-body-sys,
  .site-testimonial-item-body { width: auto; text-align: left; margin-top: var(--s-2); }
}

/* 关于页：客户案例以卡片网格呈现（区别于登记表长行布局）
   —— 独立网格容器统一行高，标题在上、状态在下，彻底消除错位与游离圆点 */
.testimonial-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 1fr;            /* 所有行等高，卡片整齐对齐 */
  gap: var(--s-4);
}
.site-testimonial--cards .site-testimonial-item {
  display: flex; flex-direction: column; align-items: stretch;
  height: 100% !important;
  background: var(--paper) !important;
  border: 1px solid var(--line); border-radius: var(--r);
  margin: 0 !important;
  padding: var(--s-4) var(--s-5) !important;
}
.site-testimonial--cards .site-testimonial-item-header { flex: 0 0 auto; }
.site-testimonial--cards .site-testimonial-item-header .person p {
  color: var(--ink-2); font-size: 13.5px; margin: 6px 0 0;
}
.site-testimonial--cards .site-testimonial-item-body {
  width: auto; flex: 1 1 auto; text-align: left;
  font-size: 12.5px; margin: var(--s-3) 0 0;
  padding-top: var(--s-3); border-top: 1px dashed var(--line);
  color: var(--muted) !important;
}
/* 有实际内容时才显示状态圆点；空状态段落整体隐藏 */
.site-testimonial--cards .site-testimonial-item-body:empty { display: none; }
.site-testimonial--cards .site-testimonial-item-body::before {
  content: "●"; color: var(--cyan); font-size: 8px;
  vertical-align: middle; margin-right: 6px;
}
@media (max-width: 991px) {
  .testimonial-card-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575px) {
  .testimonial-card-grid { grid-template-columns: 1fr; }
}

/* 独立页：客户案例档案（更多条目）—— 顶部留白让位固定导航，标题与首页登记表统一 */
.page-head-registry { padding-top: calc(var(--nav-h) + var(--head-y)) !important; }
.page-head-registry .idx { margin-bottom: var(--s-4); }
.registry-title {
  font-size: var(--fs-h1); font-weight: 800; line-height: 1.22;
  letter-spacing: -1px; margin: 0 0 var(--s-4); color: var(--ink);
}
.registry-title span { color: var(--brand); }
.page-head-registry .page-lead {
  font-size: var(--fs-lead); color: var(--muted); max-width: 780px;
  margin: 0 0 var(--s-7); line-height: 1.75;
}

/* ============================================================
   关于我们
   ============================================================ */
.site-about-wrapper { align-items: stretch; }
.site-about-company {
  background: var(--ink) !important; border-radius: var(--r);
  padding: var(--s-8) var(--s-6) !important;
  display: flex; align-items: center; position: relative; overflow: hidden;
}
.site-about-company::after {
  content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 50%;
  background-image: repeating-linear-gradient(90deg, transparent 0 30px, rgba(255,255,255,.05) 30px 31px);
}
.site-about-company h1 {
  color: #fff; font-size: 27px; font-weight: 700; line-height: 1.6;
  text-transform: none; letter-spacing: 0; margin: 0; position: relative; z-index: 2;
}
.site-about-description { padding-left: var(--s-7) !important; padding-top: 0 !important; }
.site-about-description p { color: var(--ink-2); font-size: 15.5px; line-height: 2; }
@media (max-width: 991px) {
  .site-about-description { padding-left: 0 !important; padding-top: var(--s-5) !important; }
}

/* 能力清单 —— 档案条目 */
.site-expertise-list { margin: 0; padding: 0; }
.site-expertise-list li {
  list-style: none; color: var(--ink); font-size: 15px; font-weight: 500;
  position: relative; padding: var(--s-3) 0 var(--s-3) var(--s-7);
  margin: 0 !important; border-bottom: 1px solid var(--line);
}
.site-expertise-list li::before {
  content: "▸"; font-family: var(--mono); color: var(--brand);
  position: absolute; left: var(--s-4); top: var(--s-3); font-size: 13px;
}
.site-expertise-list li::after {
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 3px; height: 3px; background: var(--line-2);
}
.site-client .section-title { margin-bottom: var(--s-7); }

/* ============================================================
   资讯
   ============================================================ */
.site-blog { padding: var(--sec-y) 0; }
.site-blog.details { padding: var(--head-y) 0 var(--sec-y); }
.site-blog-post {
  margin-bottom: var(--s-5); overflow: hidden;
  background: var(--paper); border: 1px solid var(--line); border-radius: var(--r);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.site-blog-post:hover {
  transform: translateY(-4px); border-color: rgba(22,104,179,.4);
  box-shadow: var(--shadow-h);
}
.site-blog-post-thumb img { width: 100%; height: 200px; object-fit: cover; display: block; }
.site-blog-post-content {
  background: var(--paper) !important; position: static !important;
  padding: var(--s-5) !important; border-top: 1px solid var(--line);
}
.site-blog-post-content span {
  color: var(--brand) !important; font-family: var(--mono);
  font-size: 11px; letter-spacing: 1.5px;
}
.site-blog-post-content h3 { font-size: var(--fs-h3); margin: var(--s-2) 0 var(--s-3); letter-spacing: -.3px; }
.site-blog-post-content h3 a { color: var(--ink) !important; }
.site-blog-post-content h3 a:hover { color: var(--brand) !important; }
.site-blog-post-content a.read-more {
  position: static !important; opacity: 1 !important; transform: none !important;
  color: var(--brand) !important; letter-spacing: .5px; font-size: 13px; font-weight: 600;
}
.site-blog-post:hover .site-blog-post-content { padding-bottom: var(--s-5) !important; }
.site-blog-details .blog-title { font-size: var(--fs-h1); letter-spacing: -1px; }

/* ============================================================
   联系我们
   ============================================================ */
.site-contact-title { font-size: var(--fs-h1); font-weight: 800; line-height: 1.22; letter-spacing: -1px; }
.site-contact-title span { color: var(--brand); }
.site-contact-form { margin-top: 0; }
.site-contact-form h4 {
  font-family: var(--mono); font-size: 12px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 2.5px; color: var(--brand);
  margin-bottom: var(--s-6);
}
/* 联系信息表 */
.site-contact-form .form-group,
.site-contact-form > div { border-bottom: 1px solid var(--line); }
.form-control {
  border-color: var(--line); color: var(--ink); font-size: var(--fs-body);
  background: transparent;
}
.form-control:focus { border-color: var(--brand); }

/* 联系页：档案著录面板 —— 与首页 hero-panel 统一 */
.contact-panel {
  background: var(--paper); border: 1px solid var(--line);
  border-top: 3px solid var(--brand);
  border-radius: var(--r); box-shadow: var(--shadow); overflow: hidden;
}
.contact-panel .cp-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--s-3) var(--s-5);
  background: var(--ink); color: var(--paper);
}
.contact-panel .cp-name {
  font-family: var(--mono); font-size: 11px;
  letter-spacing: 2px; text-transform: uppercase;
}
.contact-panel .cp-state {
  font-family: var(--mono); font-size: 10.5px; letter-spacing: 1px; color: var(--cyan);
}
.contact-panel .cp-state::before {
  content: "●"; font-size: 7px; vertical-align: middle; margin-right: 5px;
}
.contact-panel .cp-body { margin: 0; padding: var(--s-2) var(--s-5); }
.contact-panel .cp-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--s-4); padding: var(--s-4) 0; border-bottom: 1px solid var(--line);
}
.contact-panel .cp-row:last-child { border-bottom: none; }
.contact-panel .cp-row dt { font-size: 13px; color: var(--muted); font-weight: 400; flex-shrink: 0; }
.contact-panel .cp-row dd {
  margin: 0; font-family: var(--mono); font-size: 14px;
  color: var(--brand); font-weight: 500; text-align: right;
}
.contact-panel .cp-row dd a { color: inherit; text-decoration: none; }
.contact-panel .cp-row dd a:hover { text-decoration: underline; }

/* ============================================================
   团队 / 服务案例
   ============================================================ */
.site-team-member {
  background: var(--paper); border: 1px solid var(--line); border-radius: var(--r);
  padding: var(--s-8) var(--s-5) var(--s-5); margin: var(--s-7) 0 var(--s-5);
  box-shadow: var(--shadow);
}
.site-team-member-content h3 { color: var(--brand); font-size: var(--fs-h3); }
.site-team-member-content p { color: var(--ink); font-size: 15px; }

/* ============================================================
   公司资质 —— 网格陈列（替代跑马灯）
   ============================================================ */
.credential-grid {
  display: grid;
  gap: var(--s-4);
  align-items: start;
}
/* 横版证书成行，竖版证书单独成行，行内单元格比例统一，消除参差 */
.credential-grid + .credential-grid { margin-top: var(--s-4); }
.credential-grid--wide { grid-template-columns: repeat(3, 1fr); }
.credential-grid--wide .credential-item { aspect-ratio: 4 / 3; }
.credential-grid--tall { grid-template-columns: repeat(4, 1fr); }
.credential-grid--tall .credential-item { aspect-ratio: 3 / 4; }
.credential-item {
  margin: 0; background: #fff;
  border: 1px solid var(--line); border-radius: var(--r);
  box-shadow: var(--shadow); overflow: hidden; padding: var(--s-3);
  transition: box-shadow .2s ease, transform .2s ease;
  display: flex; align-items: center; justify-content: center;
}
.credential-item:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg, 0 8px 24px rgba(15,32,64,.12)); }
.credential-item img {
  display: block;
  max-width: 100%; max-height: 100%;
  width: auto; height: auto; object-fit: contain;
}
@media (max-width: 991px) {
  .credential-grid--wide { grid-template-columns: repeat(2, 1fr); }
  .credential-grid--tall { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
  .credential-grid--wide,
  .credential-grid--tall { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================
   页脚
   ============================================================ */
.site-footer {
  background: var(--ink) !important;
  padding: var(--s-5) 0 !important;
  border-top: none; text-align: center; position: relative;
}
.site-footer .container { position: relative; z-index: 2; }
/* 首行：地址与联系方式 */
.site-footer-info {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: var(--s-3); font-size: 14px; color: rgba(255,255,255,.82);
}
.site-footer-info .site-footer-item { color: rgba(255,255,255,.82); text-decoration: none; }
.site-footer-info a.site-footer-item { font-family: var(--mono); }
.site-footer-info a.site-footer-item:hover { color: var(--cyan); }
.site-footer-sep { color: rgba(255,255,255,.3); }
/* 次行：备案与版权 */
.site-footer-meta {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: var(--s-2) var(--s-5); margin-top: var(--s-4); padding-top: var(--s-4);
  border-top: 1px solid rgba(255,255,255,.12);
  font-size: 12.5px; color: rgba(255,255,255,.5);
}
.site-footer-meta a { color: rgba(255,255,255,.5); text-decoration: none; }
.site-footer-meta a:hover { color: var(--cyan); }

/* ============================================================
   矮视口收紧（置于末尾以胜过组件基础规则）
   目标：整屏首页各区块「更多条目 / 查看产品」CTA 在一屏内完整可见
   ============================================================ */
@media (min-width: 992px) and (max-height: 900px) {
  .home-tech main > section .section-title { margin-bottom: var(--s-6); }
  /* 客户案例登记表 */
  .home-tech .site-testimonial-item { padding: 10px var(--s-5) !important; }
  .home-tech .registry-head { padding: 8px var(--s-5); }
  /* 产品与服务卡 */
  .home-tech .site-project-item-thumb img { height: 168px; }
  .home-tech .site-project-item-content { padding: var(--s-3) var(--s-4) !important; }
  .home-tech .site-project-item { margin-bottom: var(--s-4); }
  /* CTA 统一间距 */
  .home-tech .site-project-cta,
  .home-tech .site-service_project-cta { margin-top: var(--s-5); }
  /* 企业规模区：顶部对齐后补足体量，避免下方过空 */
  .home-tech .site-counter-item { padding-top: var(--s-6); padding-bottom: var(--s-6); }
}
@media (min-width: 992px) and (max-height: 700px) {
  .home-tech .site-project-item-thumb img { height: 132px; }
  .home-tech .site-project-item-content { padding: 12px var(--s-4) !important; }
  .home-tech .site-testimonial-item { padding: 8px var(--s-5) !important; }
  .home-tech main > section .section-title { margin-bottom: var(--s-5); }
}
