/* ============================================================================
   中轴金轴 · 首都中轴线视觉系统
   宫墙朱红 #9e2b25 ／ 琉璃金黄 #d9a62e ／ 汉白玉暖白 #faf7f0 ／ 玄青 #23262e
   全站母题：中轴线天际线剪影 + 祥云纹
   组合指纹 seed=01906182：hero B / biz A / news C / process C / cta C /
   trust B / nav A / footer A / sep B / heading C / corner A / density A / order β
   ============================================================================ */

:root{
  --brand:#9e2b25;
  --brand-deep:#7a1f1b;
  --brand-ink:#4a110d;
  --accent:#d9a62e;
  --accent-deep:#b8860f;
  --accent-soft:#e7c25a;
  --bg:#faf7f0;
  --bg-alt:#f3ecdd;
  --surface:#ffffff;
  --ink:#23262e;
  --ink-2:#2e3240;
  --text:#2a2320;
  --text-soft:#4a423c;
  --text-light:#5f6b7a;
  --gray:#94a3b8;
  --gray-light:#cbd5e1;
  --border:#d8c9ae;
  --border-soft:#e9dfca;
  --radius:16px;
  --radius-sm:10px;
  --radius-lg:22px;
  --shadow-sm:0 2px 10px rgba(74,17,13,.06);
  --shadow:0 12px 32px rgba(74,17,13,.10);
  --shadow-lg:0 28px 64px rgba(74,17,13,.16);
  --gold-grad:linear-gradient(135deg,#f0d081,#d9a62e 48%,#b8860f);
  --brand-grad:linear-gradient(135deg,#b6352c,#9e2b25 52%,#7a1f1b);
  --sky-grad:linear-gradient(180deg,#3d0d0a 0%,#5a140f 22%,#7a1f1b 46%,#9e2b25 72%,#6e1a15 100%);
  --maxw:1180px;
  --nav-h:70px;
}

/* ---------- 基础 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.7;
  font-size:16px;
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand);text-decoration:none}
a:hover{color:var(--brand-deep)}
h1,h2,h3,h4{line-height:1.25;margin:0 0 .5em;font-weight:800;letter-spacing:.01em}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
::selection{background:var(--brand);color:#fff}

/* 正文富文本防护（表格/图片/代码不撑破） */
.detail__content img,.page-content img{height:auto;border-radius:var(--radius-sm)}
.detail__content table,.page-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.detail__content pre,.page-content pre{max-width:100%;overflow-x:auto;background:var(--ink);color:#f3ecdd;padding:16px;border-radius:var(--radius-sm)}

/* ---------- 区块骨架（density A 标准 80px） ---------- */
.section{padding:80px 0;position:relative}
.section-alt{background:var(--bg-alt)}
.sep{opacity:.5;margin:0 .4em}

/* ---------- 区块标题（heading C 大号编号） ---------- */
.section-head{position:relative;margin-bottom:48px;padding-left:96px}
.secnum{
  position:absolute;left:0;top:-14px;
  font-size:64px;font-weight:900;line-height:1;
  color:transparent;
  -webkit-text-stroke:1.5px rgba(158,43,37,.35);
  background:linear-gradient(180deg,rgba(217,166,46,.9),rgba(158,43,37,.25));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  pointer-events:none;user-select:none;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent-deep);margin-bottom:10px;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--gold-grad);border-radius:2px}
.section-title{font-size:clamp(26px,3.4vw,38px);color:var(--brand-ink);margin:0}
.section-desc{max-width:640px;color:var(--text-light);margin:12px 0 0;font-size:16px}
.section-subhead{color:var(--text-light)}
.head-orn{display:inline-block;width:52px;height:4px;border-radius:3px;background:var(--gold-grad);margin-top:16px}
/* 居中变体 */
.section-head.is-center{padding-left:0;text-align:center}
.section-head.is-center .secnum{position:static;display:block;font-size:56px;margin-bottom:6px}
.section-head.is-center .section-desc{margin-left:auto;margin-right:auto}
.section-head.is-center .eyebrow{justify-content:center}

/* ---------- 斜切分割线（section_sep B） ---------- */
.slant{position:relative}
.slant-top{clip-path:polygon(0 0,100% 3.5vw,100% 100%,0 100%)}
.slant-bot{clip-path:polygon(0 0,100% 0,100% calc(100% - 3.5vw),0 100%)}
.slant-both{clip-path:polygon(0 0,100% 3.5vw,100% calc(100% - 3.5vw),0 100%)}
.slant-edge{background:var(--bg-alt)}

/* ---------- 按钮（含光斑扫过动效） ---------- */
.btn{
  position:relative;display:inline-flex;align-items:center;gap:10px;
  padding:14px 28px;border-radius:var(--radius);font-weight:700;font-size:15px;
  cursor:pointer;border:1px solid transparent;line-height:1;
  transition:transform .28s cubic-bezier(.2,.7,.3,1.4),box-shadow .28s,background .28s,color .28s,border-color .28s;
  overflow:hidden;white-space:nowrap;
}
.btn .btn-arrow{display:inline-flex;transition:transform .28s}
.btn:hover .btn-arrow{transform:translateX(4px)}
.btn::after{ /* 光斑扫过 */
  content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-20deg);transition:left .6s ease;
}
.btn:hover::after{left:130%}
.btn-primary{background:var(--brand-grad);color:#fff;box-shadow:0 10px 24px rgba(158,43,37,.32)}
.btn-primary:hover{color:#fff;transform:translateY(-3px);box-shadow:0 16px 34px rgba(158,43,37,.42)}
.btn-gold{background:var(--gold-grad);color:var(--brand-ink);box-shadow:0 10px 24px rgba(217,166,46,.35)}
.btn-gold:hover{color:var(--brand-ink);transform:translateY(-3px);box-shadow:0 16px 34px rgba(217,166,46,.45)}
.btn-outline{background:transparent;color:var(--brand);border-color:var(--brand)}
.btn-outline:hover{background:var(--brand);color:#fff;transform:translateY(-3px)}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.35);backdrop-filter:blur(4px)}
.btn-ghost:hover{background:rgba(255,255,255,.22);color:#fff;transform:translateY(-3px)}
.btn-lg{padding:17px 36px;font-size:16px}
.btn-sm{padding:10px 18px;font-size:13px;border-radius:var(--radius-sm)}
.btn-block{width:100%;justify-content:center}

/* ============================================================================
   导航（nav A 实色分离：白底 sticky + 阴影 + 品牌红 active）
   ============================================================================ */
.site-header{
  position:sticky;top:0;z-index:1000;background:var(--surface);
  box-shadow:0 1px 0 var(--border-soft),0 6px 24px rgba(74,17,13,.06);
  transition:box-shadow .3s;
}
.site-header.is-scrolled{box-shadow:0 4px 28px rgba(74,17,13,.14)}
.header-inner{display:flex;align-items:center;gap:16px;height:var(--nav-h)}
.brand{display:inline-flex;align-items:center;gap:12px;font-weight:800;font-size:19px;color:var(--brand-ink)}
.brand:hover{color:var(--brand)}
.brand-badge{
  width:40px;height:40px;border-radius:12px;flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--brand-grad);color:#fff;font-size:19px;font-weight:900;
  box-shadow:0 6px 16px rgba(158,43,37,.35);
  border:1.5px solid rgba(217,166,46,.55);
}
.brand-text{letter-spacing:.02em}
.main-nav{margin-left:auto}
.nav-list{display:flex;align-items:center;gap:6px}
.nav-item{position:relative}
.nav-link{
  display:inline-flex;align-items:center;gap:5px;
  padding:10px 11px;font-size:15px;font-weight:600;color:var(--text-soft);white-space:nowrap;
  border-radius:10px;position:relative;transition:color .25s;
  text-decoration:none;
}
.nav-link::after{
  content:"";position:absolute;left:14px;right:14px;bottom:5px;height:3px;border-radius:3px;
  background:var(--gold-grad);transform:scaleX(0);transform-origin:left;transition:transform .3s;
}
.nav-link:hover{color:var(--brand)}
.nav-link:hover::after{transform:scaleX(1)}
.nav-link.is-active{color:var(--brand);font-weight:800}
.nav-link.is-active::after{transform:scaleX(1)}
.nav-caret{transition:transform .3s}
.nav-item.has-drop:hover .nav-caret{transform:rotate(180deg)}
.nav-drop{
  position:absolute;top:calc(100% + 8px);left:0;min-width:200px;
  background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;
  box-shadow:var(--shadow-lg);padding:8px;opacity:0;visibility:hidden;
  transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s;
}
.nav-item.has-drop:hover .nav-drop{opacity:1;visibility:visible;transform:translateY(0)}
.nav-drop a{
  display:block;padding:11px 14px;border-radius:9px;color:var(--text-soft);
  font-size:14.5px;font-weight:500;transition:background .2s,color .2s,padding-left .2s;
}
.nav-drop a:hover{background:var(--bg-alt);color:var(--brand);padding-left:20px}
.header-phone{
  display:inline-flex;align-items:center;gap:8px;margin-left:8px;
  padding:10px 22px;border-radius:999px;background:var(--brand);
  color:#fff;font-weight:700;font-size:14.5px;border:1px solid transparent;
  box-shadow:0 6px 16px rgba(158,43,37,.28);white-space:nowrap;
  transition:background .25s,color .25s,transform .25s;
}
.header-phone:hover{background:var(--brand-ink);color:#fff;transform:translateY(-2px)}
.nav-toggle{
  display:none;margin-left:auto;background:none;border:0;cursor:pointer;
  color:var(--brand);padding:8px;border-radius:8px;
}

/* ============================================================================
   HERO（hero B 全屏渐变 + 中央文案 + 天际线三层视差 + 祥云漂浮）
   ============================================================================ */
.hero{
  position:relative;overflow:hidden;color:#fff;
  background:var(--sky-grad);
  min-height:min(92vh,860px);
  display:flex;align-items:center;
  isolation:isolate;
}
.hero *{color:#fff}
.hero-slides{display:grid;width:100%;position:relative;z-index:5}
.hero-slide{
  grid-area:1/1;opacity:0;transition:opacity .9s ease,transform .9s ease;
  transform:translateY(14px);pointer-events:none;
}
.hero-slide.is-on{opacity:1;transform:translateY(0);pointer-events:auto}
.hero-inner{text-align:center;max-width:860px;margin:0 auto;padding:108px 24px 8px}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:var(--accent-soft);
  padding:8px 18px;border:1px solid rgba(231,194,90,.4);border-radius:999px;
  background:rgba(231,194,90,.08);backdrop-filter:blur(3px);margin-bottom:26px;
}
.hero-eyebrow::before,.hero-eyebrow::after{content:"";width:22px;height:1.5px;background:var(--accent-soft);opacity:.7}
.hero-title{
  font-size:clamp(34px,5.6vw,62px);font-weight:900;line-height:1.14;
  margin:0 0 22px;letter-spacing:.02em;
  text-shadow:0 6px 30px rgba(0,0,0,.35);
}
.hero-title .hl{
  background:linear-gradient(120deg,#f4d98a,#e7c25a 40%,#fff 75%,#f4d98a);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:shimmerText 5s linear infinite;
}
.hero-sub{
  font-size:clamp(16px,1.8vw,20px);color:rgba(255,255,255,.86);
  max-width:640px;margin:0 auto 38px;line-height:1.75;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.hero-features{
  display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:center;
  position:relative;z-index:5;margin:6px auto 0;padding:6px 24px 168px;
  font-size:14.5px;color:rgba(255,255,255,.82);
}
.hero-features li{display:inline-flex;align-items:center;gap:8px}
.hero-features .dot{width:7px;height:7px;border-radius:50%;background:var(--gold-grad);flex:0 0 auto;box-shadow:0 0 10px rgba(217,166,46,.8)}

/* 轮播控件 */
.hero-dots{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);z-index:8;display:flex;gap:10px}
.hero-dot{width:34px;height:5px;border-radius:99px;border:0;background:rgba(255,255,255,.28);cursor:pointer;transition:background .3s,width .3s;padding:0}
.hero-dot.is-on{background:var(--accent);width:52px}
.hero-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:8;
  width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.3);
  background:rgba(255,255,255,.1);color:#fff;cursor:pointer;backdrop-filter:blur(4px);
  display:none;align-items:center;justify-content:center;transition:background .3s;
}
.hero-arrow:hover{background:rgba(255,255,255,.25)}
.hero-arrow.prev{left:26px}.hero-arrow.next{right:26px}

/* 天际线剪影（三层视差） */
.skyline{position:absolute;left:0;right:0;bottom:0;z-index:2;pointer-events:none;line-height:0}
.skyline svg{width:100%;height:auto;display:block}
.skyline-layer{position:absolute;left:0;right:0;bottom:0;line-height:0;will-change:transform;transition:transform .18s ease-out}
.skyline-layer svg{width:100%;height:auto;display:block}
.skyline-layer.l1{z-index:2;opacity:.5}
.skyline-layer.l2{z-index:3;opacity:.75}
.skyline-layer.l3{z-index:4}

/* 祥云漂浮 */
.cloud{position:absolute;z-index:3;color:rgba(231,194,90,.5);pointer-events:none;animation:cloudDrift linear infinite}
.cloud.c1{top:16%;left:-12%;animation-duration:46s;opacity:.5}
.cloud.c2{top:30%;left:-18%;animation-duration:64s;animation-delay:-18s;opacity:.35}
.cloud.c3{top:9%;left:-8%;animation-duration:52s;animation-delay:-34s;opacity:.45}
.cloud svg{display:block}

/* 呼吸光晕 */
.hero-glow{
  position:absolute;z-index:1;border-radius:50%;filter:blur(70px);pointer-events:none;
  animation:breathe 7s ease-in-out infinite;
}
.hero-glow.g1{width:520px;height:520px;background:rgba(217,166,46,.28);top:-140px;right:-120px}
.hero-glow.g2{width:420px;height:420px;background:rgba(182,53,44,.4);bottom:-120px;left:-120px;animation-delay:-3.5s}

/* ============================================================================
   业务卡（bizcard A 4列等宽圆角卡）
   ============================================================================ */
.biz-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.biz-card{
  position:relative;background:var(--surface);border:1px solid var(--border-soft);
  border-radius:var(--radius);padding:30px 24px;overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:transform .35s cubic-bezier(.2,.7,.3,1.2),box-shadow .35s,border-color .35s;
  display:flex;flex-direction:column;
}
.biz-card::before{ /* 顶部金色饰线 */
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:var(--gold-grad);transform:scaleX(0);transform-origin:left;transition:transform .4s;
}
.biz-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:rgba(217,166,46,.5)}
.biz-card:hover::before{transform:scaleX(1)}
.biz-icon{
  width:58px;height:58px;border-radius:15px;flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(158,43,37,.1),rgba(217,166,46,.14));
  color:var(--brand);margin-bottom:18px;
  transition:transform .4s,background .4s,color .4s;
}
.biz-card:hover .biz-icon{transform:rotate(-8deg) scale(1.08);background:var(--brand-grad);color:#fff}
.biz-name{font-size:19px;font-weight:800;color:var(--brand-ink);margin:0 0 10px}
.biz-desc{font-size:14px;color:var(--text-light);line-height:1.65;margin:0 0 16px;flex:1}
.biz-kids{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.biz-kids a{font-size:12px;color:var(--text-soft);background:var(--bg-alt);padding:4px 11px;border-radius:99px;transition:background .25s,color .25s}
.biz-kids a:hover{background:var(--brand);color:#fff}
.biz-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--brand)}
.biz-link:hover{color:var(--brand-deep)}
.biz-link .btn-arrow{transition:transform .3s}
.biz-link:hover .btn-arrow{transform:translateX(4px)}

/* ============================================================================
   首页特性卡（hf-*）
   ============================================================================ */
.hf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.hf-card{
  background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);
  padding:30px 26px;box-shadow:var(--shadow-sm);
  transition:transform .35s,box-shadow .35s,border-color .35s;
}
.hf-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(217,166,46,.45)}
.hf-icon{
  width:54px;height:54px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--brand-grad);color:#fff;margin-bottom:16px;box-shadow:0 8px 18px rgba(158,43,37,.28);
}
.hf-name{font-size:18px;font-weight:800;color:var(--brand-ink);margin:0 0 8px}
.hf-desc{font-size:14px;color:var(--text-light);margin:0 0 12px;line-height:1.65}
.hf-link{font-size:14px;font-weight:700;color:var(--brand);display:inline-flex;align-items:center;gap:6px}

/* ============================================================================
   母题叙事带（motif-band，保留兼容）
   ============================================================================ */
.motif-band{background:var(--ink);color:#f3ecdd;padding:64px 0;position:relative;overflow:hidden}
.motif-band *{color:#f3ecdd}
.motif-inner{position:relative;z-index:2;text-align:center;max-width:820px;margin:0 auto}
.motif-line{display:block;margin:0 auto 18px;color:var(--accent)}
.motif-text{font-size:clamp(20px,2.6vw,28px);font-weight:700;line-height:1.6;letter-spacing:.02em}
.motif-text .accent{color:var(--accent-soft)}

/* ============================================================================
   城市名片（中轴叙事 · 大插画 + 文案）
   ============================================================================ */
.citycard{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.citycard-visual{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.citycard-visual .frame{
  background:linear-gradient(180deg,#3d0d0a,#7a1f1b 55%,#9e2b25);
  border-radius:var(--radius-lg);position:relative;overflow:hidden;line-height:0;
  border:1px solid rgba(217,166,46,.3);
}
.citycard-visual .frame svg{width:100%;height:auto;display:block}
.citycard-badge{
  position:absolute;top:20px;left:20px;z-index:3;
  background:rgba(35,38,46,.55);color:#f3ecdd;backdrop-filter:blur(6px);
  border:1px solid rgba(231,194,90,.4);border-radius:999px;padding:8px 18px;
  font-size:13px;font-weight:700;letter-spacing:.14em;
}
.citycard-body .eyebrow{margin-bottom:12px}
.citycard-title{font-size:clamp(26px,3vw,36px);color:var(--brand-ink);margin:0 0 18px}
.citycard-text{color:var(--text-soft);font-size:15.5px;line-height:1.85;margin-bottom:16px}
.axis-points{margin:26px 0 30px;display:grid;gap:14px}
.axis-points li{display:flex;gap:14px;align-items:flex-start}
.axis-points .ap-ic{
  width:40px;height:40px;border-radius:11px;flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(158,43,37,.1),rgba(217,166,46,.16));color:var(--brand);
}
.axis-points .ap-t{font-weight:800;color:var(--brand-ink);font-size:15.5px}
.axis-points .ap-d{font-size:13.5px;color:var(--text-light);margin-top:2px}

/* ============================================================================
   信任条（trust B 2×2 数字卡 · $homeStats 唯一数字区）
   ============================================================================ */
.trust-section{position:relative}
.trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:820px;margin:0 auto}
.trust-item{
  background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);
  padding:34px 28px;display:flex;align-items:center;gap:20px;box-shadow:var(--shadow-sm);
  transition:transform .35s,box-shadow .35s,border-color .35s;position:relative;overflow:hidden;
}
.trust-item::after{
  content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;
  background:radial-gradient(circle,rgba(217,166,46,.14),transparent 70%);
}
.trust-item:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(217,166,46,.5)}
.trust-icon{
  width:60px;height:60px;border-radius:16px;flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--brand-grad);color:#fff;box-shadow:0 10px 22px rgba(158,43,37,.3);
}
.trust-num-wrap{line-height:1.1}
.stat-num{
  font-size:clamp(34px,3.6vw,46px);font-weight:900;color:var(--brand);
  font-variant-numeric:tabular-nums;letter-spacing:-.01em;display:inline-block;
}
.stat-num .sfx{font-size:.5em;color:var(--accent-deep);font-weight:800;margin-left:2px}
.trust-label{font-size:14.5px;color:var(--text-light);margin-top:8px;font-weight:600}

/* ============================================================================
   案例精选（featcase · cover_image + SVG 纹理兜底）
   ============================================================================ */
.featcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.case-card{
  background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;
  transition:transform .35s,box-shadow .35s,border-color .35s;
}
.case-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:rgba(217,166,46,.5)}
.case-cover{
  position:relative;aspect-ratio:16/10;overflow:hidden;line-height:0;
  background:linear-gradient(135deg,#5a140f,#9e2b25 60%,#7a1f1b);
}
.case-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.case-card:hover .case-cover img{transform:scale(1.06)}
.case-cover-mark{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:rgba(231,194,90,.55);
}
.case-cover-mark svg{width:88px;height:88px}
.case-tag{
  position:absolute;top:14px;left:14px;z-index:2;
  background:rgba(35,38,46,.6);color:#f3ecdd;backdrop-filter:blur(4px);
  font-size:12px;font-weight:700;padding:6px 13px;border-radius:99px;
  border:1px solid rgba(231,194,90,.4);
}
.case-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.case-title{font-size:17.5px;font-weight:800;margin:0 0 9px;line-height:1.4}
.case-title a{color:var(--brand-ink)}
.case-title a:hover{color:var(--brand)}
.case-sub{font-size:13.5px;color:var(--text-light);line-height:1.65;margin:0 0 14px;flex:1;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.case-meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--gray);border-top:1px solid var(--border-soft);padding-top:14px}
.case-meta span{display:inline-flex;align-items:center;gap:5px}
.cases-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.chip{
  padding:9px 20px;border-radius:999px;background:var(--surface);border:1px solid var(--border);
  font-size:13.5px;font-weight:600;color:var(--text-soft);cursor:pointer;transition:all .25s;
}
.chip:hover{border-color:var(--brand);color:var(--brand)}
.chip.is-cur{background:var(--brand-grad);color:#fff;border-color:transparent;box-shadow:0 8px 18px rgba(158,43,37,.3)}

/* ============================================================================
   资讯时间线（news C 竖向时间轴 · 8条）
   ============================================================================ */
.news-timeline{position:relative;max-width:760px;margin:0 auto;padding-left:34px}
.news-timeline::before{
  content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;
  background:linear-gradient(180deg,var(--accent),var(--brand) 55%,transparent);
}
.news-tl-item{position:relative;padding:0 0 34px 26px}
.news-tl-item::before{
  content:"";position:absolute;left:-29px;top:7px;width:14px;height:14px;border-radius:50%;
  background:var(--surface);border:3.5px solid var(--brand);box-shadow:0 0 0 4px rgba(217,166,46,.18);
  transition:background .3s,transform .3s;
}
.news-tl-item:hover::before{background:var(--accent);transform:scale(1.2)}
.news-tl-date{font-size:12.5px;font-weight:700;letter-spacing:.1em;color:var(--accent-deep);text-transform:uppercase;margin-bottom:5px}
.news-tl-card{
  background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);
  padding:18px 22px;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s,border-color .3s;
}
.news-tl-item:hover .news-tl-card{transform:translateX(6px);box-shadow:var(--shadow);border-color:rgba(217,166,46,.45)}
.news-tl-title{font-size:16.5px;font-weight:700;margin:0 0 6px;line-height:1.45}
.news-tl-title a{color:var(--brand-ink)}
.news-tl-title a:hover{color:var(--brand)}
.news-tl-desc{font-size:13.5px;color:var(--text-light);margin:0;line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* 资讯网格卡（news-card · 列表页 / 相关通用） */
.news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.article-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.news-card{
  background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);
  padding:24px 22px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);
  transition:transform .3s,box-shadow .3s,border-color .3s;
}
.news-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(217,166,46,.45)}
.news-cat{
  align-self:flex-start;font-size:11.5px;font-weight:700;letter-spacing:.06em;
  color:var(--accent-deep);background:rgba(217,166,46,.14);padding:4px 11px;border-radius:99px;margin-bottom:12px;
}
.news-title{font-size:16px;font-weight:800;margin:0 0 9px;line-height:1.45}
.news-title a{color:var(--brand-ink)}
.news-title a:hover{color:var(--brand)}
.news-desc{font-size:13.5px;color:var(--text-light);line-height:1.65;margin:0 0 14px;flex:1;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-meta{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border-soft);padding-top:13px}
.news-date{font-size:12.5px;color:var(--gray)}
.news-more{font-size:13px;font-weight:700;color:var(--brand);display:inline-flex;align-items:center;gap:4px}
.news-more:hover{color:var(--brand-deep)}

/* ============================================================================
   流程（process C 大数字卡）
   ============================================================================ */
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:proc}
.proc-card{
  position:relative;background:var(--surface);border:1px solid var(--border-soft);
  border-radius:var(--radius);padding:34px 26px 28px;box-shadow:var(--shadow-sm);overflow:hidden;
  transition:transform .35s,box-shadow .35s,border-color .35s;
}
.proc-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:rgba(217,166,46,.5)}
.proc-num{
  font-size:74px;font-weight:900;line-height:1;color:transparent;
  -webkit-text-stroke:1.5px rgba(158,43,37,.3);
  background:linear-gradient(180deg,rgba(217,166,46,.85),rgba(158,43,37,.2));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  margin-bottom:16px;display:block;user-select:none;
}
.proc-title{font-size:18px;font-weight:800;color:var(--brand-ink);margin:0 0 10px}
.proc-desc{font-size:13.5px;color:var(--text-light);line-height:1.7;margin:0}
.proc-card::after{ /* 连接箭头 */
  content:"";position:absolute;right:-13px;top:50%;transform:translateY(-50%);
  width:26px;height:26px;z-index:2;
  background:
    linear-gradient(45deg,transparent 46%,var(--accent) 46%,var(--accent) 54%,transparent 54%);
  opacity:0;
}
.proc-card:not(:last-child){ }
/* 竖向时间线（process.html 保留页用） */
.process-timeline{max-width:720px;margin:0 auto;position:relative;padding-left:36px}
.process-timeline::before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,var(--accent),var(--brand))}
.pt-item{position:relative;padding:0 0 40px 28px}
.pt-item:last-child{padding-bottom:0}
.pt-node{
  position:absolute;left:-36px;top:0;width:46px;height:46px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--brand-grad);color:#fff;font-weight:800;font-size:18px;
  box-shadow:0 0 0 5px rgba(217,166,46,.2),0 8px 18px rgba(158,43,37,.3);
}
.pt-title{font-size:18px;font-weight:800;color:var(--brand-ink);margin:0 0 8px;padding-top:10px}
.pt-desc{font-size:14.5px;color:var(--text-light);line-height:1.7;margin:0;max-width:600px}

/* ============================================================================
   伙伴墙（partner marquee 无限滚动 · 纯CSS）
   ============================================================================ */
.partner{overflow:hidden;padding:56px 0;background:var(--ink);position:relative}
.partner *{color:#f3ecdd}
.partner-label{text-align:center;font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-soft);margin-bottom:30px}
.partner-track{display:flex;width:max-content;gap:0;animation:marquee 32s linear infinite}
.partner:hover .partner-track{animation-play-state:paused}
.partner-set{display:flex;gap:16px;padding-right:16px}
.partner-item{
  display:inline-flex;align-items:center;gap:10px;white-space:nowrap;
  padding:14px 26px;border-radius:14px;border:1px solid rgba(243,236,221,.16);
  background:rgba(243,236,221,.05);font-size:15px;font-weight:700;color:#f3ecdd;
  transition:background .3s,border-color .3s;
}
.partner-item:hover{background:rgba(217,166,46,.12);border-color:rgba(217,166,46,.4)}
.partner-item svg{color:var(--accent);flex:0 0 auto}

/* ============================================================================
   CTA（cta C 服务承诺背书式 · 不重复统计数字）
   ============================================================================ */
.cta-section{position:relative;background:var(--sky-grad);color:#fff;overflow:hidden}
.cta-section *{color:#fff}
.cta-deco{position:absolute;pointer-events:none;line-height:0;opacity:.4}
.cta-deco svg{display:block}
.cta-inner{position:relative;z-index:2;text-align:center;padding:96px 24px 100px;max-width:900px;margin:0 auto}
.cta-eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-soft);margin-bottom:16px}
.cta-title{font-size:clamp(28px,4vw,46px);font-weight:900;margin:0 0 18px;text-shadow:0 4px 24px rgba(0,0,0,.3)}
.cta-sub{font-size:clamp(15px,1.7vw,18px);color:rgba(255,255,255,.85);max-width:620px;margin:0 auto 40px;line-height:1.75}
.promise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:46px}
.promise-item{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);
  padding:24px 16px;backdrop-filter:blur(6px);transition:transform .3s,background .3s,border-color .3s;
}
.promise-item:hover{transform:translateY(-5px);background:rgba(255,255,255,.14);border-color:rgba(231,194,90,.5)}
.promise-icon{
  width:50px;height:50px;border-radius:14px;margin:0 auto 14px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(231,194,90,.16);color:var(--accent-soft);border:1px solid rgba(231,194,90,.3);
}
.promise-t{font-size:15.5px;font-weight:800;margin-bottom:5px}
.promise-d{font-size:12.5px;color:rgba(255,255,255,.72);line-height:1.5}
.cta-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}

/* ============================================================================
   页面头（page-hero）+ 面包屑
   ============================================================================ */
.page-hero{
  position:relative;background:linear-gradient(180deg,#3d0d0a,#7a1f1b 60%,#9e2b25);
  color:#fff;padding:64px 0 70px;overflow:hidden;
}
.page-hero *{color:#fff}
.page-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(700px 300px at 85% 0%,rgba(217,166,46,.22),transparent 60%)}
.page-hero .container{position:relative;z-index:2}
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.72);margin-bottom:16px}
.breadcrumb a{color:rgba(255,255,255,.82)}
.breadcrumb a:hover{color:var(--accent-soft)}
.breadcrumb .sep{color:rgba(255,255,255,.45)}
.page-hero-title{font-size:clamp(28px,3.6vw,42px);font-weight:900;margin:0 0 12px;text-shadow:0 3px 18px rgba(0,0,0,.28)}
.page-hero-desc{font-size:15.5px;color:rgba(255,255,255,.82);max-width:640px;margin:0}

/* ============================================================================
   布局（主+侧栏）/ 列表 / 分页 / 侧栏
   ============================================================================ */
.layout{display:grid;grid-template-columns:1fr 320px;gap:40px;padding-top:56px;padding-bottom:72px}
.layout-main{min-width:0}
.list-count{font-size:13.5px;color:var(--text-light);margin:0 0 22px;padding-bottom:14px;border-bottom:1px solid var(--border-soft)}
.pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:44px}
.page-link{
  min-width:42px;height:42px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:11px;background:var(--surface);border:1px solid var(--border);font-size:14px;font-weight:600;
  color:var(--text-soft);transition:all .25s;
}
.page-link:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-2px)}
.page-link.is-current{background:var(--brand-grad);color:#fff;border-color:transparent;box-shadow:0 8px 16px rgba(158,43,37,.3)}
.page-link.is-disabled{opacity:.4;pointer-events:none}
.empty-state{text-align:center;padding:70px 24px;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius)}
.empty-state .big{font-size:20px;font-weight:800;color:var(--brand-ink);margin-bottom:8px}
.empty-state p{color:var(--text-light);font-size:14.5px}
.side-panel{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm);margin-bottom:22px}
.side-title{font-size:16px;font-weight:800;color:var(--brand-ink);margin:0 0 16px;padding-bottom:12px;border-bottom:2px solid var(--bg-alt);position:relative}
.side-title::after{content:"";position:absolute;left:0;bottom:-2px;width:40px;height:2px;background:var(--gold-grad)}
.side-cats li{margin-bottom:4px}
.side-cats a{display:block;padding:10px 12px;border-radius:9px;font-size:14px;color:var(--text-soft);transition:background .2s,color .2s,padding-left .2s}
.side-cats a:hover{background:var(--bg-alt);color:var(--brand);padding-left:18px}
.side-cats a.is-cur{background:var(--brand-grad);color:#fff;font-weight:700}
.side-cta{background:var(--brand-grad);border-color:transparent}
.side-cta *{color:#fff}
.side-cta .side-title{color:#fff;border-bottom-color:rgba(255,255,255,.2)}
.side-cta .side-title::after{background:var(--accent-soft)}
.side-cta p{font-size:13.5px;color:rgba(255,255,255,.85);margin-bottom:16px}

/* ============================================================================
   详情页 / 相关文章
   ============================================================================ */
.detail-wrap{max-width:820px;margin:0 auto;padding:56px 0 40px}
.detail__title{font-size:clamp(26px,3.4vw,38px);color:var(--brand-ink);margin:0 0 18px}
.detail__meta{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13.5px;color:var(--gray);padding-bottom:22px;border-bottom:1px solid var(--border-soft);margin-bottom:30px}
.detail__content{font-size:16px;line-height:1.9;color:var(--text-soft)}
.detail__content h2,.detail__content h3{color:var(--brand-ink);margin-top:1.6em}
.detail__nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:46px}
.detail__nav-cell{
  background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);
  padding:18px 20px;transition:border-color .3s,box-shadow .3s;display:block;
}
.detail__nav-cell:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}
.detail__nav-cell.next{text-align:right}
.detail__nav-label{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--accent-deep);text-transform:uppercase;display:block;margin-bottom:6px}
.detail__nav-title{font-size:14.5px;font-weight:700;color:var(--brand-ink);
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.related-card{
  background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);
  padding:20px;transition:transform .3s,box-shadow .3s,border-color .3s;display:block;
}
.related-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(217,166,46,.45)}
.rc-title{font-size:15px;font-weight:700;color:var(--brand-ink);margin:0 0 8px;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rc-date{font-size:12.5px;color:var(--gray)}

/* ============================================================================
   联系 / 表单
   ============================================================================ */
.contact-grid{display:grid;grid-template-columns:380px 1fr;gap:36px;padding:56px 0 72px;align-items:start}
.contact-info{display:grid;gap:16px}
.info-item{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:20px 22px;display:flex;gap:16px;align-items:flex-start;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s}
.info-item:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.ic{width:46px;height:46px;border-radius:13px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;background:var(--brand-grad);color:#fff}
.info-cell .t{font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--text-light);text-transform:uppercase;margin-bottom:3px}
.info-cell .v{font-size:16px;font-weight:700;color:var(--brand-ink)}
.info-cell .v a{color:var(--brand)}
.form-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow)}
.form-row{margin-bottom:20px}
.form-row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-label{display:block;font-size:14px;font-weight:700;color:var(--brand-ink);margin-bottom:8px}
.form-label .req{color:var(--brand)}
.form-control{
  width:100%;padding:13px 16px;border:1.5px solid var(--gray-light);border-radius:var(--radius-sm);
  font-size:15px;font-family:inherit;color:var(--text);background:var(--bg);transition:border-color .25s,box-shadow .25s;
}
.form-control:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(158,43,37,.12);background:#fff}
textarea.form-control{min-height:140px;resize:vertical}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;overflow:hidden}
.flash{padding:16px 20px;border-radius:var(--radius-sm);margin-bottom:22px;font-size:14.5px;font-weight:600;border:1.5px solid}
.flash-ok{background:#f0f9f0;border-color:#7fb069;color:#2d6a2d}
.flash-err{background:#fdf0ef;border-color:#e08a82;color:#a02c22}

/* ============================================================================
   搜索结果 / 标签 / 区县 / 网站地图 / 404
   ============================================================================ */
.search-form{display:flex;gap:12px;max-width:560px;margin:0 0 36px}
.search-form .form-control{flex:1}
.result-list{display:grid;gap:16px}
.result-cell{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:22px 24px;transition:border-color .3s,box-shadow .3s;display:block}
.result-cell:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}
.sm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:56px 0 72px}
.sm-group{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:26px}
.sm-group h3{font-size:16px;font-weight:800;color:var(--brand-ink);margin:0 0 14px;padding-bottom:12px;border-bottom:2px solid var(--bg-alt)}
.sm-group a{display:block;padding:7px 0;font-size:14px;color:var(--text-soft)}
.sm-group a:hover{color:var(--brand);padding-left:6px}
.nf-wrap{text-align:center;padding:100px 24px 110px}
.nf-code{font-size:clamp(90px,16vw,180px);font-weight:900;line-height:1;
  background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px}
.nf-title{font-size:clamp(22px,3vw,32px);color:var(--brand-ink);margin:0 0 14px}
.nf-desc{font-size:15.5px;color:var(--text-light);max-width:480px;margin:0 auto 34px}
.page-content{padding:56px 0 72px;max-width:820px}
.page-content h2,.page-content h3{color:var(--brand-ink)}

/* ============================================================================
   页脚（footer A 4列 · 玄青深色 + 天际线剪影带）
   ============================================================================ */
.site-footer{background:var(--ink);color:#cfd2da;position:relative;margin-top:0}
.site-footer,.site-footer a{color:#cfd2da}
.footer-skyline{line-height:0;background:var(--ink);color:rgba(217,166,46,.3);margin-bottom:-1px}
.footer-skyline svg{width:100%;height:auto;display:block}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:44px;padding:64px 24px 48px}
.brand--footer{color:#fff;font-size:20px}
.brand--footer:hover{color:var(--accent-soft)}
.footer-desc{font-size:14px;color:#9aa0ad;line-height:1.75;margin:18px 0 0;max-width:300px}
.footer-title{font-size:15px;font-weight:800;color:#fff;margin:0 0 18px;letter-spacing:.04em;position:relative;padding-bottom:12px}
.footer-title::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:2.5px;background:var(--gold-grad);border-radius:2px}
.footer-links li{margin-bottom:10px}
.footer-links a{font-size:14px;color:#9aa0ad;transition:color .25s,padding-left .25s}
.footer-links a:hover{color:var(--accent-soft);padding-left:6px}
.footer-contact li{margin-bottom:13px}
.footer-contact a,.footer-contact span{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:#9aa0ad}
.footer-contact a:hover{color:var(--accent-soft)}
.footer-contact svg{color:var(--accent);flex:0 0 auto}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:22px 0}
.footer-bottom p{margin:0;font-size:12.5px;color:#7a7f8c;line-height:2}
.footer-bottom a{color:#9aa0ad}
.footer-bottom a:hover{color:var(--accent-soft)}

/* ============================================================================
   zfkf 悬浮客服（统一标准组件 · 不随主题）
   ============================================================================ */
.zfkf-float{position:fixed;right:20px;bottom:120px;z-index:9999;display:flex;flex-direction:column;gap:10px}
.zfkf-item{position:relative;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.18);transition:all .25s;cursor:pointer}
.zfkf-item:hover{transform:scale(1.08);color:#fff}
.zfkf-phone{background:#2563eb}
.zfkf-wechat{background:#07c160}
.zfkf-consult{background:#f59e0b}
.zfkf-top{background:#334155}
.zfkf-tip{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);white-space:nowrap;background:rgba(0,0,0,.78);color:#fff;font-size:12px;padding:5px 10px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10001}
.zfkf-item:hover .zfkf-tip{opacity:1}
.zfkf-wechat-mask{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000;display:none;align-items:center;justify-content:center}
.zfkf-wechat-mask.zfkf-show{display:flex}
.zfkf-wechat-box{background:#fff;border-radius:12px;padding:24px;text-align:center;position:relative;max-width:80vw}
.zfkf-wechat-box img{width:180px;height:180px;object-fit:contain;border:1px solid #eee;border-radius:8px}
.zfkf-wechat-noimg{width:180px;height:180px;display:flex;align-items:center;justify-content:center;border:1px dashed #ddd;border-radius:8px;font-size:18px;font-weight:700;color:#333;padding:0 12px;word-break:break-all}
.zfkf-wechat-box p{margin:12px 0 0;color:#333;font-size:14px}
.zfkf-wechat-close{position:absolute;top:6px;right:12px;font-size:24px;cursor:pointer;color:#999;line-height:1}
.zfkf-wechat-close:hover{color:#333}

/* ============================================================================
   动效：reveal 入场 / 计数 / 关键帧
   ============================================================================ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1)}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-stagger>*{opacity:0;transform:translateY(28px);transition:opacity .6s cubic-bezier(.2,.6,.2,1),transform .6s cubic-bezier(.2,.6,.2,1)}
.reveal-stagger.in>*{opacity:1;transform:translateY(0)}
.reveal-stagger.in>*:nth-child(1){transition-delay:.05s}
.reveal-stagger.in>*:nth-child(2){transition-delay:.15s}
.reveal-stagger.in>*:nth-child(3){transition-delay:.25s}
.reveal-stagger.in>*:nth-child(4){transition-delay:.35s}
.reveal-stagger.in>*:nth-child(5){transition-delay:.45s}
.reveal-stagger.in>*:nth-child(6){transition-delay:.55s}
.reveal-stagger.in>*:nth-child(7){transition-delay:.65s}
.reveal-stagger.in>*:nth-child(8){transition-delay:.75s}
/* 方向变体 */
.reveal-left{transform:translateX(-32px)}
.reveal-left.in{transform:translateX(0)}
.reveal-right{transform:translateX(32px)}
.reveal-right.in{transform:translateX(0)}
.reveal-zoom{transform:scale(.92)}
.reveal-zoom.in{transform:scale(1)}

@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes cloudDrift{
  0%{transform:translateX(0)}
  100%{transform:translateX(130vw)}
}
@keyframes breathe{
  0%,100%{opacity:.6;transform:scale(1)}
  50%{opacity:1;transform:scale(1.08)}
}
@keyframes shimmerText{to{background-position:200% center}}
@keyframes floatY{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-12px)}
}
@keyframes pulseRing{
  0%{box-shadow:0 0 0 0 rgba(217,166,46,.45)}
  70%{box-shadow:0 0 0 16px rgba(217,166,46,0)}
  100%{box-shadow:0 0 0 0 rgba(217,166,46,0)}
}
.float-soft{animation:floatY 5s ease-in-out infinite}
.pulse-ring{animation:pulseRing 2.6s ease-out infinite}

/* 磁吸按钮（JS 写入 --mx/--my） */
.magnetic{transition:transform .2s ease-out;will-change:transform}
.magnetic:hover{transform:translate(var(--mx,0),var(--my,0))}

/* ============================================================================
   响应式
   ============================================================================ */
@media (max-width:1024px){
  .biz-grid{grid-template-columns:repeat(2,1fr)}
  .hf-grid{grid-template-columns:repeat(2,1fr)}
  .news-grid{grid-template-columns:repeat(2,1fr)}
  .featcase-grid,.case-grid{grid-template-columns:repeat(2,1fr)}
  .proc-grid{grid-template-columns:repeat(2,1fr)}
  .promise-grid{grid-template-columns:repeat(2,1fr)}
  .citycard{grid-template-columns:1fr;gap:36px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  .layout{grid-template-columns:1fr}
  .layout-side{order:-1}
  .contact-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .section{padding:56px 0}
  .section-head{padding-left:0}
  .secnum{position:static;display:block;font-size:44px;margin-bottom:4px}
  .biz-grid,.hf-grid,.news-grid,.article-grid,.featcase-grid,.case-grid,.proc-grid,.promise-grid,.related-grid,.sm-grid{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:1fr}
  .form-row2{grid-template-columns:1fr}
  .detail__nav{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .hero-inner{padding:96px 20px 170px}
  .hero-features{gap:10px 18px;font-size:13px}
  .header-phone span{display:none}
  .cta-inner{padding:64px 20px 70px}
  .form-card{padding:26px 20px}
  /* 移动导航 */
  .nav-toggle{display:inline-flex}
  .main-nav{
    position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;z-index:999;
    background:var(--surface);padding:20px;overflow-y:auto;
    transform:translateX(100%);transition:transform .32s ease;
    box-shadow:-8px 0 30px rgba(0,0,0,.1);
  }
  .main-nav.is-open{transform:translateX(0)}
  .nav-list{flex-direction:column;align-items:stretch;gap:4px}
  .nav-link{display:flex;width:100%;padding:14px 12px;font-size:16px}
  .nav-drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 16px;display:none}
  .nav-item.has-drop.is-open .nav-drop{display:block}
  .nav-item.has-drop.is-open .nav-caret{transform:rotate(180deg)}
}

/* ============================================================================
   降级：no-js 与 prefers-reduced-motion
   ============================================================================ */
.no-js .hero-slide{opacity:1;transform:none;pointer-events:auto}
.no-js .hero-slide:not(:first-child){display:none}
.no-js .hero-dots,.no-js .hero-arrow{display:none}
.no-js .reveal,.no-js .reveal-stagger>*{opacity:1;transform:none}
.no-js .stat-num{opacity:1}
.no-js .main-nav{position:static;transform:none;box-shadow:none;padding:0;overflow:visible}
.no-js .nav-toggle{display:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .reveal,.reveal-stagger>*{opacity:1;transform:none}
  .hero-slide{transition:none}
  .partner-track{animation:none}
  .cloud,.hero-glow,.float-soft,.pulse-ring{animation:none}
}

/* ===== tz-rich-text typography (auto-appended) ===== */
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article)>:first-child{margin-top:0}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article)>:last-child{margin-bottom:0}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) p{margin:0 0 1.05em;line-height:1.9}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) h1,:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) h2{margin:1.6em 0 .7em;line-height:1.4;font-weight:700}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) h1{font-size:1.6em}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) h2{font-size:1.4em}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) h3{margin:1.4em 0 .6em;font-size:1.2em;line-height:1.45;font-weight:700}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) h4{margin:1.2em 0 .5em;font-size:1.08em;font-weight:700}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) h5,:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) h6{margin:1.1em 0 .5em;font-size:1em;font-weight:700}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) ul,:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) ol{margin:0 0 1.05em;padding-left:1.7em}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) li{margin:.35em 0;line-height:1.8}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) img{max-width:100%;height:auto;border-radius:8px}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) figure{margin:1.2em 0}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) figcaption{margin-top:.5em;font-size:.85em;opacity:.7;text-align:center}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) blockquote{margin:1.2em 0;padding:.2em 0 .2em 1em;border-left:3px solid currentColor;opacity:.85}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.96em}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) th,:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) td{border:1px solid rgba(127,127,127,.3);padding:.5em .75em;text-align:left}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) th{font-weight:700;background:rgba(127,127,127,.06)}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) hr{margin:1.6em 0;border:0;border-top:1px solid rgba(127,127,127,.28)}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) pre{overflow:auto;padding:.8em 1em;border-radius:8px;background:rgba(127,127,127,.1);font-size:.92em}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) code{font-size:.94em}
:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) strong,:where(.rich-text,.detail__content,.detail-content,.article-body,.article-content,.article__body,.article--body,.rich-content,.prose,.detail-body,.detail-body__content,.page-content,.content-card,.hd-article-body,.lf-article-body,.cq-article-body,.sq-article-body,.lh-article) b{font-weight:700}
:where(.rich-text) ul{list-style:disc}
:where(.rich-text) ol{list-style:decimal}
:where(.rich-text) a{text-decoration:underline;text-underline-offset:3px}

/* ===== tz-footer-legal (auto-appended) ===== */
.zf-legal-line a{color:inherit;text-decoration:none;opacity:.92}
.zf-legal-line a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}
.zf-legal-line .zf-legal-all{font-weight:600}
.zf-legal-line .zf-legal-copy{opacity:.95}
.zf-legal-line .zf-legal-addr{opacity:.82}
.zf-legal-line .zf-legal-police{text-decoration:none}
@media (max-width:640px){.zf-legal-line{column-gap:.55em;line-height:1.7}}
