.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;padding-top:0;padding-bottom:0;background:#d9eeef}.stats div{background:#fff;padding:40px max(2vw,20px);text-align:center}.stats strong{display:block;font-size:calc(clamp(30px,4vw,54px)*var(--fs-h2));line-height:1;background:linear-gradient(120deg,#078fcf,#14b7a8);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.stats span{display:block;margin-top:11px;color:#537080;font-size:calc(14px*var(--fs-body))}.architecture{display:grid;grid-template-columns:1fr 1.1fr;gap:75px;align-items:center}.architecture h2{font-size:calc(clamp(30px,3.7vw,51px)*var(--fs-h2))}.architecture>div>p:not(.eyebrow){color:var(--muted);font-size:calc(18px*var(--fs-body))}.architecture-stack{display:flex;flex-direction:column;gap:8px}.architecture-stack span{color:#fff;padding:15px 22px;border-radius:7px;background:linear-gradient(100deg,#066dac,#10b3a5)}.architecture-stack span:nth-child(2){margin-left:7%;background:linear-gradient(100deg,#0b92c8,#16b8ab)}.architecture-stack span:nth-child(3){margin-left:14%;background:linear-gradient(100deg,#145b93,#0c8990)}.architecture-stack span:nth-child(4){margin-left:7%;background:linear-gradient(100deg,#0a83b9,#0dadab)}.architecture-stack span:nth-child(5){background:linear-gradient(100deg,#062f54,#0b7275)}.service-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service-steps article{border-top:2px solid #16b6a8;padding:22px 0}.service-steps b{font-size:calc(13px*var(--fs-body));color:#0697c2}.service-steps h2{font-size:calc(24px*var(--fs-body));margin:12px 0}.service-steps p,.service-callout p{color:var(--muted);margin:0}.service-callout{background:linear-gradient(120deg,#073a62,#0b7477);color:#fff}.service-callout .eyebrow{color:#8eece0}.service-callout p{color:#d0e3e5;max-width:650px;margin:20px 0 30px}.service-callout .button{background:#fff;color:#087185}@media(max-width:720px){.stats,.architecture,.service-steps{grid-template-columns:1fr 1fr}.architecture{gap:35px}.architecture-stack{grid-column:1/-1}.service-steps{gap:14px}.service-steps article{padding-top:14px}}@media(max-width:460px){.stats,.service-steps{grid-template-columns:1fr}.stats div{padding:28px}.architecture{grid-template-columns:1fr}}

/* ===== 扩展：产品模块 / 新闻 / 招聘 / 价值卡片 / 移动菜单 ===== */
.nav-burger{display:none;flex-direction:column;gap:5px;width:38px;height:38px;padding:9px;background:#fff;border:1px solid var(--line);border-radius:6px;cursor:pointer}
.nav-burger span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:.25s}
.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.cards.four{grid-template-columns:repeat(4,1fr)}
.cream{background:var(--cream)}
.text-link.light{color:#fff}
.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}
.module-card{border:1px solid var(--line);border-radius:8px;padding:26px;background:#fff}
.module-card>span{font-size:12px;color:var(--blue);font-weight:800;letter-spacing:.1em}
.module-card h3{font-size:calc(21px*var(--fs-body));margin:10px 0}
.module-card p{color:var(--muted);margin:0 0 14px}
.module-card ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.module-card li{color:var(--muted);font-size:calc(14px*var(--fs-body));padding-left:18px;position:relative}
.module-card li::before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:700}
.news-list{display:grid;gap:0;max-width:988px;margin:45px 0 0}
.news-item{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);align-items:start}
.news-item:last-child{border-bottom:0}
.news-item time{font-size:calc(13px*var(--fs-body));color:var(--blue);font-weight:700;padding-top:4px}
.news-tag{display:inline-block;font-size:12px;color:var(--blue);background:rgba(18,101,255,.08);padding:3px 10px;border-radius:20px;margin-bottom:8px}
.news-item h3{font-size:calc(21px*var(--fs-body));margin:0 0 6px;letter-spacing:-.02em}
.news-item p{color:var(--muted);margin:0;font-size:calc(15px*var(--fs-body))}
.dark .news-item{border-bottom:1px solid #42607e}
.dark .news-item time{color:#8eece0}
.dark .news-item h3{color:#fff}
.dark .news-item p{color:#b8c9d6}
.dark .case-grid article p{color:#c4d2de}
.dark .news-tag{color:#8eece0;background:rgba(142,236,224,.12)}
.job-list{display:grid;gap:18px;max-width:1000px;margin-top:45px}
.job-item{display:flex;justify-content:space-between;align-items:center;gap:28px;border:1px solid var(--line);border-radius:8px;padding:28px}
.job-title{font-size:calc(22px*var(--fs-body));font-weight:800;letter-spacing:-.02em}
.job-meta{display:flex;gap:10px;margin:10px 0 8px;flex-wrap:wrap}
.job-meta span{font-size:12px;color:var(--blue);background:rgba(18,101,255,.08);padding:3px 10px;border-radius:20px;font-weight:600}
.job-item p{color:var(--muted);margin:0;max-width:640px}
.job-item .button{white-space:nowrap}
body.nav-open{overflow:hidden}
.download-list{display:grid;gap:16px;max-width:1000px;margin-top:45px}
.download-item{display:flex;justify-content:space-between;align-items:center;gap:24px;border:1px solid var(--line);border-radius:8px;padding:26px 28px;background:#fff}
.download-info{display:flex;align-items:flex-start;gap:18px;min-width:0}
.download-type{flex:none;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(100deg,#066dac,#10b3a5);color:#fff;font-size:12px;font-weight:800;letter-spacing:.05em}
.download-info h3{font-size:calc(20px*var(--fs-body));margin:0 0 6px;letter-spacing:-.02em}
.download-info p{color:var(--muted);margin:0 0 6px;font-size:calc(14px*var(--fs-body))}
.download-info time{font-size:12px;color:var(--blue);font-weight:600}
.download-item .button{white-space:nowrap}
.notice{color:var(--muted);font-size:calc(15px*var(--fs-body));margin-top:45px}
@media(max-width:720px){
  .download-item{flex-direction:column;align-items:stretch;gap:16px}
  .download-item .button{width:100%;text-align:center}
}
@media(max-width:920px){
  .cards.four,.module-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  header{padding:0 16px}
  .logo{width:auto}
  .logo img{max-height:32px;width:auto}
  .nav{gap:12px}
  .lang-switch{padding:2px 8px}
  .lang-switch a{font-size:12px}
  .logo .logo-word{height:24px}
  .logo-glow{font-size:17px}
  .logo-o{width:18px;height:18px}
  .nav-more{display:none}
  .nav-drop{display:none}
  nav a:not(.lang-switch a):not(.nav-cta){display:none}
  .nav-burger{display:flex}
  nav.nav.open{position:fixed;inset:78px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:10px max(8vw,28px) 18px;box-shadow:0 18px 40px rgba(9,28,53,.12);z-index:9}
  nav.nav.open a{display:block;padding:14px 0;font-size:calc(17px*var(--fs-nav));border-bottom:1px solid #edf1f5}
  nav.nav.open .nav-more{display:block}
  nav.nav.open .nav-more-btn{display:none}
  nav.nav.open .nav-more-panel{display:block;position:static;box-shadow:none;border:0;background:transparent;padding:0 0 4px 16px;min-width:0}
  nav.nav.open .nav-more-panel a{border-bottom:1px dashed #edf1f5;font-size:calc(15px*var(--fs-nav));padding:11px 0}
  nav.nav.open .nav-drop{display:block}
  nav.nav.open .nav-drop-btn{display:block;padding:14px 0;font-size:calc(17px*var(--fs-nav));border-bottom:1px solid #edf1f5}
  nav.nav.open .nav-drop-panel{display:block;position:static;box-shadow:none;border:0;background:transparent;padding:0 0 4px 16px;min-width:0}
  nav.nav.open .nav-drop-panel a{border-bottom:1px dashed #edf1f5;font-size:calc(15px*var(--fs-nav));padding:11px 0}
  nav.nav.open .lang-switch{display:flex;gap:7px;border:0;padding:12px 0}
  nav.nav.open .lang-switch a{display:inline-block;padding:0;border:0}
  nav.nav.open .nav-cta{margin-top:14px;text-align:center;font-size:calc(14px*var(--fs-nav))}
  nav.nav.open .nav-burger{position:fixed;top:21px;right:16px;margin:0}
  .nav-cta{display:none}
  nav.nav.open .nav-cta{display:block}
  .industry-grid{grid-template-columns:1fr}
  .cards.four,.module-grid{grid-template-columns:1fr}
  .news-item{grid-template-columns:1fr;gap:8px}
  .job-item{flex-direction:column;align-items:flex-start}
  .job-item .button{width:100%;text-align:center}
}

.cards.three{grid-template-columns:repeat(3,1fr)}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-top:28px}
.stats-grid div{background:#f4f7fb;border:1px solid #e2e9f2;border-radius:10px;padding:20px 16px;text-align:center}
.stats-grid b{display:block;font-size:calc(30px*var(--fs-h2));color:var(--accent, #0a66c2);letter-spacing:.5px}
.stats-grid span{font-size:calc(14px*var(--fs-body));color:var(--muted, #5b6b7c)}
.client-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.client-list span{background:#fff;border:1px solid #e2e9f2;border-radius:999px;padding:8px 18px;font-size:calc(14px*var(--fs-body));color:#33475b}
@media(max-width:700px){.cards.three{grid-template-columns:1fr}}

.logo{display:flex;align-items:center;gap:6px}
.logo img{height:42px;width:auto;display:block}
img.logo-word{height:38px;width:auto;display:block}span.logo-word{font-weight:800;font-size:20px;letter-spacing:.03em}.logo-glow{background:linear-gradient(90deg,#0a2f7d 0%,#0d5fae 55%,#12b8e8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:900;font-size:26px;letter-spacing:.01em;line-height:1;white-space:nowrap}.logo-o{display:inline-block;width:26px;height:26px;border-radius:50%;overflow:hidden;flex-shrink:0;vertical-align:-5px}.logo-o img{width:100%;height:100%;object-fit:cover;display:block}.nav-more{position:relative}.nav-more-btn{background:#fff;border:1px solid var(--line);padding:5px 10px;border-radius:6px;font-size:calc(13px*var(--fs-nav));color:var(--ink);cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:3px;transition:.15s}.nav-more-btn:hover{color:var(--blue);border-color:#b9d2f5}.nav-more-panel{display:none;position:absolute;top:calc(100% + 10px);right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 36px rgba(9,28,53,.16);padding:8px;min-width:170px;z-index:30}.nav-more-panel a{display:block;padding:10px 14px;border-radius:8px;font-size:calc(14px*var(--fs-nav));white-space:nowrap}.nav-more-panel a:hover{background:#f2f6fb;color:var(--blue)}.nav-more.hover .nav-more-panel,.nav-more.open .nav-more-panel{display:block}
.group-shot{width:100%;border-radius:12px;display:block;margin:6px 0 30px;box-shadow:0 10px 30px rgba(9,28,53,.08)}
.matrix-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:40px}
.matrix-grid a{display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 12px;border:1px solid #e2e9f2;border-radius:12px;text-decoration:none;color:#33475b;transition:box-shadow .2s}
.matrix-grid a:hover{box-shadow:0 10px 26px rgba(9,28,53,.1)}
.matrix-grid img{width:56px;height:56px;object-fit:contain}
.matrix-grid span{font-size:calc(14px*var(--fs-body));font-weight:600;text-align:center}
.phone-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.phone-row figure{margin:0;text-align:center}
.phone-row img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center;border-radius:14px;border:1px solid #e2e9f2;box-shadow:0 12px 32px rgba(9,28,53,.1)}
.phone-row figcaption{margin-top:14px}
.phone-row figcaption b{display:block;font-size:calc(17px*var(--fs-body));color:#091c35}
.phone-row figcaption span{font-size:calc(14px*var(--fs-body));color:#64748b;line-height:1.6}
.section-hint{font-size:calc(15px*var(--fs-body));color:#64748b;max-width:640px;margin:6px 0 0}
@media(max-width:920px){.matrix-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.matrix-grid{grid-template-columns:repeat(2,1fr)}.phone-row{grid-template-columns:1fr}.logo img{height:32px}.logo .logo-word{height:22px}.logo-word{font-size:16px}}

.chat-widget{position:fixed;right:22px;bottom:22px;z-index:60}
.chat-fab{display:flex;align-items:center;gap:8px;background:#1265ff;color:#fff;border:0;border-radius:40px;padding:13px 22px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 8px 24px rgba(18,101,255,.35)}
.chat-fab:hover{background:#0e54d8}
.chat-panel{position:fixed;right:104px;bottom:163px;width:330px;max-width:calc(100vw - 120px);background:#fff;border:1px solid #dce5ee;border-radius:14px;box-shadow:0 16px 48px rgba(9,28,53,.18);padding:18px;display:none;z-index:61}
.chat-widget.hover .chat-panel,.chat-widget.open .chat-panel{display:block}
.chat-panel.open{display:block}
.chat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
.chat-head b{font-size:17px;color:#091c35}
.chat-head span{font-size:12px;color:#64748b;display:block;margin-top:2px}
.chat-close{border:0;background:none;font-size:22px;color:#94a3b8;cursor:pointer;line-height:1;padding:0 2px}
.chat-panel input,.chat-panel textarea{width:100%;padding:10px;border:1px solid #ccd6e1;border-radius:6px;font:inherit;margin-top:8px;box-sizing:border-box}
.chat-panel textarea{min-height:90px;resize:vertical}
.chat-presets{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 2px}
.chat-presets button{background:#f2f7fe;border:1px solid #cfe0f8;color:#1265ff;font-size:12.5px;padding:7px 13px;border-radius:20px;cursor:pointer;font-family:inherit;transition:background .2s ease,color .2s ease,border-color .2s ease;text-align:left;line-height:1.4}
.chat-presets button:hover{background:#1265ff;color:#fff;border-color:#1265ff}
.chat-panel button[type=submit]{width:100%;background:#1265ff;color:#fff;border:0;border-radius:6px;padding:11px;font:inherit;font-weight:700;margin-top:12px;cursor:pointer}
.chat-hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.chat-done{color:#087f3f;font-size:14px;text-align:center;margin:10px 0 0}
@media(max-width:480px){.chat-widget{right:14px;bottom:14px}.chat-fab{padding:12px 6px;font-size:11px}.chat-panel{right:96px;bottom:150px;max-width:calc(100vw - 112px)}}

@media(max-width:640px){.logo-glow{font-size:17px}.logo-o{width:18px;height:18px}}

/* PC端导航悬停动画：颜色过渡 + 底部渐变下划线滑入 */
@media(min-width:641px){
  nav a{position:relative;padding:6px 2px;transition:color .2s ease}
  nav a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:100%;background:linear-gradient(90deg,#078fcf,#14b7a8);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
  nav a:hover{color:var(--blue)}
  nav a:hover::after{transform:scaleX(1)}
  nav a.active::after{transform:scaleX(1)}
  .nav-cta{transition:transform .18s ease,box-shadow .18s ease}
  .nav-cta:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(9,28,53,.18)}
  .nav-more-btn{transition:color .2s ease,border-color .2s ease,transform .18s ease}
  .nav-more-btn:hover{transform:translateY(-1px)}
  .nav-more-panel a{transition:background .15s ease,color .15s ease}
}

/* 行业解决方案 */
.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}
.industry-card{border:1px solid var(--line);border-radius:10px;padding:26px;background:#fff;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.industry-card:hover{transform:translateY(-4px);border-color:#b9d2f5;box-shadow:0 16px 34px rgba(9,28,53,.10)}
.industry-card.highlight{border-color:#1265ff;box-shadow:0 0 0 3px rgba(18,101,255,.15),0 16px 34px rgba(9,28,53,.10);transition:box-shadow .4s ease,border-color .4s ease}
.industry-card>span{font-size:18px;color:var(--blue);font-weight:800;letter-spacing:.04em;display:block}
.industry-card p{color:var(--muted);margin:12px 0 16px;font-size:15.5px;line-height:1.7}
.industry-card ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.industry-card li{color:var(--muted);font-size:15px;line-height:1.6;padding-left:20px;position:relative}
.industry-card li::before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:700}
/* 导航二级子菜单 */
.nav-drop{position:relative}
.nav-drop-btn{display:inline-flex;align-items:center;gap:3px}
.nav-drop-panel{display:none;position:absolute;top:calc(100% + 10px);left:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 36px rgba(9,28,53,.16);padding:8px;min-width:180px;z-index:30}
.nav-drop-panel a{display:block;padding:10px 14px;border-radius:8px;font-size:calc(14px*var(--fs-nav));white-space:nowrap;color:var(--ink);text-decoration:none;transition:background .15s ease,color .15s ease}
.nav-drop-panel a:hover{background:#f2f6fb;color:var(--blue)}
.nav-drop.hover .nav-drop-panel,.nav-drop.open .nav-drop-panel{display:block}
.nav-more-panel .nav-child{padding-left:26px;font-size:calc(13px*var(--fs-nav));color:#5b6b7c}
/* 卡片：悬停上浮 + 阴影 + 边框高亮 + 标题变蓝 */
.cards article,.feature-grid article,.solution-grid article,.case-grid article,.two-col article,.module-card,.stats-grid div{
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.cards article:hover,.feature-grid article:hover,.solution-grid article:hover,.case-grid article:hover,.two-col article:hover,.module-card:hover,.stats-grid div:hover{
  transform:translateY(-4px);
  border-color:#b9d2f5;
  box-shadow:0 16px 34px rgba(9,28,53,.10);
}
.cards article h2,.cards article h3,.feature-grid article h3,.solution-grid article h2,.case-grid article h2,.two-col article h2,.module-card h3{transition:color .25s ease}
.cards article:hover h2,.cards article:hover h3,.feature-grid article:hover h3,.solution-grid article:hover h2,.case-grid article:hover h2,.two-col article:hover h2,.module-card:hover h3{color:var(--blue)}

/* 列表项：左移/上浮 + 标题变蓝 */
.news-item,.job-item,.download-item{
  transition:background .25s ease,box-shadow .25s ease,border-color .25s ease,transform .25s ease;
}
.news-item:hover{background:linear-gradient(90deg,rgba(18,101,255,.04),transparent 75%);transform:translateX(4px)}
.news-item h3,.job-title{transition:color .25s ease}
.news-item:hover h3{color:var(--blue)}
.job-item:hover,.download-item:hover{border-color:#b9d2f5;box-shadow:0 12px 28px rgba(9,28,53,.08);transform:translateY(-2px)}
.job-item:hover .job-title{color:var(--blue)}

/* 图片：微缩放 + 阴影加深 */
.product-window img,.ai-showcase img,.group-shot,.phone-row img{
  transition:transform .45s ease,box-shadow .45s ease;
}
.product-window:hover img{transform:scale(1.015);box-shadow:0 32px 68px rgba(7,84,139,.22)}
.ai-showcase:hover img{transform:scale(1.015)}
.group-shot:hover{transform:scale(1.005)}
.phone-row figure:hover img{transform:scale(1.02);box-shadow:0 18px 42px rgba(9,28,53,.16)}
.phone-row figcaption b{transition:color .25s ease}
.phone-row figure:hover figcaption b{color:var(--blue)}

/* 产品矩阵：图标上浮 + 文字变蓝 */
.matrix-grid a{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.matrix-grid a:hover{transform:translateY(-4px);border-color:#b9d2f5;box-shadow:0 14px 30px rgba(9,28,53,.10)}
.matrix-grid img{transition:transform .3s ease}
.matrix-grid a:hover img{transform:scale(1.1)}
.matrix-grid span{transition:color .25s ease}
.matrix-grid a:hover span{color:var(--blue)}

/* 流程条与服务承诺 */
.service-steps article{transition:border-color .25s ease}
.service-steps article:hover{border-top-color:#078fcf}
.service-steps h2{transition:color .25s ease}
.service-steps article:hover h2{color:var(--blue)}
.architecture-stack span{transition:transform .25s ease,box-shadow .25s ease}
.architecture-stack span:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(9,28,53,.18)}

/* 客户名单 */
.client-list span{transition:border-color .25s ease,color .25s ease,background .25s ease}
.client-list span:hover{border-color:var(--blue);color:var(--blue);background:#eef4fe}

/* 按钮与文字链接 */
.button{transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(10,141,216,.28);filter:brightness(1.05)}
.text-link{transition:color .2s ease}
.text-link:hover{color:var(--blue)}
.text-link.light:hover{color:#8eece0}

/* 表单焦点光晕（含在线咨询） */
input,textarea,select{transition:border-color .2s ease,box-shadow .2s ease}
input:focus,textarea:focus,select:focus{outline:none;border-color:#7fb0f2;box-shadow:0 0 0 3px rgba(18,101,255,.10)}

/* 滚动入场：卡片依次淡入上浮（JS 添加 .reveal/.in） */
.reveal>*{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease}
.reveal.in>*{opacity:1;transform:none}
.reveal.in>*:nth-child(2){transition-delay:.07s}
.reveal.in>*:nth-child(3){transition-delay:.14s}
.reveal.in>*:nth-child(4){transition-delay:.21s}
.reveal.in>*:nth-child(5){transition-delay:.28s}
.reveal.in>*:nth-child(6){transition-delay:.35s}
@media (prefers-reduced-motion:reduce){.reveal>*{opacity:1;transform:none;transition:none}}

/* ===== 合作伙伴 logo 墙 ===== */
.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.partner{border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:26px 16px;margin:0;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.partner:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(9,28,53,.09);border-color:#b9d2f5}
.partner img{max-width:72%;height:52px;object-fit:contain}
.partner span{font-size:18px;font-weight:700;color:#33475b;text-align:center}
.partner figcaption{font-size:calc(12px*var(--fs-body));color:#8a98a8}
.client-list span img{height:22px;width:auto;vertical-align:middle;margin-right:8px}
/* ===== 锚点滚动偏移（吸顶导航遮挡补偿） ===== */
section[id]{scroll-margin-top:96px}
/* ===== 右侧悬浮栏（统一按钮组：在线咨询 / 关注我们 / 返回顶部） ===== */
.rail-btn{width:58px;min-height:62px;padding:9px 4px;border:0;border-radius:12px;background:linear-gradient(180deg,#078fcf,#14b7a8);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1.3;cursor:pointer;box-shadow:0 8px 20px rgba(7,143,207,.35);transition:transform .2s ease,box-shadow .2s ease}
.rail-btn svg{width:22px;height:22px;display:block}
.rail-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(7,143,207,.45)}
.chat-widget{position:fixed;right:14px;bottom:96px;z-index:60}
.chat-fab{padding:13px 6px;font-size:11px;border-radius:12px;line-height:1.3}
.side-follow{position:fixed;right:14px;bottom:278px;z-index:70;display:flex;align-items:center;flex-direction:row-reverse}
.follow-btn{padding:13px 6px;font-size:11px;border-radius:12px;line-height:1.3}
.follow-panel{display:none;position:relative;margin-right:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;text-align:center;box-shadow:0 20px 50px rgba(9,28,53,.18)}
.side-follow.hover .follow-panel,.side-follow.open .follow-panel{display:block;animation:slideLeft .25s ease}
.follow-qrs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:330px;max-width:calc(100vw - 60px)}
.follow-qr{display:flex;flex-direction:column;align-items:center;gap:8px}
.follow-qr img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:8px;border:1px solid #e2e9f2;background:#fbfdff;display:block}
.follow-qr p{margin:0;color:#33475b;font-size:13px;font-weight:600;white-space:nowrap}
.follow-qr .qr-empty{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;color:#8a98a8;font-size:12px;border:1px dashed #c9d5e2;border-radius:8px;background:#f8fafc}
.follow-bid{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:14px;padding:11px 12px;border-radius:10px;background:linear-gradient(105deg,#ff8a3d,#ff5e3a);color:#fff;font-weight:700;font-size:15px;line-height:1.45;box-shadow:0 8px 18px rgba(255,94,58,.32)}
.follow-bid svg{width:18px;height:18px;flex:0 0 auto}
.follow-bid b{font-size:15px;letter-spacing:.5px}
.follow-bid b::before{content:""}
.side-fab.up{position:fixed;right:14px;bottom:187px;padding:13px 6px;font-size:11px;border-radius:12px;line-height:1.3}
@keyframes slideLeft{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
@media(max-width:640px){.partner-grid{grid-template-columns:repeat(2,1fr)}.chat-widget{right:10px;bottom:88px}.side-follow{right:10px;bottom:262px}.side-fab.up{right:10px;bottom:175px}}
/* ===== 图片点击放大（页面中间弹窗） ===== */
.group-shot,.group-carousel img,.phone-row figure img,.product-window img,.ai-showcase img{cursor:zoom-in}
.zoom-mask{position:fixed;inset:0;background:rgba(6,18,35,.62);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:100;padding:22px;animation:fadeIn .2s ease}
.zoom-mask[hidden]{display:none}
.zoom-stage{position:relative;max-width:min(88vw,1100px);max-height:86vh;background:#fff;border-radius:14px;padding:10px;box-shadow:0 30px 80px rgba(0,0,0,.42);animation:zoomIn .25s ease}
.zoom-stage img{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;border-radius:8px;object-fit:contain}
.zoom-close{position:absolute;top:-16px;right:-16px;width:38px;height:38px;border-radius:50%;border:0;background:#fff;color:#0b2744;font-size:20px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.28);z-index:2;display:flex;align-items:center;justify-content:center}
.zoom-close:hover{background:#eef4fb}
@keyframes zoomIn{from{transform:scale(.88);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

.deploy-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:45px}
.deploy-grid article{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:center;border:1px solid var(--line);padding:26px 30px;border-radius:8px;transition:transform .18s,box-shadow .18s,border-color .18s}
.deploy-grid article:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(9,28,53,.10);border-color:#b9d2f5}
.deploy-idx{font-size:calc(16px*var(--fs-body));color:var(--blue);font-weight:800;letter-spacing:.04em;border-right:2px solid #16b6a8;padding-right:26px;margin:0;line-height:1.4}
.deploy-grid p{margin:0;color:var(--muted);font-size:calc(15.5px*var(--fs-body));line-height:1.8}
@media(max-width:760px){.deploy-grid article{grid-template-columns:1fr;gap:10px;padding:22px}.deploy-idx{border-right:0;padding-right:0}}

.chat-status{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b;margin-top:2px}
.chat-status .dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.chat-status .dot.on{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.18);animation:zgPulse 2s infinite}
.chat-status .dot.off{background:#94a3b8}
@keyframes zgPulse{0%,100%{box-shadow:0 0 0 3px rgba(34,197,94,.18)}50%{box-shadow:0 0 0 6px rgba(34,197,94,.08)}}

.demo-sec{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center;background:linear-gradient(180deg,#0a2f7d,#0d5fae 70%,#0b7ac0);border-radius:20px;padding:56px 60px;color:#fff;margin:24px auto;box-sizing:border-box;width:calc(100% - 2*max(8vw,28px))}
.demo-sec .section-heading{display:block;margin-bottom:0}
.demo-sec .eyebrow{color:#7fd8ff;letter-spacing:.2em;font-size:12px;font-weight:800;margin-bottom:10px}
.demo-sec h2{font-size:calc(30px*var(--fs-h2));margin:0}
.demo-sec .lede{max-width:380px;color:#d7e7ff;margin:18px 0 0}
.demo-form{display:grid;gap:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:28px}
.demo-form .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.demo-form label{font-weight:600;font-size:14px;color:#eaf2ff}
.demo-form input{width:100%;margin-top:8px;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.14);color:#fff;font:inherit;transition:border-color .2s,box-shadow .2s,background .2s}
.demo-form input::placeholder{color:rgba(255,255,255,.45)}
.demo-form input:focus{outline:none;border-color:#7fd8ff;background:rgba(255,255,255,.22);box-shadow:0 0 0 4px rgba(127,216,255,.18)}
.demo-form button{justify-self:start;margin-top:6px;background:linear-gradient(105deg,#0ac5d8,#14e0b0);color:#04314d;border:0;border-radius:10px;padding:13px 30px;font:inherit;font-weight:800;cursor:pointer;transition:transform .15s,box-shadow .15s}
.demo-form button:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(10,197,216,.4)}
.demo-form button:active{transform:translateY(0)}
.demo-form select{width:100%;margin-top:8px;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.14);color:#fff;font:inherit;transition:border-color .2s,box-shadow .2s,background .2s}
.demo-form select:focus{outline:none;border-color:#7fd8ff;background:rgba(255,255,255,.22);box-shadow:0 0 0 4px rgba(127,216,255,.18)}
.demo-form select option{color:#16324f;background:#fff}
.demo-form textarea{width:100%;margin-top:8px;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.14);color:#fff;font:inherit;resize:vertical;transition:border-color .2s,box-shadow .2s,background .2s}
.demo-form textarea::placeholder{color:rgba(255,255,255,.45)}
.demo-form textarea:focus{outline:none;border-color:#7fd8ff;background:rgba(255,255,255,.22);box-shadow:0 0 0 4px rgba(127,216,255,.18)}
.partner-sec{margin-top:56px}
.chat-hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.chat-done{color:#5df2c0;font-weight:700;margin:6px 0 0}
@media(max-width:900px){.demo-sec{grid-template-columns:1fr;gap:28px}}@media(max-width:700px){.demo-sec{padding:32px 22px}.demo-form .two{grid-template-columns:1fr}}

.article-body{max-width:860px;margin:0 auto;padding:48px 8px}
.article-body .article-meta{display:flex;align-items:center;gap:14px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e2e9f2}
.article-body p{font-size:calc(17px*var(--fs-body));line-height:1.9;color:#33475b;margin:0 0 18px}
.article-body .button{margin-top:12px;display:inline-block}
.read-more{display:inline-block;margin-top:10px;color:#0d5fae;font-weight:700;font-size:14px;text-decoration:none;transition:gap .2s,color .2s}
.read-more:hover{color:#0ac5d8}

.qr-zoom{position:absolute;right:calc(100% + 16px);top:0;width:260px;background:#fff;border-radius:14px;box-shadow:0 18px 44px rgba(9,28,53,.24);padding:16px;text-align:center;opacity:0;visibility:hidden;transform:translateX(8px);transition:opacity .22s ease,transform .22s ease,visibility .22s;z-index:6}
.qr-zoom.show{opacity:1;visibility:visible;transform:translateX(0)}
.qr-zoom img{width:100%;height:auto;border-radius:10px;border:1px solid #e2e9f2;background:#fff;display:block}
.qr-zoom p{margin:12px 0 2px;font-weight:800;color:#0b2744;font-size:14px}
@media(max-width:760px){.qr-zoom{width:200px;padding:12px}.qr-zoom p{font-size:13px}}

/* AI 展示图轮播 */
.ai-carousel{position:relative;overflow:hidden;border-radius:18px;box-shadow:0 20px 45px rgba(13,74,116,.3);background:#fff}
.ai-track{display:flex;transition:transform .55s cubic-bezier(.25,.8,.25,1);will-change:transform}.ai-carousel img{flex:0 0 100%;width:100%;height:auto;display:block;border-radius:18px;border:8px solid #fff;box-sizing:border-box}
.ai-carousel .car-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#0d5fae;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(9,28,53,.2);opacity:0;transition:opacity .25s,background .2s,transform .2s;z-index:3}
.ai-carousel:hover .car-nav{opacity:1}
.ai-carousel .car-nav:hover{background:#0d5fae;color:#fff;transform:translateY(-50%) scale(1.06)}
.ai-carousel .car-prev{left:14px}
.ai-carousel .car-next{right:14px}
.ai-carousel .car-dots{position:absolute;bottom:16px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:3}
.ai-carousel .car-dot{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.75);box-shadow:0 1px 4px rgba(9,28,53,.25);cursor:pointer;padding:0;transition:background .25s,transform .25s}
.ai-carousel .car-dot.on{background:#0d5fae;transform:scale(1.25)}
.ai-carousel .car-dot:hover{background:#0ac5d8}

@media(max-width:720px){.ai-carousel .car-nav{width:34px;height:34px;font-size:19px}.ai-carousel img{border-width:5px}}

/* ===== 产品页组图轮播（直传多图，左右滑动） ===== */
.group-carousel{position:relative;overflow:hidden;border-radius:14px;box-shadow:0 12px 34px rgba(9,28,53,.10);background:#fff;margin:6px 0 30px}
.group-track{display:flex;transition:transform .55s cubic-bezier(.25,.8,.25,1);will-change:transform}
.group-carousel img{flex:0 0 100%;width:100%;height:auto;display:block;border-radius:14px;border:6px solid #fff;box-sizing:border-box}
.group-carousel .car-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#0d5fae;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(9,28,53,.2);opacity:0;transition:opacity .25s,background .2s,transform .2s;z-index:3}
.group-carousel:hover .car-nav{opacity:1}
.group-carousel .car-nav:hover{background:#0d5fae;color:#fff;transform:translateY(-50%) scale(1.06)}
.group-carousel .car-prev{left:14px}
.group-carousel .car-next{right:14px}
.group-carousel .car-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:3}
.group-carousel .car-dot{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.75);box-shadow:0 1px 4px rgba(9,28,53,.25);cursor:pointer;padding:0;transition:background .25s,transform .25s}
.group-carousel .car-dot.on{background:#0d5fae;transform:scale(1.25)}
.group-carousel .car-dot:hover{background:#0ac5d8}
@media(max-width:720px){.group-carousel .car-nav{width:34px;height:34px;font-size:19px}.group-carousel img{border-width:5px}}

/* ===== Logo 尺寸统一（覆盖历史样式冲突，双类优先级最高） ===== */
.logo{gap:18px}
.logo .logo-sub-img{height:42px;width:auto}
.logo .logo-main-img{height:32px;width:auto}
@media(max-width:640px){.logo .logo-sub-img{height:34px}.logo .logo-main-img{height:34px}}

/* ===== 产品矩阵模块独立介绍页 ===== */
.mod-body{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-top:45px;padding-bottom:45px}
.mod-copy h2{font-size:calc(clamp(22px,2.4vw,34px)*var(--fs-h2));margin:34px 0 16px}
.mod-copy h2:first-child{margin-top:0}
.mod-feats{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.mod-feats li{position:relative;padding-left:34px;font-size:calc(17px*var(--fs-body));color:#33475b;line-height:1.6}
.mod-feats li::before{content:"✓";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:linear-gradient(105deg,#078fcf,#14b7a8);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.mod-scene{color:var(--muted);font-size:calc(16px*var(--fs-body));max-width:520px;background:var(--cream);border-left:3px solid #14b7a8;padding:14px 18px;border-radius:0 8px 8px 0;margin:0}
.mod-shot img{width:100%;border-radius:18px;box-shadow:0 24px 55px rgba(9,28,53,.16);border:8px solid #fff;background:#fff}
.mod-switch{padding-top:0}
.mod-grid{margin-top:20px}
.mod-grid a.on{border-color:#1265ff;background:#f0f6ff;box-shadow:0 10px 26px rgba(9,28,53,.08)}
.mod-grid a.on span{color:var(--blue)}
@media(max-width:920px){.mod-body{grid-template-columns:1fr;gap:34px}.mod-shot{order:-1}}

/* ===== Hero 星链环绕（3D 轨道环 + 卫星光点 + 星光） ===== */
.sl-stage{position:absolute;inset:-9%;pointer-events:none;perspective:1000px}
.sl-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
@media (prefers-reduced-motion:reduce){.sl-stage{display:none}}
/* ===== Hero 星星环绕（球体保持原样式） ===== */
.orb-stars{position:absolute;inset:-14%;animation:orbSpin 32s linear infinite}
.orb-stars i{position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff,#bfe6ff);
  box-shadow:0 0 10px 2px rgba(140,215,255,.85);
  transform:rotate(var(--a)) translateX(var(--d));
  animation:starTwinkle var(--r) ease-in-out infinite}
.orb-stars i:nth-child(3n){width:5px;height:5px;margin:-2.5px 0 0 -2.5px;box-shadow:0 0 7px 1px rgba(140,215,255,.7)}
.orb-stars i:nth-child(4n){width:9px;height:9px;margin:-4.5px 0 0 -4.5px;box-shadow:0 0 13px 3px rgba(160,225,255,.9)}
@keyframes orbSpin{to{transform:rotate(360deg)}}
@keyframes starTwinkle{0%,100%{opacity:.3;transform:rotate(var(--a)) translateX(var(--d)) scale(.75)}50%{opacity:1;transform:rotate(var(--a)) translateX(var(--d)) scale(1.2)}}
@media(max-width:640px){.orb-stars{display:none}}
.bi-showcase{background:linear-gradient(115deg,#f3f9fd,#eef4fb)}
a.industry-card{text-decoration:none;color:inherit;display:block}
/* ===== 行业方案详情页 ===== */
/* 板块之间的纵向间距 */
.ind-section{padding-top:36px}

/* 介绍板块：标题到正文卡片的间距 */
.ind-body{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:start;margin-top:56px}

/* 正文卡片内段落样式 */
.ind-text p{color:#33475b;font-size:calc(16.5px*var(--fs-body));line-height:1.9;margin:0 0 18px}
.ind-text p:last-child{margin-bottom:0}

.ind-img{width:100%;border-radius:12px;box-shadow:0 18px 42px rgba(9,28,53,.13);border:6px solid #fff;display:block}
@media(max-width:920px){.ind-body{grid-template-columns:1fr;gap:30px}.ind-img-wrap{order:-1}}

/* 行业页头部 */
.ind-hero{text-align:center;padding-bottom:60px}
.ind-hero h1{margin:0 auto}
.ind-hero .lede{margin:28px auto 0;max-width:880px;font-size:calc(19px*var(--fs-body))}
.ind-hero .actions{justify-content:center;margin-top:38px}

/* 标题居中 */
.ind-center{justify-content:center;text-align:center}
.mod-copy .mod-scene{max-width:100%}

/* 行业要点卡片网格 */
.ind-cards{margin-top:38px}
.ind-cards article{min-height:0;padding:30px}
.ind-cards p{color:var(--ink);font-size:calc(17px*var(--fs-body));line-height:1.7}
@media(max-width:920px){.ind-cards{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.ind-cards{grid-template-columns:1fr}}

/* 适用场景板块：浅蓝卡片 + 左侧青绿色竖线 */
.ind-scene{text-align:center}
.ind-scene .mod-scene{max-width:880px;margin:56px auto 0;text-align:left;font-size:calc(17.5px*var(--fs-body))}

/* 介绍板块正文卡片：和适用场景同款样式 */
.ind-text{max-width:880px;margin:0 auto;background:var(--cream);border-left:3px solid #14b7a8;padding:28px 32px;border-radius:0 10px 10px 0;text-align:left}
/* 无配图时卡片是板块直接子元素：向下移 56px，标题与卡片之间留出白色留白（与 .ind-body 间距一致） */
.ind-section > .ind-text{margin:56px auto 0}
@media(max-width:640px){.ind-text{max-width:100%}}

.map-sec{padding-top:10px}

/* ===== 关于智鲸 · 荣誉资质 ===== */
.honor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
.honor-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 22px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}
.honor-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(9,28,53,.10)}
.honor-card.has-img{padding:16px}
.honor-img{width:100%;max-height:210px;display:flex;align-items:center;justify-content:center;border-radius:10px;overflow:hidden;background:#f7fafc}
.honor-img img{max-width:100%;max-height:210px;object-fit:contain;cursor:zoom-in}
.honor-badge{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#0ac5d8,#1f7df3);box-shadow:0 10px 22px rgba(31,125,243,.28)}
.honor-badge svg{width:28px;height:28px}
.honor-card h3{margin:4px 0 0;font-size:calc(17px*var(--fs-body));color:#16324f;font-weight:800}
.honor-card p{margin:0;font-size:calc(13px*var(--fs-body));color:#5b6b7c;line-height:1.6}
.honor-card time{font-size:13px;font-weight:800;color:#1f7df3;background:#eaf3ff;border-radius:20px;padding:3px 12px}
@media(max-width:900px){.honor-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.honor-grid{grid-template-columns:1fr}}
/* ===== 关于智鲸 · 服务分布地图 ===== */
/* 地图氛围升级：卡片 + 双中心辐射连线 + 城市徽章 */
.map-sec{background:linear-gradient(180deg,#fff, #f4f9ff 60%, #eaf3ff)}
.map-card{max-width:900px;margin:6px auto 0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 26px 18px;box-shadow:0 20px 44px rgba(31,125,243,.08)}
.map-canvas{position:relative}
.cn-map-img{width:100%;height:auto;display:block;border-radius:14px;background:linear-gradient(180deg,#f4f9ff,#eaf3ff)}
.map-badge{position:absolute;top:14px;right:14px;z-index:3;display:inline-flex;align-items:baseline;gap:5px;padding:7px 14px;border-radius:24px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);border:1px solid #dbe8fa;box-shadow:0 6px 18px rgba(31,125,243,.14);font-size:13px;font-weight:600;color:#41607d}
.map-badge b{font-size:18px;color:#1f7df3}
.map-dot{position:absolute;transform:translate(-50%,-50%);width:14px;height:14px;z-index:2;transition:transform .25s}
.map-dot i{position:absolute;inset:0;border-radius:50%;background:#1f7df3;box-shadow:0 0 0 4px rgba(31,125,243,.18)}
.map-dot::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:2px solid rgba(31,125,243,.45);animation:mapPulse 2s ease-out infinite}
.map-dot em{position:absolute;left:50%;top:calc(100% + 6px);transform:translateX(-50%);white-space:nowrap;background:#16324f;color:#fff;font-size:12px;font-weight:700;font-style:normal;padding:3px 9px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:3}
.map-dot:hover em{opacity:1}
.map-dot.active{transform:translate(-50%,-50%) scale(1.45)}
.map-dot.active em{opacity:1}
/* 重点城市：总部 / 服务中心 —— 大光点 + 常显标签 + 双光环 */
.map-dot.featured{width:22px;height:22px;z-index:3}
.map-dot.featured i{background:linear-gradient(135deg,#ffb648,#ff7a2f);box-shadow:0 0 0 5px rgba(255,138,60,.20),0 4px 14px rgba(255,122,47,.45)}
.map-dot.featured::after{inset:-9px;border:2px solid rgba(255,138,60,.55);animation:mapPulse 1.8s ease-out infinite}
.map-dot.featured::before{content:"";position:absolute;inset:-16px;border-radius:50%;border:1px dashed rgba(255,138,60,.40);animation:mapSpin 12s linear infinite}
.map-dot.featured em{opacity:1;top:calc(100% + 8px);background:linear-gradient(135deg,#ffb648,#ff7a2f);box-shadow:0 6px 16px rgba(255,122,47,.35);font-size:13px;padding:4px 12px;border-radius:8px;pointer-events:auto}
.map-dot.featured em::after{content:"";position:absolute;left:50%;top:-5px;transform:translateX(-50%);border:6px solid transparent;border-bottom-color:#ff8a3c;border-top-width:0}
.map-dot.featured:hover{transform:translate(-50%,-50%) scale(1.12)}
@keyframes mapSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes mapPulse{0%{transform:scale(.6);opacity:1}70%{transform:scale(1.5);opacity:0}100%{opacity:0}}
/* 城市徽章条 */
.map-city-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}
.map-tag{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:20px;font-size:13px;font-weight:600;color:#41607d;background:#f0f6ff;border:1px solid #dbe8fa;cursor:default;transition:all .25s}
.map-tag.feat{color:#fff;background:linear-gradient(135deg,#ffb648,#ff7a2f);border-color:transparent;box-shadow:0 6px 14px rgba(255,122,47,.28)}
.map-tag:hover,.map-tag.active{transform:translateY(-2px);box-shadow:0 8px 18px rgba(31,125,243,.18);border-color:#1f7df3;color:#1f7df3}
.map-tag.feat:hover,.map-tag.feat.active{transform:translateY(-2px);color:#fff;border-color:transparent;box-shadow:0 8px 18px rgba(255,122,47,.35)}
@media(max-width:640px){.map-card{padding:14px 12px 12px}.map-tag{font-size:12px;padding:4px 9px}}


/* ===== 首页 3 屏版：首屏数据条 ===== */
.hero-stats{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:720px;margin-top:54px;background:transparent;padding:0}
.hero-stats div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);border-radius:14px;padding:18px 22px;text-align:left;box-shadow:none}
.hero-stats strong{display:block;font-size:calc(clamp(26px,3vw,42px)*var(--fs-h2));line-height:1;background:linear-gradient(120deg,#a9e6ff,#8cf5e6);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.hero-stats span{display:block;margin-top:8px;color:#d7ecf5;font-size:calc(13px*var(--fs-body))}
@media(max-width:720px){.hero-stats{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:40px}.hero-stats div{padding:14px 16px}}
/* 首页第 3 屏：案例区 CTA */
.cases-cta{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:42px}
.cases-cta .text-link.light{color:#9fd8ff}
@media(max-width:640px){.cases-cta{flex-direction:column;gap:16px}}

/* 首屏数据条：8 卡对称 + 高对比（覆盖上方规则） */
.hero-stats{grid-template-columns:repeat(4,1fr);gap:14px;max-width:760px;margin-top:56px}
.hero-stats div{background:rgba(7,41,70,.42);border:1px solid rgba(255,255,255,.32);backdrop-filter:blur(10px);border-radius:16px;padding:20px 22px;box-shadow:0 10px 28px rgba(4,28,52,.35)}
.hero-stats strong{font-size:calc(clamp(28px,3.2vw,46px)*var(--fs-h2));background:linear-gradient(120deg,#ffffff,#aef2ff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 14px rgba(120,220,255,.35)}
.hero-stats span{color:#e6f4fb;font-size:calc(13.5px*var(--fs-body))}
@media(max-width:720px){.hero-stats{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:42px}.hero-stats div{padding:16px 16px}}
@media(max-width:460px){.hero-stats{grid-template-columns:repeat(2,1fr);gap:8px}.hero-stats strong{font-size:calc(24px*var(--fs-h2))}.hero-stats div{padding:13px 12px}}

/* 首屏数据条：白底蓝渐变数字（替换灰色卡片） */
.hero-stats div{background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.75);backdrop-filter:blur(10px);border-radius:16px;padding:20px 22px;box-shadow:0 12px 30px rgba(7,90,150,.16)}
.hero-stats strong{background:linear-gradient(120deg,#078fcf,#14b7a8);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
.hero-stats span{color:#5a7386}

/* 首屏数据条：卡片内容居中 */
.hero-stats div{text-align:center}
.hero-stats strong{display:block}
.hero-stats span{display:block;margin-top:8px}

/* 宽屏（1600px+）时左列内容自动向右展开，标题一行、数据卡一行8个 */
@media (min-width: 1600px) {
  .hero h1 { max-width: none !important; white-space: nowrap; }
  .hero .lede { max-width: 720px; }
  .hero-stats {
    max-width: 1200px !important;
    grid-template-columns: repeat(8, 1fr) !important;
    gap: 12px;
  }
  .hero-stats div { padding: 18px 12px; }
}

/* 导航渐进式响应式：随窗口缩小，主菜单次要项逐个收进"更多"下拉 */
/* 前6项主菜单 + "更多"下拉（含全部模块，按断点显示被收起的项）+ 语言切换 + CTA + 汉堡 */
/* "更多"面板默认只显示后4项（新闻/关于/招聘/下载），主菜单项随断点收进面板 */
.nav-more-panel .nav-more-item{display:none}
.nav-more-panel .idx7,.nav-more-panel .idx8,.nav-more-panel .idx9,.nav-more-panel .idx10{display:block}
/* 1200px：收"客户案例""实施服务"（第6、5项）进更多 */
@media (max-width: 1200px) {
  nav.nav > :nth-child(6),
  nav.nav > :nth-child(5) { display: none; }
  .nav-more-panel .idx5,.nav-more-panel .idx6{display:block}
}
/* 1100px：收"技术架构""行业方案"（第4、3项）进更多 */
@media (max-width: 1100px) {
  nav.nav > :nth-child(4),
  nav.nav > :nth-child(3) { display: none; }
  .nav-more-panel .idx3,.nav-more-panel .idx4{display:block}
}
/* 1000px：收"智鲸AI"（第2项）进更多 */
@media (max-width: 1000px) {
  nav.nav > :nth-child(2) { display: none; }
  .nav-more-panel .idx2{display:block}
}
/* 900px：收"产品能力"（第1项）进更多，汉堡接管全量菜单 */
@media (max-width: 900px) {
  nav.nav > :nth-child(1) { display: none; }
  .nav-more-panel .idx1{display:block}
  nav.nav .nav-burger { display: flex; }
  header { padding: 0 16px; }
  .logo { width: 140px; }
}
/* 汉堡展开时：主菜单项已在菜单中，面板只保留原本的"更多"项（新闻/关于/招聘/下载），避免重复 */
nav.nav.open .nav-more-panel .nav-more-item{display:none}
nav.nav.open .nav-more-panel .idx7,nav.nav.open .nav-more-panel .idx8,nav.nav.open .nav-more-panel .idx9,nav.nav.open .nav-more-panel .idx10{display:block}
/* 900px 以下汉堡展开时，所有菜单项竖向排列 */
@media (max-width: 900px) and (min-width: 641px) {
  nav.nav.open {
    position: fixed; top: 78px; left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 0;
    background: #fff; border-bottom: 1px solid #edf1f5;
    padding: 10px max(8vw, 28px) 18px;
    box-shadow: 0 18px 40px rgba(9,28,53,.12);
  }
  nav.nav.open > * { display: block !important; padding: 14px 0; border-bottom: 1px solid #edf1f5; font-size: 16px; }
  nav.nav.open .lang-switch, nav.nav.open .nav-cta { display: inline-block !important; margin-top: 10px; border: 0; }
  nav.nav.open .nav-burger { position: fixed; top: 21px; right: 16px; }
}

/* ===== 表单必填项红色星号 ===== */
.demo-form label { font-weight: 600; color: rgba(255,255,255,.92); }
.demo-form label:has(input[required])::before,
.demo-form label:has(select[required])::before {
  content: '*';
  color: #fff176;
  font-weight: 900;
  margin-right: 4px;
  font-size: 18px;
  text-shadow: 0 0 8px #fff176, 0 0 4px rgba(255,241,118,.6);
  animation: star-blink 1.6s ease-in-out infinite;
}
@keyframes star-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: .3; }
}

/* ===== 8大业务模式板块 ===== */
.business-models { padding: 80px max(8vw,28px); background: #fff; }
.model-grid-8 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 40px; }
.model-card { border: 1px solid #dce5ee; border-radius: 12px; padding: 28px 22px; text-align: center; transition: all .25s ease; }
.model-card:hover { border-color: #078fcf; box-shadow: 0 8px 24px rgba(7,143,207,.12); transform: translateY(-2px); }
.model-icon { font-size: 36px; margin-bottom: 14px; }
.model-card h3 { font-size: 18px; font-weight: 700; margin: 0 0 10px; color: #073454; }
.model-card p { font-size: 14px; color: #64748b; margin: 0; line-height: 1.6; }
@media (max-width: 900px) { .model-grid-8 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .model-grid-8 { grid-template-columns: 1fr; } }

/* ===== FAQ 问答板块（GEO优化） ===== */
.faq-section{background:#f8fbfd}
.faq-list{margin-top:40px;display:flex;flex-direction:column;gap:14px}
.faq-item{border:1px solid #e2e9f2;border-radius:10px;background:#fff;overflow:hidden;transition:box-shadow .2s,border-color .2s}
.faq-item:hover{border-color:#b8d4f0;box-shadow:0 4px 16px rgba(18,101,255,.08)}
.faq-item summary{padding:18px 24px;font-weight:700;font-size:17px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:22px;color:#1265ff;font-weight:400;transition:transform .2s;flex-shrink:0}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{padding:0 24px 20px;margin:0;color:#5a6b7c;font-size:15px;line-height:1.7}
@media(max-width:720px){.faq-item summary{font-size:15px;padding:14px 18px}.faq-item p{padding:0 18px 16px;font-size:14px}}

/* ===== 移动端浮动按钮：精简为单圆钮 + 滚动显示返回顶部（≤768px，不影响桌面端） ===== */
@media(max-width:768px){
  .side-follow{display:none !important}
  .side-fab.up{display:none}
  .side-fab.up.show{display:flex}
  .side-fab.up{right:12px;bottom:74px;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;justify-content:center;gap:0}
  .side-fab.up span{display:none}
  .side-fab.up svg{width:22px;height:22px}
  .chat-widget{right:12px;bottom:12px}
  .chat-fab{width:52px;height:52px;min-height:52px;padding:0;border-radius:50%;justify-content:center;gap:0}
  .chat-fab span{display:none}
  .chat-fab svg{width:26px;height:26px}
}


/* ===== 移动端 logo 紧凑（≤640px；sections.css 最后加载，覆盖 site.css/brand.css，不影响桌面端） ===== */
@media(max-width:640px){
  .logo img.logo-sub-img{display:none}
  .logo img{height:26px;max-height:26px}
  .logo{width:auto;gap:6px}
}
