/* ==========================================================================
   tangzhiV2 · 保定黑定描金 (baoding_design_dingyao)
   全深色(dim16 E)：墨釉漆黑 #14110E + 定窑描金 #C9A24B + 朱印红 #C8453C + 影青 #8FB0A8
   母题：定窑莲瓣刻花 / 冰裂纹(开片) / 朱文印章 / 飞檐
   硬阴印刷 offset 实色影(dim13 F) · 楷意衬线标题(dim17 F) · 16px 圆角 · 标准密度 · 沉稳动效
   前缀 bd- ；悬浮客服 zfkf-（品牌色固定）
   ========================================================================== */

/* ---------- 1. 令牌 ---------- */
:root {
  --zfkf-brand: #ff5000;

  --gold: #c9a24b;            /* 定窑描金（线/数字/图标） */
  --gold-bright: #e0be6b;
  --gold-dim: #9a7c39;
  --seal: #c8453c;            /* 朱印红（行动色/CTA） */
  --seal-deep: #a93a33;
  --celadon: #8fb0a8;         /* 影青（冷辅） */
  --celadon-deep: #6d9189;

  --ink-0: #14110e;           /* 墨釉漆黑（页面底） */
  --ink-1: #1b1712;           /* 区块底 */
  --ink-2: #221d17;           /* 卡片底 */
  --ink-3: #2b251d;           /* 抬升/hover */
  --line: #3a3227;            /* 描边（金褐） */
  --line-soft: #2c261e;

  --porcelain: #f2ede3;       /* 月白正文（深底） */
  --porcelain-dim: #cdc4b4;
  --muted: #a89e8c;           /* 次要文字（深底，≥4.5:1） */

  /* 灰度下限仍守 slate 语义（§1.5）——深底下用暖灰，边框对比 ≥2:1 */
  --gray-light: #cbd5e1;
  --gray: #94a3b8;
  --text-light: #a89e8c;

  --r: 16px;                  /* dim11 A */
  --r-sm: 10px;
  --r-pill: 999px;

  /* dim13 F 硬阴（印刷感 offset 实色影） */
  --hard: 7px 7px 0 rgba(0, 0, 0, .55);
  --hard-gold: 6px 6px 0 rgba(201, 162, 75, .16);
  --hard-sm: 4px 4px 0 rgba(0, 0, 0, .5);

  --ease: cubic-bezier(.25, .1, .25, 1);   /* 沉稳 */
  --dur: .45s; --dur-fast: .35s; --dur-slow: .5s;

  --sec: 80px;                /* dim12 A 标准密度 */
  --container: 1200px;
  --serif: Georgia, "Times New Roman", "Songti SC", "STSong", "SimSun", serif;   /* dim17 F 楷意 */
  --sans: "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;
}

/* ---------- 2. 基础（全深色） ---------- */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: hidden; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--ink-0); color: var(--porcelain); font-family: var(--sans); font-size: 16px; line-height: 1.75; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { color: var(--gold); text-decoration: none; transition: color var(--dur-fast) var(--ease); }
a:hover { color: var(--gold-bright); }
h1, h2, h3, h4, h5 { margin: 0; line-height: 1.26; font-weight: 700; font-family: var(--serif); letter-spacing: .01em; color: var(--porcelain); }
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
button { font-family: inherit; cursor: pointer; }
.bd-container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 22px; }
.num, .bd-stat-num, .bd-biz-idx { font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; }

:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 3px; border-radius: 4px; }
.bd-skip { position: absolute; left: 12px; top: -60px; z-index: 999; background: var(--gold); color: var(--ink-0); padding: 10px 18px; border-radius: var(--r-sm); font-weight: 700; transition: top var(--dur-fast) var(--ease); }
.bd-skip:focus { top: 12px; color: var(--ink-0); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---------- 3. 深色通栏导航 + 全宽 megamenu（dim7 H） ---------- */
.bd-header { position: sticky; top: 0; z-index: 120; background: rgba(20, 17, 14, .92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line-soft); transition: box-shadow var(--dur-fast) var(--ease), background var(--dur-fast); }
.bd-header.is-scrolled { box-shadow: 0 12px 30px -18px #000; background: rgba(16, 13, 10, .97); }
.bd-header-inner { display: flex; align-items: center; gap: 14px; min-height: 70px; max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.bd-logo { display: inline-flex; align-items: center; gap: 11px; color: var(--porcelain); flex: none; }
.bd-logo:hover { color: var(--porcelain); }
.bd-logo-mark { display: grid; place-items: center; width: 42px; height: 42px; color: var(--gold); background: radial-gradient(circle at 40% 35%, rgba(201, 162, 75, .18), transparent 70%); border: 1px solid var(--line); border-radius: 12px 12px 12px 3px; }
.bd-logo-text { display: flex; flex-direction: column; line-height: 1.18; }
.bd-logo-text strong { font-size: 18px; font-weight: 700; font-family: var(--serif); color: var(--porcelain); }
.bd-logo-text em { font-size: 11.5px; font-style: normal; color: var(--muted); }

.bd-nav { display: flex; align-items: center; gap: 2px; margin-left: auto; flex-wrap: nowrap; }
.bd-nav-item { position: static; }
.bd-nav-item--mega { position: static; }   /* megamenu 全宽面板的定位上下文交给 .bd-header */
.bd-nav-link { display: inline-flex; align-items: center; gap: 5px; padding: 9px 10px; font-size: 15px; font-weight: 600; color: var(--porcelain-dim); text-decoration: none; white-space: nowrap; border-radius: var(--r-sm); position: relative; transition: color var(--dur-fast) var(--ease), background var(--dur-fast); }
.bd-nav-link:hover { color: var(--gold-bright); background: rgba(201, 162, 75, .08); }
.bd-nav-link.is-active { color: var(--gold-bright); }
.bd-nav-link.is-active::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 2px; height: 2px; background: var(--gold); border-radius: 2px; }
.bd-caret { color: var(--muted); transition: transform var(--dur-fast) var(--ease); }
.bd-nav-item:hover .bd-caret, .bd-nav-item.is-open .bd-caret { transform: rotate(180deg); color: var(--gold); }
/* 全宽 megamenu 大面板 */
.bd-mega { position: absolute; left: 0; right: 0; top: 100%; z-index: 130; background: var(--ink-1); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); box-shadow: 0 30px 60px -30px #000; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), visibility var(--dur-fast); }
.bd-nav-item:hover .bd-mega, .bd-nav-item:focus-within .bd-mega, .bd-nav-item.is-open .bd-mega { opacity: 1; visibility: visible; transform: translateY(0); }
.bd-mega-inner { max-width: var(--container); margin: 0 auto; padding: 22px; }
.bd-mega-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-bottom: 12px; margin-bottom: 14px; border-bottom: 1px dashed var(--line); }
.bd-mega-title { font-family: var(--serif); font-size: 17px; color: var(--gold); }
.bd-mega-all { font-size: 13px; color: var(--celadon); }
.bd-mega-all:hover { color: var(--gold-bright); }
.bd-mega-cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px 26px; }
.bd-mega-cols a { display: flex; align-items: center; gap: 9px; padding: 8px 6px; color: var(--porcelain-dim); font-size: 14.5px; border-radius: var(--r-sm); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color var(--dur-fast), background var(--dur-fast), padding-left var(--dur-fast) var(--ease); }
.bd-mega-cols a:hover { color: var(--gold-bright); background: rgba(201, 162, 75, .08); padding-left: 10px; }
.bd-mega-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--seal); flex: none; }
.bd-nav-cta { flex: none; margin-left: 8px; padding: 9px 18px; border-radius: var(--r-pill); background: var(--seal); color: #fff; font-weight: 700; font-size: 14.5px; white-space: nowrap; text-decoration: none; box-shadow: var(--hard-sm); transition: transform var(--dur-fast) var(--ease), background var(--dur-fast); }
.bd-nav-cta:hover { background: var(--seal-deep); color: #fff; transform: translate(-2px, -2px); box-shadow: 6px 6px 0 rgba(0, 0, 0, .5); }
.bd-tel-btn { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; color: var(--gold); background: rgba(201, 162, 75, .08); border: 1px solid var(--line); transition: background var(--dur-fast), transform var(--dur-fast) var(--ease); }
.bd-tel-btn:hover { background: rgba(201, 162, 75, .18); transform: translateY(-2px); }
.bd-burger { display: none; width: 42px; height: 42px; padding: 10px; border: 0; background: transparent; }
.bd-burger span { display: block; height: 2px; width: 100%; background: var(--porcelain); border-radius: 2px; margin: 5px 0; transition: transform var(--dur-fast) var(--ease), opacity var(--dur-fast); }
.bd-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.bd-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.bd-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- 4. Hero（dim1 I 左文右数据图表 + dim16 E 深底） ---------- */
.bd-hero { position: relative; overflow: hidden; color: var(--porcelain); background:
    radial-gradient(760px 420px at 84% 10%, rgba(201, 162, 75, .16), transparent 60%),
    radial-gradient(680px 420px at 6% 92%, rgba(143, 176, 168, .12), transparent 60%),
    linear-gradient(160deg, var(--ink-0), var(--ink-1));
  padding: clamp(54px, 7vw, 96px) 0 clamp(60px, 8vw, 104px); }
.bd-hero-imprint { position: absolute; inset: 0; color: var(--gold); opacity: .07; pointer-events: none; }   /* dim14 C/E 莲瓣刻花+冰裂淡印 */
.bd-hero-imprint svg { width: 100%; height: 100%; }
.bd-hero-vtext { position: absolute; left: 2.5%; top: 16%; writing-mode: vertical-rl; letter-spacing: .5em; font-size: 14px; font-family: var(--serif); color: rgba(201, 162, 75, .45); pointer-events: none; }
.bd-hero-inner { position: relative; z-index: 2; }
.bd-hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 44px; align-items: center; }
.bd-hero-copy { min-width: 0; }   /* 防 grid 子项溢出 */

.bd-hero-slides { display: grid; }
.bd-hero-slide { grid-area: 1 / 1; }
.js .bd-hero-slide { opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility var(--dur); }
.js .bd-hero-slide.is-active { opacity: 1; visibility: visible; transform: none; }
.bd-hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: var(--r-pill); background: rgba(201, 162, 75, .1); border: 1px solid var(--line); color: var(--gold-bright); font-size: 13px; font-weight: 600; margin-bottom: 18px; }
.bd-hero-title { font-size: clamp(28px, 4.4vw, 46px); line-height: 1.22; color: var(--porcelain); margin-bottom: 16px; font-family: var(--serif); }
.bd-hero-title .hl { color: var(--gold-bright); }
.bd-hero-title .bd-ch { display: inline-block; opacity: 0; transform: translateY(14px); }
.js .bd-hero-slide.is-active .bd-hero-title .bd-ch { animation: bdChIn .55s var(--ease) forwards; }
.no-js .bd-hero-title .bd-ch { opacity: 1; transform: none; }
@keyframes bdChIn { to { opacity: 1; transform: none; } }
.bd-hero-desc { font-size: 16.5px; color: var(--porcelain-dim); max-width: 40em; margin-bottom: 14px; }
.bd-hero-narr { font-size: 14px; color: var(--muted); border-left: 2px solid var(--seal); padding-left: 13px; margin-bottom: 26px; }
.bd-hero-actions { display: flex; flex-wrap: wrap; gap: 13px; }
.bd-hero-dots { display: flex; gap: 9px; margin-top: 26px; }
.bd-hero-dot { width: 30px; height: 5px; border: 0; border-radius: var(--r-pill); background: rgba(242, 237, 227, .22); transition: background var(--dur-fast), width var(--dur-fast) var(--ease); }
.bd-hero-dot.is-active { background: var(--gold); width: 48px; }

/* hero 右：数据可视化图表（CHART，呈现 $homeStats 为增长柱；非 4 格数字卡 §1.12） */
.bd-hero-visual { position: relative; display: grid; place-items: center; min-height: 300px; }
.bd-chart { width: 100%; max-width: 420px; background: linear-gradient(160deg, var(--ink-2), var(--ink-1)); border: 1px solid var(--line); border-radius: var(--r); padding: 26px 24px 20px; box-shadow: var(--hard); }
.bd-chart-title { font-size: 13px; color: var(--muted); margin-bottom: 4px; letter-spacing: .04em; }
.bd-chart-sub { font-family: var(--serif); font-size: 16px; color: var(--gold); margin-bottom: 20px; }
.bd-chart-bars { display: flex; align-items: flex-end; gap: 14px; height: 150px; }
.bd-chart-col { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; height: 100%; justify-content: flex-end; }
.bd-chart-bar { width: 100%; max-width: 40px; border-radius: 6px 6px 0 0; background: linear-gradient(180deg, var(--gold-bright), var(--gold-dim)); transform: scaleY(0); transform-origin: bottom; transition: transform 1s var(--ease); }
.bd-chart-col:nth-child(2) .bd-chart-bar { background: linear-gradient(180deg, var(--celadon), var(--celadon-deep)); }
.bd-chart-col:nth-child(4) .bd-chart-bar { background: linear-gradient(180deg, #d76a60, var(--seal)); }
.bd-chart.is-up .bd-chart-bar { transform: scaleY(var(--h, .6)); }
.no-js .bd-chart-bar { transform: scaleY(var(--h, .6)); }   /* no-js：柱形直接到位 */
.bd-chart-val { font-size: 13px; font-weight: 700; color: var(--porcelain); }
.bd-chart-lab { font-size: 11.5px; color: var(--muted); text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.bd-chart-axis { margin-top: 12px; height: 1px; background: var(--line); }
/* 装饰：莲瓣刻花 SVG（$homeStats 空时兜底） */
.bd-hero-motif { width: 100%; max-width: 380px; color: var(--gold); }
.bd-hero-motif .ice { color: var(--celadon); }
.bd-draw { stroke-dasharray: 1000; stroke-dashoffset: 1000; }
.js .bd-hero.is-ready .bd-draw { animation: bdDraw 2.4s var(--ease) forwards; }
.no-js .bd-draw { stroke-dashoffset: 0; }
@keyframes bdDraw { to { stroke-dashoffset: 0; } }
.bd-float { animation: bdFloat 8s ease-in-out infinite; transform-origin: center; }
@keyframes bdFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/* ---------- 5. 按钮 ---------- */
.bd-btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 13px 26px; border-radius: var(--r-sm); font-weight: 700; font-size: 15.5px; text-decoration: none; border: 0; position: relative; overflow: hidden; transition: transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast), background var(--dur-fast); }
.bd-btn-seal { background: var(--seal); color: #fff; box-shadow: var(--hard-sm); }
.bd-btn-seal:hover { color: #fff; background: var(--seal-deep); transform: translate(-2px, -2px); box-shadow: 7px 7px 0 rgba(0, 0, 0, .5); }
.bd-btn-gold { background: linear-gradient(135deg, var(--gold-bright), var(--gold)); color: var(--ink-0); box-shadow: var(--hard-sm); }
.bd-btn-gold:hover { color: var(--ink-0); transform: translate(-2px, -2px); box-shadow: 7px 7px 0 rgba(0, 0, 0, .5); }
.bd-btn-ghost { background: transparent; color: var(--porcelain); border: 1.5px solid var(--line); }
.bd-btn-ghost:hover { color: var(--gold-bright); border-color: var(--gold); background: rgba(201, 162, 75, .07); transform: translateY(-2px); }
.bd-btn::after { content: ""; position: absolute; top: 0; left: -120%; width: 55%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .35), transparent); transform: skewX(-20deg); transition: left .6s var(--ease); }
.bd-btn:hover::after { left: 130%; }
.bd-btn svg { transition: transform var(--dur-fast) var(--ease); }
.bd-btn:hover svg { transform: translateX(4px); }
.bd-ripple { position: absolute; border-radius: 50%; background: rgba(255, 255, 255, .35); transform: scale(0); pointer-events: none; }

/* ---------- 6. 区块通用（dim9 A 纯留白 / dim14 C 渐变光晕） ---------- */
.bd-sec { position: relative; padding: var(--sec) 0; }
.bd-sec--alt { background: linear-gradient(180deg, var(--ink-0), var(--ink-1) 50%, var(--ink-0)); }
.bd-glow { position: absolute; border-radius: 50%; filter: blur(40px); pointer-events: none; z-index: 0; }
.bd-glow--gold { background: radial-gradient(circle, rgba(201, 162, 75, .16), transparent 70%); }
.bd-glow--celadon { background: radial-gradient(circle, rgba(143, 176, 168, .12), transparent 70%); }
.bd-sec > .bd-container { position: relative; z-index: 1; }
.bd-sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 42px; flex-wrap: wrap; }   /* dim10 D 左标题+右基线说明 */
.bd-sec-head-l { max-width: 640px; }
.bd-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; letter-spacing: .16em; color: var(--gold); margin-bottom: 12px; font-family: var(--sans); }
.bd-eyebrow svg { color: var(--seal); }
.bd-sec-title { font-size: clamp(24px, 3.2vw, 34px); color: var(--porcelain); font-family: var(--serif); }
.bd-sec-note { font-size: 14px; color: var(--muted); max-width: 320px; text-align: right; padding-bottom: 4px; border-bottom: 1px solid var(--line); }   /* dim10 D 右侧基线说明 */
.bd-sec-head--center { justify-content: center; text-align: center; }
.bd-sec-head--center .bd-sec-note { display: none; }
.bd-vstrip { position: absolute; right: -8px; top: 0; writing-mode: vertical-rl; letter-spacing: .4em; font-size: 13px; font-family: var(--serif); color: var(--gold); opacity: .35; }

/* ---------- 7. 双 CTA 带（dim18 E + dim5 C 数字背书式，时限数字非 $homeStats） ---------- */
.bd-ctaband { background: linear-gradient(120deg, var(--ink-2), var(--ink-1)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.bd-ctaband-inner { display: grid; grid-template-columns: repeat(4, 1fr) auto; gap: 20px; align-items: center; padding: 26px 22px; }
.bd-endorse { text-align: left; }
.bd-endorse b { display: block; font-family: var(--serif); font-size: 26px; color: var(--gold-bright); line-height: 1.1; }
.bd-endorse span { display: block; font-size: 12.5px; color: var(--muted); margin-top: 4px; }
.bd-ctaband-actions { display: flex; gap: 12px; align-items: center; }

/* ---------- 8. 信任表盘条（dim6 I，数字正常流 §2.5D；REV 翻牌） ---------- */
.bd-trust { padding: 56px 0; background: var(--ink-0); position: relative; }
.bd-trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.bd-gauge { text-align: center; }
.bd-gauge-dial { position: relative; width: 132px; height: 82px; margin: 0 auto; }   /* 仅图形，数字不 absolute 进此盒 */
.bd-gauge-dial svg { width: 132px; height: 82px; overflow: visible; }
.bd-gauge-track { fill: none; stroke: var(--line); stroke-width: 9; stroke-linecap: round; }
.bd-gauge-val { fill: none; stroke: var(--gold); stroke-width: 9; stroke-linecap: round; stroke-dasharray: 176; stroke-dashoffset: 176; transition: stroke-dashoffset 1.3s var(--ease); }
.bd-gauge.is-lit .bd-gauge-val { stroke-dashoffset: 40; }
.bd-gauge-needle { stroke: var(--seal); stroke-width: 3; stroke-linecap: round; transform-origin: 66px 74px; transform: rotate(-86deg); transition: transform 1.3s var(--ease); }
.bd-gauge.is-lit .bd-gauge-needle { transform: rotate(40deg); }
.bd-stat-num { display: block; margin-top: 6px; font-size: 30px; font-weight: 700; font-family: var(--serif); color: var(--gold-bright); line-height: 1.1; }   /* 数字正常流，跟在图形盒后 */
.bd-stat-label { display: block; margin-top: 6px; font-size: 15px; font-weight: 600; color: var(--porcelain); }
.bd-stat-desc { display: block; margin-top: 4px; font-size: 12.5px; color: var(--muted); }
/* REV 翻牌入场 */
.bd-gauge.is-lit .bd-stat-num { animation: bdFlip .6s var(--ease); }
@keyframes bdFlip { 0% { transform: rotateX(-90deg); opacity: 0; } 100% { transform: rotateX(0); opacity: 1; } }

/* ---------- 9. 跑马灯产业带（MAR） ---------- */
.bd-marquee { overflow: hidden; background: var(--ink-1); border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); padding: 15px 0; }
.bd-marquee-track { display: flex; gap: 30px; width: max-content; animation: bdMarq 30s linear infinite; }
.bd-marquee:hover .bd-marquee-track { animation-play-state: paused; }
.bd-marquee-track span { display: inline-flex; align-items: center; gap: 30px; font-family: var(--serif); font-size: 16px; color: var(--porcelain-dim); white-space: nowrap; }
.bd-marquee-track i { width: 6px; height: 6px; border-radius: 50%; background: var(--seal); display: inline-block; }
@keyframes bdMarq { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- 10. 业务卡（dim2 C 横排数字卡 01-04，一行 4 §1.15-6） ---------- */
.bd-biz-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; align-items: stretch; }
.bd-biz-card { position: relative; display: flex; flex-direction: column; background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--hard); overflow: hidden; transform-style: preserve-3d; will-change: transform; transition: transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast), border-color var(--dur-fast); }
.bd-biz-card:hover { border-color: var(--gold-dim); box-shadow: 10px 10px 0 rgba(0, 0, 0, .55); }
.bd-biz-in { padding: 24px 22px; display: flex; flex-direction: column; flex: 1; }
.bd-biz-idx { font-family: var(--serif); font-size: 40px; font-weight: 700; line-height: 1; color: transparent; -webkit-text-stroke: 1.4px var(--gold-dim); margin-bottom: 14px; transition: color var(--dur-fast), -webkit-text-stroke-color var(--dur-fast); }
.bd-biz-card:hover .bd-biz-idx { color: rgba(201, 162, 75, .16); -webkit-text-stroke-color: var(--gold); }
.bd-biz-ico { width: 54px; height: 54px; border-radius: 14px 14px 14px 4px; display: grid; place-items: center; margin-bottom: 16px; color: var(--gold); background: rgba(201, 162, 75, .08); border: 1px solid var(--line); transition: transform var(--dur-fast) var(--ease), color var(--dur-fast); }
.bd-biz-ico .motif-b { color: var(--celadon); }
.bd-biz-ico .motif-c { color: var(--seal); }
.bd-biz-card:hover .bd-biz-ico { transform: scale(1.06) rotate(-3deg); color: var(--gold-bright); }
.bd-biz-title { font-size: 19px; color: var(--porcelain); margin-bottom: 10px; font-family: var(--serif); }
.bd-biz-lead { font-size: 13.5px; color: var(--muted); line-height: 1.7; }
.bd-biz-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }
.bd-biz-chip { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 4px 11px; border-radius: var(--r-pill); font-size: 12.5px; background: rgba(143, 176, 168, .08); color: var(--celadon); border: 1px solid var(--line); text-decoration: none; transition: background var(--dur-fast), color var(--dur-fast), transform var(--dur-fast) var(--ease); }
.bd-biz-chip:hover { background: var(--gold); color: var(--ink-0); transform: translateY(-2px); }
.bd-biz-more { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 16px; font-weight: 700; font-size: 14px; color: var(--gold); }
.bd-biz-more svg { transition: transform var(--dur-fast) var(--ease); }
.bd-biz-more:hover svg { transform: translateX(4px); }

/* ---------- 11. 流程 卡片阶梯（dim4 G 奇偶错位 + STK 粘性高亮，§1.21 五步） ---------- */
.bd-steps { display: flex; flex-direction: column; gap: 18px; }
.bd-step { display: grid; grid-template-columns: 64px 1fr; gap: 20px; align-items: start; background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r); padding: 24px 26px; box-shadow: var(--hard-sm); transition: transform var(--dur) var(--ease), box-shadow var(--dur), border-color var(--dur); }
.bd-step:nth-child(even) { margin-left: 7%; }   /* 奇偶错位阶梯 */
.bd-step:nth-child(odd) { margin-right: 7%; }
.bd-step.is-stuck { border-color: var(--gold-dim); box-shadow: var(--hard); transform: translateY(-3px); }
.bd-step-num { font-family: var(--serif); font-size: 34px; font-weight: 700; color: transparent; -webkit-text-stroke: 1.4px var(--gold); line-height: 1; }
.bd-step h3 { font-size: 19px; color: var(--porcelain); margin-bottom: 8px; font-family: var(--serif); }
.bd-step p { font-size: 14.5px; color: var(--muted); }
.bd-step-tag { display: inline-block; margin-top: 12px; font-size: 12px; color: var(--celadon); background: rgba(143, 176, 168, .1); border: 1px solid var(--line); border-radius: var(--r-pill); padding: 3px 11px; }

/* ---------- 12. 资讯 时间线列表（dim3 C） ---------- */
.bd-news-tl { position: relative; padding-left: 26px; }
.bd-news-tl::before { content: ""; position: absolute; left: 6px; top: 6px; bottom: 6px; width: 1px; background: linear-gradient(180deg, var(--gold-dim), var(--line)); }
.bd-news-row { position: relative; display: grid; grid-template-columns: 92px 1fr; gap: 18px; padding: 16px 0; border-bottom: 1px dashed var(--line-soft); }
.bd-news-row::before { content: ""; position: absolute; left: -23px; top: 24px; width: 9px; height: 9px; border-radius: 50%; background: var(--seal); border: 2px solid var(--ink-0); }
.bd-news-row:last-child { border-bottom: 0; }
.bd-news-date { font-family: var(--serif); color: var(--gold); font-size: 14px; line-height: 1.4; }
.bd-news-date small { display: block; color: var(--muted); font-size: 11.5px; font-family: var(--sans); }
.bd-news-body { min-width: 0; }
.bd-news-body a { display: block; color: var(--porcelain); font-weight: 600; font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }   /* §1.16 单行截断 */
.bd-news-body a:hover { color: var(--gold-bright); }
.bd-news-body p { font-size: 13.5px; color: var(--muted); margin-top: 5px; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.bd-news-cat { display: inline-block; margin-top: 8px; font-size: 11.5px; color: var(--celadon); }
.bd-news-feature { display: block; background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; box-shadow: var(--hard); margin-bottom: 26px; text-decoration: none; transition: transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast); }
.bd-news-feature:hover { transform: translateY(-4px); box-shadow: 10px 10px 0 rgba(0, 0, 0, .55); }
.bd-news-feature-cover { position: relative; aspect-ratio: 21 / 7; display: grid; place-items: center; overflow: hidden; background: linear-gradient(135deg, var(--ink-3), var(--ink-1)); color: var(--gold); }
.bd-news-feature-cover img { width: 100%; height: 100%; object-fit: cover; }
.bd-news-feature-cover svg { width: 34%; opacity: .5; }
.bd-news-feature-body { padding: 18px 22px; }
.bd-news-feature-body h3 { font-size: 19px; color: var(--porcelain); font-family: var(--serif); }
.bd-news-feature:hover .bd-news-feature-body h3 { color: var(--gold-bright); }
.bd-news-feature-meta { margin-top: 8px; font-size: 12.5px; color: var(--muted); }

/* ---------- 13. 案例卡 ---------- */
.bd-case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.bd-case-card { display: flex; flex-direction: column; background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; box-shadow: var(--hard-sm); text-decoration: none; transition: transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast), border-color var(--dur-fast); }
.bd-case-card:hover { transform: translateY(-6px); box-shadow: var(--hard); border-color: var(--gold-dim); }
.bd-case-cover { position: relative; aspect-ratio: 16 / 10; display: grid; place-items: center; overflow: hidden; background: linear-gradient(135deg, var(--ink-3), var(--ink-1)); color: var(--gold); }
.bd-case-cover img { width: 100%; height: 100%; object-fit: cover; }
.bd-case-cover svg { width: 46%; opacity: .5; }
.bd-case-idx { position: absolute; left: 12px; top: 11px; font-family: var(--serif); font-size: 12.5px; font-weight: 700; color: var(--ink-0); background: var(--gold); padding: 2px 10px; border-radius: var(--r-pill); }
.bd-case-body { padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.bd-case-body h3 { font-size: 18px; color: var(--porcelain); font-family: var(--serif); }
.bd-case-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 11px 0; }
.bd-case-tags span { font-size: 12px; color: var(--celadon); background: rgba(143, 176, 168, .1); border: 1px solid var(--line); border-radius: var(--r-pill); padding: 3px 10px; }
.bd-case-body p { font-size: 14px; color: var(--muted); }

/* ---------- 14. 内页 page-hero（深底） ---------- */
.bd-page-hero { position: relative; overflow: hidden; color: var(--porcelain); background: radial-gradient(700px 300px at 88% 0%, rgba(201, 162, 75, .14), transparent 60%), linear-gradient(150deg, var(--ink-1), var(--ink-0)); padding: 46px 0 52px; border-bottom: 1px solid var(--line-soft); }
.bd-page-hero .bd-container { position: relative; z-index: 2; }
.bd-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13.5px; color: var(--muted); margin-bottom: 13px; }
.bd-crumb a { color: var(--porcelain-dim); text-decoration: none; }
.bd-crumb a:hover { color: var(--gold-bright); }
.bd-crumb .sep { color: var(--line); }
.bd-page-hero h1 { font-size: clamp(25px, 3.8vw, 37px); color: var(--porcelain); font-family: var(--serif); }
.bd-page-hero .lead { margin-top: 12px; color: var(--porcelain-dim); max-width: 46em; }

/* ---------- 15. 两栏 + 侧栏 ---------- */
.bd-layout2 { display: grid; grid-template-columns: 1fr 320px; gap: 32px; align-items: start; }
.bd-content-col { min-width: 0; }
.bd-panel { background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--hard-sm); padding: 28px; }
.bd-sidebar { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 92px; }
.bd-side-box { background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r); padding: 22px; }
.bd-side-box h4 { font-size: 16px; color: var(--gold); margin-bottom: 15px; padding-bottom: 11px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 8px; font-family: var(--serif); }
.bd-side-box h4 svg { color: var(--seal); }
.bd-side-list li { overflow: hidden; }
.bd-side-list a { display: block; padding: 9px 0; border-bottom: 1px dashed var(--line-soft); color: var(--porcelain-dim); font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-decoration: none; transition: color var(--dur-fast), padding-left var(--dur-fast) var(--ease); }
.bd-side-list a:hover { color: var(--gold-bright); padding-left: 6px; }
.bd-side-list .rank { display: inline-block; width: 20px; font-weight: 700; color: var(--seal); font-size: 13px; font-family: var(--serif); }
.bd-tagcloud { display: flex; flex-wrap: wrap; gap: 8px; }
.bd-tagcloud a { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; color: var(--celadon); background: rgba(143, 176, 168, .08); border: 1px solid var(--line); padding: 5px 14px; border-radius: var(--r-pill); text-decoration: none; transition: background var(--dur-fast), color var(--dur-fast), transform var(--dur-fast) var(--ease); }
.bd-tagcloud a:hover { background: var(--gold); color: var(--ink-0); transform: translateY(-2px); }
.bd-tagcloud .cnt { color: var(--muted); font-size: 11px; margin-left: 3px; }
.bd-side-cta { background: linear-gradient(150deg, var(--ink-3), var(--ink-2)); border: 1px solid var(--line); border-radius: var(--r); padding: 26px; text-align: center; }
.bd-side-cta h4 { color: var(--porcelain); border: 0; justify-content: center; font-family: var(--serif); }
.bd-side-cta p { color: var(--muted); font-size: 14px; margin: 8px 0 16px; }
.bd-side-cta .bd-tel-big { display: block; font-family: var(--serif); font-size: 22px; font-weight: 700; color: var(--gold-bright); margin-bottom: 14px; }
.bd-side-cta a { color: var(--porcelain); }

/* ---------- 16. 列表 / 详情 ---------- */
.bd-art-row { display: flex; gap: 20px; padding: 20px; background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--hard-sm); transition: transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast), border-color var(--dur-fast); }
.bd-art-row + .bd-art-row { margin-top: 15px; }
.bd-art-row:hover { transform: translateX(5px); box-shadow: var(--hard); border-color: var(--gold-dim); }
.bd-art-thumb { flex: none; width: 196px; aspect-ratio: 16 / 10; border-radius: var(--r-sm); overflow: hidden; display: grid; place-items: center; background: linear-gradient(135deg, var(--ink-3), var(--ink-1)); color: var(--gold); }
.bd-art-thumb img { width: 100%; height: 100%; object-fit: cover; }
.bd-art-thumb svg { width: 50%; opacity: .5; }
.bd-art-body { min-width: 0; flex: 1; }
.bd-art-body h3 { font-size: 18px; font-family: var(--serif); }
.bd-art-body h3 a { color: var(--porcelain); text-decoration: none; }
.bd-art-body h3 a:hover { color: var(--gold-bright); }
.bd-art-body p { font-size: 14px; color: var(--muted); margin: 8px 0 12px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bd-meta-row { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12.5px; color: var(--muted); }
.bd-meta-row span { display: inline-flex; align-items: center; gap: 5px; }

.bd-article h1 { font-size: clamp(23px, 3.2vw, 33px); margin-bottom: 14px; font-family: var(--serif); }
.bd-article-meta { display: flex; flex-wrap: wrap; gap: 16px; font-size: 13.5px; color: var(--muted); padding-bottom: 18px; border-bottom: 1px solid var(--line); margin-bottom: 24px; }
.bd-prose { font-size: 16.5px; line-height: 1.95; color: var(--porcelain-dim); }
.bd-prose p { margin-bottom: 18px; }
.bd-prose img { border-radius: var(--r-sm); margin: 18px 0; }
.bd-prose h2, .bd-prose h3 { margin: 26px 0 14px; color: var(--porcelain); font-family: var(--serif); }
.bd-prose a { color: var(--gold); text-decoration: underline; }
.bd-prose blockquote { border-left: 3px solid var(--seal); background: var(--ink-3); padding: 14px 20px; border-radius: 0 var(--r-sm) var(--r-sm) 0; color: var(--porcelain-dim); margin: 20px 0; }
.bd-prose table { display: block; overflow-x: auto; }
.bd-prose ul, .bd-prose ol { padding-left: 22px; margin-bottom: 18px; }
.bd-prose li { list-style: disc; margin-bottom: 6px; }
.bd-pn { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 28px; }
.bd-pn a { padding: 15px 18px; background: var(--ink-3); border: 1px solid var(--line); border-radius: var(--r-sm); color: var(--porcelain-dim); font-size: 14px; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bd-pn a:hover { background: var(--ink-2); color: var(--gold-bright); }
.bd-pn .prev { text-align: left; }
.bd-pn .next { text-align: right; }
.bd-related { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; }
.bd-related a { display: block; padding: 14px 16px; background: var(--ink-3); border: 1px solid var(--line); border-radius: var(--r-sm); color: var(--porcelain-dim); font-size: 14.5px; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; transition: background var(--dur-fast), color var(--dur-fast), transform var(--dur-fast) var(--ease); }
.bd-related a:hover { background: var(--gold); color: var(--ink-0); transform: translateY(-3px); }

/* ---------- 17. services ---------- */
.bd-svc-anchor { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 34px; }
.bd-svc-anchor a { font-size: 14px; font-weight: 700; color: var(--gold); background: rgba(201, 162, 75, .08); border: 1px solid var(--line); padding: 8px 16px; border-radius: var(--r-pill); text-decoration: none; transition: background var(--dur-fast), color var(--dur-fast), transform var(--dur-fast) var(--ease); }
.bd-svc-anchor a:hover { background: var(--gold); color: var(--ink-0); transform: translateY(-2px); }
.bd-svc-sec { scroll-margin-top: 96px; }
.bd-svc-sec + .bd-svc-sec { margin-top: 30px; }
.bd-svc-head { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.bd-svc-head .bd-biz-ico { margin: 0; width: 52px; height: 52px; }
.bd-svc-head h2 { font-size: 22px; color: var(--porcelain); font-family: var(--serif); }

/* ---------- 18. 分页 ---------- */
.bd-pager { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 34px; }
.bd-pager a, .bd-pager span { min-width: 42px; height: 42px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--r-sm); border: 1px solid var(--line); background: var(--ink-2); color: var(--porcelain-dim); font-size: 14.5px; font-weight: 600; text-decoration: none; transition: background var(--dur-fast), color var(--dur-fast), transform var(--dur-fast) var(--ease); }
.bd-pager a:hover { background: var(--ink-3); color: var(--gold-bright); transform: translateY(-2px); }
.bd-pager .current { background: var(--gold); color: var(--ink-0); border-color: transparent; }
.bd-pager .disabled { color: var(--line); pointer-events: none; }

/* ---------- 19. 表单（contact 三件套） ---------- */
.bd-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.bd-field { display: flex; flex-direction: column; gap: 8px; }
.bd-field--full { grid-column: 1 / -1; }
.bd-field label { font-size: 14px; font-weight: 600; color: var(--porcelain-dim); }
.bd-field input, .bd-field textarea { font-family: inherit; font-size: 15px; color: var(--porcelain); background: var(--ink-1); border: 1.5px solid var(--line); border-radius: var(--r-sm); padding: 12px 14px; transition: border-color var(--dur-fast), box-shadow var(--dur-fast); }
.bd-field input::placeholder, .bd-field textarea::placeholder { color: #6f6656; }
.bd-field input:focus, .bd-field textarea:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201, 162, 75, .18); }
.bd-field textarea { resize: vertical; min-height: 130px; }
.bd-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.bd-flash { padding: 14px 18px; border-radius: var(--r-sm); margin-bottom: 20px; font-size: 15px; font-weight: 600; }
.bd-flash--ok { background: rgba(143, 176, 168, .12); color: var(--celadon); border: 1px solid rgba(143, 176, 168, .4); }
.bd-flash--err { background: rgba(200, 69, 60, .14); color: #e8a49d; border: 1px solid rgba(200, 69, 60, .4); }
.bd-contact-lines { display: flex; flex-direction: column; gap: 18px; }
.bd-contact-line { display: flex; gap: 14px; align-items: flex-start; }
.bd-contact-line .ci { flex: none; width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: rgba(201, 162, 75, .08); border: 1px solid var(--line); color: var(--gold); }
.bd-contact-line strong { display: block; font-size: 13.5px; color: var(--muted); font-weight: 500; }
.bd-contact-line a, .bd-contact-line .val { font-size: 16.5px; font-weight: 700; color: var(--porcelain); font-family: var(--serif); }
.bd-contact-line a:hover { color: var(--gold-bright); }

/* ---------- 20. county / sitemap / search / 404 ---------- */
.bd-county-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.bd-county { display: block; padding: 20px; background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--hard-sm); text-align: center; color: var(--porcelain); font-weight: 700; font-family: var(--serif); text-decoration: none; transition: transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast), background var(--dur-fast); }
.bd-county:hover { transform: translate(-3px, -3px); box-shadow: var(--hard); background: var(--gold); color: var(--ink-0); }
.bd-county small { display: block; font-weight: 400; font-family: var(--sans); font-size: 12.5px; color: var(--muted); margin-top: 6px; }
.bd-county:hover small { color: rgba(20, 17, 14, .8); }
.bd-sitemap-col { margin-bottom: 26px; }
.bd-sitemap-col > h3 { font-size: 18px; color: var(--gold); padding-bottom: 10px; border-bottom: 1px solid var(--line); margin-bottom: 12px; font-family: var(--serif); }
.bd-sitemap-links a { display: inline-block; margin: 5px 16px 5px 0; color: var(--porcelain-dim); font-size: 14.5px; text-decoration: none; }
.bd-sitemap-links a:hover { color: var(--gold-bright); }
.bd-sitemap-sub { margin-left: 16px; padding-left: 16px; border-left: 1px dashed var(--line); }
.bd-search-bar { display: flex; gap: 12px; max-width: 620px; margin: 0 auto 40px; }
.bd-search-bar input { flex: 1; min-width: 0; padding: 14px 20px; border: 1.5px solid var(--line); border-radius: var(--r-pill); font-size: 16px; background: var(--ink-1); color: var(--porcelain); }
.bd-search-bar input::placeholder { color: #6f6656; }
.bd-search-bar input:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201, 162, 75, .18); }
.bd-empty { text-align: center; padding: 56px 20px; color: var(--muted); }
.bd-empty svg { color: var(--line); margin: 0 auto 18px; }
.bd-empty p { margin-bottom: 20px; }
.bd-404 { text-align: center; padding: clamp(50px, 8vw, 92px) 0; }
.bd-404-num { font-family: var(--serif); font-size: clamp(88px, 19vw, 180px); font-weight: 700; line-height: .92; color: transparent; -webkit-text-stroke: 2px var(--gold-dim); }
.bd-404-motif { color: var(--celadon); max-width: 320px; margin: 8px auto 20px; }
.bd-404 h1 { font-size: 25px; margin-bottom: 10px; font-family: var(--serif); }
.bd-404 p { color: var(--muted); margin-bottom: 24px; }
.bd-404-actions { display: flex; gap: 13px; justify-content: center; flex-wrap: wrap; }

/* ---------- 21. CTA 全屏（深色锚点） ---------- */
.bd-cta-full { position: relative; overflow: hidden; color: var(--porcelain); background: radial-gradient(700px 320px at 50% 0%, rgba(200, 69, 60, .16), transparent 60%), linear-gradient(150deg, var(--ink-1), var(--ink-0)); padding: clamp(54px, 7vw, 90px) 0; border-top: 1px solid var(--line); }
.bd-cta-bg { position: absolute; inset: 0; color: var(--gold); opacity: .1; pointer-events: none; }
.bd-cta-bg svg { width: 100%; height: 100%; }
.bd-cta-full .bd-container { position: relative; z-index: 2; }
.bd-cta-head { text-align: center; max-width: 720px; margin: 0 auto 32px; }
.bd-cta-head h2 { font-size: clamp(25px, 3.6vw, 38px); color: var(--porcelain); margin-bottom: 12px; font-family: var(--serif); }
.bd-cta-head p { color: var(--porcelain-dim); font-size: 16px; }
.bd-cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.bd-cta-inline { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; justify-content: space-between; background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r); padding: 28px 32px; box-shadow: var(--hard-sm); }
.bd-cta-inline h3 { font-size: 22px; color: var(--porcelain); font-family: var(--serif); }
.bd-cta-inline p { color: var(--muted); margin-top: 6px; }

/* ---------- 22. 页脚（dim8 B 3列 + 大logo墙） ---------- */
.bd-footer { position: relative; background: var(--ink-1); border-top: 1px solid var(--line); }
.bd-footer-logowall { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 44px 22px 30px; color: var(--gold); text-align: center; }
.bd-footer-wordmark { font-family: var(--serif); font-size: 30px; font-weight: 700; color: var(--porcelain); letter-spacing: .04em; }
.bd-footer-tagline { font-size: 14px; color: var(--muted); letter-spacing: .12em; }
.bd-footer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; max-width: 900px; margin: 0 auto; padding: 10px 22px 34px; }
.bd-footer-col h4 { font-size: 15.5px; color: var(--gold); margin-bottom: 15px; font-family: var(--serif); }
.bd-footer-col a { display: block; color: var(--muted); font-size: 14px; padding: 5px 0; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color var(--dur-fast), padding-left var(--dur-fast) var(--ease); }
.bd-footer-col a:hover { color: var(--gold-bright); padding-left: 5px; }
.bd-footer-bottom { border-top: 1px solid var(--line); background: var(--ink-0); }
.bd-copy { max-width: var(--container); margin: 0 auto; padding: 18px 22px; font-size: 13.5px; color: var(--muted); display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.bd-copy a { color: var(--muted); text-decoration: none; }
.bd-copy a:hover { color: var(--gold-bright); }

/* ---------- 23. 悬浮客服 §1.7（品牌固定色） ---------- */
.zfkf { position: fixed; right: 18px; bottom: 24px; z-index: 200; }
.zfkf-btns { display: flex; flex-direction: column; gap: 10px; }
.zfkf-btn { position: relative; width: 52px; height: 52px; border: 0; border-radius: 14px; display: grid; place-items: center; background: #fff; color: var(--zfkf-brand); box-shadow: 0 12px 28px -12px rgba(0, 0, 0, .8); text-decoration: none; transition: transform var(--dur-fast) var(--ease), background var(--dur-fast), color var(--dur-fast); }
.zfkf-btn:hover { transform: translateY(-3px); background: var(--zfkf-brand); color: #fff; }
.zfkf-btn[hidden] { display: none; }
.zfkf-top { margin-top: 4px; }
.zfkf-panel[hidden] { display: none; }
.zfkf-panel { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; }
.zfkf-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, .66); backdrop-filter: blur(3px); }
.zfkf-dialog { position: relative; width: min(330px, 90vw); background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r); padding: 30px 26px; text-align: center; box-shadow: 0 40px 80px -30px #000; }
.zfkf-dialog h5 { font-size: 18px; color: var(--porcelain); margin: 0 0 18px; font-family: var(--serif); }
.zfkf-dialog img { width: 180px; height: 180px; margin: 0 auto; border-radius: var(--r-sm); object-fit: cover; background: #fff; border: 1px solid var(--line); }
.zfkf-nocode { color: var(--muted); font-size: 14px; padding: 30px 0; }
.zfkf-dialog-close { position: absolute; right: 12px; top: 12px; width: 32px; height: 32px; border: 0; background: var(--ink-3); border-radius: 50%; color: var(--muted); display: grid; place-items: center; }
.zfkf-dialog-close:hover { background: var(--seal); color: #fff; }

/* ---------- 24. 滚动入场 ---------- */
.bd-reveal { opacity: 0; transform: translateY(28px); transition: opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease); }
.bd-reveal.is-visible { opacity: 1; transform: none; }
.bd-reveal-stagger > * { opacity: 0; transform: translateY(24px); transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease); }
.bd-reveal-stagger.is-visible > * { opacity: 1; transform: none; }
.bd-reveal-stagger.is-visible > *:nth-child(2) { transition-delay: .08s; }
.bd-reveal-stagger.is-visible > *:nth-child(3) { transition-delay: .16s; }
.bd-reveal-stagger.is-visible > *:nth-child(4) { transition-delay: .24s; }
.no-js .bd-reveal, .no-js .bd-reveal-stagger > * { opacity: 1 !important; transform: none !important; }

/* ---------- 25. 响应式（§2.10：≤992 / ≤640） ---------- */
@media (max-width: 1080px) {
  .bd-hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .bd-hero-visual { order: -1; min-height: 220px; }
  .bd-hero-vtext { display: none; }
  .bd-layout2 { grid-template-columns: 1fr; }
  .bd-sidebar { position: static; }
  .bd-case-grid { grid-template-columns: repeat(2, 1fr); }
  .bd-ctaband-inner { grid-template-columns: repeat(2, 1fr); }
  .bd-ctaband-actions { grid-column: 1 / -1; }
  .bd-mega-cols { grid-template-columns: repeat(2, 1fr); }
  .bd-vstrip { display: none; }
}
@media (max-width: 992px) {
  .bd-biz-grid { grid-template-columns: repeat(2, 1fr); }   /* §1.15-6 中屏折2列 */
  .bd-trust-grid { grid-template-columns: repeat(2, 1fr); gap: 26px; }
  .bd-county-grid { grid-template-columns: repeat(3, 1fr); }
  .bd-footer-grid { grid-template-columns: repeat(3, 1fr); }
  .bd-step:nth-child(even), .bd-step:nth-child(odd) { margin: 0; }
}
@media (max-width: 900px) {
  .bd-burger { display: block; margin-left: 10px; }
  .bd-nav { position: fixed; inset: 0 0 0 auto; width: min(320px, 86vw); z-index: 125; flex-direction: column; align-items: stretch; gap: 2px; background: var(--ink-1); padding: 78px 16px 30px; overflow-y: auto; margin: 0; transform: translateX(100%); transition: transform var(--dur) var(--ease); box-shadow: -20px 0 60px -20px #000; border-left: 1px solid var(--line); }
  .bd-nav.is-open { transform: translateX(0); }
  .bd-nav-link { justify-content: space-between; width: 100%; min-height: 44px; padding: 12px 14px; }
  .bd-nav-link.is-active::after { display: none; }
  .bd-nav-link.is-active { background: rgba(201, 162, 75, .12); }
  .bd-nav-item { position: relative; }
  .bd-mega { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; background: var(--ink-2); border-radius: var(--r-sm); display: none; padding: 6px; }
  .bd-nav-item.is-open .bd-mega { display: block; }
  .bd-mega-inner { padding: 8px; }
  .bd-mega-head { display: none; }
  .bd-mega-cols { grid-template-columns: 1fr; gap: 0; }
  .bd-nav-cta { margin: 12px 0 0; text-align: center; }
  .bd-tel-btn { order: -1; }
}
@media (max-width: 640px) {
  :root { --sec: 56px; }
  .bd-biz-grid { grid-template-columns: 1fr; }   /* §1.15-6 小屏折1列 */
  .bd-trust-grid { grid-template-columns: 1fr; }
  .bd-case-grid { grid-template-columns: 1fr; }
  .bd-county-grid { grid-template-columns: repeat(2, 1fr); }
  .bd-form-grid { grid-template-columns: 1fr; }
  .bd-art-row { flex-direction: column; }
  .bd-art-thumb { width: 100%; }
  .bd-related { grid-template-columns: 1fr; }
  .bd-pn { grid-template-columns: 1fr; }
  .bd-pn .next { text-align: left; }
  .bd-footer-grid { grid-template-columns: 1fr; }
  .bd-ctaband-inner { grid-template-columns: 1fr; }
  .bd-cta-inline { flex-direction: column; text-align: center; }
  .bd-copy { justify-content: center; text-align: center; }
  .bd-news-row { grid-template-columns: 1fr; gap: 6px; }
  .bd-step { grid-template-columns: 1fr; gap: 10px; }
  .zfkf { right: 12px; bottom: 16px; }
  .zfkf-btn { width: 46px; height: 46px; }
}

/* ---------- 26. 降级：prefers-reduced-motion（§2.5D：关装饰动效，不动显隐/轮播） ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .bd-reveal, .bd-reveal-stagger > * { opacity: 1 !important; transform: none !important; }
  .bd-hero-title .bd-ch { opacity: 1 !important; transform: none !important; }
  .bd-draw { stroke-dashoffset: 0 !important; }
  .bd-float { animation: none !important; }
  .bd-marquee-track { animation: none !important; }
  .bd-chart.is-up .bd-chart-bar { transform: scaleY(var(--h, .6)); }
  /* 轮播显隐由 .is-active 控制，不在此关闭（内容轮替属信息切换） */
}

/* ===== 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}}
