/* ==========================================================================
   中港商联 · style.css —— 全站组件层
   顶部导航 / 页脚 / 首页 / 内页 / 卡片 / 各类页面独立模块
   ========================================================================== */

/* ============ 顶部导航 ============ */
.topbar{
  background:var(--c-ink); color:#DCEAF6; font-size:12.5px;
  transition:all .3s ease; position:relative; z-index:60;
}
.topbar .container{ display:flex; align-items:center; justify-content:space-between; min-height:40px; }
.topbar a{ color:#DCEAF6; }
.topbar a:hover{ color:#fff; }
.topbar .tb-left{ display:flex; align-items:center; gap:22px; }
.topbar .tb-right{ display:flex; align-items:center; gap:18px; }
.topbar .tb-item{ display:inline-flex; align-items:center; gap:6px; }
.topbar .dot-y{ width:6px; height:6px; border-radius:50%; background:var(--c-yellow); }

.navbar{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.94); backdrop-filter:blur(14px);
  box-shadow:0 1px 0 rgba(18,58,94,.06);
  transition:box-shadow .3s ease, background .3s ease;
}
.navbar.scrolled{ box-shadow:0 8px 26px rgba(18,58,94,.10); background:rgba(255,255,255,.98); }
.navbar .nav-inner{ display:flex; align-items:center; justify-content:space-between; min-height:var(--nav-h); gap:24px; }
.logo{ display:flex; align-items:center; gap:12px; flex-shrink:0; }
.logo img{ height:46px; width:auto; }
.nav-links{ display:flex; align-items:center; gap:4px; }
.nav-links > li{ position:relative; }
.nav-links > li > a{
  display:inline-flex; align-items:center; gap:5px;
  padding:10px 15px; font-size:15px; font-weight:600; color:var(--c-ink);
  border-radius:10px; transition:color .25s, background .25s;
}
.nav-links > li > a .caret{ width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); margin-top:-4px; transition:transform .25s; }
.nav-links > li:hover > a, .nav-links > li.active > a{ color:var(--c-blue-d); background:var(--c-blue-soft); }
.nav-links > li:hover > a .caret{ transform:rotate(-135deg); margin-top:4px; }
.nav-links .nav-btn a{ background:var(--c-blue); color:#fff; border-radius:999px; padding:10px 24px; box-shadow:var(--sh-blue); }
.nav-links .nav-btn a:hover{ background:var(--c-blue-d); color:#fff; }
/* 下拉菜单 */
.dropdown{ position:absolute; top:calc(100% + 10px); left:0; min-width:250px; background:#fff; border-radius:16px;
  box-shadow:var(--sh-lg); padding:10px; opacity:0; visibility:hidden; transform:translateY(14px);
  transition:all .3s ease; border:1px solid var(--c-line); }
.dropdown::before{ content:""; position:absolute; top:-8px; left:26px; width:14px; height:14px; background:#fff; border-left:1px solid var(--c-line); border-top:1px solid var(--c-line); transform:rotate(45deg); }
.nav-links > li:hover > .dropdown{ opacity:1; visibility:visible; transform:none; }
.dropdown a{ display:flex; align-items:center; justify-content:space-between; padding:9px 12px; border-radius:10px; font-size:14px; color:var(--c-body); font-weight:500; }
.dropdown a span{ color:var(--c-muted); font-size:12px; }
.dropdown a:hover{ background:var(--c-blue-soft); color:var(--c-blue-d); padding-left:16px; }
.dropdown .dd-title{ font-size:12px; letter-spacing:2px; color:var(--c-muted); padding:8px 12px 4px; text-transform:uppercase; }

/* 汉堡按钮 */
.hamburger{ display:none; width:46px; height:46px; border-radius:12px; background:var(--c-blue-soft); flex-direction:column; align-items:center; justify-content:center; gap:5px; }
.hamburger span{ display:block; width:20px; height:2px; border-radius:2px; background:var(--c-ink); transition:all .3s ease; }
.hamburger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2){ opacity:0; }
.hamburger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* 移动端抽屉菜单 */
.mobile-menu{
  position:fixed; inset:0; z-index:70; background:rgba(19,58,94,.45); backdrop-filter:blur(3px);
  opacity:0; visibility:hidden; transition:opacity .35s ease, visibility .35s;
}
.mobile-menu.open{ opacity:1; visibility:visible; }
.mobile-menu .mm-panel{
  position:absolute; top:0; right:0; bottom:0; width:min(86vw,360px); background:#fff;
  padding:24px; overflow-y:auto; transform:translateX(100%); transition:transform .4s cubic-bezier(.2,.7,.3,1);
  box-shadow:-20px 0 60px rgba(18,58,94,.25);
}
.mobile-menu.open .mm-panel{ transform:none; }
.mm-panel .mm-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.mm-close{ width:38px; height:38px; border-radius:50%; background:var(--c-bg-2); font-size:16px; color:var(--c-ink); display:flex; align-items:center; justify-content:center; }
.mm-list li{ border-bottom:1px solid var(--c-line); }
.mm-list > li > a{ display:flex; align-items:center; justify-content:space-between; padding:15px 4px; font-weight:600; color:var(--c-ink); font-size:15px; }
.mm-list .sub{ display:none; padding:0 0 12px 14px; }
.mm-list .sub.open{ display:block; }
.mm-list .sub a{ display:block; padding:8px 6px; color:var(--c-body); font-size:14px; }
.mm-list .sub a:hover{ color:var(--c-blue-d); }
.mm-list .mm-toggle .caret{ width:8px; height:8px; border-right:2px solid var(--c-muted); border-bottom:2px solid var(--c-muted); transform:rotate(45deg); transition:transform .3s; }
.mm-list li.open > .mm-toggle .caret{ transform:rotate(-135deg); margin-top:4px; }
.mm-panel .mm-cta{ margin-top:22px; display:grid; gap:10px; }

/* ============ 返回顶部 ============ */
.to-top{
  position:fixed; right:26px; bottom:30px; z-index:40; width:48px; height:48px; border-radius:50%;
  background:var(--c-blue); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:var(--sh-blue); opacity:0; visibility:hidden; transform:translateY(16px);
  transition:all .35s ease; font-size:20px;
}
.to-top.show{ opacity:1; visibility:visible; transform:none; }
.to-top:hover{ background:var(--c-blue-d); transform:translateY(-4px); }

/* ============ 首页 Banner ============ */
.hero{
  position:relative; min-height:680px; display:flex; align-items:center;
  background:
    radial-gradient(900px 420px at 85% 20%, rgba(103,216,163,.28), transparent 60%),
    radial-gradient(700px 400px at 10% 85%, rgba(255,212,59,.18), transparent 55%),
    linear-gradient(120deg,#EAF6FD 0%, #F4FAF7 55%, #FDF9EC 100%);
  overflow:hidden;
}
.hero::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(rgba(19,58,94,.10) 1px, transparent 1px); background-size:26px 26px;
  mask-image:linear-gradient(90deg, transparent, #000 40%, transparent);
}
.hero .hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:40px; position:relative; z-index:2; }
.hero .hero-tag{ display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--c-line); border-radius:999px; padding:7px 18px; font-size:13px; font-weight:600; color:var(--c-blue-d); box-shadow:var(--sh-sm); }
.hero .hero-tag .pulse{ width:8px; height:8px; border-radius:50%; background:var(--c-green); position:relative; }
.hero .hero-tag .pulse::after{ content:""; position:absolute; inset:-4px; border-radius:50%; border:2px solid var(--c-green); animation:pulse 2s infinite; }
@keyframes pulse{ 0%{transform:scale(.6); opacity:1;} 100%{transform:scale(1.5); opacity:0;} }
.hero h1{ font-size:52px; line-height:1.22; letter-spacing:1px; margin:22px 0 20px; }
.hero h1 .hl{ position:relative; color:var(--c-blue-d); white-space:nowrap; }
.hero h1 .hl svg{ position:absolute; left:0; bottom:-6px; width:100%; height:12px; }
.hero .hero-desc{ font-size:16.5px; color:var(--c-body); max-width:520px; margin-bottom:30px; }
.hero .hero-cta{ display:flex; gap:14px; flex-wrap:wrap; }
.hero .hero-stats{ display:flex; gap:34px; margin-top:42px; }
.hero .hero-stats .num{ font-size:30px; font-weight:800; color:var(--c-ink); line-height:1; }
.hero .hero-stats .num i{ font-style:normal; color:var(--c-blue); }
.hero .hero-stats .lbl{ font-size:13px; color:var(--c-muted); margin-top:6px; }
.hero .hero-stats .stat{ padding-left:24px; border-left:2px solid var(--c-yellow); }
.hero .hero-txt{ position:relative; z-index:1; }

/* 首页 banner 右侧视觉 */
.hero-visual{ position:relative; }
.hero-visual .hv-main{
  border-radius:26px; overflow:hidden; box-shadow:var(--sh-lg);
  border:6px solid #fff; transform:rotate(1.2deg); transition:transform .5s ease;
}
.hero-visual:hover .hv-main{ transform:rotate(0) scale(1.01); }
.hero-visual .hv-main img{ width:100%; height:430px; object-fit:cover; }
.hero-visual .hv-card{
  position:absolute; background:#fff; border-radius:16px; box-shadow:var(--sh-md);
  padding:14px 18px; display:flex; align-items:center; gap:12px; border:1px solid var(--c-line);
}
.hero-visual .hv-card .ic{ width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:20px; }
.hero-visual .hv-card b{ color:var(--c-ink); font-size:14px; display:block; }
.hero-visual .hv-card span{ font-size:12px; color:var(--c-muted); }
.hv-card.c1{ top:26px; left:-34px; animation:floaty 5s ease-in-out infinite; }
.hv-card.c2{ bottom:44px; right:-26px; animation:floaty 6s ease-in-out infinite reverse; }
.hv-card.c3{ bottom:-22px; left:44px; animation:floaty 5.5s ease-in-out infinite; }
@keyframes floaty{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-12px);} }

/* 波浪分隔 */
.wave-divider{ display:block; width:100%; height:70px; margin-top:-2px; }

/* ============ 内页 Banner（子页头图） ============ */
.page-banner{
  position:relative; min-height:330px; display:flex; align-items:center;
  background:linear-gradient(120deg, rgba(14,58,99,.88) 0%, rgba(20,80,128,.82) 55%, rgba(31,168,224,.72) 150%), url(../images/banner-inner.jpg) center/cover no-repeat; overflow:hidden;
}
.page-banner::before{
  content:""; position:absolute; inset:0;
  background-image:radial-gradient(rgba(255,255,255,.14) 1px, transparent 1px); background-size:24px 24px;
  mask-image:linear-gradient(90deg,#000, transparent 70%);
}
.page-banner::after{
  content:""; position:absolute; right:-120px; top:-80px; width:420px; height:420px; border-radius:50%;
  background:radial-gradient(circle, rgba(103,216,163,.35), transparent 65%);
}
.page-banner .inner{ position:relative; z-index:2; width:100%; }
.page-banner .pb-tag{ display:inline-block; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); color:#fff; padding:5px 16px; border-radius:999px; font-size:13px; letter-spacing:2px; margin-bottom:16px; }
.page-banner h1{ color:#fff; font-size:40px; letter-spacing:2px; }
.page-banner p{ color:rgba(255,255,255,.82); max-width:640px; margin-top:12px; font-size:15.5px; }
.page-banner .crumbs{ margin-top:22px; }

/* ============ 页脚 ============ */
.footer{ background:#0D2B47; color:#A9C2D8; font-size:14px; position:relative; overflow:hidden; }
.footer::before{ content:""; position:absolute; top:-140px; right:-120px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle, rgba(31,168,224,.18), transparent 65%); }
.footer .ft-top{ padding:64px 0 40px; position:relative; z-index:2; }
.footer .ft-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; }
.footer .ft-col{ min-width:0; }
.footer .ft-brand .logo img{ filter:brightness(1.4); }
.footer .ft-brand p{ margin:18px 0 22px; line-height:2; }
.footer .ft-social{ display:flex; gap:10px; }
.footer .ft-social a{ width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; font-size:15px; transition:all .3s; }
.footer .ft-social a:hover{ background:var(--c-blue); color:#fff; transform:translateY(-3px); }
.footer h4{ color:#fff; font-size:16px; margin-bottom:20px; position:relative; padding-bottom:12px; }
.footer h4::after{ content:""; position:absolute; left:0; bottom:0; width:30px; height:3px; border-radius:3px; background:linear-gradient(90deg,var(--c-blue),var(--c-green)); }
.footer .ft-links li{ margin-bottom:10px; }
.footer .ft-links a{ display:inline-flex; align-items:center; gap:8px; color:#A9C2D8; transition:all .25s; }
.footer .ft-links a::before{ content:""; width:6px; height:6px; border-radius:2px; background:var(--c-green); opacity:.7; transform:rotate(45deg); }
.footer .ft-links a:hover{ color:#fff; padding-left:4px; }
.footer .ft-contact li{ display:flex; gap:12px; margin-bottom:14px; line-height:1.7; }
.footer .ft-contact .fic{ width:34px; height:34px; flex-shrink:0; border-radius:10px; background:rgba(31,168,224,.16); color:#5FC6EE; display:flex; align-items:center; justify-content:center; font-size:15px; }
.footer .ft-contact a:hover{ color:#fff; }
.footer .ft-code{ display:flex; gap:14px; margin-top:16px; }
.footer .ft-code .qr{ width:92px; height:92px; border-radius:12px; background:#fff; padding:6px; display:flex; align-items:center; justify-content:center; font-size:12px; color:var(--c-ink); text-align:center; }
.footer .ft-bottom{ border-top:1px solid rgba(255,255,255,.08); padding:20px 0; position:relative; z-index:2; }
.footer .ft-bottom .container{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.footer .ft-bottom a{ color:#8FB3CE; }
.footer .ft-bottom a:hover{ color:#fff; }
.footer .icp{ display:inline-flex; align-items:center; gap:6px; }

/* ============ 首页-快速入口卡片 ============ */
.quick-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.quick-card{
  background:#fff; border:1px solid var(--c-line); border-radius:20px; padding:30px 26px;
  transition:all .35s ease; position:relative; overflow:hidden; display:block;
}
.quick-card::after{ content:""; position:absolute; right:-34px; bottom:-34px; width:100px; height:100px; border-radius:50%; background:var(--c-blue-soft); transition:all .4s ease; }
.quick-card:hover{ transform:translateY(-8px); box-shadow:var(--sh-lg); border-color:transparent; }
.quick-card:hover::after{ transform:scale(2.4); background:var(--c-blue); }
.quick-card .qic{ width:56px; height:56px; border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:26px; margin-bottom:18px; position:relative; z-index:1; }
.quick-card h3{ font-size:17px; margin-bottom:8px; position:relative; z-index:1; }
.quick-card p{ font-size:13px; color:var(--c-muted); line-height:1.7; position:relative; z-index:1; }
.quick-card .go{ position:relative; z-index:1; display:inline-flex; align-items:center; gap:6px; margin-top:14px; font-size:13px; font-weight:600; color:var(--c-blue-d); opacity:0; transform:translateX(-8px); transition:all .3s; }
.quick-card:hover .go{ opacity:1; transform:none; color:#fff; }
.qc-blue{ background:var(--c-blue-soft); color:var(--c-blue-d); }
.qc-green{ background:var(--c-green-soft); color:var(--c-green-d); }
.qc-yellow{ background:var(--c-yellow-soft); color:#9A7400; }
.qc-mix{ background:linear-gradient(135deg,var(--c-blue-soft),var(--c-green-soft)); color:var(--c-blue-d); }

/* ============ 首页-服务总览卡片 ============ */
.svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.svc-card{
  background:#fff; border-radius:22px; border:1px solid var(--c-line); padding:34px 30px;
  transition:all .35s ease; position:relative; overflow:hidden; display:block;
}
.svc-card::before{ content:""; position:absolute; left:0; top:0; width:100%; height:5px; background:linear-gradient(90deg,var(--c-blue),var(--c-green)); transform:scaleX(0); transform-origin:left; transition:transform .4s ease; }
.svc-card:hover{ transform:translateY(-8px); box-shadow:var(--sh-lg); border-color:transparent; }
.svc-card:hover::before{ transform:scaleX(1); }
.svc-card .sic{ width:60px; height:60px; border-radius:18px; display:flex; align-items:center; justify-content:center; font-size:28px; margin-bottom:20px; }
.svc-card h3{ font-size:18px; margin-bottom:10px; }
.svc-card p{ font-size:13.5px; color:var(--c-muted); line-height:1.85; }
.svc-card .svc-more{ display:inline-flex; align-items:center; gap:6px; margin-top:16px; font-size:13px; font-weight:600; color:var(--c-blue-d); }
.svc-card:hover .svc-more{ color:var(--c-blue); }
.svc-card .svc-no{ position:absolute; right:20px; top:14px; font-size:44px; font-weight:800; color:var(--c-bg-2); line-height:1; }

/* ============ 首页-数字统计条 ============ */
.count-strip{ background:linear-gradient(120deg, rgba(14,58,99,.92), rgba(20,80,128,.90), rgba(14,127,192,.90)), url(../images/banner-home-2.jpg) center/cover no-repeat; border-radius:26px; padding:54px 40px; color:#fff; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center; position:relative; overflow:hidden; }
.count-strip::before{ content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.10) 1px, transparent 1px); background-size:20px 20px; }
.count-strip .cs-item{ position:relative; z-index:2; }
.count-strip .cs-num{ font-size:42px; font-weight:800; line-height:1; }
.count-strip .cs-num i{ font-style:normal; color:var(--c-yellow); }
.count-strip .cs-lbl{ margin-top:10px; font-size:14px; color:rgba(255,255,255,.8); }

/* ============ 首页-流程 ============ */
.process{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; position:relative; }
.process .step{ text-align:center; position:relative; }
.process .step .dot-n{ width:66px; height:66px; margin:0 auto 18px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:800; color:#fff; position:relative; }
.process .step h4{ font-size:16px; margin-bottom:8px; }
.process .step p{ font-size:13px; color:var(--c-muted); }
.process .step::after{ content:"→"; position:absolute; top:18px; right:-16px; font-size:20px; color:var(--c-green); z-index:2; }
.process .step:last-child::after{ display:none; }

/* ============ 首页-关于图文 ============ */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.split .sp-img{ position:relative; }
.split .sp-img .main{ border-radius:24px; overflow:hidden; box-shadow:var(--sh-md); }
.split .sp-img .main img{ width:100%; height:420px; object-fit:cover; }
.split .sp-img .float-box{ position:absolute; background:#fff; border-radius:18px; box-shadow:var(--sh-md); padding:18px 22px; border:1px solid var(--c-line); display:flex; align-items:center; gap:14px; }
.split .sp-img .float-box b{ color:var(--c-ink); font-size:26px; line-height:1; display:block; }
.split .sp-img .float-box span{ font-size:13px; color:var(--c-muted); }
.split .sp-img .fb-1{ left:-30px; bottom:34px; }
.split .sp-img .fb-2{ right:-16px; top:30px; }
.split .sp-feat{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:26px 0; }
.split .sp-feat li{ display:flex; gap:12px; align-items:flex-start; background:var(--c-bg); border-radius:14px; padding:14px 16px; }
.split .sp-feat .ic{ width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:17px; }
.split .sp-feat b{ color:var(--c-ink); font-size:14px; display:block; }
.split .sp-feat small{ color:var(--c-muted); font-size:12.5px; }
.split .sp-txt{ position:relative; z-index:1; }
.split .sp-txt h2{ font-size:30px; line-height:1.4; margin:14px 0 16px; }
.split .sp-txt p{ color:var(--c-muted); line-height:1.9; }

/* ============ 首页-案例卡片 ============ */
.case-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.case-card{ background:#fff; border-radius:20px; overflow:hidden; border:1px solid var(--c-line); transition:all .35s ease; display:block; }
.case-card:hover{ transform:translateY(-8px); box-shadow:var(--sh-lg); }
.case-card .cc-img{ position:relative; overflow:hidden; height:210px; }
.case-card .cc-img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.case-card:hover .cc-img img{ transform:scale(1.08); }
.case-card .cc-img::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(13,43,71,.55)); }
.case-card .cc-tag{ position:absolute; left:16px; top:16px; z-index:2; }
.case-card .cc-body{ padding:20px 22px 22px; }
.case-card .cc-body h3{ font-size:17px; margin-bottom:8px; }
.case-card .cc-body p{ font-size:13px; color:var(--c-muted); }
.case-card .cc-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:14px; padding-top:14px; border-top:1px dashed var(--c-line); font-size:12.5px; color:var(--c-muted); }
.case-card .cc-foot .more{ color:var(--c-blue-d); font-weight:600; }

/* ============ 首页-合作伙伴 ============ */
.partner-row{ display:grid; grid-template-columns:repeat(6,1fr); gap:18px; }
.partner-item{ height:74px; border:1px solid var(--c-line); border-radius:14px; display:flex; align-items:center; justify-content:center; background:#fff; font-weight:700; color:var(--c-muted); letter-spacing:1px; font-size:15px; transition:all .3s; }
.partner-item:hover{ border-color:var(--c-blue); color:var(--c-blue-d); box-shadow:var(--sh-sm); transform:translateY(-4px); }

/* ============ 首页-文章卡片 ============ */
.news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.news-card{ background:#fff; border-radius:20px; overflow:hidden; border:1px solid var(--c-line); transition:all .35s ease; display:flex; flex-direction:column; }
.news-card:hover{ transform:translateY(-8px); box-shadow:var(--sh-lg); }
.news-card .nc-img{ height:190px; overflow:hidden; position:relative; }
.news-card .nc-img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.news-card:hover .nc-img img{ transform:scale(1.08); }
.news-card .nc-date{ position:absolute; left:16px; bottom:14px; background:rgba(255,255,255,.94); border-radius:10px; padding:6px 14px; font-size:12px; color:var(--c-blue-d); font-weight:700; z-index:2; }
.news-card .nc-body{ padding:20px 22px 22px; display:flex; flex-direction:column; flex:1; }
.news-card h3{ font-size:16px; line-height:1.5; margin-bottom:10px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news-card h3 a:hover{ color:var(--c-blue-d); }
.news-card p{ font-size:13px; color:var(--c-muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news-card .nc-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:14px; font-size:12.5px; color:var(--c-muted); }

/* ============ 首页-周/月新闻（列表型） ============ */
.home-news-mid{ border-top:1px dashed var(--c-line); padding-top:26px; }
.home-news-week, .home-news-month{ display:flex; flex-direction:column; gap:14px; }
.hnw-item{ display:flex; align-items:center; gap:18px; background:#fff; border:1px solid var(--c-line); border-left:4px solid var(--c-green); border-radius:14px; padding:16px 20px; transition:all .3s; }
.hnw-item:hover{ transform:translateX(8px); box-shadow:var(--sh-md); border-left-color:var(--c-blue); }
.hnw-idx{ flex:0 0 44px; height:44px; border-radius:12px; background:linear-gradient(135deg,var(--c-green),#3FB87F); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; font-size:18px; }
.hnw-main{ flex:1; min-width:0; }
.hnw-main h3{ font-size:15.5px; line-height:1.5; margin-bottom:5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hnw-item:hover .hnw-main h3{ color:var(--c-blue-d); }
.hnw-main p{ font-size:12.5px; color:var(--c-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hnw-meta{ flex:0 0 auto; display:flex; align-items:center; gap:14px; font-size:12px; color:var(--c-muted); }
.hnw-meta b{ color:var(--c-blue-d); font-weight:700; white-space:nowrap; }
.hnm-item{ display:flex; align-items:center; gap:20px; background:#fff; border:1px solid var(--c-line); border-radius:14px; padding:16px 20px; transition:all .3s; }
.hnm-item:hover{ transform:translateY(-3px); box-shadow:var(--sh-md); }
.hnm-date{ flex:0 0 86px; text-align:center; padding-right:20px; border-right:1px dashed var(--c-line); }
.hnm-date b{ display:block; font-size:11px; color:var(--c-yellow); letter-spacing:.5px; font-weight:800; }
.hnm-main{ flex:1; min-width:0; }
.hnm-main h3{ font-size:15.5px; line-height:1.5; margin-bottom:5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hnm-item:hover .hnm-main h3{ color:var(--c-blue-d); }
.hnm-main p{ font-size:12.5px; color:var(--c-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hnm-more{ flex:0 0 auto; width:34px; height:34px; border-radius:50%; background:var(--c-yellow-soft); color:#9A7400; display:flex; align-items:center; justify-content:center; font-size:16px; transition:all .3s; }
.hnm-item:hover .hnm-more{ background:var(--c-yellow); color:#5B4600; transform:rotate(-45deg); }

/* ============ 首页-横幅 CTA ============ */
.cta-banner{
  position:relative; border-radius:28px; overflow:hidden; padding:64px 60px; color:#fff;
  background:linear-gradient(120deg,#0E3A63, #0E7FC0 80%, #1FA8E0); text-align:center;
}
.cta-banner::before{ content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.14) 1px, transparent 1px); background-size:22px 22px; }
.cta-banner h2{ color:#fff; font-size:32px; letter-spacing:1px; position:relative; z-index:2; }
.cta-banner p{ color:rgba(255,255,255,.85); margin:14px auto 28px; max-width:600px; position:relative; z-index:2; }
.cta-banner .cta-btns{ position:relative; z-index:2; display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.cta-banner .cb-dot{ position:absolute; border-radius:50%; background:rgba(255,255,255,.12); }
.cta-banner .cb-dot.d1{ width:130px; height:130px; left:-40px; top:-40px; }
.cta-banner .cb-dot.d2{ width:90px; height:90px; right:30px; bottom:-30px; background:rgba(255,212,59,.2); }

/* ============ 关于页-团队 ============ */
.team-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.team-card{ background:#fff; border-radius:20px; overflow:hidden; border:1px solid var(--c-line); transition:all .35s; text-align:center; }
.team-card:hover{ transform:translateY(-8px); box-shadow:var(--sh-lg); }
.team-card .tc-img{ height:300px; overflow:hidden; position:relative; }
.team-card .tc-img img{ width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .6s; }
.team-card:hover .tc-img img{ transform:scale(1.06); }
.team-card .tc-img::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 60%, rgba(19,58,94,.5)); }
.team-card .tc-body{ padding:20px 20px 24px; }
.team-card h3{ font-size:17px; }
.team-card .role{ display:inline-block; margin:8px 0 10px; font-size:12.5px; color:var(--c-blue-d); background:var(--c-blue-soft); padding:3px 12px; border-radius:999px; }
.team-card p{ font-size:13px; color:var(--c-muted); }

/* ============ 关于页-资质 ============ */
.honor-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.honor-card{ background:#fff; border:1px solid var(--c-line); border-radius:18px; padding:26px 20px; text-align:center; transition:all .35s; position:relative; overflow:hidden; }
.honor-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--c-yellow),var(--c-green)); transform:scaleX(0); transition:transform .4s; }
.honor-card:hover{ transform:translateY(-6px); box-shadow:var(--sh-md); }
.honor-card:hover::before{ transform:scaleX(1); }
.honor-card .hic{ width:58px; height:58px; margin:0 auto 16px; border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:26px; }
.honor-card h4{ font-size:15px; margin-bottom:8px; }
.honor-card p{ font-size:12.5px; color:var(--c-muted); }

/* ============ 关于页-历程时间轴 ============ */
.timeline{ position:relative; max-width:900px; margin:0 auto; padding-left:34px; }
.timeline::before{ content:""; position:absolute; left:10px; top:6px; bottom:6px; width:3px; border-radius:3px; background:linear-gradient(180deg,var(--c-blue),var(--c-green),var(--c-yellow)); }
.timeline .tl-item{ position:relative; margin-bottom:34px; }
.timeline .tl-item::before{ content:""; position:absolute; left:-34px; top:8px; width:23px; height:23px; border-radius:50%; background:#fff; border:6px solid var(--c-blue); box-shadow:0 0 0 4px var(--c-blue-soft); }
.timeline .tl-year{ font-size:20px; font-weight:800; color:var(--c-blue-d); }
.timeline .tl-card{ background:#fff; border:1px solid var(--c-line); border-radius:16px; padding:20px 24px; box-shadow:var(--sh-sm); }
.timeline .tl-card h4{ font-size:16px; margin-bottom:6px; }
.timeline .tl-card p{ font-size:13.5px; color:var(--c-muted); }

/* ============ 服务页-能力清单 ============ */
.cap-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.cap-item{ display:flex; gap:16px; background:#fff; border:1px solid var(--c-line); border-radius:16px; padding:22px; transition:all .3s; }
.cap-item:hover{ box-shadow:var(--sh-md); transform:translateY(-4px); border-color:var(--c-blue); }
.cap-item .cic{ width:48px; height:48px; flex-shrink:0; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:22px; }
.cap-item h4{ font-size:15.5px; margin-bottom:6px; }
.cap-item p{ font-size:13px; color:var(--c-muted); }

/* ============ 服务页-收费阶梯 ============ */
.price-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; align-items:stretch; }
.price-card{ background:#fff; border:1px solid var(--c-line); border-radius:24px; padding:36px 30px; transition:all .35s; position:relative; display:flex; flex-direction:column; }
.price-card:hover{ transform:translateY(-8px); box-shadow:var(--sh-lg); }
.price-card.hot{ border-color:var(--c-blue); box-shadow:var(--sh-blue); }
.price-card .hot-badge{ position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--c-yellow); color:#5A4300; font-size:12px; font-weight:700; padding:5px 18px; border-radius:999px; }
.price-card .p-name{ font-size:18px; font-weight:700; color:var(--c-ink); }
.price-card .p-sub{ font-size:13px; color:var(--c-muted); margin-top:4px; }
.price-card .p-price{ margin:22px 0; display:flex; align-items:baseline; gap:4px; }
.price-card .p-price .cur{ font-size:18px; color:var(--c-muted); }
.price-card .p-price .val{ font-size:46px; font-weight:800; color:var(--c-blue-d); line-height:1; }
.price-card .p-price .unit{ font-size:13px; color:var(--c-muted); }
.price-card .p-feats{ flex:1; }
.price-card .p-feats li{ padding:8px 0 8px 28px; position:relative; font-size:13.5px; color:var(--c-body); border-bottom:1px dashed var(--c-line); }
.price-card .p-feats li::before{ content:"✓"; position:absolute; left:0; top:8px; width:18px; height:18px; background:var(--c-green-soft); color:var(--c-green-d); border-radius:50%; font-size:11px; display:flex; align-items:center; justify-content:center; }
.price-card .p-cta{ margin-top:26px; text-align:center; }

/* ============ 服务页-常见问题 ============ */
.faq-list{ max-width:860px; margin:0 auto; }
.faq-item{ background:#fff; border:1px solid var(--c-line); border-radius:16px; margin-bottom:14px; overflow:hidden; transition:all .3s; }
.faq-item.open{ box-shadow:var(--sh-md); border-color:var(--c-blue); }
.faq-item .faq-q{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; cursor:pointer; font-weight:600; color:var(--c-ink); font-size:15.5px; }
.faq-item .faq-q .mark{ width:30px; height:30px; flex-shrink:0; border-radius:50%; background:var(--c-blue-soft); color:var(--c-blue-d); display:flex; align-items:center; justify-content:center; font-size:18px; transition:all .3s; }
.faq-item.open .faq-q .mark{ transform:rotate(45deg); background:var(--c-blue); color:#fff; }
.faq-item .faq-a{ max-height:0; overflow:hidden; transition:max-height .4s ease; }
.faq-item .faq-a .inner{ padding:0 24px 22px; color:var(--c-body); font-size:14px; }

/* ============ 案例详情页 ============ */
.case-hero-img{ border-radius:24px; overflow:hidden; box-shadow:var(--sh-md); }
.case-hero-img img{ width:100%; max-height:460px; object-fit:cover; }
.meta-card{ background:#fff; border:1px solid var(--c-line); border-radius:18px; padding:24px; }
.meta-card li{ display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px dashed var(--c-line); font-size:14px; }
.meta-card li:last-child{ border-bottom:0; }
.meta-card li span{ color:var(--c-muted); }
.meta-card li b{ color:var(--c-ink); }

/* ============ 详情内容排版 ============ */
.article-body{ background:#fff; border:1px solid var(--c-line); border-radius:20px; padding:40px; }
.article-body h2{ font-size:22px; margin:30px 0 14px; padding-left:16px; border-left:4px solid var(--c-blue); }
.article-body h3{ font-size:18px; margin:24px 0 12px; }
.article-body p{ margin-bottom:16px; font-size:15px; }
.article-body ul{ margin:12px 0 18px; }
.article-body ul li{ padding:6px 0 6px 26px; position:relative; }
.article-body ul li::before{ content:""; position:absolute; left:4px; top:16px; width:9px; height:9px; border-radius:3px; background:var(--c-green); }
.article-body img{ border-radius:14px; margin:18px 0; }
.article-body blockquote{ border-left:4px solid var(--c-yellow); background:var(--c-yellow-soft); padding:16px 20px; border-radius:0 12px 12px 0; margin:18px 0; font-size:14.5px; color:var(--c-ink); }

/* 两栏布局（正文+侧栏 / 正文+表单） */
.cols-side{ grid-template-columns:1fr 320px; align-items:start; }
.cols-wide{ grid-template-columns:1.15fr 1fr; align-items:start; }

/* ============ 资讯列表页 ============ */
.news-list-item{ display:grid; grid-template-columns:320px 1fr; gap:26px; background:#fff; border:1px solid var(--c-line); border-radius:18px; overflow:hidden; transition:all .35s; margin-bottom:22px; }
.news-list-item:hover{ box-shadow:var(--sh-md); transform:translateY(-4px); border-color:transparent; }
.news-list-item .nli-img{ position:relative; overflow:hidden; }
.news-list-item .nli-img img{ width:100%; height:100%; min-height:200px; object-fit:cover; transition:transform .5s; }
.news-list-item:hover .nli-img img{ transform:scale(1.06); }
.news-list-item .nli-body{ padding:24px 26px; display:flex; flex-direction:column; }
.news-list-item h3{ font-size:19px; margin-bottom:10px; }
.news-list-item h3 a:hover{ color:var(--c-blue-d); }
.news-list-item p{ font-size:14px; color:var(--c-muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news-list-item .nli-foot{ margin-top:auto; padding-top:14px; display:flex; align-items:center; gap:18px; font-size:12.5px; color:var(--c-muted); }
.news-list-item .nli-foot .more{ margin-left:auto; color:var(--c-blue-d); font-weight:600; }
.news-list-wrap{ display:flex; flex-direction:column; }

/* 资讯详情-相关/最新/周/日/月列表 */
.related-item{ padding:12px 4px; border-bottom:1px dashed var(--c-line); }
.related-item:last-child{ border-bottom:0; }
.related-item h5{ font-size:14px; line-height:1.6; margin-bottom:6px; font-weight:600; }
.related-item h5 a:hover{ color:var(--c-blue-d); }
.related-item span{ font-size:12px; color:var(--c-muted); }

/* 侧边栏 */
.side-card{ background:#fff; border:1px solid var(--c-line); border-radius:16px; padding:22px; margin-bottom:22px; }
.side-card h4{ font-size:16px; margin-bottom:16px; padding-bottom:12px; border-bottom:2px solid var(--c-bg-2); position:relative; }
.side-card h4::after{ content:""; position:absolute; left:0; bottom:-2px; width:38px; height:2px; background:var(--c-blue); }
.side-card .side-link li{ margin-bottom:4px; }
.side-card .side-link a{ display:flex; align-items:center; justify-content:space-between; padding:9px 10px; border-radius:10px; font-size:13.5px; color:var(--c-body); transition:all .25s; }
.side-card .side-link a:hover,.side-card .side-link a.active{ background:var(--c-blue-soft); color:var(--c-blue-d); padding-left:16px; }
.side-card .side-hot li{ display:flex; gap:12px; padding:10px 0; border-bottom:1px dashed var(--c-line); }
.side-card .side-hot li:last-child{ border-bottom:0; }
.side-card .side-hot .idx{ font-size:20px; font-weight:800; color:var(--c-blue); line-height:1.2; }
.side-card .side-hot a{ font-size:13px; line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.side-card .side-hot a:hover{ color:var(--c-blue-d); }

/* 分页 */
.pagination{ display:flex; justify-content:center; gap:8px; margin-top:40px; flex-wrap:wrap; }
.pagination a,.pagination span{ min-width:42px; height:42px; padding:0 8px; border-radius:12px; border:1px solid var(--c-line); display:flex; align-items:center; justify-content:center; font-size:14px; color:var(--c-body); background:#fff; transition:all .25s; }
.pagination a:hover{ border-color:var(--c-blue); color:var(--c-blue-d); }
.pagination .current{ background:var(--c-blue); color:#fff; border-color:var(--c-blue); }

/* ============ 表单 ============ */
.form-card{ background:#fff; border:1px solid var(--c-line); border-radius:22px; padding:36px; box-shadow:var(--sh-sm); }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-item{ display:flex; flex-direction:column; gap:8px; }
.form-item.full{ grid-column:1/-1; }
.form-item label{ font-size:13.5px; font-weight:600; color:var(--c-ink); }
.form-item label em{ color:#E5484D; font-style:normal; }
.form-item input,.form-item textarea,.form-item select{ border:1px solid var(--c-line); border-radius:12px; padding:13px 16px; font-size:14px; color:var(--c-ink); background:var(--c-bg); transition:all .25s; width:100%; }
.form-item input:focus,.form-item textarea:focus,.form-item select:focus{ outline:none; border-color:var(--c-blue); background:#fff; box-shadow:0 0 0 4px var(--c-blue-soft); }
.form-item textarea{ resize:vertical; min-height:130px; }
.form-tip{ font-size:12px; color:var(--c-muted); }

/* 联系信息卡 */
.contact-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.contact-card{ background:#fff; border:1px solid var(--c-line); border-radius:20px; padding:30px 26px; text-align:center; transition:all .35s; }
.contact-card:hover{ transform:translateY(-6px); box-shadow:var(--sh-lg); border-color:transparent; }
.contact-card .cic{ width:62px; height:62px; margin:0 auto 18px; border-radius:18px; display:flex; align-items:center; justify-content:center; font-size:28px; }
.contact-card h4{ font-size:16px; margin-bottom:8px; }
.contact-card p{ font-size:13.5px; color:var(--c-muted); }
.contact-card a{ color:var(--c-blue-d); font-weight:600; }

/* ============ 表格 ============ */
.tbl{ width:100%; border-collapse:collapse; background:#fff; border-radius:14px; overflow:hidden; border:1px solid var(--c-line); }
.tbl th{ background:var(--c-ink); color:#fff; padding:13px 16px; font-size:14px; text-align:left; }
.tbl td{ padding:12px 16px; border-bottom:1px solid var(--c-line); font-size:13.5px; }
.tbl tr:nth-child(even) td{ background:var(--c-bg); }
.tbl tr:hover td{ background:var(--c-blue-soft); }

/* ============ 行业页-方案卡片 ============ */
.solution-hero{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.solution-hero .sh-img{ border-radius:22px; overflow:hidden; box-shadow:var(--sh-lg); position:relative; }
.solution-hero .sh-img img{ width:100%; height:380px; object-fit:cover; }
.solution-hero .sh-img .sh-badge{ position:absolute; left:20px; bottom:20px; background:rgba(255,255,255,.94); border-radius:14px; padding:10px 18px; display:flex; gap:14px; align-items:center; box-shadow:var(--sh-md); }
.solution-hero .sh-img .sh-badge b{ color:var(--c-blue-d); font-size:22px; display:block; line-height:1; }
.solution-hero .sh-img .sh-badge span{ font-size:12px; color:var(--c-muted); }

/* 行业方案列表 */
.plan-card{ background:#fff; border:1px solid var(--c-line); border-radius:18px; padding:26px; transition:all .3s; display:block; position:relative; overflow:hidden; }
.plan-card:hover{ transform:translateY(-6px); box-shadow:var(--sh-lg); border-color:transparent; }
.plan-card .pno{ position:absolute; right:18px; top:12px; font-size:38px; font-weight:800; color:var(--c-bg-2); }
.plan-card h4{ font-size:16px; margin-bottom:8px; padding-right:44px; }
.plan-card p{ font-size:13px; color:var(--c-muted); }

/* 步骤横向 */
.step-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.step-row .sr-item{ background:#fff; border:1px solid var(--c-line); border-radius:18px; padding:26px; text-align:center; position:relative; transition:all .3s; }
.step-row .sr-item:hover{ box-shadow:var(--sh-md); transform:translateY(-6px); }
.step-row .sr-n{ width:48px; height:48px; margin:0 auto 16px; border-radius:50%; background:linear-gradient(135deg,var(--c-blue),var(--c-green)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:19px; font-weight:800; }
.step-row h4{ font-size:15.5px; margin-bottom:8px; }
.step-row p{ font-size:13px; color:var(--c-muted); }

/* ============ 404 ============ */
.error-page{ min-height:70vh; display:flex; align-items:center; justify-content:center; text-align:center; background:radial-gradient(800px 400px at 50% 30%, var(--c-blue-soft), transparent 60%), var(--c-bg); }
.error-page .err-code{ font-size:130px; font-weight:800; color:var(--c-blue); line-height:1; letter-spacing:8px; position:relative; display:inline-block; }
.error-page .err-code span{ color:var(--c-yellow); }
.error-page h2{ font-size:28px; margin:16px 0 10px; }
.error-page p{ color:var(--c-muted); margin-bottom:30px; }

/* ============ 地图占位 ============ */
.map-box{ border-radius:20px; overflow:hidden; border:1px solid var(--c-line); background:var(--c-bg-2); min-height:380px; display:flex; align-items:center; justify-content:center; position:relative; }
.map-box::before{ content:""; position:absolute; inset:0; background-image:radial-gradient(var(--c-line) 1px, transparent 1px); background-size:22px 22px; }

/* 浮动咨询条 */
.float-consult{ position:fixed; right:22px; bottom:96px; z-index:40; display:flex; flex-direction:column; gap:12px; }
.float-consult a{ width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:22px; color:#fff; box-shadow:var(--sh-md); transition:all .3s; }
.float-consult a:hover{ transform:scale(1.1); }
.float-consult .f-qq{ background:var(--c-blue); }
.float-consult .f-tel{ background:var(--c-green); }
.float-consult .f-msg{ background:var(--c-yellow); color:#5A4300; }

/* ============ 版权标语 ============ */
.trust-bar{ display:flex; flex-wrap:wrap; gap:18px; justify-content:center; }
.trust-bar li{ display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--c-line); border-radius:999px; padding:10px 22px; font-size:14px; color:var(--c-ink); font-weight:600; }
.trust-bar .tic{ width:26px; height:26px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:14px; color:#fff; }

/* ==========================================================================
   扩展 · 营销型长页面模块
   模块目录：
   A. 痛点对照 vs-*
   B. 客户评价 testimonial-*
   C. 数据大看板 metrics-*
   D. 对比表 compare-*
   E. Tab 切换 tabs-*
   F. 功能矩阵 / 特性卡 feat-*
   G. 价值阶梯 / 漏斗 funnel-*
   H. 行业新闻聚合大卡 featured-*
   I. 侧边锚点 / 粘性子导航 anchor-*
   J. 滚动跑马灯 marquee
   K. 售后保障 warranty-*
   L. 大引用 blockquote-big
   M. 图文卡带双数字 badge-card
   N. 特色条带 ribbon-strip
   O. 阶梯展示 card-ladder
   P. 客户成功故事 success-story
   Q. 资讯瀑布流 water-fall
   R. 粘性悬浮转化条 sticky-cta-bar
   ========================================================================== */

/* ========== A. 痛点对照 (痛点 + 我们方案) ========== */
.vs-grid{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.vs-card{ border-radius:24px; padding:36px 34px; position:relative; overflow:hidden; transition:all .35s; }
.vs-card:hover{ transform:translateY(-6px); }
.vs-pain{ background:linear-gradient(160deg,#FFF1F1,#FFE4E0); border:1px solid #F7D9D4; color:#7A2A1F; }
.vs-gain{ background:linear-gradient(160deg,#EFFBF4,#E0F7EA); border:1px solid #CAEFDB; color:#1F5F3F; }
.vs-card::before{ content:""; position:absolute; top:28px; right:28px; font-size:90px; font-weight:900; opacity:.08; line-height:1; }
.vs-pain::before{ content:"×"; }
.vs-gain::before{ content:"✓"; }
.vs-card .vs-label{ display:inline-block; padding:5px 14px; border-radius:999px; font-size:12px; font-weight:700; letter-spacing:1px; margin-bottom:18px; }
.vs-pain .vs-label{ background:#E5484D; color:#fff; }
.vs-gain .vs-label{ background:#2FA96F; color:#fff; }
.vs-card h3{ font-size:20px; margin-bottom:16px; position:relative; z-index:1; }
.vs-pain h3{ color:#5E1C14; } .vs-gain h3{ color:#0F4A2E; }
.vs-card ul{ display:flex; flex-direction:column; gap:10px; position:relative; z-index:1; }
.vs-card li{ padding:12px 14px; border-radius:12px; background:rgba(255,255,255,.55); display:flex; align-items:flex-start; gap:10px; font-size:14px; line-height:1.7; }
.vs-card li b{ font-weight:700; }
.vs-pain li::before{ content:"!"; flex:0 0 22px; height:22px; background:#E5484D; color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800; }
.vs-gain li::before{ content:"✓"; flex:0 0 22px; height:22px; background:#2FA96F; color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; }

/* ========== B. 客户评价 ========== */
.testimonial-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.testi-card{ background:#fff; border-radius:24px; padding:34px 30px 30px; border:1px solid var(--c-line); position:relative; transition:all .35s; }
.testi-card:hover{ transform:translateY(-8px); box-shadow:var(--sh-lg); }
.testi-card::before{ content:"\201C"; position:absolute; top:18px; right:26px; font-size:80px; line-height:1; color:var(--c-blue-soft); font-family:Georgia,serif; }
.testi-card .quote{ color:var(--c-body); font-size:15px; line-height:1.9; min-height:108px; padding-bottom:22px; margin-bottom:18px; border-bottom:1px dashed var(--c-line); position:relative; z-index:1; }
.testi-card .t-author{ display:flex; align-items:center; gap:14px; position:relative; z-index:1; }
.testi-card .avatar{ width:54px; height:54px; border-radius:50%; background:linear-gradient(135deg,var(--c-blue),var(--c-green)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:700; flex-shrink:0; }
.testi-card .t-name{ font-size:15px; font-weight:700; color:var(--c-ink); }
.testi-card .t-role{ font-size:12.5px; color:var(--c-muted); margin-top:2px; }
.testi-card .t-tag{ display:inline-block; margin-top:6px; padding:2px 10px; background:var(--c-yellow-soft); color:#8A6500; border-radius:999px; font-size:11px; font-weight:600; }

/* ========== C. 数据大看板 ========== */
.metrics-wrap{ background:linear-gradient(120deg,#0B2E4E,#133A5E 50%,#0E7FC0); border-radius:28px; overflow:hidden; position:relative; color:#fff; }
.metrics-wrap::before{ content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.10) 1px, transparent 1px); background-size:22px 22px; }
.metrics-wrap::after{ content:""; position:absolute; left:-140px; bottom:-100px; width:400px; height:400px; border-radius:50%; background:radial-gradient(circle, rgba(103,216,163,.25), transparent 65%); }
.metrics-inner{ position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:56px; padding:64px 60px; align-items:center; }
.metrics-left h2{ color:#fff; font-size:30px; line-height:1.4; margin-bottom:16px; }
.metrics-left h2 em{ font-style:normal; color:var(--c-yellow); }
.metrics-left p{ color:rgba(255,255,255,.8); margin-bottom:26px; font-size:15px; }
.metrics-right{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.metric-box{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:20px; padding:28px 24px; backdrop-filter:blur(10px); transition:all .35s; }
.metric-box:hover{ transform:translateY(-4px); background:rgba(255,255,255,.12); }
.metric-box .m-num{ font-size:40px; font-weight:800; line-height:1; color:var(--c-yellow); }
.metric-box .m-unit{ color:#DCEAF6; font-size:15px; font-weight:600; margin-left:4px; }
.metric-box .m-lbl{ margin-top:12px; font-size:13.5px; color:rgba(255,255,255,.75); }
.metric-box .m-tag{ display:inline-block; margin-top:10px; padding:3px 10px; border-radius:999px; font-size:11px; font-weight:600; background:rgba(103,216,163,.2); color:#BFF2D9; }

/* ========== D. 对比表 (我们 vs 同行) ========== */
.compare-table{ background:#fff; border-radius:24px; border:1px solid var(--c-line); overflow:hidden; box-shadow:var(--sh-sm); }
.compare-table table{ width:100%; border-collapse:collapse; }
.compare-table thead th{ padding:22px 26px; font-size:15px; text-align:left; color:#fff; font-weight:700; }
.compare-table thead th:first-child{ background:#133A5E; width:26%; }
.compare-table thead th:nth-child(2){ background:#6B7F94; }
.compare-table thead th:last-child{ background:var(--c-blue); position:relative; }
.compare-table thead th:last-child::after{ content:"优选"; position:absolute; top:8px; right:10px; background:var(--c-yellow); color:#5A4300; font-size:11px; padding:2px 10px; border-radius:999px; font-weight:700; }
.compare-table tbody tr{ border-bottom:1px solid var(--c-line); transition:background .2s; }
.compare-table tbody tr:last-child{ border-bottom:0; }
.compare-table tbody tr:hover{ background:var(--c-blue-soft); }
.compare-table tbody td{ padding:18px 26px; font-size:14px; color:var(--c-body); vertical-align:middle; }
.compare-table tbody td:first-child{ font-weight:600; color:var(--c-ink); background:var(--c-bg); }
.compare-table tbody td:nth-child(2){ color:var(--c-muted); }
.compare-table tbody td:last-child{ color:var(--c-blue-d); font-weight:600; background:var(--c-blue-soft); }
.compare-table .c-yes{ color:#2FA96F; font-weight:700; }
.compare-table .c-no{ color:#B14141; }
.compare-table .c-semi{ color:#C18A00; }

/* ========== E. Tab 切换 ========== */
.tab-wrap{ display:flex; flex-direction:column; }
.tab-nav{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-bottom:36px; }
.tab-nav .tab-btn{ padding:10px 22px; border:2px solid var(--c-line); background:#fff; border-radius:999px; font-size:14px; font-weight:600; color:var(--c-body); transition:all .25s; cursor:pointer; }
.tab-nav .tab-btn:hover{ border-color:var(--c-blue); color:var(--c-blue-d); }
.tab-nav .tab-btn.active{ background:var(--c-blue); border-color:var(--c-blue); color:#fff; box-shadow:var(--sh-blue); }
.tab-panel{ display:none; animation:fadeUp .4s ease; }
.tab-panel.active{ display:block; }
@keyframes fadeUp{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;} }

/* ========== F. 功能矩阵卡片 ========== */
.feat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.feat-item{ background:#fff; border-radius:18px; padding:28px 24px; border:1px solid var(--c-line); transition:all .35s; position:relative; }
.feat-item:hover{ transform:translateY(-6px); box-shadow:var(--sh-md); border-color:var(--c-green); }
.feat-item .f-icon{ width:54px; height:54px; border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:24px; margin-bottom:18px; }
.feat-item h4{ font-size:16px; margin-bottom:8px; }
.feat-item p{ font-size:13px; color:var(--c-muted); line-height:1.8; }
.feat-item .f-list{ margin-top:14px; display:flex; flex-direction:column; gap:6px; }
.feat-item .f-list li{ font-size:12.5px; color:var(--c-body); padding-left:18px; position:relative; }
.feat-item .f-list li::before{ content:""; position:absolute; left:0; top:10px; width:8px; height:2px; background:var(--c-green); border-radius:2px; }

/* ========== G. 漏斗 / 价值阶梯 ========== */
.funnel{ max-width:960px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:10px; }
.funnel-step{ background:#fff; border:1px solid var(--c-line); border-radius:18px; padding:22px 30px; display:flex; align-items:center; justify-content:space-between; gap:24px; transition:all .35s; width:100%; box-shadow:var(--sh-sm); }
.funnel-step:nth-child(1){ width:100%; background:linear-gradient(90deg,#E7F6FD,#fff); }
.funnel-step:nth-child(2){ width:90%; background:linear-gradient(90deg,#EAFBF3,#fff); }
.funnel-step:nth-child(3){ width:80%; background:linear-gradient(90deg,#FFF7DE,#fff); }
.funnel-step:nth-child(4){ width:70%; background:linear-gradient(90deg,#E7F6FD,#fff); }
.funnel-step:nth-child(5){ width:60%; background:linear-gradient(90deg,#EAFBF3,#fff); }
.funnel-step:hover{ transform:translateX(10px); box-shadow:var(--sh-lg); }
.funnel-step .fs-left{ display:flex; align-items:center; gap:16px; flex:1; }
.funnel-step .fs-num{ width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,var(--c-blue),var(--c-green)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:800; flex-shrink:0; }
.funnel-step h4{ font-size:16px; margin-bottom:2px; }
.funnel-step p{ font-size:13px; color:var(--c-muted); }
.funnel-step .fs-rate{ flex-shrink:0; padding:6px 14px; border-radius:999px; background:var(--c-blue-soft); color:var(--c-blue-d); font-size:13px; font-weight:700; }

/* ========== H. 资讯聚合大卡 / 焦点推荐 ========== */
.featured-news{ display:grid; grid-template-columns:1.2fr 1fr; gap:24px; }
.featured-big{ position:relative; border-radius:22px; overflow:hidden; min-height:420px; }
.featured-big img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.featured-big:hover img{ transform:scale(1.06); }
.featured-big::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(13,43,71,.92)); }
.featured-big .fb-body{ position:absolute; left:0; right:0; bottom:0; padding:30px; z-index:2; color:#fff; }
.featured-big .tag{ margin-bottom:14px; }
.featured-big h3{ font-size:22px; color:#fff; line-height:1.45; margin-bottom:8px; }
.featured-big p{ color:rgba(255,255,255,.85); font-size:14px; line-height:1.8; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.featured-big .fb-meta{ margin-top:14px; font-size:12.5px; color:rgba(255,255,255,.75); display:flex; gap:16px; align-items:center; }
.featured-stack{ display:flex; flex-direction:column; gap:16px; }
.featured-sml{ display:grid; grid-template-columns:140px 1fr; gap:18px; background:#fff; border:1px solid var(--c-line); border-radius:18px; padding:16px; transition:all .35s; }
.featured-sml:hover{ transform:translateY(-4px); box-shadow:var(--sh-md); border-color:transparent; }
.featured-sml .fs-img{ border-radius:14px; overflow:hidden; min-height:110px; }
.featured-sml .fs-img img{ width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.featured-sml:hover .fs-img img{ transform:scale(1.06); }
.featured-sml h4{ font-size:15px; line-height:1.55; margin-bottom:6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.featured-sml h4 a:hover{ color:var(--c-blue-d); }
.featured-sml p{ font-size:12.5px; color:var(--c-muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:8px; }
.featured-sml .fs-meta{ font-size:11.5px; color:var(--c-muted); }

/* ========== I. 粘性子导航 / 侧边锚点 ========== */
.anchor-nav{ position:sticky; top:100px; background:#fff; border:1px solid var(--c-line); border-radius:18px; padding:22px 20px; }
.anchor-nav h5{ font-size:14px; color:var(--c-blue-d); margin-bottom:14px; padding-bottom:10px; border-bottom:2px solid var(--c-bg-2); }
.anchor-nav ul li{ margin-bottom:4px; }
.anchor-nav ul a{ display:block; padding:8px 12px; border-radius:10px; font-size:13.5px; color:var(--c-body); transition:all .2s; position:relative; }
.anchor-nav ul a::before{ content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:3px; height:0; background:var(--c-blue); border-radius:3px; transition:height .25s; }
.anchor-nav ul a:hover,.anchor-nav ul a.active{ background:var(--c-blue-soft); color:var(--c-blue-d); padding-left:16px; }
.anchor-nav ul a.active::before{ height:18px; }

/* ========== J. 滚动跑马灯 ========== */
.marquee{ background:#fff; border-top:1px solid var(--c-line); border-bottom:1px solid var(--c-line); padding:22px 0; overflow:hidden; }
.marquee-track{ display:flex; gap:64px; white-space:nowrap; animation:marquee 30s linear infinite; }
.marquee:hover .marquee-track{ animation-play-state:paused; }
@keyframes marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
.marquee-item{ display:inline-flex; align-items:center; gap:12px; font-size:18px; font-weight:700; color:var(--c-ink); }
.marquee-item .mi-ic{ width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:18px; }

/* ========== K. 售后保障 ========== */
.warranty-wrap{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.w-card{ background:#fff; border-radius:20px; padding:30px 26px; text-align:center; border:1px solid var(--c-line); transition:all .35s; position:relative; }
.w-card::after{ content:""; position:absolute; left:50%; bottom:0; width:0; height:4px; background:linear-gradient(90deg,var(--c-blue),var(--c-green)); border-radius:4px 4px 0 0; transition:all .4s; transform:translateX(-50%); }
.w-card:hover{ transform:translateY(-6px); box-shadow:var(--sh-md); }
.w-card:hover::after{ width:100%; }
.w-card .w-ic{ width:66px; height:66px; border-radius:22px; margin:0 auto 18px; display:flex; align-items:center; justify-content:center; font-size:30px; }
.w-card h4{ font-size:16px; margin-bottom:8px; }
.w-card p{ font-size:13px; color:var(--c-muted); line-height:1.8; }

/* ========== L. 大引用 ========== */
.big-quote{ position:relative; padding:50px 60px; background:linear-gradient(135deg,var(--c-blue-soft),var(--c-green-soft)); border-radius:26px; overflow:hidden; }
.big-quote::before{ content:"\201C"; position:absolute; top:-30px; left:24px; font-size:160px; color:rgba(31,168,224,.15); font-family:Georgia,serif; line-height:1; }
.big-quote p{ font-size:22px; line-height:1.7; color:var(--c-ink); font-weight:600; letter-spacing:.5px; position:relative; z-index:1; }
.big-quote .bq-author{ margin-top:22px; display:flex; align-items:center; gap:12px; position:relative; z-index:1; }
.big-quote .bq-author .line{ flex:0 0 40px; height:2px; background:var(--c-blue); border-radius:2px; }
.big-quote .bq-author b{ font-size:15px; color:var(--c-blue-d); }
.big-quote .bq-author span{ font-size:13px; color:var(--c-muted); }

/* ========== M. 双数字卡 ========== */
.badge-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.badge-card{ background:#fff; border-radius:22px; padding:30px 26px; border:1px solid var(--c-line); position:relative; overflow:hidden; transition:all .35s; }
.badge-card:hover{ transform:translateY(-8px); box-shadow:var(--sh-lg); }
.badge-card .bc-top{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:20px; }
.badge-card .bc-tag{ padding:5px 12px; border-radius:999px; font-size:11px; font-weight:700; letter-spacing:.5px; }
.badge-card .bc-num{ font-size:44px; font-weight:800; line-height:1; color:var(--c-ink); }
.badge-card .bc-unit{ font-size:14px; color:var(--c-muted); }
.badge-card h4{ font-size:16px; margin-bottom:6px; }
.badge-card p{ font-size:13px; color:var(--c-muted); line-height:1.7; }

/* ========== N. 特色条带 ========== */
.ribbon-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--c-line); border-radius:22px; overflow:hidden; }
.ribbon-strip .rs-item{ background:#fff; padding:30px 26px; transition:all .3s; }
.ribbon-strip .rs-item:hover{ background:var(--c-blue); color:#fff; }
.ribbon-strip .rs-item:hover h4, .ribbon-strip .rs-item:hover p{ color:#fff; }
.ribbon-strip .rs-ic{ width:50px; height:50px; border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:24px; margin-bottom:18px; transition:all .3s; }
.ribbon-strip .rs-item:hover .rs-ic{ background:rgba(255,255,255,.2); color:#fff; }
.ribbon-strip h4{ font-size:16px; margin-bottom:6px; transition:color .3s; }
.ribbon-strip p{ font-size:13px; color:var(--c-muted); transition:color .3s; }

/* ========== O. 阶梯卡片 (一卡叠一卡，左中右) ========== */
.ladder{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; align-items:end; }
.ladder-card{ background:#fff; border-radius:22px; border:1px solid var(--c-line); padding:30px; transition:all .4s ease; box-shadow:var(--sh-sm); }
.ladder-card:nth-child(1){ transform:translateY(0); }
.ladder-card:nth-child(2){ transform:translateY(-30px); border-color:var(--c-blue); box-shadow:var(--sh-blue); z-index:2; }
.ladder-card:nth-child(3){ transform:translateY(-60px); }
.ladder-card:hover{ transform:translateY(-10px) scale(1.02); box-shadow:var(--sh-lg); z-index:10; }
.ladder-card:nth-child(2):hover{ transform:translateY(-40px) scale(1.02); }
.ladder-card:nth-child(3):hover{ transform:translateY(-70px) scale(1.02); }
.ladder-card .lc-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.ladder-card .lc-level{ font-size:34px; font-weight:800; color:var(--c-blue-soft); line-height:1; }
.ladder-card:nth-child(2) .lc-level{ color:var(--c-yellow-soft); }
.ladder-card h4{ font-size:19px; margin-bottom:10px; }
.ladder-card p{ font-size:13.5px; color:var(--c-muted); line-height:1.85; }
.ladder-card ul{ margin-top:14px; display:flex; flex-direction:column; gap:8px; }
.ladder-card li{ padding:9px 14px; background:var(--c-bg); border-radius:10px; font-size:13px; }
.ladder-card .lc-cta{ margin-top:22px; }

/* ========== P. 客户成功故事 ========== */
.story-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:28px; }
.story-card{ background:#fff; border-radius:24px; border:1px solid var(--c-line); overflow:hidden; transition:all .4s; display:grid; grid-template-columns:240px 1fr; }
.story-card:hover{ transform:translateY(-6px); box-shadow:var(--sh-lg); }
.story-card .sc-img{ overflow:hidden; min-height:100%; }
.story-card .sc-img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.story-card:hover .sc-img img{ transform:scale(1.08); }
.story-card .sc-body{ padding:28px 28px 26px; display:flex; flex-direction:column; }
.story-card .sc-result{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:auto; padding-top:18px; border-top:1px dashed var(--c-line); }
.story-card .sr-item{ padding:10px 12px; border-radius:10px; background:var(--c-bg); }
.story-card .sr-item b{ color:var(--c-blue-d); font-size:18px; display:block; line-height:1; }
.story-card .sr-item span{ font-size:12px; color:var(--c-muted); }
.story-card .sc-tags{ display:flex; gap:8px; margin-bottom:10px; }
.story-card h3{ font-size:18px; margin-bottom:10px; }
.story-card p{ font-size:13.5px; color:var(--c-muted); line-height:1.85; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* ========== Q. 瀑布流 (仅两列) ========== */
.water-fall{ columns:2; column-gap:26px; }
.water-fall .wf-item{ break-inside:avoid; margin-bottom:26px; background:#fff; border-radius:20px; overflow:hidden; border:1px solid var(--c-line); transition:all .35s; }
.water-fall .wf-item:hover{ transform:translateY(-4px); box-shadow:var(--sh-md); }
.water-fall .wf-img{ overflow:hidden; }
.water-fall .wf-img img{ width:100%; display:block; transition:transform .5s; }
.water-fall .wf-item:hover .wf-img img{ transform:scale(1.06); }
.water-fall .wf-body{ padding:20px 22px; }
.water-fall h4{ font-size:15.5px; margin-bottom:8px; }
.water-fall p{ font-size:13px; color:var(--c-muted); line-height:1.8; }

/* ========== R. 粘性底部转化条 ========== */
.sticky-cta-bar{ position:fixed; left:0; right:0; bottom:0; z-index:45; background:rgba(255,255,255,.96); backdrop-filter:blur(12px); border-top:1px solid var(--c-line); padding:14px 0; box-shadow:0 -8px 30px rgba(18,58,94,.08); transform:translateY(110%); transition:transform .4s ease; }
.sticky-cta-bar.show{ transform:translateY(0); }
.sticky-cta-bar .container{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.sticky-cta-bar .scb-left{ display:flex; align-items:center; gap:18px; }
.sticky-cta-bar .scb-left .ic{ width:48px; height:48px; border-radius:14px; background:linear-gradient(135deg,var(--c-blue),var(--c-green)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:24px; flex-shrink:0; }
.sticky-cta-bar .scb-left b{ font-size:16px; display:block; color:var(--c-ink); }
.sticky-cta-bar .scb-left span{ font-size:13px; color:var(--c-muted); }
.sticky-cta-bar .scb-right{ display:flex; gap:12px; align-items:center; }

/* ========== S. 行业深耕导航矩阵 ========== */
.industry-matrix{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.im-card{ background:#fff; border:1px solid var(--c-line); border-radius:16px; padding:22px 18px; text-align:center; transition:all .3s; display:block; position:relative; overflow:hidden; }
.im-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(135deg,var(--c-blue),var(--c-green)); opacity:0; transition:opacity .3s; }
.im-card:hover{ transform:translateY(-5px); box-shadow:var(--sh-md); border-color:transparent; color:#fff; }
.im-card:hover::after{ opacity:1; }
.im-card .im-ic{ width:52px; height:52px; border-radius:14px; margin:0 auto 12px; display:flex; align-items:center; justify-content:center; font-size:24px; position:relative; z-index:1; transition:all .3s; }
.im-card h4{ font-size:15px; position:relative; z-index:1; transition:color .3s; }
.im-card span{ font-size:12px; color:var(--c-muted); display:block; margin-top:4px; position:relative; z-index:1; transition:color .3s; }
.im-card:hover h4, .im-card:hover span{ color:#fff; }
.im-card:hover .im-ic{ background:rgba(255,255,255,.2); color:#fff; }

/* ========== T. 深度服务模块 (服务介绍图文+三要点) ========== */
.service-deep{ display:grid; grid-template-columns:1.05fr .95fr; gap:50px; align-items:center; }
.service-deep .sd-left p{ color:var(--c-muted); margin-bottom:20px; line-height:1.9; }
.service-deep .sd-highlight{ display:flex; flex-direction:column; gap:14px; margin-top:8px; }
.service-deep .sd-highlight li{ display:flex; gap:14px; align-items:flex-start; padding:16px 18px; background:#fff; border:1px solid var(--c-line); border-radius:14px; transition:all .3s; }
.service-deep .sd-highlight li:hover{ transform:translateX(8px); border-left-color:var(--c-blue); border-left-width:4px; box-shadow:var(--sh-sm); }
.service-deep .sd-highlight .sh-n{ width:36px; height:36px; border-radius:10px; background:linear-gradient(135deg,var(--c-blue),var(--c-green)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:800; flex-shrink:0; }
.service-deep .sd-highlight b{ font-size:14.5px; display:block; margin-bottom:3px; }
.service-deep .sd-highlight small{ font-size:12.5px; color:var(--c-muted); }
.service-deep .sd-right{ position:relative; }
.service-deep .sd-main-img{ border-radius:22px; overflow:hidden; box-shadow:var(--sh-lg); }
.service-deep .sd-main-img img{ width:100%; height:430px; object-fit:cover; }
.service-deep .sd-float{ position:absolute; background:#fff; border-radius:16px; padding:16px 20px; box-shadow:var(--sh-md); border:1px solid var(--c-line); }
.service-deep .sd-float.f1{ top:30px; left:-30px; animation:floaty 5s ease-in-out infinite; }
.service-deep .sd-float.f2{ bottom:38px; right:-28px; animation:floaty 6s ease-in-out infinite reverse; }
.service-deep .sd-float b{ display:block; font-size:22px; color:var(--c-blue-d); line-height:1; }
.service-deep .sd-float span{ font-size:12px; color:var(--c-muted); }

/* ========== U. 推荐资讯聚合(带侧栏的长页列表增强) ========== */
.news-mag{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:10px; }
.news-mag .nm-card{ background:#fff; border-radius:20px; border:1px solid var(--c-line); overflow:hidden; transition:all .35s; display:flex; flex-direction:column; }
.news-mag .nm-card:hover{ transform:translateY(-5px); box-shadow:var(--sh-md); }
.news-mag .nm-img{ height:170px; overflow:hidden; position:relative; }
.news-mag .nm-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.news-mag .nm-card:hover .nm-img img{ transform:scale(1.06); }
.news-mag .nm-cat{ position:absolute; left:14px; top:14px; z-index:2; }
.news-mag .nm-body{ padding:18px 20px 20px; flex:1; display:flex; flex-direction:column; }
.news-mag h4{ font-size:15.5px; line-height:1.55; margin-bottom:8px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news-mag p{ font-size:12.5px; color:var(--c-muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news-mag .nm-foot{ margin-top:auto; padding-top:12px; display:flex; align-items:center; justify-content:space-between; font-size:11.5px; color:var(--c-muted); }

/* ========== V. 顶部二级菜单超长 → 4 列 Mega Menu（服务项目 / 解决方案） ========== */
/* 原单列 16-20 项叠罗汉 → 4 列分栏目布局，整站 38 页纯 CSS 零结构改动 */
@media (min-width: 992px) {
  .nav-links > li:nth-child(3) > .dropdown,
  .nav-links > li:nth-child(4) > .dropdown {
    width: 800px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    padding: 22px 28px;
    -webkit-column-count: 4;
       -moz-column-count: 4;
            column-count: 4;
    -webkit-column-gap: 28px;
       -moz-column-gap: 28px;
            column-gap: 28px;
    box-shadow: 0 18px 50px rgba(18,58,94,.12);
  }
  .nav-links > li:nth-child(3) > .dropdown::before,
  .nav-links > li:nth-child(4) > .dropdown::before {
    left: 50%;
    -webkit-transform: translateX(-50%) rotate(45deg);
            transform: translateX(-50%) rotate(45deg);
  }
  .nav-links > li:nth-child(3) > .dropdown > .dd-title,
  .nav-links > li:nth-child(4) > .dropdown > .dd-title {
    -webkit-column-break-before: always;
       -moz-column-break-before: always;
            break-before: column;
    padding: 0 0 8px;
    margin-bottom: 6px;
    border-bottom: 1px dashed var(--c-line);
    color: var(--c-blue-d);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: none;
  }
  .nav-links > li:nth-child(3) > .dropdown > .dd-title:first-child,
  .nav-links > li:nth-child(4) > .dropdown > .dd-title:first-child {
    -webkit-column-break-before: auto;
       -moz-column-break-before: auto;
            break-before: auto;
  }
  .nav-links > li:nth-child(3) > .dropdown > a,
  .nav-links > li:nth-child(4) > .dropdown > a {
    padding: 7px 10px;
    border-radius: 8px;
    font-size: 13.5px;
    -webkit-column-break-inside: avoid;
       -moz-column-break-inside: avoid;
            break-inside: avoid;
  }
  .nav-links > li:nth-child(3) > .dropdown > a:hover,
  .nav-links > li:nth-child(4) > .dropdown > a:hover {
    background: var(--c-blue-soft);
    color: var(--c-blue-d);
    padding-left: 14px;
  }
  /* 悬停激活（保留原有 hover 机制，仅做 transform 补偿） */
  .nav-links > li:nth-child(3):hover > .dropdown,
  .nav-links > li:nth-child(4):hover > .dropdown {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

/* ========== W. 补齐：Reveal 滚动出场动画体系（全站 .reveal/reveal-left/right/zoom） ========== */
/* 注：main.js IntersectionObserver 已监听 .reveal, .reveal-left, .reveal-right, .reveal-zoom 并在出场时加 .in 类，但 CSS 侧之前缺失对应的过渡规则，导致动画无效 */
.reveal, .reveal-left, .reveal-right, .reveal-zoom {
  opacity: 0;
  -webkit-transition: opacity .9s ease, -webkit-transform .9s ease;
  transition: opacity .9s ease, transform .9s ease;
  -webkit-transition-delay: calc(var(--dly, 0) * 120ms);
          transition-delay: calc(var(--dly, 0) * 120ms);
  will-change: transform, opacity;
}
.reveal{ -webkit-transform: translateY(28px); transform: translateY(28px); }
.reveal-left{ -webkit-transform: translateX(-44px); transform: translateX(-44px); }
.reveal-right{ -webkit-transform: translateX(44px); transform: translateX(44px); }
.reveal-zoom{ -webkit-transform: scale(.88); transform: scale(.88); -webkit-transform-origin: center center; transform-origin: center center; }
/* 支持原有的 [data-delay="1|2|3"] 数字延迟 */
[data-delay="1"]{ --dly: 1; }
[data-delay="2"]{ --dly: 2; }
[data-delay="3"]{ --dly: 3; }
/* JS 出场时加 .in 类 */
.reveal.in, .reveal-left.in, .reveal-right.in, .reveal-zoom.in,
.reveal.is-visible, .reveal-left.is-visible, .reveal-right.is-visible, .reveal-zoom.is-visible{
  opacity: 1 !important;
  -webkit-transform: translate3d(0,0,0) scale(1);
          transform: translate3d(0,0,0) scale(1);
}

/* ========== X. solution-hero 补齐：右栏文案 + sp-feat 特性列表（原 CSS 只定义了左图 .sh-img 系列） ========== */
.solution-hero .reveal-right{ padding: 10px 0; }
.solution-hero .eyebrow{
  display:inline-block; color:var(--c-blue-d); font-size:12.5px; letter-spacing:.14em;
  margin-bottom: 16px; padding:6px 16px; border-radius:999px; background:var(--c-blue-soft);
  font-weight:600; text-transform:uppercase;
}
.solution-hero h2{
  font-size:32px; line-height:1.35; color:var(--c-ink);
  margin-bottom:14px; max-width:540px; letter-spacing:.5px;
}
.solution-hero h2 em{
  color:var(--c-blue-d); font-style:normal; display:block; margin-top:4px;
  background: -webkit-linear-gradient(90deg,var(--c-blue-d),#0f8a3c);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.solution-hero p{ font-size:15px; line-height:1.8; color:var(--c-body); max-width:540px; margin-bottom:26px; }

/* sp-feat 特性列表（左圆图标 + 右加粗标题+小字说明）—— 全站 industry-*.html 全部使用但缺失样式 */
ul.sp-feat{
  list-style:none; padding:0; margin:0 0 28px;
  display:grid; grid-template-columns:1fr 1fr; gap:12px 20px;
}
ul.sp-feat li{
  display:flex; align-items:center; gap:12px; padding:12px 14px;
  background:#fff; border:1px solid var(--c-line); border-radius:14px;
  -webkit-transition: all .3s ease; transition: all .3s ease;
}
ul.sp-feat li:hover{
  -webkit-transform: translateY(-2px); transform: translateY(-2px);
  -webkit-box-shadow: 0 12px 30px rgba(18,58,94,.08); box-shadow:0 12px 30px rgba(18,58,94,.08);
  border-color: var(--c-blue); background: var(--c-blue-soft);
}
ul.sp-feat li .ic{
  width:44px; height:44px; flex-shrink:0; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
}
ul.sp-feat li > div:last-child{ flex:1; min-width:0; }
ul.sp-feat li b{ display:block; color:var(--c-ink); font-size:14.5px; line-height:1.25; margin-bottom:3px; }
ul.sp-feat li small{ display:block; color:var(--c-muted); font-size:12.5px; line-height:1.4; }

/* 响应式：<992px 时 solution-hero 已 1 列，调整细节 */
@media (max-width: 991px){
  .solution-hero .reveal-right{ order:-1; padding-bottom:4px; }
  .solution-hero h2{ font-size:26px; max-width:100%; }
  .solution-hero p{ max-width:100%; }
  ul.sp-feat{ grid-template-columns:1fr; }
  .solution-hero .sh-img img{ height:260px; }
  .solution-hero .sh-img .sh-badge{ padding:8px 14px; gap:10px; left:14px; bottom:14px; }
  .solution-hero .sh-img .sh-badge b{ font-size:18px; }
}
/* 小屏进一步压缩 */
@media (max-width: 576px){
  .solution-hero { gap:24px; }
  .solution-hero .eyebrow{ font-size:11.5px; padding:5px 12px; margin-bottom:12px; }
  .solution-hero h2{ font-size:22px; }
  .solution-hero p{ font-size:14px; margin-bottom:20px; }
  ul.sp-feat{ gap:10px; }
  ul.sp-feat li{ padding:10px 12px; }
}
