/* ==========================================================================
   site.css — 全站一致性基线（2026-10-21）
   目标：页面之间来回切换时不像"拼凑"，所以统一高度、字号、节奏、转场。
   任何单页样式都不得覆盖这里的 header 高度与正文字号。
   ========================================================================== */

/* ---------- 1. 跨页面转场（Chromium 126+ 生效，其它浏览器自动忽略） ---------- */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation-duration: .18s; animation-timing-function: cubic-bezier(.4,0,.2,1); }
::view-transition-new(root) { animation-duration: .22s; animation-timing-function: cubic-bezier(.4,0,.2,1); }
/* 顶栏与页脚跨页保持不动，切换时只有主体内容淡入 —— 这是"不像换站"的关键 */
.site-header, .main-header, #dsNav, .appbar { view-transition-name: site-header; }
.site-footer, footer.zd-footer, .zd-footer { view-transition-name: site-footer; }
::view-transition-group(site-header), ::view-transition-group(site-footer) { animation: none; }

/* ---------- 2. 基础排版 ---------- */
html { background: var(--ds-c-f5f8fa); }
body { background: var(--ds-c-f5f8fa); font-size: 14px; line-height: 1.65;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Arial, sans-serif;
  -webkit-font-smoothing: antialiased; }
p, li, span, div { font-size: inherit; }

/* ---------- 3. 顶栏：所有页面同一高度、同一节奏 ---------- */
#dsNav, .appbar, .site-header, .main-header, .topbar {
  height: 62px !important;
  min-height: 62px !important;
  box-sizing: border-box;
  display: flex; align-items: center;
  padding: 0 28px !important;
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: saturate(140%) blur(8px);
  border-bottom: 1px solid var(--ds-c-e8eff4) !important;
  position: sticky; top: 0; z-index: 60;
}
#dsNav a, .appbar a, .site-header a, .topbar a { font-size: 14px !important; }
#dsNav .brand, .appbar .brand, .site-header .brand { font-size: 14px !important; font-weight: 700; letter-spacing: .2px; }
#dsNav .brand img, .appbar .brand img, .site-header .brand img {
  width: 36px !important; height: 36px !important; object-fit: contain; border-radius: 0 !important; }

/* ---------- 4. 页面标题：统一 30px 一级、层级间距一致 ---------- */
.page-hero h1, .ch-hero h1, main > h1, .wrap > h1 {
  font-size: 32px !important; line-height: 1.3 !important; font-weight: 700 !important;
  letter-spacing: .5px; margin: 0 0 10px !important; color: var(--ds-c-0b2233);
}
.page-hero p, .ch-hero p, main > h1 + p { font-size: 14px !important; color: var(--ds-c-5e7686) !important; margin: 0 0 22px !important; }

/* ---------- 5. 内容容器宽度统一 ---------- */
.wrap, .container, .main-content, .page, .ch-main { max-width: 1180px; margin-left: auto; margin-right: auto; }

/* ---------- 6. 卡片统一 ---------- */
.card, .panel, .box, .case-card, .firm-card, .tier-card {
  border-radius: 12px !important;
  border: 1px solid var(--ds-c-eaf0f4) !important;
  background: var(--ds-c-fff);
  box-shadow: 0 1px 2px rgba(10,26,38,.04), 0 8px 24px rgba(10,26,38,.05) !important;
}

/* ---------- 7. 页脚统一 ---------- */
.zd-footer, footer.zd-footer, .site-footer {
  border-top: 1px solid var(--ds-c-e8eff4);
  background: var(--ds-c-fbfdfe);
  padding: 16px 28px 18px;
  font-size: 12px; line-height: 1.9; color: var(--ds-c-7a8f9e); text-align: center;
}
.zd-footer a, .site-footer a { color: var(--ds-c-7a8f9e); text-decoration: none; }
.zd-footer a:hover, .site-footer a:hover { color: var(--ds-c-0e7490); }

/* ---------- 8. 小屏 ---------- */

/* ---------- 9. 页面标题统一（内容页，不含工作台） ---------- */
body:not(.app) h1 { font-size: 32px !important; line-height: 1.32 !important; font-weight: 700 !important;
  letter-spacing: .4px !important; color: var(--ds-c-0b2233) !important; }
body:not(.app) h1 + p { font-size: 14px !important; color: var(--ds-c-5e7686) !important; }
.main-col > .head h1, .head-flex h1 { font-size: 32px !important; }


/* 页面标题：压过 .wrap .head h1 的 clamp，统一 30px */
body:not(.app) .wrap h1, body:not(.app) .wrap .head h1,
body:not(.app) .head h1, body:not(.app) .main-col h1 { font-size: 32px !important; line-height:1.32 !important; }


/* 站头品牌图标：30px，压过页面内 .brand img / #dsNav img 的 24-26px */
#dsNav a.brand img, .appbar a.brand img, .site-header a.brand img,
#dsNav .brand img, .appbar .brand img, header a.brand img {
  width: 36px !important; height: 36px !important; max-height: 36px !important; object-fit: contain !important; }

@media (max-width: 900px) {
  #dsNav, .appbar, .site-header, .main-header, .topbar { height: 56px !important; min-height: 56px !important; padding: 0 16px !important; }
  .page-hero h1, .ch-hero h1, main > h1 { font-size: 26px !important; }
}
