/* ============================================================
   万国博览 · V3.0 设计系统（腾讯会议风格）
   白底克制 / 品牌蓝 #1463FF / 藏青渐变 / mega 下拉导航
   ============================================================ */
:root{
  --blue-700:#0B4BD3; --blue-600:#1257E8; --blue-500:#1463FF;
  --blue-400:#4A86FF; --blue-300:#8FB0FF; --blue-100:#D6E4FF;
  --blue-50:#EAF1FF; --blue-25:#F5F8FF;
  --navy-900:#0A1A52; --navy-800:#12267A; --navy-700:#1B37A6;
  --cyan:#29B6F6;
  --ink-900:#1F2329; --ink-700:#3B4252; --ink-500:#646A73;
  --ink-400:#8F959E; --ink-300:#BBBFC4;
  --line:#E5E7EB; --line-soft:#EEEFF1;
  --bg:#F5F6F7; --white:#FFF;
  --green:#34A853; --orange:#FF7D00; --red:#F54A45;
  --teal:#0E8FA8; --indigo:#4338CA; --gold:#B8912A;
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:20px; --r-pill:999px;
  --sh-xs:0 1px 2px rgba(31,35,41,.04);
  --sh-sm:0 2px 6px rgba(31,35,41,.05);
  --sh-md:0 8px 24px rgba(31,35,41,.08);
  --sh-lg:0 16px 48px rgba(31,35,41,.12);
  --tr:180ms cubic-bezier(.4,0,.2,1);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);color:var(--ink-900);background:#fff;font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
#wg-page{min-height:1px;view-transition-name:wg-page}
html.wg-navigating{cursor:progress}
html.wg-navigating #wg-page{pointer-events:none}
::view-transition-old(root),::view-transition-new(root){animation:none}
::view-transition-old(wg-page){animation:wg-page-out .12s ease both}
::view-transition-new(wg-page){animation:wg-page-in .2s ease both}
@keyframes wg-page-out{to{opacity:.35}}
@keyframes wg-page-in{from{opacity:.35}to{opacity:1}}
@media(prefers-reduced-motion:reduce){::view-transition-old(wg-page),::view-transition-new(wg-page){animation:none}}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
input,select,textarea{font-family:inherit;font-size:14px}
::selection{background:var(--blue-100);color:var(--blue-700)}

.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
.section{padding:80px 0}
.section--gray{background:var(--bg)}
.section--border{border-top:1px solid var(--line-soft)}

/* ---------- 标题 ---------- */
.sec-head{text-align:center;max-width:760px;margin:0 auto 52px}
.sec-head--left{text-align:left;margin-left:0}
.sec-pill{display:inline-flex;align-items:center;font-size:13px;font-weight:500;color:var(--blue-500);background:var(--blue-50);padding:5px 14px;border-radius:var(--r-pill);margin-bottom:16px}
.sec-title{font-size:32px;font-weight:700;letter-spacing:-.01em;line-height:1.35}
.sec-title i{font-style:normal;color:var(--blue-500)}
.sec-sub{margin-top:14px;color:var(--ink-500);font-size:15.5px;line-height:1.8}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:500;padding:0 24px;height:44px;border-radius:8px;transition:all var(--tr);white-space:nowrap;user-select:none}
.btn:focus-visible{outline:2px solid var(--blue-400);outline-offset:2px}
.btn--primary{background:var(--blue-500);color:#fff}
.btn--primary:hover{background:var(--blue-600)}
.btn--ghost{background:#fff;color:var(--ink-700);border:1px solid var(--line)}
.btn--ghost:hover{border-color:var(--blue-400);color:var(--blue-500)}
.btn--light{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.35)}
.btn--light:hover{background:rgba(255,255,255,.26)}
.btn--sm{height:36px;padding:0 16px;font-size:13px}
.btn--lg{height:50px;padding:0 32px;font-size:15px}
.btn svg{width:16px;height:16px}

/* ---------- 通用卡片/图标 ---------- */
.card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);transition:all var(--tr)}
.card:hover{border-color:var(--blue-100);box-shadow:var(--sh-md);transform:translateY(-2px)}
.icob{width:46px;height:46px;border-radius:12px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--blue-50);color:var(--blue-500)}
.icob svg{width:22px;height:22px}

/* ============================================================
   顶栏 + mega 下拉（腾讯会议式）
   ============================================================ */
.topbar{position:sticky;top:0;z-index:100;height:64px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft)}
.topbar-in{height:64px;display:flex;align-items:center;gap:24px}
.topbar-logo{display:flex;align-items:center;flex:none}
.topbar-logo img{height:32px;width:auto}
.nav{display:flex;align-items:center;gap:2px;height:64px}
.nav-item{position:relative;height:64px;display:flex;align-items:center}
.nav-item>a{display:inline-flex;align-items:center;gap:4px;font-size:14.5px;color:var(--ink-700);padding:8px 13px;border-radius:8px;transition:all var(--tr)}
.nav-item>a svg{width:13px;height:13px;color:var(--ink-400);transition:transform var(--tr)}
.nav-item:hover>a,.nav-item>a.on{color:var(--blue-500)}
.nav-item:hover>a svg{transform:rotate(180deg);color:var(--blue-500)}
.nav-item>a.on{font-weight:600}
/* mega 面板 */
.mega{position:absolute;top:64px;left:50%;transform:translate(-50%,8px);background:#fff;border:1px solid var(--line-soft);border-radius:14px;box-shadow:var(--sh-lg);padding:22px 24px;display:flex;gap:36px;opacity:0;pointer-events:none;transition:all .22s cubic-bezier(.4,0,.2,1);min-width:420px;z-index:99}
.nav-item:hover .mega,.nav-item:focus-within .mega{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.mega-col{min-width:170px}
.mega-col h6{font-size:12px;color:var(--ink-300);font-weight:600;letter-spacing:.06em;margin-bottom:10px;padding-left:10px}
.mega-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;transition:background var(--tr);white-space:nowrap}
.mega-link:hover{background:var(--blue-25)}
.mega-link .ml-ico{width:32px;height:32px;flex:none;border-radius:8px;background:var(--blue-50);color:var(--blue-500);display:flex;align-items:center;justify-content:center}
.mega-link .ml-ico svg{width:16px;height:16px}
.mega-link b{display:block;font-size:13.5px;font-weight:600;color:var(--ink-900);line-height:1.4}
.mega-link span{font-size:11.5px;color:var(--ink-400);display:block;line-height:1.4}
.mega--narrow{min-width:220px}
.topbar-cta{margin-left:auto;display:flex;align-items:center;gap:14px}
.topbar-tel{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink-500)}
.topbar-tel svg{width:15px;height:15px;color:var(--blue-500)}
.burger{display:none;width:40px;height:40px;align-items:center;justify-content:center;border-radius:8px;color:var(--ink-700)}
.burger svg{width:22px;height:22px}

/* 抽屉 */
.drawer-mask{position:fixed;inset:0;background:rgba(31,35,41,.45);z-index:200;opacity:0;pointer-events:none;transition:opacity var(--tr)}
.drawer{position:fixed;top:0;right:-100%;width:100%;height:100%;z-index:201;background:#fff;box-shadow:var(--sh-lg);transition:right .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;padding:20px 0 0;overflow-y:auto}
body.menu-open .drawer{right:0}
body.menu-open .drawer-mask{opacity:1;pointer-events:auto}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:0 20px 16px;border-bottom:1px solid var(--line-soft)}
.drawer-head img{height:26px}
.drawer-close{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:var(--ink-500)}
.drawer-close svg{width:20px;height:20px}
.drawer a.dlink{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:19px 28px;font-size:17px;font-weight:600;color:var(--ink-800);border-bottom:none}
.drawer a.dlink.on{color:var(--blue-500)}
.drawer a.dlink svg{width:15px;height:15px;color:var(--ink-300)}
.drawer .dsub{padding:4px 0 8px;border-bottom:1px solid var(--line-soft);background:var(--blue-25)}
.drawer .dsub a{display:block;padding:9px 20px 9px 34px;font-size:13.5px;color:var(--ink-500)}
.drawer .dsub a:hover{color:var(--blue-500)}
.drawer .dsub .ds-t{padding:8px 20px 2px 34px;font-size:11px;color:var(--ink-300);letter-spacing:.05em}
/* 抽屉手风琴：一级大字号按钮，点击展开二级 */
.drawer .dacc{border-bottom:none}
.drawer .dacc-btn{display:flex;align-items:center;justify-content:flex-end;gap:10px;width:100%;padding:19px 28px;font-size:17px;font-weight:600;color:var(--ink-800);background:none;border:none;cursor:pointer;font-family:inherit;text-align:right}
.drawer .dacc-btn.on{color:var(--blue-500)}
.drawer .dacc-btn svg{width:16px;height:16px;color:var(--ink-300);transition:transform var(--tr)}
.drawer .dacc-btn.open svg{transform:rotate(180deg);color:var(--blue-500)}
.drawer .dacc-body{max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1)}
.drawer .dacc-body.open{max-height:640px}
.drawer .dacc-body .dsub{border-bottom:none}
.drawer .dacc-body .dsub a{font-size:13px;padding:8px 20px 8px 34px}
.drawer-cta{padding:20px;display:flex;flex-direction:column;gap:10px}

/* 移动底栏 */
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:150;background:#fff;border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));grid-template-columns:1fr 1fr 1.4fr;gap:10px;box-shadow:0 -4px 16px rgba(31,35,41,.06)}
.mbar a,.mbar button{display:flex;align-items:center;justify-content:center;gap:6px;height:42px;border-radius:10px;font-size:13.5px;font-weight:600}
.mbar .m-ghost{background:var(--blue-50);color:var(--blue-500)}
.mbar .m-solid{background:var(--blue-500);color:#fff}
.mbar svg{width:16px;height:16px}

/* ============================================================
   Banner 轮播（腾讯会议式）
   ============================================================ */
.bnr{position:relative;overflow:hidden;background:linear-gradient(120deg,#F0F6FF 0%,#F8FBFF 100%)}
.bnr-track{display:flex;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.bnr-slide{flex:none;width:100%;position:relative}
.bnr-in{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;padding-block:64px 76px;min-height:420px}
.bnr-in.no-media{grid-template-columns:1fr;max-width:760px}
.bnr-kicker{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--blue-600);background:#fff;border:1px solid var(--blue-100);padding:5px 14px;border-radius:var(--r-pill);margin-bottom:18px}
.bnr-kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue-500)}
.bnr-slide h1{font-size:40px;font-weight:800;line-height:1.25;letter-spacing:-.02em}
.bnr-slide h1 i{font-style:normal;color:var(--blue-500)}
.bnr-slide .bnr-lead{margin-top:16px;font-size:15.5px;color:var(--ink-500);max-width:480px;line-height:1.85}
.bnr-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.bnr-links{display:flex;gap:22px;margin-top:34px;flex-wrap:wrap}
.bnr-links a{font-size:13px;color:var(--ink-400);transition:color var(--tr);position:relative;padding-bottom:4px}
.bnr-links a:hover,.bnr-links a.on{color:var(--blue-500)}
.bnr-links a.on::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--blue-500);border-radius:2px}
.bnr-media{position:relative}
.bnr-float{background:#fff;border-radius:18px;box-shadow:var(--sh-lg);border:1px solid var(--line-soft);overflow:hidden;animation:floaty 6s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
/* 轮播控制 */
.bnr-dots{position:absolute;left:0;right:0;bottom:22px;display:flex;justify-content:center;gap:8px;z-index:5}
.bnr-dots i{width:22px;height:4px;border-radius:2px;background:#C9D6F2;cursor:pointer;transition:all var(--tr)}
.bnr-dots i.on{background:var(--blue-500);width:34px}
.bnr-arrows{position:absolute;right:24px;bottom:16px;display:flex;gap:8px;z-index:5}
.bnr-arrow{width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-500);transition:all var(--tr)}
.bnr-arrow:hover{border-color:var(--blue-500);color:var(--blue-500)}
.bnr-arrow svg{width:15px;height:15px}

/* ============================================================
   服务矩阵手风琴（elifang 式，6 面板：3 服务 + 2 产品 + 更多）
   ============================================================ */
.svc-acc{display:flex;gap:12px;height:440px}
.svc-panel{position:relative;border-radius:var(--r-xl);overflow:hidden;cursor:pointer;transition:flex .5s cubic-bezier(.4,0,.2,1);flex:0 0 104px}
.svc-panel.on{flex:1;cursor:default}
.svc-panel .svc-bg{position:absolute;inset:0;transition:opacity .5s}
.svc-panel .svc-collapsed{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:24px 12px;color:#fff;opacity:1;transition:opacity .3s}
.svc-panel.on .svc-collapsed{opacity:0;pointer-events:none}
.svc-collapsed .sc-title{writing-mode:vertical-rl;font-size:17px;font-weight:700;letter-spacing:.12em}
.svc-collapsed .sc-en{font-size:10px;opacity:.7;letter-spacing:.06em;writing-mode:vertical-rl}
.svc-collapsed .sc-more{width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center}
.svc-collapsed .sc-more svg{width:13px;height:13px}
.svc-panel .svc-expanded{position:absolute;inset:0;padding:34px 38px;color:#fff;display:flex;flex-direction:column;opacity:0;transition:opacity .4s .15s;pointer-events:none}
.svc-panel.on .svc-expanded{opacity:1;pointer-events:auto}
.svc-expanded .se-tag{font-size:12px;letter-spacing:.1em;opacity:.75;margin-bottom:8px}
.svc-expanded h3{font-size:25px;font-weight:800;margin-bottom:6px}
.svc-expanded .se-en{font-size:13px;opacity:.8;margin-bottom:16px}
.svc-expanded ul{display:grid;grid-template-columns:1fr 1fr;gap:7px 22px;margin-bottom:auto}
.svc-expanded li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:rgba(255,255,255,.92)}
.svc-expanded li svg{width:13px;height:13px;flex:none;color:#9FC2FF}
.svc-expanded .se-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--blue-600);font-size:14px;font-weight:600;padding:11px 24px;border-radius:8px;width:fit-content;transition:all var(--tr)}
.svc-expanded .se-btn:hover{transform:translateX(3px)}
.svc-expanded .se-btn svg{width:15px;height:15px}
.svc-expanded .se-links{display:flex;flex-wrap:wrap;gap:10px 14px;margin-bottom:auto}
.svc-expanded .se-links a{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:500;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);padding:8px 16px;border-radius:var(--r-pill);transition:all var(--tr)}
.svc-expanded .se-links a:hover{background:rgba(255,255,255,.26)}
.svc-expanded .se-links a svg{width:14px;height:14px}
/* 面板配色 */
.svc-p1 .svc-bg{background:linear-gradient(135deg,#1463FF 0%,#0B3FAE 100%)}
.svc-p2 .svc-bg{background:linear-gradient(135deg,#0E8FA8 0%,#085E70 100%)}
.svc-p3 .svc-bg{background:linear-gradient(135deg,#4338CA 0%,#241379 100%)}
.svc-p4 .svc-bg{background:linear-gradient(135deg,#039BE5 0%,#01579B 100%)}
.svc-p5 .svc-bg{background:linear-gradient(135deg,#1B37A6 0%,#0A1A52 100%)}
.svc-p6 .svc-bg{background:linear-gradient(135deg,#3B4252 0%,#1F2329 100%)}
.svc-panel:not(.on) .svc-bg{filter:saturate(.9)}

/* ============================================================
   客户案例轮播（logo 条 + 大卡 + 侧箭头）
   ============================================================ */
.case-logo-strip{display:flex;align-items:center;justify-content:center;gap:14px 40px;flex-wrap:wrap;margin-bottom:44px}
.case-logo-strip .cl{font-size:17px;font-weight:700;color:var(--ink-300);transition:color var(--tr);cursor:pointer;display:flex;align-items:center;gap:7px;white-space:nowrap}
.case-logo-strip .cl svg{width:20px;height:20px}
.case-logo-strip .cl.on,.case-logo-strip .cl:hover{color:var(--ink-900)}
.case-logo-strip .cl.on{color:var(--blue-500)}
.case-carousel{position:relative;padding:0 64px}
.case-viewport{overflow:hidden;border-radius:var(--r-xl)}
.case-track{display:flex;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.case-slide{flex:none;width:100%;display:grid;grid-template-columns:1.15fr 1fr;background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-xl);overflow:hidden;min-height:380px}
.case-visual{position:relative;display:flex;align-items:center;justify-content:center;color:#fff;overflow:hidden}
.case-visual svg{width:56px;height:56px;opacity:.9;position:relative;z-index:1}
.case-visual .cv-pattern{position:absolute;inset:0;opacity:.25;background-image:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35) 0,transparent 45%),radial-gradient(circle at 75% 70%,rgba(255,255,255,.25) 0,transparent 40%)}
.case-visual.has-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.case-txt{padding:44px 48px;display:flex;flex-direction:column;justify-content:center}
.case-txt .ct-cat{display:inline-flex;width:fit-content;font-size:11.5px;font-weight:600;color:var(--orange);background:#FFF4E5;padding:3px 12px;border-radius:6px;margin-bottom:14px}
.case-txt h3{font-size:21px;font-weight:700;line-height:1.5;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.case-txt p{font-size:13.5px;color:var(--ink-500);line-height:1.85;margin-bottom:18px;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.case-txt .ct-data{display:flex;gap:26px;margin-bottom:20px}
.case-txt .ct-data div b{display:block;font-size:19px;font-weight:800;color:var(--blue-500)}
.case-txt .ct-data div span{font-size:11.5px;color:var(--ink-400)}
.case-txt .ct-link{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--blue-500);width:fit-content}
.case-txt .ct-link svg{width:15px;height:15px}
.case-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-500);transition:all var(--tr);z-index:3;box-shadow:var(--sh-sm)}
.case-nav:hover{border-color:var(--blue-500);color:var(--blue-500);box-shadow:var(--sh-md)}
.case-nav svg{width:17px;height:17px}
.case-nav--prev{left:0}
.case-nav--next{right:0}

/* ============================================================
   产品矩阵（feat-row + mock 沿用并优化）
   ============================================================ */
.feat-row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:44px 0}
.feat-row>*,.bnr-in>*,.ph-grid>*{min-width:0}
.feat-row+.feat-row{border-top:1px dashed var(--line)}
.feat-txt .sec-pill{margin-bottom:14px}
.feat-txt h3{font-size:26px;font-weight:700;line-height:1.4;letter-spacing:-.01em}
.feat-txt h3 i{font-style:normal;color:var(--blue-500)}
.feat-txt .ft-lead{margin-top:12px;color:var(--ink-500);font-size:15px;line-height:1.85}
.feat-list{margin-top:22px;display:flex;flex-direction:column;gap:14px}
.feat-list li{display:flex;gap:12px;align-items:flex-start}
.feat-list .fl-ico{flex:none;width:22px;height:22px;border-radius:6px;background:var(--blue-50);color:var(--blue-500);display:flex;align-items:center;justify-content:center;margin-top:2px}
.feat-list .fl-ico svg{width:13px;height:13px}
.feat-list b{display:block;font-size:14.5px;font-weight:600}
.feat-list p{font-size:13px;color:var(--ink-500);margin-top:1px}
.feat-txt .btn{margin-top:26px}
.feat-row--rev .feat-txt{order:2}
.feat-row--rev .feat-media{order:1}
.feat-media{position:relative}
.feat-media .mock{position:relative;z-index:1}

/* mock 浏览器框 */
.mock{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--sh-lg);text-align:left}
.mock-bar{display:flex;align-items:center;gap:10px;background:#F7F8FA;border-bottom:1px solid var(--line-soft);padding:9px 14px}
.mock-bar .dots{display:flex;gap:5px}
.mock-bar .dots i{width:9px;height:9px;border-radius:50%}
.mock-bar .dots i:nth-child(1){background:#FF5F57}
.mock-bar .dots i:nth-child(2){background:#FEBC2E}
.mock-bar .dots i:nth-child(3){background:#28C840}
.mock-bar .url{flex:1;max-width:280px;margin:0 auto;background:#fff;border:1px solid var(--line-soft);border-radius:6px;font-size:11px;color:var(--ink-400);padding:3px 12px;display:flex;align-items:center;gap:5px;justify-content:center}
.mock-bar .url svg{width:10px;height:10px;color:var(--green)}
.mock-body{display:flex;min-height:280px;background:#fff}
.mock-side{width:120px;flex:none;background:#F7F8FA;border-right:1px solid var(--line-soft);padding:12px 10px;display:flex;flex-direction:column;gap:3px}
.mock-side .ms-logo{height:22px;width:70%;border-radius:5px;background:linear-gradient(90deg,var(--blue-500),var(--blue-300));margin-bottom:10px}
.mock-side .ms-item{height:24px;border-radius:6px;display:flex;align-items:center;gap:6px;padding:0 8px;font-size:10.5px;color:var(--ink-500)}
.mock-side .ms-item i{width:10px;height:10px;border-radius:3px;background:#DDE1E6;flex:none}
.mock-side .ms-item.on{background:var(--blue-50);color:var(--blue-500);font-weight:600}
.mock-side .ms-item.on i{background:var(--blue-400)}
.mock-main{flex:1;min-width:0;padding:14px 16px;display:flex;flex-direction:column;gap:12px}
.mk-row{display:flex;gap:10px}
.mk-stat{flex:1;background:#F7F8FA;border-radius:8px;padding:10px 12px}
.mk-stat b{display:block;font-size:16px;font-weight:700;color:var(--ink-900)}
.mk-stat b em{font-style:normal;color:var(--blue-500)}
.mk-stat span{font-size:10px;color:var(--ink-400)}
.mk-panel{background:#F7F8FA;border-radius:8px;padding:12px;flex:1;min-height:0}
.mk-panel .mk-title{font-size:11px;font-weight:600;color:var(--ink-700);margin-bottom:8px;display:flex;justify-content:space-between}
.mk-panel .mk-title span{font-weight:400;color:var(--ink-300)}
.mk-bars{display:flex;align-items:flex-end;gap:6px;height:74px}
.mk-bars i{flex:1;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--blue-400),var(--blue-500))}
.mk-bars i.dim{background:#D6E4FF}
.mk-line{height:8px;border-radius:4px;background:#E4E7EC;margin-bottom:7px}
.mk-line.w60{width:60%}.mk-line.w80{width:80%}.mk-line.w40{width:40%}
.mk-line.blue{background:var(--blue-100)}
.mk-tags{display:flex;gap:5px;flex-wrap:wrap}
.mk-tags i{font-style:normal;font-size:9.5px;background:var(--blue-50);color:var(--blue-600);border-radius:4px;padding:2px 7px}
.mk-list .mk-li{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed #EBEDF0;font-size:10.5px;color:var(--ink-500)}
.mk-list .mk-li:last-child{border:none}
.mk-li .dot{width:5px;height:5px;border-radius:50%;background:var(--blue-400);flex:none}
.mk-li b{font-weight:500;color:var(--ink-700);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-li time{color:var(--ink-300);font-size:9.5px;flex:none}

/* ============================================================
   我们的优势（8 小卡 + 3 大卡）
   ============================================================ */
.adv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.adv-card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:24px 22px;transition:all var(--tr)}
.adv-card:hover{border-color:var(--blue-100);box-shadow:var(--sh-md);transform:translateY(-3px)}
.adv-card .ac-ico{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.adv-card .ac-ico svg{width:19px;height:19px}
.adv-card b{display:block;font-size:15.5px;font-weight:700;margin-bottom:7px}
.adv-card p{font-size:12.5px;color:var(--ink-400);line-height:1.75}
.adv3-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:56px}
.adv3-card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:28px 26px;transition:all var(--tr)}
.adv3-card:hover{border-color:var(--blue-100);box-shadow:var(--sh-md)}
.adv3-card .ac-ico{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.adv3-card .ac-ico svg{width:22px;height:22px}
.adv3-card b{display:block;font-size:17px;font-weight:700;margin-bottom:8px}
.adv3-card p{font-size:13px;color:var(--ink-500);line-height:1.8}
/* 图标底色变体 */
.ci-blue{background:var(--blue-50);color:var(--blue-500)}
.ci-green{background:#E8F5E9;color:var(--green)}
.ci-orange{background:#FFF4E5;color:var(--orange)}
.ci-cyan{background:#E1F5FE;color:#039BE5}
.ci-indigo{background:#E8EAFB;color:var(--indigo)}
.ci-teal{background:#E6F5F7;color:var(--teal)}
.ci-red{background:#FEEFEE;color:var(--red)}
.ci-gold{background:#FBF5E4;color:var(--gold)}

/* ============================================================
   新闻轮播（横向卡片 + < > 按钮）
   ============================================================ */
.news-car{position:relative}
.news-car-viewport{overflow:hidden;margin:0 -4px;padding:4px}
.news-car-track{display:flex;gap:20px;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.news-car-card{flex:0 0 calc((100% - 60px)/4);background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden;transition:all var(--tr)}
.news-car-card:hover{border-color:var(--blue-100);box-shadow:var(--sh-md);transform:translateY(-3px)}
.news-car-card .nc-cover{height:150px;position:relative;display:flex;align-items:center;justify-content:center;color:#fff;overflow:hidden}
.news-car-card .nc-cover svg{width:30px;height:30px;position:relative;z-index:1;opacity:.9}
.news-car-card .nc-cover .nc-cat{position:absolute;top:10px;left:10px;font-size:10.5px;background:rgba(255,255,255,.22);backdrop-filter:blur(4px);padding:2px 9px;border-radius:5px;z-index:1}
.news-car-card .nc-cover::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 25% 25%,rgba(255,255,255,.28) 0,transparent 45%),radial-gradient(circle at 78% 75%,rgba(255,255,255,.18) 0,transparent 42%)}
.news-car-card .nc-body{padding:16px 18px 18px}
.news-car-card .nc-body b{font-size:14px;font-weight:600;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:44px}
.news-car-card .nc-body time{display:block;font-size:12px;color:var(--ink-300);margin-top:10px}
.news-car-ctrl{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}
.news-car-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;color:var(--ink-500);transition:all var(--tr)}
.news-car-btn:hover{border-color:var(--blue-500);color:var(--blue-500)}
.news-car-btn:disabled{opacity:.35;pointer-events:none}
.news-car-btn svg{width:16px;height:16px}

/* ============================================================
   伙伴 LOGO 跑马灯
   ============================================================ */
.logo-marquee{overflow:hidden;position:relative;padding:8px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logo-marquee-track{display:flex;gap:56px;width:max-content;animation:marquee 32s linear infinite}
.logo-marquee:hover .logo-marquee-track{animation-play-state:paused}
.logo-marquee-track .lm{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--ink-300);white-space:nowrap;transition:color var(--tr)}
.logo-marquee-track .lm:hover{color:var(--ink-700)}
.logo-marquee-track .lm svg{width:19px;height:19px}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ============================================================
   学术会议卡（ais 式，PCO 页/首页可用）
   ============================================================ */
.ais-layout{display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start}
.ais-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ais-card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden;transition:all var(--tr);display:flex;flex-direction:column}
.ais-card:hover{border-color:var(--blue-300);box-shadow:var(--sh-md);transform:translateY(-3px)}
.ais-cover{height:118px;position:relative;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:12px 14px;overflow:hidden}
.ais-cover::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 30% 20%,rgba(255,255,255,.25) 0,transparent 50%)}
.ais-cover .ac-abbr{position:relative;z-index:1;font-size:17px;font-weight:800;letter-spacing:.02em;text-shadow:0 1px 6px rgba(0,0,0,.25)}
.ais-cover .ac-badge{position:absolute;top:10px;right:10px;z-index:1;font-size:10px;background:rgba(255,255,255,.22);backdrop-filter:blur(4px);padding:2px 8px;border-radius:5px}
.ais-body{padding:13px 15px 15px;flex:1;display:flex;flex-direction:column}
.ais-body b{font-size:13.5px;font-weight:600;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px}
.ais-tags{display:flex;gap:5px;margin:9px 0}
.ais-meta{margin-top:auto;font-size:11.5px;color:var(--ink-400);display:flex;flex-direction:column;gap:3px}
.ais-meta span{display:flex;align-items:center;gap:5px}
.ais-meta svg{width:11px;height:11px}
.ais-rank{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden;position:sticky;top:84px}
.ais-rank .ar-head{padding:14px 18px;border-bottom:1px solid var(--line-soft);font-size:15px;font-weight:700;display:flex;align-items:center;gap:7px}
.ais-rank .ar-head svg{width:16px;height:16px;color:var(--orange)}
.ais-rank .ar-head .hot{font-size:10px;color:#fff;background:linear-gradient(90deg,#FF7D00,#F54A45);padding:1px 6px;border-radius:4px;letter-spacing:.05em}
.ais-rank ol{padding:8px 0}
.ais-rank li{display:flex;gap:10px;padding:9px 18px;align-items:flex-start;transition:background var(--tr)}
.ais-rank li:hover{background:var(--blue-25)}
.ais-rank .rn{flex:none;width:19px;height:19px;border-radius:5px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--ink-400);margin-top:2px}
.ais-rank li:nth-child(1) .rn{background:#F54A45;color:#fff}
.ais-rank li:nth-child(2) .rn{background:#FF7D00;color:#fff}
.ais-rank li:nth-child(3) .rn{background:#FFB400;color:#fff}
.ais-rank li a{flex:1;font-size:12.5px;color:var(--ink-700);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ais-rank li a:hover{color:var(--blue-500)}
.ais-rank li .views{flex:none;font-size:10.5px;color:var(--ink-300);margin-top:3px}

/* ============================================================
   子页 Hero
   ============================================================ */
.page-hero{background:linear-gradient(180deg,#F0F6FF 0%,#FAFCFF 70%,#FFF 100%);padding:64px 0 60px;border-bottom:1px solid var(--line-soft)}
.page-hero .crumb{font-size:13px;color:var(--ink-400);margin-bottom:18px}
.page-hero .crumb a:hover{color:var(--blue-500)}
.page-hero h1{font-size:36px;font-weight:800;letter-spacing:-.01em}
.page-hero h1 i{font-style:normal;color:var(--blue-500)}
.page-hero .ph-lead{margin-top:16px;font-size:15.5px;color:var(--ink-500);max-width:660px;line-height:1.85}
.page-hero .ph-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.ph-stats{display:flex;gap:38px;margin-top:36px;flex-wrap:wrap}
.ph-stats .ps b{display:block;font-size:26px;font-weight:800;color:var(--blue-500)}
.ph-stats .ps span{font-size:12.5px;color:var(--ink-500)}
.page-hero--2col .ph-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}

/* ---------- 模块网格 ---------- */
.mod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.mod-card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:22px 20px;transition:all var(--tr)}
.mod-card:hover{border-color:var(--blue-300);box-shadow:var(--sh-md);transform:translateY(-3px)}
.mod-card .icob{width:42px;height:42px;margin-bottom:14px}
.mod-card .icob svg{width:20px;height:20px}
.mod-card .no{font-size:10.5px;color:var(--ink-300);font-weight:700;letter-spacing:.08em}
.mod-card b{display:block;font-size:14.5px;font-weight:700;margin:2px 0 7px}
.mod-card p{font-size:12.5px;color:var(--ink-400);line-height:1.75}
.sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sol-card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:26px;transition:all var(--tr)}
.sol-card:hover{border-color:var(--blue-100);box-shadow:var(--sh-md);transform:translateY(-3px)}
.sol-card .icob{margin-bottom:16px}
.sol-card h4{font-size:16.5px;font-weight:700;margin-bottom:8px}
.sol-card p{font-size:13px;color:var(--ink-500);line-height:1.8}
.sol-card .sol-link{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--blue-500);margin-top:14px}
.sol-card .sol-link svg{width:14px;height:14px}

/* ---------- 流程步骤 ---------- */
.steps-mobile,.steps-col{display:block}
.step-v{display:flex;gap:14px;position:relative;padding-bottom:26px}
.step-v::before{content:"";position:absolute;left:17px;top:38px;bottom:2px;width:2px;background:var(--blue-100)}
.step-v:last-child::before{display:none}
.step-v .sv-n{flex:none;width:36px;height:36px;border-radius:50%;background:var(--blue-500);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;z-index:1}
.step-v b{display:block;font-size:15px;font-weight:600;padding-top:6px}
.step-v p{font-size:13px;color:var(--ink-500);margin-top:4px}
/* 横向步骤 */
.steps-row{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.step-h{position:relative;background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:20px 16px;text-align:center}
.step-h .sh-n{width:34px;height:34px;border-radius:50%;background:var(--blue-500);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;margin:0 auto 12px}
.step-h b{display:block;font-size:14px;font-weight:700;margin-bottom:6px}
.step-h p{font-size:11.5px;color:var(--ink-400);line-height:1.7}
/* 波浪 */
.wave-wrap{overflow-x:auto;padding:10px 0 4px;-webkit-overflow-scrolling:touch}
.wave-svg{width:100%;min-width:960px;display:block}
.wave-node circle{fill:#fff;stroke:var(--blue-500);stroke-width:2.5}

/* ---------- 案例网格（cases 页） ---------- */
.casegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.casegrid .case-card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden;transition:all var(--tr);display:flex;flex-direction:column}
.casegrid .case-card:hover{border-color:var(--blue-100);box-shadow:var(--sh-md);transform:translateY(-3px)}
.case-cover{height:150px;display:flex;align-items:center;justify-content:center;color:#fff;position:relative;overflow:hidden}
.case-cover svg{width:36px;height:36px;opacity:.95;position:relative;z-index:1}
.case-cover::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 28% 25%,rgba(255,255,255,.3) 0,transparent 45%),radial-gradient(circle at 75% 70%,rgba(255,255,255,.2) 0,transparent 42%)}
.case-cover .cc-cat{position:absolute;top:12px;left:12px;z-index:1;font-size:11px;background:rgba(255,255,255,.22);backdrop-filter:blur(4px);padding:3px 10px;border-radius:var(--r-pill)}
.case-body{padding:18px 20px 20px;flex:1;display:flex;flex-direction:column}
.case-body b{font-size:15.5px;font-weight:700;line-height:1.55;display:block}
.case-body p{font-size:12.5px;color:var(--ink-400);margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.case-data{display:flex;gap:20px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.case-data div b{font-size:17px;font-weight:800;color:var(--blue-500)}
.case-data div span{display:block;font-size:11px;color:var(--ink-400)}
.case-body .cb-link{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--blue-500);margin-top:14px}
.case-body .cb-link svg{width:14px;height:14px}

/* ---------- 关于/文化 ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.about-grid>*{min-width:0}
.about-txt h3{font-size:26px;font-weight:700;margin-bottom:16px}
.about-txt p{font-size:14.5px;color:var(--ink-500);line-height:1.95;margin-bottom:14px}
.culture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.culture-card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-xl);padding:34px 30px;text-align:center;transition:all var(--tr)}
.culture-card:hover{border-color:var(--blue-100);box-shadow:var(--sh-md);transform:translateY(-3px)}
.culture-card .cc-ico{width:60px;height:60px;border-radius:50%;margin:0 auto 18px;display:flex;align-items:center;justify-content:center}
.culture-card .cc-ico svg{width:28px;height:28px}
.culture-card b{display:block;font-size:20px;font-weight:800;margin-bottom:10px}
.culture-card p{font-size:13.5px;color:var(--ink-500);line-height:1.85}

/* ---------- 联系 ---------- */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.contact-form{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}

/* ---------- 招聘 ---------- */
.job-list{display:flex;flex-direction:column;gap:12px}
.job-item{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:20px 26px;transition:all var(--tr)}
.job-item:hover{border-color:var(--blue-300);box-shadow:var(--sh-md)}
.job-item .j-main{flex:1;min-width:0}
.job-item .j-main b{font-size:16px;font-weight:700}
.job-item .j-tags{display:flex;gap:8px;margin-top:7px;flex-wrap:wrap}
.job-item .j-tags span{font-size:11.5px;color:var(--ink-500);background:var(--bg);padding:2px 10px;border-radius:var(--r-pill)}
.job-item .j-dept{font-size:13px;color:var(--ink-400);flex:none}
.welfare-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}

/* ---------- CTA ---------- */
.cta-band{background:linear-gradient(120deg,#EAF1FF 0%,#F5F9FF 60%,#E9F1FF 100%);border:1px solid #D9E5FB;border-radius:var(--r-xl);padding:52px 56px;color:var(--ink-900);display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:rgba(20,99,255,.07)}
.cta-band h3{font-size:26px;font-weight:700;margin-bottom:8px;color:var(--ink-900)}
.cta-band p{font-size:14.5px;color:var(--ink-500)}
.cta-band .btn{position:relative;z-index:1}
.cta-band .btn--light{background:var(--blue-500);color:#fff;border:none;box-shadow:0 6px 16px -6px rgba(20,99,255,.45)}
.cta-band .btn--light:hover{background:var(--blue-600);transform:translateY(-1px)}

/* 腾讯会议式页底全幅 CTA */
.cta-full{background:linear-gradient(135deg,#EDF3FF 0%,#F7FAFF 55%,#EAF1FF 100%);border-top:1px solid #E0EAFB;border-bottom:1px solid #E0EAFB;padding:72px 0;position:relative;overflow:hidden}
.cta-full::before{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:rgba(20,99,255,.06)}
.cta-full::after{content:"";position:absolute;right:180px;bottom:-140px;width:260px;height:260px;border-radius:50%;background:rgba(20,99,255,.05)}
.cta-full-in{display:flex;align-items:center;justify-content:space-between;gap:44px;position:relative;z-index:1}
.cta-full h3{font-size:30px;font-weight:800;color:var(--ink-900);margin-bottom:10px}
.cta-full p{font-size:15px;color:var(--ink-500);max-width:560px;line-height:1.8}
.cta-full .cf-actions{display:flex;gap:14px;margin-top:24px;flex-wrap:wrap}
.cta-full .cf-visual{flex:none;width:300px;height:190px;position:relative}
.cf-mock{position:absolute;right:0;top:0;width:280px;background:#fff;border:1px solid #E2EAF8;border-radius:14px;box-shadow:0 18px 44px -18px rgba(18,42,102,.22);padding:14px 16px}
.cf-mock .cm-bar{display:flex;gap:5px;margin-bottom:12px}
.cf-mock .cm-bar i{width:8px;height:8px;border-radius:50%;background:#E3E9F5}
.cf-mock .cm-line{height:9px;border-radius:5px;background:#E9F0FC;margin-bottom:9px}
.cf-mock .cm-line.b{background:linear-gradient(90deg,#C7DAFF,#9DBEFF)}
.cf-mock .cm-row{display:flex;gap:9px}
.cf-mock .cm-cell{flex:1;height:44px;border-radius:9px;background:#F0F5FE;border:1px solid #E4EDFB}
.cf-chip{position:absolute;background:#fff;border:1px solid #E2EAF8;border-radius:10px;box-shadow:0 10px 26px -12px rgba(18,42,102,.25);padding:8px 14px;font-size:12px;font-weight:700;color:var(--blue-600);display:flex;align-items:center;gap:7px}
.cf-chip svg{width:14px;height:14px}
@media(max-width:1080px){.cta-full .cf-visual{display:none}.cta-full{padding:52px 0}}
@media(max-width:640px){.cta-full h3{font-size:22px}}

/* ---------- 页脚（宽体深色自适应） ---------- */
.wrap--wide{max-width:1280px}
.footer{background:#fff;color:var(--ink-500);width:100%;border-top:1px solid var(--line-soft)}
.footer-in{padding-block:56px 32px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:36px}
.footer-logo img{height:34px;width:auto}
.footer-desc{margin-top:14px;font-size:12.5px;line-height:1.9;color:var(--ink-400);max-width:280px}
.footer h5{color:var(--ink-900);font-size:14px;font-weight:700;margin-bottom:14px}
.footer-col a{display:block;font-size:13px;padding:4px 0;color:var(--ink-500);transition:color var(--tr)}
.footer-col a:hover{color:var(--blue-500)}
.footer-contact li{display:flex;gap:9px;font-size:13px;padding:4px 0;align-items:flex-start;color:var(--ink-500)}
.footer-contact svg{width:14px;height:14px;flex:none;margin-top:4px;color:var(--blue-500)}
.footer-qr{display:flex;gap:14px;margin-top:6px}
.footer-qr .qr{width:84px;text-align:center}
.footer-qr .qr .qr-img{width:84px;height:84px;border-radius:10px;background:#fff;border:1px solid var(--line-soft);display:flex;align-items:center;justify-content:center;color:var(--ink-500)}
.footer-qr .qr .qr-img svg{width:36px;height:36px}
.footer-qr .qr span{display:block;font-size:11px;color:var(--ink-400);margin-top:6px}
.footer-bar{border-top:1px solid var(--line-soft);padding:16px 0;display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between;font-size:12px;color:var(--ink-300)}
.footer-bar a{color:var(--ink-300)}
.footer-bar a:hover{color:var(--blue-500)}

/* ---------- 弹窗 ---------- */
.modal-mask{position:fixed;inset:0;background:rgba(31,35,41,.5);z-index:300;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity var(--tr);backdrop-filter:blur(3px)}
body.modal-open .modal-mask{opacity:1;pointer-events:auto}
.modal{width:100%;max-width:440px;background:#fff;border-radius:var(--r-xl);box-shadow:var(--sh-lg);transform:translateY(14px) scale(.98);transition:transform var(--tr);max-height:90vh;overflow-y:auto}
body.modal-open .modal{transform:none}
.modal-head{padding:24px 26px 0;display:flex;align-items:flex-start;justify-content:space-between}
.modal-head h3{font-size:19px;font-weight:700}
.modal-head p{font-size:13px;color:var(--ink-400);margin-top:4px}
.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:var(--ink-400)}
.modal-close:hover{background:var(--bg)}
.modal-close svg{width:18px;height:18px}
.modal-body{padding:20px 26px 26px}
.f-row{margin-bottom:14px}
.f-row label{display:block;font-size:13px;font-weight:600;color:var(--ink-700);margin-bottom:6px}
.f-row label i{color:var(--red);font-style:normal}
.f-input,.f-select,.f-textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 14px;font-size:14px;background:#fff;transition:all var(--tr);outline:none}
.f-input:focus,.f-select:focus,.f-textarea:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(20,99,255,.12)}
.f-textarea{resize:vertical;min-height:76px}
.f-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.modal .btn{width:100%}
.f-ok{display:none;text-align:center;padding:30px 10px 10px}
.f-ok .ok-ico{width:56px;height:56px;border-radius:50%;background:#E8F5E9;color:var(--green);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.f-ok .ok-ico svg{width:28px;height:28px}
.f-ok b{font-size:16.5px}
.f-ok p{font-size:13px;color:var(--ink-400);margin-top:6px}

/* ---------- 滚动渐显 ---------- */
.rv{opacity:0;transform:translateY(12px);transition:opacity .38s ease,transform .38s cubic-bezier(.22,1,.36,1);animation:rvAuto .6s ease 1.6s forwards}
.rv.in{opacity:1;transform:none}
/* JS 加载失败/被代理卡住时内容兜底可见（防白屏） */
@keyframes rvAuto{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
  html{scroll-behavior:auto}
  .logo-marquee-track{animation:none;flex-wrap:wrap}
}

/* ============================================================
   响应式
   ============================================================ */
@media (max-width:1080px){
  .bnr-in{grid-template-columns:1fr;gap:36px;padding-block:48px 66px;min-height:0}
  .bnr-slide h1{font-size:32px}
  .bnr-media{max-width:600px}
  .svc-acc{flex-direction:column;height:auto}
  .svc-panel{flex:none!important;height:auto}
  .svc-panel .svc-collapsed{display:none}
  .svc-panel .svc-expanded{position:relative;opacity:1;pointer-events:auto;padding:26px 158px 26px 24px}
  .svc-expanded .se-btn{position:absolute;right:22px;top:50%;transform:translateY(-50%);margin-top:0;padding:11px 18px;font-size:13px;white-space:nowrap}
  .svc-expanded .se-btn:hover{transform:translateY(-50%) translateX(3px)}
  .svc-expanded h3{font-size:21px}
  .feat-row{grid-template-columns:1fr;gap:32px;padding:36px 0}
  .feat-row--rev .feat-txt{order:1}
  .feat-row--rev .feat-media{order:2}
  .case-carousel{padding:0 52px}
  .case-slide{grid-template-columns:1fr}
  .case-visual{min-height:150px}
  .adv-grid{grid-template-columns:1fr 1fr}
  .adv3-grid{grid-template-columns:1fr}
  .news-car-card{flex-basis:calc((100% - 20px)/2)}
  .mod-grid{grid-template-columns:repeat(3,1fr)}
  .sol-grid{grid-template-columns:1fr 1fr}
  .ais-layout{grid-template-columns:1fr}
  .ais-rank{position:static}
  .ais-grid{grid-template-columns:1fr 1fr}
  .casegrid{grid-template-columns:1fr 1fr}
  .page-hero--2col .ph-grid{grid-template-columns:1fr;gap:40px}
  .culture-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .contact-form{grid-template-columns:1fr;gap:36px}
  .job-item{flex-wrap:wrap}
  .welfare-grid{grid-template-columns:1fr 1fr}
  .about-grid{grid-template-columns:1fr}
  .steps-row{grid-template-columns:repeat(3,1fr)}
  .footer-in{grid-template-columns:1fr 1fr;gap:30px}
  .nav{display:none}
  .burger{display:flex}
  .topbar-tel{display:none}
}
@media (max-width:640px){
  .wrap{padding:0 18px}
  .section{padding:56px 0}
  .sec-title{font-size:23px}
  .sec-head{margin-bottom:36px}
  .bnr-slide h1{font-size:26px}
  .bnr-in{padding-block:88px 52px;gap:0;min-height:0}
  .bnr-media{display:none}
  .bnr-kicker{margin-bottom:14px}
  .bnr-slide .bnr-lead{margin-top:12px;font-size:14px}
  .bnr-actions{margin-top:22px}
  .bnr-links{margin-top:22px;gap:16px}
  .bnr-dots{bottom:16px}
  .bnr-actions .btn{flex:1;justify-content:center}
  .btn--lg{height:46px;padding:0 22px;font-size:14px}
  .mock-side{display:none}
  .svc-expanded ul{grid-template-columns:1fr}
  .case-carousel{padding:0}
  .case-nav{display:none}
  .case-txt{padding:24px 20px}
  .case-txt h3{font-size:17px;margin-bottom:10px}
  .case-txt p{margin-bottom:10px}
  .case-txt .ct-data{gap:18px;margin-bottom:10px}
  .case-txt .ct-link{margin-top:0}
  .adv-card .btn,.case-body .btn,.svc-card .btn{margin-top:14px}
  .adv-grid{grid-template-columns:1fr 1fr;gap:10px}
  .adv-card{padding:16px 14px}
  .adv-card .ac-ico{margin-bottom:9px}
  .adv3-card{padding:20px 18px}
  .adv3-card .ac-ico{margin-bottom:10px}
  .news-car-card{flex-basis:82%}
  .ais-grid{grid-template-columns:1fr}
  .casegrid{grid-template-columns:1fr}
  .mod-grid{grid-template-columns:1fr 1fr}
  .sol-grid{grid-template-columns:1fr}
  .page-hero{padding:44px 0 42px}
  .page-hero h1{font-size:26px}
  .ph-stats{gap:22px}
  .wave-svg{display:none}
  .steps-row{grid-template-columns:1fr 1fr}
  .cta-band{padding:34px 24px;flex-direction:column;align-items:flex-start}
  .cta-band h3{font-size:20px}
  .footer-in{grid-template-columns:1fr;gap:22px;padding-block:32px 18px}
  .footer-col{display:none}
  .footer-desc{max-width:none;margin-top:10px}
  .footer-contact li{font-size:12.5px;padding:3px 0}
  .footer-qr{margin-top:10px}
  .footer-bar{justify-content:flex-start;font-size:11px;padding:14px 0}
  .f-2col{grid-template-columns:1fr}
  .mbar{display:grid}
  body{padding-bottom:64px}
  .topbar .btn{display:none}
  .bnr-arrows{display:none}
}

/* ============ 首页 · 解决方案选项卡 ============ */
.sol-tab{display:grid;grid-template-columns:272px 1fr;border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden;background:#fff;box-shadow:var(--sh-sm)}
.sol-tab-list{background:var(--bg);padding:14px;display:flex;flex-direction:column;gap:4px}
.st-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;color:var(--ink-500);transition:all var(--tr);border:1px solid transparent;user-select:none}
.st-item svg{width:17px;height:17px;flex:none}
.st-item:hover{color:var(--blue-500);background:#fff}
.st-item.on{background:#fff;color:var(--blue-500);border-color:var(--blue-100);box-shadow:var(--sh-sm)}
.sol-tab-panel{padding:38px 42px;position:relative;min-height:296px;display:flex;flex-direction:column}
.stp-cat{font-size:12px;font-weight:600;color:var(--blue-600);background:var(--blue-50);padding:3px 12px;border-radius:var(--r-pill);align-self:flex-start;margin-bottom:14px}
.stp-name{font-size:24px;font-weight:800;margin-bottom:10px}
.stp-name span{font-size:12px;color:var(--ink-300);font-weight:600;letter-spacing:.08em;margin-left:10px}
.stp-desc{font-size:14px;color:var(--ink-500);line-height:1.85;max-width:640px;margin-bottom:20px}
.stp-hls{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.stp-hls span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink-600);background:var(--bg);border:1px solid var(--line-soft);padding:7px 14px;border-radius:var(--r-pill)}
.stp-hls svg{width:13px;height:13px;color:var(--blue-500)}
.stp-case{margin-top:auto;padding-top:18px;border-top:1px dashed var(--line-soft);font-size:13px;color:var(--ink-400);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.stp-case b{color:var(--ink-600)}
.stp-case a{margin-left:auto;font-size:13.5px;font-weight:600;color:var(--blue-500);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.stp-case a svg{width:14px;height:14px}
.sol-gen{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:22px}
.sg-cell{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-md);padding:18px;color:inherit;text-decoration:none;transition:all var(--tr)}
.sg-cell:hover{border-color:var(--blue-300);box-shadow:var(--sh-md);transform:translateY(-3px)}
.sg-cell .sg-ico{width:36px;height:36px;border-radius:9px;background:var(--blue-50);color:var(--blue-500);display:flex;align-items:center;justify-content:center}
.sg-cell .sg-ico svg{width:17px;height:17px}
.sg-cell b{font-size:14px;font-weight:700}
.sg-cell span{font-size:12px;color:var(--ink-400);line-height:1.6}
@media(max-width:1080px){
  .sol-tab{grid-template-columns:1fr}
  .sol-tab-list{flex-direction:row;overflow-x:auto;padding:12px}
  .st-item{flex:none;white-space:nowrap}
  .sol-tab-panel{padding:26px 22px;min-height:0}
  .sol-gen{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:640px){
  .sol-gen{grid-template-columns:1fr 1fr}
  .stp-case a{margin-left:0;width:100%}
}

/* ============ 新闻文章详情页 ============ */
.art-hero{background:linear-gradient(120deg,#F0F6FF 0%,#F8FBFF 100%);border-bottom:1px solid var(--line-soft);padding:52px 0 44px}
.art-hero .crumb{font-size:13px;color:var(--ink-400);margin-bottom:16px}
.art-hero h1{font-size:30px;font-weight:800;line-height:1.45;max-width:840px}
.art-meta{display:flex;align-items:center;gap:18px;margin-top:18px;font-size:13px;color:var(--ink-400);flex-wrap:wrap}
.art-meta .am-cat{font-size:12px;font-weight:600;color:var(--blue-600);background:#fff;border:1px solid var(--blue-100);padding:3px 12px;border-radius:var(--r-pill)}
.art-layout{display:grid;grid-template-columns:1fr 300px;gap:48px;padding:56px 0}
.art-body{font-size:15px;color:var(--ink-600);line-height:2}
.art-body p{margin-bottom:20px}
.art-body h3{font-size:19px;font-weight:700;color:var(--ink-900);margin:34px 0 14px;padding-left:14px;border-left:4px solid var(--blue-500)}
.art-body .art-lede{font-size:16px;color:var(--ink-500);background:var(--bg);border-radius:var(--r-md);padding:20px 24px;margin-bottom:26px;line-height:1.9}
.art-cover{height:260px;border-radius:var(--r-lg);margin-bottom:30px;display:flex;align-items:center;justify-content:center;color:#fff;position:relative;overflow:hidden}
.art-cover svg{width:44px;height:44px;opacity:.9}
.art-cover::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 78% 18%,rgba(255,255,255,.22) 0,transparent 55%)}
.art-quote{border-left:4px solid var(--gold);background:#FFFBF2;padding:16px 22px;border-radius:0 var(--r-md) var(--r-md) 0;margin:24px 0;font-size:14px;color:var(--ink-500)}
.art-side{position:sticky;top:84px;align-self:start;display:flex;flex-direction:column;gap:22px}
.art-side-box{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:22px}
.art-side-box h5{font-size:14px;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.art-side-box h5 svg{width:15px;height:15px;color:var(--blue-500)}
.art-rel a{display:block;padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:13px;color:var(--ink-500);line-height:1.6;transition:color var(--tr)}
.art-rel a:last-child{border-bottom:none}
.art-rel a:hover{color:var(--blue-500)}
.art-rel a time{display:block;font-size:11.5px;color:var(--ink-300);margin-top:3px}
.art-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px;padding-top:22px;border-top:1px solid var(--line-soft)}
.art-tags span{font-size:12px;color:var(--ink-400);background:var(--bg);padding:5px 14px;border-radius:var(--r-pill)}
@media(max-width:1080px){
  .art-layout{grid-template-columns:1fr;gap:32px}
  .art-side{position:static}
  .art-hero h1{font-size:23px}
}

/* ============ 发展历程 · 时间轴 ============ */
.tl{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:16px}
.tl::before{content:"";position:absolute;top:15px;left:2%;right:2%;height:2px;background:linear-gradient(90deg,var(--blue-100),var(--blue-300) 50%,var(--blue-100))}
.tl-item{position:relative;padding-top:48px}
.tl-item::before{content:"";position:absolute;top:6px;left:0;width:14px;height:14px;border-radius:50%;background:#fff;border:4px solid var(--blue-500);box-shadow:0 0 0 5px var(--blue-50)}
.tl-item .tl-year{display:block;font-size:22px;font-weight:800;color:var(--blue-500);margin-bottom:6px}
.tl-item b{display:block;font-size:14.5px;font-weight:700;margin-bottom:6px}
.tl-item p{font-size:12.5px;color:var(--ink-400);line-height:1.75}
@media(max-width:1080px){
  .tl{grid-template-columns:1fr;gap:0;margin-top:8px}
  .tl::before{left:13px;top:8px;bottom:8px;right:auto;width:2px;height:auto;background:linear-gradient(180deg,var(--blue-100),var(--blue-300) 50%,var(--blue-100))}
  .tl-item{padding:0 0 30px 44px}
  .tl-item::before{top:4px}
}

/* ============ 业务版图 · 五列 ============ */
.biz-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
@media(max-width:1080px){.biz-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.biz-grid{grid-template-columns:1fr}}

/* ============ 福利三列 ============ */
@media(min-width:1081px){.adv-grid--3{grid-template-columns:repeat(3,1fr)}}

/* ============ PCO 七步流程卡 ============ */
.steps7{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.s7-card{position:relative;background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:24px 22px 22px;overflow:hidden;transition:all var(--tr)}
.s7-card:hover{border-color:var(--blue-300);box-shadow:var(--sh-md);transform:translateY(-3px)}
.s7-card::after{content:attr(data-n);position:absolute;right:10px;top:2px;font-size:52px;font-weight:800;color:var(--blue-50);letter-spacing:-.02em;pointer-events:none}
.s7-card .s7-phase{display:inline-flex;font-size:10.5px;font-weight:600;color:var(--blue-600);background:var(--blue-50);padding:2px 10px;border-radius:var(--r-pill);margin-bottom:14px}
.s7-card .s7-badge{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--blue-500),var(--blue-700));color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;margin-bottom:14px;box-shadow:0 6px 14px -6px rgba(20,99,255,.5)}
.s7-card b{display:block;font-size:15px;font-weight:700;margin-bottom:7px;position:relative;z-index:1}
.s7-card p{font-size:12.5px;color:var(--ink-400);line-height:1.75;position:relative;z-index:1}
@media(max-width:1080px){.steps7{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.steps7{grid-template-columns:1fr}}

/* ============ 推荐会议 · 排行等高 ============ */
.ais-layout{align-items:stretch}
.ais-rank{display:flex;flex-direction:column}
.ais-rank ol{flex:1}
.ais-rank .ar-foot{border-top:1px solid var(--line-soft);padding:14px 18px;background:var(--bg)}
.ais-rank .ar-foot a{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:600;color:var(--blue-500)}
.ais-rank .ar-foot svg{width:14px;height:14px}
.ais-rank .ar-note{padding:0 18px 12px;font-size:11px;color:var(--ink-300);background:var(--bg)}

/* ============ 首页方案面板 · 补充内容 ============ */
.stp-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
.stp-pt{display:flex;gap:11px;align-items:flex-start;background:var(--bg);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:13px 15px}
.stp-pt .pt-ico{flex:none;width:30px;height:30px;border-radius:8px;background:#fff;border:1px solid var(--blue-100);color:var(--blue-500);display:flex;align-items:center;justify-content:center}
.stp-pt .pt-ico svg{width:14px;height:14px}
.stp-pt b{display:block;font-size:13px;font-weight:700}
.stp-pt span{font-size:11.5px;color:var(--ink-400);line-height:1.5;display:block;margin-top:2px}
@media(max-width:640px){.stp-points{grid-template-columns:1fr}}

/* ============ V4.1 · 新闻中心（腾讯会议式） ============ */
.news-search{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-pill);padding:0 22px;height:52px;box-shadow:var(--sh-sm);margin-bottom:34px;transition:border-color var(--tr)}
.news-search:focus-within{border-color:var(--blue-300)}
.news-search .ns-ico{width:18px;height:18px;color:var(--ink-300);flex:none;display:flex}
.news-search .ns-ico svg{width:18px;height:18px}
.news-search input{flex:1;border:none;outline:none;font-size:14.5px;font-family:inherit;color:var(--ink-800);background:none;height:100%}
.news-top{display:grid;grid-template-columns:1.9fr 1fr;gap:26px;align-items:stretch}
.news-hl{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-xl);overflow:hidden;transition:all var(--tr)}
.news-hl:hover{border-color:var(--blue-100);box-shadow:var(--sh-md)}
.hl-cover{position:relative;height:300px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff}
.hl-cover.no-img,.news-hl.no-img .hl-cover{background:linear-gradient(135deg,#1463FF,#0B3FAE)}
.hl-cover svg{width:44px;height:44px;opacity:.9}
.hl-cover img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s}
.news-hl:hover .hl-cover img{transform:scale(1.04)}
.hl-tag{position:absolute;top:16px;left:16px;z-index:2;font-size:11.5px;font-weight:600;color:#fff;background:var(--orange);padding:4px 12px;border-radius:6px}
.hl-body{padding:26px 30px 30px}
.hl-body h3{font-size:22px;font-weight:800;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hl-body p{margin-top:10px;font-size:14px;color:var(--ink-500);line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hl-meta{display:flex;gap:16px;margin-top:16px;font-size:12.5px;color:var(--ink-300)}
.news-rec{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-xl);padding:22px 22px 12px}
.news-rec h5{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;margin-bottom:12px}
.news-rec h5 svg{width:16px;height:16px;color:var(--orange)}
.rec-item{display:block;padding:11px 0;border-top:1px dashed var(--line-soft)}
.rec-item b{display:block;font-size:13.5px;font-weight:600;line-height:1.6;color:var(--ink-800);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color var(--tr)}
.rec-item:hover b{color:var(--blue-500)}
.rec-item span{display:block;margin-top:5px;font-size:11.5px;color:var(--ink-300)}
.news-list{display:flex;flex-direction:column}
.n-item{display:grid;grid-template-columns:230px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line-soft);align-items:center}
.n-item:hover .n-txt b{color:var(--blue-500)}
.n-thumb{position:relative;width:230px;height:144px;border-radius:var(--r-lg);overflow:hidden;background:var(--bg)}
.n-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.n-item:hover .n-thumb img{transform:scale(1.05)}
.n-cover-ico{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff}
.n-cover-ico svg{width:30px;height:30px;opacity:.9}
.n-txt b{font-size:16.5px;font-weight:700;line-height:1.55;color:var(--ink-900);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color var(--tr)}
.n-txt p{margin-top:8px;font-size:13.5px;color:var(--ink-400);line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.n-meta{display:flex;align-items:center;gap:14px;margin-top:12px;font-size:12px;color:var(--ink-300)}
.n-cat{color:var(--blue-500);background:var(--blue-50);padding:2px 10px;border-radius:5px;font-weight:600}
.news-more{display:flex;justify-content:center;margin-top:34px}
.news-more .btn svg{width:15px;height:15px}
.news-empty{text-align:center;padding:56px 0;color:var(--ink-300);font-size:14px}
@media(max-width:980px){
  .news-top{grid-template-columns:1fr}
  .hl-cover{height:230px}
}
@media(max-width:640px){
  .news-search{height:46px;padding:0 18px;margin-bottom:24px}
  .hl-cover{height:190px}
  .hl-body{padding:20px 20px 24px}
  .hl-body h3{font-size:18px}
  .n-item{grid-template-columns:112px 1fr;gap:14px;padding:18px 0}
  .n-thumb{width:112px;height:76px;border-radius:10px}
  .n-txt b{font-size:14.5px}
  .n-txt p{display:none}
  .n-meta{margin-top:8px}
}

/* ============ V4.1 · 缩略图通用（案例/新闻卡片） ============ */
.case-cover{position:relative;overflow:hidden}
.case-cover img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s}
.case-card:hover .case-cover img{transform:scale(1.05)}
.nc-cover img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.case-card{position:relative}
.case-card .cc-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13px;font-weight:600;color:var(--blue-500)}
.case-card .cc-link svg{width:14px;height:14px}

/* ============ V4.2 · 全局调整 ============ */
/* 全站隐藏面包屑导航（老板要求：子页面不再展现） */
.crumb{display:none!important}
/* 顶栏：顶部透明与 banner 融合，滚动后白底加高（腾讯会议式） */
.topbar{background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .3s,border-color .3s,height .3s,box-shadow .3s}
body.scrolled .topbar{background:rgba(255,255,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft);height:72px;box-shadow:0 2px 12px rgba(20,40,90,.06)}
.topbar .nav-item>a{color:#2B2F36;font-weight:500}
/* 蒙层体系：底图 + 浅色透明蒙层保证文字清晰 */
.bgmask{position:relative;background-size:cover;background-position:center}
.bgmask::before{content:"";position:absolute;inset:0;background:var(--mask,rgba(255,255,255,.74));z-index:0;pointer-events:none}
.bgmask>*{position:relative;z-index:1}
.bgmask--dark::before{background:var(--mask,rgba(18,26,46,.46))}
.bgmask--soft::before{background:var(--mask,rgba(255,255,255,.6))}
/* 生态服务矩阵卡片：图片底图模式 */
.svc-panel.has-bg{background-size:cover!important;background-position:center!important}
.svc-panel.has-bg::before{content:"";position:absolute;inset:0;background:var(--mask,rgba(18,26,46,.5));z-index:0;pointer-events:none}
.svc-panel.has-bg>*{z-index:1}
.svc-panel.has-bg>.svc-collapsed,.svc-panel.has-bg>.svc-expanded{position:absolute}
/* 首页方案选项卡面板底图 */
.sol-tab-panel.has-bg{background-size:cover;background-position:center}
.sol-tab-panel.has-bg::before{content:"";position:absolute;inset:0;background:var(--mask,rgba(255,255,255,.78));z-index:0;pointer-events:none}
.sol-tab-panel.has-bg>*{position:relative;z-index:1}
.sol-tab-panel{position:relative}
/* Hero 底图模式（page-hero / sol-hero / art-hero 通用） */
.page-hero.has-bg,.sol-hero.has-bg,.art-hero.has-bg{background-size:cover;background-position:center;position:relative}
.page-hero.has-bg::before,.sol-hero.has-bg::before,.art-hero.has-bg::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.76);z-index:0;pointer-events:none}
.page-hero.has-bg>.wrap,.sol-hero.has-bg>.wrap,.art-hero.has-bg>.wrap{position:relative;z-index:1}
.sol-hero.has-bg .sol-hero-in{position:relative;z-index:1}
/* CTA 横幅底图模式 */
.cta-full.has-bg{background-size:cover;background-position:center}
.cta-full.has-bg::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.72);z-index:0;pointer-events:none}
.cta-full.has-bg>.wrap{position:relative;z-index:1}
.cta-full .cta-full-in{position:relative;z-index:1}
/* 抽屉两级视图（腾讯式：一级列表 → 点击进入二级带返回） */
.drawer .dpanel{position:absolute;inset:0;background:#fff;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:2}
.drawer .dpanel.open{transform:translateX(0)}
.dpanel-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line-soft)}
.dpanel-back{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--blue-500);background:none;border:none;cursor:pointer;font-family:inherit}
.dpanel-back svg{width:16px;height:16px;transform:rotate(180deg)}
.dpanel-title{padding:22px 20px 8px;font-size:26px;font-weight:800;color:var(--ink-900)}
.dpanel-links{flex:1;overflow-y:auto;padding:8px 0 20px}
.dpanel-links a{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:17px 28px;font-size:16px;font-weight:600;color:var(--ink-800);border-bottom:none}
.dpanel-links a svg{width:16px;height:16px;color:var(--ink-300)}
.dpanel-grp{padding:16px 28px 4px;font-size:16px;font-weight:600;color:var(--ink-800);letter-spacing:.02em;text-align:right}
/* 移动端：生态卡片文字与按钮间距 */
@media(max-width:640px){
  .svc-panel .svc-expanded{padding:22px 138px 18px 20px}
  .svc-expanded .se-btn{right:14px;padding:9px 12px;font-size:12px}
  .svc-panel .btn,.svc-expanded .btn{margin-top:16px}
  .svc-expanded ul{margin-bottom:6px}
  /* 岗位卡片移动端修复：纵向布局，标签自动换行 */
  .job-item{display:block;padding:18px}
  .job-item .j-main b{display:block;font-size:16px;margin-bottom:10px}
  .job-item .j-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
  .job-item .j-dept{display:block;font-size:12.5px;color:var(--ink-400);margin-bottom:10px}
  .job-item .btn{width:100%;justify-content:center}
  /* 解决方案 / 文章详情页边距修复 */
  .sol-layout{padding:32px 0}
  .sol-sec{margin-bottom:44px}
  .art-body,.cd-body{word-break:break-word}
}
