
  :root{
    --c-primary:#013399;      /* 品牌蓝 */
    --c-primary-d:#00287A;
    --c-red:#b01e23;          /* 印章红 */
    --c-ink:#16233f;          /* 深墨蓝 */
    --c-ink-2:#1e2f55;
    --c-text:#333;
    --c-mut:#777;
    --c-line:#e8e8ec;
    --c-bg:#f6f7f9;
    --shadow:0 10px 40px rgba(22,35,63,.10);
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;color:var(--c-text);background:#fff;line-height:1.7;font-size:15px;-webkit-font-smoothing:antialiased}
  img{display:block;max-width:100%}
  a{text-decoration:none;color:inherit}
  ul{list-style:none}
  .wrap{width:min(1280px,92%);margin:0 auto}
  .kicker{font-size:15px;letter-spacing:3px;color:var(--c-primary);font-weight:600;text-transform:uppercase}
  .sec-title{font-size:clamp(26px,3.2vw,38px);color:var(--c-ink);font-weight:700;line-height:1.3}
  .sec-title b{color:var(--c-primary)}
  .sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:38px;flex-wrap:wrap}
  .reveal{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}

  /* ===== 顶部信息条 ===== */
  .topbar{background:var(--c-ink);color:#c7cee0;font-size:13px}
  .topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:38px}
  .topbar a:hover{color:var(--c-primary)}
  .topbar .right{display:flex;align-items:center;gap:18px}
  .topbar .tel{color:#fff;font-weight:600}
  .topbar .tel em{color:#fff;font-style:normal;font-size:15px;margin-left:.35em}

  /* ===== 语言切换（图标 + 悬停弹出语言列表） =====
     结构：.lang > a.lang-btn（地球图标 + 当前语言名） + .lang-menu（下拉列表）
     鼠标移到 .lang 区域即展开（纯 CSS hover，无 JS，禁用/慢网也不会失效）
     ☠️ 展开用 opacity+visibility+transform 时，只在 .lang-menu 这一层做，
        不要给 .topbar 或 .lang 挂 transform，否则会创建合成层，
        在部分真机 GPU 下弹层文字会丢（本站移动端菜单踩过同类坑）。 */
  .topbar .lang{position:relative;display:flex;align-items:center}
  .topbar .lang-btn{display:flex;align-items:center;gap:6px;color:#c7cee0;cursor:pointer;padding:4px 2px;line-height:1;transition:color .2s}
  .topbar .lang:hover .lang-btn,.topbar .lang-btn:hover{color:#fff}
  .topbar .lang-btn .ic{width:16px;height:16px;flex:none;display:block}
  .topbar .lang-btn .nm{font-size:13px;white-space:nowrap}
  .topbar .lang-btn .caret{width:9px;height:9px;flex:none;opacity:.7;transition:transform .25s}
  .topbar .lang:hover .lang-btn .caret{transform:rotate(180deg)}
  .topbar .lang-menu{position:absolute;top:100%;right:0;z-index:120;min-width:168px;background:#fff;border:1px solid var(--c-line);border-radius:10px;box-shadow:0 12px 34px rgba(22,35,63,.16);padding:6px;margin-top:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .22s ease,transform .22s ease,visibility .22s;pointer-events:none}
  /* 鼠标进入整块 lang（含按钮与菜单）时保持展开；.lang-menu 自身 hover 也保持 */
  .topbar .lang:hover .lang-menu,.topbar .lang-menu:hover{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
  /* 悬停缓冲：菜单与按钮之间 8px 的缝，用伪元素补上，避免鼠标划过缝隙时闪退 */
  .topbar .lang-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
  .topbar .lang-menu a{display:flex;align-items:center;gap:9px;padding:8px 11px;border-radius:7px;color:#3a4358;font-size:13.5px;line-height:1.4;transition:background .18s,color .18s}
  .topbar .lang-menu a:hover{background:#E0EAFD;color:var(--c-primary-d)}
  .topbar .lang-menu a .fl{width:18px;height:13px;flex:none;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
  .topbar .lang-menu a .fn{flex:1;white-space:nowrap}
  .topbar .lang-menu a .ck{width:12px;height:12px;flex:none;color:var(--c-primary);opacity:0}
  /* 当前语言：高亮 + 对勾 */
  .topbar .lang-menu a.on{background:#EEF3FF;color:var(--c-primary);font-weight:700}
  .topbar .lang-menu a.on .ck{opacity:1}

  /* ===== 导航 ===== */
  .header{position:sticky;top:0;z-index:100;background:#fff;transition:box-shadow .3s}
  .header.scrolled{box-shadow:0 6px 24px rgba(22,35,63,.10)}
  /* ☠️ 导航放不下时的终极兜底：允许换行。
     .wrap 上限 1280px，而俄语 8 个导航项实测需 1391px —— 靠缩字号/padding 也压不到 1280，
     再压就小到看不清。所以允许 .nav 换行：多出一行时头部用 min-height 自适应
     （不能用固定 height，否则第二行会被裁掉）。短词语言（中文）永远只有一行，视觉不变。 */
  .header{min-height:84px}
  .header .wrap{display:flex;align-items:center;justify-content:flex-start;height:auto;min-height:84px;gap:10px;flex-wrap:wrap;row-gap:0}
  .logo{flex:none}
  .nav{flex:1 1 auto;min-width:0;flex-wrap:wrap;justify-content:center;row-gap:0}
  .nav>li>a{display:block;padding:0 clamp(6px,0.95vw,20px);height:84px;line-height:84px;font-size:clamp(12px,0.98vw,16px);font-weight:600;color:var(--c-ink);position:relative;white-space:nowrap}
  .nav>li>a::after{content:"";position:absolute;left:clamp(6px,0.95vw,20px);right:clamp(6px,0.95vw,20px);bottom:18px;height:3px;background:var(--c-primary);transform:scaleX(0);transition:transform .3s;transform-origin:left}
  .logo{flex:none}
  .logo img{height:46px;width:auto}
  /* min-width:0：德语/俄语的导航词很长，不给下限会让整行顶破视口 */
  .nav{display:flex;align-items:center;gap:2px;min-width:0}
  .nav>li{position:relative}
  /* ===== 多语言下的导航自适应 =====
     ☠️ 中文导航 8 项约 700px，俄语同样 8 项实测 1391px（近乎翻倍）。
     .wrap 上限 1280px，靠压字号/padding 也塞不进 1280（再压就看不清了），
     因此已在 .header .wrap / .nav 上开启 flex-wrap 允许换行：
     短词语言（中文）永远单行、视觉不变；长词语言自动折到第二行，
     头部用 min-height 自适应高度，不会裁掉第二行。
     同时保留 clamp 缩字号 + 两端 flex:none，让「能一行就一行」。 */
  /* ☠️ 导航与右侧电话在空间不足时会互相挤压：电话块 flex:none 不可压，
     导航虽可收缩但 nowrap 项有下限 → 最后一项被电话块盖住（俄语站实测）。
     解法：电话标签限宽 + 分档收窄（见下方 1500/1280 的 @media），
     让它先让位，导航保持完整。 */
  .nav>li>a{display:block;padding:0 clamp(6px,0.95vw,20px);height:84px;line-height:84px;font-size:clamp(12px,0.98vw,16px);font-weight:600;color:var(--c-ink);position:relative;white-space:nowrap}
  .nav>li>a::after{content:"";position:absolute;left:clamp(6px,0.95vw,20px);right:clamp(6px,0.95vw,20px);bottom:18px;height:3px;background:var(--c-primary);transform:scaleX(0);transition:transform .3s;transform-origin:left}
  .nav>li:hover>a,.nav>li.on>a{color:var(--c-primary)}
  .nav>li:hover>a::after,.nav>li.on>a::after{transform:scaleX(1)}
  /* ☠️ 下拉面板是 position:absolute，但它的包含块是 li —— 仍然计入文档宽度。
     面板以 li 中心为基准（left:50% + translateX(-50%)），最后几个 li 靠右时
     面板右缘会超出视口 → 整页横向滚动（德/俄语译名更长时尤其明显）。
     用 .nav-right 给最后两个 li 的面板改成右对齐；再给面板一个视口内上限。
     （.nav-right 由 header 模板按 li 序号输出，见 index/inner/product/shop 四个头部） */
  .nav .sub{position:absolute;top:100%;left:50%;transform:translate(-50%,14px);min-width:250px;max-width:min(360px,90vw);background:#fff;border-radius:10px;box-shadow:var(--shadow);padding:14px;opacity:0;visibility:hidden;transition:.28s;pointer-events:none}
  /* ⚠️ 展开规则必须写在下面「靠右对齐」规则【之前】：
     `.nav li:hover .sub` 特异性(0,2,2) 高于 `.nav>li:nth-last-child(-n+2) .sub`(0,2,1)，
     若它写在后面对齐规则会被覆盖回 translateX(-50%)，最后一个下拉仍溢出视口。 */
  .nav li:hover .sub{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
  .nav>li:nth-last-child(-n+2) .sub{left:auto;right:0;transform:translate(0,14px)}
  .nav>li:nth-last-child(-n+2):hover .sub{transform:translate(0,0)}
  .nav .sub .thumb{border-radius:8px;overflow:hidden;margin-bottom:10px;aspect-ratio:2/1}
  .nav .sub .thumb img{width:100%;height:100%;object-fit:cover}
  .nav .sub a{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:7px;color:#444;font-size:14.5px;transition:.2s}
  .nav .sub a::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--c-primary);opacity:.55;flex:none}
  .nav .sub a:hover{background:#E0EAFD;color:var(--c-primary-d);padding-left:18px}
  /* 移动端专用的「进入本栏目」首项与展开箭头，桌面不显示 */
  .nav .sub .sub-all{display:none}
  .nav .arw{display:none}
  /* ☠️ 右侧电话块：'.t' 里的中文标签「业务咨询电话」在译文里变成
     "Горячая линия для деловых запросов"（很长），会换行并压到号码上。
     这里给标签限宽 + 单行省略；窄屏（≤1080px 已有 display:none 规则）直接隐藏标签只留号码。 */
  .head-tel{display:flex;align-items:center;gap:10px;flex:none}
  .head-tel .ic{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--c-primary),var(--c-primary-d));display:grid;place-items:center;flex:none}
  .head-tel .t{min-width:0;max-width:clamp(96px,10vw,190px)}
  .head-tel .t small{display:block;font-size:12px;color:var(--c-mut);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .head-tel .t b{font-size:19px;color:var(--c-ink);letter-spacing:.5px;white-space:nowrap}
  .burger{display:none;width:44px;height:44px;border:1px solid var(--c-line);border-radius:8px;background:#fff;cursor:pointer;place-items:center;color:var(--c-ink)}
  .burger .i-menu{display:block}
  .burger .i-close{display:none}
  .burger.x .i-menu{display:none}
  .burger.x .i-close{display:block}

  /* ===== Hero 轮播 ===== */
  .hero{position:relative;min-height:min(620px,88vh);display:flex;align-items:center;overflow:hidden;background:#16233f}
  .hero .slides{position:absolute;inset:0;z-index:0}
  .hero .slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;pointer-events:none}
  .hero .slide.on{opacity:1;pointer-events:auto}
  .hero .slide .bg{position:absolute;inset:0;background:linear-gradient(120deg,#16233f 0%,#1e2f55 55%,#31406e 100%)}
  .hero .slide .bg img{width:100%;height:100%;object-fit:cover}
  .hero .slide.on .bg img{animation:heroZoom 12s ease-in-out infinite alternate}
  @keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.08)}}
  .hero .mask{position:absolute;inset:0;background:linear-gradient(92deg,rgba(13,24,46,.78) 0%,rgba(13,24,46,.45) 42%,rgba(13,24,46,0) 70%)}
  .hero .inner{position:relative;z-index:2;padding:96px 0 150px;color:#fff}
  .hero .tag{display:inline-flex;align-items:center;gap:10px;font-size:14px;letter-spacing:2px;color:#AFC7F8;border:1px solid rgba(255,255,255,.35);border-radius:99px;padding:7px 18px;backdrop-filter:blur(4px)}
  .hero .tag i{width:7px;height:7px;border-radius:50%;background:var(--c-primary);font-style:normal}
  .hero h1{font-size:clamp(34px,5vw,60px);font-weight:800;letter-spacing:2px;margin:22px 0 8px;text-shadow:0 4px 24px rgba(0,0,0,.35)}
  .hero h1 em{color:var(--c-primary);font-style:normal}
  .hero .slogan-box{height:40px;overflow:hidden;margin:6px 0 30px}
  .hero .slogan{font-size:clamp(17px,2vw,23px);color:#f2f5fb;letter-spacing:3px;display:flex;align-items:center;gap:12px;animation:fadeUp .6s ease}
  .hero .slogan::before{content:"";width:34px;height:2px;background:var(--c-primary)}
  @keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  .btn{display:inline-flex;align-items:center;gap:10px;padding:14px 34px;border-radius:99px;font-weight:700;letter-spacing:1px;transition:.3s;border:2px solid transparent}
  .btn-primary{background:linear-gradient(135deg,var(--c-primary),var(--c-primary-d));color:#fff;box-shadow:0 10px 26px rgba(1,51,153,.38)}
  .btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(1,51,153,.48)}
  .btn-ghost{border-color:rgba(255,255,255,.6);color:#fff;margin-left:14px}
  .btn-ghost:hover{background:rgba(255,255,255,.14)}
  .scroll-hint{position:absolute;left:50%;bottom:110px;transform:translateX(-50%);z-index:3;color:rgba(255,255,255,.75);font-size:12px;letter-spacing:2px;text-align:center}
  .scroll-hint::after{content:"";display:block;width:1px;height:34px;margin:8px auto 0;background:linear-gradient(#fff,transparent);animation:drip 1.6s infinite}
  @keyframes drip{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

  /* Hero 控件：左右箭头 */
  .hero .arr{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(22,35,63,.38);color:#fff;font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center;opacity:0;transition:opacity .3s,background .3s;backdrop-filter:blur(4px)}
  .hero:hover .arr{opacity:1}
  .hero .arr:hover{background:var(--c-primary);border-color:var(--c-primary)}
  .hero .arr.prev{left:34px}
  .hero .arr.next{right:34px}
  /* Hero 控件：指示器（圆点 + 激活进度条） */
  .hero .dots{position:absolute;left:50%;bottom:36px;transform:translateX(-50%);z-index:4;display:flex;align-items:center;gap:12px}
  .hero .dot{position:relative;width:10px;height:10px;border-radius:99px;border:none;background:rgba(255,255,255,.38);cursor:pointer;transition:width .35s,background .3s;padding:0}
  .hero .dot.on{width:34px;background:var(--c-primary)}
  .hero .dot i{position:absolute;left:0;top:0;height:100%;width:0;border-radius:99px;background:rgba(255,255,255,.9);overflow:hidden}
  .hero .dot.on i{animation:dotFill 5.5s linear forwards}
  @keyframes dotFill{from{width:0}to{width:100%}}

  /* ===== 数据条 ===== */
  .stats{position:relative;z-index:5;margin-top:-86px}
  .stats .card{background:#fff;border-radius:16px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}
  .stat{padding:34px 18px;text-align:center;position:relative}
  .stat+.stat::before{content:"";position:absolute;left:0;top:26%;bottom:26%;width:1px;background:var(--c-line)}
  .stat .num{font-size:44px;font-weight:800;color:var(--c-ink);line-height:1;font-variant-numeric:tabular-nums}
  .stat .num i{font-style:normal;color:var(--c-primary);font-size:22px;margin-left:2px}
  .stat .lbl{margin-top:10px;color:var(--c-mut);font-size:14px}

  /* ===== 产品中心 ===== */
  .products{padding:96px 0 80px;background:linear-gradient(180deg,#fff, var(--c-bg))}
  .tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:34px}
  .tab{padding:11px 26px;border-radius:99px;border:1px solid var(--c-line);background:#fff;color:#555;font-weight:600;cursor:pointer;transition:.25s;font-size:15px;display:inline-flex;align-items:center;gap:6px}
  .tab .ri-arrow{flex:none}
  .tab:hover{border-color:var(--c-primary);color:var(--c-primary)}
  .tab.on{background:linear-gradient(135deg,var(--c-primary),var(--c-primary-d));color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(1,51,153,.32)}
  /* 产品大类多（10+ 个）时，手机端改为单行横向滑动，避免换行把首屏高度吃满 */
  @media (max-width:820px){
    .tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;gap:9px;margin-bottom:22px;padding:2px 0 8px;scrollbar-width:none;-ms-overflow-style:none}
    .tabs::-webkit-scrollbar{display:none}
    .tab{flex:none;padding:9px 16px;font-size:14px}
  }
  .pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
  .pcard{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 18px rgba(22,35,63,.06);transition:transform .35s,box-shadow .35s;opacity:1}
  .pcard.hide{display:none}
  .pcard.pop{animation:pop .45s ease}
  @keyframes pop{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
  .pcard:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
  .pcard .ph{aspect-ratio:1/1;overflow:hidden;position:relative;background:#f2f3f6}
  .pcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
  .pcard:hover .ph img{transform:scale(1.08)}
  .pcard .ph::after{content:"查看详情";position:absolute;inset:auto 0 0 0;background:linear-gradient(transparent,rgba(1,51,153,.92));color:#fff;font-size:13px;letter-spacing:2px;text-align:center;padding:34px 0 12px;opacity:0;transition:.35s}
  .pcard:hover .ph::after{opacity:1}
  .pcard .nm{padding:15px 16px 17px;font-weight:600;color:var(--c-ink);font-size:15px;line-height:1.5;min-height:78px}
  .pcard .cat-tag{display:block;font-size:12px;color:var(--c-primary);letter-spacing:1px;margin-bottom:4px}

  /* ===== 公司简介 ===== */
  .about{padding:96px 0;background:var(--c-bg)}
  .about .grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
  .about p.lead{color:#555;margin:20px 0 14px;text-align:justify}
  .about .btns{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
  .about .mini{padding:11px 24px;border-radius:8px;border:1px solid #d5d9e2;background:#fff;font-weight:600;color:var(--c-ink);transition:.25s;font-size:14.5px}
  .about .mini:hover{border-color:var(--c-primary);color:var(--c-primary);transform:translateY(-2px)}
  .about .visual{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .about .visual .main{grid-column:1/-1;border-radius:14px;overflow:hidden;aspect-ratio:3/2;box-shadow:var(--shadow)}
  .about .visual .sub1,.about .visual .sub2,.about .visual .sub3{border-radius:12px;overflow:hidden;aspect-ratio:3/2}
  .about .visual img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
  .about .visual div:hover img{transform:scale(1.06)}
  .about .badge{position:absolute;right:-14px;top:-24px;background:linear-gradient(135deg,var(--c-red),#8f1418);color:#fff;border-radius:12px;padding:16px 22px;text-align:center;box-shadow:0 14px 34px rgba(176,30,35,.35);z-index:2}
  .about .badge b{font-size:26px;line-height:1}
  .about .badge span{display:block;font-size:12px;margin-top:4px;letter-spacing:1px;opacity:.9}

  /* 行业滚动条 */
  .indus{padding:20px 0;background:var(--c-ink);overflow:hidden}
  .indus .track{display:flex;gap:14px;width:max-content;animation:slide 30s linear infinite}
  .indus .chip{color:#c7cee0;border:1px solid rgba(255,255,255,.22);border-radius:99px;padding:7px 20px;font-size:14px;white-space:nowrap}
  @keyframes slide{to{transform:translateX(-50%)}}

  /* ===== 我们的优势 ===== */
  .adv{padding:96px 0 90px}
  .adv .intro{max-width:760px;color:#666;margin-top:14px}
  .agrid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:40px}
  .acard{background:#fff;border:1px solid var(--c-line);border-radius:14px;padding:30px 22px;transition:.35s;position:relative;overflow:hidden}
  .acard::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--c-primary),var(--c-red));transform:scaleX(0);transform-origin:left;transition:.4s}
  .acard:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:transparent}
  .acard:hover::before{transform:scaleX(1)}
  .acard .icn{width:54px;height:54px;border-radius:14px;background:#E0EAFD;display:grid;place-items:center;color:var(--c-primary);margin-bottom:18px;transition:.35s}
  .acard:hover .icn{background:linear-gradient(135deg,var(--c-primary),var(--c-primary-d));color:#fff}
  .acard h3{font-size:17px;color:var(--c-ink);margin-bottom:10px}
  .acard p{font-size:13.5px;color:#777;line-height:1.8}
  .acard .no{position:absolute;right:14px;top:12px;font-size:34px;font-weight:800;color:#f1f2f6;line-height:1}

  /* ===== 合作客户 ===== */
  .partners{padding:80px 0;background:var(--c-bg);overflow:hidden}
  .plogo-row{display:flex;gap:20px;width:max-content;animation:slide 34s linear infinite}
  .plogo{width:224px;height:112px;flex:none;background:#fff;border:1px solid var(--c-line);border-radius:10px;display:grid;place-items:center;padding:14px;transition:.3s}
  .plogo:hover{border-color:var(--c-primary);box-shadow:0 8px 22px rgba(1,51,153,.14)}
  .plogo img{max-width:100%;max-height:100%;object-fit:contain}

  /* ===== 新闻 ===== */
  .news{padding:96px 0}
  .ngrid{display:grid;grid-template-columns:1fr 1fr;gap:44px}
  .nfeat{background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:.35s;display:block}
  .nfeat:hover{transform:translateY(-6px)}
  .nfeat .ph{aspect-ratio:16/10;overflow:hidden}
  .nfeat .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
  .nfeat:hover .ph img{transform:scale(1.06)}
  .nfeat .bd{padding:24px 26px 28px;display:flex;gap:18px}
  .ndate{flex:none;width:74px;height:74px;border-radius:12px;background:linear-gradient(160deg,var(--c-primary),var(--c-primary-d));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15}
  .ndate b{font-size:24px}
  .ndate span{font-size:12px;opacity:.9}
  .nfeat h3{font-size:19px;color:var(--c-ink);margin-bottom:8px}
  .nfeat p{font-size:14px;color:#777;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .nlist{display:flex;flex-direction:column}
  .nitem{display:flex;gap:18px;padding:21px 6px;border-bottom:1px dashed #dfe1e8;transition:.25s;align-items:center}
  .nitem:hover{background:#EAF0FB;border-radius:10px;padding-left:14px}
  .nitem .ndate{width:64px;height:64px;background:#fff;border:1.5px solid var(--c-primary);color:var(--c-primary-d)}
  .nitem:hover .ndate{background:linear-gradient(160deg,var(--c-primary),var(--c-primary-d));color:#fff}
  .nitem h4{font-size:16px;color:var(--c-ink);font-weight:600;margin-bottom:5px}
  .nitem p{font-size:13.5px;color:#888;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

  /* ===== CTA ===== */
  .cta{background:linear-gradient(120deg,var(--c-ink) 0%,var(--c-ink-2) 60%,#31406e 100%);position:relative;overflow:hidden}
  .cta::before{content:"";position:absolute;right:-140px;top:-140px;width:420px;height:420px;border-radius:50%;border:70px solid rgba(1,51,153,.14)}
  .cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:56px 0;position:relative;flex-wrap:wrap}
  .cta h2{color:#fff;font-size:clamp(22px,2.6vw,30px);letter-spacing:1px}
  .cta h2 em{color:#fff;font-style:normal}
  .cta p{color:#aab4cc;margin-top:6px;font-size:14.5px}
  .cta .tel-big{display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:16px 30px;color:#fff}
  .cta .tel-big b{font-size:30px;color:#fff;letter-spacing:1px}
  .cta .tel-big small{display:block;color:#aab4cc;font-size:12px}

  /* ===== 页脚 ===== */
  footer{background:#101a30;color:#93a0bd;font-size:14px}
  .f-main{padding:64px 0 40px;display:grid;grid-template-columns:1.4fr .9fr 1.1fr .8fr;gap:44px}
  .f-brand img.logo-f{width:118px;height:auto;margin-bottom:16px}
  .f-brand h4{color:#fff;font-size:17px;margin-bottom:10px}
  .f-brand p{line-height:1.9;font-size:13.5px}
  footer h5{color:#fff;font-size:16px;margin-bottom:18px;position:relative;padding-bottom:10px}
  footer h5::after{content:"";position:absolute;left:0;bottom:0;width:26px;height:2px;background:var(--c-primary)}
  .f-links li{margin-bottom:10px}
  .f-links a{transition:.2s;font-size:13.5px}
  .f-links a:hover{color:var(--c-primary);padding-left:6px}
  .f-contact li{display:flex;gap:10px;margin-bottom:13px;line-height:1.7;font-size:13.5px}
  .f-contact .ico{color:var(--c-primary);flex:none;display:inline-flex;align-items:center;justify-content:center;line-height:1;height:20px}
  .f-qr img{width:118px;border-radius:8px;background:#fff;padding:6px}
  .f-qr span{display:block;margin-top:10px;font-size:13px}
  .f-bar{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;font-size:13px}
  .f-bar .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#7c8aa8}
  .f-bar a{color:#7c8aa8}
  .f-bar a:hover{color:var(--c-primary)}
  .beian{display:inline-flex;align-items:center;gap:6px}

  /* 返回顶部 */
  .totop{position:fixed;right:26px;bottom:30px;z-index:90;width:46px;height:46px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--c-primary),var(--c-primary-d));color:#fff;font-size:18px;cursor:pointer;box-shadow:0 10px 24px rgba(1,51,153,.4);opacity:0;visibility:hidden;transition:.3s}
  .totop.show{opacity:1;visibility:visible}
  .totop:hover{transform:translateY(-4px)}

  /* ===== 响应式 ===== */
  /* 1500px 档：给「译文较长的语言」让位。
     ☠️ 为什么单独一档而不是直接把 1080 抬上来：
        抬到 1500 会让中文站（导航只占 700px，空间充裕）也提前把电话标签藏掉，
        那是无谓的退化。所以只在「容器确实塞不下」时收窄标签，
        电话标签收窄后号码仍完整可见，导航最后一项也不会被盖住。 */
  @media (max-width:1500px){
    .head-tel .t{max-width:120px}
  }
  @media (max-width:1280px){
    .head-tel .t{max-width:96px}
  }
  @media (max-width:1080px){
    .pgrid{grid-template-columns:repeat(3,1fr)}
    .agrid{grid-template-columns:repeat(3,1fr);gap:14px}
    .f-main{grid-template-columns:1fr 1fr;gap:34px}
    .head-tel .t{display:none}
  }
  @media (max-width:820px){
    .topbar{display:none}
    /* ☠️ 移动端菜单的硬规矩：这条链路上「不许合成、不许裁剪、不许动画」。
       现象（用户在真机 / DevTools 设备模拟下看到的）：面板底色在、浅橙首项底色也在，
       偏偏一个字都不显示；有时还看到首页 hero 的大字穿透盖在菜单上。
       根因：.nav 是 position:fixed 容器，只要它挂上 opacity / visibility / transform 过渡，
       Chrome 就把它提升为合成层，并把里面的文字单独栅格化成一张纹理；
       在真 GPU 下这张纹理偶发不刷新 → 底色（父层绘制）在、文字（子纹理）丢。
       子菜单若再用 max-height + overflow:hidden 裁剪，等于再叠一层 clip 层，同样会 stale。
       —— 之前两次修复都栽在这上面：display 切换被 .nav 的过渡拖累，max-height 又被 clip 拖累。
       所以这里改成「只做 display 切换」：不合成、不裁剪、不残留纹理，必定正确绘制。
       代价是少了 0.28s 的淡入动画 —— 移动端菜单瞬时展开本来也是更常见的做法，可靠性优先。 */
    .nav{position:fixed;inset:84px 0 0 0;background:#fff;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:12px 5% 34px;box-shadow:0 20px 40px rgba(0,0,0,.12);gap:0;overflow-y:auto;display:none}
    .nav.open{display:flex}
    .nav>li>a{height:auto;padding:14px 8px;line-height:1.5;border-bottom:1px solid #f0f1f5}
    /* 子菜单同样只做 display 切换。这里连 .nav li:hover .sub 一起覆盖：
       窄屏若用鼠标（或 DevTools 模拟悬停），桌面那条 hover 规则会把面板 transform 平移 -50% */
    .nav li .sub,.nav li:hover .sub{position:static;top:auto;left:auto;transform:none;opacity:1;visibility:visible;pointer-events:auto;box-shadow:none;min-width:0;padding:0 0 0 14px;display:none;background:#fafafa;border-radius:0;overflow:visible}
    .nav li.exp .sub{display:block;padding:0 0 8px 14px}
    .nav .sub .thumb{display:none}
    /* 移动端才出现的「进入本栏目」首项：桌面悬停时父项本身可点，无需重复 */
    .nav .sub .sub-all{display:flex;font-weight:700;color:var(--c-primary);background:#E6EEFD;margin-bottom:4px;border-radius:7px}
    .nav .sub .sub-all::before{opacity:1;background:var(--c-primary);width:6px;height:6px}
    /* 有下级的父项加一个可展开箭头（仅移动端显示），提示「这里可以点开」 */
    .nav .arw{display:inline-block;width:7px;height:7px;margin-left:9px;vertical-align:2px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .3s}
    .nav li.exp .arw{transform:rotate(-135deg);margin-bottom:-3px}
    /* 移动端关闭桌面横向导航下划线（含 hover 状态） */
    .nav>li>a::after{content:none!important}
    /* 当前栏目：左侧橙色强调条 + 浅橙底 + 橙色文字 */
    .nav>li.on>a{color:var(--c-primary);background:#E0EAFD;box-shadow:inset 3px 0 0 var(--c-primary);border-radius:0 8px 8px 0}
    /* 展开的子菜单父项一致强调 */
    .nav>li.exp>a{color:var(--c-primary);background:#F2F5FA}
    .head-tel .ic{display:none}
.head-tel{margin-left:auto;gap:0}
.burger{margin-left:auto}
.burger{display:grid}
    .stats{margin-top:-46px}
    .stats .card{grid-template-columns:1fr 1fr}
    .stat:nth-child(3)::before{display:none}
    .pgrid{grid-template-columns:repeat(2,1fr)}
    .agrid{grid-template-columns:1fr 1fr}
    .ngrid{grid-template-columns:1fr}
    .about .grid{grid-template-columns:1fr;gap:44px}
    .scroll-hint{display:none}
    .hero .arr{display:none}
    .hero .dots{bottom:22px}
    .hero .inner{padding-bottom:170px}
  }
  @media (max-width:520px){
    .pgrid{grid-template-columns:1fr 1fr;gap:12px}
    .agrid{grid-template-columns:1fr}
    .f-main{grid-template-columns:1fr}
    .pcard .nm{min-height:auto;font-size:13.5px}
    .hero .inner{padding:70px 0 130px}
  }

/* ==================================================================
   关于科讯系列页面（公司简介 / 资质荣誉 / 行业客户）  —— 首页同款设计语言
   ================================================================== */

/* 页面横幅 */
.page-hero{position:relative;min-height:330px;display:flex;align-items:flex-end;overflow:hidden;background:var(--c-ink)}
.page-hero .bg{position:absolute;inset:0}
.page-hero .bg img{width:100%;height:100%;object-fit:cover}
.page-hero .mask{position:absolute;inset:0;background:linear-gradient(92deg,rgba(13,24,46,.86) 0%,rgba(13,24,46,.62) 48%,rgba(13,24,46,.28) 100%)}
.page-hero .inner{position:relative;z-index:2;padding:74px 0 54px;color:#fff}
.page-hero .kicker{color:#AFC7F8;letter-spacing:4px}
.page-hero h1{font-size:clamp(30px,4vw,46px);font-weight:800;letter-spacing:2px;margin:14px 0 12px}
.page-hero p{color:#c3cce0;max-width:760px;font-size:15px;letter-spacing:.5px}
.page-hero .crumb{margin-top:22px;font-size:13.5px;color:#93a0bd;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.page-hero .crumb a{color:#c3cce0}
.page-hero .crumb a:hover{color:var(--c-primary)}
.page-hero .crumb i{font-style:normal;color:#5a6b8f}
.page-hero .crumb>i:last-child{display:none}

/* 子栏目切换条 */
.subnav{background:#fff;border-bottom:1px solid var(--c-line);position:sticky;top:84px;z-index:60}
.subnav .wrap{display:flex;gap:6px;overflow-x:auto}
.subnav a{padding:19px 24px;font-size:15.5px;font-weight:600;color:#5b6579;white-space:nowrap;position:relative;transition:.25s}
.subnav a::after{content:"";position:absolute;left:24px;right:24px;bottom:0;height:3px;background:var(--c-primary);transform:scaleX(0);transition:transform .3s;transform-origin:left}
.subnav a:hover{color:var(--c-ink)}
.subnav a.on{color:var(--c-primary)}
.subnav a.on::after{transform:scaleX(1)}

/* 公司简介正文 */
.intro-sec{padding:88px 0 72px}
.intro-sec .lead-title{font-size:clamp(24px,3vw,34px);color:var(--c-ink);font-weight:700;line-height:1.35;margin:10px 0 26px}
.intro-sec .lead-title b{color:var(--c-primary)}
.intro-sec p.body-txt{color:#555;text-align:justify;margin-bottom:16px;line-height:1.95}

/* 单网页正文（公司简介 / 企业文化等，内容来自后台栏目富文本） */
.article-sec{padding:76px 0 92px;background:linear-gradient(180deg,#fff,var(--c-bg))}
.article-box{background:#fff;border:1px solid var(--c-line);border-radius:16px;padding:52px 58px 56px;box-shadow:var(--shadow);max-width:1000px;margin:0 auto}
.article-body{font-size:15.5px;color:#4b5563;line-height:2;text-align:justify;word-break:break-word}
.article-body h1,.article-body h2,.article-body h3,.article-body h4{position:relative;color:var(--c-ink);font-weight:700;padding-left:16px;margin:36px 0 15px;line-height:1.55}
.article-body h1:first-child,.article-body h2:first-child,.article-body h3:first-child,.article-body h4:first-child,
.article-body > p:first-child{margin-top:0}
.article-body h1{font-size:21.5px}
.article-body h2{font-size:20px}
.article-body h3{font-size:18.5px}
.article-body h4{font-size:16.5px}
.article-body h1::before,.article-body h2::before,.article-body h3::before,.article-body h4::before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:4px;border-radius:2px;background:linear-gradient(180deg,var(--c-primary),var(--c-primary-d))}
.article-body p{margin-bottom:15px}
.article-body p:last-child{margin-bottom:0}
.article-body img{max-width:100%;height:auto;border-radius:10px;margin:12px 0}
.article-body ul,.article-body ol{margin:12px 0 16px 22px}
.article-body li{margin-bottom:8px}
.article-body strong,.article-body b{color:var(--c-ink)}
.article-body a{color:var(--c-primary);border-bottom:1px solid rgba(1,51,153,.35)}
.article-body blockquote{border-left:4px solid var(--c-primary);background:#ECF2FD;padding:14px 20px;border-radius:0 8px 8px 0;margin:18px 0;color:#7a5a1e}
.article-body table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14.5px}
.article-body th,.article-body td{border:1px solid var(--c-line);padding:10px 14px}
.article-body th{background:#F2F5FA;color:var(--c-ink);font-weight:700}

/* 资质荣誉 */
.honor-sec{padding:88px 0;background:linear-gradient(180deg,#fff,var(--c-bg))}
/* 公司环境（关于页） */
.env-sec{padding:88px 0;background:var(--c-bg)}
.env-sec .env-grid{margin-top:40px}
@media (max-width:760px){ .env-sec{padding:56px 0} }

.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:44px}
.cert-card{background:#fff;border:1px solid var(--c-line);border-radius:14px;overflow:hidden;transition:.35s;display:block}
.cert-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:transparent}
.cert-card .ph{aspect-ratio:3/4;overflow:hidden;background:#f6f7f9;position:relative}
.cert-card .ph img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .6s}
.cert-card:hover .ph img{transform:scale(1.05)}
.cert-card .ph::after{content:"点击查看大图";position:absolute;inset:auto 0 0 0;background:linear-gradient(transparent,rgba(1,51,153,.92));color:#fff;font-size:13px;letter-spacing:2px;text-align:center;padding:34px 0 12px;opacity:0;transition:.35s}
.cert-card:hover .ph::after{opacity:1}
.cert-card .bd{padding:18px 20px 22px}
.cert-card .bd .tag{display:inline-block;font-size:12px;color:var(--c-primary);border:1px solid #A5C0F6;background:#ECF2FD;border-radius:99px;padding:2px 12px;margin-bottom:9px;letter-spacing:.5px}
.cert-card .bd h3{font-size:15.5px;color:var(--c-ink);line-height:1.55;font-weight:600}
.cert-card .bd p{font-size:13px;color:#8a909e;margin-top:9px;line-height:1.75;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* 行业客户 */
.client-sec{padding:88px 0;background:var(--c-bg)}
.cgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:44px}
.ccard{background:#fff;border:1px solid var(--c-line);border-radius:14px;padding:22px 18px 20px;text-align:center;transition:.35s;cursor:default}
.ccard:hover{box-shadow:0 14px 34px rgba(1,51,153,.13);border-color:#dbe4f5}
/* ☠️ 不能用 display:grid + place-items:center：grid 单元高度由内容撑开，
   img{max-height:100%} 的百分比没有确定参照会被忽略 -> 图片按原始尺寸溢出。
   改用 flex 居中 + overflow:hidden，并把 img 明确锁在容器内。 */
.ccard .ph{aspect-ratio:2/1;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:14px;padding:6px}
.ccard .ph img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;transition:transform .5s;pointer-events:none}
.ccard:hover .ph img{transform:scale(1.05)}
.ccard h3{font-size:15px;color:var(--c-ink);font-weight:600;line-height:1.4}

/* 服务/优势（复用首页 acard，这里改为 3 列更宽松） */
.svc-sec{padding:88px 0}
.svc-sec .agrid{grid-template-columns:repeat(3,1fr);gap:22px}
.svc-sec .acard{padding:32px 26px}
.svc-sec .acard ul{margin-top:12px}
.svc-sec .acard li{font-size:13.5px;color:#777;line-height:1.85;padding-left:16px;position:relative}
.svc-sec .acard li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--c-primary);opacity:.6}

/* 面包屑（用于内页） */
.ep-inner-crumb{padding:20px 0;font-size:13.5px;color:#8a909e;background:#fff;border-bottom:1px solid var(--c-line)}
.ep-inner-crumb a{color:#5b6579}
.ep-inner-crumb a:hover{color:var(--c-primary)}
.ep-inner-crumb i{font-style:normal;margin:0 8px;color:#c3c8d4}

/* 分页 */
.pager{display:flex;justify-content:center;gap:8px;margin-top:46px;flex-wrap:wrap}
.pager a,.pager span{padding:9px 16px;border:1px solid var(--c-line);border-radius:8px;background:#fff;color:#5b6579;font-size:14px}
.pager a:hover{border-color:var(--c-primary);color:var(--c-primary)}
.pager .on{background:linear-gradient(135deg,var(--c-primary),var(--c-primary-d));border-color:transparent;color:#fff}

@media (max-width:1080px){
  .cert-grid{grid-template-columns:repeat(2,1fr)}
  .cgrid{grid-template-columns:repeat(3,1fr)}
  .svc-sec .agrid{grid-template-columns:repeat(2,1fr)}
  .subnav{top:0}
}
@media (max-width:820px){
  .cert-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .cgrid{grid-template-columns:repeat(2,1fr);gap:14px}
  .svc-sec .agrid{grid-template-columns:1fr}
  .page-hero{min-height:250px}
  .page-hero .inner{padding:52px 0 38px}
  .intro-sec,.honor-sec,.client-sec,.svc-sec{padding:56px 0}
  .article-sec{padding:48px 0 60px}
  .article-box{padding:30px 22px 34px;border-radius:12px}
  .article-body{font-size:15px;line-height:1.95}
  .article-body h3{font-size:17px;margin:26px 0 12px}
  .subnav a{padding:15px 16px;font-size:14.5px}
}
@media (max-width:520px){
  .cert-grid{grid-template-columns:1fr}
  .cgrid{grid-template-columns:1fr 1fr}
}

/* 迅睿默认分页组件（ul.pagination）适配 */
.pager .pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.pager .pagination li a{display:block;padding:9px 16px;border:1px solid var(--c-line);border-radius:8px;background:#fff;color:#5b6579;font-size:14px;transition:.25s}
.pager .pagination li a:hover{border-color:var(--c-primary);color:var(--c-primary)}
.pager .pagination li.active a{background:linear-gradient(135deg,var(--c-primary),var(--c-primary-d));border-color:transparent;color:#fff}

/* ==================================================================
   产品中心（分类总览 / 分类列表 / 产品详情）  —— 首页同款设计语言
   ================================================================== */

/* ---------- 通用：描边按钮 ---------- */
.btn-line{border-color:var(--c-line);color:var(--c-ink);background:#fff}
.btn-line:hover{border-color:var(--c-primary);color:var(--c-primary);transform:translateY(-3px)}

/* ---------- 产品中心：分类总览 ---------- */
.pc-sec{padding:84px 0 22px}
.pc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.pc-card{background:#fff;border:1px solid var(--c-line);border-radius:16px;padding:26px 26px 20px;transition:.35s;position:relative;overflow:hidden;display:flex;flex-direction:column}
.pc-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--c-primary),var(--c-red));transform:scaleX(0);transform-origin:left;transition:.4s}
.pc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.pc-card:hover::before{transform:scaleX(1)}
.pc-head{display:flex;align-items:center;gap:14px;border-bottom:1px dashed var(--c-line);padding-bottom:18px}
.pc-ic{width:50px;height:50px;border-radius:14px;background:#E0EAFD;display:grid;place-items:center;color:var(--c-primary);flex:none;transition:.35s}
.pc-card:hover .pc-ic{background:linear-gradient(135deg,var(--c-primary),var(--c-primary-d));color:#fff}
.pc-head h3{font-size:19px;color:var(--c-ink);font-weight:700;flex:1;line-height:1.4}
.pc-cnt{font-style:normal;font-size:13px;color:#9aa1b0;white-space:nowrap}
.pc-cnt b{color:var(--c-primary);font-size:19px;margin-right:3px;font-weight:800}
.pc-subs{display:flex;flex-wrap:wrap;gap:8px;padding:18px 0 16px;flex:1;align-content:flex-start}
.pc-subs a{font-size:13px;color:#5b6579;background:var(--c-bg);border:1px solid transparent;border-radius:99px;padding:5px 13px;transition:.25s;line-height:1.4}
.pc-subs a:hover{background:#E0EAFD;color:var(--c-primary-d);border-color:#A5C0F6}
.pc-more{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--c-primary);align-self:flex-start}
.pc-more svg{transition:transform .3s}
.pc-more:hover svg{transform:translateX(4px)}

/* ---------- 产品列表页 ---------- */
.pl-sec{padding:56px 0 90px;background:linear-gradient(180deg,#fff,var(--c-bg))}
.pl-layout{display:grid;grid-template-columns:284px 1fr;gap:34px;align-items:start}

.pl-side{background:#fff;border:1px solid var(--c-line);border-radius:16px;overflow:hidden;box-shadow:0 6px 24px rgba(22,35,63,.05);position:sticky;top:104px}
.pl-side-hd{display:flex;align-items:center;gap:10px;padding:20px 22px;background:linear-gradient(135deg,var(--c-ink),var(--c-ink-2));color:#fff}
.pl-side-hd b{font-size:16.5px;letter-spacing:1px}
.pl-side-ic{color:var(--c-primary);display:grid;place-items:center}
.pl-tree{padding:10px 0;max-height:min(560px,62vh);overflow-y:auto}
.pl-group{border-bottom:1px solid #f2f3f6}
.pl-group:last-child{border-bottom:none}
.pl-gname{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 22px;font-size:15px;font-weight:600;color:var(--c-ink);transition:.25s}
.pl-gname:hover{background:#ECF2FD;color:var(--c-primary-d)}
.pl-gname.on{color:var(--c-primary);background:#ECF2FD}
.pl-gname.on::before{content:"";position:absolute;left:0;width:3px;height:22px;border-radius:0 3px 3px 0;background:var(--c-primary)}
.pl-group{position:relative}
.pl-arw{transition:transform .3s;color:#b9c0cf;flex:none}
.pl-group.open .pl-arw{transform:rotate(180deg)}
.pl-leaves{display:none;padding:0 0 10px}
.pl-group.open .pl-leaves{display:block}
.pl-leaf{display:block;padding:9px 22px 9px 34px;font-size:14px;color:#6b7488;transition:.25s;position:relative;line-height:1.5}
.pl-leaf::before{content:"";position:absolute;left:22px;top:17px;width:5px;height:5px;border-radius:50%;background:#d3d7e0;transition:.25s}
.pl-leaf:hover{color:var(--c-primary);padding-left:38px}
.pl-leaf:hover::before{background:var(--c-primary)}
.pl-leaf.on{color:var(--c-primary);font-weight:600;background:#ECF2FD}
.pl-leaf.on::before{background:var(--c-primary);transform:scale(1.35)}
.pl-side-cta{margin:6px 14px 16px;background:linear-gradient(160deg,#EDF3FE,#D7E3FC);border:1px solid #A5C0F6;border-radius:12px;padding:18px}
.pl-side-cta b{display:block;color:var(--c-ink);font-size:15px;margin-bottom:7px}
.pl-side-cta p{font-size:13px;color:#8a6a35;line-height:1.75;margin-bottom:13px}
.pl-side-cta .btn{padding:10px 22px;font-size:14px;width:100%;justify-content:center}

.pl-main{min-width:0}
.pl-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:2px solid var(--c-ink);padding-bottom:14px}
.pl-head h2{font-size:24px;color:var(--c-ink);font-weight:700;line-height:1.35;position:relative;padding-left:15px}
.pl-head h2::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;border-radius:2px;background:linear-gradient(180deg,var(--c-primary),var(--c-primary-d))}
.pl-count{font-size:13.5px;color:#8a909e;white-space:nowrap;padding-bottom:3px}
.pl-count b{color:var(--c-primary);font-size:17px;font-weight:800;margin:0 3px}
.pl-desc{color:#6b7488;font-size:14px;line-height:1.9;margin-top:16px;text-align:justify}
.pl-grid{grid-template-columns:repeat(3,1fr);margin-top:26px}
.pl-empty{text-align:center;padding:70px 20px;color:#9aa1b0}
.pl-empty-ic{color:#dfe3ea;display:grid;place-items:center;margin-bottom:14px}
.pl-empty p{font-size:15px;margin-bottom:12px}
.pl-empty a{color:var(--c-primary);font-weight:600}

/* ---------- 产品详情页 ---------- */
.pd-sec{padding:56px 0 70px}
.pd-top{display:grid;grid-template-columns:1.02fr 1fr;gap:46px;align-items:start}

/* 画廊 */
/* min-width:0 必须有：否则作为 grid item 时 min-width:auto 会让缩略图条撑破视口
   （缩略图数 ≥6 时 .pg-thumbs 的 min-content 超过手机宽度 → 整页横向溢出） */
.pd-gallery{position:relative;min-width:0}
.pg-main{position:relative;border:1px solid var(--c-line);border-radius:16px;background:#fff;overflow:hidden;aspect-ratio:1/1;box-shadow:0 6px 26px rgba(22,35,63,.06)}
.pg-slide{position:absolute;inset:0;opacity:0;transition:opacity .4s ease;pointer-events:none;display:grid;place-items:center;padding:18px}
.pg-slide.on{opacity:1;pointer-events:auto}
.pg-slide img{max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in}
.pg-arr{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid var(--c-line);background:rgba(255,255,255,.92);color:var(--c-ink);font-size:24px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 14px rgba(22,35,63,.10);transition:.25s;z-index:3}
.pg-arr:hover{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.pg-arr.prev{left:14px}
.pg-arr.next{right:14px}
.pg-zoom{position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:10px;background:rgba(22,35,63,.72);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.25s;z-index:3}
.pg-zoom:hover{background:var(--c-primary)}
.pg-thumbs{display:flex;gap:10px;margin-top:14px;overflow-x:auto;padding-bottom:4px;scroll-behavior:smooth}
.pg-th{flex:none;width:82px;height:82px;border:2px solid var(--c-line);border-radius:10px;background:#fff;padding:5px;cursor:pointer;transition:.25s;overflow:hidden}
.pg-th img{width:100%;height:100%;object-fit:contain}
.pg-th:hover{border-color:#A5C0F6}
.pg-th.on{border-color:var(--c-primary);box-shadow:0 4px 14px rgba(1,51,153,.22)}

/* 灯箱 */
.pg-lightbox{position:fixed;inset:0;z-index:999;background:rgba(9,16,30,.94);display:none;place-items:center;padding:5vh 4vw}
.pg-lightbox.open{display:grid}
.pg-lightbox img{max-width:100%;max-height:90vh;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.pg-lb-close,.pg-lb-prev,.pg-lb-next{position:absolute;background:rgba(255,255,255,.14);border:none;color:#fff;cursor:pointer;border-radius:50%;display:grid;place-items:center;transition:.25s}
.pg-lb-close{top:24px;right:28px;width:46px;height:46px;font-size:26px;line-height:1}
.pg-lb-prev,.pg-lb-next{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:30px;line-height:1}
.pg-lb-prev{left:26px}
.pg-lb-next{right:26px}
.pg-lb-close:hover,.pg-lb-prev:hover,.pg-lb-next:hover{background:var(--c-primary)}

/* 概要信息 */
.pd-info{padding-top:6px;min-width:0}
.pd-cat{display:inline-block;font-size:13px;color:var(--c-primary);background:#ECF2FD;border:1px solid #A5C0F6;border-radius:99px;padding:4px 15px;letter-spacing:.5px}
.pd-cat a{color:inherit}
.pd-title{font-size:clamp(23px,2.6vw,32px);color:var(--c-ink);font-weight:800;line-height:1.35;margin:16px 0 14px}
.pd-intro{color:#5b6579;font-size:15px;line-height:1.95;text-align:justify;padding-bottom:20px;border-bottom:1px dashed var(--c-line)}
.pd-key{margin:22px 0 26px}
.pd-key li{display:flex;gap:14px;font-size:14.5px;padding:9px 0;border-bottom:1px dashed #f0f1f4}
.pd-key li span{color:#9aa1b0;flex:none;width:76px}
.pd-key li b{color:var(--c-ink);font-weight:600}
.pd-cta{display:flex;gap:12px;flex-wrap:wrap}
.pd-cta .btn{padding:13px 28px;font-size:15px}
.pd-tel{margin-top:20px;border-left:3px solid var(--c-primary);padding:4px 0 4px 14px}
.pd-tel small{display:block;font-size:12.5px;color:#9aa1b0}
.pd-tel b{font-size:23px;color:var(--c-ink);letter-spacing:.5px}

/* 详情正文 */
.pd-body-wrap{margin-top:56px;background:#fff;border:1px solid var(--c-line);border-radius:16px;padding:0 0 44px;box-shadow:var(--shadow);overflow:hidden}
.pd-tabs{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--c-line);padding:0 34px;background:linear-gradient(180deg,#fff,#fcfcfd)}
.pd-tab{position:relative;padding:20px 0;font-size:17px;font-weight:700;color:var(--c-ink)}
.pd-tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:linear-gradient(90deg,var(--c-primary),var(--c-primary-d));border-radius:3px}
.pd-note{font-size:13px;color:#9aa1b0}
.pd-body{padding:34px 40px 0}
.pd-body table{font-size:14px}
.pd-body table tr:nth-child(even) td{background:#fbfbfc}

/* 上一个/下一个 */
.pd-pn{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
.pn-item{background:#fff;border:1px solid var(--c-line);border-radius:12px;padding:16px 22px;font-size:14.5px;display:flex;align-items:center;gap:14px;transition:.3s;min-width:0}
.pn-item span{color:#9aa1b0;font-size:13px;flex:none}
.pn-item a{color:var(--c-ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pn-item a:hover{color:var(--c-primary)}
.pn-item em{color:#c3c8d4;font-style:normal}
.pn-item:hover{border-color:#A5C0F6}

/* 同系列产品 */
.pd-rel{padding:76px 0 90px;background:var(--c-bg)}

@media (max-width:1080px){
  .pc-grid{grid-template-columns:1fr}
  .pl-layout{grid-template-columns:1fr}
  .pl-side{position:static}
  .pl-tree{max-height:none}
  .pd-top{grid-template-columns:1fr;gap:30px}
  .pl-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:820px){
  .pc-sec{padding:52px 0 12px}
  .pc-card{padding:20px 18px 16px;border-radius:12px}
  .pl-sec{padding:34px 0 60px}
  .pl-head h2{font-size:20px}
  .pl-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .pd-sec{padding:34px 0 50px}
  .pg-main{border-radius:12px}
  .pg-arr{width:36px;height:36px;font-size:20px}
  .pg-th{width:64px;height:64px}
  .pd-title{font-size:21px}
  .pd-body-wrap{margin-top:34px;border-radius:12px;padding-bottom:26px}
  .pd-tabs{padding:0 20px}
  .pd-tab{font-size:16px;padding:16px 0}
  .pd-note{display:none}
  .pd-body{padding:24px 20px 0;font-size:15px}
  .pd-body h1,.pd-body h2,.pd-body h3,.pd-body h4{font-size:16.5px;margin:24px 0 12px}
  .pd-pn{grid-template-columns:1fr;gap:12px}
  .pd-rel{padding:52px 0 60px}
  .pg-lb-prev{left:10px}
  .pg-lb-next{right:10px}
}
@media (max-width:520px){
  .pl-grid{grid-template-columns:1fr 1fr;gap:12px}
  .pd-key li{flex-direction:column;gap:2px}
  .pd-key li span{width:auto}
}

/* ==================================================================
   公司环境（厂区实景相册）  —— 首页同款设计语言
   ================================================================== */
.env-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
.env-item{position:relative;margin:0;border-radius:14px;overflow:hidden;background:#f6f7f9;border:1px solid var(--c-line);transition:.35s}
.env-item:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.env-item img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .6s}
.env-item:hover img{transform:scale(1.06)}
.env-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:38px 18px 14px;font-size:14.5px;color:#fff;line-height:1.5;letter-spacing:.5px;background:linear-gradient(transparent,rgba(9,16,30,.82));text-align:left}
@media (max-width:1080px){
  .env-grid{grid-template-columns:repeat(2,1fr);gap:18px}
}
@media (max-width:820px){
  .env-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .env-item{border-radius:10px}
  .env-item figcaption{padding:30px 12px 10px;font-size:13px}
}
@media (max-width:520px){
  .env-grid{grid-template-columns:1fr;gap:14px}
}

/* ==================================================================
   新闻资讯列表  —— 首页同款设计语言
   ================================================================== */
.nl-sec{padding:76px 0 92px;background:linear-gradient(180deg,#fff,var(--c-bg))}
.nl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px}
.nl-card{background:#fff;border:1px solid var(--c-line);border-radius:14px;overflow:hidden;transition:.35s;display:flex;flex-direction:column;min-width:0}
.nl-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:transparent}
.nl-card .ph{aspect-ratio:16/9;overflow:hidden;background:#f2f3f6}
.nl-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.nl-card:hover .ph img{transform:scale(1.06)}
.nl-card .ph.nl-ph--none{display:grid;place-items:center}
.nl-card .bd{padding:20px 22px 22px;flex:1;display:flex;flex-direction:column}
.nl-card .meta{display:flex;align-items:center;gap:10px;font-size:12.5px;color:#9aa1b0;margin-bottom:10px}
.nl-card .meta .tag{color:var(--c-primary);background:#ECF2FD;border:1px solid #A5C0F6;border-radius:99px;padding:2px 11px;white-space:nowrap}
.nl-card h3{font-size:16.5px;color:var(--c-ink);line-height:1.5;font-weight:600;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nl-card:hover h3{color:var(--c-primary-d)}
.nl-card p{font-size:13.5px;color:#7c8494;line-height:1.8;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nl-card .more{margin-top:14px;font-size:13.5px;font-weight:600;color:var(--c-primary)}
.nl-empty{text-align:center;padding:70px 20px;color:#9aa1b0}
.nl-empty svg{margin-bottom:14px}
.nl-empty p{font-size:15px;margin-bottom:12px}
.nl-empty a{color:var(--c-primary);font-weight:600}
@media (max-width:1080px){
  .nl-grid{grid-template-columns:repeat(2,1fr);gap:18px}
}
@media (max-width:820px){
  .nl-sec{padding:48px 0 60px}
  .nl-grid{grid-template-columns:1fr;gap:16px;margin-top:24px}
  .nl-card .bd{padding:16px 16px 18px}
}

/* ==================================================================
   联系我们  —— 参考 www.kesionots.com/Contact.html 版式，配色与首页统一
   ================================================================== */
.ct-sec{padding:70px 0 92px;background:linear-gradient(180deg,#fff,var(--c-bg))}
.ct-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}

.ct-info .ct-h{font-size:clamp(30px,3.4vw,44px);color:var(--c-primary);font-weight:800;letter-spacing:2px;line-height:1.1}
.ct-info .ct-sub{font-size:17px;color:var(--c-ink);font-weight:600;margin:12px 0 30px;padding-bottom:24px;border-bottom:2px solid var(--c-line)}

.ct-hot{display:flex;align-items:center;gap:18px;padding-bottom:26px;border-bottom:1px dashed var(--c-line)}
.ct-hot .ic{width:54px;height:54px;border-radius:50%;background:#E8EFFD;color:var(--c-primary);display:grid;place-items:center;flex:none}
.ct-hot small{display:block;font-size:14px;color:#7c8494;margin-bottom:2px}
.ct-hot b{font-size:clamp(24px,2.6vw,32px);color:var(--c-primary);font-weight:800;letter-spacing:1px;line-height:1.15}
/* 联系页可点击的联系方式：继承颜色，虚线下划线提示可点 */
.ct-hot a{color:inherit;text-decoration:none;display:inline-block;transition:opacity .25s}
.ct-hot a:hover{opacity:.78}
.ct-list a{color:inherit;text-decoration:none;border-bottom:1px dashed rgba(1,51,153,.35);transition:color .25s,border-color .25s}
.ct-list a:hover{color:var(--c-primary);border-bottom-color:var(--c-primary)}
.ct-visit a{color:var(--c-primary);text-decoration:none;border-bottom:1px dashed rgba(1,51,153,.35);transition:border-color .25s}
.ct-visit a:hover{border-bottom-color:var(--c-primary)}

.ct-list{margin:28px 0 0}
.ct-list>li{display:flex;gap:18px;padding:0 0 26px;margin-bottom:26px;border-bottom:1px dashed var(--c-line)}
.ct-list>li:last-child{border-bottom:none}
.ct-list .ic{width:38px;height:38px;border-radius:50%;background:#E8EFFD;color:var(--c-primary);display:grid;place-items:center;flex:none;margin-top:2px}
.ct-list h4{font-size:15.5px;color:var(--c-ink);font-weight:700;margin-bottom:8px}
.ct-list h5{font-size:14px;color:var(--c-ink);font-weight:700;margin:16px 0 7px}
.ct-list p{font-size:14.5px;color:#5b6579;line-height:1.85}
.ct-list .ct-phones,.ct-list .ct-mails{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;max-width:360px}
.ct-list .ct-mails{grid-template-columns:1fr}

/* 留言表单 */
.ct-form{margin-top:34px;background:#fff;border:1px solid var(--c-line);border-radius:16px;padding:28px 30px 30px;box-shadow:var(--shadow)}
.ct-form h3{font-size:18px;color:var(--c-ink);font-weight:700;margin-bottom:6px}
.ct-form .tip{font-size:13.5px;color:#8a909e;line-height:1.75;margin-bottom:18px}
.ct-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.ct-form input,.ct-form textarea{width:100%;border:1px solid var(--c-line);border-radius:9px;padding:12px 15px;font-size:14.5px;font-family:inherit;color:var(--c-ink);background:#fcfcfd;outline:none;transition:.25s;margin-bottom:12px}
.ct-form .row input{margin-bottom:0}
.ct-form input:focus,.ct-form textarea:focus{border-color:var(--c-primary);background:#fff;box-shadow:0 0 0 3px rgba(1,51,153,.12)}
.ct-form textarea{resize:vertical;min-height:104px}
.ct-form .btn{width:100%;justify-content:center;padding:14px 28px;font-size:15.5px;border:none;cursor:pointer}
.ct-form .ok{font-size:14.5px;color:#1a7f47;background:#eefaf3;border:1px solid #b7e7cd;border-radius:10px;padding:16px 18px;line-height:1.8}
.ct-form .err{font-size:14px;color:#b3261e;background:#fdecea;border:1px solid #f3c2bd;border-radius:10px;padding:12px 16px;line-height:1.7;margin-top:12px}
.ct-form .btn:disabled{opacity:.7;cursor:default}

/* 右侧位置卡片与到厂信息 */
.ct-side{position:sticky;top:112px}
.ct-map{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--c-line);background:#eaf2ea;box-shadow:var(--shadow);min-height:392px;display:grid;place-items:center;padding:34px 30px}
/* 装饰层：模拟浅色路网 */
.ct-map-deco{position:absolute;inset:0;pointer-events:none;opacity:.75;
  background:
    linear-gradient(#fff 0 0) 0 26%/100% 10px no-repeat,
    linear-gradient(#fff 0 0) 0 62%/100% 8px no-repeat,
    linear-gradient(#fff 0 0) 22% 0/9px 100% no-repeat,
    linear-gradient(#fff 0 0) 71% 0/7px 100% no-repeat,
    linear-gradient(90deg,rgba(255,255,255,.55) 0 0) 0 0/100% 100% no-repeat,
    radial-gradient(circle at 78% 18%,#d8ead6 0 22%,transparent 23%),
    radial-gradient(circle at 12% 82%,#dfe9f2 0 18%,transparent 19%),
    #eef4ec;
  background-repeat:no-repeat}
.ct-map-bd{position:relative;z-index:1;text-align:center;max-width:400px}
.ct-map-bd .pin{width:62px;height:62px;border-radius:50%;background:#fff;color:var(--c-red);display:grid;place-items:center;margin:0 auto 16px;box-shadow:0 10px 26px rgba(22,35,63,.14)}
.ct-map-bd .k{display:block;font-size:12.5px;letter-spacing:2px;color:#8a9668;font-weight:600;margin-bottom:8px}
.ct-map-bd h4{font-size:20px;color:var(--c-ink);font-weight:700;margin-bottom:10px}
.ct-map-bd p{font-size:14.5px;color:#5b6579;line-height:1.85;margin-bottom:20px}
.ct-map-bd .acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.ct-map-bd .acts a{display:inline-flex;align-items:center;padding:10px 20px;border-radius:99px;background:var(--c-ink);color:#fff;font-size:13.5px;font-weight:600;transition:background .25s,transform .25s}
.ct-map-bd .acts a:hover{background:var(--c-primary);transform:translateY(-2px)}
.ct-card{margin-top:22px;background:linear-gradient(160deg,#EDF3FE,#D7E3FC);border:1px solid #A5C0F6;border-radius:16px;padding:26px 26px 28px}
.ct-card h3{font-size:18px;color:var(--c-ink);font-weight:700;margin-bottom:10px}
.ct-card>p{font-size:14px;color:#8a6a35;line-height:1.85;margin-bottom:16px}
.ct-card ul{margin-bottom:20px}
.ct-card li{display:flex;gap:12px;font-size:14px;color:#6b5a3d;line-height:1.8;padding:8px 0;border-bottom:1px dashed #BDCEF0}
.ct-card li:last-child{border-bottom:none}
.ct-card li b{color:var(--c-ink);flex:none;width:42px;font-weight:700}
.ct-card .btn{width:100%;justify-content:center;padding:13px 24px;font-size:15px}

@media (max-width:1080px){
  .ct-layout{grid-template-columns:1fr;gap:34px}
  .ct-side{position:static}
  .ct-map{min-height:340px}
}
@media (max-width:820px){
  .ct-sec{padding:44px 0 60px}
  .ct-info .ct-sub{font-size:15.5px;margin:10px 0 22px;padding-bottom:18px}
  .ct-hot{gap:14px;padding-bottom:20px}
  .ct-hot .ic{width:46px;height:46px}
  .ct-form{padding:22px 20px 24px;border-radius:12px}
  .ct-form .row{grid-template-columns:1fr;gap:0}
  .ct-form .row input{margin-bottom:12px}
  .ct-list .ct-phones{grid-template-columns:1fr}
  .ct-card{padding:20px 18px 22px;border-radius:12px}
  .ct-map{border-radius:12px;min-height:300px;padding:28px 22px}
  .ct-map-bd h4{font-size:18px}
}

/* ===== 频道/支持类内页（技术支持·技术资料·说明书下载·企业视频·招聘） ===== */
.sp-sec{padding:64px 0 76px}
.sp-lead{max-width:880px;margin-bottom:34px}
.sp-lead h2{margin-top:8px}
.sp-lead p{color:#666;margin-top:14px}
.sp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sp-card{position:relative;display:block;background:#fff;border:1px solid var(--c-line);border-radius:14px;padding:28px 26px 26px;box-shadow:0 6px 22px rgba(22,35,63,.06);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;overflow:hidden}
.sp-card::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--c-primary);transition:width .35s ease}
.sp-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:#B0C7F5}
.sp-card:hover::before{width:100%}
.sp-card .ic{width:52px;height:52px;border-radius:13px;background:linear-gradient(135deg,#E6EEFD,#CDDCFB);display:grid;place-items:center;color:var(--c-primary);margin-bottom:16px}
.sp-card h3{font-size:19px;color:var(--c-ink);font-weight:700;margin-bottom:8px;line-height:1.45}
.sp-card p{font-size:13.5px;color:#777;line-height:1.75;min-height:44px}
.sp-card .go{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:13.5px;color:var(--c-primary);font-weight:600}
.sp-card .go svg{transition:transform .3s}
.sp-card:hover .go svg{transform:translateX(4px)}
.sp-note{display:flex;gap:22px;align-items:center;background:linear-gradient(120deg,#F5F8FD,#ECF0F7);border:1px dashed #BBC9E6;border-radius:16px;padding:30px 32px}
.sp-note .ic{flex:none;width:62px;height:62px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--c-primary);box-shadow:0 6px 18px rgba(1,51,153,.16)}
.sp-note .tx h3{font-size:19px;color:var(--c-ink);font-weight:700;margin-bottom:8px}
.sp-note .tx p{font-size:14px;color:#7b6a4f;line-height:1.85}
.sp-note .act{margin-left:auto;flex:none}
.sp-note .act .btn{white-space:nowrap}
.sp-list{margin-top:38px}
.sp-sec .article-box{margin-top:6px}
@media (max-width:1080px){
  .sp-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px){
  .sp-sec{padding:44px 0 56px}
  .sp-grid{grid-template-columns:1fr;gap:16px}
  .sp-card{padding:22px 20px 20px;border-radius:12px}
  .sp-card p{min-height:0}
  .sp-note{flex-direction:column;text-align:center;padding:26px 20px;gap:16px}
  .sp-note .act{margin:0}
}

/* ===== 资讯详情页（新闻中心 / 公司新闻 / 行业新闻 / 展会信息）===== */
.nd-sec{padding:56px 0 82px;background:linear-gradient(180deg,#fff,var(--c-bg))}
.nd-layout{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:34px;align-items:start}

/* 左：正文卡片 */
.nd-main{min-width:0}
.nd-card{background:#fff;border:1px solid var(--c-line);border-radius:16px;padding:44px 50px 46px;box-shadow:var(--shadow)}
.nd-title{font-size:clamp(22px,2.5vw,30px);color:var(--c-ink);font-weight:800;line-height:1.5;letter-spacing:.3px}
.nd-meta{display:flex;gap:10px 24px;flex-wrap:wrap;margin-top:20px;padding-bottom:22px;border-bottom:1px dashed var(--c-line);font-size:13.5px;color:#8b93a5}
.nd-meta span{display:inline-flex;align-items:center;gap:6px}
.nd-meta svg{color:#b9c0cc;flex:none}
.nd-meta a{color:var(--c-primary);font-weight:600}
.nd-meta a:hover{text-decoration:underline}
.nd-meta .nd-hits{font-style:normal;font-weight:700;color:#6b7280;font-variant-numeric:tabular-nums}
.nd-intro{margin-top:24px;padding:17px 22px;border-radius:10px;background:#F1F5FD;border-left:3px solid var(--c-primary);font-size:14.5px;color:#7a6a52;line-height:1.9}
.nd-body{margin-top:26px}
.nd-tags{margin-top:32px;padding-top:24px;border-top:1px dashed var(--c-line);display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:13px;color:#9aa1b0}
.nd-tags a{padding:5px 13px;border-radius:99px;background:#f4f6f9;color:#5b6579;font-size:13px;transition:.25s}
.nd-tags a:hover{background:var(--c-primary);color:#fff}
.nd-pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}

/* 右：侧栏 */
.nd-side{position:sticky;top:104px;display:flex;flex-direction:column;gap:22px}
.nd-rel{background:#fff;border:1px solid var(--c-line);border-radius:14px;overflow:hidden;box-shadow:0 8px 26px rgba(22,35,63,.07)}
.nd-rel-h{display:flex;align-items:center;gap:9px;padding:15px 20px;background:linear-gradient(135deg,var(--c-primary),var(--c-primary-d));color:#fff;font-size:16px;font-weight:700;letter-spacing:.5px}
.nd-rel-list{padding:6px 18px 14px}
.nd-rel-list li{display:flex;align-items:baseline;gap:12px;justify-content:space-between;padding:12px 0;border-bottom:1px dashed #eef0f3;font-size:14px}
.nd-rel-list li:last-child{border-bottom:none}
.nd-rel-list li a{position:relative;flex:1;min-width:0;color:#4b5563;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:13px;transition:color .25s,padding-left .25s}
.nd-rel-list li a::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:#d5dae2;transition:background .25s}
.nd-rel-list li:hover a{color:var(--c-primary);padding-left:17px}
.nd-rel-list li:hover a::before{background:var(--c-primary)}
.nd-rel-list li em{flex:none;font-style:normal;font-size:12.5px;color:#a8b0be;font-variant-numeric:tabular-nums}
.nd-side-cta{background:linear-gradient(160deg,#EDF3FE,#D7E3FC);border:1px solid #A5C0F6;border-radius:14px;padding:24px 22px 26px;text-align:center}
.nd-side-cta h4{font-size:17px;color:var(--c-ink);font-weight:700;margin-bottom:8px}
.nd-side-cta p{font-size:13.5px;color:#8a6a35;line-height:1.8;margin-bottom:16px}
.nd-side-cta .tel{display:block;font-size:20px;font-weight:800;color:var(--c-primary);letter-spacing:.5px;margin-bottom:14px;font-variant-numeric:tabular-nums}
.nd-side-cta .btn{width:100%;justify-content:center}

@media (max-width:1080px){
  .nd-layout{grid-template-columns:1fr;gap:30px}
  .nd-side{position:static}
}
@media (max-width:820px){
  .nd-sec{padding:38px 0 56px}
  .nd-card{padding:26px 20px 30px;border-radius:12px}
  .nd-title{font-size:21px}
  .nd-meta{gap:8px 18px;font-size:13px;margin-top:16px;padding-bottom:18px}
  .nd-intro{padding:14px 16px;font-size:14px;margin-top:18px}
  .nd-body{margin-top:20px}
  .nd-pn{grid-template-columns:1fr;gap:10px}
  .pn-item{padding:14px 16px}
  .nd-rel-list li a{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.55}
  .nd-rel-list li{align-items:flex-start}
  .nd-rel-list li em{padding-top:2px}
}

/* ===== 在线留言页 / 留言板（迅睿模块内容表单 Mform） ===== */
.msg-sec{padding:54px 0 72px;background:var(--c-bg)}
.msg-wrap{max-width:780px;margin:0 auto}
.msg-wrap .ct-form{margin-top:0}
.msg-form-head{text-align:center;margin-bottom:26px}
.msg-form-head h2{font-size:clamp(22px,2.6vw,30px);color:var(--c-ink);font-weight:700;margin:8px 0 10px}
.msg-form-head p{font-size:14.5px;color:#5b6579;line-height:1.85}
.msg-back{text-align:center;margin-top:24px;font-size:14px;color:#8a909e}
.msg-back a{color:var(--c-primary);font-weight:600}
.msg-back a:hover{text-decoration:underline}
.msg-list{margin-top:48px}
.msg-list>h3{font-size:19px;color:var(--c-ink);font-weight:700;margin-bottom:6px}
.msg-list>p.sub{font-size:13.5px;color:#8a909e;margin-bottom:20px}
.msg-item{background:#fff;border:1px solid var(--c-line);border-radius:14px;padding:20px 24px;margin-bottom:14px;box-shadow:0 4px 18px rgba(22,35,63,.05)}
.msg-item .hd{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:10px;flex-wrap:wrap}
.msg-item .nm{font-size:14.5px;font-weight:700;color:var(--c-ink)}
.msg-item .tm{font-size:12.5px;color:#9aa1ae}
.msg-item .bd{font-size:14.5px;color:#5b6579;line-height:1.9;white-space:pre-wrap;word-break:break-word}
.msg-empty{text-align:center;color:#8a909e;font-size:14px;background:#fff;border:1px dashed var(--c-line);border-radius:14px;padding:34px 20px}
.msg-detail{background:#fff;border:1px solid var(--c-line);border-radius:16px;padding:30px 32px;box-shadow:var(--shadow)}
.msg-detail .hd{border-bottom:1px solid var(--c-line);padding-bottom:16px;margin-bottom:18px}
.msg-detail .hd h1{font-size:22px;color:var(--c-ink);font-weight:700;margin-bottom:10px}
.msg-detail .hd .meta{font-size:13px;color:#8a909e;display:flex;gap:20px;flex-wrap:wrap}
.msg-detail .bd{font-size:15px;color:#3b4459;line-height:2;white-space:pre-wrap;word-break:break-word}
.msg-pager{text-align:center;margin-top:26px;font-size:14px;color:#5b6579}
.msg-pager a,.msg-pager span{display:inline-block;padding:7px 13px;margin:0 3px;border:1px solid var(--c-line);border-radius:8px;background:#fff}
.msg-pager a:hover{border-color:var(--c-primary);color:var(--c-primary)}
.msg-pager .on{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
@media (max-width:820px){
  .msg-sec{padding:38px 0 54px}
  .msg-detail{padding:22px 20px;border-radius:12px}
  .msg-item{padding:18px 18px;border-radius:12px}
}

/* ==========================================================================
   多语言排版安全网（英文 / 德语 / 俄语版）
   加了多语言后，译文比中文长得多，暴露出两类「中文下看不出来」的布局炸点：

   ☠️ 1) CSS Grid 的 `repeat(N, 1fr)` 隐含 min-width:auto —— 只要网格项里有
        不可断行的长内容（译文词组、nowrap 的标题），列就会被顶宽，
        整页出现横向滚动条（document.scrollWidth > 视口）。
        修法：网格项统一 min-width:0，让省略号 / 换行规则真正生效。
   ☠️ 2) 弹性行（header 等）里 space-between 的两端都是「不可压缩」宽度时同样顶破。
        修法：可压缩的一端给 min-width:0，不可压缩的一端给 flex:none。

   这里用「属性选择器批量兜底」而不用逐个改类名 —— 站点有 20+ 个 *-grid 容器，
   逐条改改不完、以后新增容器还会再犯。注意本规则**只设下限、不动列数**，
   所以不会覆盖上面各处的列数定义，也不会误伤非网格元素。
   ========================================================================== */
[class$="-grid"],[class$="-grids"],[class*="-grid "],.apgrid,.cs-grid,.pgrid,.agrid,.cgrid,.apgrid{min-width:0}
/* 网格的「直接子项」也给下限，否则子项自身仍会被内容顶宽 */
[class$="-grid"]>*,[class*="-grid "]>*,.apgrid>*,.cs-grid>*,.pgrid>*,.agrid>*,.cgrid>*{min-width:0}
/* 导航/头部这类弹性行：允许中间可压缩 */
.header .wrap>*{min-width:0}
/* 译文里的英文长单词不要在窄容器里硬撑：允许断开 */
.cs-bd h3,.ap-hd h3,.ap-name,.sp-name,.pl-name{overflow-wrap:anywhere;word-break:break-word}

/* ===== 页脚海外社媒图标 ===== */
.f-social{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.f-social .fs-ico{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);color:#c4cee2;transition:background .22s,color .22s,transform .22s}
.f-social .fs-ico:hover{color:#fff;transform:translateY(-2px)}
.f-social .fs-facebook:hover{background:#1877f2}
.f-social .fs-instagram:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}
.f-social .fs-linkedin:hover{background:#0a66c2}
.f-social .fs-youtube:hover{background:#ff0000}
.f-social .fs-whatsapp:hover{background:#25d366}
@media(max-width:820px){.f-social{margin-top:14px}.f-social .fs-ico{width:30px;height:30px}}
