/* —— 内嵌衬线字库：Noto Serif SC 子集（OFL 合规重命名 ZACH Serif SC），保证任意机器渲染一致 —— */
@font-face{
  font-family:"ZACH Serif SC";
  src:url("fonts/ZACHSerifSC-700.woff2?v75") format("woff2");
  font-weight:700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"ZACH Serif SC";
  src:url("fonts/ZACHSerifSC-800.woff2?v75") format("woff2");
  font-weight:800;font-style:normal;font-display:swap;
}
:root{
  --navy:#1B2A4E;
  --navy-deep:#141F3A;
  --red:#A82828;
  --red-deep:#8A1F1F;
  --gold:#C9A961;
  --cream:#F5F2EA;
  --paper:#FBFAF7;
  --ink:#2C2C2A;
  --gray:#6B6A64;
  --line:rgba(27,42,78,.14);
  /* —— 辅助色板：原为散落在样式表里的未声明色值，现正式纳入设计系统 —— */
  --muted:#A9A79F;        /* 说明性小字：表单提示、文章 meta、来源说明 */
  --gray-2:#8E8C84;       /* 服务页 meta 行、对比表次列 */
  --muted-inv:#B9B0A0;    /* 深色底上的说明小字 */
  --white:#FFFFFF;        /* 纯白：深底反白文字、二维码底 */
  --gold-deep:#B8934A;    /* 金色深阶：hover 描边、图上金色标注 */
  --gold-shade:#8A6A2F;   /* 金色暗锚：首屏标语鎏金渐变的两端 */
  --gold-hi:#F6E7BC;      /* 金色高光：首屏首字母金光流转的扫过亮带 */
  --gold-spark:#FFFBE8;   /* 鎏金流光亮芯：扫过字面的高光核心 */
  --field-glow:#1D3054;   /* V33 首屏石面：中央微亮层（navy 提亮阶） */
  --field-deep:#0D1526;   /* V33 首屏石面：底部深部（navy-deep 加深阶） */
  --navy-mid:#24375F;     /* V125 行业报告焦点图：navy 中亮阶 */
  --line-soft:#E7E2D5;    /* 浅底细线与进度轨道 */
  --line-inv:#D8D2C4;     /* 深色底上的辅助线 */
  --ok:#0F6E56;           /* 成功态、绿色强调线 */
  --ok-2:#5B8A3C;         /* 结果数值绿 */
  --action:#D97B29;       /* 行动橙：仅限时间轴热点点与处置项高亮（详情按钮 V67 已随二级页下线） */
  --serif:"ZACH Serif SC","Source Han Serif SC","Noto Serif SC","Songti SC","STSong",Georgia,serif;
  --sans:"Source Han Sans SC","Noto Sans SC","PingFang SC","Microsoft YaHei",-apple-system,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  font-size:17px;
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 40px}

/* header */
/* V126：去掉 backdrop-filter 毛玻璃 —— 高分屏缩放（125%/150%）下合成层文字会被重采样而发虚显小，
   且各页合成时机不同造成「导航文字忽大忽小」的观感；改为不透明纸色底，观感几乎无差、渲染路径唯一 */
.site-header{
  position:sticky;top:0;z-index:50;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:baseline;gap:10px}
.brand-mark{font-family:var(--serif);font-size:27px;font-weight:700;letter-spacing:.14em;color:var(--navy)}
.brand-sub{font-family:var(--serif);font-size:27px;font-weight:700;letter-spacing:.14em;color:var(--navy)}
.nav{display:flex;align-items:center;gap:40px}
.nav a{font-size:15px;color:var(--ink);transition:color .2s}
.nav a:hover,.nav a.on{color:var(--red)}
/* 导航「获取应对策略」按钮：触发全站联系方式弹窗（label for=consult-toggle） */
.nav-cta{
  display:inline-block;background:var(--red);color:var(--white);
  font-size:14px;font-weight:600;letter-spacing:.04em;
  padding:9px 20px;border-radius:2px;cursor:pointer;white-space:nowrap;
  transition:background .2s;
}
.nav-cta:hover{background:var(--red-deep)}
/* mobile nav toggle (checkbox, no JS) */
#nav-toggle{position:absolute;opacity:0;pointer-events:none}
.nav-toggle-label{display:none;cursor:pointer;padding:12px 10px}
.nav-toggle-label span{display:block;width:24px;height:2px;background:var(--navy);margin:5px 0;transition:all .2s}
#nav-toggle:checked ~ .nav-toggle-label span:nth-child(1){transform:translateY(7px) rotate(45deg)}
#nav-toggle:checked ~ .nav-toggle-label span:nth-child(2){opacity:0}
#nav-toggle:checked ~ .nav-toggle-label span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* hero：总部大楼·晨雾（V40）——石灰岩+玻璃幕墙总部偏右、左侧/上方大留白、
   清晨低饱和暖铜天光、远处晨雾天际线；后期深蓝渐变遮罩 + 细胶片颗粒；
   文字静态直接显示（无飞入），动效只保留背景极缓慢推镜；
   词墙严格收在 1040px 内容区内，公司 SLOGAN 收于词墙下方留白区，无虚化数字 */
.hero{
  position:relative;overflow:hidden;color:var(--white);
  min-height:92vh;display:flex;align-items:center;
  background:var(--navy-deep);
}
.hero-bg{
  position:absolute;inset:-4%;
  background:
    /* 顶部封边：深海军蓝压暗晨空，与导航自然衔接 */
    linear-gradient(180deg,rgba(11,17,33,.82) 0%,rgba(13,21,38,.42) 30%,rgba(13,21,38,0) 48%),
    /* 底部封边：压住浅色水面近岸，保证下排文字可读 */
    linear-gradient(0deg,rgba(10,16,31,.74) 0%,rgba(13,21,38,.34) 42%,rgba(13,21,38,0) 72%),
    /* 左侧深蓝主遮罩：承托文字，向右渐隐让右侧总部大楼适度透出 */
    linear-gradient(90deg,rgba(13,21,38,.86) 0%,rgba(14,22,40,.62) 34%,rgba(16,25,46,.28) 66%,rgba(19,29,52,0) 100%),
    /* 建筑摄影底图（建筑偏右、左与上留白） */
    url("hero-city.jpg?v56") center/cover no-repeat,
    var(--navy-deep);
  background-blend-mode:normal,normal,normal,normal,normal;
  animation:heroDrift 46s ease-in-out infinite alternate;
  will-change:transform;
}
.hero-top{position:absolute;top:0;left:0;right:0;z-index:2}
.hero-eyebrow{
  margin:26px 0 0;font-size:12.5px;letter-spacing:.1em;color:var(--gold);
  text-shadow:0 1px 14px rgba(9,14,30,.6);
}
.hero-slog{
  margin:0 auto clamp(96px,17vh,200px);text-align:center;
  font-family:var(--serif);font-weight:700;font-size:clamp(39px,5.1vw,78px);
  letter-spacing:.04em;
  /* V107：鎏金渐变静态呈现（定格态）；动效已于 V108 整体迁至字母栏 */
  background:linear-gradient(100deg,var(--gold-shade) 0%,var(--gold) 32%,var(--gold-hi) 50%,var(--gold) 68%,var(--gold-shade) 100%);
  background-size:230% 100%;background-repeat:no-repeat;background-position:50% 0;
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
}
.hero-inner{position:relative;z-index:1;width:100%;max-width:1120px;margin:0 auto;padding:clamp(70px,13vh,140px) 40px calc(clamp(70px,13vh,140px) + 6vh)} /* V109：底部加 6vh 配平，词墙整体上移（不压桥墩、可压水面投影），标语位置不变 */
.hero-title{margin:0;line-height:normal}
.hw{display:flex;justify-content:center;align-items:flex-end;gap:clamp(14px,2vw,32px);width:100%;padding-top:26px;animation:hwIn 1.1s cubic-bezier(.33,.1,.25,1) .25s 1 both} /* V101：词墙随 hero 垂直居中；V108：整体上浮揭示由标语迁入 */
.hw-item{display:flex;flex-direction:column;align-items:stretch;flex:1 1 0;min-width:0}
.hw-en{
  display:block;text-align:center;font-family:var(--serif);font-weight:700;color:var(--cream);
  font-size:clamp(26px,3.4vw,52px);line-height:1.1;letter-spacing:.01em;white-space:nowrap;
}
.hw-en b{
  font-weight:800;font-size:1.5em;line-height:.82;
  background-image:
    linear-gradient(115deg,rgba(255,250,230,0) 36%,rgba(255,252,240,.95) 46%,var(--gold-spark) 50%,rgba(255,252,240,.95) 54%,rgba(255,250,230,0) 64%),
    linear-gradient(165deg,var(--gold-hi) 18%,var(--gold) 42%,var(--gold-hi) 66%,var(--gold) 88%);
  background-size:260% 100%,100% 100%;
  background-position:130% 0,50% 50%;
  background-repeat:no-repeat;
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
  animation:goldIn 6s cubic-bezier(.45,.05,.3,1) .5s 1 both;
}
/* 金光在字体内部自左向右扫过一次后定格：扫光约 2.5s，驻留约 3.5s（V108 由标语动效迁入，V109 加长） */
@keyframes goldIn{
  0%{background-position:130% 0,50% 50%}
  42%{background-position:-30% 0,50% 50%}
  100%{background-position:-30% 0,50% 50%}
}
.hw-cn{
  margin-top:16px;width:100%;display:flex;align-items:center;gap:12px;
  font-size:clamp(14px,1.2vw,17px);font-weight:500;
  letter-spacing:.22em;color:var(--cream);opacity:.92;white-space:nowrap;
  text-shadow:0 2px 16px rgba(9,14,30,.55);
}
.hw-cn::before,.hw-cn::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(201,169,97,.7))}
.hw-cn::after{background:linear-gradient(90deg,rgba(201,169,97,.7),transparent)}
@keyframes hwIn{
  0%{opacity:0;transform:translateY(16px)}
  100%{opacity:1;transform:translateY(0)}
}
.hero-rule{width:96px;height:2px;background:var(--gold);margin:clamp(40px,6vh,68px) auto 0}
@keyframes heroDrift{from{transform:scale(1) translateY(0)}to{transform:scale(1.06) translateY(-1.4%)}}
@media(prefers-reduced-motion:reduce){
  .hero-bg,.hw,.hw-en b,.trust.lit .trust-num,.trust.lit .trust-num .jump,.cs-board-row.lit .csb-num{animation:none}
}
.btn{
  display:inline-block;padding:16px 40px;font-size:16px;letter-spacing:.06em;
  border-radius:2px;transition:all .25s;cursor:pointer;border:1px solid transparent;
}
.btn-primary{background:var(--red);color:var(--white)}
.btn-primary:hover{background:var(--red-deep);transform:translateY(-1px)}

/* trust */
.trust{background:var(--white);padding:64px 0}
.wave-divider{display:block;width:100%;height:1px;background:var(--gold);opacity:.35}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.trust-num{
  font-family:var(--serif);font-size:72px;font-weight:700;color:var(--red);
  line-height:1.1;margin-bottom:10px;letter-spacing:.01em;
}
.trust-num span{font-size:30px;color:var(--navy);margin-left:2px}
.trust-label{font-size:14px;color:var(--gray);letter-spacing:.02em}
/* 数字带动效：滚动进入视口时依次浮现，随后轻呼吸脉冲（JS 只加 .lit，纯 CSS 呈现） */
.trust.lit .trust-num{animation:numIn .7s cubic-bezier(.22,.9,.32,1) both}
.trust.lit .trust-item:nth-child(1) .trust-num{--i:0}
.trust.lit .trust-item:nth-child(2) .trust-num{--i:1}
.trust.lit .trust-item:nth-child(3) .trust-num{--i:2}
.trust.lit .trust-item:nth-child(4) .trust-num{--i:3}
@keyframes numIn{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}
@keyframes numPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
/* "1" 无法体现数字变化，单独做跃入动效：弹跳落定 */
.trust-num .cnt,.trust-num .jump{display:inline-block;font-variant-numeric:tabular-nums;color:var(--red)}
.trust-num .mul{font-size:.25em;vertical-align:middle;margin:0 2px 0 4px;position:relative;top:8px}
.trust.lit .trust-num .jump{animation:numJump .85s cubic-bezier(.22,.9,.32,1) .4s both}
@keyframes numJump{
  0%{opacity:0;transform:translateY(32px) scale(.6)}
  55%{opacity:1;transform:translateY(-9px) scale(1.12)}
  75%{transform:translateY(3px) scale(.97)}
  100%{opacity:1;transform:none}
}

/* sections */
section{padding:100px 0}
.section-title{
  font-family:var(--serif);font-size:38px;font-weight:700;color:var(--navy);
  line-height:1.4;margin-bottom:20px;letter-spacing:.01em;
}
.section-lead{font-size:18px;color:var(--gray);max-width:820px;margin-bottom:56px;line-height:1.9}
/* 关于页简介金句横幅：navy 底承金曲线，与下方释义白卡明确区分 */
.about-highlight{position:relative;background:var(--navy-deep);padding:48px 54px;border-radius:2px;overflow:hidden;margin-bottom:0}
/* V67 简介段外留白：上下各 50px（上方为原 100 的一半），且都落在奶油底内、与面板等距 */
.intro-hl{padding:50px 0}
.about-highlight .ah-curve{position:absolute;left:0;right:0;bottom:-4px;width:100%;height:118px;pointer-events:none}
.ah-lead{position:relative;font-size:19px;line-height:2.05;color:var(--cream);margin:0;text-indent:2em}
.ah-lead b{color:var(--gold-hi);font-weight:700}

/* intro */
.intro{background:var(--cream)}
.intro-foot{
  margin-top:28px;padding-top:24px;border-top:1px solid var(--line);
  font-size:17px;color:var(--gray);line-height:2;
}

/* services */
.services{background:var(--white)}

/* why */
.why{background:var(--cream)}
.table-wrap{overflow-x:auto;margin-bottom:56px;background:var(--white);border:1px solid var(--line)}
table.compare{width:100%;border-collapse:collapse;min-width:760px}
table.compare th,table.compare td{
  padding:20px 26px;text-align:left;font-size:15px;border-bottom:1px solid var(--line);
  vertical-align:top;line-height:1.7;
}
table.compare thead th{
  background:transparent;color:var(--navy);font-family:var(--serif);font-size:16px;
  font-weight:700;letter-spacing:.04em;border-bottom:2px solid var(--navy);
}
table.compare thead th.col-zach{color:var(--red)}
table.compare tbody tr{transition:background .2s}
table.compare tbody tr:hover{background:rgba(27,42,78,.04)}
table.compare tbody td:first-child{font-weight:600;color:var(--navy);width:130px}
table.compare tbody td:nth-child(2){color:var(--gray-2)}
table.compare tbody td.col-zach{color:var(--ink);font-weight:500;background:rgba(168,40,40,.04)}
.assets-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.asset{background:var(--white);padding:34px 32px;border-top:3px solid var(--gold)}
.asset h3{font-family:var(--serif);font-size:19px;color:var(--navy);font-weight:600}
.asset p{font-size:15px;color:var(--gray);line-height:1.85}

/* cases */
.cases{background:var(--white)}
.timeline li:first-child{border-top:1px solid var(--line)}

/* team（why-zach 团队与作战信条，cream 底承托白卡） */
/* 服务团队：核心成员横条 + 岗位配置表 */
.team-core{display:flex;align-items:center;gap:38px;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--gold);padding:30px 36px;margin-bottom:24px}
.team-core h3,.team-serve h3{font-family:var(--serif);font-size:21px;color:var(--navy);font-weight:700;margin-bottom:14px;letter-spacing:.02em}
.team-core h3{margin-bottom:0;white-space:nowrap}
.team-core p{font-size:16px;color:var(--ink);line-height:1.9;flex:1;min-width:0}
.team-serve{background:var(--white);border:1px solid var(--line);padding:32px 36px}
.team-table{width:100%;border-collapse:collapse}
.team-table td{padding:16px 14px;border-top:1px solid var(--line-soft);vertical-align:middle;font-size:16px}
.team-table tr:first-child td{border-top:0}
.team-serve .table-wrap,.why .table-wrap{margin-bottom:0;border:none;background:transparent}
.tt-role{font-family:var(--serif);font-weight:700;color:var(--navy);white-space:nowrap;width:150px}
.tt-desc{color:var(--gray);line-height:1.8}

/* faq */
.faq{background:var(--cream);padding:72px 0}
.faq-group + .faq-group{margin-top:56px}
.faq-group .section-title{margin-bottom:24px}
.faq-grid-q{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px}
.faq-q{
  margin:0;padding:15px 0;border-bottom:1px solid var(--line);
  font-size:16px;color:var(--navy);font-weight:500;line-height:1.6;
  display:flex;gap:14px;align-items:baseline;
}
.faq-q i{font-style:normal;font-family:var(--serif);color:var(--gold);font-size:13px;min-width:26px;letter-spacing:.04em}
/* footer */
.site-footer{background:var(--navy-deep);color:rgba(255,255,255,.75);padding:36px 0 24px;border-top:2px solid var(--gold)}
.footer-grid{display:flex;align-items:center;gap:44px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.12)}
.footer-brand .brand-mark,.footer-brand .brand-sub{color:var(--white);font-size:28px}
.footer-col p{font-size:14px;line-height:2;color:rgba(255,255,255,.7)}
.footer-col a:hover{color:var(--gold)}
.footer-tel{font-family:var(--serif);font-size:22px;color:var(--white);letter-spacing:.04em}
.footer-qr{width:132px;border:4px solid var(--white);border-radius:4px;background:var(--white)}
.footer-qr-sm{width:140px;border-width:3px;border-radius:3px;display:block}
.footer-contact{display:flex;flex-direction:column;gap:2px}
.footer-contact p{margin:0;white-space:nowrap;font-size:13px;line-height:1.9;color:rgba(255,255,255,.78)}
.footer-contact .footer-tel{font-size:19px}
.footer-qr-wrap{margin-left:auto;width:288px;display:flex;align-items:center;gap:16px;flex:none}
.footer-qr-wrap span{font-size:14px;letter-spacing:.08em;white-space:nowrap;color:rgba(255,255,255,.85)}
.footer-bottom{
  display:flex;justify-content:space-between;padding-top:28px;
  font-size:13px;color:rgba(255,255,255,.45);flex-wrap:wrap;gap:12px;
}
.footer-bottom span:last-child{width:288px;text-align:left}
.footer-icp{color:rgba(255,255,255,.3)}

.side-trust-item:last-child{border-bottom:none}

/* V4: featured products, asset expansion, case & insights layout */
.product-link:hover{color:var(--red-deep)}
/* V7: 核心产品页产品模块 */
table.srv-table{width:100%;border-collapse:collapse}
table.srv-table th,table.srv-table td{
  padding:18px 24px;text-align:left;font-size:16px;border-bottom:1px solid var(--line);
  vertical-align:top;line-height:1.75;
}
table.srv-table thead th{
  background:transparent;color:var(--navy);font-family:var(--serif);font-size:16px;
  font-weight:600;letter-spacing:.04em;border-bottom:2px solid var(--navy);padding:14px 24px 12px;
}
table.srv-table tbody td:first-child{font-weight:600;color:var(--navy)}
table.srv-table tbody td:nth-child(2){color:var(--ink)}


/* V7.3 icon system (linear, gold stroke) */
.ico{
  width:24px;height:24px;fill:none;stroke:var(--gold);stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round;display:block;flex:none;
}
.intro-card:hover .ico,.service-card:hover .ico{stroke:var(--gold-deep)}
.ico,.ico *{transition:stroke .25s}

@media(max-width:900px){
  .wrap{padding:0 22px}
  .hero{min-height:0}
  .hero-inner{padding:120px 16px 72px}
  .hero-slog{font-size:clamp(26px,8.2vw,39px);white-space:nowrap} /* 小屏按宽度等比缩小，避免「不止传播」被拆成孤字 */
  .hero-eyebrow{margin-top:20px;font-size:11px;letter-spacing:.1em}
  .hw{display:grid;grid-template-columns:1fr 1fr;gap:36px 16px;justify-items:stretch;transform:none}
  .hw-item{flex:none;min-width:0}
  .hw-en{font-size:clamp(21px,6vw,26px);white-space:normal}
  .hw-cn{letter-spacing:.14em;gap:8px}
  .nav-toggle-label{display:block}
  .nav{
    display:none;position:absolute;top:76px;left:0;right:0;
    flex-direction:column;align-items:flex-start;gap:2px;
    background:var(--navy-deep);padding:14px 24px 22px;
    border-top:1px solid rgba(255,255,255,.12);
    box-shadow:0 14px 28px rgba(20,31,58,.28);
  }
  #nav-toggle:checked ~ .nav{display:flex}
  .nav a{color:var(--white);font-size:16px;padding:11px 0;display:block;width:100%}
  .nav a:hover{color:var(--gold)}
  .nav .nav-cta{display:block;width:100%;text-align:center;padding:12px 0;margin-top:10px;font-size:15px}
  section{padding:64px 0}
  .section-title{font-size:28px}
  .intro-grid,.service-grid,.assets-row,.result-grid{grid-template-columns:1fr}
  .intro-hl{padding:32px 0}
  .about-highlight{padding:28px 22px}
  .team-core{flex-direction:column;align-items:flex-start;gap:14px;padding:24px 22px}
  .team-serve{padding:24px 22px}
  .tt-role{width:auto;white-space:normal}
  .faq-grid-q{grid-template-columns:1fr}
  .footer-grid{flex-direction:column;align-items:flex-start;gap:18px}
  .footer-qr-wrap{margin-left:0;width:auto}
  .footer-bottom span:last-child{width:auto}
  .footer-contact p{white-space:normal}
}

/* emergency channel */
.emergency-btn:hover{background:var(--red-deep);transform:translateY(-1px)}

/* ===== inner pages (design system v1.1 by 规范范) ===== */

/* 首页产品区引导（fix10：核心产品并入首页） */
.svc-intro{padding:52px 0 32px}
.svc-intro .section-lead{max-width:none;margin-bottom:0}

/* 全站咨询模态框（checkbox hack，无 JS；触发点 label[for=consult-toggle]） */
.consult-toggle{position:absolute;opacity:0;pointer-events:none}
.consult-modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:24px}
.consult-toggle:checked ~ .consult-modal{display:flex}
.consult-mask{position:absolute;inset:0;background:rgba(20,31,58,.62)}
.consult-box{
  position:relative;background:var(--paper);
  width:min(760px,100%);height:min(900px,94vh);
  display:flex;flex-direction:column;overflow:hidden;
  border-top:3px solid var(--gold);box-shadow:0 24px 80px rgba(9,14,30,.35);
}
.consult-x{
  position:absolute;top:10px;right:10px;z-index:2;
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  font-size:22px;line-height:1;color:var(--navy);cursor:pointer;
  background:rgba(255,255,255,.88);border:1px solid rgba(9,14,30,.12);border-radius:50%;
  box-shadow:0 2px 10px rgba(9,14,30,.14);
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.consult-x:hover{color:var(--white);background:var(--navy);border-color:var(--navy)}
.consult-frame{position:relative;flex:1 1 auto;min-height:0;background:var(--white)}
.consult-frame iframe{display:block;width:100%;height:100%;border:0}
.consult-loading{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;background:var(--white);color:var(--muted);font-size:14px;line-height:1.7;text-align:center;padding:24px;
  transition:opacity .35s ease,visibility 0s .35s;
}
.consult-loading-link{color:var(--navy);text-decoration:underline;text-underline-offset:3px;font-size:14px}
.consult-frame.is-loaded .consult-loading{opacity:0;pointer-events:none;visibility:hidden}

@media(max-width:640px){
  .consult-modal{padding:0}
  .consult-box{width:100%;height:100%}
  .consult-x{top:8px;right:8px;width:30px;height:30px;font-size:20px}
}

/* inner page hero */
.page-hero{
  background:linear-gradient(120deg,var(--navy-deep) 0%,var(--navy) 100%);
  color:var(--white);padding:72px 0 80px;
}
.page-hero h1{
  font-family:var(--serif);font-size:40px;line-height:1.4;font-weight:700;
  max-width:860px;margin-bottom:22px;letter-spacing:.01em;
}
.page-hero .hero-rule{margin-bottom:24px}
.page-hero-lead{font-size:18px;color:rgba(255,255,255,.82);max-width:none;line-height:1.9}
.breadcrumb{
  font-size:13px;color:rgba(255,255,255,.5);letter-spacing:.04em;
  margin-bottom:26px;
}
.breadcrumb a:hover{color:var(--gold)}

/* mobile sticky call bar */
.call-bar{display:none}
@media(max-width:900px){
  body{padding-bottom:62px}
  .call-bar{
    display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;
    background:var(--navy);color:var(--white);align-items:center;justify-content:space-between;
    padding:10px 16px;box-shadow:0 -4px 16px rgba(0,0,0,.22);
  }
  .call-bar-label{font-size:13px;line-height:1.5;color:rgba(255,255,255,.75);letter-spacing:.02em}
  .call-bar-label strong{display:block;font-size:14px;color:var(--white);font-weight:600;letter-spacing:.04em}
  .call-bar .call-btn{
    background:var(--red);color:var(--white);text-decoration:none;font-weight:600;
    padding:11px 18px;border-radius:2px;font-size:15px;white-space:nowrap;letter-spacing:.02em;
  }
  .call-bar .call-btn:active{background:var(--red-deep)}
}

@media(max-width:900px){
  .page-hero h1{font-size:28px}
}

/* ===== why-zach V10 颠覆性改版（页面专属，wh- 前缀）===== */

/* hero：战情室背景 + 双栏（文字 / 雷达主视觉） */
.why-hero{
  padding:44px 0 40px;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(120deg,var(--navy-deep) 0%,var(--navy) 100%);
  background-size:44px 44px,44px 44px,cover;
}
.why-hero .wrap.why-hero-grid{
  display:grid;grid-template-columns:1.45fr .85fr;gap:56px;align-items:center;
}
/* 雷达主视觉：同心环 + 金色扫描 + 盾牌 */
.hero-radar{position:relative;width:300px;height:300px;margin:0 auto}
.radar-ring{position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%}
.radar-ring.r1{inset:0}
.radar-ring.r2{inset:16.5%}
.radar-ring.r3{inset:33%}
.radar-sweep{
  position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg,rgba(201,164,74,.5) 0deg,rgba(201,164,74,.12) 40deg,transparent 75deg);
  animation:radar-spin 7s linear infinite;
}
@keyframes radar-spin{to{transform:rotate(360deg)}}
.radar-blip{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--gold);animation:radar-blip 3s ease-out infinite}
.radar-blip.b1{top:24%;left:62%}
.radar-blip.b2{top:58%;left:30%;animation-delay:1s}
.radar-blip.b3{top:74%;left:66%;animation-delay:2s}
@keyframes radar-blip{0%{opacity:0;transform:scale(.4)}25%{opacity:1;transform:scale(1)}70%{opacity:.35}100%{opacity:0}}
.radar-shield{position:absolute;top:50%;left:50%;width:104px;height:104px;transform:translate(-50%,-50%)}
@media(prefers-reduced-motion:reduce){
  .radar-sweep,.radar-blip{animation:none}
}

/* 资产库卡片：档案柜感 + 标签 + 图标 */
.asset{transition:transform .25s,box-shadow .25s}
.asset:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(27,42,78,.08)}
.asset-ico{margin-bottom:16px}
.asset h3{margin-bottom:10px}

/* 金句（与所在模块内容左缘对齐） */
.motto{
  margin:24px 0 0;font-family:var(--serif);font-size:18px;
  line-height:1.9;color:var(--navy);border-left:3px solid var(--gold);
  padding:8px 0 8px 24px;background:transparent;
}

/* 模块紧凑变体 */
.sec-tight{padding:72px 0 84px}

/* 四速：横向时间轴 */
.wh-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.wh-steps::before{
  content:"";position:absolute;top:12px;left:12px;right:12px;height:1px;background:var(--line);
}
.wh-step{position:relative}
.wh-step-head{
  position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;
  background:var(--white);padding-right:14px;margin-bottom:16px;
}
.wh-step-name{font-size:15px;font-weight:600;color:var(--navy);letter-spacing:.02em}
.wh-step-num{font-family:var(--serif);font-size:32px;font-weight:700;color:var(--red);line-height:1.2;margin-bottom:10px}
.wh-step-num span{font-size:14px;color:var(--navy);margin-left:6px;font-weight:600}
.wh-step > p:last-of-type{font-size:14.5px;color:var(--gray);line-height:1.85}

/* 合作流程：金环节点三段式 */
.flow-map{display:flex;align-items:flex-start;list-style:none;margin:8px 0 0;padding:0}
.fm-step{flex:1 1 0;min-width:0;position:relative;text-align:center;padding:0 16px}
.fm-step+.fm-step::before{
  content:"";position:absolute;top:23px;left:calc(-50% + 41px);right:calc(50% + 41px);
  height:1px;background:var(--gold);opacity:.5;
}
.fm-step+.fm-step::after{
  content:"";position:absolute;top:20px;right:calc(50% + 33px);width:7px;height:7px;
  border-top:1px solid var(--gold);border-right:1px solid var(--gold);
  transform:rotate(45deg);opacity:.8;
}
.fm-no{
  position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;border:1px solid var(--gold);border-radius:50%;background:var(--white);
  box-shadow:0 0 0 6px rgba(201,169,97,.12);
  font-family:var(--serif);font-size:16px;font-weight:700;color:var(--navy);letter-spacing:.05em;
}
.fm-t{font-family:var(--serif);font-size:19px;font-weight:700;color:var(--navy);margin:16px 0 0;line-height:1.6}

/* 合作三步走 CTA */

/* 移动端：hero 上下结构、时间轴纵排 */
@media(max-width:900px){
  .why-hero .wrap.why-hero-grid{grid-template-columns:1fr;gap:44px}
  .hero-radar{width:230px;height:230px;margin:0}
  .radar-shield{width:78px;height:78px}
  .wh-steps{grid-template-columns:1fr;gap:0}
  .flow-map{flex-direction:column;gap:26px}
  .fm-step{display:flex;align-items:center;gap:16px;text-align:left;padding:0}
  .fm-step+.fm-step::before{top:56px;left:23px;right:auto;bottom:-26px;width:1px;height:auto}
  .fm-step+.fm-step::after{display:none}
  .fm-step:last-child::before{display:none}
  .fm-no{flex:none}
  .fm-t{margin:0;font-size:17px}
  .wh-steps::before{display:none}
  .wh-step{border-left:2px solid var(--line);padding:0 0 32px 22px}
  .wh-step:last-child{padding-bottom:0}
  .wh-step::before{
    content:"";position:absolute;left:-5px;top:8px;width:8px;height:8px;
    border-radius:50%;background:var(--gold);
  }
  .wh-step-head{background:transparent;padding-right:0}
}

/* ===== products.html V12 视觉改版（prd- 前缀，页面专属）===== */
/* V115：scrollbar-gutter 让短页面也预留滚条位，避免页面切换瞬间整页横向位移（跳动感） */
html{scroll-behavior:smooth;scrollbar-gutter:stable;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* hero：战情室 + 五环咬合动态图 */
@keyframes prd-rot{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){}

/* 吸顶胶囊导航 + 阅读进度条 */

/* 产品模块通用：标题行 + 锚点偏移（虚化大编号已按用户要求移除） */
.pmod{position:relative;overflow:hidden;scroll-margin-top:140px;padding:50px 0} /* 产品名称上下留白各裁一半（原 section 100px） */
.pmod .table-wrap{margin-bottom:0} /* V109：适用场景已移左轨（V77），表格后不再需要衔接间距；左轨胶囊贴表格底边对齐 */
.pmod-head{display:flex;flex-wrap:wrap;z-index:1}

/* 适用场景胶囊 */


/* V109：监测预警双轨行与雷达已删/迁出，p01-p05 右栏统一为表格呈现 */

/* 表格移动端卡片化（srv-table 仅 products 页使用） */
@media(max-width:900px){
  table.srv-table{min-width:0}
  .srv-table thead{display:none}
  .srv-table,.srv-table tbody,.srv-table tr,.srv-table td{display:block;width:100%}
  .srv-table tbody tr{border:1px solid var(--line);margin-bottom:14px;padding:6px 0;background:var(--white)}
  .srv-table td{border:none;padding:10px 16px}
  .srv-table td::before{
    content:attr(data-label);display:block;font-size:13px;color:var(--navy);
    letter-spacing:.1em;font-weight:600;margin-bottom:5px;
  }
  .srv-table td.merge-cell{padding-top:14px;border-top:1px dashed var(--line-soft)}
  .srv-table td.merge-cell::before{content:none}
}

/* ============ 实战案例页 V14：战报墙 + 档案柜（规范范系统内化版） ============ */

/* hero：作战地图网格 + 档案柜 */
.cs-hero{background:
  linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
  linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
  linear-gradient(120deg,var(--navy-deep) 0%,var(--navy) 100%);
  background-size:44px 44px,44px 44px,cover;
}


/* 数据战报条（V17：并入 hero，金色顶线分隔；白数字 + 金色单位，沿用 why-hero 数据体系） */
.cs-board-row{grid-template-columns:repeat(3,1fr);
  margin-top:32px;padding-top:20px;border-top:1px solid rgba(201,169,97,.4);
}
.csb-item{text-align:center;padding:0 10px}
.csb-item + .csb-item{border-left:1px solid rgba(255,255,255,.14)}
.csb-num{
  font-family:var(--serif);
  font-size:28px;font-weight:700;color:var(--white);line-height:1.15;font-variant-numeric:tabular-nums;
}
.csb-num b{font-size:16px;color:var(--gold);margin-left:5px;font-weight:600}
.csb-label{font-size:13px;color:rgba(255,255,255,.62);letter-spacing:.06em;margin-top:7px}
.csb-num .cnt{display:inline-block}
/* 数据条动效：与首页核心数据条同一套处理方式（JS 只加 .lit，进入视口计数 + 每次滑入重播） */
.cs-board-row.lit .csb-num{
  animation:numIn .7s cubic-bezier(.22,.9,.32,1) both,
            numPulse 4.8s ease-in-out calc(1.1s + var(--i,0)*.12s) infinite;
}
.cs-board-row.lit .csb-item:nth-child(1) .csb-num{--i:0}
.cs-board-row.lit .csb-item:nth-child(2) .csb-num{--i:1}
.cs-board-row.lit .csb-item:nth-child(3) .csb-num{--i:2}

/* 旗舰战报板（V18 浅底方案：cream 底托白卡 + 4px 红顶线，全页视觉权重最高） */
.cs-boardcard::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-radial-gradient(circle at 88% 12%, rgba(27,42,78,.05) 0 1px, transparent 1px 88px);
}
.cs-boardcard > *{position:relative;z-index:1}
.cs-tl::before{content:"";position:absolute;left:4px;top:8px;bottom:8px;width:1px;background:rgba(27,42,78,.18)}
.cs-tl-node:last-child{padding-bottom:0}
.cs-tl-node::before{
  content:"";position:absolute;left:-20px;top:8px;width:9px;height:9px;border-radius:50%;
  background:var(--white);border:2px solid var(--navy);
}
.cs-tl-node.hot::before{background:var(--action);border-color:var(--action);box-shadow:0 0 0 4px rgba(217,123,41,.15)}
.cs-bc-link:hover{color:var(--red-deep);border-color:var(--red-deep)}



/* 更多行业案例（V18 收折：一行说明 + 胶囊云） */
.cs-filesec{background:var(--white);padding:0 0 84px}
 /* V75 移动端两行均衡，消孤字行 */

/* 案例档案抽屉（桌面端右滑出；button 触发 + checkbox 驱动开合，Esc 可关） */
body:has(.dw-toggle:checked){overflow:hidden}
.dw-toggle:checked ~ .dw{transform:none}
.dw-toggle:checked ~ .dw-mask{opacity:1;pointer-events:auto}
.dw-close:hover{color:var(--red);border-color:var(--red)}
.dw-file td:first-child{color:var(--gray);width:96px;font-weight:600;vertical-align:top}
.dw-evi li::marker{color:var(--gold);font-weight:700}

/* 移动端 */
@media(max-width:900px){
  .ccb-frame,.ccb-drawer:not(.open){display:none}
  .cs-hero{padding:48px 0 40px}
  .cs-board-row{grid-template-columns:repeat(3,1fr);margin-top:28px;padding-top:18px}
  .csb-item{padding:0 8px}
  .csb-num{font-size:23px}
  .csb-num b{font-size:12px;margin-left:3px}
  .csb-label{font-size:11px;margin-top:5px}
  .cs-filesec{padding:0 0 64px}
}

/* ===== 全站可访问性与打印（V18） ===== */
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media print{
  .cs-hero,.why-hero,.prd-hero{background:var(--white)!important;color:var(--ink)!important}
  .site-header,.call-bar,.dw,.dw-mask,.dw-toggle{display:none!important}
}

/* ===== V74 关于我们 hero：三句主张（原导语撤下，腾出的空间全部给这三句） ===== */
.page-hero.why-hero h1{
  max-width:none;margin-bottom:0;
  font-size:clamp(30px,3.4vw,44px);line-height:1.44;letter-spacing:.02em;
}
.why-hero h1 .wh-line{display:block}
.why-hero h1 .wh-line b{color:var(--gold);font-weight:800}
.why-hero .hero-rule{margin-left:0;margin-right:auto}
@media(max-width:900px){
  .page-hero.why-hero h1{font-size:26px;line-height:1.5}
}
@media print{
  .why-hero h1 .wh-line b{color:var(--navy)}
}

/* ===== V76 首页去 AI 化：机构简报语法（改动全部为首页专属作用域） ===== */
.pmod-no{font-family:var(--serif);font-weight:700;color:var(--gold);}
.pmod-rule{min-width:48px;background:var(--gold);}
.pmod-head .section-title{margin-bottom:0;font-size:28px;line-height:1.3;margin-top:10px}
.pmod .table-wrap{border:none;background:transparent}
.pmod .srv-table tbody tr{transition:background .2s}
.pmod .srv-table tbody tr:hover{background:rgba(27,42,78,.04)}
.scn-line{font-size:14.5px;color:var(--gray);line-height:2;margin:28px 0 0!important}
.scn-line b{font-family:var(--serif);font-size:15.5px;color:var(--navy);font-weight:700;margin-right:14px;letter-spacing:.06em}
.svc-intro .section-title{font-size:clamp(40px,4vw,52px)}
@media(max-width:900px){
  .pmod-rule{min-width:24px}
  .svc-intro .section-title{font-size:30px}
}

/* ===== V77 首页模块双栏架构：左轨(编号/标题/侧注) + 右栏(内容)；雷达动效恢复 ===== */
/* eyebrow 字号对齐导航（15px）；移动端 13px */
.hero .hero-eyebrow{font-size:15px;letter-spacing:.06em;margin-top:24px}
@media(max-width:900px){
  .hero .hero-eyebrow{font-size:13px;margin-top:18px}
}
/* 左轨 + 右栏 */
.pmod .wrap{display:grid;grid-template-columns:236px minmax(0,1fr);column-gap:40px;row-gap:0;align-items:start}
.pmod-head{grid-column:1;grid-row:1;flex-direction:column;align-items:flex-start;gap:0;margin-bottom:0;align-self:start;padding-left:0;position:relative}
.pmod-no{font-size:30px;letter-spacing:.02em;line-height:1}
.pmod-rule{flex:none;width:36px;height:2px;opacity:.55;margin:16px 0 0}
.pmod-body{grid-column:2;grid-row:1 / span 3;min-width:0}
.pmod .scn-line{grid-column:1;grid-row:2;align-self:start;font-size:14px;line-height:1.95;margin:32px 0 0!important;padding:16px 0 0;border-top:1px solid var(--line-soft)}
.pmod .scn-line b{display:block;font-size:15px;margin:0 0 6px;letter-spacing:.1em}
@media(max-width:900px){
  .pmod .wrap{display:block}
  .pmod-head{position:static;margin-bottom:32px}
  .pmod-no{font-size:26px}
  .pmod-head .section-title{font-size:25px}
  .pmod-rule{width:36px}
  .pmod .scn-line{font-size:13px;margin-top:24px!important}
}
/* ===== V84 雷达原在 p01 双轨右侧，V109 迁至 .svc-intro（规则见 V109 区块）===== */

/* ===== V79 实战案例页重构：左轨案例档案（与首页模块同一套左轨语法） ===== */
.cs-hero{padding:48px 0 44px}
.cs-board-row{display:flex;flex-wrap:wrap;justify-content:center}
.cs-board-row .csb-item{flex:1 1 0;min-width:0}
.cs-case{padding:50px 0}
.cs-case .wrap{display:grid;grid-template-columns:236px minmax(0,1fr);column-gap:40px;row-gap:0;align-items:start;position:relative}
.cf-rail{grid-column:1;grid-row:1;align-self:start;display:flex;flex-direction:column;align-items:flex-start;padding-left:0}
.cf-no{font-family:var(--serif);font-size:30px;font-weight:700;color:var(--gold);letter-spacing:.02em;line-height:1}
.cf-ind{font-family:var(--serif);font-size:26px;font-weight:800;color:var(--navy);letter-spacing:.04em;margin:10px 0 0;line-height:1.3;white-space:nowrap}
.cf-rule{width:36px;height:2px;background:var(--gold);opacity:.55;margin:16px 0 0}
.cf-meta{margin-top:30px;font-size:13px;color:var(--ink);line-height:1.9}
.cf-meta p{margin:0 0 12px}
.cf-meta b{display:block;font-family:var(--serif);font-size:13px;color:var(--navy);font-weight:700;letter-spacing:.12em;margin-bottom:4px}
.cf-scene{margin:30px 0 0;padding:16px 0 0;border-top:1px solid var(--line);font-size:13px;color:var(--gray);line-height:1.95}
.cf-scene b{display:block;font-family:var(--serif);font-size:13px;color:var(--navy);font-weight:700;letter-spacing:.12em;margin-bottom:6px}
.cf-body{grid-column:2;grid-row:1;min-width:0}
.cf-body h2{font-family:var(--serif);font-size:clamp(24px,2.2vw,30px);font-weight:700;color:var(--navy);letter-spacing:.01em;margin-bottom:22px}
.cf-bg{font-size:15px;color:var(--ink);line-height:2;margin-bottom:30px}
.cf-bg b{display:block;font-family:var(--serif);font-size:15.5px;color:var(--navy);font-weight:700;letter-spacing:.1em;margin-bottom:6px}
.cs-case .srv-table thead th{padding:14px 20px 12px}
.cs-case .srv-table td{padding:16px 20px}
.cs-case .srv-table tbody tr{transition:background .2s}
.cs-case .srv-table tbody tr:hover{background:rgba(27,42,78,.04)}
.hl{font-family:var(--serif);font-weight:800;color:var(--red);white-space:nowrap}
.cf-high{margin-top:30px;background:rgba(201,169,97,.09);border-left:3px solid var(--gold);padding:18px 22px;font-size:15px;color:var(--ink);line-height:2}
.cf-high b{display:block;font-family:var(--serif);font-size:15.5px;color:var(--navy);font-weight:700;letter-spacing:.1em;margin-bottom:6px}
.cf-quote{grid-column:1/-1;grid-row:2;margin:46px 0 0;padding:38px 0 0 58px;border-top:1px solid var(--line-soft);position:relative}
.cf-quote::before{content:"\201C";position:absolute;left:0;top:14px;font-family:var(--serif);font-size:54px;line-height:1;color:var(--gold);opacity:.5}
.cf-quote p{font-family:var(--serif);font-size:18px;color:var(--navy);line-height:2;margin:0}
.cf-quote cite{display:block;font-style:normal;font-size:14px;color:var(--gray);margin-top:14px;letter-spacing:.04em;text-align:right}
.cf-more{font-size:15px;color:var(--gray);text-align:center;letter-spacing:.04em}
@media(max-width:900px){
  .cs-case .wrap{display:block}
  .cf-rail{margin-bottom:28px}
  .cf-no{font-size:26px}
  .cf-ind{font-size:23px}
  .cf-scene{margin-top:18px}
  .cf-quote{margin-top:36px;padding-top:28px;padding-left:44px}
  .cf-quote::before{font-size:44px;top:10px}
  .cf-quote p{font-size:16.5px}
  .cs-board-row .csb-item{flex:1 1 50%;margin-bottom:14px}
}

/* ===== V88 视觉优化批（A1/D1/B1/B2/C1/C3/D2，依据 2026-10-08 视觉专项诊断）===== */
/* B1 五环进度指示：首页五模块左轨，第 N 模块点亮第 N 环，对应「五环全链条」品牌叙事 */
.pmod-chain{display:flex;gap:7px;margin-top:18px}
.pmod-chain i{width:8px;height:8px;border-radius:50%;border:1px solid var(--gold)}
.pmod-chain i.on{background:var(--gold)}
/* B2 适用场景胶囊：分号长句拆为独立胶囊，文字原样保留 */
.scn-chip{display:inline-block;background:var(--paper);border:1px solid var(--line-soft);border-radius:2px;padding:4px 12px;margin:0 10px 10px 0;font-size:13px;color:var(--gray);line-height:1.6;white-space:nowrap}
/* D1 移动端核心数据带 2×2：四格两行两列，消除单列拉伸与超长数字行 */
@media(max-width:900px){
  .trust{padding:44px 0}
  .trust-grid{grid-template-columns:1fr 1fr;gap:28px 16px}
  .trust-num{font-size:46px}
  .trust-num span{font-size:20px}
}

/* ===== V89 首页微调（文案修订/核心产品模块高度/胶囊间距/p03·p04 左右列底部对齐）===== */
/* p03 舆情处置、p04 舆论引导：左轨适用场景贴右栏底部（V109 改弹性盒贴底：消除行内基线下伸，
   使胶囊视觉底边与右栏表格底边严格持平） */
#p03 .scn-line,#p04 .scn-line{grid-row:1 / span 3;align-self:end;display:flex;flex-wrap:wrap;align-content:flex-end;row-gap:10px}
#p03 .scn-line b,#p04 .scn-line b{flex-basis:100%}
/* 胶囊纵向间距由容器 row-gap 承担：flex 拉伸(stretch)会把带 margin 的末位胶囊撑高 10px（40.8 vs 30.8），
   归零纵向 margin 后各胶囊高度一致，行距不变，末行底边仍与右栏表格底边持平 */
#p03 .scn-line .scn-chip,#p04 .scn-line .scn-chip{margin-bottom:0}

/* ===== V90 二级页 hero 精简（删两级面包屑后同步压缩所在区域高度）===== */
.page-hero.cs-hero{padding:52px 0 56px}

/* ===== V91 首页产品模块左轨微调 ===== */
/* V91 的 -10px 抵消 hack 已被 V109 弹性盒贴底方案取代（末胶囊 margin-bottom 归零），无需再抵消 */

/* ===== V92 行业洞察门户化重构（头条 / 焦点 / 要闻+指数 / 五栏目）===== */


/* ===== V102：首页五大产品表 三列水平+垂直居中 ===== */
.pmod .srv-table th,.pmod .srv-table td{text-align:center;vertical-align:middle}

/* ===== V103/V105：首页产品表「服务内容」「交付标准」列水平靠左（两列首行均占满列宽，视觉不变；仅短行归左）===== */
.pmod .srv-table td[data-label="服务内容"],
.pmod .srv-table td[data-label="交付标准"]{text-align:left}

/* ===== V109：p04 舆论引导表尾「合规边界」打通行（colspan 3，左对齐）===== */
.pmod .srv-table td.merge-cell{text-align:left;color:var(--ink);font-weight:400;letter-spacing:.02em}

/* ===== V109：监测预警雷达由 p01 迁至「核心产品」标题区右侧空白处 ===== */
.svc-intro .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:64px;align-items:center}
.svc-intro .hero-radar{width:150px;height:150px;margin:0}
.svc-intro .hero-radar .radar-ring{border-color:rgba(27,42,78,.18)}
.svc-intro .hero-radar::before{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(201,164,74,.06)}
@media(max-width:900px){
  .svc-intro .wrap{grid-template-columns:1fr;row-gap:28px}
  .svc-intro .hero-radar{width:120px;height:120px;margin:0 auto}
}

/* ===== V115：交互细节修复 ===== */
/* 1) 以 label 实现的按钮（打开/关闭留资弹窗）加入键盘焦点序列后，需有可见焦点环 */
[role="button"]{cursor:pointer}
[role="button"]:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* 2) 移动端触摸目标补足到约 44px（仅扩大命中区，不改变视觉排版） */
@media(max-width:900px){
  .footer-tel{position:relative}
  .footer-tel::after{content:"";position:absolute;inset:-9px -6px}
  .breadcrumb a{position:relative}
  .breadcrumb a::after{content:"";position:absolute;inset:-12px -8px}
}

/* ===== V131：行业洞察三模块（周一见 / 行业报告 / 风险预警） ===== */
.insights-hub{background:var(--paper);padding:56px 0 80px}
.ih-module{
  display:grid;
  grid-template-columns:1fr 432px;
  grid-template-areas:"flag more" "lead list";
  grid-template-rows:auto 1fr;
  column-gap:48px;
  align-items:stretch;
  margin-bottom:72px;
}
.ih-module:last-child{margin-bottom:0}
.ih-flag{grid-area:flag;justify-self:start;align-self:start;background:var(--navy-deep);color:var(--gold);font-size:16px;font-weight:600;letter-spacing:.14em;padding:7px 20px;border-radius:2px;margin-bottom:16px}
.ih-more{grid-area:more;justify-self:end;align-self:center;font-size:12.5px;letter-spacing:.1em;color:var(--gold-deep);text-decoration:none;transition:color .2s}
.ih-more:hover{color:var(--red)}
.ih-lead{grid-area:lead;display:flex;flex-direction:column;text-decoration:none;color:inherit;min-width:0}
.ih-lead-visual{position:relative;aspect-ratio:3/2;border-radius:2px;overflow:hidden;background:var(--navy);border:1px solid var(--line);flex:1}
.ih-lead-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ih-lead-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;background:linear-gradient(180deg,transparent 0%,rgba(20,31,58,.55) 55%,rgba(20,31,58,.88) 100%)}
.ih-lead-overlay h2{font-family:var(--serif);font-size:clamp(22px,2.2vw,28px);color:var(--white);line-height:1.5;margin:0;letter-spacing:.02em}
.ih-lead-visual-report{background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 50%,var(--navy-mid) 100%)}
.ih-lead-visual-risk{background:linear-gradient(135deg,var(--red-deep) 0%,var(--navy-deep) 100%)}

.ih-list{grid-area:list;display:flex;flex-direction:column;min-width:0}
.ih-list ul{list-style:none;margin:0;padding:0;flex:1;display:flex;flex-direction:column;justify-content:space-between}
.ih-list li{display:block}
.ih-list-row{display:block;text-decoration:none}
a.ih-list-row:hover .ih-list-txt{color:var(--gold-deep)}
.ih-list-txt{font-size:16px;color:var(--ink);line-height:1.7;transition:color .2s;white-space:nowrap}
.ih-list-todo{color:var(--gray)}

@media(max-width:900px){
  .insights-hub{padding:44px 0 56px}
  .ih-module{grid-template-columns:1fr;grid-template-areas:"flag" "more" "lead" "list";row-gap:14px;margin-bottom:56px}
  .ih-more{justify-self:start}
  .ih-list ul{row-gap:14px;justify-content:flex-start}
  .ih-list-txt{white-space:normal}
}

/* ===== V133：洞察文章聚合页 ===== */
.articles-hub{background:var(--paper);padding:56px 0 80px}
.art-sec{margin-bottom:64px}
.art-sec:last-child{margin-bottom:0}
.art-sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.art-sec-flag{background:var(--navy-deep);color:var(--gold);font-size:16px;font-weight:600;letter-spacing:.14em;padding:7px 20px;border-radius:2px;margin:0}
/* 文章列表不限高：每栏目可容纳 30 条以上，条目追加后区块自然延长 */
.art-list{list-style:none;margin:0;padding:0}
.art-list li{border-bottom:1px solid var(--line-soft)}
.art-list li:last-child{border-bottom:none}
.art-list-row{display:block;text-decoration:none;padding:15px 0}
a.art-list-row:hover .art-list-txt{color:var(--gold-deep)}
.art-list-txt{font-size:16px;color:var(--ink);line-height:1.75;transition:color .2s}
.art-list-todo{color:var(--gray)}

@media(max-width:640px){
  .articles-hub{padding:40px 0 56px}
  .art-sec{margin-bottom:48px}
  .art-list-row{padding:13px 0}
}

