@charset "utf-8";
/* ============================================================================
   同林臭氧 · 前台设计系统  truth.css
   ----------------------------------------------------------------------------
   设计语言取自「深色科技 + 白卡浮起 + 近直角 + 超大英文水印」的精密装备风格，
   但配色、圆角、水印手法、组件细节均为自有方案，不复制任何站点源码。
   本文件自包含：不依赖 style.css / main.css / index.css / refine.css / dark-tech.css。
   ----------------------------------------------------------------------------
   0. 令牌  1. 重置  2. 版心与区块  3. 顶部条  4. 头部与导航  5. 首屏
   6. 区块标题  7. 按钮  8. 产品线  9. 关于我们  10. 行业应用  11. 优势条
   12. 案例  13. 新闻  14. 合作伙伴  15. CTA  16. 页脚  17. 内页头部
   18. 列表页  19. 详情页  20. 表单与留言  21. 分页与标签  22. 移动端
   ========================================================================== */

/* ============================================================================
   0. 设计令牌
   ========================================================================== */
:root{
  /* 品牌深蓝阶梯（自有品牌色，非参考站色值） */
  --ink:      #0B2545;   /* 深色基座 */
  --ink-d:    #061931;   /* 更深一层 */
  --ink-2:    #10305A;   /* 深色容器 */
  --navy:     #123A66;
  --blue:     #185FA5;   /* 主品牌蓝 */
  --blue-2:   #378ADD;   /* 亮蓝 */
  --blue-3:   #1B6FD4;   /* 按钮实底蓝 */
  --blue-lt:  #EAF2FB;
  --sky:      #F3F7FC;
  --line:     #DFE8F3;
  --line-d:   rgba(255,255,255,.12);

  --t1: #0C2237;
  --t2: #3F556E;
  --t3: #7A8CA3;

  --r-card: 8px;
  --r-img:  6px;
  --r-btn:  6px;

  --wrap:    1520px;
  --read:    880px;
  --gap:     24px;

  --sh1: 0 2px 10px rgba(12,34,55,.05);
  --sh2: 0 14px 40px rgba(12,34,55,.10);
  --sh3: 0 24px 60px rgba(6,25,49,.18);

  --hd-h: 78px;
  --ease: cubic-bezier(.4,0,.2,1);
}

/* ============================================================================
   1. 重置
   ========================================================================== */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0; padding:0;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC","Noto Sans CJK SC",Arial,sans-serif;
  font-size:16px; line-height:1.8; color:var(--t2);
  background:#fff;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.no-scroll{ overflow:hidden; }
h1,h2,h3,h4,h5{ margin:0; color:var(--t1); font-weight:700; line-height:1.32; letter-spacing:-.01em; }
p{ margin:0 0 1em; }
a{ color:inherit; text-decoration:none; transition:color .25s var(--ease); }
a:hover{ color:var(--blue-2); }
img{ max-width:100%; border:0; vertical-align:middle; }
ul,ol,dl,dd,dt{ margin:0; padding:0; list-style:none; }
i,em{ font-style:normal; }
b,strong{ font-weight:600; }
table{ border-collapse:collapse; width:100%; }
input,textarea,select,button{ font-family:inherit; font-size:inherit; color:inherit; }
input:focus,textarea:focus,select:focus{ outline:none; }
.c{ clear:both; height:0; overflow:hidden; }
.fl{ float:left; } .fr{ float:right; }
.hide,.hidden{ display:none !important; }
.waph2{ height:0; }
img{ max-width:100%; height:auto; }

/* 滚动条 */
::-webkit-scrollbar{ width:8px; height:8px; }
::-webkit-scrollbar-thumb{ background:rgba(11,37,69,.24); border-radius:4px; }
::-webkit-scrollbar-track{ background:transparent; }

/* ============================================================================
   2. 版心与区块
   ========================================================================== */
.wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding:0 32px; }
.wrap-nar{ width:100%; max-width:1160px; margin:0 auto; padding:0 32px; }
.sec{ padding: clamp(64px,7vw,112px) 0; position:relative; }
.sec--sm{ padding: clamp(44px,4.6vw,72px) 0; }
.sec--mist{ background:var(--sky); }
.sec--lt{ background:var(--blue-lt); }
.sec--ink{ background:var(--ink); color:rgba(255,255,255,.76); }
.sec--ink h1,.sec--ink h2,.sec--ink h3{ color:#fff; }
.sec--ink a:hover{ color:#fff; }
.sec--ink2{ background:var(--ink-d); color:rgba(255,255,255,.76); }
.sec--ink2 h1,.sec--ink2 h2,.sec--ink2 h3{ color:#fff; }

/* 深色区块的细网格光效（自有图案） */
.glow-grid{ position:relative; }
.glow-grid::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image: radial-gradient(120% 90% at 50% 0%, #000 0%, transparent 72%);
          mask-image: radial-gradient(120% 90% at 50% 0%, #000 0%, transparent 72%);
}
.glow-grid--light::before{
  background-image:
    linear-gradient(to right, rgba(11,37,69,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(11,37,69,.05) 1px, transparent 1px);
}
.glow-grid > *{ position:relative; z-index:1; }

/* 星点纹理（合作伙伴区使用） */
.starfield{ position:relative; overflow:hidden; }
.starfield::after{
  content:""; position:absolute; inset:-10%; pointer-events:none;
  background-image:
    radial-gradient(1.5px 1.5px at 12% 22%, rgba(255,255,255,.55), transparent),
    radial-gradient(1.4px 1.4px at 32% 62%, rgba(255,255,255,.40), transparent),
    radial-gradient(1.6px 1.6px at 58% 18%, rgba(255,255,255,.50), transparent),
    radial-gradient(1.3px 1.3px at 74% 48%, rgba(255,255,255,.42), transparent),
    radial-gradient(1.5px 1.5px at 88% 74%, rgba(255,255,255,.36), transparent),
    radial-gradient(1.3px 1.3px at 46% 86%, rgba(255,255,255,.34), transparent),
    radial-gradient(1.4px 1.4px at 22% 88%, rgba(255,255,255,.30), transparent);
  background-size: 520px 420px, 640px 520px, 560px 460px, 700px 560px, 620px 480px, 540px 440px, 600px 500px;
  opacity:.7;
}

/* ============================================================================
   3. 顶部条
   ========================================================================== */
.tp{ background:var(--ink-d); color:rgba(255,255,255,.62); font-size:13px; line-height:1; }
.tp-in{ display:flex; align-items:center; justify-content:space-between; gap:24px; height:40px; }
.tp-l,.tp-r{ display:flex; align-items:center; gap:22px; }
.tp a{ color:rgba(255,255,255,.62); }
.tp a:hover{ color:#fff; }
.tp i{ font-size:14px; margin-right:6px; vertical-align:-1px; }
.tp-lang{ position:relative; }
.tp-lang > a{ display:flex; align-items:center; gap:5px; }

/* ============================================================================
   4. 头部与导航
   ========================================================================== */
.hd{
  position:sticky; top:0; z-index:900;
  background:var(--ink); border-bottom:1px solid var(--line-d);
  transition:box-shadow .3s var(--ease), background .3s var(--ease);
}
.hd.is-stuck{ box-shadow:0 10px 30px rgba(6,25,49,.30); background:rgba(11,37,69,.97); backdrop-filter:saturate(140%) blur(6px); }
.hd-in{ display:flex; align-items:center; gap:28px; height:var(--hd-h); }
.hd-logo{ flex:0 0 auto; display:flex; align-items:center; }
.hd-logo img{ height:42px; width:auto; display:block; }
.hd-nav{ flex:1 1 auto; display:flex; align-items:center; gap:2px; }
.hd-item{ position:relative; }
.hd-item > a{
  display:block; padding:0 16px; line-height:var(--hd-h); height:var(--hd-h);
  color:rgba(255,255,255,.86); font-size:15.5px; font-weight:500; position:relative; white-space:nowrap;
}
.hd-item > a::after{
  content:""; position:absolute; left:16px; right:16px; bottom:20px; height:2px;
  background:var(--blue-2); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease);
}
.hd-item > a:hover, .hd-item.active > a{ color:#fff; }
.hd-item > a:hover::after, .hd-item.active > a::after{ transform:scaleX(1); }
.hd-sub{
  position:absolute; left:0; top:100%; min-width:186px; padding:10px 0;
  background:#fff; border-radius:0 0 var(--r-card) var(--r-card);
  box-shadow:0 18px 44px rgba(6,25,49,.20);
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
}
.hd-item:hover .hd-sub{ opacity:1; visibility:visible; transform:none; }
.hd-sub a{
  display:block; padding:9px 20px; font-size:14.5px; color:var(--t2); line-height:1.5;
}
.hd-sub a:hover{ background:var(--sky); color:var(--blue); padding-left:24px; }
.hd-tools{ flex:0 0 auto; display:flex; align-items:center; gap:14px; }
.hd-sbtn{
  width:40px; height:40px; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--line-d); border-radius:var(--r-btn); color:#fff; font-size:16px; cursor:pointer;
  transition:background .25s var(--ease), border-color .25s var(--ease);
}
.hd-sbtn:hover{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.3); }
.hd-tel{ display:flex; align-items:center; gap:10px; color:#fff; }
.hd-tel i{ font-size:20px; color:var(--blue-2); }
.hd-tel span{ display:block; font-size:11.5px; color:rgba(255,255,255,.5); line-height:1.3; letter-spacing:.04em; }
.hd-tel b{ display:block; font-size:16px; letter-spacing:.01em; line-height:1.4; }
.hd-btn{
  display:inline-flex; align-items:center; gap:8px; height:42px; padding:0 20px;
  background:var(--blue-3); color:#fff !important; border-radius:var(--r-btn);
  font-size:15px; font-weight:600; white-space:nowrap;
  transition:background .25s var(--ease), transform .25s var(--ease);
}
.hd-btn:hover{ background:var(--blue-2); transform:translateY(-1px); }
.hd-burger{ display:none; width:42px; height:42px; flex-direction:column; align-items:center; justify-content:center; gap:5px; cursor:pointer; border:1px solid var(--line-d); border-radius:var(--r-btn); }
.hd-burger span{ display:block; width:19px; height:2px; background:#fff; transition:transform .3s var(--ease), opacity .3s var(--ease); }
.hd-burger.on span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.hd-burger.on span:nth-child(2){ opacity:0; }
.hd-burger.on span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* 搜索浮层 */
.sbox{
  position:fixed; left:0; right:0; top:0; z-index:1000; padding:26px 0;
  background:rgba(6,25,49,.97); border-bottom:1px solid var(--line-d);
  transform:translateY(-102%); transition:transform .35s var(--ease);
}
.sbox.on{ transform:none; }
.sbox form{ display:flex; align-items:center; gap:0; max-width:820px; margin:0 auto; }
.sbox input[type=text]{
  flex:1 1 auto; height:54px; padding:0 20px; background:rgba(255,255,255,.06);
  border:1px solid var(--line-d); border-right:0; border-radius:var(--r-btn) 0 0 var(--r-btn);
  color:#fff; font-size:16px;
}
.sbox input[type=text]::placeholder{ color:rgba(255,255,255,.4); }
.sbox input[type=submit],.sbox button{
  height:54px; padding:0 30px; background:var(--blue-3); color:#fff; border:0; cursor:pointer;
  border-radius:0 var(--r-btn) var(--r-btn) 0; font-size:16px; font-weight:600;
}
.sbox-close{ position:absolute; right:32px; top:38px; color:rgba(255,255,255,.6); font-size:20px; cursor:pointer; }

/* 移动抽屉 */
.mnav{
  position:fixed; inset:0; z-index:1100; visibility:hidden; pointer-events:none;
}
.mnav.on{ visibility:visible; pointer-events:auto; }
.mnav-bg{ position:absolute; inset:0; background:rgba(6,25,49,.6); opacity:0; transition:opacity .3s var(--ease); }
.mnav.on .mnav-bg{ opacity:1; }
.mnav-panel{
  position:absolute; right:0; top:0; bottom:0; width:min(86vw,392px);
  background:var(--ink); display:flex; flex-direction:column;
  transform:translateX(102%); transition:transform .34s var(--ease);
  overflow-y:auto;
}
.mnav.on .mnav-panel{ transform:none; }
.mnav-hd{ display:flex; align-items:center; justify-content:space-between; padding:18px 22px; border-bottom:1px solid var(--line-d); }
.mnav-hd img{ height:34px; }
.mnav-x{ color:#fff; font-size:20px; cursor:pointer; }
.mnav-list{ padding:10px 0 30px; }
.mnav-list > li > a, .mnav-list > li > .mt{
  display:flex; align-items:center; justify-content:space-between;
  padding:15px 22px; color:rgba(255,255,255,.9); font-size:16px; border-bottom:1px solid rgba(255,255,255,.06);
}
.mnav-list > li > .mt i{ transition:transform .3s var(--ease); color:rgba(255,255,255,.5); font-size:13px; }
.mnav-list > li.open > .mt i{ transform:rotate(180deg); }
.mnav-sub{ display:none; background:rgba(0,0,0,.18); }
.mnav-list > li.open .mnav-sub{ display:block; }
.mnav-sub a{ display:block; padding:12px 22px 12px 36px; color:rgba(255,255,255,.68); font-size:14.5px; }
.mnav-foot{ margin-top:auto; padding:22px; border-top:1px solid var(--line-d); color:rgba(255,255,255,.6); font-size:14px; }
.mnav-foot .hd-btn{ width:100%; justify-content:center; margin-top:14px; }

/* ============================================================================
   5. 首屏
   ========================================================================== */
.hero{ position:relative; background:var(--ink-d); overflow:hidden; }
/* 幻灯是整版设计稿（2427x809，3:1）。容器必须与设计稿保持同一比例：
   一旦用固定像素高度，object-fit:cover 会在宽屏下把整幅图放大并裁掉上下，
   图内已烘焙的标题就会被切到"顶到上下边"。切勿改回 clamp()/固定高度。 */
/* max-height 仅作极端宽屏兜底（2560x1080 这类），正常屏不触发。 */
.hero-swiper{ width:100%; height:auto; aspect-ratio:2427/809; max-height:min(74vh,900px); }
.hero-slide{ position:relative; height:100%; }
.hero-slide .bg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center;
  display:block;
}
/* 幻灯本身即整版设计稿，遮罩只做“上下压边”，保证图内主标题清晰 */
.hero-slide::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(6,25,49,.34) 0%, rgba(6,25,49,0) 32%, rgba(6,25,49,.62) 100%);
}
/* 首屏底部说明条（后台广告位可改文案，位置在图内文字之下，不会重叠） */
.hero-cap{
  position:absolute; left:0; right:0; bottom:0; z-index:3; padding-bottom:64px; pointer-events:none;
}
.hero-cap .wrap{ display:flex; align-items:center; gap:12px; }
.hc-bar{ flex:0 0 auto; width:30px; height:2px; background:var(--blue-2); }
.hc-t{
  font-size: clamp(13px,1.02vw,14.5px); letter-spacing:.06em; color:rgba(255,255,255,.86);
  text-shadow:0 1px 10px rgba(0,0,0,.5);
}
.sr-only{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.hero-txt{
  position:relative; z-index:2; display:flex; align-items:center;
  height:100%; box-sizing:border-box; padding:40px 0;
}
.hero-txt .inner{ max-width:760px; }
.hero-eyebrow{
  display:inline-flex; align-items:center; gap:10px; margin-bottom:22px;
  font-size:13px; letter-spacing:.22em; text-transform:uppercase; color:var(--blue-2);
}
.hero-eyebrow::before{ content:""; width:34px; height:1px; background:var(--blue-2); }
.hero h1,.hero .h1{
  font-size: clamp(28px,3.6vw,52px); font-weight:700; color:#fff; line-height:1.28; margin:0 0 20px;
  letter-spacing:-.02em;
}
.hero p{ font-size: clamp(15px,1.15vw,18px); color:rgba(255,255,255,.74); max-width:640px; margin:0 0 34px; }
.hero-btns{ display:flex; flex-wrap:wrap; gap:14px; }
.hero-swiper .swiper-pagination{
  position:absolute; left:0; right:0; bottom:78px; z-index:5; text-align:right;
  max-width:var(--wrap); margin:0 auto; padding:0 32px; box-sizing:border-box;
}
.hero-swiper .swiper-pagination-bullet{
  width:26px; height:3px; border-radius:2px; background:rgba(255,255,255,.32); opacity:1; margin:0 0 0 8px !important;
  transition:background .3s var(--ease), width .3s var(--ease); display:inline-block;
}
.hero-swiper .swiper-pagination-bullet-active{ background:var(--blue-2); width:42px; }
.hero-arrow{
  position:absolute; z-index:5; bottom:64px; width:44px; height:44px; border:1px solid rgba(255,255,255,.24);
  border-radius:var(--r-btn); color:#fff; display:flex; align-items:center; justify-content:center;
  cursor:pointer; font-size:15px; transition:background .25s var(--ease), border-color .25s var(--ease);
}
.hero-arrow:hover{ background:var(--blue-3); border-color:var(--blue-3); }
.hero-prev{ right:112px; } .hero-next{ right:60px; }
.hero-arrow{ bottom:64px; }
.hero-arrow{ background-image:none !important; background-color:transparent; width:44px; height:44px; margin:0; }
.hero-arrow::after{ content:none !important; }

/* 首屏下方快速入口条（自有组件） */
.quickbar{
  position:relative; z-index:6; margin-top:-46px;
  background:#fff; border-radius:var(--r-card); box-shadow:var(--sh2);
  display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden;
}
.quickbar a{
  display:flex; align-items:center; gap:14px; padding:24px 26px;
  border-right:1px solid var(--line); transition:background .25s var(--ease);
}
.quickbar a:last-child{ border-right:0; }
.quickbar a:hover{ background:var(--sky); }
.quickbar i.q-ico{
  flex:0 0 auto; width:46px; height:46px; border-radius:var(--r-btn);
  background:var(--blue-lt); color:var(--blue); font-size:20px;
  display:flex; align-items:center; justify-content:center;
}
.quickbar > a > span{ display:block; }
.quickbar b{ display:block; font-size:16px; color:var(--t1); line-height:1.5; }
.quickbar .qb-t{ display:block; font-size:12.5px; color:var(--t3); letter-spacing:.06em; text-transform:uppercase; }
.quickbar .qb-ar{ margin-left:auto; color:var(--t3); transition:transform .25s var(--ease), color .25s var(--ease); }
.quickbar a:hover .qb-ar{ transform:translateX(4px); color:var(--blue-2); }

/* ============================================================================
   6. 区块标题
   ========================================================================== */
.stit{ position:relative; }
.stit-en{
  display:block; font-size: clamp(48px,6.2vw,96px); font-weight:800; line-height:1;
  letter-spacing:.04em; text-transform:uppercase; color:transparent;
  -webkit-text-stroke:1px rgba(11,37,69,.13); text-stroke:1px rgba(11,37,69,.13);
  margin:0 0 -22px; pointer-events:none; user-select:none; white-space:nowrap;
}
.sec--ink .stit-en,.sec--ink2 .stit-en,.hero .stit-en{ -webkit-text-stroke:1px rgba(255,255,255,.16); }
.stit-cn{ display:block; font-size: clamp(26px,2.7vw,40px); font-weight:700; color:var(--t1); line-height:1.2; }
.stit-cn::after{
  content:""; display:block; width:52px; height:3px; background:var(--blue-2); margin:18px 0 0;
}
.stit-desc{ margin:22px 0 0; font-size:15.5px; color:var(--t2); line-height:1.9; max-width:760px; }
.stit--ctr{ text-align:center; }
.stit--ctr .stit-cn::after{ margin-left:auto; margin-right:auto; }
.stit--ctr .stit-desc{ margin-left:auto; margin-right:auto; }
.stit--sm .stit-cn{ font-size: clamp(22px,2vw,30px); }
.stit-hd{ display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:clamp(30px,3.4vw,52px); }
.stit-hd .stit{ flex:1 1 auto; }
.stit-more{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; font-size:14.5px; font-weight:600;
  color:var(--blue); padding-bottom:6px; border-bottom:1px solid var(--line);
}
.stit-more:hover{ color:var(--blue-2); border-color:var(--blue-2); }
.sec--ink .stit-more,.sec--ink2 .stit-more{ color:var(--blue-2); border-color:var(--line-d); }
/* 深色区块内的标题必须转白，否则墨蓝底 + 深色文字不可读 */
.sec--ink .stit-cn,.sec--ink2 .stit-cn{ color:#fff; }
.sec--ink .stit-desc,.sec--ink2 .stit-desc{ color:rgba(255,255,255,.60); }
.sec--ink .stit-more:hover,.sec--ink2 .stit-more:hover{ color:#fff; border-color:#fff; }

/* ============================================================================
   7. 按钮
   ========================================================================== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  height:48px; padding:0 28px; border:1px solid transparent; border-radius:var(--r-btn);
  font-size:15.5px; font-weight:600; cursor:pointer; white-space:nowrap;
  transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease);
}
.btn i{ font-size:14px; transition:transform .25s var(--ease); }
.btn:hover i{ transform:translateX(4px); }
.btn-blue{ background:var(--blue-3); color:#fff !important; }
.btn-blue:hover{ background:var(--blue-2); transform:translateY(-2px); }
.btn-line{ border-color:rgba(255,255,255,.30); color:#fff !important; }
.btn-line:hover{ background:#fff; color:var(--ink) !important; }
.btn-line-d{ border-color:var(--line); color:var(--t1) !important; }
.btn-line-d:hover{ background:var(--ink); border-color:var(--ink); color:#fff !important; }
.btn-sm{ height:40px; padding:0 20px; font-size:14px; }
.btn-lg{ height:54px; padding:0 34px; font-size:16.5px; }

/* 旧模板遗留的按钮类，保留兜底避免露出裸样式 */
.amore,.amore2,.amore3{ display:inline-flex; align-items:center; gap:8px; font-size:14.5px; font-weight:600; color:var(--blue); }
.amore::after{ content:"\2192"; }
.btn-primary{ display:inline-flex; align-items:center; justify-content:center; gap:8px; height:48px; padding:0 28px; background:var(--blue-3); color:#fff !important; border-radius:var(--r-btn); font-weight:600; }
.btn-primary:hover{ background:var(--blue-2); }
.btn-outline{ display:inline-flex; align-items:center; justify-content:center; gap:8px; height:48px; padding:0 28px; border:1px solid var(--line); color:var(--t1) !important; border-radius:var(--r-btn); font-weight:600; background:#fff; }
.btn-outline:hover{ border-color:var(--ink); color:#fff !important; background:var(--ink); }
.sec--ink .btn-outline{ border-color:rgba(255,255,255,.3); background:transparent; color:#fff !important; }
.sec--ink .btn-outline:hover{ background:#fff; color:var(--ink) !important; }

/* ============================================================================
   8. 产品线（四列 · 白图框 + 关键词 + 蓝按钮）
   ========================================================================== */
.plines{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap: clamp(30px,3.6vw,58px);
}
.pline{
  padding:0; position:relative; display:flex; flex-direction:column;
  transition:transform .35s var(--ease);
}
.pline:last-child{ box-shadow:none; }
.pline::before{ display:none; }
.pline:hover{ transform:translateY(-5px); }
.pline-frame{
  background:var(--sky); border-radius:var(--r-img); padding:clamp(22px,2.4vw,38px);
  aspect-ratio:16/10; display:flex; align-items:center; justify-content:center; overflow:hidden;
  box-shadow:0 20px 52px rgba(0,0,0,.32);
}
.pline-frame img{ width:100%; height:100%; object-fit:contain; transition:transform .6s var(--ease); }
.pline:hover .pline-frame img{ transform:scale(1.05); }
.pline-title{ margin:26px 0 14px; font-size:clamp(19px,1.6vw,23px); font-weight:700; color:#fff; line-height:1.45; }
.pline-title a{ color:#fff; }
.pline-desc{
  font-size:14px; line-height:2.1; color:rgba(255,255,255,.60); min-height:0; margin:0 0 22px; flex:1 1 auto;
}
.pline-desc a{
  display:block; font-size:14px; line-height:2.15; color:rgba(255,255,255,.60);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.pline-desc a::before{
  content:""; display:inline-block; width:4px; height:4px; background:var(--blue-2);
  vertical-align:2px; margin-right:10px; opacity:.7;
}
.pline-desc a:hover{ color:#fff; }
.pline .btn{ width:100%; margin-top:auto; }

/* ============================================================================
   9. 关于我们
   ========================================================================== */
.aboutx{ display:grid; grid-template-columns: 1fr 1.06fr; gap: clamp(34px,5vw,86px); align-items:center; }
.aboutx-txt .eyebrow{
  display:inline-block; font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:var(--blue-2); margin-bottom:16px;
}
.aboutx-txt h2{ font-size: clamp(21px,1.9vw,29px); line-height:1.6; margin-bottom:20px; }
.aboutx-txt .lead{ font-size:16px; line-height:2; color:var(--t2); margin-bottom:14px; }
.stats{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap: clamp(12px,1.6vw,26px); margin:30px 0 32px; }
.stat{ min-width:0; }
.stat b{
  display:block; font-size: clamp(20px,1.9vw,27px); font-weight:800; line-height:1.15;
  color:var(--blue); letter-spacing:-.01em;
}
.stat b i{ font-size:.46em; font-weight:700; margin-left:4px; letter-spacing:0; }
.stat span{ display:block; margin-top:8px; font-size:12.5px; line-height:1.75; color:var(--t3); }
.aboutx-btns{ display:flex; flex-wrap:wrap; gap:14px; }
.aboutx-pic{ position:relative; }
.aboutx-pic .imgwrap{
  border-radius:var(--r-card); overflow:hidden; box-shadow:var(--sh2);
}
.aboutx-pic .imgwrap img{ display:block; width:100%; aspect-ratio:3/2; object-fit:cover; }
.aboutx-badge{
  position:absolute; left:-24px; bottom:34px; background:var(--ink); color:#fff;
  padding:18px 22px; border-radius:var(--r-card); box-shadow:var(--sh3); max-width:288px;
}
.aboutx-badge b{ display:block; font-size:15px; margin-bottom:6px; }
.aboutx-badge span{ font-size:12px; color:rgba(255,255,255,.6); line-height:1.65; display:block; }

/* ============================================================================
   10. 行业应用
   ========================================================================== */
.inds{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); }
.ind{
  display:block; background:#fff; border:1px solid var(--line); border-radius:var(--r-card);
  overflow:hidden; transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.ind:hover{ transform:translateY(-4px); box-shadow:var(--sh2); border-color:transparent; }
.ind .imgwrap{ overflow:hidden; }
.ind .imgwrap img{ display:block; width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform .7s var(--ease); }
.ind:hover .imgwrap img{ transform:scale(1.06); }
.ind .txt{ padding:24px 26px 28px; }
.ind .txt b{ display:block; font-size:18.5px; color:var(--t1); margin-bottom:10px; }
.ind .txt p{ font-size:14.5px; color:var(--t2); margin:0; line-height:1.9; }
.ind .txt .go{ display:inline-flex; align-items:center; gap:7px; margin-top:16px; font-size:13.5px; font-weight:600; color:var(--blue); }

/* ============================================================================
   11. 优势条（4 格，深色）
   ========================================================================== */
.feats{
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
}
.feats > *{
  padding: clamp(24px,2.6vw,38px) 26px; text-align:center;
  border-right:1px solid var(--line-d); display:block;
}
.feats > *:last-child{ border-right:0; }
.feats i{ display:flex; align-items:center; justify-content:center; margin:0 auto 18px; width:56px; height:56px; }
.feats i img{ width:56px; height:56px; object-fit:contain; filter:brightness(0) invert(1) opacity(.88); }
.feats b,.feats dt b{ display:block; font-size:16px; font-weight:600; color:#fff; line-height:1.6; }
.feats p{ margin:10px 0 0; font-size:13.5px; color:rgba(255,255,255,.56); line-height:1.8; }
.feats dt{ padding: clamp(24px,2.6vw,38px) 22px; text-align:center; border-right:1px solid var(--line-d); }
.feats dt:last-child{ border-right:0; }
.feats dt i{ display:flex; align-items:center; justify-content:center; margin:0 auto 18px; width:56px; height:56px; }
.feats dt i img{ width:56px; height:56px; object-fit:contain; filter:brightness(0) invert(1) opacity(.88); }

/* ============================================================================
   12. 案例
   ========================================================================== */
.cases{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); }
.case{
  display:block; background:rgba(255,255,255,.04); border:1px solid var(--line-d);
  border-radius:var(--r-card); overflow:hidden;
  transition:transform .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease);
}
.case:hover{ transform:translateY(-4px); background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.28); }
.case .imgwrap{ overflow:hidden; }
.case .imgwrap img{ display:block; width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform .7s var(--ease); }
.case:hover .imgwrap img{ transform:scale(1.06); }
.case .txt{ padding:24px 26px 28px; }
.case .txt b{ display:block; font-size:17.5px; color:#fff; margin-bottom:10px; line-height:1.6; }
.case .txt p{ margin:0 0 16px; font-size:14px; color:rgba(255,255,255,.58); line-height:1.85;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.case .txt .go{ display:inline-flex; align-items:center; gap:7px; font-size:13.5px; font-weight:600; color:var(--blue-2); }

/* ============================================================================
   13. 新闻
   ========================================================================== */
.newsx{ display:grid; grid-template-columns: 1.06fr 1fr; gap: clamp(26px,3vw,44px); }
.ndate{
  display:inline-flex; align-items:flex-start; gap:6px; line-height:1;
  font-variant-numeric:tabular-nums;
}
.ndate b{ font-size:34px; font-weight:800; color:var(--blue); letter-spacing:-.03em; line-height:.92; }
.ndate i{ display:flex; flex-direction:column; font-size:12px; color:var(--t3); line-height:1.45; padding-top:2px; }
.ndate i em{ font-style:normal; }
.sec--ink .ndate b{ color:var(--blue-2); }
.sec--ink .ndate i{ color:rgba(255,255,255,.5); }

.newsbig{
  display:flex; flex-direction:column; background:#fff; border:1px solid var(--line);
  border-radius:var(--r-card); overflow:hidden; height:100%;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.newsbig:hover{ transform:translateY(-4px); box-shadow:var(--sh2); }
.newsbig .imgwrap{ overflow:hidden; }
.newsbig .imgwrap img{ display:block; width:100%; aspect-ratio:16/9.6; object-fit:cover; transition:transform .7s var(--ease); }
.newsbig:hover .imgwrap img{ transform:scale(1.05); }
.newsbig .txt{ padding: clamp(22px,2.2vw,32px); display:flex; flex-direction:column; flex:1 1 auto; }
.newsbig .txt b{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  font-size: clamp(19px,1.7vw,24px); color:var(--t1); line-height:1.5; margin:16px 0 14px;
}
.newsbig .txt p{
  font-size:14.5px; color:var(--t2); line-height:1.9; margin:0 0 20px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.newsbig .txt i.more{ margin-top:auto; display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; color:var(--blue); }

.newslist{ display:flex; flex-direction:column; gap:16px; }
.newslist li{ flex:0 0 auto; }
.newsitem{
  display:flex; gap:20px; align-items:flex-start; background:#fff; border:1px solid var(--line);
  border-radius:var(--r-card); padding:20px 22px;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.newsitem:hover{ transform:translateX(4px); box-shadow:var(--sh1); border-color:#CFDEEE; }
.newsitem .imgwrap{ flex:0 0 148px; border-radius:var(--r-img); overflow:hidden; }
.newsitem .imgwrap img{ display:block; width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .6s var(--ease); }
.newsitem:hover .imgwrap img{ transform:scale(1.06); }
.newsitem .txt{ flex:1 1 auto; min-width:0; }
.newsitem .txt b{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  font-size:16.5px; color:var(--t1); line-height:1.55; margin:10px 0 8px;
}
.newsitem .txt p{
  margin:0; font-size:13.5px; color:var(--t3); line-height:1.8;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.newsitem .ndate b{ font-size:26px; }
.newsitem .go{ flex:0 0 auto; align-self:center; width:38px; height:38px; border:1px solid var(--line); border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:var(--blue); font-size:13px;
  transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease); }
.newsitem:hover .go{ background:var(--blue-3); border-color:var(--blue-3); color:#fff; }
.sec--ink .newsitem{ background:rgba(255,255,255,.04); border-color:var(--line-d); }
.sec--ink .newsitem .txt b{ color:#fff; }
.sec--ink .newsitem .txt p{ color:rgba(255,255,255,.5); }

/* ============================================================================
   14. 合作伙伴
   ========================================================================== */
.ptns{ display:grid; grid-template-columns:repeat(6,1fr); gap:1px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.12); border-radius:var(--r-card); overflow:hidden; }
.ptn{ background:#fff; aspect-ratio: 16/7.4; display:flex; align-items:center; justify-content:center; padding:16px 18px; transition:background .3s var(--ease); }
.ptn img{ max-width:100%; max-height:100%; object-fit:contain; display:block; transition:transform .4s var(--ease); }
.ptn:hover{ background:var(--sky); }
.ptn:hover img{ transform:scale(1.06); }

/* ============================================================================
   15. CTA
   ========================================================================== */
.cta{
  background:linear-gradient(120deg, var(--ink) 0%, var(--ink-2) 52%, var(--blue) 100%);
  position:relative; overflow:hidden;
}
.cta-in{ display:flex; align-items:center; justify-content:space-between; gap:36px; padding: clamp(38px,4vw,58px) 0; position:relative; z-index:2; }
.cta h2{ font-size: clamp(24px,2.4vw,34px); color:#fff; margin-bottom:12px; }
.cta p{ margin:0; color:rgba(255,255,255,.72); font-size:15.5px; }
.cta-btns{ display:flex; flex-wrap:wrap; gap:14px; flex:0 0 auto; }

/* ============================================================================
   16. 页脚
   ========================================================================== */
.ft{ background:var(--ink-d); color:rgba(255,255,255,.56); font-size:14px; }
.ft-top{ display:grid; grid-template-columns: 262px 1fr; gap: clamp(30px,4vw,64px); padding: clamp(48px,5vw,72px) 0 30px; }
.ft-brand img{ height:40px; width:auto; margin-bottom:22px; }
.ft-brand p{ font-size:13.5px; line-height:1.9; color:rgba(255,255,255,.5); margin:0 0 20px; }
.ft-qr{ display:flex; gap:18px; align-items:center; }
.ft-qr .ph{
  width:96px; height:96px; background:rgba(255,255,255,.06); border:1px solid var(--line-d);
  border-radius:var(--r-img); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  color:rgba(255,255,255,.5); font-size:11.5px;
}
.ft-qr .ph i{ font-size:26px; }
.ft-qr span{ font-size:12.5px; line-height:1.8; color:rgba(255,255,255,.45); }
.ft-cols{ display:grid; grid-template-columns:repeat(5,1fr); gap:24px; }
.ft-col b{ display:block; font-size:15.5px; color:#fff; margin-bottom:18px; font-weight:600; }
.ft-col a{ display:block; font-size:13.5px; color:rgba(255,255,255,.56); line-height:2.3; }
.ft-col a:hover{ color:var(--blue-2); padding-left:4px; }
.ft-info{ border-top:1px solid var(--line-d); padding:26px 0; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ft-info div{ display:flex; gap:12px; align-items:flex-start; font-size:13.5px; line-height:1.8; }
.ft-info i{ color:var(--blue-2); font-size:17px; margin-top:3px; }
.ft-bot{ border-top:1px solid var(--line-d); padding:20px 0; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; font-size:13px; color:rgba(255,255,255,.42); }
.ft-bot a{ color:rgba(255,255,255,.42); }
.ft-bot a:hover{ color:#fff; }
.ft-links{ display:flex; flex-wrap:wrap; gap:16px; }

/* 移动底部导航 + 回顶 */
.mbar{ display:none; }
.gotop{
  position:fixed; right:22px; bottom:96px; z-index:800; width:46px; height:46px; border-radius:var(--r-btn);
  background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; font-size:16px;
  box-shadow:var(--sh2); opacity:0; visibility:hidden; transition:opacity .3s var(--ease), visibility .3s, background .25s;
}
.gotop.on{ opacity:1; visibility:visible; }
.gotop:hover{ background:var(--blue-3); }

/* ============================================================================
   17. 内页头部
   ========================================================================== */
.pgban{
  position:relative;
  /* 栏目未配封面图时，使用自有默认底纹，保证每个内页头部都有设计感 */
  background:var(--ink) url(../images/pgban-default.jpg) center/cover no-repeat;
  overflow:hidden;
  display:flex; align-items:center;
}
.pgban .pbin{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.20;
}
.pgban::before{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background: linear-gradient(90deg, rgba(6,25,49,.88) 0%, rgba(6,25,49,.60) 46%, rgba(6,25,49,.20) 100%);
}
.pgban-in{ position:relative; z-index:2; padding: clamp(38px,4.2vw,62px) 0; width:100%; }
.crumb{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13px; color:rgba(255,255,255,.5); margin-bottom:16px; }
.crumb a{ color:rgba(255,255,255,.5); }
.crumb a:hover{ color:#fff; }
.crumb span,.crumb i{ color:rgba(255,255,255,.34); }
.crumb .iconfont{ color:rgba(255,255,255,.5); font-size:14px; }
.pgban h1,.pgban h2,.pgban .pbt{ font-size: clamp(24px,2.7vw,40px); color:#fff; line-height:1.3; margin:0; }
.pgban .pbe{ display:block; margin-top:12px; font-size:13px; letter-spacing:.24em; text-transform:uppercase; color:var(--blue-2); }

/* ============================================================================
   18. 列表页
   ========================================================================== */
.pfilter{
  display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; padding:22px 0;
}
.pfilter a{
  display:inline-flex; align-items:center; justify-content:center; text-align:center;
  min-height:42px; padding:8px 18px; font-size:14.5px; line-height:1.45;
  border:1px solid var(--line); border-radius:var(--r-btn); color:var(--t2); background:#fff;
  transition:all .25s var(--ease);
}
.pfilter a:hover{ border-color:var(--blue-2); color:var(--blue); }
.pfilter a.cur{ background:var(--ink); border-color:var(--ink); color:#fff; }

.pgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); }
.pgrid--4{ grid-template-columns:repeat(4,1fr); }
.pcard{
  display:flex; flex-direction:column; background:#fff; border:1px solid var(--line);
  border-radius:var(--r-card); overflow:hidden; height:100%;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.pcard:hover{ transform:translateY(-4px); box-shadow:var(--sh2); border-color:transparent; }
.pcard .imgwrap{ background:var(--sky); padding:18px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.pcard .imgwrap img{ width:100%; aspect-ratio:7/4; object-fit:contain; transition:transform .6s var(--ease); }
.pcard:hover .imgwrap img{ transform:scale(1.05); }
.pcard .txt{ padding:22px 24px 26px; display:flex; flex-direction:column; flex:1 1 auto; }
.pcard .txt b{ font-size:17px; color:var(--t1); line-height:1.55; margin-bottom:10px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pcard .txt p{ font-size:13.5px; color:var(--t3); line-height:1.85; margin:0 0 18px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pcard .txt i.more{ margin-top:auto; display:inline-flex; align-items:center; gap:7px; font-size:13.5px; font-weight:600; color:var(--blue); }

/* 文章列表（左列表 + 右栏） */
.lay{ display:grid; grid-template-columns: 1fr 336px; gap: clamp(26px,3vw,46px); align-items:start; }
.alist{ display:flex; flex-direction:column; gap:20px; }
.aitem{
  display:flex; gap:26px; background:#fff; border:1px solid var(--line); border-radius:var(--r-card);
  padding:24px; transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.aitem:hover{ transform:translateY(-3px); box-shadow:var(--sh2); border-color:transparent; }
.aitem .imgwrap{ flex:0 0 264px; border-radius:var(--r-img); overflow:hidden; }
.aitem .imgwrap img{ display:block; width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform .7s var(--ease); }
.aitem:hover .imgwrap img{ transform:scale(1.05); }
.aitem .txt{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; }
.aitem .txt b{ font-size:19px; color:var(--t1); line-height:1.5; margin:12px 0 12px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.aitem .txt p{ font-size:14.5px; color:var(--t2); line-height:1.9; margin:0 0 18px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.aitem .meta{ display:flex; flex-wrap:wrap; gap:18px; font-size:13px; color:var(--t3); }
.aitem .meta i{ margin-right:5px; }
.aitem .txt i.more{ margin-top:auto; display:inline-flex; align-items:center; gap:7px; font-size:13.5px; font-weight:600; color:var(--blue); }
.aitem--row{ padding:0; border:0; gap:0; background:transparent; }
.aitem--row:hover{ transform:none; box-shadow:none; }

/* 侧栏 */
.side{ display:flex; flex-direction:column; gap:24px; position:sticky; top:calc(var(--hd-h) + 20px); }
.widget{ background:#fff; border:1px solid var(--line); border-radius:var(--r-card); padding:26px; }
.widget > b{ display:flex; align-items:center; gap:10px; font-size:16.5px; color:var(--t1); margin-bottom:20px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.widget > b::before{ content:""; width:3px; height:16px; background:var(--blue-2); border-radius:2px; }
.widget--ink{ background:var(--ink); border-color:var(--ink); color:rgba(255,255,255,.66); }
.widget--ink > b{ color:#fff; border-color:var(--line-d); }
.side-search{ display:flex; }
.side-search input[type=text]{ flex:1 1 auto; height:46px; padding:0 16px; border:1px solid var(--line); border-right:0; border-radius:var(--r-btn) 0 0 var(--r-btn); background:var(--sky); }
.side-search input[type=submit],.side-search button{ width:56px; height:46px; border:0; background:var(--blue-3); color:#fff; cursor:pointer; border-radius:0 var(--r-btn) var(--r-btn) 0; font-size:15px; }
.side-search button i{ font-size:16px; color:#fff; }
.rec-list li + li{ margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.rec-list a{ display:flex; gap:14px; align-items:flex-start; }
.rec-list .imgwrap{ flex:0 0 84px; border-radius:var(--r-img); overflow:hidden; }
.rec-list .imgwrap img{ display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.rec-list p{ margin:0; font-size:14px; color:var(--t2); line-height:1.6;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rec-list a:hover p{ color:var(--blue); }
.tagcloud{ display:flex; flex-wrap:wrap; gap:9px; }
.tagcloud a{ display:inline-block; padding:6px 14px; font-size:13px; color:var(--t2); background:var(--sky); border-radius:var(--r-btn); }
.tagcloud a:hover{ background:var(--blue-3); color:#fff; }
.side-cta{ text-align:center; }
.side-cta p{ font-size:14px; line-height:1.9; margin:0 0 18px; }
.side-cta .btn{ width:100%; }

/* 案例网格（三列大卡） */
.casegrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); }
.casecard{
  display:block; background:#fff; border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.casecard:hover{ transform:translateY(-4px); box-shadow:var(--sh2); }
.casecard .imgwrap{ overflow:hidden; }
.casecard .imgwrap img{ display:block; width:100%; aspect-ratio:16/11; object-fit:cover; transition:transform .7s var(--ease); }
.casecard:hover .imgwrap img{ transform:scale(1.06); }
.casecard .txt{ padding:22px 24px 26px; }
.casecard .txt b{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  font-size:17px; color:var(--t1); line-height:1.55; margin-bottom:10px; }
.casecard .txt p{ margin:0; font-size:13.5px; color:var(--t3); line-height:1.8;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* 空状态 */
.empty{ padding:70px 20px; text-align:center; color:var(--t3); font-size:15px; }

/* ============================================================================
   19. 详情页
   ========================================================================== */
.pdetail{ display:grid; grid-template-columns: 1.02fr 1fr; gap: clamp(30px,4vw,72px); align-items:start; }
.pgal{ border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden; background:var(--sky); padding:26px; }
.pgal .swiper-container{ width:100%; }
.pgal .swiper-slide{ display:flex; align-items:center; justify-content:center; }
.pgal .swiper-slide img{ width:100%; max-height:460px; object-fit:contain; display:block; }
.pgal .swiper-pagination{ position:static; margin-top:18px; text-align:center; }
.pgal .swiper-pagination-bullet{ background:var(--blue); opacity:.3; }
.pgal .swiper-pagination-bullet-active{ opacity:1; }
.pgal .thumbs{ display:flex; gap:10px; margin-top:18px; flex-wrap:wrap; }
.pgal .thumbs .th{ width:66px; height:52px; border:1px solid var(--line); border-radius:4px; overflow:hidden; cursor:pointer; background:#fff; }
.pgal .thumbs .th img{ width:100%; height:100%; object-fit:contain; }
.pgal .thumbs .th.on{ border-color:var(--blue-2); box-shadow:0 0 0 2px rgba(55,138,221,.2); }

.pinfo .eyebrow{ display:inline-block; font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:var(--blue-2); margin-bottom:12px; }
.pinfo h1{ font-size: clamp(24px,2.5vw,36px); line-height:1.35; margin-bottom:18px; }
.pinfo .lead{ font-size:15.5px; line-height:1.95; color:var(--t2); padding-bottom:22px; border-bottom:1px solid var(--line); margin-bottom:22px; }
.pinfo .specs{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden; margin-bottom:26px; }
.pinfo .specs > div{ background:#fff; padding:16px 18px; }
.pinfo .specs span{ display:block; font-size:12.5px; color:var(--t3); margin-bottom:6px; }
.pinfo .specs b{ font-size:14.5px; color:var(--t1); font-weight:600; line-height:1.6; }
.pinfo .acts{ display:flex; flex-wrap:wrap; gap:14px; }

.ptabs{ margin-top: clamp(40px,4.4vw,72px); }
.ptabs-hd{ display:flex; flex-wrap:wrap; gap:34px; border-bottom:1px solid var(--line); }
.ptabs-hd li{ position:relative; }
.ptabs-hd a{ display:block; padding:0 2px 18px; font-size:16.5px; font-weight:600; color:var(--t3); }
.ptabs-hd li.on a,.ptabs-hd a:hover{ color:var(--t1); }
.ptabs-hd li.on::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--blue-3); }
.ptabs-bd{ padding: clamp(26px,3vw,42px) 0 0; }
.ptabs-pane{ display:none; }
.ptabs-pane.on{ display:block; }
.pbody{ font-size:16px; line-height:2.05; color:var(--t2); max-width:var(--read); }
.pbody p{ margin:0 0 1.1em; }
.pbody h2{ font-size:23px; margin:1.7em 0 .7em; }
.pbody h3{ font-size:19px; margin:1.5em 0 .6em; }
.pbody img{ max-width:100%; height:auto; border-radius:var(--r-img); margin:.6em 0; }
.pbody ul,.pbody ol{ list-style:disc; padding-left:1.5em; margin:0 0 1.1em; }
.pbody ol{ list-style:decimal; }
.pbody li{ margin:.35em 0; }
.pbody table{ width:100%; margin:1.2em 0; border:1px solid var(--line); }
.pbody th,.pbody td{ padding:12px 16px; border:1px solid var(--line); font-size:14.5px; text-align:left; }
.pbody th{ background:var(--sky); font-weight:600; color:var(--t1); }
.pbody a{ color:var(--blue); text-decoration:underline; }

/* 文章详情 */
.artwrap{ display:grid; grid-template-columns: 1fr 336px; gap: clamp(26px,3vw,46px); align-items:start; }
.art-hd{ padding-bottom:26px; border-bottom:1px solid var(--line); margin-bottom:30px; }
.art-hd h1{ font-size: clamp(23px,2.4vw,34px); line-height:1.42; margin-bottom:18px; }
.art-meta{ display:flex; flex-wrap:wrap; gap:20px; font-size:13.5px; color:var(--t3); }
.art-meta i{ margin-right:6px; }
.art-meta a{ color:var(--t3); }
.art-meta a:hover{ color:var(--blue); }
.art-cover{ margin:0 0 30px; border-radius:var(--r-card); overflow:hidden; }
.art-cover img{ display:block; width:100%; max-height:460px; object-fit:cover; }
.pnav{ display:flex; flex-wrap:wrap; gap:18px; justify-content:space-between; margin-top:44px; padding-top:26px; border-top:1px solid var(--line); }
.pnav a{ flex:1 1 44%; min-width:240px; padding:18px 22px; background:var(--sky); border-radius:var(--r-card); font-size:14.5px; color:var(--t2); line-height:1.7;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pnav a:hover{ background:var(--ink); color:#fff; }
.pnav a b{ color:var(--t3); font-weight:600; margin-right:6px; }

/* 资料下载卡片（详情页） */
.dlcard{ margin:0 0 32px; border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden; background:#fff; box-shadow:var(--sh1); }
.dlcard-hd{ display:flex; align-items:center; gap:10px; padding:16px 22px; background:var(--ink); color:#fff; font-size:15px; font-weight:600; }
.dlcard-hd i{ color:var(--blue-2); }
.dl-list{ list-style:none; margin:0; padding:0; }
.dl-list li{ display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; padding:18px 22px; border-bottom:1px solid var(--line); }
.dl-list li:last-child{ border-bottom:0; }
.dl-info{ min-width:0; }
.dl-info b{ display:block; font-size:15.5px; color:var(--t1); font-weight:600; margin-bottom:6px; word-break:break-all; }
.dl-info span{ font-size:13px; color:var(--t3); text-transform:uppercase; }
.dl-empty{ margin:0; padding:22px; font-size:14.5px; color:var(--t3); }
.btn-sm{ padding:10px 18px; font-size:14px; }
.pnav a:hover b{ color:rgba(255,255,255,.6); }
.pnav .next{ text-align:right; }

/* 单页（关于我们/企业文化） */
.single-hero{ display:grid; grid-template-columns:1fr 1fr; gap: clamp(30px,4vw,70px); align-items:center; }
.single-hero .pic{ border-radius:var(--r-card); overflow:hidden; box-shadow:var(--sh2); }
.single-hero .pic img{ display:block; width:100%; aspect-ratio:16/11; object-fit:cover; }
/* 单页栏目未上传封面图时（如 /repair/），只有文本一列 → 让它铺满整行，避免右半屏空着 */
.single-hero > div:only-child{ grid-column:1/-1; }

/* ============================================================================
   20. 表单与留言
   ========================================================================== */
.formcard{ background:#fff; border:1px solid var(--line); border-radius:var(--r-card); padding: clamp(26px,3vw,42px); }
.formcard h3{ font-size:22px; margin-bottom:8px; }
.formcard .sub{ font-size:14px; color:var(--t3); margin:0 0 26px; }
.ps-table{ width:100%; }
.ps-table tr td{ padding:0 0 16px; vertical-align:top; }
.ps-table tr.tr td{ padding:0; height:0; }
.ps-table td:first-child{ width:132px; padding-right:16px; padding-top:12px; font-size:14.5px; color:var(--t1); }
.ps-table td .req,.ps-table td span{ color:#D64545; }
.ps-table input[type=text],.ps-table input[type=tel],.ps-table input[type=email],.ps-table textarea,.formcard input[type=text],.formcard textarea{
  width:100%; padding:13px 16px; border:1px solid var(--line); border-radius:var(--r-btn);
  background:var(--sky); font-size:15px; color:var(--t1); transition:border-color .25s var(--ease), background .25s var(--ease);
}
.ps-table input:focus,.ps-table textarea:focus{ border-color:var(--blue-2); background:#fff; }
.ps-table textarea{ min-height:132px; resize:vertical; }
.formcard .sub-btn,.ps-table input[type=submit],.formcard input[type=submit],.submit-btn{
  height:52px; padding:0 44px; border:0; border-radius:var(--r-btn); background:var(--blue-3); color:#fff;
  font-size:16px; font-weight:600; cursor:pointer; transition:background .25s var(--ease), transform .25s var(--ease);
}
.formcard .sub-btn:hover,.ps-table input[type=submit]:hover{ background:var(--blue-2); transform:translateY(-2px); }

.contactx{ display:grid; grid-template-columns: 1fr 1.12fr; gap: clamp(28px,3.6vw,60px); align-items:start; }
.cinfo{ background:var(--ink); color:rgba(255,255,255,.68); border-radius:var(--r-card); padding: clamp(28px,3vw,42px); }
.cinfo h2{ color:#fff; font-size:24px; margin-bottom:10px; }
.cinfo > p{ font-size:14px; margin-bottom:28px; line-height:1.9; }
.cinfo dl dt{ display:flex; gap:14px; padding:18px 0; border-top:1px solid var(--line-d); }
.cinfo dl dt:first-of-type{ border-top:0; }
.cinfo dl i{ flex:0 0 auto; width:38px; height:38px; border-radius:var(--r-btn); background:rgba(255,255,255,.07);
  display:flex; align-items:center; justify-content:center; color:var(--blue-2); font-size:16px; }
.cinfo dl b{ display:block; font-size:12.5px; color:rgba(255,255,255,.44); font-weight:500; margin-bottom:4px; }
.cinfo dl span{ display:block; font-size:15px; color:#fff; line-height:1.7; }
.cinfo .cinfo-btns{ display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }

/* 留言提交后的提示（EyouCMS 输出） */
.eyou-message,.alert{ padding:14px 18px; border-radius:var(--r-btn); font-size:14.5px; margin-bottom:18px; }
.alert-success,.eyou-message.success{ background:#EAF6EE; color:#1F7A45; border:1px solid #C7E6D3; }
.alert-error,.eyou-message.error{ background:#FDECEC; color:#B33A3A; border:1px solid #F5CFCF; }

/* ============================================================================
   21. 分页与标签
   ========================================================================== */
.pager{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top: clamp(34px,3.6vw,56px); }
.pager a,.pager span,.pagination a,.pagination span,.pagination li{
  display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 14px;
  border:1px solid var(--line); border-radius:var(--r-btn); font-size:14.5px; color:var(--t2); background:#fff;
  transition:all .25s var(--ease);
}
.pager a:hover,.pagination a:hover{ background:var(--ink); border-color:var(--ink); color:#fff; }
.pager .active,.pager .cur,.pagination .active,.pagination .cur{ background:var(--blue-3); border-color:var(--blue-3); color:#fff; }
.pagination{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top: clamp(34px,3.6vw,56px); list-style:none; }
.digg{ margin:0; }

.taglist{ display:flex; flex-wrap:wrap; gap:12px; }
.taglist a{ display:inline-flex; align-items:center; gap:8px; height:44px; padding:0 22px; background:#fff; border:1px solid var(--line); border-radius:var(--r-btn); font-size:14.5px; color:var(--t2); }
.taglist a:hover{ border-color:var(--blue-2); color:var(--blue); }
.taglist a i{ font-size:12px; color:var(--t3); }

/* 通用兜底：老模板可能残留的类 */
.listpro,.listnews,.listcase,.recnew,.nyhzkh,.proapp,.index-ab,.index-new,.index-cla,.inab-ys{ list-style:none; }

/* ============================================================================
   22. 移动端
   ========================================================================== */
@media (max-width:1280px){
  .hd-nav .hd-item > a{ padding:0 11px; font-size:14.5px; }
  .hd-tel{ display:none; }
  .ft-cols{ grid-template-columns:repeat(4,1fr); }
  .ptns{ grid-template-columns:repeat(5,1fr); }
}

@media (max-width:1100px){
  .hd-nav{ display:none; }
  .hd-burger{ display:flex; }
  .hd-in{ justify-content:space-between; }
  .lay,.artwrap{ grid-template-columns:1fr; }
  .side{ position:static; }
  .pgrid,.pgrid--4,.casegrid{ grid-template-columns:repeat(2,1fr); }
  .pfilter{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .plines{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pline{ border-bottom:1px solid var(--line-d); }
  .pline:nth-child(2n){ box-shadow:none; }
  .aboutx{ grid-template-columns:1fr; }
  .aboutx-pic{ order:-1; }
  .aboutx-badge{ left:16px; bottom:16px; padding:16px 18px; }
  .newsx{ grid-template-columns:1fr; }
  .cases{ grid-template-columns:repeat(2,1fr); }
  .inds{ grid-template-columns:repeat(2,1fr); }
  .feats,.feats dt{ grid-template-columns:repeat(2,1fr); }
  .feats{ grid-template-columns:repeat(2,1fr); }
  .feats > *,.feats dt{ border-right:0; border-bottom:1px solid var(--line-d); }
  .pdetail{ grid-template-columns:1fr; }
  .contactx{ grid-template-columns:1fr; }
  .ft-top{ grid-template-columns:1fr; }
  .ft-cols{ grid-template-columns:repeat(3,1fr); }
  .ptns{ grid-template-columns:repeat(4,1fr); }
  .quickbar{ grid-template-columns:repeat(2,1fr); margin-top:-30px; }
  .quickbar a:nth-child(2n){ border-right:0; }
  .quickbar a:nth-child(-n+2){ border-bottom:1px solid var(--line); }
}

@media (max-width:820px){
  :root{ --hd-h:64px; }
  body{ font-size:15px; }
  .wrap,.wrap-nar{ padding:0 18px; }
  .tp{ display:none; }
  .hd-logo img{ height:34px; }
  .hd-tools .hd-btn{ display:none; }
  .hd-sbtn{ width:38px; height:38px; }

  .hero-txt{ padding:52px 0 88px; }
  /* 窄屏：幻灯改用与设计稿接近的比例（16:9），既能完整呈现图内标题，也留住右侧产品 */
  .hero-swiper{ height:auto; aspect-ratio:16/9; max-height:none; }
  /* 幻灯是 3:1 宽幅稿，窄屏按高铺满后需左对齐，否则默认居中会把左侧标题裁掉 */
  .hero-slide .bg{ object-position:left center; }
  .hero-swiper .swiper-pagination{ display:none; }
  .hero-arrow{ width:36px; height:36px; bottom:12px; }
  .hero-prev{ right:58px; } .hero-next{ right:14px; }
  .hero-cap{ padding-bottom:12px; }
  .hc-t{ font-size:12.5px; letter-spacing:.02em; }
  .hc-bar{ width:22px; }
  .hero p{ margin-bottom:26px; }
  .hero-swiper .swiper-pagination{ bottom:64px; text-align:left; padding:0 18px; }
  .hero-arrow{ width:40px; height:40px; bottom:50px; }
  .hero-prev{ right:74px; } .hero-next{ right:22px; }
  .hero-eyebrow{ margin-bottom:16px; }

  .quickbar{ grid-template-columns:1fr; margin-top:0; border-radius:0; box-shadow:none; border-top:1px solid var(--line); }
  .quickbar a{ border-right:0; border-bottom:1px solid var(--line); padding:18px 20px; }
  .quickbar a:last-child{ border-bottom:0; }

  .sec{ padding:52px 0; }
  .sec--sm{ padding:38px 0; }
  .stit-en{ font-size:40px; margin-bottom:-12px; }
  .stit-cn{ font-size:24px; }
  .stit-cn::after{ width:40px; height:2px; margin-top:14px; }
  .stit-hd{ flex-direction:column; align-items:flex-start; gap:16px; }

  .plines{ grid-template-columns:1fr; }
  .pline{ box-shadow:none; }
  .pline-desc{ min-height:0; -webkit-line-clamp:4; }

  .stats{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 16px; }
  .stat{ min-width:0; }
  .stat b{ font-size:24px; }

  .inds,.cases,.pgrid,.pgrid--4,.casegrid{ grid-template-columns:1fr; }
  .feats,.feats dt{ grid-template-columns:1fr; }

  .newsitem{ flex-wrap:wrap; gap:14px; padding:16px; }
  .newsitem .imgwrap{ flex:0 0 112px; }
  .newsitem .go{ display:none; }
  .newsbig .txt b{ font-size:18px; }

  .ptns{ grid-template-columns:repeat(2,1fr); }
  .ptn{ aspect-ratio:16/8; padding:12px; }

  .cta-in{ flex-direction:column; align-items:flex-start; }
  .cta-btns{ width:100%; }
  .cta-btns .btn{ flex:1 1 auto; }

  .ft-cols{ grid-template-columns:repeat(2,1fr); gap:18px; }
  .ft-col a{ line-height:2.1; }
  .ft-bot{ flex-direction:column; align-items:flex-start; }
  .ft-info{ grid-template-columns:1fr; gap:14px; }
  .ft{ padding-bottom:64px; }

  .mbar{
    display:grid; grid-template-columns:repeat(4,1fr); position:fixed; left:0; right:0; bottom:0; z-index:900;
    background:rgba(11,37,69,.98); backdrop-filter:blur(8px); border-top:1px solid var(--line-d);
    padding:8px 0 calc(6px + env(safe-area-inset-bottom));
  }
  .mbar a{ display:flex; flex-direction:column; align-items:center; gap:4px; color:rgba(255,255,255,.62); font-size:11.5px; }
  .mbar a i{ font-size:19px; }
  .mbar a:hover,.mbar a.on{ color:#fff; }
  .gotop{ bottom:76px; right:16px; width:42px; height:42px; }

  .aitem{ flex-direction:column; gap:18px; padding:18px; }
  .aitem .imgwrap{ flex:0 0 auto; width:100%; }
  .aitem .txt b{ font-size:17px; }
  .art-hd h1{ font-size:21px; }
  .pbody{ font-size:15.5px; line-height:2; }
  .pbody th,.pbody td{ padding:9px 11px; font-size:13.5px; }

  .ps-table td:first-child{ width:auto; display:block; padding:0 0 7px; }
  .ps-table tr td{ display:block; }
  .pgal{ padding:16px; }
  .pgal .swiper-slide img{ max-height:280px; }
  .pinfo .specs{ grid-template-columns:1fr; }

  .pgban-in{ padding:30px 0; }
  .crumb{ font-size:12px; margin-bottom:12px; }
  .pgban h1,.pgban h2,.pgban .pbt{ font-size:22px; }
  .pfilter{ display:flex; overflow-x:auto; flex-wrap:nowrap; padding:16px 0; -webkit-overflow-scrolling:touch; }
  .pfilter a{ flex:0 0 auto; height:36px; padding:0 16px; font-size:13.5px; }
  .pfilter::-webkit-scrollbar{ display:none; }
}

@media (max-width:480px){
  .stit-en{ font-size:32px; }
  .stat{ min-width:0; }
  .aboutx-badge{ position:static; margin-top:16px; max-width:none; }
  .pnav a{ min-width:100%; }
}

/* ============================================================================
   R8. 维修页 / 客户 LOGO 墙 / 关于我们扩写
   ========================================================================== */

/* --- 正文全宽变体（单页放长内容时用） --- */
.pbody--wide{ max-width:none; }

/* --- 卡片网格：服务范围 / 核心优势 --- */
.pbody .rgrid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:1.4em 0 1.8em; }
.pbody .rgrid .rc{ background:#fff; border:1px solid var(--line); border-radius:var(--r-card); padding:20px 22px; }
.pbody .rgrid .rc b{ display:block; font-size:15.5px; line-height:1.55; color:var(--t1); margin-bottom:8px; }
.pbody .rgrid .rc p{ margin:0; font-size:13.5px; line-height:1.85; color:var(--t3); }

/* --- 两栏：常见故障类型 --- */
.pbody .rcol2{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:1.4em 0 1.8em; align-items:start; }
.pbody .rcol2 .rc{ background:#fff; border:1px solid var(--line); border-radius:var(--r-card); padding:22px 24px; }
.pbody .rcol2 h3{ margin:0 0 12px; font-size:16.5px; }
.pbody .rcol2 ul{ margin:0; padding-left:1.15em; }
.pbody .rcol2 li{ margin:0 0 8px; font-size:13.8px; line-height:1.85; color:var(--t3); }
.pbody .rcol2 li:last-child{ margin-bottom:0; }
.pbody .rcol2 li b{ color:var(--t1); }

/* --- 步骤条：维修流程 --- */
.pbody ol.rsteps{ list-style:none; padding:0; margin:1.4em 0 1.8em;
  counter-reset:rs; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.pbody ol.rsteps li{ counter-increment:rs; margin:0; background:#fff; border:1px solid var(--line);
  border-radius:var(--r-card); padding:22px 22px 20px; }
.pbody ol.rsteps li::before{ content:counter(rs,decimal-leading-zero); display:block;
  font:700 13px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.14em; color:var(--blue-2); margin-bottom:12px; }
.pbody ol.rsteps li b{ display:block; font-size:15.5px; color:var(--t1); margin-bottom:8px; }
.pbody ol.rsteps li span{ font-size:13.5px; line-height:1.8; color:var(--t3); }

/* --- FAQ --- */
.pbody .rfaq{ margin:1.4em 0 1.8em; }
.pbody .rfaq dt{ padding:18px 0 8px; font-size:15.5px; font-weight:600; color:var(--t1); border-top:1px solid var(--line); }
.pbody .rfaq dt:first-child{ border-top:0; padding-top:4px; }
.pbody .rfaq dt::before{ content:"Q  "; color:var(--blue-2); font-weight:700; }
.pbody .rfaq dd{ margin:0 0 4px; font-size:14.2px; line-height:1.9; color:var(--t3); }

/* --- 联系信息卡 --- */
.pbody .rcard-info{ background:var(--sky); border:1px solid var(--line); border-radius:var(--r-card);
  padding:24px 26px; margin:1.4em 0; }
.pbody .rcard-info p{ margin:0 0 10px; font-size:14.5px; line-height:1.8; }
.pbody .rcard-info p:last-child{ margin:0; color:var(--t3); }
.pbody .rcard-info b{ color:var(--t1); }

/* --- 品牌维修入口卡（维修总览页） --- */
.rbrs{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.rbr{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line);
  border-radius:var(--r-card); overflow:hidden;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.rbr:hover{ transform:translateY(-4px); box-shadow:var(--sh2); }
.rbr .imgwrap{ overflow:hidden; background:var(--sky); }
.rbr .imgwrap img{ display:block; width:100%; aspect-ratio:16/8.6; object-fit:cover;
  transition:transform .6s var(--ease); }
.rbr:hover .imgwrap img{ transform:scale(1.05); }
.rbr .txt{ padding:20px 22px 22px; display:flex; flex-direction:column; flex:1 1 auto; }
.rbr .txt b{ font-size:16px; line-height:1.55; color:var(--t1); margin-bottom:9px; }
.rbr .txt p{ margin:0 0 14px; font-size:13.5px; line-height:1.8; color:var(--t3);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.rbr .txt .more{ margin-top:auto; display:inline-flex; align-items:center; gap:7px;
  font-size:13.5px; font-weight:600; color:var(--blue); }
.rbr .txt .more i{ font-size:12px; }

/* --- 合作客户 LOGO 墙：列数变体 --- */
.ptns--4{ grid-template-columns:repeat(4,1fr); }
.ptns--light{ background:var(--line); border-color:var(--line); }

@media (max-width:1100px){
  .pbody .rgrid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rbrs{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pbody ol.rsteps{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ptns--4{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:820px){
  .pbody .rgrid,.pbody .rcol2,.rbrs{ grid-template-columns:1fr; }
  .pbody ol.rsteps{ grid-template-columns:1fr; }
  .ptns--4{ grid-template-columns:repeat(2,1fr); }
  .pbody .rcard-info{ padding:20px; }
}

/* ============================================================================
   R8e：首页合作客户 6 列（一行 6 个 × 2 行） + NEWS 装饰字改蓝
   ========================================================================== */
/* 首页客户墙：≥1101px 一行 6 个（12 家 = 正好 2 行）；随后依次降为 4 / 3 列 */
.ptns--6{ grid-template-columns:repeat(6,1fr); }
@media (max-width:1100px){ .ptns--6{ grid-template-columns:repeat(4,1fr); } }
@media (max-width:820px){ .ptns--6{ grid-template-columns:repeat(3,1fr); } }

/* 首页「最新动态」的 NEWS 描边大字改品牌蓝（其它区块的装饰字保持原样） */
.stit-en.stit-en--blue{ -webkit-text-stroke:1px var(--blue-2); text-stroke:1px var(--blue-2); }



/* ============================================================================
   R9 · 列表页排版重构
   参考 https://www.truth-equipment.com/cpzx_2/1.html 与 /xwzx.html
   目标：大图、大留白、边界清晰、栅格严格对齐
   ========================================================================== */

/* ---------- 产品中心：2 列「左文右图」（作用域限定，不影响详情页/ALD 页的小卡网格） ---------- */
.pgrid--wide{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.pgrid--wide .pcard{ flex-direction:row; align-items:stretch; }
.pgrid--wide .pcard .txt{ order:1; flex:1 1 auto; min-width:0; padding:32px 34px; }
.pgrid--wide .pcard .txt b{ font-size:18px; line-height:1.5; margin-bottom:12px; }
.pgrid--wide .pcard .txt p{ font-size:14px; line-height:1.9; margin-bottom:20px; -webkit-line-clamp:3; }
.pgrid--wide .pcard .txt p:empty{ display:none; }
.pgrid--wide .pcard .txt i.more{ font-size:14px; }
.pgrid--wide .pcard .imgwrap{ order:2; flex:0 0 320px; padding:20px; }

/* ---------- 新闻资讯：卡片放大、留白加大 ---------- */
.alist{ gap:26px; }
.aitem{ gap:28px; padding:28px 30px; }
.aitem .imgwrap{ flex:0 0 320px; display:flex; align-items:center; }
.aitem .meta{ font-size:12.5px; gap:20px; }
.aitem .txt b{ font-size:20px; line-height:1.45; margin:14px 0 14px; }
.aitem .txt p{ font-size:14.5px; line-height:1.9; margin:0 0 20px; -webkit-line-clamp:2; }
.aitem .txt i.more{ font-size:14px; }
.lay{ grid-template-columns:1fr 320px; }

/* ---------- 断点：R9 段位于文件末尾，媒体规则必须在此重声明，否则被上面的默认值覆盖 ---------- */
@media (max-width:1100px){
  .lay{ grid-template-columns:1fr; }
  .pgrid--wide{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .pgrid--wide .pcard .txt{ padding:24px 24px; }
  .pgrid--wide .pcard .txt b{ font-size:16.5px; }
  .pgrid--wide .pcard .imgwrap{ flex:0 0 220px; padding:16px; }
  .aitem .imgwrap{ flex:0 0 250px; }
  .aitem .txt b{ font-size:18px; }
}
@media (max-width:820px){
  .pgrid--wide{ grid-template-columns:1fr; }
  .pgrid--wide .pcard{ flex-direction:column; }
  .pgrid--wide .pcard .imgwrap{ order:0; flex:0 0 auto; width:100%; padding:18px; }
  .pgrid--wide .pcard .txt{ padding:22px 22px 24px; }
  .pgrid--wide .pcard .txt b{ font-size:17px; }
  .aitem{ padding:20px 18px; gap:18px; }
  .aitem .imgwrap{ flex:0 0 auto; width:100%; display:block; }
  .aitem .txt b{ font-size:18px; }
}


/* ---------- R9c：产品图在图框内更饱满 + 移动端图片尺寸约束 ---------- */
.pgrid--wide .pcard .imgwrap{ padding:18px; }
.pgrid--wide .pcard .imgwrap img{ width:100%; height:100%; aspect-ratio:auto; object-fit:contain; }

@media (max-width:820px){
  .pgrid--wide .pcard .imgwrap{ padding:16px; }
  .pgrid--wide .pcard .imgwrap img{ height:250px; }
  .aitem .imgwrap{ max-width:480px; }
}


/* ============================================================================
   R10 · 首页配图交互 + 版心加宽后的留白补偿
   ★ 本段位于文件末尾，同优先级「后写的赢」→ 相关媒体查询必须在本段内重声明。
   ========================================================================== */

/* ---------- 1) 首页「公司介绍」配图：直接用原图（无蒙版 / 无悬停交互） ---------- */
/* 结构上是两层：pic-blue = 蓝调蒙版层（隐藏）、pic-orig = 原图层（常显并撑起图框）
   ★★ pic-orig 必须回到 position:static —— 若保留 absolute，容器内就没有元素撑高
      → 图框塌陷、图片错位/贴边。这是「直接显示原图」唯一的关键点。 */
.aboutx-pic .imgwrap{ position:relative; }
.aboutx-pic .imgwrap img{
  display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; object-position:center;
}
.aboutx-pic .imgwrap img.pic-blue{ display:none; }
.aboutx-pic .imgwrap img.pic-orig{
  position:static; inset:auto; width:100%; height:auto; opacity:1; transition:none;
}
.aboutx-pic .pic-hint{ display:none; }

/* ---------- 2) 产品卡：更宽的图区 + 更松的内边距 ---------- */
.pgrid--wide{ gap:30px; }
.pgrid--wide .pcard .txt{ padding:34px 38px; }
.pgrid--wide .pcard .txt b{ font-size:19px; line-height:1.5; margin-bottom:12px; }
.pgrid--wide .pcard .txt p{ font-size:14.5px; line-height:1.9; margin-bottom:22px; }
.pgrid--wide .pcard .txt i.more{ font-size:14.5px; }
.pgrid--wide .pcard .imgwrap{ flex:0 0 350px; padding:20px; }

/* ---------- 3) 资讯卡：图片、标题、内边距整体放大 ---------- */
.alist{ gap:30px; }
.aitem{ gap:32px; padding:34px 38px; }
.aitem .imgwrap{ flex:0 0 400px; display:flex; align-items:center; }
.aitem .meta{ font-size:13px; gap:22px; }
.aitem .meta b{ color:var(--blue); font-weight:600; }
.aitem .txt b{ font-size:23px; line-height:1.4; margin:16px 0 16px; }
.aitem .txt p{ font-size:15px; line-height:1.95; margin:0 0 22px; -webkit-line-clamp:2; }
.aitem .txt i.more{ font-size:14.5px; }

/* ---------- 4) 本段媒体查询（必须重声明） ---------- */
@media (max-width:1280px){
  .pgrid--wide .pcard .txt{ padding:30px 32px; }
  .pgrid--wide .pcard .txt b{ font-size:18px; }
  .pgrid--wide .pcard .imgwrap{ flex:0 0 290px; padding:18px; }
  .aitem{ gap:28px; padding:30px 32px; }
  .aitem .imgwrap{ flex:0 0 320px; }
  .aitem .txt b{ font-size:21px; }
}
@media (max-width:1100px){
  .pgrid--wide{ gap:24px; }
  .pgrid--wide .pcard .txt{ padding:26px 28px; }
  .pgrid--wide .pcard .txt b{ font-size:17px; }
  .pgrid--wide .pcard .imgwrap{ flex:0 0 240px; padding:18px; }
  .alist{ gap:26px; }
  .aitem{ gap:26px; padding:28px 28px; }
  .aitem .imgwrap{ flex:0 0 260px; }
  .aitem .txt b{ font-size:20px; }
}
@media (max-width:820px){
  .pgrid--wide{ gap:20px; }
  .pgrid--wide .pcard .imgwrap{ order:0; flex:0 0 auto; width:100%; padding:18px; }
  .pgrid--wide .pcard .txt{ padding:22px 22px 24px; }
  .pgrid--wide .pcard .txt b{ font-size:17px; }
  .alist{ gap:22px; }
  .aitem{ gap:20px; padding:22px 20px; }
  .aitem .imgwrap{ flex:0 0 auto; width:100%; max-width:480px; display:block; }
  .aitem .txt b{ font-size:19px; }
}
