/* ================================================================
   VERITAS · 旗舰官网 2026 · 大厂级设计系统
   参考：Palantir · OpenAI · Linear · Anthropic · Stripe
   ================================================================ */

/* 管理后台 iframe 预览：跳过动画，加快首屏 */
html.ve-preview * {
  animation-duration: 0.001ms !important;
  animation-delay: 0ms !important;
  transition-duration: 0.001ms !important;
}
html.ve-preview {
  scroll-behavior: auto;
}

/* ── Google Fonts ─────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Noto+Serif+SC:wght@600;700;900&display=swap');

/* ── 变量 ─────────────────────────────────────────────────────── */
:root {
  /* 宣纸白 · 主底色 */
  --black:  #F7F3EB;
  --d1:     #FDFAF5;
  --d2:     #F0EBE3;
  --d3:     #E6E0D6;
  --circuit: url('../images/circuit-pattern.svg');
  --circuit-size: 300px;
  --hero-bg: url('../images/hero-bg.png?v=46');
  --hero-bg-fallback: url('../images/hero-bg.png?v=46');
  /* 鸢尾蓝 · 主强调 */
  --g:      #5B73B7;
  --gl:     #7390D4;
  --gll:    #A3B8E8;
  --gd:     #4A5F9A;
  --g10:    rgba(91,115,183,.10);
  --g20:    rgba(91,115,183,.20);
  --g40:    rgba(91,115,183,.40);
  /* 鸢尾蓝 · 浅阶辅助 */
  --ap:     #7B93D4;
  --apl:    #A3B8E8;
  --apd:    #4A5F9A;
  --ap10:   rgba(91,115,183,.10);
  --ap20:   rgba(91,115,183,.18);
  /* 文字 · 深墨蓝灰（提高对比度） */
  --t1:     #1E2433;
  --t2:     #3D4660;
  --t3:     #5C657A;
  --ln:     rgba(91,115,183,.20);
  --ln2:    rgba(91,115,183,.32);
  --on-g:   #FFFFFF;
  --green:  #3D9B72;
  --red:    #D4566A;
  /* 服务三色 · 丰富层次 */
  --geo:    #5B73B7;
  --geo-l:  #7B93D4;
  --geo-bg: rgba(91,115,183,.11);
  --seo:    #6B5BB7;
  --seo-l:  #9585D4;
  --seo-bg: rgba(107,91,183,.10);
  --orm:    #3D8FA8;
  --orm-l:  #5BAFC8;
  --orm-bg: rgba(61,143,168,.10);
  --accent-warm: #C4925A;
  --accent-warm-bg: rgba(196,146,90,.10);
  --grad-brand: linear-gradient(135deg,#4A5F9A 0%,#5B73B7 40%,#7390D4 70%,#8FA8E8 100%);
  --grad-warm: linear-gradient(135deg,rgba(91,115,183,.06) 0%,rgba(196,146,90,.04) 50%,rgba(61,143,168,.05) 100%);
  --nav:    72px;
  --r:      10px;
  --rl:     18px;
  --ease:   cubic-bezier(.4,0,.2,1);
  --font:   'Inter','PingFang SC','Microsoft YaHei',system-ui,sans-serif;
  /* 子页 inline 样式兼容别名（避免背景/文字失效） */
  --primary:       var(--gd);
  --primary-light: var(--gl);
  --accent-gold:   var(--accent-warm);
  --accent-cyan:   var(--orm-l);
  --accent-blue:   var(--g);
  --text-mid:      var(--t2);
  --text-light:    var(--t3);
  --text-dark:     var(--t1);
  --bg-card:       var(--d1);
  --bg-light:      var(--black);
  --bg-gray:       var(--d2);
  --bg-white:      var(--d1);
  --border:        var(--ln);
  --radius-lg:     var(--rl);
  --radius:        var(--r);
  --shadow-md:     0 8px 32px rgba(38,46,72,.08);
  --transition:    all .22s var(--ease);
}

/* ── Reset ──────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{
  font-family:var(--font);color:var(--t1);line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  background-color:var(--black);
  position:relative;
}
/* 电路底纹：鸢尾蓝装饰层 */
body::before{
  content:'';
  position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-color:var(--black);
  background-image:
    var(--circuit),
    radial-gradient(ellipse 80% 50% at 8% 12%,rgba(91,115,183,.07) 0%,transparent 55%),
    radial-gradient(ellipse 70% 45% at 92% 18%,rgba(107,91,183,.06) 0%,transparent 50%),
    radial-gradient(ellipse 60% 40% at 50% 100%,rgba(61,143,168,.05) 0%,transparent 45%),
    radial-gradient(ellipse 120% 55% at 50% -8%,rgba(91,115,183,.045) 0%,rgba(91,115,183,.028) 42%,transparent 58%);
  background-size:var(--circuit-size) var(--circuit-size),100% 100%,100% 100%,100% 100%,100% 100%;
  background-repeat:repeat,no-repeat,no-repeat,no-repeat,no-repeat;
  opacity:.78;
}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
:focus-visible{outline:2px solid var(--g);outline-offset:3px}
::selection{background:rgba(91,115,183,.18);color:var(--gd)}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--gd);border-radius:2px}
::-webkit-scrollbar-thumb:hover{background:var(--g)}

/* ── Layout ──────────────────────────────────────────────────── */
.container{max-width:1200px;margin:0 auto;padding:0 48px}

/* ── 导航 ────────────────────────────────────────────────────── */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:var(--nav);transition:all .2s var(--ease);
}
.navbar.transparent{background:transparent;border-bottom:1px solid transparent}
.navbar.scrolled,.navbar.light-nav,.navbar:not(.transparent){
  background:linear-gradient(180deg,rgba(253,250,245,.96) 0%,rgba(247,243,235,.94) 100%);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--ln);
  box-shadow:0 2px 20px rgba(91,115,183,.08),inset 0 1px 0 rgba(255,255,255,.6);
}
html{scroll-padding-top:var(--nav)}
section[id],.page-hero,.sec{scroll-margin-top:var(--nav)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:1280px;margin:0 auto;padding:0 48px}
.nav-logo{display:flex;align-items:center;gap:10px}
.nav-logo-img{
  height:50px;width:auto;max-width:72px;object-fit:contain;object-position:center;flex-shrink:0;
  filter:drop-shadow(0 1px 6px rgba(91,115,183,.28));transition:filter .2s;
}
.nav-logo:hover .nav-logo-img{filter:drop-shadow(0 2px 12px rgba(91,115,183,.42))}
.nav-logo-name{font-size:.9rem;font-weight:800;color:var(--gd);letter-spacing:.1em;line-height:1;white-space:nowrap}
.nav-link{display:block;padding:7px 13px;font-size:.84rem;color:var(--t2);border-radius:6px;transition:all .18s;font-weight:500}
.nav-link:hover{color:var(--t1);background:rgba(91,115,183,.08)}
.nav-link.active{color:var(--g);font-weight:700;background:rgba(91,115,183,.08)}
.nav-menu{display:flex;align-items:center;gap:2px}
.nav-cta{
  margin-left:12px;padding:8px 20px;
  background:var(--grad-brand);color:var(--on-g);border-radius:6px;
  font-size:.82rem;font-weight:700;transition:all .18s;
  box-shadow:0 2px 16px rgba(91,115,183,.28);letter-spacing:.02em;
}
.nav-cta:hover{filter:brightness(1.08);box-shadow:0 4px 28px rgba(91,115,183,.38);transform:translateY(-1px)}
.nav-hamburger{display:none;flex-direction:column;gap:5px;padding:4px}
.nav-hamburger span{display:block;width:22px;height:1.5px;background:var(--t1);border-radius:1px;transition:all .2s}

/* ── Hero ─────────────────────────────────────────────────────── */
.hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  text-align:center;overflow:hidden;
  padding-top:var(--nav);
  background-color:var(--black);
}

/* Hero 背景（用户指定电路图） */
.hero::before{
  content:'';
  position:absolute;inset:0;z-index:0;
  background:var(--hero-bg) center/cover no-repeat;
  animation:hero-bg-drift 32s ease-in-out infinite alternate;
  will-change:transform;
}
@keyframes hero-bg-drift{
  0%{transform:scale(1.03) translate(0,0)}
  100%{transform:scale(1.08) translate(-1%,-0.6%)}
}
/* 极轻遮罩，保留原图质感 */
.hero::after{
  content:'';
  position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(ellipse 85% 65% at 50% 40%,rgba(253,250,245,.08) 0%,rgba(253,250,245,.02) 70%,transparent 100%);
  pointer-events:none;
}

/* 用户背景已含电路纹理，关闭额外网格 */
.hero-bg-grid{display:none}

/* 动态光晕（置于遮罩之上） */
.hero-orb{
  position:absolute;border-radius:50%;pointer-events:none;z-index:2;
  filter:blur(72px);opacity:.92;
  animation:orb-float 14s ease-in-out infinite;
}
.hero-orb--1{width:min(480px,42vw);height:min(480px,42vw);background:rgba(91,115,183,.24);top:8%;left:-6%}
.hero-orb--2{width:min(360px,32vw);height:min(360px,32vw);background:rgba(115,144,212,.2);bottom:12%;right:-4%;animation-delay:-5s}
.hero-orb--3{width:min(280px,26vw);height:min(280px,26vw);background:rgba(74,95,154,.16);top:42%;left:58%;animation-delay:-9s}
@keyframes orb-float{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(18px,-22px) scale(1.06)}
}

/* Hero 内容 */
.hero-inner{
  position:relative;z-index:3;
  max-width:900px;margin:0 auto;padding:80px 48px;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  background:rgba(91,115,183,.08);border:1px solid var(--ln);
  color:var(--g);font-size:.7rem;font-weight:700;
  padding:6px 16px;border-radius:40px;
  letter-spacing:.18em;text-transform:uppercase;margin-bottom:36px;
}
.hero-eyebrow-dot{
  width:6px;height:6px;border-radius:50%;background:var(--g);
  box-shadow:0 0 8px var(--g);animation:pulse 2.5s infinite;
}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.8)}}

.hero-heading{
  font-size:5.8rem;font-weight:900;line-height:1.0;
  letter-spacing:-.05em;color:var(--t1);margin-bottom:28px;
}
.hero-heading-en{
  font-size:.72rem;color:var(--t2);letter-spacing:.22em;
  text-transform:uppercase;margin-bottom:16px;font-weight:600;
}
/* 鸢尾蓝渐变标题 */
.hero-heading .gold{
  display:block;
  background:linear-gradient(135deg,var(--gd) 0%,var(--g) 35%,var(--gl) 65%,var(--gll) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;background-size:300% auto;
  animation:gold-move 6s linear infinite;
}
@keyframes gold-move{0%{background-position:0% center}100%{background-position:300% center}}

.hero-desc{
  font-size:1.1rem;color:var(--t1);line-height:1.9;
  margin:0 auto 44px;max-width:620px;font-weight:400;
  opacity:.88;
}
.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:72px}
.hero-btns .btn-gold{
  padding:15px 32px;background:var(--g);color:var(--on-g);
  border-radius:7px;font-size:.92rem;font-weight:700;
  letter-spacing:.04em;border:none;cursor:pointer;
  box-shadow:0 4px 28px rgba(91,115,183,.28);transition:all .2s;
  display:inline-flex;align-items:center;gap:8px;
}
.hero-btns .btn-gold:hover{background:var(--gl);transform:translateY(-2px);box-shadow:0 8px 40px rgba(91,115,183,.38)}
.hero-btns .btn-outline{
  padding:15px 32px;background:transparent;color:var(--gd);
  border:1px solid rgba(91,115,183,.35);border-radius:7px;
  font-size:.92rem;font-weight:600;cursor:pointer;transition:all .2s;
  display:inline-flex;align-items:center;gap:8px;
}
.hero-btns .btn-outline:hover{border-color:var(--g);color:var(--g);background:rgba(91,115,183,.06)}

/* Hero 统计栏 */
.hero-metrics{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border-top:1px solid var(--ln);padding-top:36px;
}
.hero-metric{padding:0 24px;border-right:1px solid var(--ln)}
.hero-metric:last-child{border-right:none}
.hero-metric-num{
  font-size:2.6rem;font-weight:900;color:var(--g);
  line-height:1;margin-bottom:6px;letter-spacing:-.04em;
}
.hero-metric-label{font-size:.72rem;color:var(--t2);letter-spacing:.04em;font-weight:500}

/* ── 滚动 Ticker ──────────────────────────────────────────────── */
.ticker-wrap{
  background:linear-gradient(90deg,rgba(91,115,183,.04) 0%,rgba(253,250,245,.92) 25%,rgba(107,91,183,.04) 50%,rgba(253,250,245,.92) 75%,rgba(61,143,168,.04) 100%);
  border-top:1px solid var(--ln);
  border-bottom:1px solid var(--ln);
  padding:16px 0;overflow:hidden;
}
.ticker{display:flex;gap:0;animation:ticker 30s linear infinite}
.ticker-item{
  display:flex;align-items:center;gap:48px;flex-shrink:0;padding:0 24px;
  font-size:.76rem;color:var(--t3);font-weight:500;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;
}
.ticker-item span{color:var(--g)}
.ticker-sep{color:var(--t3);margin:0 4px}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── 区块公共（透明底，露出 body 底纹；标题/卡片用纯色面板承载文字）── */
.sec{padding:100px 0;position:relative;background:transparent}
.sec--alt{padding:100px 0;background:transparent}
.sec-inner{display:flex;flex-direction:column;gap:0}
.sec-label{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--g10);border:1px solid var(--ln);
  color:var(--g);font-size:.7rem;font-weight:700;
  padding:4px 12px;border-radius:40px;
  letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px;
}
.sec-label::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--g);flex-shrink:0}
.sec-label--center{display:flex;justify-content:center;margin:0 auto 20px}
.sec-h{font-size:clamp(1.65rem,3.2vw,2.35rem);font-weight:800;color:var(--t1);line-height:1.4;letter-spacing:-.02em;margin-bottom:14px}
.sec-h em{font-style:normal;background:linear-gradient(130deg,var(--gd),var(--g),var(--gl));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sec-p{font-size:.98rem;color:var(--t2);line-height:1.85;max-width:560px;font-weight:400}
.tc .sec-p{margin:0 auto}
.tc{
  text-align:center;margin-bottom:8px;
  background-color:var(--d1);background-image:none;
  padding:24px 32px 20px;border-radius:var(--rl);
  border:1px solid var(--ln);
}
.sec--alt .tc,.section .tc{background-color:var(--d2)}
.tc + .bento,.tc + .service-tier-grid,.tc + .why-grid,.tc + .steps,.tc + .industry-grid{margin-top:56px}
.gold-bar{width:56px;height:1.5px;background:linear-gradient(90deg,var(--ap),var(--g));margin:16px 0 20px}
.tc .gold-bar{margin:16px auto 20px;background:linear-gradient(90deg,transparent,var(--ap),var(--g),transparent);width:80px}
/* 区块标题行（左标题 + 右操作） */
.sec-head-row{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  margin-bottom:40px;flex-wrap:wrap;
  background-color:var(--d1);background-image:none;
  padding:20px 24px;border-radius:var(--rl);border:1px solid var(--ln);
}
.sec-head-row .gold-bar{margin:16px 0 0}
.sec-head-actions{flex-shrink:0}

/* ── 服务 · 三大引擎三列并排 ── */
.bento{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:48px;
  background:transparent;border:none;box-shadow:none;
}
.bento-card{
  background-color:var(--d1);
  background-image:none;
  padding:26px 24px 22px;
  position:relative;overflow:hidden;transition:border-color .25s,background-color .25s,transform .25s,box-shadow .25s;
  display:flex;flex-direction:column;min-height:340px;
  isolation:isolate;
  border:1px solid var(--ln);border-radius:var(--rl);
}
.bento-card > *{position:relative;z-index:1}
.bento-card:hover{
  background-color:var(--d2);
  border-color:var(--ln2);
  transform:translateY(-3px);
  box-shadow:0 18px 56px rgba(91,115,183,.12);
}
.bento-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;z-index:2;
  background:linear-gradient(90deg,var(--apd),var(--g),var(--gl));
  opacity:.85;
}
.bento-card::after{
  content:'';position:absolute;bottom:-60px;right:-60px;z-index:0;pointer-events:none;
  width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,rgba(91,115,183,.06) 0%,transparent 68%);
}
.bento-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--ln);
}
.bento-num{
  font-size:.72rem;font-weight:800;color:var(--g);
  letter-spacing:.12em;text-transform:uppercase;margin:0;
  font-variant-numeric:tabular-nums;flex-shrink:0;
}
.bento-tag{
  display:inline-block;padding:3px 9px;
  background:var(--g10);border:1px solid var(--ln);
  border-radius:4px;font-size:.6rem;font-weight:700;
  color:var(--g);letter-spacing:.1em;margin:0;
  text-align:right;line-height:1.35;
}
.bento-title{
  font-size:1.12rem;font-weight:800;color:var(--t1);
  margin-bottom:12px;line-height:1.35;letter-spacing:-.02em;
}
.bento-title em{font-style:normal;color:var(--g)}
.bento-desc{
  font-size:.82rem;color:var(--t2);line-height:1.78;
  max-width:none;flex:1;margin:0;
}
.bento-metrics{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  margin-top:18px;padding-top:16px;border-top:1px solid var(--ln);
}
.bento-metrics > div{
  text-align:center;padding:8px 6px;
  border-right:1px solid var(--ln);
}
.bento-metrics > div:last-child{border-right:none}
.bento-metric-n{font-size:1.28rem;font-weight:900;color:var(--g);letter-spacing:-.03em;line-height:1}
.bento-metric-l{font-size:.64rem;color:var(--t2);margin-top:5px;line-height:1.35}
.bento-icon{font-size:2.5rem;margin-bottom:16px}

/* ── 数字区 ─ 全宽震撼 ──────────────────────────────────────── */
.nums-sec{
  padding:0;background:var(--black);position:relative;overflow:hidden;
}
.nums-sec::before{
  content:'';position:absolute;inset:-2%;
  background:var(--hero-bg) center/cover no-repeat;
  transform:scale(1.02);
  filter:brightness(.82) saturate(.95) blur(.4px);
  opacity:.24;
}
.nums-sec::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(38,46,72,.55) 0%,rgba(48,56,88,.38) 50%,rgba(38,46,72,.55) 100%);
}
.nums-inner{
  position:relative;z-index:1;
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
}
.num-block{
  padding:72px 32px;text-align:center;
  border-right:1px solid var(--ln);transition:background .2s;
}
.num-block:last-child{border-right:none}
.num-block:hover{background:rgba(91,115,183,.04)}
.num-value{
  font-size:3.8rem;font-weight:900;line-height:1;
  margin-bottom:10px;letter-spacing:-.05em;
  background:linear-gradient(135deg,var(--gd),var(--g),var(--apl));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.num-label{font-size:.8rem;color:var(--t2);line-height:1.5}

/* ── 为什么选我们 · 三栏 ──────────────────────────────────────── */
.why-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background-color:var(--d3);border-radius:var(--rl);overflow:hidden;margin-top:56px;
  border:1px solid var(--ln);box-shadow:0 16px 48px rgba(0,0,0,.25);
}
.why-item{
  background-color:var(--d1);
  background-image:none;
  padding:40px 34px;transition:background-color .2s;position:relative;
}
.why-item::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--g),transparent);opacity:0;transition:opacity .3s}
.why-item:hover::before{opacity:1}
.why-item:hover{background-color:var(--d2)}
.why-icon{width:42px;height:42px;border-radius:8px;background:transparent;border:1px solid var(--ln2);display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:all .2s;color:var(--g)}
.why-icon svg{width:18px;height:18px;stroke:currentColor}
.why-item:hover .why-icon{background:var(--g10);border-color:var(--g)}
.why-title{font-size:.97rem;font-weight:700;color:var(--t1);margin-bottom:11px;letter-spacing:-.01em}
.why-desc{font-size:.85rem;color:var(--t2);line-height:1.8}

/* ── 精选案例 · 横向卡片 ─────────────────────────────────────── */
.cases-block{display:flex;flex-direction:column;gap:20px}
.case-feature{
  display:grid;grid-template-columns:1.15fr .85fr;gap:0;
  background:var(--d1);border:1px solid var(--ln);border-radius:var(--rl);overflow:hidden;
  transition:border-color .25s,box-shadow .25s,transform .25s;
}
.case-feature:hover{border-color:var(--ln2);box-shadow:0 20px 64px rgba(0,0,0,.45);transform:translateY(-2px)}
.case-feature--reverse{grid-template-columns:.85fr 1.15fr}
.case-feature-text{
  padding:48px 44px;
  display:flex;flex-direction:column;justify-content:center;
  border-right:1px solid var(--ln);
}
.case-feature--reverse .case-feature-text{border-right:none;border-left:1px solid var(--ln)}
.case-feature-stats{
  background-color:var(--d2);
  background-image:linear-gradient(160deg,rgba(91,115,183,.06) 0%,transparent 100%);
  background-size:cover;
  background-repeat:no-repeat;
  padding:40px 36px;
  display:grid;grid-template-columns:1fr;gap:14px;align-content:center;
}
.case-feature-stats .case-result-row{
  flex-direction:column;align-items:flex-start;gap:4px;
  padding:18px 20px;border-bottom:none;
  background:rgba(0,0,0,.2);border:1px solid var(--ln);border-radius:var(--r);
}
.case-industry{font-size:.68rem;font-weight:700;color:var(--g);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
.case-company-name{font-size:1.4rem;font-weight:800;color:var(--t1);margin-bottom:14px;letter-spacing:-.02em}
.case-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.case-tag{padding:2px 8px;background:var(--g10);border:1px solid var(--ln);border-radius:3px;font-size:.64rem;color:var(--g);font-weight:700;letter-spacing:.08em}
.case-desc{font-size:.88rem;color:var(--t2);line-height:1.8;margin-bottom:24px}
.case-detail-btn{align-self:flex-start;margin-top:4px}
.case-result-row{display:flex;align-items:flex-end;gap:8px;padding:18px 0;border-bottom:1px solid var(--ln)}
.case-result-row:last-child{border-bottom:none}
.case-result-num{font-size:2rem;font-weight:900;color:var(--g);letter-spacing:-.04em;line-height:1}
.case-result-label{font-size:.78rem;color:var(--t2);padding-bottom:2px;line-height:1.4}

/* ── 流程（首页四步） ─────────────────────────────────────────── */
.steps{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background-color:var(--d3);border:1px solid var(--ln);border-radius:var(--rl);
  overflow:hidden;margin-top:56px;
}
.step{
  text-align:left;padding:36px 28px 32px;position:relative;
  background-color:var(--d1);background-image:none;
  display:flex;flex-direction:column;align-items:flex-start;
  min-height:210px;
  transition:background-color .2s;
}
.step:hover{background-color:var(--d2)}
.step-num{
  font-size:2.4rem;font-weight:900;color:var(--g);opacity:.22;
  line-height:1;margin:0 0 10px;letter-spacing:-.04em;
}
.step-title{font-size:.95rem;font-weight:700;color:var(--t1);margin-bottom:10px;line-height:1.35}
.step-desc{font-size:.82rem;color:var(--t2);line-height:1.75;flex:1}

/* ── 流程（首页三步路径） ─────────────────────────────────────── */
.process-steps{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background-color:var(--d3);border:1px solid var(--ln);border-radius:var(--rl);
  overflow:hidden;margin-top:40px;
}
.process-step{
  background-color:var(--d1);background-image:none;padding:36px 28px 32px;
  display:flex;flex-direction:column;align-items:flex-start;text-align:left;
  min-height:220px;transition:background-color .2s;
}
.process-step:hover{background-color:var(--d2)}
.process-step-num{
  font-size:2.8rem;font-weight:900;line-height:1;margin-bottom:6px;letter-spacing:-.04em;
  background:var(--grad-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;opacity:.55;
}
.process-step-title{
  font-size:1rem;font-weight:700;color:var(--t1);
  margin-bottom:12px;line-height:1.35;letter-spacing:-.01em;
}
.process-step-desc{font-size:.82rem;color:var(--t2);line-height:1.75;flex:1}

/* ── 行业客群 ─────────────────────────────────────────────────── */
.industry-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background-color:var(--d3);border-radius:var(--rl);overflow:hidden;margin-top:56px;
  border:1px solid var(--ln);
}
.industry-item{
  background-color:var(--d1);background-image:none;padding:28px 20px;text-align:center;
  transition:background .2s,transform .2s;cursor:default;position:relative;
}
.industry-item:hover{background-color:var(--d2);transform:translateY(-2px)}
.industry-item::after{content:'';position:absolute;bottom:0;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,var(--gd),transparent);opacity:0;transition:opacity .3s}
.industry-item:hover::after{opacity:1}
.industry-item-abbr{
  font-size:.68rem;font-weight:800;color:var(--gd);letter-spacing:.14em;margin-bottom:10px;
  display:inline-block;padding:4px 10px;border:1px solid var(--ln);border-radius:4px;
}
.industry-item-name{font-size:.88rem;font-weight:700;color:var(--t1)}
.industry-item-desc{font-size:.76rem;color:var(--t2);margin-top:6px;line-height:1.5}

/* ── CTA 全屏 ──────────────────────────────────────────────── */
.cta-full{
  position:relative;overflow:hidden;
  padding:120px 0;text-align:center;
}
.cta-full::before{
  content:'';position:absolute;inset:-2%;
  background:var(--hero-bg) center/cover no-repeat;
  transform:scale(1.02);
  filter:brightness(.78) saturate(.92) blur(.45px);
  opacity:.26;
}
.cta-full::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(38,46,72,.52) 0%,rgba(48,56,88,.35) 50%,rgba(38,46,72,.52) 100%);
}
.cta-full-inner{position:relative;z-index:1;text-align:center}
.cta-full-inner .sec-p{margin-left:auto;margin-right:auto}
.cta-full h2{font-size:3.4rem;font-weight:900;color:var(--t1);margin-bottom:18px;letter-spacing:-.04em;line-height:1.15}
.cta-full h2 em{font-style:normal;background:linear-gradient(135deg,var(--gd),var(--g),var(--gl));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.cta-full p{font-size:1.05rem;color:var(--t2);margin-bottom:44px;line-height:1.85}
.cta-full-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ── 通用按钮 ────────────────────────────────────────────────── */
.btn,.btn--primary,.btn--outline,.btn--ghost,.btn--blue,.btn--gold{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:12px 24px;border-radius:7px;font-size:.87rem;
  font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;font-family:var(--font);
}
.btn--primary,.btn-gold-sm{
  background:var(--grad-brand);color:var(--on-g);border:none;font-weight:700;
  box-shadow:0 2px 20px rgba(91,115,183,.32);
}
.btn--primary:hover,.btn-gold-sm:hover{filter:brightness(1.07);box-shadow:0 6px 32px rgba(91,115,183,.45);transform:translateY(-1px)}
.btn--outline{background:transparent;color:var(--t1);border:1px solid rgba(91,115,183,.25)}
.btn--outline:hover{border-color:var(--g);color:var(--gl);background:var(--g10)}
.btn--ghost{background:transparent;color:var(--t2);border:1px solid var(--ln)}
.btn--ghost:hover{color:var(--t1);border-color:var(--ln2)}
.btn--blue{background:var(--g);color:var(--on-g);border:none;font-weight:700}
.btn--blue:hover{background:var(--gl)}

/* ── 资讯区 ──────────────────────────────────────────────────── */
.news-section{
  padding:100px 0;background:transparent;
  border-top:1px solid var(--ln);
}
.news-section-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:28px;
  margin-bottom:44px;flex-wrap:wrap;
  background-color:var(--d1);background-image:none;
  padding:20px 24px;border-radius:var(--rl);border:1px solid var(--ln);
}
.news-section-head .sec-label{margin-bottom:14px}
.news-section-head .sec-h{margin-bottom:8px}
.news-section-head .sec-p{margin:0}
.news-tabs{display:flex;gap:4px;flex-wrap:wrap}
.news-tab{padding:6px 14px;border-radius:5px;font-size:.76rem;font-weight:600;border:1px solid var(--ln);background:transparent;color:var(--t2);cursor:pointer;transition:all .18s;letter-spacing:.02em}
.news-tab:hover{color:var(--t1);border-color:var(--ln2)}
.news-tab.active{background:var(--g10);border-color:var(--ln2);color:var(--g)}
.news-featured-wrap{margin-bottom:24px}
.news-featured-card{display:grid;grid-template-columns:1fr 1.2fr;gap:0;background:var(--d2);border:1px solid var(--ln);border-radius:var(--rl);overflow:hidden;text-decoration:none;transition:all .2s}
.news-featured-card:hover{border-color:var(--ln2);box-shadow:0 20px 80px rgba(0,0,0,.5)}
.news-featured-img{aspect-ratio:16/9;overflow:hidden;background:var(--d3)}
.news-featured-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s;display:block}
.news-featured-card:hover .news-featured-img img{transform:scale(1.04)}
.news-featured-no-img{display:flex;align-items:center;justify-content:center;font-size:4rem;background:linear-gradient(135deg,var(--d2),var(--d3))}
.news-featured-body{padding:44px;display:flex;flex-direction:column;justify-content:center}
.news-featured-meta{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.news-featured-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:var(--g);color:var(--on-g);font-size:.66rem;font-weight:800;border-radius:3px;letter-spacing:.1em;text-transform:uppercase}
.news-featured-title{font-size:1.55rem;font-weight:800;color:var(--t1);line-height:1.3;margin-bottom:14px;letter-spacing:-.02em}
.news-featured-summary{font-size:.88rem;color:var(--t2);line-height:1.85;margin-bottom:24px;flex:1}
.news-featured-author{display:flex;align-items:center;gap:8px;font-size:.74rem;color:var(--t3)}
.news-read-more{margin-left:auto;color:var(--g);font-weight:600;font-size:.78rem}
.news-announce-bar{display:flex;align-items:stretch;background:var(--g10);border:1px solid var(--ln2);border-radius:var(--r);overflow:hidden;margin-bottom:22px}
.news-announce-label{display:flex;align-items:center;gap:7px;padding:12px 18px;background:rgba(91,115,183,.12);font-size:.74rem;font-weight:700;color:var(--g);white-space:nowrap;flex-shrink:0;border-right:1px solid var(--ln2)}
.news-announce-list{display:flex;flex-direction:column;flex:1;overflow:hidden}
.news-announce-item{display:flex;align-items:center;justify-content:space-between;padding:8px 18px;text-decoration:none;border-bottom:1px solid rgba(91,115,183,.06);transition:background .18s}
.news-announce-item:last-child{border-bottom:none}
.news-announce-item:hover{background:rgba(91,115,183,.05)}
.news-announce-title{font-size:.8rem;color:var(--t1);font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.news-announce-date{font-size:.68rem;color:var(--t3);flex-shrink:0;margin-left:16px}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.news-card{background:var(--d2);border:1px solid var(--ln);border-radius:var(--r);overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:all .2s}
.news-card:hover{border-color:var(--ln2);transform:translateY(-2px);box-shadow:0 16px 48px rgba(0,0,0,.4)}
.news-card-cover{aspect-ratio:16/9;overflow:hidden;background:var(--d3)}
.news-card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s;display:block}
.news-card:hover .news-card-cover img{transform:scale(1.04)}
.news-card-body{padding:18px;flex:1;display:flex;flex-direction:column}
.news-card-top{display:flex;align-items:center;gap:5px;margin-bottom:9px;flex-wrap:wrap}
.news-cat-tag{display:inline-flex;padding:2px 7px;background:var(--g10);border:1px solid var(--ln);color:var(--g);border-radius:3px;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.news-badge-important{display:inline-flex;padding:2px 7px;background:rgba(245,160,32,.1);border:1px solid rgba(245,160,32,.2);color:#f5a020;border-radius:3px;font-size:.62rem;font-weight:700}
.news-badge-announce{display:inline-flex;padding:2px 7px;background:rgba(240,96,96,.1);border:1px solid rgba(240,96,96,.15);color:#f06060;border-radius:3px;font-size:.62rem;font-weight:700}
.news-card-title{font-size:.88rem;font-weight:700;color:var(--t1);line-height:1.55;margin-bottom:7px;flex:1;letter-spacing:-.01em}
.news-card-summary{font-size:.76rem;color:var(--t2);line-height:1.7;margin-bottom:9px}
.news-card-footer{display:flex;align-items:center;justify-content:space-between;font-size:.68rem;color:var(--t3);border-top:1px solid var(--ln);padding-top:9px;margin-top:auto}
.news-skeleton-item{background:var(--d2);border:1px solid var(--ln);border-radius:var(--r);height:220px;overflow:hidden;position:relative}
.news-skeleton-item::after{content:'';display:block;position:absolute;inset:0;background:linear-gradient(90deg,var(--d2) 25%,var(--d3) 50%,var(--d2) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.news-footer-bar{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:40px}
.news-live-badge{display:flex;align-items:center;gap:5px;font-size:.72rem;color:var(--green);background:rgba(63,214,138,.1);padding:4px 12px;border-radius:20px}
.news-live-dot{width:5px;height:5px;border-radius:50%;background:var(--green);animation:pulse 1.5s infinite}

/* ── 表单 ────────────────────────────────────────────────────── */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-input{width:100%;background:rgba(255,255,255,.75);border:1px solid var(--ln);border-radius:7px;color:var(--t1);padding:13px 16px;font-size:.87rem;font-family:var(--font);transition:all .2s}
.form-input::placeholder{color:var(--t3)}
.form-input:focus{outline:none;border-color:var(--g20);box-shadow:0 0 0 3px var(--g10);background:#fff}
.form-input.full{grid-column:1/-1}
textarea.form-input{resize:vertical;min-height:120px;line-height:1.7}
select.form-input option{background:var(--d2);color:var(--t1)}
.form-submit{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 36px;background:var(--g);color:var(--on-g);font-size:.9rem;font-weight:700;border-radius:7px;border:none;cursor:pointer;box-shadow:0 4px 24px rgba(91,115,183,.22);letter-spacing:.04em;transition:all .2s;font-family:var(--font)}
.form-submit:hover{background:var(--gl);transform:translateY(-2px);box-shadow:0 8px 36px rgba(91,115,183,.45)}
.form-success{display:none;text-align:center;padding:32px;background:var(--g10);border:1px solid var(--ln);border-radius:var(--r);color:var(--g)}

/* ── 子页 Hero ──────────────────────────────────────────────── */
.page-hero{
  position:relative;padding:calc(var(--nav) + 52px) 0 72px;overflow:hidden;
  border-bottom:1px solid var(--ln);
}
.page-hero::before{
  content:'';position:absolute;inset:-2%;
  background:var(--hero-bg) center bottom/cover no-repeat;
  transform:scale(1.02);
  filter:brightness(.98) saturate(.92) blur(.45px);
  opacity:.24;z-index:0;
}
.page-hero::after{
  content:'';position:absolute;inset:0;z-index:0;
  background:linear-gradient(to bottom,rgba(247,243,235,.78) 0%,rgba(247,243,235,.58) 50%,rgba(240,235,227,.72) 100%);
}
.page-hero .container{position:relative;z-index:1}
.page-hero-label{margin-bottom:18px}
.page-hero h1{font-size:3.2rem;font-weight:900;color:var(--t1);margin-bottom:16px;letter-spacing:-.03em;line-height:1.12}
.page-hero h1 em{font-style:normal;background:linear-gradient(135deg,var(--gd),var(--g),var(--gl));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.page-hero p{font-size:.98rem;color:var(--t2);max-width:600px;line-height:1.9}
.breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:22px;font-size:.74rem;color:var(--t3)}
.breadcrumb a{color:var(--t3);transition:color .18s}
.breadcrumb a:hover{color:var(--g)}
.cert-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.cert-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;background:var(--g10);border:1px solid var(--ln);border-radius:5px;font-size:.76rem;color:var(--gd);font-weight:700}

/* ── 案例卡片 ──────────────────────────────────────────────── */
.cases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px;margin-top:52px}
.case-card{background:var(--d2);border:1px solid var(--ln);border-radius:var(--r);overflow:hidden;transition:all .2s}
.case-card:hover{border-color:var(--ln2);transform:translateY(-3px);box-shadow:0 20px 60px rgba(0,0,0,.5)}
.case-header{padding:26px 26px 20px;border-bottom:1px solid var(--ln)}
.case-header--mfg{background:linear-gradient(135deg,rgba(91,115,183,.08),rgba(91,115,183,.03))}
.case-header--med{background:linear-gradient(135deg,rgba(63,214,138,.05),transparent)}
.case-header--fmcg{background:linear-gradient(135deg,rgba(240,96,96,.05),transparent)}
.case-header--fin{background:linear-gradient(135deg,rgba(192,132,252,.05),transparent)}
.case-header--tech{background:linear-gradient(135deg,rgba(96,165,250,.05),transparent)}
.case-header--edu{background:linear-gradient(135deg,rgba(245,160,32,.05),transparent)}
.case-industry{font-size:.66rem;font-weight:700;color:var(--g);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.case-company{font-size:1.05rem;font-weight:700;color:var(--t1);margin-bottom:10px}
.case-services{display:flex;gap:5px;flex-wrap:wrap}
.case-service-tag{padding:2px 8px;background:var(--g10);border:1px solid var(--ln);border-radius:3px;font-size:.63rem;color:var(--g);font-weight:700;letter-spacing:.08em}
.case-body{padding:22px 26px}
.case-challenge{font-size:.82rem;color:var(--t2);line-height:1.75;margin-bottom:18px}
.case-results{display:flex;gap:22px}
.case-result-num{font-size:1.25rem;font-weight:800;color:var(--g)}
.case-result-label{font-size:.66rem;color:var(--t3);margin-top:3px}

/* ── 时间线 ──────────────────────────────────────────────────── */
.timeline{position:relative;padding-left:28px}
.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,var(--gd) 10%,var(--gd) 90%,transparent)}
.timeline-item{padding:0 0 44px 32px;position:relative}
.timeline-item::before{content:'';position:absolute;left:-5px;top:7px;width:10px;height:10px;border-radius:50%;background:var(--g);box-shadow:0 0 12px rgba(91,115,183,.5)}
.timeline-year{font-size:.68rem;font-weight:700;color:var(--g);letter-spacing:.14em;margin-bottom:6px}
.timeline-title{font-size:.94rem;font-weight:700;color:var(--t1);margin-bottom:7px}
.timeline-desc{font-size:.83rem;color:var(--t2);line-height:1.75}

/* ── 页脚 ────────────────────────────────────────────────────── */
.footer{background-color:var(--black);background-image:none;border-top:1px solid var(--ln);padding:80px 0 48px}
.footer-logo-img{
  height:60px;width:auto;max-width:88px;object-fit:contain;object-position:center;
  margin-bottom:10px;filter:drop-shadow(0 1px 8px rgba(91,115,183,.28));
}
.footer-logo-name{font-size:.84rem;font-weight:800;color:var(--gd);letter-spacing:.12em;margin-bottom:14px}
.footer-brand-desc{font-size:.82rem;color:var(--t2);line-height:1.8;margin-top:10px;max-width:260px}
.footer-grid{display:grid;grid-template-columns:1.8fr repeat(3,1fr);gap:60px;margin-bottom:56px}
.footer-col h4{font-size:.7rem;font-weight:700;color:var(--gd);letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}
.footer-col ul li{margin-bottom:9px}
.footer-col a{font-size:.82rem;color:var(--t2);transition:color .18s}
.footer-col a:hover{color:var(--g)}
.footer-contact-item{display:flex;align-items:flex-start;gap:8px;font-size:.82rem;color:var(--t2);margin-bottom:11px;line-height:1.6}
.footer-contact-icon{flex-shrink:0;font-size:.92rem;margin-top:2px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:24px;border-top:1px solid var(--ln);font-size:.72rem;color:var(--t2);flex-wrap:wrap;gap:12px}
.footer-beian{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.footer-icp,.footer-psb{color:var(--t2);font-size:.72rem}
.footer-psb-link{color:var(--t2);text-decoration:none;transition:color .18s}
.footer-psb-link:hover{color:var(--g)}
.footer-bottom a{color:var(--t2);transition:color .18s}
.footer-bottom a:hover{color:var(--g)}
.footer-social{display:flex;gap:8px}
.footer-social a,.footer-social-link{width:30px;height:30px;border-radius:6px;background:var(--d2);border:1px solid var(--ln);display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--t2);transition:all .18s;text-decoration:none}
.footer-social a:hover,.footer-social-link:hover{background:var(--g10);border-color:var(--ln2);color:var(--g)}

/* ── UI 杂项 ─────────────────────────────────────────────────── */
.back-top{position:fixed;bottom:32px;right:32px;width:40px;height:40px;background:var(--g10);border:1px solid var(--ln2);border-radius:7px;color:var(--g);display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;z-index:999;opacity:0;pointer-events:none;transform:translateY(10px);transition:all .2s}
.back-top.show{opacity:1;pointer-events:auto;transform:translateY(0)}
.back-top:hover{background:var(--g);color:var(--on-g);box-shadow:0 6px 20px rgba(91,115,183,.28)}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);background:var(--d1);border:1px solid var(--ln2);border-radius:8px;padding:10px 18px;display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--t1);box-shadow:0 12px 48px rgba(91,115,183,.15);z-index:9999;opacity:0;pointer-events:none;transition:all .25s;white-space:nowrap}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.success{border-color:rgba(63,214,138,.25);color:var(--green)}
.toast.error{border-color:rgba(240,96,96,.25);color:var(--red)}
.custom-elements-root{padding:80px 0;background:var(--d1)}
#custom-elements-section .container{max-width:1200px}
.custom-elem{margin-bottom:28px}

/* ── 兼容旧类名 ──────────────────────────────────────────────── */
.section-badge,.eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--g10);border:1px solid var(--ln);color:var(--g);font-size:.7rem;font-weight:700;padding:4px 12px;border-radius:40px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px}
.section-badge::before,.eyebrow::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--g);flex-shrink:0}
.section-title,.h2{font-size:2.6rem;font-weight:800;color:var(--t1);line-height:1.2;letter-spacing:-.03em;margin-bottom:14px}
.section-title em,.h2 em{font-style:normal;background:linear-gradient(130deg,var(--gd),var(--g),var(--gl));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.section-sub,.lead{font-size:.98rem;color:var(--t2);line-height:1.85;max-width:600px}
.text-center .section-sub,.tc .lead{margin:0 auto}
.section-tag{display:inline-flex;align-items:center;gap:8px;background:var(--g10);border:1px solid var(--ln);color:var(--g);font-size:.7rem;font-weight:700;padding:4px 12px;border-radius:40px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px}
.section{padding:100px 0;position:relative;background:transparent}
.section--dark,.sec--dark{padding:100px 0;background:transparent}
.section--gray,.sec--gray{padding:100px 0;background:transparent}
.gold-line{width:56px;height:1.5px;background:linear-gradient(90deg,var(--g),transparent);margin:16px 0 20px}
.text-center .gold-line{margin:16px auto;background:linear-gradient(90deg,transparent,var(--g),transparent);width:80px}

/* ── 响应式 ──────────────────────────────────────────────────── */
@media(max-width:1100px){
  .hero-heading{font-size:4.2rem}
  .bento{grid-template-columns:1fr;gap:12px}
  .bento-card{min-height:0}
  .container{padding:0 28px}
  .nums-inner{grid-template-columns:repeat(2,1fr)}
  .num-block:nth-child(2){border-right:none}.num-block:nth-child(3){border-top:1px solid var(--ln)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .case-feature,.case-feature--reverse{grid-template-columns:1fr}
  .industry-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:768px){
  .hero-heading{font-size:2.8rem}
  .container{padding:0 24px}
  .sec,.sec--alt,.section,.section--dark,.section--gray,.news-section,.testimonials-sec{padding:72px 0}
  .clients-strip-inner{padding:22px 20px}
  .case-feature-text,.case-feature-stats{padding:32px 28px}
  .case-feature,.case-feature--reverse{grid-template-columns:1fr}
  .case-feature-text{border-right:none;border-left:none!important;border-bottom:1px solid var(--ln)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .sec-h,.section-title,.h2{font-size:2rem}
  .cta-full h2,.page-hero h1{font-size:2.2rem}
  .hero-metrics{grid-template-columns:1fr 1fr;gap:20px}.hero-metric{border-right:none;border-bottom:1px solid var(--ln);padding-bottom:16px;margin-bottom:4px}.hero-metric:last-child{border-bottom:none}
  .steps{grid-template-columns:1fr}
  .sec-head-row{align-items:flex-start;flex-direction:column}
  .why-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.steps::before{display:none}
  .industry-grid{grid-template-columns:repeat(2,1fr)}
  .cases-grid,.news-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}.form-input.full{grid-column:1}
  .news-featured-card{grid-template-columns:1fr}.news-section-head{flex-direction:column;align-items:flex-start}
  .nums-inner{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .hero-heading{font-size:2.2rem}.hero-btns{flex-direction:column}.hero-btns .btn-gold,.hero-btns .btn-outline{width:100%;justify-content:center}
  .industry-grid{grid-template-columns:repeat(2,1fr)}
}
/* ── 团队成员 · 创始人横卡 + 6人 3×2 网格 ─────────────────────── */
.team-layout{
  max-width:1120px;margin:48px auto 0;
  display:flex;flex-direction:column;gap:20px;
}
.team-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
.team-card{
  background:var(--d1);border:1px solid var(--ln);border-radius:var(--r);
  overflow:hidden;transition:all .22s var(--ease);position:relative;
}
.team-card:hover{border-color:var(--ln2);transform:translateY(-2px);box-shadow:0 16px 48px rgba(0,0,0,.45)}

/* 创始人 · 全宽横卡 */
.team-card--lead{
  display:grid;grid-template-columns:minmax(200px,260px) 1fr;
  align-items:stretch;min-height:0;
}
.team-card--lead .team-avatar-wrap{
  width:100%;height:100%;min-height:220px;max-height:260px;
  aspect-ratio:auto;
}
.team-card--lead .team-body{
  padding:32px 36px 32px 28px;
  display:flex;flex-direction:column;justify-content:center;
  border-left:1px solid var(--ln);
  position:relative;
}
.team-card--lead .team-body::before{
  content:'';position:absolute;left:0;top:32px;bottom:32px;width:3px;
  background:linear-gradient(180deg,var(--gd),var(--g),var(--gl));border-radius:2px;
}
.team-card--lead .team-name{font-size:1.35rem;margin-bottom:8px;padding:0}
.team-card--lead .team-role{font-size:.82rem;margin-bottom:14px;padding:0}
.team-card--lead .team-bio{font-size:.9rem;line-height:1.85;max-width:640px;padding:0}

/* 成员 · 竖向卡片（3 列 × 2 行） */
.team-card--member{
  display:flex;flex-direction:column;align-items:stretch;min-height:0;text-align:center;
}
.team-card--member .team-avatar-wrap{
  width:100%;flex-shrink:0;aspect-ratio:4/3;min-height:140px;max-height:200px;
}
.team-card--member .team-body{
  flex:1;min-width:0;padding:18px 16px 20px;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
}
.team-card--member .team-name{font-size:.92rem;margin-bottom:4px;padding:0}
.team-card--member .team-role{font-size:.72rem;margin-bottom:10px;padding:0}
.team-card--member .team-bio{
  font-size:.78rem;line-height:1.7;padding:0;text-align:center;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
}

/* 照片区域 */
.team-avatar-wrap{
  position:relative;background:var(--d2);overflow:hidden;
}
.team-photo{
  width:100%;height:100%;object-fit:cover;object-position:center top;
  display:block;transition:transform .45s ease;
}
.team-card:hover .team-photo{transform:scale(1.03)}

.team-photo-placeholder{
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;color:var(--t3);
  background:linear-gradient(145deg,var(--d2) 0%,var(--d3) 100%);
}
.team-photo-placeholder svg{stroke:var(--t3);opacity:.45;width:32px;height:32px}
.team-card--lead .team-photo-placeholder svg{width:40px;height:40px}
.team-photo-placeholder span{font-size:.65rem;letter-spacing:.08em;opacity:.5}

.team-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--g),transparent);
  opacity:0;transition:opacity .3s;z-index:1;
}
.team-card:hover::before{opacity:1}

.team-name{font-size:.96rem;font-weight:700;color:var(--t1);letter-spacing:-.01em}
.team-role{font-size:.74rem;font-weight:600;color:var(--g);letter-spacing:.03em}
.team-bio{font-size:.8rem;color:var(--t2);line-height:1.75}

.team-skeleton{
  background:var(--d1);border:1px solid var(--ln);border-radius:var(--r);
  overflow:hidden;position:relative;min-height:120px;
}
.team-skeleton::after{
  content:'';display:block;position:absolute;inset:0;
  background:linear-gradient(90deg,var(--d1) 25%,var(--d2) 50%,var(--d1) 75%);
  background-size:200% 100%;animation:shimmer 1.4s infinite;
}

@media(max-width:960px){
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .team-card--lead{grid-template-columns:200px 1fr}
  .team-card--lead .team-body{padding:24px 24px 24px 20px}
}
@media(max-width:640px){
  .team-grid{grid-template-columns:1fr}
  .team-card--lead{grid-template-columns:1fr}
  .team-card--lead .team-avatar-wrap{max-height:200px;min-height:180px}
  .team-card--lead .team-body{border-left:none;border-top:1px solid var(--ln);padding:22px 20px}
  .team-card--lead .team-body::before{display:none}
  .team-card--member .team-avatar-wrap{min-height:120px;max-height:160px}
}

[data-aos]{transition-duration:.65s!important}

/* ── 联系图标 SVG ─────────────────────────────────────────────── */
.footer-contact-item{display:flex;align-items:flex-start;gap:10px}
.contact-svg{flex-shrink:0;margin-top:3px;stroke:var(--t3);opacity:.7}
.footer-contact-item:hover .contact-svg{stroke:var(--g);opacity:1}

/* ── bento-num 编号（服务页等复用） ──────────────────────────── */
.bento-num{
  font-size:.68rem;font-weight:700;color:var(--t3);
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;
  font-variant-numeric:tabular-nums;
}
.bento .bento-num{
  font-size:.72rem;font-weight:800;color:var(--g);
  letter-spacing:.12em;margin-bottom:0;
}

/* ════════════════════════════════════════════════════
   通用图片占位框系统（img-slot）
   展示端：有图显示图，无图显示专业占位框
   ════════════════════════════════════════════════════ */
.img-slot{
  position:relative;background:var(--d2);border:1px dashed var(--ln2);
  border-radius:var(--r);overflow:hidden;display:flex;
  align-items:center;justify-content:center;
}
.img-slot img{width:100%;height:100%;object-fit:cover;display:block}

/* 占位框内容 */
.img-slot-inner{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;
  color:var(--t3);text-align:center;padding:20px;
}
.img-slot-inner svg{stroke:var(--t3);opacity:.4}
.img-slot-label{
  font-size:.7rem;color:var(--t3);letter-spacing:.12em;
  text-transform:uppercase;opacity:.6;
}

/* 已有图片时隐藏占位内容 */
.img-slot.has-image .img-slot-inner{display:none}

/* 不同比例预设 */
.img-slot--square{aspect-ratio:1/1}
.img-slot--4-3{aspect-ratio:4/3}
.img-slot--16-9{aspect-ratio:16/9}
.img-slot--3-4{aspect-ratio:3/4}
.img-slot--banner{aspect-ratio:21/9}
.img-slot--avatar{width:80px;height:80px;border-radius:50%;flex-shrink:0}
.img-slot--wide{width:100%;aspect-ratio:16/9}

/* ════════════════════════════════════════════════════
   图片占位框 — 行业客群
   ════════════════════════════════════════════════════ */
.industry-abbr{
  font-size:.7rem;font-weight:800;color:var(--gd);
  letter-spacing:.12em;font-family:var(--font);
  margin-bottom:12px;text-transform:uppercase;
}
/* ── 服务大图标容器 ────────────────────────────────────────── */
.svc-card-icon-big{
  width:52px;height:52px;border-radius:12px;
  background:transparent;border:1px solid var(--ln2);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;color:var(--g);
}
.svc-card-icon-big svg{stroke:currentColor}
/* ── 功能点编号 ────────────────────────────────────────────── */
.feature-item-icon{
  min-width:32px;height:32px;border-radius:6px;
  background:var(--g10);border:1px solid var(--ln);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.66rem;font-weight:800;color:var(--g);
  letter-spacing:.04em;flex-shrink:0;
}
/* ── 平台步骤缩写 ───────────────────────────────────────────── */
.svc-step-num{
  padding:3px 8px;border-radius:4px;font-size:.7rem;font-weight:700;
  background:var(--g10);border:1px solid var(--ln);color:var(--g);
  letter-spacing:.02em;
}

/* ════════════════════════════════════════════════════
   补全各子页面 CSS 类（统一设计系统 v2）
   ════════════════════════════════════════════════════ */

/* ── About ─────────────────────────────────────────── */
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.about-intro-text{display:flex;flex-direction:column}
.about-intro-visual{display:flex;flex-direction:column;gap:14px}
.about-intro-p{color:var(--t2);line-height:1.85;font-size:.95rem}
.about-intro-p + .about-intro-p{margin-top:14px}
.about-intro-p:first-of-type{margin-top:4px}
.about-photo-placeholder{
  border-radius:var(--rl);margin-bottom:16px;min-height:260px;
  background:linear-gradient(135deg,var(--d2) 0%,var(--d3) 40%,rgba(91,115,183,.08) 100%);
  border:1px solid var(--ln);display:flex;align-items:center;justify-content:center;
  overflow:hidden;position:relative;
}
.about-photo-placeholder::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 30% 50%,rgba(91,115,183,.06) 0%,transparent 70%);
}
.about-photo-placeholder::after{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--g40),transparent);
}
.about-photo-inner{position:relative;z-index:1;text-align:center;padding:40px}
.about-photo-inner svg{color:var(--gd);margin-bottom:16px}
.about-photo-label{font-size:.78rem;color:var(--t3);letter-spacing:.06em;text-transform:uppercase}
.about-photo-hint{font-size:.68rem;color:var(--t3);margin-top:4px}
.mission-icon-wrap{
  background:transparent;border:1px solid var(--ln2);width:40px;height:40px;
  border-radius:8px;display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;color:var(--g);
}
.about-stats-card{background:var(--d2);border:1px solid var(--ln);border-radius:var(--rl);padding:36px;position:relative;overflow:hidden}
.about-stats-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--g),transparent)}
.about-big-num{font-size:4rem;font-weight:900;color:var(--g);line-height:1;letter-spacing:-.05em}
.about-big-label{font-size:.76rem;color:var(--t2);margin-top:4px;margin-bottom:22px;letter-spacing:.04em}
.about-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--ln);border-radius:var(--r);overflow:hidden}
.about-stat-item{background:var(--d3);padding:16px;text-align:center}
.about-stat-n{font-size:1.4rem;font-weight:800;color:var(--gl);letter-spacing:-.03em}
.about-stat-l{font-size:.68rem;color:var(--t3);margin-top:3px}
.mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ln);border-radius:var(--rl);overflow:hidden;margin-top:56px}
.mission-card{padding:44px 36px;background:var(--d1);transition:background .2s;position:relative}
.mission-card:hover{background-color:var(--d2)}
.mission-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--g),transparent);opacity:0;transition:opacity .3s}
.mission-card:hover::before{opacity:1}
.mission-title{font-size:1rem;font-weight:700;color:var(--t1);margin:16px 0 12px}
.mission-desc{font-size:.84rem;color:var(--t2);line-height:1.8}
.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ln);border-radius:var(--rl);overflow:hidden;margin-top:48px}
.cert-item{display:flex;align-items:flex-start;gap:14px;padding:28px 24px;background:var(--d1);transition:background .2s}
.cert-item:hover{background-color:var(--d2)}
.cert-icon{width:36px;height:36px;border-radius:7px;border:1px solid var(--ln2);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--g)}
.cert-icon svg{width:16px;height:16px;stroke:currentColor}
.cert-item-title{font-size:.88rem;font-weight:700;color:var(--t1);margin-bottom:4px}
.cert-item-desc{font-size:.78rem;color:var(--t2);line-height:1.6}

/* ── CTA Banner（all pages）────────────────────────── */
.cta-banner{position:relative;overflow:hidden;padding:100px 0;text-align:center}
.cta-banner::before{content:'';position:absolute;inset:-2%;background:var(--hero-bg) center/cover no-repeat;transform:scale(1.02);filter:brightness(.78) saturate(.92) blur(.45px);opacity:.24}
.cta-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(38,46,72,.5),rgba(48,56,88,.32),rgba(38,46,72,.5))}
.cta-banner .container{position:relative;z-index:1}
.cta-banner-title{font-size:2.8rem;font-weight:900;color:var(--t1);margin-bottom:16px;letter-spacing:-.03em;line-height:1.15}
.cta-banner-title em{font-style:normal;background:linear-gradient(135deg,var(--gd),var(--g),var(--gl));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.cta-banner-sub{font-size:1rem;color:var(--t2);margin-bottom:40px;line-height:1.8;max-width:580px;margin-left:auto;margin-right:auto}
.cta-banner-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ── Services ──────────────────────────────────────── */
.feature-list{display:flex;flex-direction:column;gap:14px;margin-top:24px}
.feature-item{display:flex;align-items:flex-start;gap:12px}
.feature-item-title{font-size:.88rem;font-weight:700;color:var(--t1);margin-bottom:3px}
.feature-item-desc{font-size:.8rem;color:var(--t2);line-height:1.75}
.comparison-table{width:100%;border-collapse:collapse;margin-top:48px;font-size:.84rem;border-radius:var(--r);overflow:hidden;border:1px solid var(--ln)}
.comparison-table th{padding:14px 18px;text-align:left;background:var(--d2);border-bottom:1px solid var(--ln);color:var(--t2);font-weight:600;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}
.comparison-table th:first-child{color:var(--g)}
.comparison-table td{padding:13px 18px;border-bottom:1px solid var(--ln);color:var(--t1);vertical-align:middle}
.comparison-table tr:last-child td{border-bottom:none}
.comparison-table tr:hover td{background:var(--d3)}
.check{color:var(--g);font-weight:700}
.cross{color:var(--t3)}
.faq-list{display:flex;flex-direction:column;gap:8px;margin-top:48px}
.faq-item{background:var(--d1);border:1px solid var(--ln);border-radius:var(--r);overflow:hidden;transition:all .2s}
.faq-item:hover{border-color:var(--ln2)}
.faq-question{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--t1)}
.faq-arrow{color:var(--g);font-size:.82rem;transition:transform .2s;flex-shrink:0}
.faq-item.open .faq-arrow{transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-item.open .faq-answer{max-height:320px}
.faq-answer-inner{padding:0 22px 20px;font-size:.85rem;color:var(--t2);line-height:1.8}

/* ── Cases（简要，完整样式见下方 Cases 頁） ─────────── */
.case-industry-tag{font-size:.68rem;font-weight:700;color:var(--g);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.case-service-tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}
.industry-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--ln);border-radius:var(--rl);overflow:hidden;margin-top:48px}
.industry-logo-item{background:var(--d1);padding:22px 16px;text-align:center;transition:background .2s}
.industry-logo-item:hover{background-color:var(--d2)}
.industry-logo-label{font-size:.8rem;font-weight:600;color:var(--t1);margin-bottom:3px}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.testi-card{background:var(--d1);border:1px solid var(--ln);border-radius:var(--r);padding:28px;transition:all .2s}
.testi-card:hover{border-color:var(--ln2);transform:translateY(-2px)}
.testimonial-author{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--ln)}
.testimonial-avatar{width:38px;height:38px;border-radius:50%;background:var(--d3);border:1px solid var(--ln2);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:var(--g);flex-shrink:0}
.filter-bar{
  display:flex;gap:6px;flex-wrap:wrap;margin-bottom:36px;
  background-color:var(--d1);background-image:none;
  padding:12px 14px;border-radius:var(--r);border:1px solid var(--ln);
}
.filter-btn{padding:7px 16px;border-radius:5px;font-size:.78rem;font-weight:600;border:1px solid var(--ln);background:transparent;color:var(--t2);cursor:pointer;transition:all .18s}
.filter-btn:hover{color:var(--t1);border-color:var(--ln2)}
.filter-btn.active{background:var(--g10);border-color:var(--ln2);color:var(--g)}

/* ── Contact ────────────────────────────────────────── */
.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:1px;background:var(--ln);border-radius:var(--rl);overflow:hidden;margin-top:56px}
.contact-info-card{background:var(--d2);padding:48px 44px;display:flex;flex-direction:column}
.contact-form-card{background:var(--d1);padding:48px 44px}
.contact-info-title{font-size:1.4rem;font-weight:800;color:var(--t1);margin-bottom:10px;letter-spacing:-.02em}
.contact-info-sub{font-size:.88rem;color:var(--t2);margin-bottom:32px;line-height:1.8}
.contact-items{display:flex;flex-direction:column}
.contact-item{display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-bottom:1px solid var(--ln)}
.contact-item:last-child{border-bottom:none}
.contact-item-label{font-size:.7rem;font-weight:700;color:var(--g);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.contact-item-value{font-size:.86rem;color:var(--t1);line-height:1.65}
.contact-item-value a{color:var(--t1);transition:color .18s}
.contact-item-value a:hover{color:var(--g)}
.contact-wechat-box{background:var(--d3);border:1px solid var(--ln);border-radius:var(--r);padding:16px;margin-top:20px;display:flex;align-items:center;gap:14px}
.contact-wechat-label{font-size:.7rem;font-weight:700;color:var(--g);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.contact-wechat-num{font-size:.88rem;color:var(--t1);font-weight:600}
.contact-wechat-hint{font-size:.74rem;color:var(--t3);margin-top:2px}
.contact-divider{width:100%;height:1px;background:var(--ln);margin:20px 0}
.contact-form-title{font-size:1.1rem;font-weight:700;color:var(--t1);margin-bottom:6px}
.contact-form-sub{font-size:.86rem;color:var(--t2);margin-bottom:26px;line-height:1.75}
.form-group{margin-bottom:14px}
.form-label{display:block;font-size:.74rem;font-weight:500;color:var(--t2);margin-bottom:5px;letter-spacing:.02em}
.form-progress{height:3px;background:var(--ln);border-radius:2px;margin-top:8px;overflow:hidden}
.diagnose-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ln);border-radius:var(--rl);overflow:hidden;margin-top:52px}
.diagnose-card{background:var(--d1);padding:36px 28px;transition:background .2s;position:relative}
.diagnose-card:hover{background-color:var(--d2)}
.diagnose-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--g),transparent);opacity:0;transition:opacity .3s}
.diagnose-card:hover::before{opacity:1}
.diagnose-num{font-size:.68rem;font-weight:700;color:var(--gd);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
.diagnose-title{font-size:.96rem;font-weight:700;color:var(--t1);margin-bottom:10px}
.diagnose-desc{font-size:.83rem;color:var(--t2);line-height:1.8}

/* ── News ───────────────────────────────────────────── */
.news-layout{display:grid;grid-template-columns:1fr 260px;gap:28px;align-items:start}
.news-main{min-width:0}
.news-list{display:flex;flex-direction:column;gap:14px}
.news-item{display:grid;grid-template-columns:180px 1fr;gap:0;background:var(--d1);border:1px solid var(--ln);border-radius:var(--r);overflow:hidden;transition:all .2s;text-decoration:none}
.news-item:hover{border-color:var(--ln2);transform:translateY(-2px);box-shadow:0 16px 48px rgba(0,0,0,.4)}
.news-item-img{background:var(--d3);overflow:hidden}
.news-item-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.news-item:hover .news-item-img img{transform:scale(1.04)}
.news-item-img-empty{width:100%;height:100%;min-height:130px;display:flex;align-items:center;justify-content:center;color:var(--t3)}
.news-item-body{padding:18px 20px;display:flex;flex-direction:column}
.news-item-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.news-item-title{font-size:.9rem;font-weight:700;color:var(--t1);line-height:1.5;margin-bottom:8px;letter-spacing:-.01em;flex:1}
.news-item-summary{font-size:.79rem;color:var(--t2);line-height:1.7;margin-bottom:10px}
.news-item-footer{display:flex;align-items:center;justify-content:space-between;font-size:.68rem;color:var(--t3);border-top:1px solid var(--ln);padding-top:9px;margin-top:auto}
.news-sidebar{position:sticky;top:calc(var(--nav) + 20px)}
.news-sidebar-card{background:var(--d1);border:1px solid var(--ln);border-radius:var(--r);padding:20px;margin-bottom:14px}
.news-sidebar-title{font-size:.7rem;font-weight:700;color:var(--g);letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.news-sidebar-body,.news-cat-tag-list{display:flex;flex-direction:column;gap:4px}
.news-filter-bar{position:sticky;top:calc(var(--nav) + 2px);z-index:40;background:rgba(247,243,235,.94);backdrop-filter:blur(10px);padding:10px 0;border-bottom:1px solid var(--ln);margin-bottom:24px}
.news-filter-inner{display:flex;gap:6px;flex-wrap:wrap;max-width:1200px;margin:0 auto;padding:0 48px}
.news-filter-btn{padding:6px 14px;border-radius:5px;font-size:.76rem;font-weight:600;border:1px solid var(--ln);background:transparent;color:var(--t2);cursor:pointer;transition:all .18s}
.news-filter-btn:hover{color:var(--t1);border-color:var(--ln2)}
.news-filter-btn.active{background:var(--g10);border-color:var(--ln2);color:var(--g)}
.news-loading{display:flex;align-items:center;justify-content:center;padding:60px;color:var(--t3);font-size:.85rem}
.page-btn{min-width:36px;height:36px;padding:0 10px;border-radius:6px;font-size:.8rem;font-weight:600;border:1px solid var(--ln);background:transparent;color:var(--t2);cursor:pointer;transition:all .18s;display:inline-flex;align-items:center;justify-content:center}
.page-btn:hover{color:var(--t1);border-color:var(--ln2)}
.page-btn.active{background:var(--g);color:var(--on-g);border-color:var(--g)}
.page-btn:disabled{opacity:.3;cursor:not-allowed}

/* ── 响应式补充 ─────────────────────────────────────── */
@media(max-width:1100px){
  .about-intro{grid-template-columns:1fr;gap:36px}
  .mission-grid,.cert-grid{grid-template-columns:1fr}
  .contact-layout{grid-template-columns:1fr}
  .case-full-top{grid-template-columns:1fr}
  .case-full-top .case-results{
    display:grid;grid-template-columns:repeat(3,1fr);
  }
  .case-full-top .case-result-item{
    flex-direction:column;align-items:center;justify-content:center;
    text-align:center;border-bottom:none;border-right:1px solid var(--ln);
  }
  .case-full-top .case-result-item:last-child{border-right:none}
  .case-full-top .case-result-label{text-align:center}
  .testimonials-grid{grid-template-columns:1fr 1fr}
  .industry-logos{grid-template-columns:repeat(4,1fr)}
  .diagnose-cards{grid-template-columns:1fr}
  .news-layout{grid-template-columns:1fr}
  .news-sidebar{position:static}
}
@media(max-width:768px){
  .industry-logos{grid-template-columns:repeat(3,1fr)}
  .news-item{grid-template-columns:1fr}
  .testimonials-grid{grid-template-columns:1fr}
  .news-filter-inner{padding:0 20px}
  .comparison-table{font-size:.78rem}
  .comparison-table th,.comparison-table td{padding:10px 12px}
}

/* ════════════════════════════════════════════════════
   Services 頁完整 CSS
   ════════════════════════════════════════════════════ */
.service-detail{padding:100px 0;position:relative}
.service-detail:nth-child(even){background-color:var(--d2)}
.service-detail-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:1px;background:var(--ln);border-radius:var(--rl);overflow:hidden}
.service-detail-inner > *{background:var(--d1);padding:52px 48px}
.service-detail-inner.reverse{direction:rtl}
.service-detail-inner.reverse > *{direction:ltr}
.service-detail-header{margin-bottom:28px}
.service-detail-tag{display:inline-flex;padding:4px 12px;border-radius:4px;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.tag--geo{background:rgba(91,115,183,.12);color:var(--g);border:1px solid var(--ln)}
.tag--seo{background:rgba(91,115,183,.12);color:var(--g);border:1px solid var(--ln)}
.tag--orm{background:rgba(91,115,183,.12);color:var(--g);border:1px solid var(--ln)}
.service-detail-title{font-size:1.8rem;font-weight:800;color:var(--t1);margin-bottom:14px;line-height:1.25;letter-spacing:-.02em}
.service-detail-sub{font-size:.9rem;color:var(--t2);line-height:1.85}
.service-visual-card{background:var(--d2);border-radius:var(--r);overflow:hidden}
.svc-card-header{padding:28px 28px 0}
.svc-card-header--geo,.svc-card-header--seo,.svc-card-header--orm{border-bottom:1px solid var(--ln);padding-bottom:24px;margin-bottom:0}
.svc-card-icon-big{width:48px;height:48px;border-radius:10px;border:1px solid var(--ln2);display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--g)}
.svc-card-icon-big svg{stroke:currentColor}
.svc-card-title-big{font-size:.96rem;font-weight:700;color:var(--t1);margin-bottom:4px}
.svc-card-sub-big{font-size:.76rem;color:var(--t2)}
.svc-metrics{display:flex;gap:0;border-bottom:1px solid var(--ln)}
.svc-metric{flex:1;padding:20px 24px;text-align:center;border-right:1px solid var(--ln)}
.svc-metric:last-child{border-right:none}
.svc-metric-num,.num--geo,.num--seo,.num--orm{font-size:1.8rem;font-weight:900;color:var(--g);letter-spacing:-.04em;line-height:1}
.svc-metric-label{font-size:.7rem;color:var(--t3);margin-top:4px}
.svc-card-body{padding:20px 24px}
.svc-steps{display:flex;flex-direction:column;gap:10px}
.svc-step{display:flex;align-items:flex-start;gap:12px;font-size:.82rem;color:var(--t2);line-height:1.6}
.svc-step-num,.step-bg--geo,.step-bg--seo,.step-bg--orm{min-width:24px;height:24px;border-radius:4px;background:var(--g10);border:1px solid var(--ln);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:800;color:var(--g);flex-shrink:0;margin-top:1px}
.platform-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ln);border-radius:var(--rl);overflow:hidden;margin-top:52px}
.platform-item{background:var(--d1);padding:24px 18px;text-align:center;transition:background .2s}
.platform-item:hover{background-color:var(--d2)}
.platform-name{font-size:.88rem;font-weight:700;color:var(--t1);margin-bottom:4px}
.platform-desc{font-size:.72rem;color:var(--t3)}

/* ════════════════════════════════════════════════════
   Cases 頁完整 CSS
   ════════════════════════════════════════════════════ */
.cases-grid{display:flex;flex-direction:column;gap:20px}
.case-full-card{
  background-color:var(--d1);background-image:none;
  border:1px solid var(--ln);border-radius:var(--rl);
  overflow:hidden;transition:border-color .25s,box-shadow .25s,transform .25s;
}
.case-full-card:hover{border-color:var(--ln2);box-shadow:0 20px 60px rgba(0,0,0,.42);transform:translateY(-2px)}
.case-full-header{
  padding:20px 24px;
  border-bottom:1px solid rgba(255,255,255,.1);
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;
  color:#fff;
}
.case-full-card::before{
  content:'';display:block;height:2px;
  background:linear-gradient(90deg,var(--apd),var(--g),var(--apl));
}
/* 案例头图：固定深色渐变（按行业分类），保证白字始终可读 */
.case-full-header.case-header--mfg{background:linear-gradient(135deg,#0D47A1,#1565C0)}
.case-full-header.case-header--med{background:linear-gradient(135deg,#004D40,#00695C)}
.case-full-header.case-header--fmcg{background:linear-gradient(135deg,#4A148C,#7B1FA2)}
.case-full-header.case-header--fin{background:linear-gradient(135deg,#BF360C,#E65100)}
.case-full-header.case-header--tech{background:linear-gradient(135deg,#1A237E,#283593)}
.case-full-header.case-header--edu{background:linear-gradient(135deg,#880E4F,#AD1457)}
.case-full-header:not(.case-header--mfg):not(.case-header--med):not(.case-header--fmcg):not(.case-header--fin):not(.case-header--tech):not(.case-header--edu){
  background:linear-gradient(135deg,#1A237E,#283593);
}
.case-full-header .case-industry-tag{
  display:inline-block;
  font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0;
  background:rgba(255,255,255,.15);color:rgba(255,255,255,.92);
  padding:4px 12px;border-radius:4px;
}
.case-full-header .case-company-name{
  font-size:1.2rem;font-weight:800;color:#fff;margin:0;
  letter-spacing:-.02em;flex:1;min-width:160px;
}
.case-full-header .case-service-tags{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.case-full-header .case-service-tag{
  padding:3px 10px;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);border-radius:4px;
  font-size:.64rem;color:rgba(255,255,255,.88);font-weight:700;letter-spacing:.06em;
}
.case-full-body{
  padding:14px 16px 16px;
  display:flex;flex-direction:column;gap:10px;
  background-image:none;
}
.case-full-top{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;align-items:stretch;
}
.case-block{
  background-color:var(--d2);background-image:none;
  border:1px solid var(--ln);border-radius:var(--r);
  padding:16px 18px;min-width:0;
  display:flex;flex-direction:column;
}
.case-challenge-title{
  font-size:.64rem;font-weight:800;color:var(--g);
  letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;
  display:flex;align-items:center;gap:7px;
}
.case-challenge-title::before{
  content:'';width:3px;height:11px;border-radius:1px;background:var(--g);flex-shrink:0;
}
.case-challenge-text{
  font-size:.82rem;color:var(--t2);line-height:1.78;margin:0;flex:1;
}
.case-full-top .case-results{
  display:flex;flex-direction:column;gap:0;
  border:1px solid var(--ln);border-radius:var(--r);
  overflow:hidden;margin:0;background-color:var(--d2);background-image:none;
}
.case-full-top .case-results::before{
  content:'核心成果';display:block;padding:8px 14px;
  font-size:.62rem;font-weight:800;color:var(--g);letter-spacing:.12em;
  border-bottom:1px solid var(--ln);background:rgba(91,115,183,.06);
}
.case-full-top .case-result-item{
  flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 16px;border-right:none;
  border-bottom:1px solid var(--ln);background-color:var(--d2);background-image:none;
}
.case-full-top .case-result-item:last-child{border-bottom:none}
.case-full-top .case-result-num{font-size:1.42rem;font-weight:900;color:var(--g);letter-spacing:-.04em;line-height:1;flex-shrink:0}
.case-full-top .case-result-label{font-size:.68rem;color:var(--t2);margin:0;line-height:1.4;text-align:right}
.case-solution{
  background-color:var(--d2);background-image:none;
  border:1px solid var(--ln);border-radius:var(--r);
  padding:14px 18px;
  border-left:3px solid var(--g);
}
.case-solution-label{
  font-size:.64rem;font-weight:800;color:var(--g);
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;
}
.case-solution-text{font-size:.82rem;color:var(--t2);line-height:1.82;margin:0}
.testimonial-text{font-size:.86rem;color:var(--t2);line-height:1.8;margin-bottom:16px;position:relative;padding-left:16px}
.testimonial-text::before{content:'"';position:absolute;left:0;top:-2px;font-size:1.2rem;color:var(--g);font-weight:900;line-height:1}
.testimonial-name{font-size:.82rem;font-weight:700;color:var(--t1)}
.testimonial-company{font-size:.72rem;color:var(--t3);margin-top:2px}
.industry-logo-item{background:var(--d1);padding:22px 16px;text-align:left;transition:background .2s;position:relative}
.industry-logo-item:hover{background-color:var(--d2)}
.industry-logo-item::after{content:'';position:absolute;bottom:0;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,var(--gd),transparent);opacity:0;transition:opacity .3s}
.industry-logo-item:hover::after{opacity:1}

/* ════════════════════════════════════════════════════
   Contact 頁完整 CSS
   ════════════════════════════════════════════════════ */
.contact-layout{display:grid;grid-template-columns:minmax(300px,1fr) minmax(380px,1.45fr);gap:1px;background:var(--ln);border-radius:var(--rl);overflow:hidden;margin-top:56px;align-items:stretch}
.contact-info-card{background:var(--d2);padding:48px 40px;display:flex;flex-direction:column;justify-content:flex-start}
.contact-form-card{background:var(--d1);padding:48px 40px;display:flex;flex-direction:column}
.contact-info-title{font-size:1.5rem;font-weight:800;color:var(--t1);margin-bottom:10px;letter-spacing:-.02em;line-height:1.2}
.contact-info-sub{font-size:.88rem;color:var(--t2);margin-bottom:36px;line-height:1.8}
.contact-items{display:flex;flex-direction:column}
.contact-item{display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-bottom:1px solid var(--ln)}
.contact-item:last-child{border-bottom:none}
.contact-detail-icon{width:38px;height:38px;border-radius:8px;border:1px solid var(--ln2);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--g);margin-top:2px}
.contact-detail-icon svg{stroke:currentColor}
.contact-item-label{font-size:.7rem;font-weight:700;color:var(--g);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.contact-item-value{font-size:.86rem;color:var(--t1);line-height:1.65}
.contact-item-value a{color:var(--t1);transition:color .18s}
.contact-item-value a:hover{color:var(--g)}
.contact-wechat-section{margin-top:8px}
.contact-wechat-section-title{font-size:.72rem;font-weight:700;color:var(--g);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
.contact-wechat-box{background:var(--d3);border:1px solid var(--ln2);border-radius:var(--r);padding:18px;display:flex;align-items:center;gap:16px}
.contact-wechat-qr{width:88px;height:88px;border-radius:8px;background:var(--d1);border:1px solid var(--ln2);flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.contact-wechat-qr.has-image{border-style:solid;background:#fff}
.contact-wechat-qr img{width:100%;height:100%;object-fit:cover;display:block}
.contact-wechat-qr-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--t3);font-size:.62rem;text-align:center;padding:8px}
.contact-wechat-qr-placeholder svg{stroke:var(--t3);opacity:.7}
.contact-wechat-text{flex:1;min-width:0}
.contact-wechat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.contact-wechat-card{background:var(--d3);border:1px solid var(--ln2);border-radius:var(--r);padding:14px 12px;text-align:center}
.contact-wechat-card .contact-wechat-qr{width:100%;max-width:108px;height:auto;aspect-ratio:1;margin:0 auto 10px}
.contact-wechat-card-label{font-size:.82rem;color:var(--t1);font-weight:600;line-height:1.3}
.contact-wechat-card-hint{font-size:.72rem;color:var(--t2);margin-top:5px;line-height:1.45}
.contact-wechat-label{font-size:.68rem;font-weight:700;color:var(--g);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.contact-wechat-num{font-size:.92rem;color:var(--t1);font-weight:600;line-height:1.4}
.contact-wechat-hint{font-size:.76rem;color:var(--t2);margin-top:6px;line-height:1.5}
.contact-tip-box{
  margin-top:28px;padding:16px;background:rgba(91,115,183,.08);
  border:1px solid rgba(91,115,183,.2);border-radius:10px;
}
.contact-tip-title{font-size:.78rem;font-weight:700;color:var(--g);margin-bottom:6px;display:flex;align-items:center;gap:6px}
.contact-tip-text{font-size:.82rem;color:rgba(255,255,255,.65);line-height:1.6}
.contact-hours-note{color:rgba(255,255,255,.45);font-size:.8rem}
.footer-social{margin-top:20px}
.footer-legal-row{display:flex;gap:20px}
.contact-form-title{font-size:1.2rem;font-weight:700;color:var(--t1);margin-bottom:6px;letter-spacing:-.01em}
.contact-form-sub{font-size:.86rem;color:var(--t2);margin-bottom:28px;line-height:1.75}
.contact-form-note{font-size:.76rem;color:var(--t3);margin-top:14px;line-height:1.6;text-align:center}
.form-success-icon svg{stroke:var(--g)}

/* 診斷流程卡片 */
.diagnose-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ln);border-radius:var(--rl);overflow:hidden;margin-top:52px}
.diagnose-card{background:var(--d1);padding:36px 28px;transition:background .2s;position:relative}
.diagnose-card:hover{background-color:var(--d2)}
.diagnose-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--g),transparent);opacity:0;transition:opacity .3s}
.diagnose-card:hover::before{opacity:1}
.diagnose-num{font-size:.68rem;font-weight:700;color:var(--gd);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
.diagnose-title{font-size:.96rem;font-weight:700;color:var(--t1);margin-bottom:10px}
.diagnose-desc{font-size:.83rem;color:var(--t2);line-height:1.8}

/* 響應式 */
@media(max-width:1100px){
  .service-detail-inner{grid-template-columns:1fr;gap:0}
  .service-detail-inner > *{padding:40px 32px}
  .case-results{grid-template-columns:repeat(3,1fr)}
  .process-steps{grid-template-columns:repeat(3,1fr)}
  .contact-layout{grid-template-columns:1fr}
  .diagnose-cards{grid-template-columns:1fr}
  .platform-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .case-full-body{padding:12px 14px 14px}
  .case-full-top .case-results{grid-template-columns:1fr}
  .case-full-top .case-result-item{
    flex-direction:row;justify-content:space-between;
    border-right:none;border-bottom:1px solid var(--ln);text-align:left;
  }
  .case-full-top .case-result-item:last-child{border-bottom:none}
  .case-full-top .case-result-label{text-align:right}
  .case-results{grid-template-columns:1fr}
  .case-result-item{border-right:none;border-bottom:1px solid var(--ln);text-align:left;padding:16px 18px}
  .case-result-item:last-child{border-bottom:none}
  .process-steps{grid-template-columns:1fr}
  .contact-info-card,.contact-form-card{padding:36px 28px}
}

/* ── Contact 頁額外 CSS ────────────────────────────── */
.service-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 22px}
@media(max-width:900px){.service-selector{grid-template-columns:repeat(2,1fr)}}
.service-option{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--d2);border:1px solid var(--ln);border-radius:7px;font-size:.82rem;color:var(--t2);cursor:pointer;transition:all .18s;font-family:var(--font);width:100%;min-height:44px}
.service-option:hover{border-color:var(--ln2);color:var(--t1);background:var(--d3)}
.service-option.selected{border-color:var(--g);background:var(--g10);color:var(--g)}
.service-option-icon{display:flex;align-items:center;justify-content:center;color:var(--g);opacity:.85;flex-shrink:0}
.service-option-label{font-weight:500;line-height:1.3}
.form-step-title{font-size:.72rem;font-weight:700;color:var(--g);letter-spacing:.12em;text-transform:uppercase;margin:18px 0 10px}
.form-step-title:first-of-type{margin-top:0}
.form-progress{display:flex;align-items:center;gap:0;margin:16px 0 24px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-bottom:4px}
.form-grid .form-group.full{grid-column:1/-1}
.form-select,.form-input,.form-textarea{
  width:100%;background:rgba(255,255,255,.04);border:1px solid var(--ln);
  border-radius:7px;color:var(--t1);padding:12px 14px;font-size:.87rem;
  font-family:var(--font);transition:border-color .2s,box-shadow .2s;
}
.form-select{
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23c8a020' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer;
}
.form-select option,.form-input option{background:var(--d2);color:var(--t1)}
.form-select optgroup{font-weight:700;color:var(--text-mid);font-size:.82rem}
.form-input::placeholder,.form-textarea::placeholder{color:var(--t3)}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--g20);box-shadow:0 0 0 3px var(--g10)}
.form-textarea{resize:vertical;min-height:120px;line-height:1.65}
.form-label{display:block;font-size:.74rem;font-weight:600;color:var(--t2);margin-bottom:6px}
.form-label span{color:var(--g)}
.contact-divider{border:none;height:1px;background:var(--ln);margin:24px 0}
.form-progress-step{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--ln);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:var(--t3);flex-shrink:0;transition:all .2s}
.form-progress-step.active{border-color:var(--g);background:var(--g10);color:var(--g)}
.form-progress-line{flex:1;height:1px;background:var(--ln)}
.contact-form-note{font-size:.74rem;color:var(--t3);margin-top:14px;line-height:1.6;text-align:center}
.form-success-inner{text-align:center;padding:40px 20px}
.form-success-inner h3{font-size:1.1rem;font-weight:700;color:var(--t1);margin:16px 0 8px}
.form-success-inner p{font-size:.86rem;color:var(--t2);line-height:1.7}

/* ── 分类导航下拉 ─────────────────────────────────────────── */
.nav-item{position:relative}
.nav-item.has-dropdown>.nav-link{display:flex;align-items:center;gap:4px}
.nav-caret{
  display:inline-block;width:0;height:0;margin-top:2px;
  border-left:4px solid transparent;border-right:4px solid transparent;
  border-top:4px solid var(--t3);transition:transform .2s;
}
.nav-item:hover .nav-caret,.nav-item.open .nav-caret{transform:rotate(180deg);border-top-color:var(--g)}
.nav-dropdown{
  position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(6px);
  min-width:200px;background:rgba(253,250,245,.98);border:1px solid var(--ln2);
  border-radius:10px;padding:8px 0;opacity:0;visibility:hidden;
  transition:all .2s var(--ease);box-shadow:0 24px 64px rgba(0,0,0,.65);z-index:1100;
}
.nav-item:hover>.nav-dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav-dropdown--mega .nav-dropdown-mega{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;min-width:620px;padding:8px 4px;
}
.nav-dropdown-col{padding:8px 12px;border-right:1px solid var(--ln)}
.nav-dropdown-col:last-child{border-right:none}
.nav-dropdown-label{
  font-size:.68rem;font-weight:700;color:var(--g);letter-spacing:.12em;
  text-transform:uppercase;padding:6px 10px 10px;
}
.nav-dropdown-link{
  display:block;padding:9px 10px;border-radius:6px;text-decoration:none;
  transition:background .15s;color:var(--t2);font-size:.8rem;line-height:1.45;
}
.nav-dropdown-link:hover{background:var(--g10);color:var(--t1)}
.nav-dropdown-link strong{display:block;font-size:.84rem;font-weight:700;color:var(--t1);margin-bottom:2px}
.nav-dropdown-link span{font-size:.74rem;color:var(--t3)}
.nav-dropdown-link--solo strong{color:var(--g)}
.nav-dropdown-divider{height:1px;background:var(--ln);margin:6px 12px}

/* ── 客户标签条 ───────────────────────────────────────────── */
.clients-strip{
  padding:36px 0;background-color:var(--d2);background-image:none;
  border-top:1px solid var(--ln);border-bottom:1px solid var(--ln);
}
.clients-strip-inner{
  display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;
  padding:28px 36px;background-color:var(--d1);background-image:none;border:1px solid var(--ln);
  border-radius:var(--rl);
}
.clients-strip-label{font-size:.68rem;font-weight:700;color:var(--g);letter-spacing:.16em;text-transform:uppercase}
.clients-strip-title{font-size:1.05rem;font-weight:800;color:var(--t1);margin-top:6px;letter-spacing:-.02em}
.clients-tags{display:flex;flex-wrap:wrap;gap:10px;flex:1;justify-content:flex-end}
.clients-tag{
  padding:8px 16px;border-radius:6px;font-size:.76rem;font-weight:600;
  border:1px solid var(--ln);color:var(--t2);background:var(--d2);
  transition:all .2s;cursor:default;
}
.clients-tag:hover{border-color:var(--ln2);color:var(--g);background:var(--g10);transform:translateY(-1px)}

/* ── 三层全链路服务 ─────────────────────────────────────────── */
.sec--tiers{border-top:1px solid var(--ln)}
.sec--tiers .tc{margin-bottom:4px}
.service-tier-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background-color:var(--d3);border-radius:var(--rl);overflow:hidden;
  border:1px solid var(--ln);box-shadow:0 20px 60px rgba(0,0,0,.3);
}
.service-tier-card{
  background-color:var(--d1);background-image:none;
  padding:36px 32px 32px;position:relative;
  transition:background-color .25s,transform .25s;
  display:flex;flex-direction:column;min-height:260px;
}
.service-tier-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--g),transparent);
  opacity:0;transition:opacity .3s;
}
.service-tier-card:hover{background-color:var(--d2);transform:translateY(-2px)}
.service-tier-card:hover::before{opacity:1}
.service-tier-num{font-size:.68rem;font-weight:800;color:var(--gd);letter-spacing:.18em;margin-bottom:16px}
.service-tier-title{font-size:1.12rem;font-weight:800;color:var(--t1);margin-bottom:12px;letter-spacing:-.02em;line-height:1.35}
.service-tier-title em{font-style:normal;color:var(--g)}
.service-tier-desc{font-size:.84rem;color:var(--t2);line-height:1.85;margin-bottom:20px;flex:1}
.service-tier-links{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:16px;border-top:1px solid var(--ln)}
.service-tier-links a{
  font-size:.78rem;color:var(--g);font-weight:600;
  display:inline-flex;align-items:center;gap:4px;transition:gap .15s;
}
.service-tier-links a:hover{gap:8px}

/* ── 首页案例筛选 ───────────────────────────────────────────── */
.case-filter-bar{
  display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;
  padding:12px 14px;background-color:var(--d1);
  border:1px solid var(--ln);border-radius:var(--r);
}
.case-filter-bar .filter-btn{border-radius:6px}

/* ── 客户评价 ───────────────────────────────────────────────── */
.testimonials-sec{padding:100px 0;background:transparent}
.testimonials-track{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px;
}
.testi-card{
  background:var(--d1);border:1px solid var(--ln);border-radius:var(--rl);
  padding:32px 28px;transition:all .25s;position:relative;
  display:flex;flex-direction:column;min-height:220px;
}
.testi-card::before{
  content:'"';position:absolute;top:16px;right:20px;font-size:3.5rem;
  color:var(--g);opacity:.1;font-family:Georgia,serif;line-height:1;
}
.testi-card:hover{border-color:var(--ln2);transform:translateY(-3px);box-shadow:0 16px 48px rgba(0,0,0,.35)}
.testi-stars{color:var(--g);font-size:.8rem;letter-spacing:3px;margin-bottom:14px}
.testi-text{font-size:.86rem;color:var(--t2);line-height:1.9;margin-bottom:auto;padding-bottom:24px}
.testi-author{font-size:.86rem;font-weight:700;color:var(--t1);padding-top:16px;border-top:1px solid var(--ln)}
.testi-role{font-size:.74rem;color:var(--t3);margin-top:4px}

/* ══ 内容面板：纯色底承载文字，禁止叠加金色电路纹路 ══
   （底纹仅由 body::before 提供，面板之间空白处可见） ══ */
.bento-card,
.service-tier-card,
.why-item,
.step,
.process-step,
.industry-item,
.case-feature,
.case-feature-text,
.case-full-card,
.case-full-body,
.case-full-top,
.case-block,
.case-solution,
.case-solution-label,
.case-solution-text,
.case-result-item,
.case-card,
.news-card,
.news-featured-card,
.news-featured-body,
.news-announce-bar,
.testi-card,
.team-card,
.mission-card,
.cert-item,
.faq-item,
.diagnose-card,
.news-item,
.news-sidebar-card,
.platform-item,
.industry-logo-item,
.service-detail-inner > *,
.contact-info-card,
.contact-form-card,
.about-stats-card,
.service-option,
.svc-metric-card,
.svc-card-body,
.service-visual-card,
.clients-tag,
.clients-strip-inner,
.case-filter-bar,
.contact-wechat-box,
.comparison-table th,
.comparison-table td,
.num-block,
.custom-elements-root,
.tc,
.sec-head-row,
.ticker-wrap,
.clients-strip,
.footer,
.navbar.scrolled,
.navbar.light-nav,
.navbar:not(.transparent),
.filter-bar,
article,
.main-content,
.news-section-head{
  background-image:none;
}

@media(max-width:960px){
  .nav-inner{padding:0 20px}
  .nav-menu{
    display:none;position:fixed;top:var(--nav);left:0;right:0;bottom:0;
    background:rgba(247,243,235,.98);flex-direction:column;align-items:stretch;
    gap:0;padding:12px 20px 28px;backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);z-index:1001;
    overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
  .nav-menu.open{display:flex}
  .nav-menu>li{width:100%;border-bottom:1px solid var(--ln)}
  .nav-link{padding:14px 0;font-size:.96rem;color:var(--t1)}
  .nav-cta{margin:16px 0 0;width:100%;text-align:center;display:block;box-sizing:border-box}
  .nav-hamburger{display:flex;position:relative;z-index:1002;flex-shrink:0}
  .nav-item:hover>.nav-dropdown{
    opacity:0;visibility:hidden;display:none;transform:none;
  }
  .nav-item.has-dropdown>.nav-dropdown{
    position:static;transform:none!important;opacity:1;visibility:visible;
    display:none;min-width:0;width:100%;box-shadow:none;border:none;
    background:transparent;padding:0 0 8px 12px;z-index:auto;
  }
  .nav-item.has-dropdown.open>.nav-dropdown{display:block}
  .nav-dropdown--mega .nav-dropdown-mega{grid-template-columns:1fr;min-width:0;padding:0}
  .nav-dropdown-col{border-right:none;border-bottom:1px solid var(--ln);padding-bottom:8px}
  .nav-dropdown-col:last-child{border-bottom:none}
  .nav-dropdown-link{padding:10px 8px}
  body.nav-open{overflow:hidden;touch-action:none}
  .service-tier-grid{grid-template-columns:1fr}
  .testimonials-track{grid-template-columns:1fr}
  .clients-strip-inner{flex-direction:column;align-items:flex-start}
  .clients-tags{justify-content:flex-start}
}
@media(max-width:1100px) and (min-width:961px){
  .nav-dropdown--mega .nav-dropdown-mega{min-width:520px}
}

/* ── index.html（git 版结构）兼容层 ───────────────────────────── */
.hero-content{
  position:relative;z-index:2;width:100%;max-width:920px;margin:0 auto;
  padding:0 24px;text-align:center;
}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.72rem;font-weight:600;color:var(--t2);
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:28px;
  animation:hero-title-rise 0.8s cubic-bezier(.22,1,.36,1) both;
}
.hero-title{
  font-size:clamp(2.4rem,6vw,4.6rem);font-weight:900;color:var(--t1);
  line-height:1.08;letter-spacing:-.04em;margin-bottom:20px;
}
/* 旧版单行标题（非 display 结构时兜底） */
.hero-title:not(.hero-title--display) [data-c]{
  display:inline-block;
  animation:hero-title-rise 0.9s cubic-bezier(.22,1,.36,1) both;
}
.hero-title:not(.hero-title--display) [data-c="hero.title1"]{animation-delay:.08s}
.hero-title:not(.hero-title--display) [data-c="hero.title2"]{
  background:linear-gradient(135deg,var(--gd) 0%,var(--g) 32%,var(--gl) 62%,var(--gll) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;background-size:300% auto;
  animation:hero-title-rise 0.9s cubic-bezier(.22,1,.36,1) .22s both,hero-title-shimmer 5.5s linear 1.1s infinite;
}
.hero-title:not(.hero-title--display) [data-c="hero.title3"]{
  background:linear-gradient(135deg,var(--gd) 0%,var(--g) 32%,var(--gl) 62%,var(--gll) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;background-size:300% auto;
  animation:hero-title-rise 0.9s cubic-bezier(.22,1,.36,1) .38s both,hero-title-shimmer 5.5s linear 1.25s infinite;
}
.hero-title--display{margin-bottom:24px}
@keyframes hero-title-rise{
  from{opacity:0;transform:translateY(32px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes hero-title-shimmer{
  0%{background-position:0% center}
  100%{background-position:300% center}
}
.hero-title-en{
  font-size:.82rem;color:var(--t2);letter-spacing:.14em;margin-bottom:24px;font-weight:500;
  animation:hero-title-rise 0.9s cubic-bezier(.22,1,.36,1) .52s both;
}
.hero-desc{animation:hero-title-rise 0.9s cubic-bezier(.22,1,.36,1) .62s both}
.hero-actions{
  display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:56px;
  animation:hero-title-rise 0.9s cubic-bezier(.22,1,.36,1) .72s both;
}
.hero-stats{animation:hero-title-rise 0.9s cubic-bezier(.22,1,.36,1) .82s both}
@media(prefers-reduced-motion:reduce){
  .hero-title [data-c],.hero-badge,.hero-title-en,.hero-desc,.hero-actions,.hero-stats{
    animation:none!important;opacity:1!important;transform:none!important;
  }
  .hero-title [data-c="hero.title2"],.hero-title [data-c="hero.title3"]{
    -webkit-text-fill-color:var(--g);color:var(--g);
  }
}
.hero-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  max-width:640px;margin:0 auto;border-top:1px solid var(--ln);padding-top:32px;
}
.hero-stats > div{padding:0 16px;border-right:1px solid var(--ln)}
.hero-stats > div:last-child{border-right:none}
.hero-stat-num{font-size:1.6rem;font-weight:900;color:var(--g);letter-spacing:-.03em}
.hero-stat-label{font-size:.68rem;color:var(--t2);margin-top:4px;font-weight:500}

/* 企业风 SVG 图标（替代 emoji） */
.ui-icon{width:20px;height:20px;stroke:var(--g);fill:none;stroke-width:1.6;flex-shrink:0}
.service-icon,.value-card-icon,.client-card-icon{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:10px;
  background:var(--g10);border:1px solid var(--ln);
  margin-bottom:12px;color:var(--g);
}
.hero-card-icon{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:9px;
  background:var(--g10);border:1px solid var(--ln);
  margin-bottom:10px;color:var(--g);
}
.hero-card-icon .ui-icon{width:18px;height:18px}
.icon-mark{font-size:.62rem;font-weight:800;color:var(--g);letter-spacing:.08em;line-height:1}

/* Hero 右侧浮动卡片（默认隐藏，大屏显示） */
.hero-visual{display:none}
@media(min-width:1100px){
  .hero-visual{
    display:block;position:absolute;right:4%;top:50%;
    transform:translateY(-46%);z-index:3;
    width:min(360px,34vw);pointer-events:none;
  }
  .hero-card-group{position:relative;height:400px}
  .hero-card{
    position:absolute;background:rgba(253,250,245,.92);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    border:1px solid var(--ln);border-radius:var(--rl);
    padding:18px 20px;box-shadow:0 12px 40px rgba(38,46,72,.08);
    animation:card-float 6s ease-in-out infinite;
  }
  .hero-card--main{top:0;left:0;width:180px;animation-delay:0s}
  .hero-card--geo{top:48px;right:0;width:150px;animation-delay:-1.5s}
  .hero-card--seo{bottom:80px;left:20px;width:150px;animation-delay:-3s}
  .hero-card--orm{bottom:0;right:24px;width:150px;animation-delay:-4.5s}
  .hero-card-title{font-size:.72rem;font-weight:800;color:var(--t1);letter-spacing:.06em;margin-bottom:4px}
  .hero-card-num{font-size:1.8rem;font-weight:900;color:var(--g);letter-spacing:-.03em;line-height:1.1}
  .hero-card-desc{font-size:.68rem;color:var(--t2);line-height:1.55;margin-top:4px}
}
@keyframes card-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}

.value-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px;
}
.value-card{
  display:flex;gap:16px;align-items:flex-start;
  background:var(--d1);border:1px solid var(--ln);border-radius:var(--rl);
  padding:28px 24px;transition:border-color .25s,transform .25s;
}
.value-card:hover{border-color:rgba(91,115,183,.35);transform:translateY(-2px)}
.value-card-icon{flex-shrink:0;margin-bottom:0}
.value-card-title{font-size:.95rem;font-weight:800;color:var(--t1);margin-bottom:8px}
.value-card-desc{font-size:.82rem;color:var(--t2);line-height:1.75}

.clients-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px;
}
.client-card{
  background:var(--d2);border:1px solid var(--ln);border-radius:var(--rl);
  padding:36px 28px;transition:border-color .25s,transform .25s;
}
.client-card:hover{border-color:rgba(91,115,183,.35);transform:translateY(-3px)}
.client-card-title{font-size:1.05rem;font-weight:800;color:var(--t1);margin-bottom:4px}
.client-card-sub{font-size:.72rem;color:var(--g);font-weight:600;margin-bottom:12px;letter-spacing:.04em}
.client-card-desc{font-size:.84rem;color:var(--t2);line-height:1.8}

.footer-social a svg,.footer-social-link svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5}
.toast-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--g10);color:var(--g);font-size:.7rem;font-weight:800}

.section{padding:88px 0}
.section--dark{background:var(--d2)}
.text-center{text-align:center}
.section-badge{
  display:inline-block;font-size:.68rem;font-weight:700;color:var(--g);
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;
}
.section-sub{font-size:.95rem;color:var(--t2);max-width:560px;margin:0 auto;line-height:1.85}
.services-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px;
}
.service-card{
  background:var(--d2);border:1px solid var(--ln);border-radius:var(--rl);
  padding:36px 28px;transition:border-color .25s,transform .25s;
}
.service-card:hover{border-color:rgba(91,115,183,.35);transform:translateY(-3px)}
.service-icon{font-size:1.8rem;margin-bottom:12px}
.service-tag{
  display:inline-block;font-size:.65rem;font-weight:800;color:var(--g);
  letter-spacing:.12em;margin-bottom:10px;
}
.service-title{font-size:1.05rem;font-weight:800;color:var(--t1);margin-bottom:12px}
.service-desc{font-size:.84rem;color:var(--t2);line-height:1.8;margin-bottom:16px}
.service-features{list-style:none;padding:0;margin:0 0 20px}
.service-feature{
  font-size:.78rem;color:var(--t2);padding:6px 0 6px 16px;position:relative;
}
.service-feature::before{content:'';position:absolute;left:0;top:50%;width:5px;height:5px;border-radius:50%;background:var(--g);transform:translateY(-50%)}
.service-link{font-size:.82rem;font-weight:600;color:var(--g);text-decoration:none}
.service-link:hover{text-decoration:underline}

.stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--ln);border-radius:var(--rl);overflow:hidden;margin-top:48px;
}
.stat-item{background:var(--d1);padding:36px 24px;text-align:center}
.stat-num{font-size:2.4rem;font-weight:900;color:var(--g);letter-spacing:-.03em}
.stat-unit{font-size:1.2rem}
.stat-label{font-size:.78rem;color:var(--t2);margin-top:8px}

@media(max-width:768px){
  .services-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .clients-grid{grid-template-columns:1fr}
  .value-grid{grid-template-columns:1fr}
  .contact-wechat-grid{grid-template-columns:1fr}
  .hero-stats{grid-template-columns:1fr 1fr}
  .hero-stats>div{border-right:none;border-bottom:1px solid var(--ln);padding-bottom:16px;margin-bottom:8px}
  .service-card,.client-card{padding:28px 22px}
  .back-top{bottom:20px;right:16px;width:36px;height:36px}
}

/* ── 全站色彩增强 ─────────────────────────────────────────────── */
.section--dark{
  background:linear-gradient(180deg,rgba(91,115,183,.07) 0%,rgba(240,235,227,.55) 50%,rgba(107,91,183,.04) 100%);
}
.section--gray{
  background:linear-gradient(180deg,rgba(253,250,245,.4) 0%,rgba(196,146,90,.05) 50%,rgba(61,143,168,.04) 100%);
}
.section-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 14px;border-radius:40px;
  background:var(--g10);border:1px solid rgba(91,115,183,.22);
  box-shadow:0 2px 12px rgba(91,115,183,.08);
}
.section-badge::before{
  content:'';width:5px;height:5px;border-radius:50%;
  background:var(--grad-brand);flex-shrink:0;
}
.section-title{
  background:linear-gradient(135deg,var(--t1) 40%,var(--gd) 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* ── Hero 主标题 · 艺术字排版 ─────────────────────────────────── */
.hero-title--display{
  margin-bottom:24px;padding:0;
}
.hero-title-inner{
  display:flex;flex-direction:column;align-items:center;gap:0;
}
.hero-title-row{display:block;line-height:1;position:relative;width:100%}
.hero-title-glyph{
  display:inline-block;
  animation:hero-title-rise 1s cubic-bezier(.22,1,.36,1) both;
}
.hero-title-row--lead{margin-bottom:10px}
.hero-title-row--lead .hero-title-glyph{
  font-family:'Noto Serif SC','Songti SC','STSong',serif;
  font-size:clamp(1.85rem,4.2vw,3rem);
  font-weight:900;
  letter-spacing:.32em;
  text-indent:.32em;
  color:var(--t1);
  animation-delay:.06s;
}
.hero-title-row--core{
  margin:6px 0 14px;padding:0 clamp(12px,5vw,48px);
}
.hero-title-row--core::before,
.hero-title-row--core::after{
  content:'';position:absolute;top:54%;width:clamp(28px,9vw,88px);height:1px;
  background:linear-gradient(90deg,transparent,rgba(91,115,183,.55),transparent);
  opacity:.85;
}
.hero-title-row--core::before{right:100%;margin-right:clamp(10px,2.5vw,20px)}
.hero-title-row--core::after{left:100%;margin-left:clamp(10px,2.5vw,20px)}
.hero-title-row--core .hero-title-glyph--hero{
  font-size:clamp(3rem,8.5vw,5.8rem);
  font-weight:900;
  letter-spacing:.06em;
  line-height:1.02;
  background:linear-gradient(125deg,#3D4F82 0%,#5B73B7 22%,#8FA8E8 48%,#5B73B7 72%,#7390D4 100%);
  background-size:220% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  filter:drop-shadow(0 6px 28px rgba(91,115,183,.22));
  animation:hero-title-rise 1s cubic-bezier(.22,1,.36,1) .2s both,hero-title-shimmer 6s linear 1.2s infinite;
}
.hero-title-row--finale .hero-title-glyph--wide{
  font-family:'Noto Serif SC','Songti SC','STSong',serif;
  font-size:clamp(2rem,5vw,3.6rem);
  font-weight:700;
  letter-spacing:.48em;
  text-indent:.48em;
  background:linear-gradient(135deg,var(--gd) 0%,var(--g) 45%,var(--seo-l) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  animation-delay:.36s;
}
.hero-title-rule{
  display:block;width:72px;height:3px;margin:22px auto 0;border-radius:999px;
  background:linear-gradient(90deg,var(--geo),var(--seo-l),var(--orm-l));
  box-shadow:0 2px 16px rgba(91,115,183,.28);
  animation:hero-title-rise 0.9s cubic-bezier(.22,1,.36,1) .48s both;
}
@media(max-width:640px){
  .hero-title-row--lead .hero-title-glyph{letter-spacing:.18em;text-indent:.18em}
  .hero-title-row--finale .hero-title-glyph--wide{letter-spacing:.28em;text-indent:.28em}
  .hero-title-row--core::before,.hero-title-row--core::after{width:20px}
}
@media(prefers-reduced-motion:reduce){
  .hero-title-glyph,.hero-title-rule{animation:none!important;opacity:1!important;transform:none!important}
  .hero-title-row--core .hero-title-glyph--hero{-webkit-text-fill-color:var(--g)}
  .hero-title-row--finale .hero-title-glyph--wide{-webkit-text-fill-color:var(--gd)}
}

.hero-badge{
  background:rgba(91,115,183,.08);border:1px solid rgba(91,115,183,.18);
  padding:6px 14px;border-radius:40px;color:var(--gd);
  box-shadow:0 2px 14px rgba(91,115,183,.1);
}
.hero-stat-num{
  background:var(--grad-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.stat-num{
  background:var(--grad-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.stat-item:nth-child(2) .stat-num{background:linear-gradient(135deg,var(--seo),var(--seo-l));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat-item:nth-child(3) .stat-num{background:linear-gradient(135deg,var(--orm),var(--orm-l));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat-item:nth-child(4) .stat-num{background:linear-gradient(135deg,var(--accent-warm),#D4A574);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

.service-card{
  position:relative;overflow:hidden;background:var(--d1);
  box-shadow:0 4px 24px rgba(38,46,72,.04);
}
.service-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--grad-brand);opacity:.85;
}
.service-card--geo::before{background:linear-gradient(90deg,var(--geo),var(--geo-l))}
.service-card--seo::before{background:linear-gradient(90deg,var(--seo),var(--seo-l))}
.service-card--orm::before{background:linear-gradient(90deg,var(--orm),var(--orm-l))}
.service-card--geo .service-icon{background:var(--geo-bg);border-color:rgba(91,115,183,.25);color:var(--geo)}
.service-card--geo .service-icon .ui-icon{stroke:var(--geo)}
.service-card--seo .service-icon{background:var(--seo-bg);border-color:rgba(107,91,183,.22);color:var(--seo)}
.service-card--seo .service-icon .ui-icon{stroke:var(--seo)}
.service-card--orm .service-icon{background:var(--orm-bg);border-color:rgba(61,143,168,.22);color:var(--orm)}
.service-card--orm .service-icon .ui-icon{stroke:var(--orm)}
.service-card--geo .service-tag{color:var(--geo);background:var(--geo-bg)}
.service-card--seo .service-tag{color:var(--seo);background:var(--seo-bg);padding:2px 8px;border-radius:4px}
.service-card--orm .service-tag{color:var(--orm);background:var(--orm-bg);padding:2px 8px;border-radius:4px}
.service-card--geo .service-feature::before{background:var(--geo)}
.service-card--seo .service-feature::before{background:var(--seo)}
.service-card--orm .service-feature::before{background:var(--orm)}
.service-card:hover{box-shadow:0 16px 48px rgba(91,115,183,.12)}

.value-card{
  background:linear-gradient(135deg,var(--d1) 0%,rgba(253,250,245,.95) 100%);
  border-left:3px solid transparent;
}
.value-card:nth-child(1){border-left-color:var(--geo)}
.value-card:nth-child(2){border-left-color:var(--seo)}
.value-card:nth-child(3){border-left-color:var(--orm)}
.value-card:nth-child(4){border-left-color:var(--accent-warm)}
.value-card:nth-child(1) .value-card-icon{background:var(--geo-bg);color:var(--geo);border-color:rgba(91,115,183,.22)}
.value-card:nth-child(2) .value-card-icon{background:var(--seo-bg);color:var(--seo);border-color:rgba(107,91,183,.2)}
.value-card:nth-child(3) .value-card-icon{background:var(--orm-bg);color:var(--orm);border-color:rgba(61,143,168,.2)}
.value-card:nth-child(4) .value-card-icon{background:var(--accent-warm-bg);color:var(--accent-warm);border-color:rgba(196,146,90,.25)}

.client-card:nth-child(1){background:linear-gradient(160deg,var(--d1) 0%,var(--geo-bg) 100%)}
.client-card:nth-child(2){background:linear-gradient(160deg,var(--d1) 0%,var(--seo-bg) 100%)}
.client-card:nth-child(3){background:linear-gradient(160deg,var(--d1) 0%,var(--orm-bg) 100%)}
.client-card:nth-child(1) .client-card-sub{color:var(--geo)}
.client-card:nth-child(2) .client-card-sub{color:var(--seo)}
.client-card:nth-child(3) .client-card-sub{color:var(--orm)}

.process-step:nth-child(1) .process-step-num{background:linear-gradient(135deg,var(--geo),var(--geo-l));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.7}
.process-step:nth-child(2) .process-step-num{background:linear-gradient(135deg,var(--seo),var(--seo-l));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.7}
.process-step:nth-child(3) .process-step-num{background:linear-gradient(135deg,var(--orm),var(--orm-l));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.7}

.cta-banner::after{
  background:linear-gradient(135deg,rgba(74,95,154,.72) 0%,rgba(91,115,183,.58) 40%,rgba(61,143,168,.52) 100%);
}
.cta-banner-title{
  background:linear-gradient(135deg,#fff 0%,#E8EEFF 60%,#fff 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}

.footer{
  background:linear-gradient(180deg,rgba(91,115,183,.04) 0%,var(--black) 28%);
  border-top:1px solid rgba(91,115,183,.18);
}
.footer-social-link:hover{background:var(--geo-bg);border-color:rgba(91,115,183,.35);color:var(--geo)}

.hero-card--geo{border-top:2px solid var(--geo-l)}
.hero-card--seo{border-top:2px solid var(--seo-l)}
.hero-card--orm{border-top:2px solid var(--orm-l)}
.hero-card--main{border-top:2px solid var(--accent-warm)}
.hero-card--main .hero-card-num{color:var(--geo)}
.hero-card--geo .hero-card-icon{background:var(--geo-bg);color:var(--geo)}
.hero-card--seo .hero-card-icon{background:var(--seo-bg);color:var(--seo)}
.hero-card--orm .hero-card-icon{background:var(--orm-bg);color:var(--orm)}

.news-card:hover{border-color:rgba(91,115,183,.35);box-shadow:0 12px 40px rgba(91,115,183,.1)}
.news-card-category,.news-cat-tag{background:var(--geo-bg)!important;color:var(--geo)!important}

.page-hero::after{
  background:linear-gradient(135deg,rgba(247,243,235,.75) 0%,rgba(91,115,183,.08) 45%,rgba(61,143,168,.06) 100%);
}
.sec-label,.page-hero-label,.page-hero-tag{
  background:linear-gradient(135deg,var(--geo-bg),var(--seo-bg));
  border-color:rgba(91,115,183,.25);
}

@media(max-width:768px){
  .section-title{-webkit-text-fill-color:var(--t1);color:var(--t1);background:none}
  .hero-title--display .hero-title-row--core .hero-title-glyph--hero{font-size:clamp(2.4rem,11vw,3.4rem)}
  .cta-banner-title{-webkit-text-fill-color:#fff;color:#fff;background:none}
}

/* ── Hero v38 · 大气分栏 + 逐字动效 ───────────────────────────── */
.hero{
  align-items:stretch;justify-content:flex-start;text-align:left;
  padding:calc(var(--nav) + 48px) 0 72px;
}
.hero::after{
  background:
    radial-gradient(ellipse 90% 70% at 18% 42%,rgba(91,115,183,.12) 0%,transparent 55%),
    radial-gradient(ellipse 55% 50% at 88% 58%,rgba(61,143,168,.1) 0%,transparent 50%),
    linear-gradient(180deg,rgba(253,250,245,.06) 0%,rgba(253,250,245,.02) 40%,rgba(38,46,72,.04) 100%);
}
.hero-badge-dot{
  width:6px;height:6px;border-radius:50%;background:var(--g);flex-shrink:0;
  box-shadow:0 0 10px rgba(91,115,183,.45);animation:pulse 2.5s infinite;
}
.hero-shell{
  position:relative;z-index:3;width:100%;max-width:1280px;margin:0 auto;
  padding:0 clamp(24px,4vw,56px);
  display:flex;flex-direction:column;align-items:center;gap:48px;
  min-height:calc(100vh - var(--nav) - 96px);
  justify-content:center;
}
@media(min-width:1100px){
  .hero-shell{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) min(360px,32%);
    gap:clamp(40px,5vw,80px);
    align-items:center;
  }
}
.hero-content{
  max-width:none;margin:0;padding:0;text-align:center;
}
@media(min-width:1100px){
  .hero-content{text-align:left;padding-right:8px}
  .hero-title-inner{align-items:flex-start}
  .hero-title-row--core{padding-left:0;padding-right:0}
  .hero-title-row--core::before{width:clamp(32px,4vw,64px);right:100%;margin-right:16px}
  .hero-title-row--core::after{display:none}
  .hero-title-rule{margin:24px 0 0}
  .hero-title-en{text-align:left}
  .hero-desc{max-width:560px;margin-left:0;margin-right:0;text-align:left;line-height:1.85}
  .hero-actions{justify-content:flex-start}
  .hero-stats{max-width:none;margin:0;grid-template-columns:repeat(4,1fr);
    background:rgba(253,250,245,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    border:1px solid rgba(91,115,183,.14);border-radius:16px;padding:28px 8px 24px;
    box-shadow:0 20px 60px rgba(38,46,72,.06);
  }
}

/* 逐字动效 */
@keyframes hero-char-rise{
  from{opacity:0;transform:translateY(calc(52px + var(--char-y,0px))) scale(.86) rotate(calc(var(--char-r,0deg) - 10deg));filter:blur(10px)}
  to{opacity:1;transform:translateY(var(--char-y,0px)) scale(1) rotate(var(--char-r,0deg));filter:blur(0)}
}
@keyframes hero-char-float{
  0%,100%{transform:translateY(var(--char-y,0px)) rotate(var(--char-r,0deg))}
  50%{transform:translateY(calc(var(--char-y,0px) - 6px)) rotate(var(--char-r,0deg))}
}
@keyframes hero-char-glow{
  0%,100%{text-shadow:0 0 0 transparent}
  50%{text-shadow:0 6px 28px rgba(91,115,183,.35)}
}
@keyframes hero-char-shimmer{
  0%{background-position:0% center}
  100%{background-position:300% center}
}
.hero-title-glyph--animated{
  animation:none!important;letter-spacing:0!important;text-indent:0!important;
  -webkit-text-fill-color:unset;color:inherit;background:none!important;
  background-clip:border-box!important;-webkit-background-clip:border-box!important;
  filter:none!important;
}
.hero-title-glyph--animated .hero-char{
  display:inline-block;opacity:1;
  animation:hero-char-rise .85s cubic-bezier(.22,1,.36,1) both;
  animation-delay:calc(.04s + var(--i) * .065s);
  will-change:transform,opacity;
}
.hero-title-row--lead .hero-title-glyph--animated .hero-char{
  font-family:inherit;font-size:inherit;font-weight:inherit;
  color:var(--t1)!important;-webkit-text-fill-color:var(--t1)!important;
  margin-right:.28em;
  animation:hero-char-rise .85s cubic-bezier(.22,1,.36,1) both,
             hero-char-float 3.8s ease-in-out calc(.7s + var(--i) * .065s) infinite,
             hero-char-glow 4.2s ease-in-out calc(.9s + var(--i) * .08s) infinite;
  animation-delay:calc(.04s + var(--i) * .065s),calc(.7s + var(--i) * .065s),calc(.9s + var(--i) * .08s);
}
.hero-title-row--lead .hero-title-glyph--animated .hero-char:last-child{margin-right:0}
.hero-title-row--lead .hero-title-glyph--animated{
  font-family:'Noto Serif SC','Songti SC','STSong',serif;
  font-size:clamp(2rem,4.8vw,3.4rem);
  font-weight:900;
}
.hero-title-row--core .hero-title-glyph--animated .hero-char{
  margin-right:.04em;
  font-size:clamp(3.2rem,9vw,6.4rem);
  font-weight:900;line-height:1.02;
  color:var(--g);
  background:linear-gradient(125deg,#3D4F82 0%,#5B73B7 22%,#8FA8E8 48%,#5B73B7 72%,#7390D4 100%);
  background-size:280% auto;
  -webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;
  filter:drop-shadow(0 8px 32px rgba(91,115,183,.24));
  animation:hero-char-rise .9s cubic-bezier(.22,1,.36,1) both,
             hero-char-shimmer 5.5s linear calc(1s + var(--i) * .08s) infinite,
             hero-char-float 4.5s ease-in-out calc(1.2s + var(--i) * .06s) infinite;
}
.hero-title-row--finale .hero-title-glyph--animated{
  font-family:'Noto Serif SC','Songti SC','STSong',serif;
  font-size:clamp(2.2rem,5.5vw,4rem);
  font-weight:700;
}
.hero-title-row--finale .hero-title-glyph--animated .hero-char{
  margin-right:.38em;
  background:linear-gradient(135deg,var(--gd) 0%,var(--g) 45%,var(--seo-l) 100%);
  background-size:240% auto;
  -webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;
  animation:hero-char-rise .88s cubic-bezier(.22,1,.36,1) both,
             hero-char-shimmer 6s linear calc(1.1s + var(--i) * .09s) infinite,
             hero-char-float 4s ease-in-out calc(1.3s + var(--i) * .07s) infinite;
}
.hero-title-row--finale .hero-title-glyph--animated .hero-char:last-child{margin-right:0}
@media(max-width:640px){
  .hero-title-row--lead .hero-title-glyph--animated .hero-char{margin-right:.14em}
  .hero-title-row--finale .hero-title-glyph--animated .hero-char{margin-right:.22em}
}
@media(prefers-reduced-motion:reduce){
  .hero-title-glyph--animated .hero-char{
    animation:none!important;opacity:1!important;transform:none!important;filter:none!important;
  }
  .hero-title-row--core .hero-title-glyph--animated .hero-char{-webkit-text-fill-color:var(--g)}
  .hero-title-row--finale .hero-title-glyph--animated .hero-char{-webkit-text-fill-color:var(--gd)}
}

/* 右侧三引擎卡 */
.hero-visual{display:none}
@media(min-width:1100px){
  .hero-visual--engines{
    display:block;position:relative;right:auto;top:auto;transform:none;
    width:100%;pointer-events:auto;
  }
  .hero-engine-stack{display:flex;flex-direction:column;gap:18px}
  .hero-engine-card{
    display:flex;align-items:center;gap:18px;
    background:rgba(253,250,245,.88);
    backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    border:1px solid rgba(91,115,183,.16);border-radius:18px;
    padding:22px 24px;
    box-shadow:0 18px 56px rgba(38,46,72,.09);
    animation:hero-engine-in 1s cubic-bezier(.22,1,.36,1) both,engine-float 7s ease-in-out infinite;
  }
  .hero-engine-card--geo{animation-delay:.85s,0s;border-left:3px solid var(--geo-l)}
  .hero-engine-card--seo{animation-delay:1s,-2.3s;border-left:3px solid var(--seo-l)}
  .hero-engine-card--orm{animation-delay:1.15s,-4.6s;border-left:3px solid var(--orm-l)}
  .hero-engine-icon{
    flex-shrink:0;width:52px;height:52px;border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    border:1px solid rgba(91,115,183,.14);
  }
  .hero-engine-card--geo .hero-engine-icon{background:var(--geo-bg);color:var(--geo)}
  .hero-engine-card--seo .hero-engine-icon{background:var(--seo-bg);color:var(--seo)}
  .hero-engine-card--orm .hero-engine-icon{background:var(--orm-bg);color:var(--orm)}
  .hero-engine-tag{font-size:.68rem;font-weight:800;letter-spacing:.14em;color:var(--t2);margin-bottom:4px}
  .hero-engine-title{font-size:.92rem;font-weight:800;color:var(--t1);letter-spacing:.02em;margin-bottom:4px}
  .hero-engine-desc{font-size:.72rem;color:var(--t2);line-height:1.5}
}
@keyframes hero-engine-in{
  from{opacity:0;transform:translateX(40px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes engine-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@media(prefers-reduced-motion:reduce){
  .hero-engine-card{animation:none!important;opacity:1!important;transform:none!important}
}

/* ── Hero v40 · 毛笔书法错位排版 ─────────────────────────────── */
.hero-title--brush{margin-bottom:28px}
.hero-title--brush .hero-title-inner{
  display:block;position:relative;width:100%;max-width:min(720px,100%);
  min-height:clamp(180px,26vw,300px);padding:4px 0;
}
.hero-title--brush .hero-title-row{
  width:auto;display:block;position:relative;line-height:.92;
  white-space:nowrap;
}
.hero-title--brush .hero-title-row--lead{
  margin:0 0 -.08em;transform:rotate(-2.5deg);transform-origin:left center;z-index:1;
}
.hero-title--brush .hero-title-row--core{
  margin:0 0 -.12em;padding:0;
  margin-left:clamp(1rem,13vw,7.5rem);
  transform:rotate(1.8deg);transform-origin:left center;z-index:2;
}
.hero-title--brush .hero-title-row--core::before,
.hero-title--brush .hero-title-row--core::after{display:none!important}
.hero-title--brush .hero-title-row--finale{
  margin:0;
  margin-left:clamp(2rem,26vw,13rem);
  transform:rotate(-1.2deg);transform-origin:left center;z-index:3;
}
.hero-title--brush .hero-title-rule{
  width:88px;margin:20px 0 0 clamp(.5rem,3vw,2rem);
}
.hero-title--brush .hero-char,
.hero-title--brush .hero-title-glyph--animated{
  font-family:'Zhi Mang Xing','Ma Shan Zheng','Liu Jian Mao Cao','STKaiti','KaiTi',cursive!important;
  font-weight:400!important;letter-spacing:.02em!important;text-indent:0!important;
}
.hero-title--brush .hero-title-row--lead .hero-title-glyph--animated{
  font-size:clamp(2.8rem,8vw,5.2rem);
}
.hero-title--brush .hero-title-row--lead .hero-title-glyph--animated .hero-char{
  margin-right:.06em;
  color:var(--t1)!important;-webkit-text-fill-color:var(--t1)!important;
  text-shadow:
    2px 3px 0 rgba(38,46,72,.07),
    0 6px 24px rgba(38,46,72,.1),
    0 0 36px rgba(91,115,183,.1);
}
.hero-title--brush .hero-title-row--core .hero-title-glyph--animated .hero-char{
  margin-right:.02em;
  font-size:clamp(4rem,13vw,8.5rem)!important;
  line-height:.9;
  background:linear-gradient(118deg,#2a3a6e 0%,#4a5f9a 18%,#7b9ae8 42%,#5B73B7 68%,#8FA8E8 100%)!important;
  background-size:300% auto!important;
  -webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;
  background-clip:text!important;
  filter:drop-shadow(0 10px 36px rgba(91,115,183,.28));
}
.hero-title--brush .hero-title-row--finale .hero-title-glyph--animated{
  font-size:clamp(2.6rem,7vw,4.8rem);
}
.hero-title--brush .hero-title-row--finale .hero-title-glyph--animated .hero-char{
  margin-right:.08em;
  background:linear-gradient(125deg,#6b4e2a 0%,var(--gd) 22%,var(--g) 48%,var(--seo-l) 78%,#c4a574 100%)!important;
  background-size:280% auto!important;
  -webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;
  background-clip:text!important;
  filter:drop-shadow(0 8px 28px rgba(196,146,90,.22));
}
@media(max-width:640px){
  .hero-title--brush .hero-title-row--core{margin-left:clamp(.5rem,8vw,3rem)}
  .hero-title--brush .hero-title-row--finale{margin-left:clamp(1rem,16vw,5rem)}
  .hero-title--brush .hero-title-inner{min-height:clamp(140px,38vw,220px)}
  .hero-title--brush .hero-title-row--core .hero-title-glyph--animated .hero-char{
    font-size:clamp(2.8rem,14vw,4.2rem)!important;
  }
}
@media(min-width:1100px){
  .hero-title--brush .hero-title-inner{align-items:flex-start}
}

/* ── Hero v41 · 科技美学排版 ─────────────────────────────────── */
@media(min-width:1100px){
  .hero-shell{
    grid-template-columns:minmax(0,1fr) min(500px,44%);
    gap:clamp(32px,4vw,64px);
    align-items:center;
  }
}

/* 标题：清晰黑体 + 层级 */
.hero-title--tech{margin-bottom:20px}
.hero-title--tech .hero-title-inner{
  display:flex;flex-direction:column;align-items:flex-start;gap:0;
  min-height:auto!important;max-width:100%;padding:0;
}
.hero-title--tech .hero-title-row{
  width:100%;transform:none!important;margin-left:0!important;
  white-space:nowrap;line-height:1.12;
}
.hero-title--tech .hero-title-row--lead{margin-bottom:10px}
.hero-title--tech .hero-title-row--core{margin:4px 0 8px;padding:0}
.hero-title--tech .hero-title-row--finale{margin:0 0 4px}
.hero-title--tech .hero-title-row--core::before,
.hero-title--tech .hero-title-row--core::after{display:none!important}
.hero-title--tech .hero-title-rule{
  width:100%;max-width:120px;height:2px;margin:18px 0 0;
  background:linear-gradient(90deg,var(--geo),var(--seo-l),transparent);
}
.hero-title--tech .hero-char,
.hero-title--tech .hero-title-glyph--animated{
  font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif!important;
  font-weight:900!important;letter-spacing:.04em!important;text-indent:0!important;
}
.hero-title--tech .hero-title-row--lead .hero-title-glyph--animated{
  font-size:clamp(.95rem,2vw,1.15rem);font-weight:700!important;
  letter-spacing:.42em!important;
}
.hero-title--tech .hero-title-row--lead .hero-title-glyph--animated .hero-char{
  color:var(--t2)!important;-webkit-text-fill-color:var(--t2)!important;
  margin-right:.42em;font-weight:700!important;
  text-shadow:none!important;
  animation:hero-char-rise .7s cubic-bezier(.22,1,.36,1) both,
             hero-char-glow 5s ease-in-out calc(.8s + var(--i) * .07s) infinite;
  animation-delay:calc(.04s + var(--i) * .05s),calc(.8s + var(--i) * .07s);
}
.hero-title--tech .hero-title-row--lead .hero-title-glyph--animated .hero-char:last-child{margin-right:0}
.hero-title--tech .hero-title-row--core .hero-title-glyph--animated .hero-char{
  margin-right:.06em;
  font-size:clamp(2.75rem,7.2vw,4.75rem)!important;
  line-height:1.05;
  background:linear-gradient(120deg,#2d3f72 0%,#4a62a8 20%,#7b9ae8 45%,#5B73B7 70%,#8FA8E8 100%)!important;
  background-size:280% auto!important;
  -webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;
  background-clip:text!important;
  filter:drop-shadow(0 4px 20px rgba(91,115,183,.2));
  animation:hero-char-rise .8s cubic-bezier(.22,1,.36,1) both,
             hero-char-shimmer 5.5s linear calc(.9s + var(--i) * .07s) infinite;
}
.hero-title--tech .hero-title-row--finale .hero-title-glyph--animated{
  font-size:clamp(1.85rem,4.5vw,3rem);
}
.hero-title--tech .hero-title-row--finale .hero-title-glyph--animated .hero-char{
  margin-right:.1em;
  background:linear-gradient(120deg,#5a4528 0%,var(--gd) 25%,var(--g) 50%,var(--seo-l) 100%)!important;
  background-size:260% auto!important;
  -webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;
  background-clip:text!important;
  animation:hero-char-rise .75s cubic-bezier(.22,1,.36,1) both,
             hero-char-shimmer 6s linear calc(1s + var(--i) * .08s) infinite;
}
.hero-title--tech .hero-title-row--finale .hero-title-glyph--animated .hero-char:last-child{margin-right:0}
.hero-title-en{
  font-family:'Noto Sans SC',sans-serif;font-size:.72rem;letter-spacing:.2em;
  color:var(--t2);opacity:.85;
}

/* 三大引擎 · 横向玻璃面板 */
.hero-visual--panel{display:none}
@media(min-width:900px){
  .hero-visual--panel{
    display:block;position:relative;width:100%;
  }
  .hero-engine-panel{
    position:relative;overflow:hidden;
    background:linear-gradient(145deg,rgba(255,255,255,.82) 0%,rgba(253,250,245,.72) 100%);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border:1px solid rgba(91,115,183,.18);border-radius:20px;
    padding:22px 20px 20px;
    box-shadow:0 24px 64px rgba(38,46,72,.08),inset 0 1px 0 rgba(255,255,255,.8);
  }
  .hero-engine-panel__head{
    display:flex;align-items:baseline;justify-content:space-between;
    margin-bottom:16px;padding-bottom:12px;
    border-bottom:1px solid rgba(91,115,183,.12);
  }
  .hero-engine-panel__label{
    font-size:.62rem;font-weight:800;letter-spacing:.22em;color:var(--geo);
  }
  .hero-engine-panel__sub{
    font-size:.72rem;font-weight:600;color:var(--t2);letter-spacing:.06em;
  }
  .hero-engine-panel__line{
    position:absolute;bottom:0;left:0;right:0;height:2px;
    background:linear-gradient(90deg,var(--geo-l),var(--seo-l),var(--orm-l));
    opacity:.6;
  }
  .hero-engine-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
  }
  .hero-engine-cell{
    position:relative;text-align:center;padding:18px 10px 16px;
    border-radius:14px;border:1px solid rgba(91,115,183,.12);
    background:rgba(255,255,255,.55);
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s;
    animation:hero-engine-in .85s cubic-bezier(.22,1,.36,1) both;
  }
  .hero-engine-cell--geo{animation-delay:.75s;border-top:2px solid var(--geo-l)}
  .hero-engine-cell--seo{animation-delay:.88s;border-top:2px solid var(--seo-l)}
  .hero-engine-cell--orm{animation-delay:1.01s;border-top:2px solid var(--orm-l)}
  .hero-engine-cell:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 32px rgba(91,115,183,.12);
    border-color:rgba(91,115,183,.28);
  }
  .hero-engine-cell__icon{
    width:40px;height:40px;margin:0 auto 10px;border-radius:11px;
    display:flex;align-items:center;justify-content:center;
    border:1px solid rgba(91,115,183,.12);
  }
  .hero-engine-cell--geo .hero-engine-cell__icon{background:var(--geo-bg);color:var(--geo)}
  .hero-engine-cell--seo .hero-engine-cell__icon{background:var(--seo-bg);color:var(--seo)}
  .hero-engine-cell--orm .hero-engine-cell__icon{background:var(--orm-bg);color:var(--orm)}
  .hero-engine-cell__icon .ui-icon{width:18px;height:18px}
  .hero-engine-cell__tag{
    font-size:.65rem;font-weight:800;letter-spacing:.16em;color:var(--t2);margin-bottom:6px;
  }
  .hero-engine-cell__name{
    font-size:.82rem;font-weight:800;color:var(--t1);line-height:1.3;margin-bottom:4px;
  }
  .hero-engine-cell__metric{font-size:.65rem;color:var(--t2);line-height:1.4;opacity:.9}
}
@media(min-width:900px) and (max-width:1099px){
  .hero-shell{display:flex;flex-direction:column;gap:32px}
  .hero-visual--panel{max-width:560px;margin:0 auto}
}
@media(max-width:899px){
  .hero-content .hero-title--tech{margin-bottom:16px}
  .hero-title--tech .hero-title-row--core .hero-title-glyph--animated .hero-char{
    font-size:clamp(2.2rem,10vw,3.2rem)!important;
  }
  .hero-title--tech .hero-title-row--lead .hero-title-glyph--animated{letter-spacing:.28em!important}
  .hero-title--tech .hero-title-row--lead .hero-title-glyph--animated .hero-char{margin-right:.28em}
}
@media(prefers-reduced-motion:reduce){
  .hero-engine-cell{animation:none!important}
}

/* ── Hero v42 · 紧凑单栏（消灭空挡）──────────────────────────── */
.hero{
  padding:calc(var(--nav) + 20px) 0 40px!important;
  min-height:auto!important;
  align-items:flex-start!important;
}
.hero-shell{
  max-width:1080px!important;
  min-height:0!important;
  padding:0 20px!important;
  gap:0!important;
  display:block!important;
  justify-content:flex-start!important;
}
.hero-content{
  text-align:left!important;
  max-width:100%!important;
}
.hero-badge{margin-bottom:14px!important}
.hero-title--compact{margin-bottom:0!important;padding:0!important}
.hero-title--compact .hero-title-inner{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  gap:0!important;min-height:0!important;max-width:100%!important;padding:0!important;
}
.hero-title--compact .hero-title-row{
  width:auto!important;transform:none!important;margin-left:0!important;
  white-space:nowrap!important;line-height:1!important;
}
.hero-title--compact .hero-title-row--lead{margin-bottom:6px!important}
.hero-title--compact .hero-title-row--core{margin:0 0 4px!important;padding:0!important}
.hero-title--compact .hero-title-row--finale{margin:0!important}
.hero-title--compact .hero-title-row--core::before,
.hero-title--compact .hero-title-row--core::after{display:none!important}
.hero-title--compact .hero-title-rule{
  width:64px!important;height:2px!important;margin:12px 0 0!important;
  background:linear-gradient(90deg,var(--geo),var(--seo-l))!important;
}
.hero-title--compact .hero-char,
.hero-title--compact .hero-title-glyph--animated{
  font-family:'Noto Serif SC','Songti SC',serif!important;
  font-weight:900!important;letter-spacing:.06em!important;text-indent:0!important;
}
.hero-title--compact .hero-title-row--lead .hero-title-glyph--animated{
  font-size:clamp(1.35rem,3vw,1.75rem)!important;font-weight:700!important;
  letter-spacing:.14em!important;
}
.hero-title--compact .hero-title-row--lead .hero-title-glyph--animated .hero-char{
  color:var(--t1)!important;-webkit-text-fill-color:var(--t1)!important;
  margin-right:.14em!important;text-shadow:none!important;
  animation:hero-char-rise .65s cubic-bezier(.22,1,.36,1) both,
             hero-char-glow 4.5s ease-in-out calc(.7s + var(--i) * .06s) infinite!important;
  animation-delay:calc(.03s + var(--i) * .04s),calc(.7s + var(--i) * .06s)!important;
}
.hero-title--compact .hero-title-row--core .hero-title-glyph--animated .hero-char{
  font-family:'Noto Sans SC','PingFang SC',sans-serif!important;
  margin-right:.04em!important;
  font-size:clamp(3rem,8.5vw,5.25rem)!important;line-height:1!important;
  background:linear-gradient(120deg,#2a3a68 0%,#4d65a8 25%,#8FA8E8 50%,#5B73B7 75%,#7390D4 100%)!important;
  background-size:260% auto!important;
  -webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;
  background-clip:text!important;
  filter:drop-shadow(0 3px 16px rgba(91,115,183,.22))!important;
  animation:hero-char-rise .75s cubic-bezier(.22,1,.36,1) both,
             hero-char-shimmer 5s linear calc(.8s + var(--i) * .06s) infinite!important;
}
.hero-title--compact .hero-title-row--finale .hero-title-glyph--animated{
  font-size:clamp(1.75rem,4.2vw,2.75rem)!important;
}
.hero-title--compact .hero-title-row--finale .hero-title-glyph--animated .hero-char{
  margin-right:.12em!important;
  background:linear-gradient(120deg,var(--gd) 0%,var(--g) 40%,var(--seo-l) 100%)!important;
  background-size:240% auto!important;
  -webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;
  animation:hero-char-rise .7s cubic-bezier(.22,1,.36,1) both,
             hero-char-shimmer 5.5s linear calc(.9s + var(--i) * .07s) infinite!important;
}

/* 三引擎横条 · 紧贴标题 */
.hero-engines-row{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
  margin:16px 0 14px;width:100%;max-width:720px;
}
.hero-chip{
  display:flex;align-items:center;gap:10px;
  padding:12px 14px;border-radius:12px;text-decoration:none;
  background:rgba(253,250,245,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(91,115,183,.16);
  box-shadow:0 4px 20px rgba(38,46,72,.05);
  transition:transform .2s,border-color .2s,box-shadow .2s;
  animation:hero-char-rise .7s cubic-bezier(.22,1,.36,1) both;
}
.hero-chip--geo{animation-delay:.55s;border-top:2px solid var(--geo-l)}
.hero-chip--seo{animation-delay:.65s;border-top:2px solid var(--seo-l)}
.hero-chip--orm{animation-delay:.75s;border-top:2px solid var(--orm-l)}
.hero-chip:hover{transform:translateY(-2px);border-color:rgba(91,115,183,.32);box-shadow:0 8px 28px rgba(91,115,183,.1)}
.hero-chip__ico{
  flex-shrink:0;width:36px;height:36px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
}
.hero-chip--geo .hero-chip__ico{background:var(--geo-bg);color:var(--geo)}
.hero-chip--seo .hero-chip__ico{background:var(--seo-bg);color:var(--seo)}
.hero-chip--orm .hero-chip__ico{background:var(--orm-bg);color:var(--orm)}
.hero-chip__ico .ui-icon{width:16px;height:16px}
.hero-chip__body{display:flex;flex-direction:column;gap:1px;min-width:0}
.hero-chip__tag{font-size:.62rem;font-weight:800;letter-spacing:.12em;color:var(--t2)}
.hero-chip__desc{font-size:.72rem;font-weight:600;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.hero-title-en{
  margin:0 0 10px!important;font-size:.7rem!important;letter-spacing:.16em!important;
  opacity:.8;
}
.hero-desc{
  margin:0 0 18px!important;max-width:640px!important;
  font-size:.88rem!important;line-height:1.72!important;
  animation:hero-char-rise .8s cubic-bezier(.22,1,.36,1) .5s both;
}
.hero-foot{
  display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px;
  padding-top:4px;
}
.hero-foot .hero-actions{
  margin:0!important;animation:hero-char-rise .8s cubic-bezier(.22,1,.36,1) .6s both;
}
.hero-stats--inline{
  flex:1;display:flex!important;flex-wrap:wrap;gap:0!important;
  max-width:none!important;margin:0!important;padding:0!important;
  border:none!important;background:none!important;box-shadow:none!important;
  backdrop-filter:none!important;animation:hero-char-rise .8s cubic-bezier(.22,1,.36,1) .7s both;
}
.hero-stats--inline > div{
  padding:0 20px!important;border-right:1px solid var(--ln)!important;
  border-bottom:none!important;margin:0!important;
}
.hero-stats--inline > div:first-child{padding-left:0!important}
.hero-stats--inline > div:last-child{border-right:none!important;padding-right:0!important}
.hero-stat-num{font-size:1.35rem!important}
.hero-stat-label{font-size:.62rem!important;margin-top:2px!important}

.hero-visual,.hero-visual--panel{display:none!important}

@media(max-width:768px){
  .hero-engines-row{grid-template-columns:1fr;max-width:100%;margin:14px 0 12px}
  .hero-chip{padding:10px 12px}
  .hero-foot{flex-direction:column;align-items:flex-start;gap:16px}
  .hero-stats--inline{width:100%;display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:12px!important}
  .hero-stats--inline > div{
    padding:8px 0!important;border-right:none!important;
    border-bottom:1px solid var(--ln)!important;
  }
  .hero-stats--inline > div:nth-last-child(-n+2){border-bottom:none!important}
  .hero-title--compact .hero-title-row--core .hero-title-glyph--animated .hero-char{
    font-size:clamp(2.35rem,11vw,3.1rem)!important;
  }
}

/* ── Hero v43 · 阶梯书法（等大 · 从左至右）────────────────────── */
.hero-shell{max-width:1240px!important;padding:0 clamp(20px,3vw,40px)!important}
.hero-content{width:100%!important}

.hero-title--ladder{
  width:100%!important;margin:0 0 4px!important;padding:0!important;
}
.hero-title--ladder .hero-title-inner{
  display:block!important;width:100%!important;max-width:100%!important;
  min-height:0!important;padding:0!important;
}
.hero-title--ladder .hero-title-row{
  display:block!important;width:100%!important;
  transform:none!important;white-space:nowrap!important;
  line-height:1.05!important;margin:0 0 2px!important;
}
.hero-title--ladder .hero-title-row--lead{margin-left:0!important}
.hero-title--ladder .hero-title-row--core{
  margin-left:clamp(3.5rem,16vw,13rem)!important;padding:0!important;
}
.hero-title--ladder .hero-title-row--finale{
  margin-left:clamp(7rem,32vw,26rem)!important;
}
.hero-title--ladder .hero-title-row--core::before,
.hero-title--ladder .hero-title-row--core::after{display:none!important}
.hero-title--ladder .hero-title-rule{
  width:min(42%,320px)!important;height:2px!important;
  margin:14px 0 0 clamp(7rem,32vw,26rem)!important;
  background:linear-gradient(90deg,var(--geo),var(--seo-l),transparent)!important;
}

.hero-title--ladder .hero-char,
.hero-title--ladder .hero-title-glyph--animated{
  font-family:'PingFang SC','Microsoft YaHei','Heiti SC','SimHei','Noto Sans SC',sans-serif!important;
  font-weight:900!important;letter-spacing:.08em!important;text-indent:0!important;
}
.hero-title--ladder .hero-title-glyph--animated .hero-char{
  display:inline-block!important;
  font-size:clamp(2.4rem,6.2vw,4.1rem)!important;
  line-height:1!important;margin-right:.1em!important;
  animation:hero-char-rise .75s cubic-bezier(.22,1,.36,1) both!important;
  animation-delay:calc(.05s + var(--i) * .055s)!important;
}
.hero-title--ladder .hero-title-row--lead .hero-char{
  background:linear-gradient(120deg,#1e2d52 0%,var(--geo) 35%,var(--seo) 60%,var(--seo-l) 100%)!important;
  background-size:260% auto!important;
  -webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;
  background-clip:text!important;
  filter:drop-shadow(0 3px 14px rgba(91,115,183,.22))!important;
  animation:hero-char-rise .75s cubic-bezier(.22,1,.36,1) both,
             hero-char-shimmer 5.5s linear calc(.85s + var(--i) * .07s) infinite!important;
}
.hero-title--ladder .hero-title-row--core .hero-char{
  font-size:clamp(3.2rem,8.8vw,5.6rem)!important;
  letter-spacing:.06em!important;
  background:linear-gradient(120deg,#2a3868 0%,#4a62a8 30%,#8FA8E8 55%,#5B73B7 100%)!important;
  background-size:260% auto!important;
  -webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;
  background-clip:text!important;
  filter:drop-shadow(0 4px 18px rgba(91,115,183,.25))!important;
  animation:hero-char-rise .8s cubic-bezier(.22,1,.36,1) both,
             hero-char-shimmer 5.5s linear calc(.9s + var(--i) * .07s) infinite!important;
}
.hero-title--ladder .hero-title-row--finale .hero-char{
  background:linear-gradient(120deg,#5a4528 0%,var(--gd) 30%,var(--g) 55%,var(--seo-l) 100%)!important;
  background-size:260% auto!important;
  -webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;
  background-clip:text!important;
  filter:drop-shadow(0 4px 16px rgba(196,146,90,.2))!important;
  animation:hero-char-rise .8s cubic-bezier(.22,1,.36,1) both,
             hero-char-shimmer 6s linear calc(1s + var(--i) * .08s) infinite!important;
}
.hero-title--ladder .hero-title-glyph--animated .hero-char:last-child{margin-right:0!important}

.hero-engines-row{max-width:100%!important;margin:18px 0 14px!important}

@media(max-width:768px){
  .hero-title--ladder .hero-title-row--core{margin-left:clamp(1.5rem,10vw,4rem)!important}
  .hero-title--ladder .hero-title-row--finale{margin-left:clamp(3rem,20vw,8rem)!important}
  .hero-title--ladder .hero-title-rule{margin-left:clamp(3rem,20vw,8rem)!important;width:50%!important}
  .hero-title--ladder .hero-title-glyph--animated .hero-char{
    font-size:clamp(2rem,9.5vw,2.85rem)!important;
  }
  .hero-title--ladder .hero-title-row--core .hero-char{
    font-size:clamp(2.65rem,12vw,3.6rem)!important;
  }
}

/* ── Hero v46 · 用户新背景（科技蓝网格）────────────────────────── */
.hero{background-color:#e6eef8!important}
.hero::before{
  background:var(--hero-bg) center top/cover no-repeat!important;
  animation:hero-bg-drift 40s ease-in-out infinite alternate!important;
}
.hero::after{
  background:
    linear-gradient(180deg,rgba(255,255,255,.08) 0%,transparent 35%),
    linear-gradient(0deg,rgba(230,238,248,.15) 0%,transparent 45%)!important;
}
.hero-orb{opacity:.45!important}

/* ── Hero v47 · 右侧三角悬浮三卡 ─────────────────────────────── */
@media(min-width:960px){
  .hero-shell{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) min(340px,36%)!important;
    gap:clamp(24px,4vw,48px)!important;
    align-items:center!important;
    max-width:1240px!important;
  }
}
.hero-visual--float{display:none}
@media(min-width:960px){
  .hero-visual--float{
    display:block!important;width:100%;position:relative;
  }
  .hero-float-zone{
    position:relative;width:100%;height:min(340px,36vw);min-height:280px;
  }
  .hero-float-card{
    position:absolute;display:flex;flex-direction:column;align-items:flex-start;
    text-decoration:none;
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border:1px solid rgba(91,115,183,.18);border-radius:16px;
    padding:16px 18px;
    box-shadow:0 16px 48px rgba(38,46,72,.1);
    transition:transform .25s ease,box-shadow .25s ease;
    animation:hero-float-card-in .9s cubic-bezier(.22,1,.36,1) both,hero-float-drift 7s ease-in-out infinite;
  }
  .hero-float-card:hover{
    transform:translateY(-6px)!important;
    box-shadow:0 24px 56px rgba(91,115,183,.16);
  }
  .hero-float-card--geo{
    top:0;left:0;width:148px;
    animation-delay:.7s,0s;
    border-top:2px solid var(--geo-l);
  }
  .hero-float-card--seo{
    top:18%;right:0;width:196px;
    animation-delay:.88s,-2.5s;
    border-top:2px solid var(--seo-l);
  }
  .hero-float-card--orm{
    bottom:0;left:22%;width:168px;
    animation-delay:1.05s,-5s;
    border-top:2px solid var(--orm-l);
  }
  .hero-float-card--lg{padding:20px 20px 18px}
  .hero-float-card--md{padding:17px 18px}
  .hero-float-card--sm{padding:14px 16px}
  .hero-float-card__ico{
    width:40px;height:40px;border-radius:11px;
    display:flex;align-items:center;justify-content:center;
    margin-bottom:10px;border:1px solid rgba(91,115,183,.12);
  }
  .hero-float-card--geo .hero-float-card__ico{background:var(--geo-bg);color:var(--geo)}
  .hero-float-card--seo .hero-float-card__ico{background:var(--seo-bg);color:var(--seo)}
  .hero-float-card--orm .hero-float-card__ico{background:var(--orm-bg);color:var(--orm)}
  .hero-float-card__ico .ui-icon{width:18px;height:18px}
  .hero-float-card__tag{font-size:.62rem;font-weight:800;letter-spacing:.14em;color:var(--t2);margin-bottom:4px}
  .hero-float-card__title{font-size:.88rem;font-weight:800;color:var(--t1);line-height:1.25;margin-bottom:3px}
  .hero-float-card--lg .hero-float-card__title{font-size:1rem}
  .hero-float-card--sm .hero-float-card__title{font-size:.82rem}
  .hero-float-card__desc{font-size:.68rem;color:var(--t2);line-height:1.45}
  .hero-float-card--lg .hero-float-card__desc{font-size:.72rem}
}
@keyframes hero-float-card-in{
  from{opacity:0;transform:translateY(24px) scale(.94)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes hero-float-drift{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}
.hero-visual.hero-visual--engines,.hero-visual.hero-visual--panel{display:none!important}
@media(min-width:960px){
  .hero-engines-row{display:none!important}
}
@media(max-width:959px){
  .hero-visual--float{display:none!important}
  .hero-shell{display:block!important}
}

/* ── Hero v48 · 强化动态效果 ─────────────────────────────────── */
.hero-title--ladder .hero-title-row{
  animation:hero-row-enter 1s cubic-bezier(.22,1,.36,1) both!important;
  transform:none!important;
}
.hero-title--ladder .hero-title-row--lead{animation-delay:.08s!important}
.hero-title--ladder .hero-title-row--core{animation-delay:.28s!important}
.hero-title--ladder .hero-title-row--finale{animation-delay:.5s!important}

@keyframes hero-row-enter{
  from{opacity:0;transform:translateX(-36px)!important}
  to{opacity:1;transform:translateX(0)!important}
}

@keyframes hero-char-rise-ladder{
  0%{opacity:0;transform:translateY(calc(52px + var(--char-y,0px))) scale(.76) rotate(-10deg);filter:blur(14px) drop-shadow(0 0 0 transparent)}
  65%{opacity:1;transform:translateY(calc(var(--char-y,0px) - 8px)) scale(1.05) rotate(2deg);filter:blur(0) drop-shadow(0 10px 28px rgba(91,115,183,.38))}
  100%{opacity:1;transform:translateY(var(--char-y,0px)) scale(1) rotate(0deg);filter:blur(0) drop-shadow(0 4px 18px rgba(91,115,183,.26))}
}
@keyframes hero-char-rise-ladder-gold{
  0%{opacity:0;transform:translateY(calc(52px + var(--char-y,0px))) scale(.76) rotate(-10deg);filter:blur(14px) drop-shadow(0 0 0 transparent)}
  65%{opacity:1;transform:translateY(calc(var(--char-y,0px) - 8px)) scale(1.05) rotate(2deg);filter:blur(0) drop-shadow(0 10px 28px rgba(196,146,90,.42))}
  100%{opacity:1;transform:translateY(var(--char-y,0px)) scale(1) rotate(0deg);filter:blur(0) drop-shadow(0 4px 16px rgba(196,146,90,.28))}
}
@keyframes hero-char-filter-pulse{
  0%,100%{filter:drop-shadow(0 4px 16px rgba(91,115,183,.22))}
  50%{filter:drop-shadow(0 12px 36px rgba(91,115,183,.48))}
}
@keyframes hero-char-filter-pulse-gold{
  0%,100%{filter:drop-shadow(0 4px 14px rgba(196,146,90,.2))}
  50%{filter:drop-shadow(0 12px 32px rgba(196,146,90,.45))}
}

.hero-title--ladder .hero-title-glyph--animated .hero-char{
  animation:hero-char-rise-ladder .95s cubic-bezier(.22,1,.36,1) both,
             hero-char-shimmer 3.2s linear calc(.95s + var(--i) * .05s) infinite,
             hero-char-filter-pulse 3.8s ease-in-out calc(1.1s + var(--i) * .07s) infinite!important;
  animation-delay:calc(.12s + var(--i) * .06s),calc(.95s + var(--i) * .05s),calc(1.1s + var(--i) * .07s)!important;
}
.hero-title--ladder .hero-title-row--lead .hero-char{
  animation:hero-char-rise-ladder .9s cubic-bezier(.22,1,.36,1) both,
             hero-char-shimmer 3s linear calc(.9s + var(--i) * .05s) infinite,
             hero-char-filter-pulse 3.5s ease-in-out calc(1.05s + var(--i) * .06s) infinite!important;
  animation-delay:calc(.1s + var(--i) * .055s),calc(.9s + var(--i) * .05s),calc(1.05s + var(--i) * .06s)!important;
}
.hero-title--ladder .hero-title-row--core .hero-char{
  animation:hero-char-rise-ladder 1s cubic-bezier(.22,1,.36,1) both,
             hero-char-shimmer 2.8s linear calc(1s + var(--i) * .045s) infinite,
             hero-char-filter-pulse 3.2s ease-in-out calc(1.15s + var(--i) * .055s) infinite!important;
  animation-delay:calc(.15s + var(--i) * .05s),calc(1s + var(--i) * .045s),calc(1.15s + var(--i) * .055s)!important;
}
.hero-title--ladder .hero-title-row--finale .hero-char{
  animation:hero-char-rise-ladder-gold 1s cubic-bezier(.22,1,.36,1) both,
             hero-char-shimmer 3.2s linear calc(1.05s + var(--i) * .05s) infinite,
             hero-char-filter-pulse-gold 3.6s ease-in-out calc(1.2s + var(--i) * .06s) infinite!important;
  animation-delay:calc(.18s + var(--i) * .055s),calc(1.05s + var(--i) * .05s),calc(1.2s + var(--i) * .06s)!important;
}

.hero-title--ladder .hero-title-rule{
  background:linear-gradient(90deg,var(--geo),var(--seo-l),var(--g),transparent)!important;
  background-size:220% 100%!important;
  animation:hero-rule-grow 1.1s cubic-bezier(.22,1,.36,1) .65s both,
             hero-rule-shimmer 4s linear 1.8s infinite!important;
}
@keyframes hero-rule-grow{
  from{opacity:0;width:0!important}
  to{opacity:1;width:min(42%,320px)!important}
}
@keyframes hero-rule-shimmer{
  0%{background-position:0% center}
  100%{background-position:220% center}
}

.hero-badge{
  animation:hero-badge-in .8s cubic-bezier(.22,1,.36,1) both,hero-badge-glow 4s ease-in-out 1s infinite!important;
}
@keyframes hero-badge-in{
  from{opacity:0;transform:translateY(-12px) scale(.92)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes hero-badge-glow{
  0%,100%{box-shadow:0 0 0 rgba(91,115,183,0)}
  50%{box-shadow:0 0 24px rgba(91,115,183,.18)}
}

@media(min-width:960px){
  .hero-float-card{
    animation:hero-float-card-in 1s cubic-bezier(.22,1,.36,1) both,hero-float-drift-v2 8s ease-in-out infinite!important;
  }
  .hero-float-card--geo{animation-delay:.75s,0s!important}
  .hero-float-card--seo{animation-delay:.95s,-2.8s!important}
  .hero-float-card--orm{animation-delay:1.15s,-5.5s!important}
  .hero-float-card__ico{
    animation:hero-ico-pulse 3.2s ease-in-out infinite!important;
  }
  .hero-float-card--geo .hero-float-card__ico{animation-delay:0s!important}
  .hero-float-card--seo .hero-float-card__ico{animation-delay:-1.1s!important}
  .hero-float-card--orm .hero-float-card__ico{animation-delay:-2.2s!important}
}
@keyframes hero-float-drift-v2{
  0%,100%{transform:translate(0,0) rotate(0deg)}
  25%{transform:translate(5px,-14px) rotate(.7deg)}
  50%{transform:translate(-4px,-8px) rotate(-.5deg)}
  75%{transform:translate(3px,-12px) rotate(.4deg)}
}
@keyframes hero-ico-pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.1)}
}

.hero::before{
  animation:hero-bg-drift 28s ease-in-out infinite alternate,hero-bg-breathe 12s ease-in-out infinite!important;
}
@keyframes hero-bg-breathe{
  0%,100%{opacity:1}
  50%{opacity:.86}
}
.hero-orb{
  animation:orb-float 10s ease-in-out infinite!important;
}
.hero-orb--2{animation-delay:-3.5s!important}
.hero-orb--3{animation-delay:-7s!important}

/* ── Hero v50 · 背景完整铺满 + Logo 纯色 ─────────────────────── */
:root{
  --hero-bg:url('../images/hero-bg.png?v=50');
  --hero-bg-fallback:url('../images/hero-bg.png?v=50');
}
.hero::before{
  inset:-10%!important;
  background:var(--hero-bg) center center/cover no-repeat!important;
  background-size:cover!important;
  animation:hero-bg-drift-v50 36s ease-in-out infinite alternate!important;
  opacity:1!important;
}
@keyframes hero-bg-drift-v50{
  0%{transform:scale(1) translate(0,0)}
  100%{transform:scale(1.03) translate(-.4%,-.3%)}
}
.page-hero::before{
  inset:-6%!important;
  background:var(--hero-bg) center center/cover no-repeat!important;
  transform:scale(1)!important;
  opacity:.28!important;
  filter:brightness(.98) saturate(.95)!important;
}
.nav-logo-img,.footer-logo-img{
  filter:none!important;
  transition:opacity .2s!important;
}
.nav-logo:hover .nav-logo-img{
  filter:none!important;
  opacity:.88!important;
}
.nav-logo-name,.footer-logo-name{color:var(--g)!important}

/* ── 移动端布局兜底（文件末尾，防止后续桌面规则覆盖） ─────────── */
@media(max-width:960px){
  .nav-menu:not(.open){
    display:none!important;visibility:hidden!important;pointer-events:none!important;
  }
  .nav-menu.open{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;
    z-index:9998!important;background:rgb(247,243,235)!important;
  }
  .nav-hamburger{z-index:9999!important}
  .hero-engines-row{grid-template-columns:1fr!important;max-width:100%!important}
  .hero-chip__desc{white-space:normal!important;overflow:visible!important;text-overflow:unset!important}
}
@media(max-width:768px){
  .services-grid,.clients-grid,.value-grid{grid-template-columns:1fr!important}
  .stats-grid{grid-template-columns:repeat(2,1fr)!important}
  .service-tier-grid,.testimonials-track{grid-template-columns:1fr!important}
  .contact-wechat-grid{grid-template-columns:1fr!important}
  .service-selector{grid-template-columns:1fr!important}

  .hero{
    padding-top:calc(var(--nav) + env(safe-area-inset-top, 0px) + 36px)!important;
    padding-bottom:48px!important;
    overflow:visible!important;
  }
  .hero-shell{padding:0 16px!important}
  .hero-content{padding:0!important}

  .hero-badge{
    display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;
    max-width:100%!important;margin-bottom:16px!important;
    font-size:.62rem!important;letter-spacing:.06em!important;
    line-height:1.45!important;padding:6px 12px!important;
    white-space:normal!important;word-break:break-word!important;
  }

  .hero-title--ladder .hero-title-row{
    white-space:normal!important;word-break:keep-all!important;
  }
  .hero-title--ladder .hero-title-row--core,
  .hero-title--ladder .hero-title-row--finale,
  .hero-title--ladder .hero-title-rule{
    margin-left:0!important;width:100%!important;
  }
  .hero-title--ladder .hero-title-rule{width:64px!important;margin-top:12px!important}

  .hero-actions{flex-direction:column!important;width:100%!important}
  .hero-actions .btn{width:100%!important;justify-content:center!important;box-sizing:border-box!important}

  .page-hero{
    padding-top:calc(var(--nav) + env(safe-area-inset-top, 0px) + 40px)!important;
    padding-bottom:56px!important;
  }
  .page-hero h1{font-size:2rem!important}

  .filter-bar,.case-filter-bar,.news-filter-bar{
    position:static!important;top:auto!important;
    flex-wrap:wrap!important;gap:8px!important;
    padding:10px 12px!important;margin-bottom:20px!important;
  }
  .news-tabs{flex-wrap:wrap!important;gap:6px!important}
  .filter-btn,.news-tab{flex:1 1 auto!important;min-width:calc(50% - 6px)!important;text-align:center!important}
}
@media(max-width:480px){
  .hero-title--ladder .hero-title-glyph--animated .hero-char{
    font-size:clamp(1.75rem,8.5vw,2.4rem)!important;
  }
  .hero-title--ladder .hero-title-row--core .hero-char{
    font-size:clamp(2.2rem,10vw,3rem)!important;
  }
  .filter-btn,.news-tab{min-width:100%!important}
}
