/* ==========================================================================
   工信国际潍坊中心 · 全新前台模板样式
   风格：政务稳重 + 科技现代   配色：政务蓝 + 科技青
   类名前缀统一 gx-，与旧模板彻底隔离
   ========================================================================== */

/* ---------- 1. 设计令牌 ---------- */
:root{
  --gx-primary:#1a5fb4;        /* 政务深蓝 */
  --gx-primary-d:#134a8f;
  --gx-primary-l:#2e77d0;
  --gx-cyan:#12afc4;           /* 科技青 */
  --gx-cyan-l:#19c7dd;
  --gx-grad:linear-gradient(135deg,#1a5fb4 0%,#12afc4 100%);
  --gx-grad-soft:linear-gradient(135deg,#eaf2fb 0%,#e6f6f9 100%);
  --gx-ink:#1e2a3a;            /* 标题深色 */
  --gx-body:#46536b;           /* 正文 */
  --gx-muted:#8a94a6;          /* 次要 */
  --gx-line:#e6ebf2;           /* 描边 */
  --gx-bg:#f4f7fb;             /* 浅背景 */
  --gx-bg2:#eaf1fa;
  --gx-white:#fff;
  --gx-shadow:0 10px 30px rgba(20,60,120,.10);
  --gx-shadow-s:0 3px 12px rgba(20,60,120,.07);
  --gx-r:10px;
  --gx-r-lg:18px;
  --gx-maxw:1400px;
  --gx-font:"PingFang SC","Microsoft YaHei","Segoe UI",-apple-system,"Helvetica Neue",Arial,sans-serif;
}

/* ---------- 2. 基础重置 ---------- */
*,*::before,*::after{box-sizing:border-box;}
.gx-body,body.gx-body{margin:0;font-family:var(--gx-font);color:var(--gx-body);
  font-size:15px;line-height:1.7;background:var(--gx-white);-webkit-font-smoothing:antialiased;}
.gx-body a{color:inherit;text-decoration:none;transition:color .25s ease;}
.gx-body a:hover{color:var(--gx-primary);}
.gx-body img{max-width:100%;display:block;border:0;}
.gx-body h1,.gx-body h2,.gx-body h3,.gx-body h4,.gx-body p,.gx-body ul,.gx-body ol,.gx-body dl{margin:0;padding:0;}
.gx-body ul,.gx-body ol{list-style:none;}
.gx-body h1,.gx-body h2,.gx-body h3,.gx-body h4{color:var(--gx-ink);font-weight:700;line-height:1.35;}

/* ---------- 3. 通用布局 ---------- */
.gx-wrap{width:100%;max-width:var(--gx-maxw);margin:0 auto;padding:0 20px;}
.gx-sec{padding:50px 0;}
.gx-sec--gray{background:var(--gx-bg);}
.gx-sec--tint{background:var(--gx-grad-soft);}

/* 区块标题 */
.gx-sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:34px;gap:16px;flex-wrap:wrap;}
.gx-sec-head .t{text-align:left;}
.gx-sec-head .t .cn{font-size:28px;color:var(--gx-ink);font-weight:800;position:relative;padding-left:16px;}
.gx-sec-head .t .cn::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:5px;border-radius:3px;background:var(--gx-grad);}
.gx-sec-head .t .en{font-size:13px;color:var(--gx-muted);letter-spacing:2px;text-transform:uppercase;margin-top:6px;padding-left:16px;}
.gx-sec-head .more{font-size:14px;color:var(--gx-muted);display:inline-flex;align-items:center;gap:6px;
  padding:7px 16px;border:1px solid var(--gx-line);border-radius:30px;background:var(--gx-white);}
.gx-sec-head .more:hover{color:var(--gx-white);border-color:var(--gx-primary);background:var(--gx-primary);}
.gx-sec-head .more::after{content:"›";font-size:18px;line-height:0;}

/* 居中区块标题 */
.gx-sec-head--center{flex-direction:column;align-items:center;text-align:center;}
.gx-sec-head--center .t .cn{padding-left:0;}
.gx-sec-head--center .t .cn::before{display:none;}
.gx-sec-head--center .t .en{padding-left:0;}

/* ---------- 4. 顶部信息条 ---------- */
.gx-topbar{background:var(--gx-primary-d);color:#cfe0f5;font-size:13px;}
.gx-topbar .gx-wrap{display:flex;align-items:center;justify-content:space-between;height:38px;}
.gx-topbar .welcome{display:flex;align-items:center;gap:8px;}
.gx-topbar .welcome b{color:#fff;font-weight:600;}
.gx-topbar .tb-right{display:flex;align-items:center;gap:22px;}
.gx-topbar .tb-item{display:flex;align-items:center;gap:6px;}
.gx-topbar a{color:#cfe0f5;}
.gx-topbar a:hover{color:#fff;}

/* ---------- 5. 头部（Logo + 搜索） ---------- */
.gx-header{background:var(--gx-white);border-bottom:1px solid var(--gx-line);}
.gx-header .gx-wrap{display:flex;align-items:center;justify-content:space-between;height:104px;gap:24px;}
.gx-logo{display:flex;align-items:center;gap:14px;}
.gx-logo img{height:56px;width:auto;}
.gx-logo .brand .name{font-size:24px;font-weight:800;color:var(--gx-primary);letter-spacing:1px;line-height:1.2;}
.gx-logo .brand .sub{font-size:13px;color:var(--gx-muted);margin-top:3px;letter-spacing:.5px;}
.gx-header .hd-right{display:flex;align-items:center;gap:20px;}
.gx-search{display:flex;align-items:center;border:1px solid var(--gx-line);border-radius:30px;overflow:hidden;background:var(--gx-white);}
.gx-search input{border:0;outline:0;width:200px;height:40px;padding:0 16px;font-size:14px;color:var(--gx-body);background:transparent;}
.gx-search button{border:0;cursor:pointer;height:40px;padding:0 20px;background:var(--gx-grad);color:#fff;font-size:14px;display:flex;align-items:center;gap:6px;}
.gx-header .hd-tel{display:flex;align-items:center;gap:10px;}
.gx-header .hd-tel .ic{width:40px;height:40px;border-radius:50%;background:var(--gx-bg2);display:flex;align-items:center;justify-content:center;color:var(--gx-primary);font-size:18px;}
.gx-header .hd-tel .lab{font-size:12px;color:var(--gx-muted);}
.gx-header .hd-tel .num{font-size:19px;font-weight:800;color:var(--gx-primary);letter-spacing:.5px;}

/* ---------- 6. 主导航 ---------- */
.gx-nav{background:var(--gx-primary);position:relative;z-index:1000;}
.gx-nav .gx-wrap{display:flex;align-items:stretch;}
.gx-nav .nav-list{display:flex;align-items:stretch;width:100%;}
.gx-nav .nav-item{position:relative;}
.gx-nav .nav-item > .nav-a{display:flex;align-items:center;justify-content:center;height:56px;padding:0 26px;color:#fff;
  font-size:16px;font-weight:600;position:relative;transition:background .25s ease;white-space:nowrap;}
.gx-nav .nav-item > .nav-a::after{content:"";position:absolute;left:50%;bottom:12px;width:0;height:2px;background:#fff;border-radius:2px;transition:width .3s ease,left .3s ease;}
.gx-nav .nav-item:hover > .nav-a,.gx-nav .nav-item.on > .nav-a{background:var(--gx-primary-d);}
.gx-nav .nav-item:hover > .nav-a::after,.gx-nav .nav-item.on > .nav-a::after{width:24px;left:calc(50% - 12px);}
/* 二级下拉 */
.gx-nav .sub{position:absolute;left:0;top:100%;min-width:180px;background:var(--gx-white);border-radius:0 0 10px 10px;
  box-shadow:var(--gx-shadow);opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s ease;z-index:1001;overflow:hidden;}
.gx-nav .nav-item:hover .sub{opacity:1;visibility:visible;transform:translateY(0);}
.gx-nav .sub a{display:block;padding:12px 20px;font-size:14px;color:var(--gx-body);border-bottom:1px solid var(--gx-line);}
.gx-nav .sub a:last-child{border-bottom:0;}
.gx-nav .sub a:hover{background:var(--gx-bg);color:var(--gx-primary);padding-left:24px;}
/* 移动端汉堡 */
.gx-nav .nav-toggle{display:none;}

/* ---------- 7. Banner 轮播 ---------- */
.gx-banner{position:relative;width:100%;height:520px;overflow:hidden;background:#0b2545;}
.gx-banner .slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;pointer-events:none;}
.gx-banner .slide.on{opacity:1;pointer-events:auto;}
.gx-banner .slide img{width:100%;height:100%;object-fit:cover;}
.gx-banner .slide .mask{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,37,69,.55) 0%,rgba(11,37,69,.15) 55%,rgba(11,37,69,0) 100%);}
.gx-banner .slide .cap{position:absolute;left:0;top:50%;transform:translateY(-50%);width:100%;}
.gx-banner .slide .cap .gx-wrap{max-width:var(--gx-maxw);}
.gx-banner .slide .cap .txt{color:#fff;max-width:680px;}
.gx-banner .slide .cap .txt .h{font-size:44px;font-weight:800;line-height:1.25;text-shadow:0 4px 18px rgba(0,0,0,.35);}
.gx-banner .slide .cap .txt .p{font-size:17px;margin-top:16px;color:#eaf1fb;text-shadow:0 2px 10px rgba(0,0,0,.3);}
.gx-banner .slide .cap .txt .btns{margin-top:28px;display:flex;gap:14px;}
.gx-banner .slide .cap .txt .btn{padding:11px 26px;border-radius:30px;font-size:15px;font-weight:600;}
.gx-banner .slide .cap .txt .btn.solid{background:var(--gx-grad);color:#fff;}
.gx-banner .slide .cap .txt .btn.ghost{border:1.5px solid rgba(255,255,255,.7);color:#fff;}
.gx-banner .slide .cap .txt .btn:hover{color:#fff;transform:translateY(-2px);}
.gx-banner .dots{position:absolute;bottom:26px;left:0;width:100%;display:flex;justify-content:center;gap:10px;z-index:5;}
.gx-banner .dots i{width:30px;height:4px;border-radius:3px;background:rgba(255,255,255,.45);cursor:pointer;transition:.3s;}
.gx-banner .dots i.on{background:#fff;width:44px;}
.gx-banner .arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,.18);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;
  z-index:5;transition:.3s;user-select:none;}
.gx-banner .arrow:hover{background:var(--gx-primary);}
.gx-banner .arrow.prev{left:22px;}
.gx-banner .arrow.next{right:22px;}

/* ---------- 8. 数据概览 / 快捷入口 ---------- */
.gx-stats{margin-top:-70px;position:relative;z-index:10;}
.gx-stats .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;background:var(--gx-white);
  border-radius:var(--gx-r-lg);box-shadow:var(--gx-shadow);padding:30px 26px;}
.gx-stats .item{display:flex;align-items:center;gap:16px;padding:6px 10px;}
.gx-stats .item .ic{width:58px;height:58px;border-radius:14px;background:var(--gx-grad-soft);color:var(--gx-primary);
  display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;}
.gx-stats .item .n{font-size:26px;font-weight:800;color:var(--gx-ink);line-height:1.1;}
.gx-stats .item .n small{font-size:14px;font-weight:600;color:var(--gx-primary);margin-left:2px;}
.gx-stats .item .l{font-size:14px;color:var(--gx-muted);margin-top:4px;}

/* ---------- 9. 新闻中心 ---------- */
.gx-news .cols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:26px;}
.gx-news .feature{position:relative;border-radius:var(--gx-r-lg);overflow:hidden;height:100%;min-height:360px;box-shadow:var(--gx-shadow-s);}
.gx-news .feature img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.gx-news .feature:hover img{transform:scale(1.05);}
.gx-news .feature .info{position:absolute;left:0;right:0;bottom:0;padding:26px;color:#fff;
  background:linear-gradient(180deg,rgba(11,37,69,0) 0%,rgba(11,37,69,.85) 100%);}
.gx-news .feature .info .date{font-size:13px;color:#bcd4f0;margin-bottom:8px;}
.gx-news .feature .info .tt{font-size:20px;font-weight:700;color:#fff;line-height:1.4;}
.gx-news .feature .info .ds{font-size:14px;color:#dbe8f7;margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.gx-news .tabset .tabs{display:flex;gap:8px;border-bottom:2px solid var(--gx-line);margin-bottom:6px;}
.gx-news .tabset .tab{padding:12px 18px;font-size:16px;font-weight:700;color:var(--gx-muted);cursor:pointer;position:relative;}
.gx-news .tabset .tab.on{color:var(--gx-primary);}
.gx-news .tabset .tab.on::after{content:"";position:absolute;left:12px;right:12px;bottom:-2px;height:2px;background:var(--gx-grad);}
.gx-news .panel{display:none;}
.gx-news .panel.on{display:block;}
.gx-list li{display:flex;align-items:center;gap:14px;padding:14px 6px;border-bottom:1px dashed var(--gx-line);}
.gx-list li:last-child{border-bottom:0;}
.gx-list li .dt{flex-shrink:0;width:60px;text-align:center;border-radius:8px;background:var(--gx-bg);color:var(--gx-primary);padding:6px 0;}
.gx-list li .dt .d{font-size:20px;font-weight:800;line-height:1;}
.gx-list li .dt .m{font-size:12px;color:var(--gx-muted);margin-top:3px;}
.gx-list li .bd{flex:1;min-width:0;}
.gx-list li .bd .tt{display:block;font-size:16px;color:var(--gx-ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gx-list li:hover .bd .tt{color:var(--gx-primary);}
.gx-list li .bd .ds{display:block;font-size:13px;color:var(--gx-muted);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ---------- 10. 优秀企业展示 ---------- */
.gx-cases .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;}
.gx-cases .card{background:var(--gx-white);border-radius:var(--gx-r);overflow:hidden;box-shadow:var(--gx-shadow-s);
  border:1px solid var(--gx-line);transition:.3s ease;}
.gx-cases .card:hover{transform:translateY(-6px);box-shadow:var(--gx-shadow);border-color:transparent;}
.gx-cases .card .thumb{height:170px;overflow:hidden;background:var(--gx-bg);}
.gx-cases .card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.gx-cases .card:hover .thumb img{transform:scale(1.08);}
.gx-cases .card .bd{padding:16px 18px;}
.gx-cases .card .bd .tt{font-size:16px;color:var(--gx-ink);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gx-cases .card .bd .ds{font-size:13px;color:var(--gx-muted);margin-top:8px;line-height:1.6;height:42px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* ---------- 10b. 合作单位（logo 墙） ---------- */
.gx-partners .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.gx-partners .logo{display:flex;align-items:center;justify-content:center;height:92px;padding:16px 18px;
  background:var(--gx-white);border:1px solid var(--gx-line);border-radius:var(--gx-r);transition:.25s ease;}
.gx-partners .logo:hover{border-color:var(--gx-primary-l);box-shadow:var(--gx-shadow-s);transform:translateY(-3px);}
.gx-partners .logo img{max-width:100%;max-height:100%;object-fit:contain;}
.gx-partners .logo .nm{font-size:15px;font-weight:700;color:var(--gx-body);text-align:center;line-height:1.4;overflow-wrap:anywhere;}

/* ---------- 11. 政策法规 ---------- */
.gx-policy .cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;}
.gx-policy .box{background:var(--gx-white);border:1px solid var(--gx-line);border-radius:var(--gx-r-lg);padding:24px 26px;box-shadow:var(--gx-shadow-s);}
.gx-policy .box .bh{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.gx-policy .box .bh .t{font-size:20px;font-weight:800;color:var(--gx-ink);display:flex;align-items:center;gap:10px;}
.gx-policy .box .bh .t::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--gx-grad);}
.gx-policy .row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px dashed var(--gx-line);}
.gx-policy .row:last-child{border-bottom:0;}
.gx-policy .row .tag{flex-shrink:0;font-size:12px;color:var(--gx-primary);background:var(--gx-bg2);border-radius:5px;padding:3px 9px;}
.gx-policy .row .tt{flex:1;min-width:0;font-size:15px;color:var(--gx-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gx-policy .row:hover .tt{color:var(--gx-primary);}
.gx-policy .row .tm{flex-shrink:0;font-size:13px;color:var(--gx-muted);}

/* ---------- 12. 互联网安全 ---------- */
.gx-sec-cyber .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.gx-sec-cyber .card{display:flex;gap:18px;background:var(--gx-white);border:1px solid var(--gx-line);border-radius:var(--gx-r-lg);
  padding:22px;box-shadow:var(--gx-shadow-s);transition:.3s;}
.gx-sec-cyber .card:hover{transform:translateY(-4px);box-shadow:var(--gx-shadow);}
.gx-sec-cyber .card .thumb{width:150px;height:110px;border-radius:var(--gx-r);overflow:hidden;flex-shrink:0;background:var(--gx-bg);}
.gx-sec-cyber .card .thumb img{width:100%;height:100%;object-fit:cover;}
.gx-sec-cyber .card .bd .tt{font-size:17px;font-weight:700;color:var(--gx-ink);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.gx-sec-cyber .card:hover .bd .tt{color:var(--gx-primary);}
.gx-sec-cyber .card .bd .ds{font-size:13px;color:var(--gx-muted);margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* ---------- 13. AI+产业平台横幅 ---------- */
.gx-platform{background:radial-gradient(120% 140% at 15% 20%,#1a5fb4 0%,#12afc4 60%,#0e93a8 100%);color:#fff;position:relative;overflow:hidden;}
.gx-platform::before{content:"";position:absolute;right:-60px;top:-60px;width:340px;height:340px;border-radius:50%;
  background:rgba(255,255,255,.08);}
.gx-platform .gx-wrap{position:relative;z-index:2;padding:60px 20px;}
.gx-platform .pf-head .cn{font-size:30px;font-weight:800;color:#fff;}
.gx-platform .pf-head .en{font-size:14px;color:rgba(255,255,255,.8);letter-spacing:2px;margin-top:8px;}
.gx-platform .pf-head .desc{font-size:15px;color:rgba(255,255,255,.9);margin-top:16px;max-width:820px;line-height:1.9;}
.gx-platform .pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px;}
.gx-platform .pf-item{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:var(--gx-r-lg);
  padding:24px;backdrop-filter:blur(4px);transition:.3s;}
.gx-platform .pf-item:hover{background:rgba(255,255,255,.2);transform:translateY(-4px);}
.gx-platform .pf-item .ic{font-size:28px;margin-bottom:12px;}
.gx-platform .pf-item .tt{font-size:18px;font-weight:700;color:#fff;}
.gx-platform .pf-item .ds{font-size:14px;color:rgba(255,255,255,.85);margin-top:10px;line-height:1.7;}

/* ---------- 14. 联系 CTA ---------- */
.gx-cta{background:var(--gx-bg);border-top:1px solid var(--gx-line);}
.gx-cta .gx-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:40px 20px;flex-wrap:wrap;}
.gx-cta .cinfo .h{font-size:24px;font-weight:800;color:var(--gx-ink);}
.gx-cta .cinfo .p{font-size:15px;color:var(--gx-muted);margin-top:8px;}
.gx-cta .cbtns{display:flex;gap:14px;flex-wrap:wrap;}
.gx-cta .cbtns a{padding:13px 30px;border-radius:30px;font-size:15px;font-weight:600;}
.gx-cta .cbtns .a1{background:var(--gx-grad);color:#fff;}
.gx-cta .cbtns .a1:hover{color:#fff;box-shadow:var(--gx-shadow);}
.gx-cta .cbtns .a2{border:1.5px solid var(--gx-primary);color:var(--gx-primary);}
.gx-cta .cbtns .a2:hover{background:var(--gx-primary);color:#fff;}

/* ---------- 15. 页脚 ---------- */
.gx-footer{background:#0e2038;color:#9fb0c6;padding-top:56px;}
.gx-footer .ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:40px;}
.gx-footer h4{color:#fff;font-size:17px;font-weight:700;margin-bottom:18px;}
.gx-footer .ft-about .logo{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.gx-footer .ft-about .logo img{height:46px;}
.gx-footer .ft-about .logo .nm{font-size:20px;font-weight:800;color:#fff;}
.gx-footer .ft-about p{font-size:13.5px;line-height:1.9;color:#93a4bb;}
.gx-footer .ft-links a{display:block;padding:7px 0;font-size:14px;color:#9fb0c6;}
.gx-footer .ft-links a:hover{color:#fff;padding-left:5px;}
.gx-footer .ft-contact li{display:flex;gap:10px;font-size:14px;color:#9fb0c6;margin-bottom:12px;line-height:1.6;}
.gx-footer .ft-contact li .ic{color:var(--gx-cyan-l);flex-shrink:0;}
.gx-footer .ft-qr{text-align:center;}
.gx-footer .ft-qr img{width:120px;height:120px;border-radius:8px;background:#fff;padding:6px;margin:0 auto 10px;}
.gx-footer .ft-qr .cap{font-size:13px;color:#9fb0c6;}
.gx-footer .ft-bottom{border-top:1px solid rgba(255,255,255,.08);padding:20px 0;text-align:center;font-size:13px;color:#7d8ea6;}
.gx-footer .ft-bottom a{color:#9fb0c6;}
.gx-footer .ft-bottom a:hover{color:#fff;}

/* 图片占位（内容无缩略图时以品牌渐变兜底） */
.gx-cases .card .thumb,.gx-sec-cyber .card .thumb,.gx-news .feature{background:var(--gx-grad);}
.gx-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#fff;font-weight:800;
  letter-spacing:1px;text-align:center;padding:12px;line-height:1.35;background:var(--gx-grad);}
.gx-cases .gx-ph,.gx-sec-cyber .gx-ph{font-size:24px;}
.gx-news .feature .gx-ph{font-size:30px;}

/* ---------- 16. 响应式 ---------- */
@media (max-width:1100px){
  .gx-stats .grid,.gx-cases .grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gx-platform .pf-grid{grid-template-columns:minmax(0,1fr);}
  .gx-footer .ft-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
}
@media (max-width:860px){
  .gx-header .gx-wrap{height:auto;flex-direction:column;align-items:flex-start;padding:16px 20px;gap:14px;}
  .gx-header .hd-right{width:100%;justify-content:space-between;}
  .gx-search input{width:100%;flex:1;}
  .gx-search{flex:1;}
  /* 导航折叠 */
  .gx-nav .nav-toggle{display:flex;align-items:center;justify-content:center;width:56px;height:56px;color:#fff;font-size:24px;cursor:pointer;margin-left:auto;}
  .gx-nav .gx-wrap{flex-wrap:wrap;}
  .gx-nav .nav-list{display:none;flex-direction:column;width:100%;order:3;}
  .gx-nav.open .nav-list{display:flex;}
  .gx-nav .nav-item{width:100%;}
  .gx-nav .nav-item > .nav-a{justify-content:flex-start;height:48px;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.08);}
  .gx-nav .nav-item > .nav-a::after{display:none;}
  .gx-nav .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border-radius:0;background:var(--gx-primary-d);display:none;}
  .gx-nav .nav-item:hover .sub{display:block;}
  .gx-nav .sub a{color:#cfe0f5;border-bottom:1px solid rgba(255,255,255,.06);}
  .gx-nav .sub a:hover{background:var(--gx-primary);color:#fff;}
  .gx-news .cols,.gx-policy .cols,.gx-sec-cyber .grid{grid-template-columns:minmax(0,1fr);}
  .gx-banner{height:340px;}
  .gx-banner .slide .cap .txt .h{font-size:26px;}
  .gx-banner .slide .cap .txt .p{font-size:14px;}
  .gx-sec{padding:44px 0;}
  .gx-sec-head .t .cn{font-size:22px;}
  .gx-stats{margin-top:-40px;}
}
@media (max-width:560px){
  .gx-stats .grid,.gx-cases .grid{grid-template-columns:minmax(0,1fr);}
  .gx-footer .ft-grid{grid-template-columns:minmax(0,1fr);}
  .gx-topbar .tb-right{display:none;}
}

/* ---------- 16b. 窄屏防溢出兜底 + 移动端细化 ---------- */
.gx-body{overflow-x:clip;}
.gx-news .feature .info .tt,.gx-news .feature .info .ds,.gx-rich,.gx-arow .b .tt,.gx-arow .b .ds{overflow-wrap:anywhere;word-break:break-word;}
@media (max-width:860px){
  /* 顶栏：固定高→自适应，欢迎语单行省略，不再换行溢出 */
  .gx-topbar .gx-wrap{height:auto;padding:8px 20px;}
  .gx-topbar .welcome{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  /* 头部：Logo 图已含品牌名，窄屏隐藏冗余文字品牌，避免被挤成竖排 */
  .gx-logo{gap:10px;}
  .gx-logo img{height:44px;max-width:100%;}
  .gx-logo .brand{display:none;}
  .gx-header .hd-tel .num{font-size:16px;}
  /* 新闻头条卡片 */
  .gx-news .feature .info{padding:18px;}
  .gx-news .feature .info .tt{font-size:17px;}
}
@media (max-width:560px){
  /* 顶栏整体隐藏，避免窄屏拥挤（电话已在头部保留） */
  .gx-topbar{display:none;}
  .gx-header .hd-right{flex-direction:column;align-items:stretch;gap:12px;}
  .gx-header .hd-tel{justify-content:flex-start;}
  /* Banner 压缩 */
  .gx-banner{height:230px;}
  .gx-banner .slide .cap .txt .h{font-size:20px;}
  .gx-banner .slide .cap .txt .p{display:none;}
  .gx-banner .slide .cap .txt .btns{margin-top:16px;}
  .gx-banner .slide .cap .txt .btn{padding:9px 18px;font-size:14px;}
  .gx-banner .arrow{display:none;}
  .gx-news .feature{min-height:240px;}
  .gx-sec{padding:36px 0;}
  .gx-stats{margin-top:-28px;}
  .gx-stats .grid{padding:18px 14px;}
  .gx-stats .item{padding:4px 6px;}
}

/* 合作单位响应式 */
@media (max-width:860px){
  .gx-partners .grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gx-partners .logo{height:84px;}
}
@media (max-width:560px){
  .gx-partners .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .gx-partners .logo{height:72px;padding:12px 14px;}
}

/* ---------- 17. 内页组件 ---------- */
/* 内页头图 */
.gx-hero{position:relative;background:var(--gx-grad);color:#fff;overflow:hidden;}
.gx-hero::before{content:"";position:absolute;right:-40px;top:-40px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08);}
.gx-hero::after{content:"";position:absolute;left:20%;bottom:-60px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.06);}
.gx-hero .gx-wrap{position:relative;z-index:2;padding:52px 20px;text-align:center;}
.gx-hero .hx-t{font-size:32px;font-weight:800;color:#fff;letter-spacing:1px;}
.gx-hero .hx-en{font-size:14px;color:rgba(255,255,255,.8);letter-spacing:3px;margin-top:8px;text-transform:uppercase;}

/* 面包屑 */
.gx-crumb{margin-top:18px;font-size:14px;color:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;}
.gx-crumb a{color:rgba(255,255,255,.9);}
.gx-crumb a:hover{color:#fff;text-decoration:underline;}
.gx-crumb .sep{opacity:.7;}
.gx-crumb em{font-style:normal;opacity:.75;margin:0 2px;}
.gx-crumb .cms-position{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;}

/* 内页两栏 */
.gx-page{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start;}
.gx-side{background:#fff;border:1px solid var(--gx-line);border-radius:var(--gx-r-lg);overflow:hidden;box-shadow:var(--gx-shadow-s);position:sticky;top:20px;}
.gx-side-h{background:var(--gx-grad);color:#fff;font-size:19px;font-weight:700;padding:18px 22px;}
.gx-side-nav li a{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;font-size:15px;color:var(--gx-body);border-bottom:1px solid var(--gx-line);transition:.2s;}
.gx-side-nav li:last-child a{border-bottom:0;}
.gx-side-nav li a::after{content:"›";color:var(--gx-muted);}
.gx-side-nav li a:hover{background:var(--gx-bg);color:var(--gx-primary);padding-left:26px;}
.gx-side-nav li.on a{background:var(--gx-bg2);color:var(--gx-primary);font-weight:700;border-left:3px solid var(--gx-primary);}
.gx-side-tel{padding:18px 22px;background:var(--gx-bg);font-size:14px;color:var(--gx-body);}
.gx-side-tel b{display:block;color:var(--gx-primary);font-size:20px;margin-top:6px;}

/* 列表行 */
.gx-arow{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid var(--gx-line);border-radius:var(--gx-r);padding:18px 22px;margin-bottom:14px;transition:.25s;}
.gx-arow:hover{border-color:var(--gx-primary-l);box-shadow:var(--gx-shadow);transform:translateX(4px);}
.gx-arow .d{flex-shrink:0;width:74px;text-align:center;border-right:1px solid var(--gx-line);padding-right:16px;}
.gx-arow .d .dd{display:block;font-size:30px;font-weight:800;color:var(--gx-primary);line-height:1;}
.gx-arow .d .mm{display:block;font-size:13px;color:var(--gx-muted);margin-top:6px;}
.gx-arow .b{flex:1;min-width:0;}
.gx-arow .b .tt{display:block;font-size:17px;font-weight:700;color:var(--gx-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gx-arow:hover .b .tt{color:var(--gx-primary);}
.gx-arow .b .ds{display:block;font-size:14px;color:var(--gx-muted);margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.gx-arow .go{flex-shrink:0;color:var(--gx-muted);font-size:20px;}

/* 卡片网格列表 */
.gx-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}

/* 列表页主内容列 */
.gx-main{min-width:0;}
.gx-main-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:2px solid var(--gx-line);}
.gx-main-head .mh-t{font-size:20px;font-weight:800;color:var(--gx-ink);position:relative;padding-left:14px;}
.gx-main-head .mh-t::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:20px;border-radius:2px;background:var(--gx-grad);}
.gx-panel{background:#fff;border:1px solid var(--gx-line);border-radius:var(--gx-r-lg);padding:22px 24px;box-shadow:var(--gx-shadow-s);}

/* 案例/企业卡片 */
.gx-case-card{display:block;background:#fff;border:1px solid var(--gx-line);border-radius:var(--gx-r-lg);overflow:hidden;transition:.25s;}
.gx-case-card:hover{border-color:var(--gx-primary-l);box-shadow:var(--gx-shadow);transform:translateY(-4px);}
.gx-case-card .thumb{aspect-ratio:16/10;background:var(--gx-grad);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.gx-case-card .thumb img{width:100%;height:100%;object-fit:cover;}
.gx-case-card .bd{padding:18px 20px;}
.gx-case-card .bd .tt{font-size:17px;font-weight:700;color:var(--gx-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gx-case-card:hover .bd .tt{color:var(--gx-primary);}
.gx-case-card .bd .ds{font-size:14px;color:var(--gx-muted);margin-top:8px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.gx-case-card .bd .more{display:inline-block;margin-top:12px;font-size:14px;color:var(--gx-primary);font-weight:600;}

/* 分页：列表页 [list:pagebar] 输出 .paging；搜索页 {page:bar} 输出 .page-item.page-link */
.gx-pager,.paging{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:30px;flex-wrap:wrap;}
.paging a,.paging span,.gx-pager .page-item.page-link{min-width:40px;height:40px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gx-line);border-radius:8px;font-size:14px;color:var(--gx-body);background:#fff;transition:.2s;}
.paging a:hover,.gx-pager .page-item.page-link:hover{border-color:var(--gx-primary);color:var(--gx-primary);}
.paging a.active,.gx-pager .page-item.page-link.on{background:var(--gx-primary);color:#fff;border-color:var(--gx-primary);}
.paging .paging-info,.paging .paging-ellipsis{border:0;background:transparent;color:var(--gx-muted);}

/* 详情 */
.gx-detail{background:#fff;border:1px solid var(--gx-line);border-radius:var(--gx-r-lg);padding:36px 40px;box-shadow:var(--gx-shadow-s);}
.gx-detail-t{font-size:26px;font-weight:800;color:var(--gx-ink);line-height:1.4;text-align:center;}
.gx-detail-sub{text-align:center;font-size:15px;color:var(--gx-muted);margin-top:8px;}
.gx-detail-meta{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin:20px 0 8px;padding-bottom:20px;border-bottom:1px dashed var(--gx-line);font-size:14px;color:var(--gx-muted);}
.gx-detail-meta .mx{display:inline-flex;align-items:center;gap:6px;}

/* 富文本正文 */
.gx-rich{font-size:16px;line-height:2;color:var(--gx-body);padding-top:10px;word-break:break-word;}
.gx-rich p{margin:0 0 18px;}
.gx-rich img{max-width:100%;height:auto;display:block;margin:20px auto;border-radius:8px;}
.gx-rich h2,.gx-rich h3{color:var(--gx-ink);margin:26px 0 14px;font-weight:700;}
.gx-rich h2{font-size:22px;}
.gx-rich h3{font-size:19px;}
.gx-rich a{color:var(--gx-primary);text-decoration:underline;}
.gx-rich ul,.gx-rich ol{margin:0 0 18px;padding-left:24px;list-style:disc;}
.gx-rich ol{list-style:decimal;}
.gx-rich li{margin:8px 0;}
.gx-rich table{width:100%;border-collapse:collapse;margin:20px 0;}
.gx-rich table th,.gx-rich table td{border:1px solid var(--gx-line);padding:10px 12px;text-align:left;}
.gx-rich table th{background:var(--gx-bg);}
.gx-rich blockquote{margin:20px 0;padding:16px 20px;background:var(--gx-bg);border-left:4px solid var(--gx-primary);border-radius:0 8px 8px 0;color:var(--gx-body);}

/* 上下篇 + 返回 */
.gx-nextprev{margin-top:30px;border-top:1px solid var(--gx-line);padding-top:20px;display:flex;flex-direction:column;gap:10px;}
.gx-nextprev a{display:flex;gap:8px;font-size:15px;color:var(--gx-body);}
.gx-nextprev a:hover{color:var(--gx-primary);}
.gx-nextprev .lab{color:var(--gx-muted);flex-shrink:0;}
.gx-back{margin-top:24px;text-align:center;}
.gx-btn{display:inline-flex;align-items:center;gap:6px;padding:11px 28px;border-radius:30px;background:var(--gx-grad);color:#fff;font-size:15px;font-weight:600;}
.gx-btn:hover{color:#fff;box-shadow:var(--gx-shadow);transform:translateY(-2px);}

/* 案例详情 */
.gx-case-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:center;background:#fff;border:1px solid var(--gx-line);border-radius:var(--gx-r-lg);padding:26px;box-shadow:var(--gx-shadow-s);margin-bottom:26px;}
.gx-case-hero .imgw{border-radius:var(--gx-r);overflow:hidden;background:var(--gx-grad);aspect-ratio:4/3;}
.gx-case-hero .imgw img{width:100%;height:100%;object-fit:cover;}
.gx-case-hero .tt{font-size:24px;font-weight:800;color:var(--gx-ink);}
.gx-case-hero .ds{font-size:15px;color:var(--gx-body);margin-top:14px;line-height:1.9;}

/* 联系页 */
.gx-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:28px;}
.gx-ct-card{background:#fff;border:1px solid var(--gx-line);border-radius:var(--gx-r);padding:24px;display:flex;gap:16px;box-shadow:var(--gx-shadow-s);}
.gx-ct-card .ic{width:50px;height:50px;border-radius:12px;background:var(--gx-grad-soft);color:var(--gx-primary);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.gx-ct-card .k{font-size:14px;color:var(--gx-muted);}
.gx-ct-card .v{font-size:17px;font-weight:700;color:var(--gx-ink);margin-top:6px;word-break:break-all;}
.gx-map{border:1px solid var(--gx-line);border-radius:var(--gx-r-lg);overflow:hidden;background:var(--gx-bg2);}
.gx-map iframe{width:100%;height:100%;border:0;}
.gx-map-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:260px;padding:40px 20px;text-align:center;}
.gx-map-inner .ic{width:60px;height:60px;border-radius:50%;background:#fff;color:var(--gx-primary);display:flex;align-items:center;justify-content:center;font-size:26px;box-shadow:var(--gx-shadow-s);}
.gx-map-inner .addr{font-size:17px;font-weight:700;color:var(--gx-ink);max-width:600px;}
.gx-ct-body{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:24px;}

/* 表单 */
.gx-form{background:#fff;border:1px solid var(--gx-line);border-radius:var(--gx-r-lg);padding:30px 34px;box-shadow:var(--gx-shadow-s);}
.gx-form .fr{margin-bottom:18px;}
.gx-form label{display:block;font-size:14px;color:var(--gx-body);margin-bottom:8px;font-weight:600;}
.gx-form input,.gx-form textarea{width:100%;border:1px solid var(--gx-line);border-radius:8px;padding:12px 14px;font-size:15px;color:var(--gx-ink);background:var(--gx-white);font-family:inherit;transition:.2s;}
.gx-form input:focus,.gx-form textarea:focus{outline:0;border-color:var(--gx-primary);box-shadow:0 0 0 3px rgba(26,95,180,.12);}
.gx-form textarea{resize:vertical;min-height:120px;}
.gx-form .cap{display:flex;align-items:center;gap:12px;}
.gx-form .cap input{flex:1;}
.gx-form .cap img{height:40px;border-radius:6px;cursor:pointer;}
.gx-form button{padding:12px 34px;border:0;border-radius:30px;background:var(--gx-grad);color:#fff;font-size:15px;font-weight:600;cursor:pointer;}
.gx-form button:hover{box-shadow:var(--gx-shadow);transform:translateY(-2px);}
.cms-form-diy .cms-form-row{margin-bottom:16px;}
.cms-form-diy label{display:inline-block;margin-bottom:6px;color:var(--gx-body);}
.cms-form-diy input,.cms-form-diy textarea{width:100%;border:1px solid var(--gx-line);border-radius:8px;padding:11px 13px;font-size:15px;}
.cms-form-diy button{padding:11px 30px;border:0;border-radius:30px;background:var(--gx-grad);color:#fff;cursor:pointer;}
.cms-captcha{height:40px;vertical-align:middle;border-radius:6px;}

/* 搜索结果 */
.gx-search-tip{background:#fff;border:1px solid var(--gx-line);border-radius:var(--gx-r);padding:20px 24px;margin-bottom:22px;font-size:15px;color:var(--gx-body);}
.gx-search-tip b{color:var(--gx-primary);}
/* hero 内搜索框 */
.cms-search-form{display:flex;gap:0;max-width:600px;margin:22px auto 0;}
.cms-search-form input{flex:1;height:48px;border:0;border-radius:8px 0 0 8px;padding:0 18px;font-size:15px;color:var(--gx-ink);}
.cms-search-form input:focus{outline:0;}
.cms-search-form button{border:0;border-radius:0 8px 8px 0;padding:0 30px;font-size:15px;font-weight:600;color:var(--gx-primary);background:#fff;cursor:pointer;}
/* 表单提交提示 */
.gx-form-tip{margin-top:14px;font-size:14px;padding:10px 14px;border-radius:8px;display:none;}
.gx-form-tip.ok{display:block;background:#e8f6ee;color:#1a7a3c;border:1px solid #b7e0c4;}
.gx-form-tip.err{display:block;background:#fbeaea;color:#b3362f;border:1px solid #f0c4c2;}

/* 404 */
.gx-404{text-align:center;padding:90px 20px;}
.gx-404 .code{font-size:120px;font-weight:900;background:var(--gx-grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;}
.gx-404 .msg{font-size:20px;color:var(--gx-ink);margin:24px 0 8px;font-weight:700;}
.gx-404 .sub{font-size:15px;color:var(--gx-muted);}
.gx-404 .btns{margin-top:30px;display:flex;gap:14px;justify-content:center;}
.gx-404 .btns a{padding:12px 30px;border-radius:30px;font-size:15px;font-weight:600;}
.gx-404 .btns .a1{background:var(--gx-grad);color:#fff;}
.gx-404 .btns .a2{border:1.5px solid var(--gx-primary);color:var(--gx-primary);}

/* 内页响应式 */
@media (max-width:860px){
  .gx-page{grid-template-columns:minmax(0,1fr);}
  .gx-side{position:static;}
  .gx-hero .hx-t{font-size:24px;}
  .gx-detail{padding:24px 18px;}
  .gx-detail-t{font-size:20px;}
  .gx-card-grid,.gx-contact-grid,.gx-case-hero{grid-template-columns:minmax(0,1fr);}
  .gx-arow{gap:14px;padding:14px 16px;}
  .gx-arow .d{width:60px;}
  .gx-arow .d .dd{font-size:24px;}
  .gx-arow .b .ds{display:none;}
}
