/* ================= 临沂精益软件 - 公共样式 ================= */
:root{
  --blue:#0B5CAD;
  --blue-dark:#083D75;
  --blue-deep:#062B52;
  --blue-light:#E8F1FB;
  --orange:#F5821F;
  --orange-dark:#D96B0D;
  --orange-light:#FDEEDD;
  --text:#2b3440;
  --text-light:#5c6875;
  --bg:#ffffff;
  --bg-gray:#f5f8fc;
  --radius:14px;
  --shadow:0 8px 30px rgba(11,92,173,.10);
  --shadow-hover:0 14px 40px rgba(11,92,173,.18);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
/* 全局氛围：极淡蓝橙渐变光斑铺底 + 细噪点质感层 */
body{font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.7;font-size:15px;padding-bottom:56px;background-image:radial-gradient(52rem 36rem at 110% -8%,rgba(11,92,173,.06),transparent 60%),radial-gradient(44rem 30rem at -12% 32%,rgba(245,130,31,.05),transparent 55%);background-attachment:fixed;}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
::selection{background:var(--orange);color:#fff;}
:focus-visible{outline:2px solid var(--orange);outline-offset:2px;border-radius:4px;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
b,strong{font-weight:400;}
h1,h2,h3,h4,h5,h6{font-weight:400;}
.container{max-width:1200px;margin:0 auto;padding:0 24px;}

/* ===== 顶部信息条 ===== */
.topbar{background:var(--blue-deep);color:#fff;font-size:13px;padding:7px 0;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;}
.topbar a{color:#fff;}
.topbar span.sep{margin:0 10px;opacity:.4;}

/* ===== 导航 ===== */
header.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 2px 12px rgba(8,61,117,.08);}
/* 顶部品牌渐变细线：蓝-橙缓慢流动 */
header.nav::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue) 0%,var(--orange) 30%,#FFB35C 50%,var(--orange) 70%,var(--blue) 100%);background-size:200% 100%;animation:navShine 9s linear infinite;}
@keyframes navShine{to{background-position:200% 0;}}
@media(prefers-reduced-motion:reduce){header.nav::before{animation:none;}}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;}
.logo{display:flex;align-items:center;gap:12px;}
.logo-mark{height:46px;width:auto;border-radius:8px;flex-shrink:0;display:block;}
.logo-text .cn{font-size:22px;color:var(--blue-dark);letter-spacing:1px;line-height:1.3;}
.logo-text .en{font-size:13px;color:var(--text-light);letter-spacing:.5px;}
.nav-links{display:flex;gap:6px;align-items:center;}
.nav-links>a,.nav-links .has-drop>.drop-label{padding:8px 16px;border-radius:8px;font-size:15px;color:var(--text);transition:color .25s ease,background-color .25s ease,transform .25s ease;display:block;cursor:pointer;position:relative;}
/* 悬停/选中：橙色下划线由中间向两侧展开 */
.nav-links>a::after,
.nav-links .has-drop>.drop-label::after{content:"";position:absolute;left:16px;right:16px;bottom:3px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--orange),#FFB35C);transform:scaleX(0);transform-origin:center;transition:transform .3s cubic-bezier(.22,.61,.36,1);}
.nav-links>a:hover,
.nav-links .has-drop:hover>.drop-label,
.nav-links .has-drop.open>.drop-label{color:var(--orange-dark);background:var(--orange-light);transform:translateY(-2px);}
.nav-links>a:hover::after,
.nav-links .has-drop:hover>.drop-label::after,
.nav-links .has-drop.open>.drop-label::after{transform:scaleX(1);}
/* 主营业务下拉在业务页时，标签本身也高亮 */
.nav-links .has-drop>.drop-label.current{color:var(--orange-dark);background:var(--orange-light);}
.nav-links .has-drop>.drop-label.current::after{transform:scaleX(1);}
/* 当前页：常亮橙色 */
.nav-links>a.active{color:var(--orange-dark);background:var(--orange-light);font-weight:500;}
.nav-links>a.active::after{transform:scaleX(1);}
.has-drop{position:relative;}
.has-drop .caret{display:inline-block;font-style:normal;transition:transform .3s ease;}
.has-drop:hover .caret,.has-drop.open .caret{transform:rotate(180deg);}
.drop-menu{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border-radius:10px;box-shadow:0 12px 30px rgba(8,61,117,.16);padding:8px;min-width:236px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s;}
.has-drop:hover .drop-menu{opacity:1;visibility:visible;transform:none;}
.drop-menu a{display:block;padding:9px 14px;border-radius:8px;font-size:15px;color:var(--text);transition:background-color .22s ease,color .22s ease,transform .22s ease;position:relative;}
.drop-menu a:hover{background:var(--orange-light);color:var(--orange-dark);transform:translateX(4px);}
.drop-menu a b{color:var(--text-light);font-size:13px;display:block;transition:color .22s ease;}
.drop-menu a:hover b,.drop-menu a.current b{color:var(--orange-dark);}
/* 下拉中当前业务：橙色高亮 + 左侧竖条 */
.drop-menu a.current{background:var(--orange-light);color:var(--orange-dark);}
.drop-menu a.current::before{content:"";position:absolute;left:4px;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:2px;background:var(--orange);}
.nav-phone{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--orange),var(--orange-dark));color:#fff;padding:9px 18px;border-radius:30px;font-size:15px;box-shadow:0 4px 14px rgba(245,130,31,.35);transition:.25s;}
.nav-phone:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(245,130,31,.45);}
.nav-toggle{display:none;background:none;border:none;font-size:22px;color:var(--blue-dark);cursor:pointer;}

/* ===== 首页 Hero ===== */
.hero{background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px) 0 0/56px 56px,linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px) 0 0/56px 56px,linear-gradient(120deg,var(--blue-deep) 0%,var(--blue-dark) 45%,var(--blue) 100%);color:#fff;position:relative;overflow:hidden;padding:100px 0 120px;}
.hero::before{content:"";position:absolute;right:-180px;top:-180px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(245,130,31,.35),transparent 65%);}
.hero::after{content:"";position:absolute;left:-120px;bottom:-260px;width:520px;height:520px;border-radius:50%;border:70px solid rgba(255,255,255,.05);}
.hero .container{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;}
/* Banner 背景：漂浮发光的不规则圆点 */
.hero-deco{position:absolute;inset:0;z-index:1;pointer-events:none;}
.hero-deco .dot{position:absolute;display:block;border-radius:50%;background:radial-gradient(circle at 32% 30%,rgba(255,179,92,.95),rgba(245,130,31,.18) 58%,rgba(245,130,31,0) 72%);box-shadow:0 0 16px 4px rgba(245,130,31,.4);}
.hero-deco .dot.b{background:radial-gradient(circle at 32% 30%,rgba(130,185,240,.95),rgba(11,92,173,.22) 58%,rgba(11,92,173,0) 72%);box-shadow:0 0 16px 4px rgba(11,92,173,.4);}
@keyframes dotFloat{0%{transform:translate(0,0);}50%{transform:translate(12px,-16px);}100%{transform:translate(0,0);}}
@keyframes dotMorph{0%,100%{border-radius:42% 58% 60% 40% / 55% 45% 55% 45%;}50%{border-radius:62% 38% 45% 55% / 45% 55% 42% 58%;}}
@keyframes dotGlow{0%,100%{opacity:.5;filter:blur(.4px);}50%{opacity:1;filter:blur(0);}}
.hero-deco .dot:nth-child(1){top:14%;left:9%;width:15px;height:15px;animation:dotFloat 7s ease-in-out infinite,dotMorph 6s ease-in-out infinite,dotGlow 4s ease-in-out infinite;}
.hero-deco .dot:nth-child(2){top:26%;left:48%;width:9px;height:9px;animation:dotFloat 9s ease-in-out infinite,dotMorph 7s ease-in-out infinite,dotGlow 5s ease-in-out infinite;animation-delay:0s,-1s,0s;}
.hero-deco .dot:nth-child(3){top:72%;left:32%;width:19px;height:19px;animation:dotFloat 8s ease-in-out infinite,dotMorph 6.5s ease-in-out infinite,dotGlow 4.5s ease-in-out infinite;animation-delay:0s,-2s,0s;}
.hero-deco .dot:nth-child(4){top:78%;left:62%;width:12px;height:12px;animation:dotFloat 6.5s ease-in-out infinite,dotMorph 5.5s ease-in-out infinite,dotGlow 3.5s ease-in-out infinite;animation-delay:0s,-1.5s,0s;}
.hero-deco .dot:nth-child(5){top:34%;left:82%;width:16px;height:16px;animation:dotFloat 10s ease-in-out infinite,dotMorph 8s ease-in-out infinite,dotGlow 5.5s ease-in-out infinite;animation-delay:0s,-3s,0s;}
.hero-deco .dot:nth-child(6){top:60%;left:90%;width:10px;height:10px;animation:dotFloat 7.5s ease-in-out infinite,dotMorph 6s ease-in-out infinite,dotGlow 4s ease-in-out infinite;animation-delay:0s,-2.5s,0s;}
.hero-deco .dot:nth-child(7){top:16%;left:70%;width:11px;height:11px;animation:dotFloat 8.5s ease-in-out infinite,dotMorph 7s ease-in-out infinite,dotGlow 5s ease-in-out infinite;animation-delay:0s,-1s,0s;}
.hero-deco .dot:nth-child(8){top:50%;left:17%;width:13px;height:13px;animation:dotFloat 9.5s ease-in-out infinite,dotMorph 6.5s ease-in-out infinite,dotGlow 4.2s ease-in-out infinite;animation-delay:0s,-3.5s,0s;}
@media(prefers-reduced-motion:reduce){.hero-deco .dot{animation:none;}}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:6px 16px;border-radius:30px;font-size:13px;margin-bottom:22px;}
.hero-tag i{width:8px;height:8px;border-radius:50%;background:var(--orange);display:inline-block;}
.hero h1{font-size:22px;line-height:1.3;letter-spacing:1px;margin-bottom:18px;}
.hero h1 em{font-style:normal;color:#FFB35C;text-shadow:0 2px 16px rgba(245,130,31,.45);}
/* Banner 左列文案入场序列：错峰上浮 */
@keyframes heroUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
.hero-tag{animation:heroUp .7s cubic-bezier(.16,1,.3,1) both;}
.hero h1{animation:heroUp .7s cubic-bezier(.16,1,.3,1) .12s both;}
.hero p.sub{animation:heroUp .7s cubic-bezier(.16,1,.3,1) .24s both;}
.hero-btns{animation:heroUp .7s cubic-bezier(.16,1,.3,1) .36s both;}
@media(prefers-reduced-motion:reduce){.hero-tag,.hero h1,.hero p.sub,.hero-btns{animation:none;}}
.hero p.sub{font-size:15px;color:#c9dcf0;max-width:560px;margin-bottom:34px;}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 30px;border-radius:30px;font-size:15px;transition:.25s;cursor:pointer;border:none;font-family:inherit;}
.btn-orange{background:linear-gradient(135deg,var(--orange),var(--orange-dark));color:#fff;box-shadow:0 6px 18px rgba(245,130,31,.4);position:relative;overflow:hidden;}
.btn-orange::after{content:"";position:absolute;top:0;left:-70%;width:40%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .55s ease;}
.btn-orange:hover::after{left:130%;}
.btn-orange:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(245,130,31,.5);}
.btn-ghost{border:1.5px solid rgba(255,255,255,.55);color:#fff;}
.btn-ghost:hover{background:rgba(255,255,255,.12);}
.btn-outline{border:1.5px solid var(--blue);color:var(--blue);}
.btn-outline:hover{background:var(--blue);color:#fff;}
.hero-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.stat-card{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);padding:24px 22px;backdrop-filter:blur(4px);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;}
.stat-card .num{font-size:22px;color:#FFB35C;line-height:1.2;}
.stat-card .num small{font-size:15px;margin-left:2px;}
.stat-card .lbl{flex-basis:100%;font-size:13px;color:#c9dcf0;margin-top:8px;text-align:center;}
.hero-stats .ico{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:rgba(245,130,31,.18);margin:0 10px 0 0;flex-shrink:0;}
.hero-stats .ico svg{width:22px;height:22px;}
/* Banner 面板动态效果：错峰淡入上滑 + 悬停高亮 */
@keyframes statIn{from{opacity:0;}to{opacity:1;}}
@keyframes statFloat{
  0%{transform:translate(0,0);}
  20%{transform:translate(4px,-7px);}
  40%{transform:translate(0,-11px);}
  60%{transform:translate(-4px,-6px);}
  80%{transform:translate(0,-3px);}
  100%{transform:translate(0,0);}
}
.hero-stats .stat-card{animation:statIn .7s ease both, statFloat 6s ease-in-out infinite;}
.hero-stats .stat-card:nth-child(1){animation-delay:.15s,.85s;}
.hero-stats .stat-card:nth-child(2){animation-delay:.30s,1.0s;animation-duration:.7s,6.5s;}
.hero-stats .stat-card:nth-child(3){animation-delay:.45s,1.15s;animation-duration:.7s,5.5s;}
.hero-stats .stat-card:nth-child(4){animation-delay:.60s,1.3s;animation-duration:.7s,7s;}
.hero-stats .stat-card{transition:background .3s,border-color .3s,box-shadow .3s;}
.hero-stats .stat-card:hover{background:rgba(255,255,255,.16);border-color:rgba(245,130,31,.55);box-shadow:0 12px 32px rgba(0,0,0,.22);}
.hero-stats .ico{transition:transform .3s,background .3s;}
.hero-stats .stat-card:hover .ico{transform:scale(1.12);background:rgba(245,130,31,.30);}
@media(prefers-reduced-motion:reduce){.hero-stats .stat-card{animation:none;}}

/* ===== 内页 Banner ===== */
.page-banner{background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px) 0 0/56px 56px,linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px) 0 0/56px 56px,linear-gradient(120deg,var(--blue-deep) 0%,var(--blue-dark) 55%,var(--blue) 100%);color:#fff;padding:64px 0;position:relative;overflow:hidden;}
.page-banner::before{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(245,130,31,.3),transparent 65%);}
.page-banner::after{content:"";position:absolute;left:-80px;bottom:-180px;width:320px;height:320px;border-radius:50%;border:46px solid rgba(255,255,255,.05);}
.page-banner .container{position:relative;z-index:2;}
.crumb{font-size:13px;color:#a8c4e0;margin-bottom:12px;}
.crumb a{color:#cfe0f2;}
.crumb a:hover{color:#FFB35C;}
.crumb span.sep{margin:0 8px;opacity:.5;}
.page-banner h1{font-size:22px;letter-spacing:1px;}
.page-banner p{color:#c9dcf0;margin-top:10px;max-width:680px;}

/* ===== 区块通用 ===== */
section{padding:64px 0;}
.sec-head{text-align:center;margin-bottom:52px;}
.sec-head .kicker{display:inline-block;color:var(--orange);font-size:13px;letter-spacing:3px;margin-bottom:10px;text-transform:uppercase;}
.sec-head h2{font-size:22px;color:var(--blue-dark);letter-spacing:1px;}
.sec-head h2 .sec-title-link{color:inherit;text-decoration:none;display:inline-block;transition:color .2s ease;}
.sec-head h2 .sec-title-link::after{content:"\2192";color:var(--orange);margin-left:10px;font-weight:700;transition:transform .2s ease;}
.sec-head h2 .sec-title-link:hover{color:var(--orange);}
.sec-head h2 .sec-title-link:hover::after{transform:translateX(4px);}
.sec-head h2::after{content:"";display:block;width:64px;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--orange),#FFB35C);box-shadow:0 2px 12px rgba(245,130,31,.45);margin:16px auto 0;}
.sec-head p{color:var(--text-light);margin-top:14px;font-size:15px;}
.bg-gray{background:radial-gradient(rgba(11,92,173,.06) 1px,transparent 1.5px) 0 0/26px 26px,var(--bg-gray);}
.sec-head.left{text-align:left;}
.sec-head.left h2::after{margin-left:0;}

/* ===== 主营业务卡片 ===== */
.biz-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:26px;}
/* 首行两张（档案、图书）各占一半，次行三张各占三分之一 */
.biz-grid>.biz-card{grid-column:span 2;}
.biz-grid>.biz-card:nth-child(1),
.biz-grid>.biz-card:nth-child(2){grid-column:span 3;}
.biz-card{background:#fff;border-radius:var(--radius);padding:38px 30px;box-shadow:var(--shadow);transition:.3s;border-top:4px solid transparent;position:relative;overflow:hidden;display:block;}
.biz-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover);border-top-color:var(--orange);}
/* 悬停时左上角透出一团淡蓝光晕，图标轻微上浮 */
.biz-card::before{content:"";position:absolute;top:0;left:0;width:80px;height:80px;background:radial-gradient(circle at top left,var(--blue-light),transparent 72%);opacity:0;transition:opacity .35s ease;}
.biz-card:hover::before{opacity:1;}
.biz-card .icon{transition:transform .3s cubic-bezier(.16,1,.3,1);}
.biz-card:hover .icon{transform:translateY(-3px) scale(1.07);}
.biz-head{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #F5821F;}
.biz-card .icon{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--orange-light);flex-shrink:0;}
.biz-card .icon svg{width:28px;height:28px;}
.biz-card h3,.biz-head h3{font-size:16px;font-weight:400;color:var(--blue-dark);margin:0;}
.biz-card>p{font-size:15px;color:var(--text-light);margin-bottom:16px;}
.biz-card ul{margin-bottom:6px;}
.biz-card ul li{font-size:15px;color:var(--text-light);padding:5px 0 5px 22px;position:relative;}
.biz-card ul li::before{content:"";position:absolute;left:0;top:12px;width:14px;height:14px;border-radius:50%;background:var(--orange-light);}
.biz-card ul li::after{content:"";position:absolute;left:3.5px;top:15.5px;width:7px;height:4px;border-left:2px solid var(--orange);border-bottom:2px solid var(--orange);transform:rotate(-45deg);}
.biz-card .more{display:inline-flex;align-items:center;gap:6px;color:var(--orange-dark);font-size:15px;margin-top:14px;}

/* ===== 流程 ===== */
.flow-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.flow-item{text-align:center;position:relative;padding:26px 14px;border:1px solid #e3ecf6;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(11,92,173,.06);transition:.3s;}
.flow-item:hover{border-color:var(--orange);box-shadow:0 12px 28px rgba(11,92,173,.12);transform:translateY(-4px);}
.flow-item .num{width:54px;height:54px;margin:0 auto 12px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(11,92,173,.3),0 0 0 6px var(--blue-light);position:relative;z-index:2;transition:.3s;}
.flow-item:hover .num{background:linear-gradient(135deg,var(--orange),var(--orange-dark));box-shadow:0 6px 16px rgba(245,130,31,.35),0 0 0 6px var(--orange-light);}
/* 桌面端：步骤之间的橙色连接箭头 */
@media(min-width:993px){
  .flow-item:not(:last-child)::after{content:"›";position:absolute;right:-14px;top:42px;z-index:3;color:var(--orange);font-size:22px;line-height:1;opacity:.55;}
}
.flow-item h4{font-size:15px;color:var(--blue-dark);margin-bottom:4px;}
.flow-item p{font-size:13px;color:var(--text-light);}

/* ===== 客户案例 ===== */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.case-grid.two{grid-template-columns:repeat(2,1fr);}
.case-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:.3s;display:block;}
.case-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);}
/* 悬停：标题转橙 + 右上角浮现箭头 */
.case-body{position:relative;}
.case-body::after{content:"→";position:absolute;top:24px;right:22px;color:var(--orange);font-size:15px;opacity:0;transform:translateX(-8px);transition:opacity .25s ease,transform .25s ease;}
.case-card:hover .case-body::after{opacity:1;transform:none;}
.case-body h3{transition:color .25s ease;}
.case-card:hover .case-body h3{color:var(--orange-dark);}
.case-cover{height:170px;position:relative;display:flex;align-items:center;justify-content:center;}
.case-cover.c1{background:linear-gradient(135deg,#0B5CAD,#1E88D6);}
.case-cover.c2{background:linear-gradient(135deg,#083D75,#0B5CAD);}
.case-cover.c3{background:linear-gradient(135deg,#1A6FC4,#2E9BD8);}
.case-cover.c4{background:linear-gradient(135deg,#0A4E95,#1877C9);}
.case-cover.c5{background:linear-gradient(135deg,#062B52,#0B5CAD);}
.case-cover.c6{background:linear-gradient(135deg,#1272B8,#3AA0DC);}
.case-cover .glyph{font-size:56px;opacity:.9;filter:drop-shadow(0 6px 10px rgba(0,0,0,.25));}
.case-cover .badge{position:absolute;top:14px;left:14px;background:var(--orange);color:#fff;font-size:13px;padding:4px 12px;border-radius:20px;}
.case-body{padding:24px 24px 26px;}
.case-body h3{font-size:15px;color:var(--blue-dark);padding-bottom:8px;border-bottom:1px solid #e3ecf6;margin-bottom:10px;}
.case-date{font-size:13px;color:#8aa0b4;margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.case-date .dt-label{color:var(--orange);}
.case-body p{font-size:15px;color:var(--text-light);margin-bottom:14px;}
.case-date-foot{margin-top:14px;padding-top:12px;border-top:1px dashed #e3ecf6;margin-bottom:0;}
.case-tags{display:flex;flex-wrap:wrap;gap:8px;}
.case-tags span{font-size:13px;color:var(--blue);background:var(--blue-light);padding:3px 12px;border-radius:20px;}
.case-meta{display:flex;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px dashed #e3ecf6;font-size:13px;color:var(--text-light);}
.case-meta b{color:var(--orange);}

/* ===== 客户 Logo 墙 ===== */
.client-wall{margin-top:44px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:30px;}
.client-wall .title{text-align:center;font-size:13px;color:var(--text-light);margin-bottom:20px;letter-spacing:2px;}
.client-wall .grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.client-wall .chip{background:var(--bg-gray);border:1px solid #e6eef7;border-radius:10px;padding:14px 10px;text-align:center;font-size:13px;color:var(--blue-dark);transition:.25s;}
.client-wall .chip:hover{background:var(--blue-light);border-color:var(--blue);}

/* ===== 案例分页 ===== */
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:42px;flex-wrap:wrap;}
.pagination .pg{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border-radius:23px;border:1.5px solid #e3ecf6;background:#fff;color:var(--blue);font-size:14px;cursor:pointer;transition:.2s;font-family:inherit;line-height:1;}
.pagination .pg:hover:not(.disabled):not(.active){border-color:var(--orange);color:var(--orange);transform:translateY(-2px);}
.pagination .pg.active{background:linear-gradient(135deg,var(--orange),var(--orange-dark));border-color:transparent;color:#fff;box-shadow:0 6px 16px rgba(245,130,31,.35);cursor:default;}
.pagination .pg.disabled{color:#c2cbd6;border-color:#eef1f5;cursor:not-allowed;}
.faq-col .pagination{margin-top:26px;}
.more-link{text-align:center;margin-top:16px;}
.more-link a{color:var(--orange-dark);font-size:14px;transition:.2s;}
.more-link a:hover{color:var(--orange);}

/* ===== 专题页：目录导航 / 表格滚动 ===== */
.topic-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.topic-nav a{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #e3ecf6;border-radius:12px;padding:14px 16px;font-size:15px;color:var(--blue-dark);box-shadow:var(--shadow);transition:.22s;text-decoration:none;}
.topic-nav a::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange);flex-shrink:0;}
.topic-nav a:hover{border-color:var(--orange);color:var(--orange);transform:translateY(-3px);}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.article h3{font-size:16px;color:var(--blue-dark);margin:22px 0 10px;}
@media(max-width:920px){.topic-nav{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.topic-nav{grid-template-columns:1fr;}}

/* ===== 关于/联系方式 ===== */
.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;}
/* 首页关于我们：左文右卡（标题随左栏左对齐） */
.about-grid.split{grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.about-grid.split .sec-head{margin-bottom:0;}
.about-grid.split .about-points{grid-template-columns:repeat(2,1fr);margin-top:0;}
.about-grid.split .about-point{padding:22px 18px;}
.about-cta{margin-top:28px;}
.about-left p{color:var(--text-light);margin-top:16px;font-size:15px;}
.about-points{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px;}
.about-point{background:var(--blue-light);border-radius:12px;padding:18px 20px;border-left:4px solid var(--orange);text-align:center;transition:transform .28s,box-shadow .28s,background .28s,border-left-color .28s;}
.about-point:hover{background:#fff;transform:translateY(-4px);box-shadow:0 12px 28px rgba(11,92,173,.14);border-left-color:var(--orange-dark);}
.about-point .ap-head{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:4px;}
.about-point .ap-ico{width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .28s;}
.about-point:hover .ap-ico{transform:scale(1.12);}
.about-point .ap-ico svg{width:22px;height:22px;}
.about-point h4{font-size:15px;color:var(--blue-dark);margin:0;transition:color .28s;}
.about-point:hover h4{color:var(--orange-dark);}
.about-point p{font-size:13px;color:var(--text-light);margin:0;text-wrap:balance;}
.about-right{background:linear-gradient(135deg,var(--blue-dark),var(--blue));border-radius:var(--radius);padding:38px 34px;color:#fff;box-shadow:var(--shadow-hover);position:relative;overflow:hidden;height:fit-content;}
.about-right::before{content:"";position:absolute;right:-70px;bottom:-70px;width:220px;height:220px;border-radius:50%;border:26px solid rgba(245,130,31,.25);}
.about-right h3{font-size:15px;margin-bottom:22px;display:flex;align-items:center;gap:10px;position:relative;}
.about-right h3::before{content:"";width:6px;height:22px;border-radius:3px;background:var(--orange);}
.contact-row{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:15px;position:relative;}
.contact-row:last-child{border-bottom:none;}
.contact-row .ic{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.contact-row .ic svg{width:19px;height:19px;}
.contact-row .lbl{font-size:13px;color:#a8c4e0;}
.contact-row .val{color:#fff;}
.contact-row .val a:hover{color:#FFB35C;}

/* ===== 技术问答（首页选项卡）===== */
.faq-cols{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;margin-bottom:10px;}
.faq-cols.one-col{grid-template-columns:1fr;}
.faq-col{background:#fff;border-radius:14px;box-shadow:var(--shadow);border:1px solid #e8f0f9;padding:26px 24px;}
.faq-col .col-head{text-align:center;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid #e3ecf6;}
.faq-col .col-head h2{font-size:22px;color:var(--blue-dark);}
.faq-col .col-head small{font-size:13px;color:var(--text-light);}
.faq-col .col-head h2 .col-link{color:inherit;transition:.2s;}
.faq-col .col-head h2 .col-link:hover{color:var(--orange);}
.faq-col .col-head h2 .col-link::after{content:" →";font-size:13px;color:var(--orange);}
.faq-col[id]{scroll-margin-top:90px;}
.faq-col .qa-list,.faq-col .news-list{max-width:none;margin:0;}
@media(max-width:768px){.faq-cols{grid-template-columns:1fr;}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

/* ===== FAQ 手风琴 ===== */
.faq-list{max-width:860px;margin:0 auto;}
.faq-item{background:#fff;border-radius:12px;box-shadow:var(--shadow);margin-bottom:14px;overflow:hidden;border:1px solid #e8f0f9;}
.faq-q{width:100%;background:none;border:none;text-align:left;padding:19px 24px;font-size:15px;color:var(--blue-dark);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:inherit;}
.faq-q .arr{width:26px;height:26px;border-radius:50%;background:var(--blue-light);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;transition:.3s;}
.faq-item.open .faq-q .arr{background:var(--orange);color:#fff;transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-a-inner{font-size:15px;color:var(--text-light);border-top:1px dashed #e3ecf6;padding-top:14px;margin:0 24px 20px;}

/* ===== 问答列表（链接式）===== */
.qa-list{max-width:880px;margin:0 auto;}
.qa-item{display:block;background:#fff;border-radius:12px;box-shadow:var(--shadow);border:1px solid #e8f0f9;padding:20px 24px;margin-bottom:14px;transition:.25s;}
.qa-item:hover{transform:translateY(-4px);border-color:var(--blue);}
.qa-item .q{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--blue-dark);margin-bottom:8px;}
.qa-item .q .qmark{width:30px;height:30px;border-radius:8px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;}
.qa-item p{font-size:15px;color:var(--text-light);padding-left:42px;}
.qa-item .qa-date{display:inline-block;margin:10px 0 0 42px;font-size:13px;color:#93a3b6;}
/* 两列版问答列表（每行 2 条） */
.qa-list.two-col{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:none;margin:0;}
.qa-list.two-col .qa-item{margin-bottom:0;padding:18px 20px;height:100%;}
.qa-list.two-col .qa-item .q{font-size:14.5px;gap:10px;align-items:flex-start;line-height:1.6;}
.qa-list.two-col .qa-item .q .qmark{width:26px;height:26px;border-radius:7px;font-size:13px;margin-top:1px;}
.qa-list.two-col .qa-item p{font-size:13.5px;line-height:1.75;padding-left:36px;}
.qa-list.two-col .qa-item .qa-date{margin:8px 0 0 36px;}
@media(max-width:820px){.qa-list.two-col{grid-template-columns:1fr;}}

/* ===== 动态列表 ===== */
.news-list{max-width:880px;margin:0 auto;}
/* 两列版新闻列表（每行 2 条） */
.news-list.two-col{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:none;margin:0;}
.news-list.two-col .news-item{margin-bottom:0;}
@media(max-width:820px){.news-list.two-col{grid-template-columns:1fr;}}
.news-item{display:flex;gap:20px;background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:22px 24px;margin-bottom:14px;border:1px solid #e8f0f9;transition:.25s;align-items:flex-start;color:inherit;text-decoration:none;}
.news-item:hover{transform:translateY(-4px);border-color:var(--blue);}
.news-date{text-align:center;flex-shrink:0;width:64px;background:var(--blue-light);border-radius:10px;padding:10px 0;}
.news-date .d{font-size:22px;color:var(--blue);line-height:1.2;}
.news-date .m{font-size:13px;color:var(--text-light);}
.news-body h4{font-size:15px;color:var(--blue-dark);margin-bottom:6px;}
.news-body p{font-size:13px;color:var(--text-light);}
.news-body .tag{display:inline-block;font-size:13px;color:var(--orange-dark);background:var(--orange-light);border-radius:20px;padding:2px 12px;margin-bottom:6px;}

/* ===== 首页技术问答卡片：时间(月-日)+标题链接 同一行，＋独立折叠 ===== */
.tc-list{margin:0;}
.tc-card{display:block;background:#f8fbff;border:1px solid #e8f0f9;border-radius:12px;padding:15px 18px;margin-bottom:12px;transition:.25s;}
.tc-card:last-child{margin-bottom:0;}
.tc-card:hover{border-color:var(--blue);box-shadow:var(--shadow);transform:translateY(-2px);}
.tc-head{display:flex;align-items:center;gap:10px;}
.tc-date{font-size:13px;color:var(--orange-dark);flex-shrink:0;}
.tc-title{font-size:15px;color:var(--blue-dark);font-weight:400;flex:1;line-height:1.5;transition:.2s;}
a.tc-title:hover{color:var(--orange);}
.tc-plus{flex-shrink:0;width:22px;height:22px;border:none;padding:0;border-radius:50%;background:var(--orange-light);color:var(--orange-dark);display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;font-family:inherit;cursor:pointer;transition:.25s;}
.tc-card.open .tc-plus{background:var(--orange);color:#fff;transform:rotate(45deg);}
.tc-body{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.tc-body p{font-size:13px;color:var(--text-light);line-height:1.8;border-top:1px dashed #e3ecf6;margin-top:10px;padding-top:9px;}
.tc-more{display:inline-block;margin-top:8px;font-size:13px;color:var(--blue);}
.tc-more:hover{color:var(--orange);}

/* ===== 文章内容页 ===== */
.article-wrap{display:grid;grid-template-columns:1fr 320px;gap:36px;align-items:start;}
.article{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:40px 44px;border:1px solid #e8f0f9;}
.article h2{font-size:22px;color:var(--blue-dark);margin:34px 0 14px;padding-left:14px;border-left:5px solid var(--orange);}
.article h2:first-child{margin-top:0;}
.article p{font-size:15px;color:var(--text-light);margin-bottom:14px;}
.article ul.dot{margin:0 0 16px 4px;}
.article ul.dot li{font-size:15px;color:var(--text-light);padding:6px 0 6px 24px;position:relative;}
.article ul.dot li::before{content:"";position:absolute;left:4px;top:15px;width:8px;height:8px;border-radius:50%;background:var(--orange);}
.article blockquote{background:var(--orange-light);border-left:4px solid var(--orange);border-radius:8px;padding:16px 20px;font-size:15px;color:#8a5a20;margin:18px 0;}
.article table{width:100%;border-collapse:collapse;margin:16px 0 22px;font-size:15px;}
.article th{background:var(--blue);color:#fff;padding:11px 14px;text-align:left;}
.article td{border:1px solid #e3ecf6;padding:10px 14px;color:var(--text-light);}
.article tr:nth-child(even) td{background:var(--bg-gray);}
.article .spec-note{font-size:13px;color:#98a6b5;margin-top:-14px;margin-bottom:20px;}
.article-foot{margin-top:34px;padding-top:20px;border-top:1px dashed #e3ecf6;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:15px;}
.article-foot a{color:var(--blue);}
.article-foot a:hover{color:var(--orange-dark);}
.prev-next{display:flex;justify-content:space-between;gap:16px;margin-top:26px;}
.prev-next a{flex:1;background:#fff;border:1px solid #e3ecf6;border-radius:10px;padding:14px 18px;font-size:15px;color:var(--text-light);transition:.25s;}
.prev-next a:hover{border-color:var(--blue);color:var(--blue);}
.prev-next a small{display:block;color:#98a6b5;font-size:13px;margin-bottom:2px;}
.prev-next a.next{text-align:right;}

/* ===== 问答/文章详情：标题 + 发布时间 + 关键词 ===== */
.art-head{margin-bottom:8px;}
.art-title{font-size:23px;line-height:1.5;font-weight:600;color:var(--blue-dark);margin:0 0 12px;}
.art-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13.5px;color:#93a3b6;margin-bottom:14px;}
.art-meta .am-sep{color:#d8e2ee;}
.art-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:18px;border-bottom:1px dashed #e3ecf6;}
.art-tags .at-label{font-size:13px;color:#93a3b6;margin-right:2px;}
.art-tags a{font-size:13px;color:var(--blue);background:var(--blue-light);border-radius:20px;padding:4px 12px;transition:.2s;}
.art-tags a:hover{background:var(--orange-light);color:var(--orange-dark);}
.art-head + h2{margin-top:24px;}
/* 左栏变窄后表格首列不折行 */
.topic-main .article table th:first-child,.topic-main .article table td:first-child{white-space:nowrap;}

/* 侧栏 */
.sidebar{position:sticky;top:96px;display:grid;gap:20px;}
.side-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 24px;border:1px solid #e8f0f9;}
.side-card h4{font-size:15px;color:var(--blue-dark);margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.side-card h4::before{content:"";width:5px;height:18px;border-radius:3px;background:var(--orange);}
.side-card ul li{border-bottom:1px dashed #e8f0f9;}
.side-card ul li:last-child{border-bottom:none;}
.side-card ul a{display:block;padding:9px 2px;font-size:15px;color:var(--text-light);transition:.2s;}
.side-card ul a:hover,.side-card ul a.cur{color:var(--blue);padding-left:8px;}
.side-card .c-line{display:flex;gap:10px;align-items:flex-start;padding:9px 0;font-size:15px;color:var(--text-light);}
.side-card .c-line b{color:var(--blue-dark);}
.side-card .c-line .ic{width:32px;height:32px;border-radius:8px;background:var(--orange-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.side-card .c-line .ic svg{width:16px;height:16px;}
.side-btn{display:block;text-align:center;margin-top:14px;background:linear-gradient(135deg,var(--orange),var(--orange-dark));color:#fff;padding:11px;border-radius:26px;font-size:15px;transition:.25s;}
.side-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(245,130,31,.4);}

/* ===== 专题页：左侧正文 + 右侧常驻悬浮栏 ===== */
.topic-layout{display:grid;grid-template-columns:minmax(0,1fr) 306px;gap:44px;align-items:start;padding-bottom:48px;}
.topic-main{min-width:0;}
.topic-main>section>.container{max-width:none;padding:0;}
.topic-main .bg-gray{background:transparent;}
/* 专题页区块间距收窄（仅五个专题页生效） */
.topic-main>section{padding:36px 0;}
.topic-main .article-wrap{display:block;}
.topic-main .article{padding:34px 32px;}
.topic-rail{position:sticky;top:92px;display:flex;flex-direction:column;gap:18px;margin-top:56px;}
/* 问答详情页：右栏与左侧文章卡顶部对齐 */
.topic-rail.qa-rail{margin-top:36px;}
/* 侧栏“主营业务”当前项：橙色 */
.topic-rail .side-card ul a.cur{color:var(--orange-dark);background:var(--orange-light);border-radius:6px;padding-left:10px;font-weight:500;}
.topic-rail .side-card ul a.cur:hover{color:var(--orange-dark);}
/* 左栏变窄后，多列网格适当减列 */
.topic-main .flow-grid{grid-template-columns:repeat(3,1fr);row-gap:22px;}
.topic-main .flow-grid.seven{grid-template-columns:repeat(4,1fr);}
.topic-main .feat-strip{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px;}
/* 两列版（如档案页“价值维度”4 卡 → 每行 2 列） */
.topic-main .feat-strip.two-col{grid-template-columns:repeat(2,1fr);gap:18px;}
.topic-main .feat-strip.two-col .f{padding:26px 26px 24px;}
.topic-main .feat-strip.two-col .f .ic{font-size:20px;margin-bottom:10px;}
.topic-main .feat-strip.two-col .f h4{font-size:16px;margin-bottom:6px;}
.topic-main .feat-strip.two-col .f p{font-size:14px;line-height:1.75;}
.topic-main .feat-strip.four-col{grid-template-columns:repeat(4,1fr);gap:15px;}
.topic-main .feat-strip.four-col .f{padding:22px 18px 20px;}
.topic-main .feat-strip.four-col .f .ic{font-size:18px;margin-bottom:8px;}
.topic-main .feat-strip.four-col .f h4{font-size:15px;margin-bottom:6px;}
.topic-main .feat-strip.four-col .f p{font-size:13px;line-height:1.7;}
/* 卡片内嵌于正文白卡时：去掉双层阴影，改为浅底 + 细边 */
.article .feat-strip .f{background:#f7fafd;box-shadow:none;border:1px solid #e6eef8;border-bottom:3px solid transparent;}
.article .feat-strip .f:hover{background:#fff;box-shadow:var(--shadow);}
/* 图标与标题同行居中（收/管/存/用四卡） */
.topic-main .feat-strip .f.ic-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:8px;text-align:center;}
.topic-main .feat-strip .f.ic-row .ic{margin-bottom:0;line-height:1;}
.topic-main .feat-strip .f.ic-row h4{margin-bottom:0;}
.topic-main .feat-strip .f.ic-row p{flex:0 0 100%;margin-top:10px;}
.topic-main .case-grid{grid-template-columns:repeat(2,1fr);}

/* ===== 服务专题页 hero 特性条 ===== */
.feat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px;}
.feat-strip .f{background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:22px 20px;text-align:center;border-bottom:3px solid transparent;transition:.25s;}
.feat-strip .f:hover{border-bottom-color:var(--orange);transform:translateY(-4px);}
.feat-strip .f .ic{font-size:15px;margin-bottom:8px;}
.feat-strip .f h4{font-size:15px;color:var(--blue-dark);margin-bottom:4px;}
.feat-strip .f p{font-size:13px;color:var(--text-light);}

/* ===== 优势网格（服务页）===== */
.adv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.adv-item{background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:26px 28px;display:flex;gap:18px;align-items:flex-start;border:1px solid #e8f0f9;transition:.25s;}
.adv-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);}
.adv-item .no{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.adv-item h4{font-size:15px;color:var(--blue-dark);margin-bottom:5px;}
.adv-item p{font-size:13px;color:var(--text-light);}

/* ===== 资质证书墙 ===== */
/* 企业资质区块：图片无边距、按真实比例宽度100%撑满，完整不变形 */
.cert-qual{align-items:start;}
.cert-qual .cert-card{border:none;box-shadow:none;background:#fff;}
.cert-qual .pic{padding:0;background:#fff;height:auto;}
.cert-qual .pic img{width:100%;height:auto;display:block;}

/* 团队专业证书区块：一行4列 */
.cert-team{grid-template-columns:repeat(4,1fr);}


.cert-group{display:flex;align-items:center;gap:14px;margin:46px 0 24px;}
.cert-group:first-of-type{margin-top:0;}
.cert-group .bar{width:6px;height:24px;border-radius:3px;background:var(--orange);flex-shrink:0;}
.cert-group h3{font-size:22px;color:var(--blue-dark);}
.cert-group small{font-size:13px;color:var(--text-light);}
.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.cert-card{background:#fff;border-radius:12px;box-shadow:var(--shadow);border:1px solid #e8f0f9;overflow:hidden;transition:.25s;cursor:zoom-in;}
.cert-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover);border-color:var(--blue);}
.cert-card .pic{height:250px;background:repeating-conic-gradient(#f6f9fc 0 25%,#fff 0 50%) 0 0/20px 20px;display:flex;align-items:center;justify-content:center;padding:12px;}
.cert-card .pic img{max-height:100%;max-width:100%;object-fit:contain;}
.cert-card h5{font-size:15px;color:var(--blue-dark);text-align:center;padding:12px 14px 14px;line-height:1.5;}
/* 灯箱 */
#lightbox{position:fixed;inset:0;background:rgba(6,43,82,.88);z-index:200;display:none;align-items:center;justify-content:center;padding:40px;cursor:zoom-out;}
#lightbox.show{display:flex;}
#lightbox img{max-width:92vw;max-height:88vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);background:#fff;}
#lightbox .cap{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#cfe0f2;font-size:15px;}
#lightbox .close{position:absolute;top:18px;right:26px;color:#fff;font-size:15px;line-height:1;cursor:pointer;opacity:.85;}
#lightbox .close:hover{opacity:1;}

/* ===== CTA ===== */
.cta{background:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/48px 48px,linear-gradient(120deg,var(--blue-dark),var(--blue));color:#fff;text-align:center;padding:66px 24px;position:relative;overflow:hidden;}
.cta::before{content:"";position:absolute;left:-100px;top:-100px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(245,130,31,.35),transparent 65%);}
.cta h2{font-size:22px;margin-bottom:12px;position:relative;}
.cta p{color:#c9dcf0;margin-bottom:28px;position:relative;}
.cta .btn{position:relative;}

/* ===== 页脚 ===== */
footer{background:var(--blue-deep);color:#9db8d4;padding:56px 0 0;font-size:13px;position:relative;}
footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--orange),var(--blue) 40%,var(--blue) 60%,var(--orange));}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:40px;}
.foot-grid h4{color:#fff;font-size:15px;margin-bottom:18px;position:relative;padding-bottom:10px;width:fit-content;}
.foot-logo{height:52px;width:auto;margin-bottom:16px;border-radius:6px;background:#fff;padding:6px;}
.foot-grid h4::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;border-radius:2px;background:var(--orange);}
.foot-grid p,.foot-grid li{font-size:13px;line-height:2.1;}
.foot-grid a:hover{color:#FFB35C;}
.foot-grid ul li::before{content:"· ";color:var(--orange);}
.foot-contact li{display:flex;gap:8px;}
.copyright{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;text-align:center;font-size:13px;color:#7a94b3;}
.copyright a{color:#9db8d4;}
/* 友情链接 */
.friend-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 20px;padding:18px 0 6px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;}
.friend-links .fl-label{color:#9db8d4;font-size:13px;}
.friend-links a{color:#9db8d4;font-size:13px;transition:.2s;}
.friend-links a:hover{color:#FFB35C;}
.friend-links + .copyright{border-top:none;padding-top:10px;}

/* ===== 浮动 & 回顶 ===== */
#toTop{position:fixed;right:26px;bottom:70px;width:46px;height:46px;border-radius:50%;background:var(--orange);color:#fff;border:none;font-size:22px;cursor:pointer;box-shadow:0 6px 18px rgba(245,130,31,.45);opacity:0;pointer-events:none;transition:.3s;z-index:99;}
#toTop.show{opacity:1;pointer-events:auto;}
#toTop:hover{transform:translateY(-4px);}
.float-bar{position:fixed;left:0;right:0;bottom:0;z-index:98;background:linear-gradient(90deg,var(--blue-dark),var(--blue));color:#fff;display:flex;justify-content:center;align-items:center;gap:22px;padding:10px 16px;font-size:13px;box-shadow:0 -4px 16px rgba(8,61,117,.25);}
.float-bar .msg{font-size:13px;}
.float-bar .msg b{color:#FFB35C;font-weight:400;}
.float-bar a{background:var(--orange);color:#fff;padding:8px 22px;border-radius:24px;font-size:13px;white-space:nowrap;transition:.25s;}
.float-bar a:hover{background:var(--orange-dark);}

/* ===== 响应式 ===== */
@media(max-width:1024px){
  .article-wrap{grid-template-columns:1fr;}
  .sidebar{position:static;}
  .topic-layout{grid-template-columns:1fr;gap:34px;padding-bottom:32px;}
  .topic-rail{position:static;margin-top:0;}
  .topic-rail.qa-rail{margin-top:0;}
}
@media(max-width:992px){
  .cert-grid{grid-template-columns:repeat(2,1fr);}
  .hero .container{grid-template-columns:1fr;}
  .hero h1{font-size:22px;}
  .biz-grid,.case-grid{grid-template-columns:repeat(2,1fr);}
  .biz-grid>.biz-card,
  .biz-grid>.biz-card:nth-child(1),
  .biz-grid>.biz-card:nth-child(2){grid-column:auto;}
  .flow-grid{grid-template-columns:repeat(3,1fr);row-gap:28px;}
  .about-grid{grid-template-columns:1fr;}
  .about-grid.split{grid-template-columns:1fr;gap:36px;}
  .foot-grid{grid-template-columns:repeat(2,1fr);}
  .client-wall .grid{grid-template-columns:repeat(3,1fr);}
  .feat-strip{grid-template-columns:repeat(2,1fr);}
  .topic-main .feat-strip{grid-template-columns:repeat(2,1fr);}
  .topic-main .feat-strip.four-col{grid-template-columns:repeat(2,1fr);gap:16px;}
  .topic-main .feat-strip.four-col .f{padding:22px 18px;}
  .adv-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .cert-grid{grid-template-columns:1fr;}
  .cert-card .pic{height:210px;}
  .topbar .right{display:none;}
  .nav-toggle{display:block;}
  .nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;padding:12px 20px 18px;box-shadow:0 12px 24px rgba(8,61,117,.12);align-items:stretch;}
  .nav-links.open{display:flex;}
  .nav-links>a::after,.nav-links .has-drop>.drop-label::after{display:none;}
  .nav-links>a:hover,.nav-links .has-drop:hover>.drop-label{transform:none;}
  .drop-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 0 16px;display:none;}
  .has-drop:hover .drop-menu,.has-drop.open .drop-menu{display:block;}
  .nav-phone{display:none;}
  .hero{padding:64px 0 80px;}
  .hero h1{font-size:22px;}
  .biz-grid,.case-grid,.case-grid.two{grid-template-columns:1fr;}
  .flow-grid{grid-template-columns:repeat(2,1fr);}
  .about-points{grid-template-columns:1fr;}
  .about-grid.split .about-points{grid-template-columns:1fr;}
  section{padding:44px 0;}
  .topic-main>section{padding:26px 0;}
  .sec-head h2{font-size:22px;}
  .page-banner h1{font-size:22px;}
  .client-wall .grid{grid-template-columns:repeat(2,1fr);}
  .foot-grid{grid-template-columns:1fr;}
  .news-item{flex-direction:column;gap:12px;}
  .float-bar .msg{display:none;}
  .article{padding:26px 22px;}
  .feat-strip{grid-template-columns:repeat(2,1fr);}
  .topic-main .feat-strip,.topic-main .feat-strip.two-col,.topic-main .feat-strip.four-col{grid-template-columns:1fr;}
}

/* 七步流程网格（文献数字化专题） */
.flow-grid.seven{grid-template-columns:repeat(4,1fr);}
@media(max-width:992px){.flow-grid.seven{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.flow-grid.seven{grid-template-columns:repeat(2,1fr);}}

/* ===== 全站滚动入场动画（由 js/main.js 自动挂 .rv 类并观察触发） =====
   仅在 JS 可用时才隐藏元素：无 JS 时页面照常完整显示 */
@keyframes rvUp{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}
.rv{opacity:0;}
.rv.in{animation:rvUp .65s cubic-bezier(.16,1,.3,1) both;}
@media(prefers-reduced-motion:reduce){
  .rv{opacity:1;}
  .rv.in{animation:none;}
}

/* ===== 服务专题页（services/5页）：原行内样式提取为公共类 ===== */
.topic-main .sec-pad-sm{padding:26px 0 18px;}
.topic-main .sec-pad-lg{padding:26px 0 44px;}
.sec-head.mb30{margin-bottom:30px;}
.topic-main .feat-strip.mt0{margin-top:0;}
.topic-main .feat-strip.mt24{margin-top:24px;}
.topic-main .article.mt44{margin-top:44px;}
.topic-main .article.mt40{margin-top:40px;}
.topic-main .article.narrow{max-width:1000px;margin:44px auto 0;}
.article h3.mt0{margin-top:0;}
.article .spec-note.mt-n8{margin-top:-8px;}
.article .spec-note.mt-n6{margin-top:-6px;}
.article blockquote.m0{margin:0;}
.foot-grid .mt10{margin-top:10px;}
.note-c{text-align:center;color:var(--text-light);font-size:14px;margin:18px auto 0;}
.note-c.limit{max-width:900px;}
/* feat-strip 图标位：emoji 已替换为 SVG，统一尺寸 */
.feat-strip .f .ic svg{width:20px;height:20px;display:inline-block;vertical-align:middle;}
/* 公共符号图标 SVG 化：菜单 / 电话 / 回顶部 / 下拉箭头（currentColor 自动继承颜色） */
.nav-toggle svg{width:24px;height:24px;display:block;}
#toTop svg{width:22px;height:22px;display:block;margin:0 auto;}
.caret svg{width:10px;height:10px;display:inline-block;vertical-align:middle;}
.float-bar a .fb-ic{width:15px;height:15px;vertical-align:-3px;margin-right:3px;}
