:root{--blue:#1553d6;--blue-d:#0e3ea8;--tint:#f0f5ff;--tint2:#e3ecfd;--ink:#000000;--mut:#5a6577;--line:#e2e7f0;--grad-b:linear-gradient(135deg,#4f86f0,#1553d6);--shadow-card:0 4px 20px rgba(16,35,80,.06)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Microsoft YaHei","PingFang SC","Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.75}
a{text-decoration:none;color:inherit}
/* 全站统一内容栏（2026-09-12 第十七轮：应用户要求「除 3 个视频外，其余内容全部与平台总体架构图同宽」）
   —— 就取首页 #arch 架构图容器原来的那一套数：max-width 2000px + 左右 16px 内边距。
   架构图容器已改成同一个 .wrap 类，所以全站宽度只有这一处定义。视频区块（首页 .pagehero.bgimg、
   产品方案页 .vhero）是通栏背景，仍按各自的满宽规则走，不受这里影响。 */
.wrap{max-width:2000px;margin:0 auto;padding:0 16px}
.k{font-size:14.5px;letter-spacing:.26em;font-weight:700;text-transform:uppercase;background:linear-gradient(120deg,#1553d6,#0891b2);-webkit-background-clip:text;background-clip:text;color:transparent}
/* 导航 */
header{position:sticky;top:0;z-index:99;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);overflow:visible;scrollbar-width:none}
header::-webkit-scrollbar{display:none}
.nav{display:flex;flex-wrap:nowrap;white-space:nowrap;align-items:center;height:80px;gap:20px;font-size:17.5px;min-width:max-content;max-width:2000px}
.logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:20.0px;letter-spacing:.02em}
.logo .logo-mark{width:36px;height:36px;border-radius:8px;object-fit:cover;display:block;flex:none}
.nav a.menu{color:var(--mut);padding:6px 13px;border-radius:8px;transition:.15s}
.nav a.menu:hover{color:var(--blue);background:rgba(21,83,214,.06)}
.nav a.menu.act{color:var(--blue);background:rgba(21,83,214,.1);font-weight:700}
/* 悬停下拉子菜单（2026-09-12 东华官网方式）：.navi 包住导航项+下拉面板，纵向 padding 让悬停热区贯穿整条导航 */
.navi{position:relative;display:flex;align-items:center;padding:18px 0}
.navi .sub{position:absolute;left:50%;top:100%;transform:translate(-50%,10px);min-width:180px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(16,35,80,.16);padding:8px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;pointer-events:none;transition:.18s;z-index:6}
.navi:hover .sub,.navi:focus-within .sub{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
.nav .sub a{white-space:nowrap;padding:9px 14px;border-radius:8px;color:var(--ink);font-size:16px;transition:.12s}
.nav .sub a:hover{background:var(--tint);color:var(--blue)}
/* 板块锚点跳转的吸顶避让（导航 80px） */
section[id]{scroll-margin-top:96px}
/* 站内提示浮层（2026-09-12 取代原生 alert，避免浏览器强制显示「域名 显示」前缀） */
.site-toast{position:fixed;left:50%;bottom:9vh;transform:translate(-50%,16px);background:linear-gradient(135deg,#4f86f0,#1553d6);color:#fff;font-size:17px;line-height:1.75;padding:16px 26px;border-radius:14px;box-shadow:0 18px 50px rgba(16,35,80,.35);z-index:400;opacity:0;transition:.3s;max-width:min(86vw,560px);text-align:center;white-space:pre-line}
.site-toast.on{opacity:1;transform:translate(-50%,0)}
/* 智能数字化底座：图片轮播框（2026-09-16 应用户要求：白底文档文字移除，改 4 张 PPT 图轮流滚动）
   同日二调：应用户要求「与上面架构图一样大」——去掉 1280 封顶，随 .wrap 与架构图同宽（图原生 1280，宽屏会放大略软，有高清版同名替换即可）；
   交叉淡切沿用全站 1.05s 口径；圆点指示器可点，逻辑见 site.js baseCarousel */
.carousel{position:relative;width:100%}
.carousel .cframe{position:relative;aspect-ratio:16/9;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(21,83,214,.10)}
.carousel .cslide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;opacity:0;transition:opacity 1.05s ease}
.carousel .cslide.act{opacity:1}
.carousel .cdot-row{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:10px;z-index:2}
.carousel .cdot{width:11px;height:11px;border-radius:6px;border:none;padding:0;cursor:pointer;background:rgba(13,42,94,.22);transition:background .25s,width .25s}
.carousel .cdot.act{background:var(--blue);width:26px}
@media(max-width:620px){.carousel .cdot{width:9px;height:9px}.carousel .cdot.act{width:20px}.carousel .cdot-row{bottom:10px;gap:8px}}
.sp{flex:1}
.btn{display:inline-block;padding:12px 28px;border-radius:8px;font-size:17.5px;font-weight:600;transition:.2s}
.btn.pri{background:linear-gradient(135deg,#4f86f0,#1553d6);color:#fff;box-shadow:0 8px 22px rgba(37,99,235,.32)}
.btn.pri:hover{box-shadow:0 12px 30px rgba(37,99,235,.45);transform:translateY(-1px)}
.btn.line{border:1.5px solid var(--blue);color:var(--blue);background:#fff}
.btn.line:hover{background:var(--tint)}
.btn.ghost{border:1px solid var(--line);color:var(--ink)}
.btn.ghost:hover{border-color:var(--blue);color:var(--blue)}
/* Hero：浅色底 */
.hero{position:relative;background:#fff;padding:110px 0 96px;overflow:hidden;color:var(--ink)}
.hero #heroCode{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.35}
.hero .veil{position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.34) 48%,rgba(255,255,255,0) 100%)}
.hero .wrap{position:relative;z-index:2}
.hero .row{display:flex;align-items:center;gap:60px}
.hero .k{color:var(--blue)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:15.0px;font-weight:600;color:var(--blue);background:rgba(21,83,214,.07);border:1px solid rgba(21,83,214,.25);padding:7px 16px;border-radius:20px;letter-spacing:.5px}
.eyebrow svg{flex:none}
.hero h1{font-size:clamp(40.5px,5vw,67.0px);line-height:1.26;letter-spacing:-.01em;font-weight:800;color:var(--ink)}
.hero h1 em{font-style:normal;background:linear-gradient(120deg,#1553d6,#0891b2);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{color:var(--ink);font-size:20.0px;margin:24px 0 36px;max-width:540px}
.hero .ctas a{margin:0 8px 0 0}
.hero .btn.ghost{border:1.5px solid var(--blue);color:var(--blue);background:transparent}
.hero .btn.ghost:hover{background:var(--tint)}
.hero .trust{margin-top:40px;display:flex;gap:28px;flex-wrap:wrap;color:var(--mut);font-size:16.0px}
.hero .trust b{color:var(--ink);font-weight:700}
.hero .trust a{color:var(--mut);transition:.15s;cursor:pointer}
.hero .trust a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:5px}
.hero .trust a:hover b{color:var(--blue)}
.hero .fig{flex:1;position:relative;min-height:430px;display:flex;align-items:center;justify-content:center}
.fig::before{content:"";position:absolute;left:4%;right:4%;top:6%;bottom:22%;background:radial-gradient(closest-side,rgba(21,83,214,.16),transparent 72%);filter:blur(8px);pointer-events:none}
.monitor{position:relative;width:min(560px,100%);filter:drop-shadow(0 20px 38px rgba(16,35,80,.20))}
.mscreen{position:relative;border:12px solid #141d33;border-bottom-width:22px;border-radius:18px;background:#141d33;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);overflow:hidden;aspect-ratio:1273/630}
.mscreen img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
.mscreen img.on{opacity:1}
.mstand{width:52px;height:32px;margin:-1px auto 0;background:linear-gradient(180deg,#384664,#222c44);clip-path:polygon(16% 0,84% 0,100% 100%,0 100%)}
.mbase{width:190px;height:12px;margin:0 auto;border-radius:6px;background:linear-gradient(180deg,#384664,#1c2540)}
/* 数字条 */
section{padding:100px 0}
.shead{margin-bottom:56px}
.shead h2{font-size:clamp(33.5px,3.8vw,49.5px);font-weight:800;letter-spacing:-.01em;margin:12px 0 12px;position:relative}
.shead h2::after{content:"";display:block;width:44px;height:4px;border-radius:2px;background:linear-gradient(90deg,#1553d6,#22d3ee);margin-top:12px}
.shead.center h2::after{margin-left:auto;margin-right:auto}
.shead p{color:var(--ink);font-size:19.0px;max-width:600px}
.shead.center{text-align:center}
.shead.center p{margin:0 auto}
/* 系统网格（2026-09-09 七次调整：8 卡放大一倍——两列大卡 + 图标/字号/内边距全面放大）
   注：#systems / #demo / #deep / #data / #about 原来各有 1280px 专属宽度（第 101 发口径），
   第十七轮起全部撤销——统一随 .wrap 走，与架构图同宽，不再有板块间宽度差 */
.grid8{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.grid8 .sys{min-height:264px}
.sys{position:relative;overflow:hidden;background:#fff;border:1px solid rgba(226,231,240,.6);border-radius:22px;padding:42px 38px;transition:.25s;cursor:pointer;box-shadow:var(--shadow-card)}
.sys-art{position:absolute;right:-8px;bottom:-10px;width:138px;height:138px;color:#c9ddf7;opacity:.55;pointer-events:none;transition:.25s}
.sys-art svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sys-art.img{inset:0;width:100%;height:100%;right:0;bottom:0;opacity:1;border-radius:inherit;overflow:hidden;z-index:0}
.sys:hover .sys-art.img{opacity:1}
.sys-art.img img{width:100%;height:100%;object-fit:cover;display:block}
.sys-art.img.dim img{opacity:.3}
.sys-art.img::after{content:"";position:absolute;inset:0;background:linear-gradient(165deg,rgba(255,255,255,.85) 0%,rgba(255,255,255,.55) 45%,rgba(255,255,255,.28) 100%)}
.sys>*:not(.sys-art){position:relative;z-index:1;text-shadow:0 1px 2px rgba(255,255,255,.6)}
.sys>.sys-art{z-index:0}
.sys:hover .sys-art{opacity:.85;color:#a8c8f2}
.sys:hover{border-color:rgba(21,83,214,.28);box-shadow:0 14px 38px rgba(21,83,214,.14);transform:translateY(-5px)}
.sys .hint{margin-top:18px;font-size:15.5px;color:#9aa8c4;letter-spacing:.04em}
.sys:hover .hint{color:var(--blue)}
.sys .ic{width:66px;height:66px;border-radius:18px;background:var(--grad-b);display:flex;align-items:center;justify-content:center;font-size:34.5px;margin-bottom:22px;color:#fff;box-shadow:0 6px 14px rgba(21,83,214,.28)}
.sys .ic svg{width:33px;height:33px}
[data-ico] svg{width:20px;height:20px;vertical-align:-3.5px;margin-right:4px}
.qq-modal h3 svg{width:22px;height:22px;vertical-align:-3.5px;margin-right:5px;color:var(--blue)}
/* AI 智能咨询浮层 */
.ai-chat{position:fixed;right:22px;bottom:22px;z-index:210;width:378px;max-width:calc(100vw - 30px);height:540px;max-height:calc(100vh - 40px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(10,20,40,.25);display:none;flex-direction:column;overflow:hidden}
.ai-chat.show{display:flex}
.ai-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:linear-gradient(120deg,var(--blue-d),var(--blue));color:#fff}
.ai-head b{font-size:17.0px;display:flex;align-items:center;gap:6px}
.ai-head svg{width:17px;height:17px}
.ai-head button{background:none;border:0;color:#fff;font-size:17.0px;cursor:pointer;opacity:.85;padding:2px 6px}
.ai-head button:hover{opacity:1}
.ai-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--bg-soft,#fafbfd)}
.ai-msgs .m{max-width:86%;padding:9px 13px;border-radius:12px;font-size:15.0px;line-height:1.7;white-space:pre-line;word-break:break-word}
.ai-msgs .m.bot{align-self:flex-start;background:#fff;border:1px solid var(--line);border-top-left-radius:4px;color:var(--ink)}
.ai-msgs .m.user{align-self:flex-end;background:var(--blue);color:#fff;border-top-right-radius:4px}
.ai-msgs img.ai-img{max-width:210px;border-radius:12px;border:1px solid var(--line);margin:4px 0;display:block}
.ai-qr-row{display:flex;gap:10px;justify-content:center;margin-bottom:14px}
.ai-qr-row .q{flex:1;background:var(--bg-soft,#fafbfd);border:1px dashed var(--tint2);border-radius:12px;padding:8px;text-align:center;font-size:15.5px;color:var(--mut)}
.ai-qr-row .q img{width:100%;max-width:130px;border-radius:8px;display:block;margin:0 auto 4px}
.ai-quick{display:flex;gap:7px;flex-wrap:wrap;padding:8px 12px;border-top:1px solid var(--line);background:#fff}
.ai-quick button{border:1px solid var(--tint2);background:var(--tint);color:#22407e;border-radius:999px;font-size:13.5px;padding:4px 12px;cursor:pointer}
.ai-quick button:hover{border-color:var(--blue)}
.ai-input{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:#fff}
.ai-input input{flex:1;border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:15.0px;outline:none}
.ai-input input:focus{border-color:var(--blue)}
.ai-input .btn{padding:9px 18px;font-size:15.0px}
.sys b{font-size:29.0px;display:block;margin-bottom:11px}
.sys p{color:var(--ink);font-size:19.0px;line-height:1.75}
/* HIS 线 */
.hisg{display:flex;gap:24px;padding:22px 0;border-top:1px solid var(--line);align-items:flex-start}
.hisg:last-child{border-bottom:1px solid var(--line)}
.hisg .g{min-width:180px}
.hisg .g b{display:block;font-size:19.5px}
.hisg .g span{color:var(--blue);font-size:13.0px;letter-spacing:.16em;font-weight:700}
.chips{display:flex;flex-wrap:wrap;gap:9px;flex:1}
.chip{background:var(--tint);color:#22407e;border-radius:7px;padding:6px 15px;font-size:15.5px;font-weight:500}
#hisList .chip{font-size:19.0px;padding:7px 18px;border-radius:8px}
.chip.lnk{cursor:pointer;border:1px solid transparent;transition:.15s}
.chip.lnk:hover{border-color:var(--blue);background:#fff;color:var(--blue);box-shadow:0 3px 10px rgba(21,83,214,.14)}
.chip.lnk::after{content:" ›";color:#7d9bd8}
.chip.lnk:hover::after{color:var(--blue)}
.hisg.hot .chip{background:#fff6e8;color:#9a6a12}
.hisg.hot .g span{color:#c07c10}
/* 交替 */
.crow{display:flex;gap:58px;align-items:center;padding:64px 0;border-top:1px solid var(--line)}
.crow:first-child{border-top:0}
.crow.rev{flex-direction:row-reverse}
.crow .txt{flex:1.1}
.crow .pic{flex:1}
.crow h3{font-size:33.5px;font-weight:800;margin:12px 0 14px;letter-spacing:-.01em}
.crow p{color:var(--mut);font-size:18.0px;margin-bottom:18px}
.crow ul{list-style:none;display:grid;gap:9px}
.crow li{background:var(--tint);border-radius:10px;padding:11px 18px 11px 40px;font-size:17.0px;position:relative}
.crow li::before{content:"✓";position:absolute;left:14px;color:var(--blue);font-weight:800}
.ph{border:1px solid var(--line);border-radius:16px;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--mut);font-size:14.5px;background:linear-gradient(160deg,var(--tint),#fff)}
.ph .ic{font-size:45.0px;margin-bottom:8px}
/* 特色 */
.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.deep{border-radius:20px;padding:46px 42px}
.deep.b{background:linear-gradient(150deg,var(--blue-d),var(--blue));color:#fff}
.deep.w{background:var(--tint);border:1px solid var(--tint2)}
.deep h3{font-size:29.0px;font-weight:800;margin:14px 0 14px}
.deep p{font-size:17.5px;opacity:.92;margin-bottom:22px}
.kvs{display:flex;gap:36px}
.kvs b{display:block;font-size:27.0px;font-weight:800}
.deep.w .kvs b{color:var(--blue)}
.kvs span{font-size:15.0px;opacity:.8}
/* CTA */
.cta{background:linear-gradient(130deg,#dde8f7 0%,#c9daf3 55%,#bcd2ee 100%);border:1px solid var(--tint2);border-radius:24px;color:var(--ink);padding:68px 52px;display:flex;align-items:center;gap:40px;flex-wrap:wrap;box-shadow:var(--shadow-card)}
.cta h2{font-size:clamp(29.0px,3.8vw,45.0px);font-weight:800;margin-bottom:10px}
.cta p{color:var(--mut);font-size:18.0px}
.cta form{flex:1;min-width:300px;display:flex;flex-direction:column;gap:12px}
.cta input{flex:1;min-width:0;width:100%;border:1px solid var(--tint2);border-radius:10px;padding:16px 22px;font-size:18.0px;outline:none;background:#fff}.cta input:focus{border-color:var(--blue)}
.cta .qq-link{display:inline-block;margin-top:14px;color:var(--blue);border:1px solid rgba(21,83,214,.3);background:rgba(255,255,255,.65);border-radius:999px;padding:7px 20px;font-size:16.0px;transition:.2s;cursor:pointer}
.cta .qq-link:hover{background:#fff;border-color:var(--blue)}
/* QQ 联系浮层 */
.qq-modal{position:fixed;inset:0;z-index:200;background:rgba(10,16,30,.55);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:20px}
.qq-modal.show{display:flex}
/* 2026-09-12 应用户要求：点击弹出的功能展示弹层整体做大——
   框宽 720→1000px、内边距 34/36→44/52px；内容不多的弹层（如工作站「功能明细」只有 6 项）
   用最小高度 min(560px,78vh) 把上下撑起来，末尾的关闭/返回按钮 margin-top:auto 钉在框底，
   留白落在内容与按钮之间而不是按钮下面。列内容超高的弹层不受影响（仍 max-height:86vh 内滚动）。
   窄屏（≤880px）取消最小高度，见下方媒体查询。 */
.qq-modal .box{background:#fff;border-radius:18px;max-width:1000px;width:100%;min-height:min(560px,78vh);padding:44px 52px;text-align:center;box-shadow:0 24px 70px rgba(10,20,40,.35);max-height:86vh;overflow:auto;display:flex;flex-direction:column}
/* margin-top:auto 把末尾按钮钉底；padding-top 保证余量为 0 时（如 QQ 浮层内容刚好占满）
   仍与上方内容留 18px，不会被挤成贴在一起 */
.qq-modal .box>:last-child{margin-top:auto;padding-top:18px}
.qq-modal .mfoot{display:flex;gap:10px;justify-content:center}
/* 窄屏：手机屏本来就是「内容占满」，最小高度会让小弹层变成大半屏空框，故取消 */
@media(max-width:880px){.qq-modal .box{min-height:0;padding:32px 24px}}
/* 2026-09-12 应用户要求：弹层框里的字整体放大（框已在第十八轮放大，字保持原样显得空）——
   标题 27→30、副标题/分组标题 17.5→19.5、芯片 15.5→17.5（内边距 5/13→6/16）、
   段落 16→17.5、底部按钮 17→18.5、关闭 15.5→17、QQ 号 38→42。
   只放大字号，不改字号层级关系（标题 > 小标题 > 正文 ≈ 芯片 > 关闭）。 */
.qq-modal .grp{margin-bottom:16px;text-align:left}
.qq-modal .grp h5{font-size:19.5px;color:var(--blue);margin-bottom:9px}
.qq-modal .grp h5 small{color:var(--mut);font-weight:400;font-size:14.5px;letter-spacing:.12em;margin-left:8px}
.qq-modal .grp .chips{display:flex;flex-wrap:wrap;gap:9px}
.qq-modal .grp .chip{background:var(--tint);color:#22407e;border-radius:7px;padding:6px 16px;font-size:17.5px}
/* .sec 区块里的芯片走的是全局 .chip（弹层内需单独提一档，否则会比 .grp 里的芯片小一圈） */
.qq-modal .sec .chip{font-size:17.5px;padding:6px 16px}
.qq-modal img.mimg{display:block;width:100%;border-radius:12px;margin:4px 0 14px;border:1px solid var(--line);cursor:zoom-in}
/* 原 .box.wide（图片弹层专用 900px）已随本次统一取消：弹层宽度只剩 1000px 一处定义
   （实施服务流程图原生宽 779px，展示 896px 约 1.15×，再宽只会放大发糊；要看大图点图走全屏查看层） */
.imgview{position:fixed;inset:0;z-index:300;background:rgba(8,12,24,.9);display:none;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}
.imgview.show{display:flex}
.imgview img{max-width:96vw;max-height:94vh;border-radius:8px;box-shadow:0 18px 60px rgba(0,0,0,.5)}
h3.flowlnk{cursor:pointer;transition:.15s}
h3.flowlnk:hover{color:var(--blue)}
/* 2026-09-12 应用户要求「查看流程图 ›」提示字放大：13.5px → 17.5px（与卡内正文/小标题同级，不再是最小的一行字） */
h3.flowlnk .fl{font-size:17.5px;font-weight:600;color:#8aa3d8;margin-left:8px;white-space:nowrap}
h3.flowlnk:hover .fl{color:var(--blue)}
.tech{position:relative;overflow:hidden;background:linear-gradient(150deg,#ffffff 30%,#edf4fe 100%)}
.tech::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(21,83,216,.13) 1px,transparent 1.2px);background-size:16px 16px;pointer-events:none}
.tech>*:not(.card-art){position:relative;z-index:1}
.card-art{position:absolute;right:-12px;bottom:-14px;width:175px;height:175px;color:#bcd6f5;opacity:.6;pointer-events:none}
.card-art svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* 2026-09-12 应用户要求：内容卡背景按内容特点差异化——
   设计理念=蓝图网格（设计=图纸）/ 服务体系=暖色（服务=温度）/ 数据管理=青色点阵（数据=仪表盘）/ 安全与隐私=绿色斜纹（防护网） */
.tech.tone-design{background:linear-gradient(150deg,#ffffff 30%,#e4edff 100%)}
.tech.tone-design::before{background-image:linear-gradient(rgba(21,83,214,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(21,83,214,.07) 1px,transparent 1px);background-size:24px 24px}
.tech.tone-design .card-art{color:#9db4ec}
.tech.tone-design,.tech.tone-design.deep.w{border-color:#ccd9f5}
.tech.tone-service{background:linear-gradient(150deg,#ffffff 30%,#fff1da 100%)}
.tech.tone-service::before{background-image:radial-gradient(rgba(214,138,28,.15) 1.2px,transparent 1.2px);background-size:18px 18px}
.tech.tone-service .card-art{color:#e6c288}
.tech.tone-service,.tech.tone-service.deep.w{border-color:#f0e2c4}
.tech.tone-data{background:linear-gradient(150deg,#ffffff 30%,#def3ef 100%)}
.tech.tone-data::before{background-image:radial-gradient(rgba(8,145,140,.14) 1.2px,transparent 1.2px);background-size:16px 16px}
.tech.tone-data .card-art{color:#93d6cd}
.tech.tone-data,.tech.tone-data.deep.w{border-color:#c8e8e2}
.tech.tone-security{background:linear-gradient(150deg,#ffffff 30%,#e2f2e7 100%)}
.tech.tone-security::before{background-image:repeating-linear-gradient(45deg,rgba(22,130,90,.07) 0 2px,transparent 2px 12px)}
.tech.tone-security .card-art{color:#a4cfaf}
.tech.tone-security,.tech.tone-security.deep.w{border-color:#cfe6d6}
.pt{margin-bottom:15px}
.pt b{display:block;font-size:17.5px;color:var(--blue);margin-bottom:5px}
.pt p{color:var(--mut);font-size:16.0px;text-align:justify;line-height:1.8}
.qq-modal .sec{text-align:left;margin-bottom:15px}
.qq-modal .sec h5{font-size:19.5px;color:var(--blue);margin-bottom:5px}
.qq-modal .sec p{color:var(--mut);font-size:17.5px;text-align:justify;line-height:1.8}
.qq-modal h3{font-size:30.0px;margin-bottom:8px}
.qq-modal .sub{color:var(--mut);font-size:19.5px;margin-bottom:20px}
.qq-modal .num{font-size:42.0px;font-weight:800;color:var(--blue);letter-spacing:.04em;margin-bottom:18px;font-family:Consolas,monospace}
.qq-modal .qr{border:1.5px dashed #c9daf8;border-radius:14px;background:var(--tint);min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--mut);font-size:14.0px;margin-bottom:18px}
.qq-modal .qr .ic{font-size:42.5px;margin-bottom:6px}
.qq-modal .ops{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.qq-modal .ops button{border:0;border-radius:9px;padding:13px 24px;font-size:18.5px;font-weight:600;cursor:pointer}
.qq-modal .ops .c1{background:var(--blue);color:#fff}
.qq-modal .ops .c2{background:var(--tint);color:var(--blue)}
.qq-modal .close{margin-top:18px;background:none;border:0;color:var(--mut);font-size:17.0px;cursor:pointer;text-decoration:underline}
footer{border-top:1px solid var(--line);padding:38px 0;color:var(--mut);font-size:15.5px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
footer a{color:#8a94a6}
/* 页脚备案号沿革：09-04 用户要求移除（已告知风险）→ 09-13 因微信/QQ 拦截恢复 → 09-16 折中极淡化（11.5px+opacity .45，第 115 发上线）
   → 2026-09-26 用户看到极淡化版后仍要求「隐藏掉不显示出来」：改为 display:none 彻底不显示。
   红线：元素/文本/链接保留在 HTML 源码不删（合规留痕 + 一行可恢复）；两条风险已再次告知：腾讯拦截模型加权回升、页面不展示备案号有被责令整改可能 */
footer a[href*="beian.miit.gov.cn"]{display:none}
/* 2026-09-26 页脚新增友情链接行（用户指令）：国家医疗保障局 / 国家卫生健康委员会 / 中国政府网，独立一行排在版权行下方 */
footer .flinks{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;font-size:14.5px}
footer .flinks a{color:#8a94a6;text-decoration:none}
footer .flinks a:hover{color:var(--blue);text-decoration:underline}
.fade{opacity:0;transform:translateY(18px);transition:.7s ease}
.fade.on{opacity:1;transform:none}
@media(max-width:880px){
  .grid8{grid-template-columns:1fr}
  .grid8 .sys{min-height:0;padding:32px 26px}
  .sys b{font-size:23.5px}
  .sys p{font-size:17.5px}
  .crow,.crow.rev{flex-direction:column;gap:26px}
  .split{grid-template-columns:1fr}
  .hero .row{flex-direction:column}
  .hero .fig{min-height:260px;width:100%}
  header{overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
  .nav{gap:10px;font-size:15.5px;height:66px}
  .nav a.menu{padding:5px 8px}
  .navi{padding:0}
  .navi .sub{display:none}
  .logo{font-size:17.5px;gap:7px}
  .logo .logo-mark{width:26px;height:26px}
  .btn{padding:10px 16px;font-size:15.5px}
}
@media(max-width:620px){
  .nav .logo span{display:none}
  .nav .btn{padding:9px 12px;font-size:14.5px}
}
/* ---------- 子页横幅（platform.html / hospital.html，2026-09-09 拆页） ---------- */
.pagehero{position:relative;background:linear-gradient(180deg,#f0f5ff 0%,rgba(240,245,255,.4) 60%,#fff 100%);padding:80px 0 30px;text-align:center;border-bottom:1px solid var(--line)}
.pagehero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(21,83,216,.12) 1px,transparent 1.2px);background-size:16px 16px;pointer-events:none}
.pagehero .wrap{position:relative;z-index:1}
.pagehero h1{font-size:clamp(38.0px,4.6vw,58.0px);line-height:1.26;letter-spacing:-.01em;font-weight:800;margin:16px 0 14px}
.pagehero h1 em{font-style:normal;background:linear-gradient(120deg,#1553d6,#0891b2);-webkit-background-clip:text;background-clip:text;color:transparent}
/* 2026-09-12 应用户要求：产品方案页首屏这行副标题不再折成两排——
   实测该句 52 字 × 19.5px 单行需 1014px，原 680px 上限必然折行；上限放开到 1100px（约 8% 余量，
   兼顾 Mac PingFang SC 与 YaHei 的字宽差异）。**不用 nowrap 硬撑**：窗口内容宽不足时仍正常折行，
   避免窄屏溢出。本规则只管 .pagehero（产品方案页 #phLead + 资讯页那句短副标题，后者本来就一行）；
   首页/医院页 Hero 的 .lead 走 .hero/.vcontent 各自的规则，不受影响。 */
.pagehero .lead{font-size:19.5px;max-width:1100px;margin:0 auto 8px}
.pagehero .trust{display:flex;gap:28px;flex-wrap:wrap;justify-content:center;color:var(--mut);font-size:16.0px;margin-top:26px}
.pagehero .trust b{color:var(--ink);font-weight:700}
.pagehero .trust a{color:var(--mut);transition:.15s;cursor:pointer}
.pagehero .trust a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:5px}
.pagehero .trust a:hover b{color:var(--blue)}
.pagehero .ctas{margin-top:28px}
.pagehero .ctas a{margin:0 6px}
.pagehero .btn.ghost{border:1.5px solid var(--blue);color:var(--blue);background:transparent}
.pagehero .btn.ghost:hover{background:var(--tint)}
/* ---------- 首页全屏「智慧医疗」视频式横幅（V92 重制：AI 数字人+数据化情景） ---------- */
.vhero{position:relative;height:100vh;min-height:600px;max-height:1250px;background:#050b18;overflow:hidden;color:#fff}
.vhero .vstack{position:absolute;inset:0;background:#050b18}
.vstack video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#050b18;opacity:0;transition:opacity 1.05s ease;pointer-events:none}
.vstack video.act{opacity:1;pointer-events:auto;cursor:pointer}
.vveil{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(4,10,24,.74) 0%,rgba(4,10,24,.32) 40%,rgba(4,10,24,0) 66%),linear-gradient(0deg,rgba(4,10,24,.85) 0%,rgba(4,10,24,0) 32%)}
.vcontent{position:absolute;z-index:3;top:44%;transform:translateY(-52%);left:max(26px,calc((100% - 1380px)/2));max-width:940px;padding-right:26px}
.vcontent h1{font-size:clamp(19px,3.3vw,54px);line-height:1.22;font-weight:800;letter-spacing:-.01em;margin:16px 0 16px;white-space:nowrap;text-shadow:0 2px 26px rgba(2,8,28,.65)}
.vcontent h1 em{font-style:normal;background:linear-gradient(120deg,#5eead4,#38bdf8,#818cf8);-webkit-background-clip:text;background-clip:text;color:transparent}
.vcontent .lead{font-size:19.5px;color:#c7d6f3;margin:0 0 30px;max-width:540px;text-shadow:0 1px 12px rgba(2,8,28,.7)}
.vcontent .eyebrow{background:rgba(56,189,248,.1);border-color:rgba(56,189,248,.4);color:#7dd3fc}
.vcontent .ctas a{margin:0 10px 0 0}
.vhero .btn.ghost{border:1.5px solid rgba(125,211,252,.65);color:#e6f3ff;background:rgba(10,25,60,.35);backdrop-filter:blur(4px)}
.vhero .btn.ghost:hover{background:rgba(56,189,248,.16)}
.vhud{position:absolute;z-index:4;top:16px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 20px;pointer-events:none}
.vctrls{display:inline-flex;gap:8px;pointer-events:auto}
.vbadge{display:inline-flex;align-items:center;gap:8px;font-size:14.0px;font-weight:600;letter-spacing:.05em;color:#a5d8ff;background:rgba(8,20,46,.55);border:1px solid rgba(125,211,252,.35);padding:6px 14px;border-radius:999px;backdrop-filter:blur(4px)}
.vbadge i{width:8px;height:8px;border-radius:50%;background:#22d3ee;box-shadow:0 0 10px #22d3ee;animation:vblink 1.6s infinite}
@keyframes vblink{50%{opacity:.25}}
.vplay{pointer-events:auto;width:40px;height:40px;border-radius:50%;border:1px solid rgba(125,211,252,.4);background:rgba(8,20,46,.55);color:#bfdbfe;font-size:15.5px;cursor:pointer;backdrop-filter:blur(4px);transition:.2s}
.vplay:hover{border-color:#38bdf8;color:#fff}
/* ---------- 根路径首页横幅海报背景（十次调整，仅 index 页 .bgimg 生效，platform 不受影响） ----------
   2026-09-14 应用户要求「上下尺寸大些，目前上面部分显示不全」：视频是 1920×1080（16:9）满幅画面，
   逐帧实测内容都顶到画面第 0 行、视频自身没有留白，所以任何上下裁剪都是切真内容。
   而横幅原固定 min-height:560px，object-fit:cover 按宽度放大后上下各裁一刀——宽 1280 时上下各裁 11%、宽 1920 时各裁 24%。
   故让横幅高度跟随视频自身比例 aspect-ratio:16/9（高度随宽度自适应）：
   ≤1920px 宽的任何视口下，容器比例都不会比视频更扁，上下零裁剪、整帧可见。宽 1474 时高度 821（原 560，+47%）。
   ⚠️ 坑：aspect-ratio 与 min-height/max-height 同时生效时，浏览器会反过来用被夹住的高度反推宽度
   （实测 390 视口下横幅被撑成 782 宽、900 视口下撑成 996 宽，整页横向滚动），所以两头都用媒体查询切掉比例规则，
   只在中间区间用比例：
     · ≤1040px：等比高度不足 560，退出比例、沿用原来的固定 560（≤620 时 440）——此时容器比视频更「窄高」，
       cover 只裁左右两侧，上下依然完整；
     · >1930px：高度锁在视频原生 1080px，不再随宽度无限长高（也避免 1080p 画面被放得更大更糊）。
   想再调高度：中间区间改 aspect-ratio（数值变小 = 更高），两端改高度那几个数。 */
.pagehero.bgimg{min-height:560px;aspect-ratio:16/9;display:flex;align-items:center;text-align:left;background:#0a1830;border-bottom:0;overflow:hidden}
@media(max-width:1040px){.pagehero.bgimg{aspect-ratio:auto}}
@media(min-width:1930px){.pagehero.bgimg{aspect-ratio:auto;height:1080px}}
.pagehero.bgimg::before{display:none}
.pagehero.bgimg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#0a1830;z-index:0;pointer-events:none}
.pagehero.bgimg::after{display:none}
.pagehero.bgimg h1{color:#fff}
.pagehero.bgimg h1 em{background:linear-gradient(120deg,#5eead4,#38bdf8,#818cf8);-webkit-background-clip:text;background-clip:text;color:transparent}
.pagehero.bgimg .lead{color:#c7d6f3;margin:0 0 10px}
.pagehero.bgimg .eyebrow{color:#7dd3fc;background:rgba(56,189,248,.12);border-color:rgba(56,189,248,.4)}
.pagehero.bgimg .trust{justify-content:flex-start;color:#9db4dd}
.pagehero.bgimg .trust b{color:#fff}
.pagehero.bgimg .trust a:hover{color:#7dd3fc}
.pagehero.bgimg .trust a:hover b{color:#fff}
.pagehero.bgimg .btn.ghost{color:#e6f3ff;border-color:rgba(125,211,252,.6);background:rgba(10,25,60,.35)}
.pagehero.bgimg .btn.ghost:hover{background:rgba(56,189,248,.16)}
@media(max-width:620px){.pagehero.bgimg{min-height:440px}}
@media(max-width:880px){.pagehero{padding:56px 0 22px}.pagehero .trust{gap:18px}.vhero{min-height:520px}.vcontent{left:20px;right:20px;padding-right:0;max-width:none}.vcontent .lead{font-size:17.0px;margin-bottom:20px}}

/* ---------- 行业资讯（V107 改文章式单列列表） ---------- */
.news-grid{display:flex;flex-direction:column;gap:0}
/* V107：文章式条目（左日期块 + 右标题摘要），新闻站风格 */
.news-item{display:flex;gap:26px;align-items:flex-start;padding:30px 8px;border-bottom:1px solid var(--line);cursor:pointer;transition:.2s;position:relative}
.news-item:first-child{padding-top:6px}
.news-item::before{content:"";position:absolute;left:-14px;top:34px;bottom:34px;width:3px;border-radius:2px;background:var(--grad-b);opacity:0;transition:.2s}
.news-item:hover{background:linear-gradient(90deg,rgba(240,245,255,.9),rgba(240,245,255,0) 70%)}
.news-item:hover::before{opacity:1}
.ni-date{flex:none;width:76px;text-align:center;border-right:1px solid var(--line);padding-right:18px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.ni-date b{font-size:38px;font-weight:800;color:var(--blue);line-height:1;font-family:Georgia,"Times New Roman",serif}
.ni-date span{font-size:12.5px;color:var(--mut);margin-top:7px;letter-spacing:.05em}
.ni-main{flex:1;min-width:0}
.ni-title{font-size:22px;font-weight:700;color:var(--ink);line-height:1.4;margin-bottom:10px;transition:.15s}
.news-item:hover .ni-title{color:var(--blue)}
.ni-excerpt{font-size:15.5px;color:var(--mut);line-height:1.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:12px}
.ni-more{font-size:14px;color:var(--blue);display:inline-flex;align-items:center;gap:5px}
.news-item:hover .ni-more svg{transform:translateX(3px)}
.ni-more svg{transition:.2s}
/* V139：封面缩略 */
.ni-cover{flex:none;width:150px;height:94px;border-radius:10px;overflow:hidden;background:var(--tint);align-self:center;box-shadow:0 4px 14px rgba(16,35,80,.10)}
.ni-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:.3s}
.news-item:hover .ni-cover img{transform:scale(1.05)}
/* V139：详情关键词标签 + 附加信息 + 附件链接 */
.nv-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.nv-tags span{font-size:13px;color:var(--blue);background:var(--tint);border:1px solid var(--tint2);border-radius:999px;padding:4px 14px}
.nv-cf{margin:0 0 18px;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.nv-cf-t{font-size:13.5px;font-weight:700;color:var(--mut);background:#f7fafd;padding:8px 16px;border-bottom:1px solid var(--line)}
.nv-cf-r{display:flex;gap:14px;padding:9px 16px;border-bottom:1px solid var(--line);font-size:14.5px}
.nv-cf-r:last-child{border-bottom:0}
.nv-cf-r b{flex:none;width:130px;color:var(--mut);font-weight:600}
.news-body a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.news-body a:hover{color:var(--blue-d,#0e3ea8)}
.news-empty{text-align:center;color:var(--mut);padding:40px 0}
.news-view{position:fixed;inset:0;z-index:220;background:rgba(6,12,26,.62);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:60px 20px;overflow:auto}
.news-box{background:#fff;border-radius:18px;max-width:1000px;width:100%;padding:44px 46px 40px;position:relative;box-shadow:0 24px 70px rgba(6,12,26,.4)}
.news-box h3{font-size:26px;line-height:1.4;color:var(--ink);padding-right:30px}
.news-time{font-size:13.5px;color:var(--mut);margin:10px 0 22px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.news-body{font-size:17px;line-height:2.05;color:#233;word-break:break-word;letter-spacing:.01em}
.news-body>p:first-of-type{margin-top:4px}
.news-body strong,.news-body b{color:var(--ink)}
.news-body h1,.news-body h2,.news-body h3,.news-body h4{margin:28px 0 12px;line-height:1.4}
.news-body h2{font-size:21px}.news-body h3{font-size:19px}.news-body h4{font-size:17px}
/* V132：富文本正文（Word 转换/编辑器产出）基础排版 */
.news-body p{margin:0 0 14px}
.news-body img{display:block;max-width:min(86%,620px);margin:22px auto;height:auto;border-radius:10px;box-shadow:0 6px 24px rgba(16,35,80,.16)}
.news-body [data-tbl-wrap]{overflow-x:auto;margin:16px 0;border-radius:8px}
.news-body video{display:block;width:100%;max-height:560px;border-radius:10px;margin:14px 0;background:#000;box-shadow:0 6px 22px rgba(16,35,80,.18)}
.news-body table{border-collapse:collapse;width:100%;margin:12px 0}
.news-body table td,.news-body table th{border:1px solid var(--line);padding:8px 12px;font-size:15px}
.news-body h1,.news-body h2,.news-body h3,.news-body h4{margin:20px 0 10px;color:var(--ink)}
.news-body blockquote{margin:12px 0;padding:10px 16px;border-left:4px solid var(--tint2);background:var(--tint);border-radius:6px;color:var(--mut)}
.news-body ol,.news-body ul{padding-left:24px;margin:0 0 14px}
.news-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--mut);font-size:14px;cursor:pointer;transition:.2s}
.news-close:hover{color:var(--blue);border-color:var(--blue)}
@media(max-width:880px){.ni-cover{width:98px;height:64px}.news-item{gap:16px;padding:22px 4px}.ni-date{width:58px;padding-right:12px}.ni-date b{font-size:28px}.ni-title{font-size:19px}.news-box{padding:30px 22px}.news-box h3{font-size:21px}.news-body{font-size:15.5px}.news-body img{max-width:100%}}

/* ---------- 折叠式分组（健康体检线）：标题行整行可点，点击弹出浮层 ---------- */
.fold-grp{display:block;border-top:1px solid var(--line);padding:0}
.fold-grp .fold-head{display:flex;align-items:center;gap:18px;padding:22px 0;cursor:pointer;user-select:none;transition:.15s}
.fold-grp .fold-head:hover{background:linear-gradient(90deg,rgba(240,245,255,.8),rgba(240,245,255,0) 60%)}
.fold-grp .fold-head .g{min-width:180px}
.fold-chips{flex:1;display:flex;flex-wrap:wrap;gap:9px;align-items:center;min-width:0}
/* 折叠行摘要：与 #hisList .chip 同款同字号（19px） */
.fold-chip{background:var(--tint);color:#22407e;border-radius:8px;padding:7px 18px;font-size:19px;font-weight:500}
.fold-arrow{flex:none;color:var(--blue);display:inline-flex;transition:transform .25s}
.fold-grp .fold-head:hover .fold-arrow{transform:translateX(3px)}
@media(max-width:880px){.fold-grp .fold-head{gap:10px}}
