/* ================================================================
   橙智合官网 2026 视觉层（子主题 orangezh-pro 3.x）
   规范：设计规范仓库 docs/官网与营销页规范.md
   色值全部来自 @czh/design token（深色营销主题），此处只做别名。
   ================================================================ */

@font-face {
  font-family: "OZH Display";
  src: url("../fonts/ozh-display.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

:root,
[data-theme='light'],
[data-theme='dark'] {
  color-scheme: dark;
  /* 表面 neutral-dark */
  --z-bg: #0E0D0B;
  --z-bg-2: #141210;
  --z-bg-3: #1D1B18;
  --z-line: rgba(245, 243, 240, 0.10);
  --z-line-2: rgba(245, 243, 240, 0.18);
  --z-line-3: rgba(245, 243, 240, 0.30);
  /* 文字 content */
  --z-text: #F5F3F0;
  --z-text-2: #B5AFA6;
  --z-text-3: #8A857C;
  /* 品牌 */
  --z-brand: #E98238;          /* semantic.dark.brand.default */
  --z-brand-text: #EE914E;     /* semantic.dark.brand.text */
  --z-signal: #F06F00;         /* core.orange.6 品牌信号 */
  --z-action: #C65005;         /* component.button.primary */
  --z-action-hover: #A74400;
  --z-action-pressed: #883600;
  /* 纸面 */
  --z-paper: #F2F1EE;
  --z-paper-ink: #23201A;
  --z-paper-ink-2: #565149;
  --z-paper-ink-3: #767169;
  --z-paper-line: #D9D6D0;
  --z-stamp: #C84D0B;
  /* 状态 */
  --z-ok: #2FBF74;
  --z-ok-text: #5CD196;
  --z-ok-bg: #0C2A1B;
  /* 字体 */
  --z-serif: "OZH Display", "Source Han Serif SC", "Noto Serif SC", "Noto Serif CJK SC", "Songti SC", "STSong", "SimSun", serif;
  --z-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "Helvetica Neue", Arial, sans-serif;
  --z-mono: "SF Mono", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;
  /* 版式 */
  --z-gutter: clamp(20px, 8.4vw, 120px);
  --z-max: 1440px;
  --z-radius: 4px;
  --z-ease: cubic-bezier(.2, .7, .2, 1);

  /* 让父主题组件跟随新色板 */
  --orangezh-background: var(--z-bg);
  --orangezh-background-rgb: 14, 13, 11;
  --orangezh-foreground: var(--z-text);
  --orangezh-card: var(--z-bg-3);
  --orangezh-card-foreground: var(--z-text);
  --orangezh-popover: var(--z-bg-3);
  --orangezh-muted: var(--z-text-3);
  --orangezh-muted-foreground: var(--z-text-2);
  --orangezh-border: var(--z-line-2);
  --orangezh-primary: var(--z-brand);
  --orangezh-primary-text: var(--z-brand-text);
  --orangezh-primary-rgb: 233, 130, 56;
  --orangezh-button-bg: var(--z-action);
  --orangezh-button-bg-hover: var(--z-action-hover);
  --orangezh-button-bg-pressed: var(--z-action-pressed);
  --primary-foreground: #FFFFFF;
  --orangezh-nav-bg: rgba(14, 13, 11, 0.86);
  --orangezh-case-card-bg-1: var(--z-bg-3);
  --orangezh-case-card-bg-2: var(--z-bg-2);
}

html { background: var(--z-bg); }
body {
  background: var(--z-bg);
  color: var(--z-text);
  font-family: var(--z-sans);
  -webkit-font-smoothing: antialiased;
}
body h1, body h2 { font-family: var(--z-serif); font-weight: 900; letter-spacing: -0.005em; }
body h3, body h4 { font-family: var(--z-sans); font-weight: 600; letter-spacing: 0; }
b, strong { font-weight: 600; }
::selection { background: rgba(233, 130, 56, .35); color: #fff; }

/* 滚动出现动效一律默认可见（规范 §8） */
.reveal, .reveal.visible, [class*="reveal-delay"] { opacity: 1 !important; transform: none !important; }

/* ---------- 通用 ---------- */
.z-container { width: 100%; max-width: var(--z-max); margin: 0 auto; padding-inline: var(--z-gutter); box-sizing: border-box; }
.z-mono { font-family: var(--z-mono); }
.z-eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--z-mono); font-size: 12px; letter-spacing: .16em; color: var(--z-text-2);
}
.z-eyebrow::before { content: ""; width: 8px; height: 8px; background: var(--z-brand); flex-shrink: 0; }
.z-index { font-family: var(--z-mono); font-size: 12px; letter-spacing: .18em; color: var(--z-brand); }
.z-h1 {
  margin: 0; font-family: var(--z-serif); font-weight: 900;
  font-size: clamp(40px, 5vw, 72px); line-height: 1.2; color: var(--z-text);
}
.z-h1 em { font-style: normal; color: var(--z-brand); box-shadow: inset 0 -6px 0 var(--z-brand); padding-bottom: 2px; }
.z-h2 { margin: 0; font-family: var(--z-serif); font-weight: 900; font-size: clamp(30px, 3.6vw, 52px); line-height: 1.25; color: var(--z-text); }
.z-lede { margin: 0; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.8; color: var(--z-text-2); max-width: 560px; }
.z-note { font-family: var(--z-mono); font-size: 12px; letter-spacing: .04em; color: var(--z-text-3); }

.z-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  height: 56px; padding: 0 30px; border-radius: 999px;
  font-size: 16px; font-weight: 600; line-height: 1; text-decoration: none;
  transition: background-color .18s var(--z-ease), border-color .18s var(--z-ease), color .18s var(--z-ease);
}
.z-btn svg { width: 16px; height: 16px; flex-shrink: 0; }
.z-btn--primary { background: var(--z-action); color: #FFFFFF; }
.z-btn--primary:hover { background: var(--z-action-hover); color: #FFFFFF; }
.z-btn--primary:active { background: var(--z-action-pressed); }
.z-btn--ghost { border: 1px solid var(--z-line-3); color: var(--z-text); font-weight: 500; }
.z-btn--ghost:hover { border-color: var(--z-text-2); color: #fff; }
.z-btn--ink { background: var(--z-paper-ink); color: var(--z-paper); }
.z-btn--ink:hover { background: #000; color: #fff; }
.z-btn--ink-ghost { border: 1px solid var(--z-paper-ink); color: var(--z-paper-ink); font-weight: 500; }
.z-btn--ink-ghost:hover { background: rgba(35, 32, 26, .06); color: var(--z-paper-ink); }
.z-btn--sm { height: 44px; padding: 0 22px; font-size: 14px; }
.z-link { display: inline-flex; align-items: center; gap: 8px; color: var(--z-brand-text); font-weight: 600; text-decoration: none; }
.z-link:hover { color: #F2A56F; }
.z-link svg { width: 16px; height: 16px; }

.z-badge {
  display: inline-flex; align-items: center; gap: 8px; font-size: 12px; line-height: 1;
  padding: 7px 12px; border-radius: 999px; color: var(--z-text-2); border: 1px solid var(--z-line-2);
}
.z-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; border: 1px solid currentColor; box-sizing: border-box; }
.z-badge--ok { background: var(--z-ok-bg); color: var(--z-ok-text); border-color: transparent; }
.z-badge--ok::before { background: var(--z-ok); border: 0; }
.z-tag { font-size: 12px; color: var(--z-text-3); }

.z-grid-bg {
  background-image:
    linear-gradient(rgba(245, 243, 240, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245, 243, 240, .045) 1px, transparent 1px);
  background-size: 80px 80px;
}

/* ---------- 导航 ---------- */
.z-nav {
  position: fixed; inset: 0 0 auto 0; z-index: 60; height: 64px;
  display: flex; align-items: center;
  border-bottom: 1px solid transparent;
  transition: background-color .25s var(--z-ease), border-color .25s var(--z-ease);
}
.z-nav.is-solid, .z-nav--solid { background: rgba(14, 13, 11, .88); backdrop-filter: saturate(140%) blur(14px); -webkit-backdrop-filter: saturate(140%) blur(14px); border-bottom-color: var(--z-line); }
.z-nav__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.z-nav__brand { display: flex; align-items: center; flex-shrink: 0; }
.z-nav__brand img { height: 40px; width: auto; display: block; }
.z-nav__links { display: flex; align-items: center; gap: 36px; }
.z-nav__links a { font-size: 15px; color: var(--z-text-2); text-decoration: none; position: relative; padding: 6px 0; }
.z-nav__links a:hover, .z-nav__links a[aria-current="page"] { color: var(--z-text); }
.z-nav__links a[aria-current="page"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--z-brand); }
.z-nav__actions { display: flex; align-items: center; gap: 12px; }
.z-nav__cta { height: 44px; padding: 0 22px; border: 1px solid var(--z-line-3); border-radius: 999px; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: var(--z-text); text-decoration: none; }
.z-nav__cta:hover { border-color: var(--z-brand); color: #fff; }
.z-nav__menu {
  display: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--z-line-2);
  background: transparent; color: var(--z-text); align-items: center; justify-content: center; cursor: pointer; padding: 0;
}
.z-drawer {
  position: fixed; inset: 0; z-index: 70; background: rgba(14, 13, 11, .98);
  display: flex; flex-direction: column; padding: 16px var(--z-gutter) 32px;
  opacity: 0; visibility: hidden; transition: opacity .2s var(--z-ease), visibility .2s;
}
.z-drawer.is-open { opacity: 1; visibility: visible; }
.z-drawer__top { display: flex; align-items: center; justify-content: space-between; height: 40px; margin-bottom: 32px; }
.z-drawer__top img { height: 36px; width: auto; }
.z-drawer nav { display: flex; flex-direction: column; border-top: 1px solid var(--z-line); }
.z-drawer nav a { display: flex; align-items: center; justify-content: space-between; min-height: 60px; font-size: 20px; color: var(--z-text); text-decoration: none; border-bottom: 1px solid var(--z-line); }
.z-drawer nav a[aria-current="page"] { color: var(--z-brand-text); }
.z-drawer .z-btn { margin-top: 28px; width: 100%; }
body.z-drawer-open { overflow: hidden; }
@media (max-width: 1023px) {
  .z-nav__links, .z-nav__cta { display: none; }
  .z-nav__menu { display: inline-flex; }
  .z-nav { height: 64px; }
  .z-nav__brand img { height: 36px; }
}
/* 父主题旧导航与主题切换按钮不再使用 */
#themeToggle, .theme-toggle { display: none !important; }

/* ---------- 首屏 ---------- */
.z-hero { position: relative; overflow: hidden; min-height: min(100svh, 920px); display: flex; align-items: center; padding: 120px 0 88px; box-sizing: border-box; }
.z-hero__bg { position: absolute; top: 0; right: 0; width: 75%; height: 100%; object-fit: cover; opacity: .82; }
.z-hero__scrim { position: absolute; inset: 0; background: linear-gradient(90deg, var(--z-bg) 32%, rgba(14, 13, 11, .72) 58%, rgba(14, 13, 11, .22) 100%); }
.z-hero__fade { position: absolute; left: 0; right: 0; bottom: 0; height: 220px; background: linear-gradient(180deg, rgba(14, 13, 11, 0), var(--z-bg)); }
.z-hero .z-grid-bg { position: absolute; inset: 0; }
.z-hero__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 64px; align-items: center; }
.z-hero__copy { display: flex; flex-direction: column; gap: 30px; }
.z-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; padding-top: 6px; }

/* 验收单 */
.z-sheet-wrap { position: relative; transform: rotate(-2deg); }
.z-sheet {
  background: var(--z-paper); color: var(--z-paper-ink); border-radius: 6px; padding: 30px 30px 26px;
  box-shadow: 0 40px 80px rgba(0, 0, 0, .55), 0 0 0 1px rgba(0, 0, 0, .2);
  display: flex; flex-direction: column; gap: 18px;
}
.z-sheet__meta { display: flex; justify-content: space-between; font-family: var(--z-mono); font-size: 11px; letter-spacing: .12em; color: var(--z-paper-ink-3); }
.z-sheet__title { font-family: var(--z-serif); font-weight: 900; font-size: 25px; line-height: 1.3; padding-bottom: 14px; border-bottom: 2px solid var(--z-paper-ink); margin: 0; }
.z-sheet ul { list-style: none; margin: 0; padding: 0; }
.z-sheet li { display: flex; align-items: center; gap: 14px; padding: 11px 0; border-bottom: 1px dashed var(--z-paper-line); font-size: 15px; font-weight: 500; }
.z-sheet li:last-child { border-bottom: 0; }
.z-sheet li span { margin-left: auto; font-family: var(--z-mono); font-size: 11px; color: var(--z-paper-ink-3); font-weight: 400; }
.z-check { width: 20px; height: 20px; border-radius: 3px; background: var(--z-action); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.z-check svg { width: 12px; height: 12px; }
.z-sheet__sign { display: flex; justify-content: space-between; align-items: flex-end; padding-top: 6px; font-size: 12px; color: var(--z-paper-ink-2); }
.z-sheet__sign i { display: block; width: 120px; height: 18px; border-bottom: 1px solid var(--z-paper-ink-2); font-style: normal; margin-top: 6px; }
.z-sheet__sign strong { display: block; color: var(--z-paper-ink); margin-top: 6px; text-align: right; }
.z-stamp {
  position: absolute; right: 6px; bottom: -14px; width: 112px; height: 112px; border-radius: 50%;
  border: 3px solid var(--z-stamp); color: var(--z-stamp); background: rgba(242, 241, 238, .5);
  transform: rotate(-14deg); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  pointer-events: none;
}
.z-stamp b { font-family: var(--z-serif); font-weight: 900; font-size: 25px; letter-spacing: .1em; }
.z-stamp small { font-family: var(--z-mono); font-size: 10px; letter-spacing: .2em; }

/* ---------- 事实条 ---------- */
.z-facts { border-block: 1px solid var(--z-line); }
.z-facts__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.z-fact { padding: 44px 32px; display: flex; flex-direction: column; gap: 10px; border-left: 1px solid var(--z-line); }
.z-fact:first-child { border-left: 0; padding-left: 0; }
.z-fact:last-child { padding-right: 0; }
.z-fact__num { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.z-fact__num b { font-family: var(--z-mono); font-size: clamp(36px, 3.6vw, 52px); font-weight: 500; letter-spacing: -.03em; line-height: 1.1; color: var(--z-text); }
.z-fact__num span { font-size: 16px; font-weight: 600; color: var(--z-brand); }
.z-fact h3 { margin: 0; font-size: 16px; font-weight: 600; color: var(--z-text); }
.z-fact p { margin: 0; font-size: 13px; line-height: 1.7; color: var(--z-text-2); }

/* ---------- 区块 ---------- */
.z-section { padding: clamp(72px, 9vw, 140px) 0 clamp(64px, 8vw, 120px); }
.z-section--alt { background: var(--z-bg-2); border-top: 1px solid var(--z-line); }
.z-section--line { border-top: 1px solid var(--z-line); }
.z-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 64px; margin-bottom: clamp(40px, 5vw, 72px); }
.z-head__main { display: flex; flex-direction: column; gap: 20px; }
.z-head p { margin: 0; max-width: 420px; font-size: 16px; line-height: 1.8; color: var(--z-text-2); }

/* 交付步骤 */
.z-steps { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; list-style: none; margin: 0; padding: 0; }
.z-steps::before { content: ""; position: absolute; left: 0; right: 0; top: 7px; height: 1px; background: var(--z-line-2); }
.z-step { position: relative; display: flex; flex-direction: column; gap: 16px; }
.z-step__node { width: 15px; height: 15px; border: 1px solid var(--z-text); background: var(--z-bg); box-sizing: border-box; }
.z-step--last .z-step__node { background: var(--z-brand); border-color: var(--z-brand); }
.z-step__no { font-family: var(--z-mono); font-size: 12px; letter-spacing: .12em; color: var(--z-text-3); }
.z-step--last .z-step__no { color: var(--z-brand); }
.z-step h3 { margin: 0; font-size: 21px; font-weight: 600; color: var(--z-text); }
.z-step p { margin: 0; font-size: 14px; line-height: 1.75; color: var(--z-text-2); }
.z-step__out { margin-top: 8px; padding-top: 12px; border-top: 1px solid var(--z-line); display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: #D9D6D0; }
.z-step__out em { font-style: normal; font-family: var(--z-mono); font-size: 11px; color: var(--z-text-3); }

/* 案例 */
.z-case-feature { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); background: var(--z-bg-3); border: 1px solid var(--z-line); border-radius: var(--z-radius); overflow: hidden; text-decoration: none; color: inherit; margin-bottom: 24px; }
.z-case-media { position: relative; overflow: hidden; background: #000; }
.z-case-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--z-ease); }
a:hover > .z-case-media img, a:hover .z-case-media img { transform: scale(1.03); }
.z-case-feature .z-case-media { aspect-ratio: 3 / 2; }
.z-case-feature__body { padding: 44px 48px; display: flex; flex-direction: column; gap: 20px; }
.z-case-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.z-case-feature h3 { margin: 0; font-size: clamp(22px, 2vw, 30px); line-height: 1.35; color: var(--z-text); }
.z-case-feature p { margin: 0; font-size: 15px; line-height: 1.85; color: var(--z-text-2); }
.z-case-feature .z-link { margin-top: auto; }
.z-case-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.z-case-card { display: flex; flex-direction: column; background: var(--z-bg-3); border: 1px solid var(--z-line); border-radius: var(--z-radius); overflow: hidden; text-decoration: none; color: inherit; transition: border-color .2s var(--z-ease); }
.z-case-card:hover { border-color: rgba(233, 130, 56, .5); }
.z-case-card .z-case-media { aspect-ratio: 16 / 9; }
.z-case-card__body { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 12px; }
.z-case-card h3 { margin: 0; font-size: 18px; line-height: 1.45; color: var(--z-text); }
.z-case-card p { margin: 0; font-size: 14px; line-height: 1.75; color: var(--z-text-2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.z-center { display: flex; justify-content: center; margin-top: 48px; }

/* 服务 */
.z-services { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--z-line-2); }
.z-service { padding: 36px 28px 8px; border-left: 1px solid var(--z-line); display: flex; flex-direction: column; gap: 16px; text-decoration: none; color: inherit; }
.z-service:first-child { border-left: 0; padding-left: 0; }
.z-service:last-child { padding-right: 0; }
.z-service__no { font-family: var(--z-mono); font-size: 13px; color: var(--z-text-3); }
.z-service h3 { margin: 0; font-size: 22px; color: var(--z-text); }
.z-service p { margin: 0; font-size: 14px; line-height: 1.85; color: var(--z-text-2); }
.z-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.z-chips span { font-size: 12px; padding: 5px 10px; border: 1px solid var(--z-line-2); border-radius: 3px; color: var(--z-text-2); }
.z-service .z-link { margin-top: 4px; font-size: 14px; }

/* 关于 */
.z-about { display: grid; grid-template-columns: 520px minmax(0, 1fr); gap: 96px; }
.z-about__intro { display: flex; flex-direction: column; gap: 28px; }
.z-about__intro p { margin: 0; font-size: 16px; line-height: 1.9; color: var(--z-text-2); }
.z-spec { border-top: 1px solid var(--z-line-2); margin: 0; }
.z-spec > div { display: flex; gap: 32px; padding: 24px 0; border-bottom: 1px solid var(--z-line); }
.z-spec > div:last-child { border-bottom: 0; }
.z-spec dt { width: 140px; flex-shrink: 0; font-family: var(--z-mono); font-size: 12px; color: var(--z-text-3); padding-top: 3px; }
.z-spec dd { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.z-spec dd b { font-size: 17px; font-weight: 500; color: var(--z-text); }
.z-spec dd span { font-size: 13px; line-height: 1.7; color: var(--z-text-2); }
.z-spec .is-brand dt { color: var(--z-brand); }

/* 行动区（纸面） */
.z-cta { position: relative; overflow: hidden; background: var(--z-paper); color: var(--z-paper-ink); border-radius: 6px; padding: clamp(40px, 6vw, 88px); display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 80px; }
.z-cta::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 8px; background: var(--z-signal); }
.z-cta__main { display: flex; flex-direction: column; gap: 26px; }
.z-cta .z-index { color: var(--z-paper-ink-3); }
.z-cta h2 { margin: 0; font-family: var(--z-serif); font-weight: 900; font-size: clamp(32px, 4.2vw, 60px); line-height: 1.2; color: var(--z-paper-ink); }
.z-cta p { margin: 0; font-size: 17px; line-height: 1.9; color: var(--z-paper-ink-2); }
.z-cta__actions { display: flex; flex-wrap: wrap; gap: 14px; padding-top: 6px; }
.z-cta__card { border-top: 2px solid var(--z-paper-ink); display: flex; flex-direction: column; }
.z-cta__row { display: flex; flex-direction: column; gap: 6px; padding: 20px 0; border-bottom: 1px solid var(--z-paper-line); }
.z-cta__row em { font-style: normal; font-family: var(--z-mono); font-size: 11px; letter-spacing: .12em; color: var(--z-paper-ink-3); }
.z-cta__row b { font-size: 19px; font-weight: 600; color: var(--z-paper-ink); }
.z-cta__row a { color: var(--z-paper-ink); text-decoration: none; font-family: var(--z-mono); font-size: 19px; }
.z-cta__qr { display: flex; align-items: center; gap: 16px; padding: 20px 0 0; }
.z-cta__qr img { width: 96px; height: 96px; background: #fff; padding: 4px; border-radius: 4px; }
.z-cta__qr span { font-size: 13px; line-height: 1.7; color: var(--z-paper-ink-2); }

/* ---------- 页脚 ---------- */
.z-footer { border-top: 1px solid var(--z-line); padding: 56px 0 40px; background: var(--z-bg); }
.z-footer__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 48px; flex-wrap: wrap; }
.z-footer__brand { display: flex; flex-direction: column; gap: 14px; }
.z-footer__brand img { height: 40px; width: auto; }
.z-footer__brand p { margin: 0; font-size: 13px; color: var(--z-text-3); }
.z-footer__cols { display: flex; gap: 72px; flex-wrap: wrap; font-size: 14px; }
.z-footer__col { display: flex; flex-direction: column; gap: 12px; }
.z-footer__col em { font-style: normal; font-family: var(--z-mono); font-size: 11px; letter-spacing: .12em; color: var(--z-text-3); }
.z-footer__col a, .z-footer__col span { color: var(--z-text-2); text-decoration: none; line-height: 1.7; }
.z-footer__col a:hover { color: var(--z-text); }
.z-footer__bottom { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--z-line); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-family: var(--z-mono); font-size: 12px; color: var(--z-text-3); }
.z-footer__bottom a { color: var(--z-text-3); text-decoration: none; }
.site-footer { display: none; } /* 父主题旧页脚 */

/* ---------- 响应式 ---------- */
@media (max-width: 1199px) {
  .z-hero__inner { grid-template-columns: minmax(0, 1fr) 380px; gap: 48px; }
  .z-about { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; }
  .z-case-feature__body { padding: 32px; }
}
@media (max-width: 1023px) {
  .z-hero { padding: 104px 0 56px; min-height: 0; }
  .z-hero__bg { width: 100%; height: 520px; opacity: .6; }
  .z-hero__scrim { background: linear-gradient(180deg, rgba(14, 13, 11, .4) 0%, rgba(14, 13, 11, .85) 42%, var(--z-bg) 70%); }
  .z-hero__inner { grid-template-columns: minmax(0, 1fr); gap: 56px; }
  .z-sheet-wrap { max-width: 460px; margin: 0 auto 0 8px; }
  .z-facts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .z-fact { padding: 28px 20px; border-left: 0; border-bottom: 1px solid var(--z-line); }
  .z-fact:nth-child(odd) { padding-left: 0; border-right: 1px solid var(--z-line); }
  .z-fact:nth-child(even) { padding-right: 0; }
  .z-fact:nth-last-child(-n+2) { border-bottom: 0; }
  .z-head { flex-direction: column; align-items: flex-start; gap: 20px; }
  .z-steps { grid-template-columns: minmax(0, 1fr); gap: 0; padding-left: 28px; }
  .z-steps::before { left: 7px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; }
  .z-step { padding-bottom: 36px; }
  .z-step__node { position: absolute; left: -28px; top: 2px; }
  .z-step__out { margin-top: 4px; }
  .z-case-feature { grid-template-columns: minmax(0, 1fr); }
  .z-case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .z-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .z-service { padding: 28px 20px 28px 0; border-left: 0; border-bottom: 1px solid var(--z-line); }
  .z-service:nth-child(even) { padding: 28px 0 28px 20px; border-left: 1px solid var(--z-line); }
  .z-about { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .z-cta { grid-template-columns: minmax(0, 1fr); gap: 40px; }
}
@media (max-width: 640px) {
  .z-h1 { font-size: 34px; line-height: 1.25; }
  .z-h2 { font-size: 28px; }
  .z-hero__actions .z-btn, .z-cta__actions .z-btn { width: 100%; }
  .z-sheet { padding: 22px 20px 18px; gap: 12px; }
  .z-sheet__title { font-size: 20px; }
  .z-sheet li { font-size: 14px; padding: 9px 0; }
  .z-stamp { width: 84px; height: 84px; border-width: 2px; right: 4px; bottom: -10px; }
  .z-stamp b { font-size: 18px; }
  .z-stamp small { font-size: 8px; }
  .z-case-grid { grid-template-columns: minmax(0, 1fr); }
  .z-case-feature__body { padding: 22px 20px 26px; }
  .z-services { grid-template-columns: minmax(0, 1fr); }
  .z-service, .z-service:nth-child(even) { padding: 24px 0; border-left: 0; }
  .z-spec > div { flex-direction: column; gap: 6px; padding: 16px 0; }
  .z-spec dt { width: auto; }
  .z-footer__cols { gap: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  .z-case-media img, .z-nav, .z-drawer, .z-btn { transition: none; }
}

/* ---------- 内页首屏 ---------- */
.z-page-hero { position: relative; overflow: hidden; padding: 176px 0 96px; min-height: 520px; box-sizing: border-box; display: flex; align-items: flex-end; border-bottom: 1px solid var(--z-line); }
.z-page-hero__bg { position: absolute; top: 0; right: 0; width: 70%; height: 100%; object-fit: cover; opacity: .7; }
.z-page-hero__scrim { position: absolute; inset: 0; background: linear-gradient(90deg, var(--z-bg) 30%, rgba(14, 13, 11, .75) 60%, rgba(14, 13, 11, .3) 100%), linear-gradient(180deg, rgba(14, 13, 11, 0) 60%, var(--z-bg) 100%); }
.z-page-hero .z-grid-bg { position: absolute; inset: 0; }
.z-page-hero__inner { position: relative; display: flex; flex-direction: column; gap: 24px; }
.z-page-hero__title { margin: 0; max-width: 900px; font-family: var(--z-serif); font-weight: 900; font-size: clamp(34px, 4.4vw, 64px); line-height: 1.2; color: var(--z-text); }
.z-page-hero .z-lede { max-width: 680px; }
@media (max-width: 1023px) {
  .z-page-hero { padding: 128px 0 56px; min-height: 0; }
  .z-page-hero__bg { width: 100%; opacity: .45; }
  .z-page-hero__scrim { background: linear-gradient(180deg, rgba(14, 13, 11, .5), var(--z-bg) 90%); }
}

/* ---------- 线上验收补丁 3.0.1 ---------- */
/* 登录状态下给后台工具条让位 */
.admin-bar .z-nav { top: 32px; }
@media (max-width: 782px) { .admin-bar .z-nav { top: 46px; } }
/* 子主题模板用到、父主题工具类里缺失的类（按 Tailwind 语义补齐） */
.py-2 { padding-top: .5rem; padding-bottom: .5rem; }
.py-2\.5 { padding-top: .625rem; padding-bottom: .625rem; }
.py-3 { padding-top: .75rem; padding-bottom: .75rem; }
.py-16 { padding-top: 4rem; padding-bottom: 4rem; }
.py-24 { padding-top: 6rem; padding-bottom: 6rem; }
.px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
.px-8 { padding-left: 2rem; padding-right: 2rem; }
.pb-4 { padding-bottom: 1rem; }
.pt-12 { padding-top: 3rem; }
.p-7 { padding: 1.75rem; }
.gap-px { gap: 1px; }
.gap-x-5 { column-gap: 1.25rem; }
.gap-x-10 { column-gap: 2.5rem; }
.gap-y-2 { row-gap: .5rem; }
.items-end { align-items: flex-end; }
.text-right { text-align: right; }
.max-w-5xl { max-width: 64rem; }
@media (min-width: 640px) { .sm\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; } }
@media (min-width: 768px) { .md\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; } }
@media (min-width: 1024px) { .lg\:py-20 { padding-top: 5rem; padding-bottom: 5rem; } }
/* 1px 分隔网格：格子要有底色，分隔线才显现 */
.gap-px > * { background: var(--z-bg); }
/* SureForms 表单跟随深色主题 */
.srfm-form-container, .srfm-form-container.srfm-bg-color {
  background: transparent !important; padding: 0 !important;
  --srfm-color-scheme-primary: #C65005;
  --srfm-color-scheme-text-on-primary: #FFFFFF;
  --srfm-color-scheme-text: #F5F3F0;
  --srfm-color-input-label: #F5F3F0;
  --srfm-color-input-description: #B5AFA6;
  --srfm-color-input-placeholder: #8A857C;
  --srfm-color-input-text: #F5F3F0;
  --srfm-color-input-prefix: #B5AFA6;
  --srfm-color-input-background: #141210;
  --srfm-color-input-background-hover: #1D1B18;
  --srfm-color-input-background-disabled: #1D1B18;
  --srfm-color-input-border: rgba(245, 243, 240, .18);
  --srfm-color-input-border-hover: rgba(245, 243, 240, .30);
  --srfm-color-input-border-focus-glow: rgba(233, 130, 56, .35);
  --srfm-color-input-selected: #1D1B18;
  --srfm-color-multi-choice-svg: #B5AFA6;
  --srfm-btn-color-hover: #A74400;
  --srfm-dropdown-input-background-hover: #1D1B18;
  --srfm-dropdown-option-background-hover: #262320;
  --srfm-dropdown-option-background-selected: #262320;
  --srfm-dropdown-option-text-color: #F5F3F0;
  --srfm-dropdown-option-selected-icon: #E98238;
}
.srfm-form-container .srfm-block-label { color: #F5F3F0 !important; }
.srfm-form-container .srfm-submit-button { border-radius: 999px !important; min-height: 52px; padding: 0 30px !important; font-weight: 600; }
