/*!
 * gz.css —— 国咨智汇台 · 全站样式（唯一副本）
 * 来源：public/home.html 内联 <style> 原文，逐字节搬迁，未做任何改写/压缩/重排。
 * 原内联行号 11..1810（共 1800 行）。改样式只改本文件，不许回填内联。
 */
/* ============================================================
   国咨智汇台 · 设计系统 Design Tokens
   Tone: 政务稳重 · 深蓝金  |  Base unit: 4px  |  Scale: 1.25
   ============================================================ */
:root{
  /* ---- Palette: Ink Navy (品牌主色 / 60%) ---- */
  --navy-950: oklch(17.5% 0.035 253);
  --navy-900: oklch(22%   0.045 253);
  --navy-800: oklch(28%   0.055 253);
  --navy-700: oklch(35%   0.065 253);
  --navy-600: oklch(43%   0.075 253);
  --navy-500: oklch(52%   0.080 253);
  --navy-400: oklch(62%   0.070 253);
  --navy-300: oklch(74%   0.050 253);
  --navy-200: oklch(86%   0.028 253);
  --navy-100: oklch(93.5% 0.016 253);
  --navy-50:  oklch(97%   0.008 253);

  /* ---- Palette: Gilt (点缀金色 / 10%) ---- */
  --gilt-700: oklch(52% 0.105 78);
  --gilt-600: oklch(60% 0.115 80);
  --gilt-500: oklch(68% 0.120 82);
  --gilt-400: oklch(76% 0.115 84);
  --gilt-300: oklch(85% 0.080 84);
  --gilt-200: oklch(92% 0.045 84);
  --gilt-100: oklch(96% 0.022 84);

  /* ---- Palette: Verdant（第三家企业识别色 / 青瓷绿，仅用于搭档标记）---- */
  --verd-700: oklch(46% 0.075 185);
  --verd-600: oklch(56% 0.085 186);
  --verd-500: oklch(66% 0.090 187);
  --verd-400: oklch(78% 0.080 188);
  --verd-300: oklch(86% 0.055 188);
  --verd-100: oklch(96% 0.020 188);

  /* ---- Palette: Flame（宏尚企业识别色 / 朱红，源自宏尚集团红黄 H 标志）---- */
  --flame-700: oklch(50% 0.155 30);
  --flame-600: oklch(57% 0.165 32);
  --flame-500: oklch(63% 0.175 34);
  --flame-400: oklch(74% 0.145 42);
  --flame-300: oklch(86% 0.095 48);
  --flame-100: oklch(96% 0.035 50);

  /* ---- Neutrals: 冷调中性（带品牌色相 253）---- */
  --ink-900: oklch(21% 0.012 253);
  --ink-700: oklch(34% 0.012 253);
  --ink-600: oklch(42% 0.012 253);
  --ink-500: oklch(52% 0.011 253);
  --ink-400: oklch(62% 0.010 253);
  --ink-300: oklch(76% 0.008 253);
  --ink-200: oklch(87% 0.006 253);
  --ink-100: oklch(94% 0.005 253);
  --ink-50:  oklch(97.5% 0.004 253);
  --paper:   oklch(99.2% 0.003 253);

  /* ---- 印章红（中国传统文化锚点，仅用于印鉴 / 极小面积）---- */
  --seal: oklch(51% 0.175 27);
  --seal-soft: oklch(51% 0.175 27 / 0.10);

  /* ---- Semantic ---- */
  --ok: oklch(56% 0.13 152);
  --warn: oklch(70% 0.14 70);
  --err: oklch(56% 0.18 27);

  /* ---- Semantic Tokens ---- */
  --bg: var(--paper);
  --bg-sunken: var(--ink-50);
  --surface: #fff;
  --surface-2: var(--ink-50);
  --surface-inverse: var(--navy-950);

  --text: var(--ink-900);
  --text-secondary: var(--ink-600);
  --text-muted: var(--ink-500);
  --text-inverse: oklch(97% 0.008 253);
  --text-inverse-muted: oklch(82% 0.020 253);

  --brand: var(--navy-800);
  --brand-strong: var(--navy-950);
  --accent: var(--gilt-600);
  --accent-soft: var(--gilt-200);

  --line: var(--ink-200);
  --line-strong: var(--ink-300);
  --line-inverse: oklch(45% 0.030 253);

  /* ---- Typography ---- */
  --font-display: "Source Han Serif SC","Noto Serif SC",Songti SC,"STSong",SimSun,Georgia,serif;
  --font-sans: "MiSans","HarmonyOS Sans SC","PingFang SC","Microsoft YaHei","Source Han Sans SC",system-ui,sans-serif;
  --font-mono: "JetBrains Mono","SFMono-Regular",Consolas,monospace;

  --text-2xs: 0.6875rem;  /* 11 */
  --text-xs:  0.75rem;    /* 12 */
  --text-sm:  0.875rem;   /* 14 */
  --text-base:1rem;       /* 16 */
  --text-lg:  1.125rem;   /* 18 */
  --text-xl:  1.375rem;   /* 22 */
  --text-2xl: 1.75rem;    /* 28 */
  --text-3xl: 2.25rem;    /* 36 */
  --text-4xl: clamp(2.5rem, 4.4vw, 3.75rem);
  --text-5xl: clamp(3rem, 6vw, 5rem);

  --lh-tight: 1.2;
  --lh-snug: 1.45;
  --lh-body: 1.75;

  /* ---- Spacing (4pt) ---- */
  --sp-1:0.25rem; --sp-2:0.5rem; --sp-3:0.75rem; --sp-4:1rem;
  --sp-5:1.25rem; --sp-6:1.5rem; --sp-8:2rem; --sp-12:3rem;
  --sp-16:4rem; --sp-20:5rem;
  --section-y: clamp(4.5rem, 9vw, 8.5rem);
  --gutter: clamp(1.25rem, 4vw, 3rem);
  --maxw: 1240px;

  /* ---- Radius ---- */
  --r-xs:2px; --r-sm:4px; --r-md:8px; --r-lg:14px; --r-full:999px;

  /* ---- Elevation: 收紧的深蓝投影，绝不发灰 ---- */
  --sh-xs: 0 1px 2px oklch(21% 0.012 253 / .06);
  --sh-sm: 0 2px 6px -1px oklch(21% 0.012 253 / .07), 0 1px 2px oklch(21% 0.012 253 / .05);
  --sh-md: 0 10px 24px -8px oklch(21% 0.012 253 / .14), 0 2px 6px -2px oklch(21% 0.012 253 / .06);
  --sh-lg: 0 28px 56px -20px oklch(22% 0.045 253 / .28), 0 8px 20px -12px oklch(22% 0.045 253 / .14);
  --sh-gilt: 0 14px 34px -14px oklch(52% 0.105 78 / .42);

  /* ---- Motion: exponential easing only ---- */
  --e-out-quart: cubic-bezier(.25,1,.5,1);
  --e-out-expo:  cubic-bezier(.16,1,.3,1);
  --e-in-out:    cubic-bezier(.65,0,.35,1);
  --t-fast:140ms; --t-base:240ms; --t-slow:420ms; --t-enter:620ms;

  /* ---- Layout ---- */
  --z-sticky:200; --z-backdrop:300; --z-modal:400; --z-toast:500;
}

/* ============================================================
   对比度档位（data-contrast）—— 两个档位都是深色，不改「浅色页头」骨架
   · 档位一「标准」：不给 <html> 写任何属性，渲染与改版前逐像素一致
   · 档位二「高对比」：背景层 / 星空 / 地球完全不动，只做三件事
       ① 正文文字提亮（正文 ≥11:1，次要 ≥7:1）
       ② 卡片描边与分隔线加强
       ③ 玻璃卡底色略微加深（调暗，不是调亮）
   注意作用域：token 只覆盖正文区（main）与页脚。页头、抽屉、弹层是浅底深字，
   本来就已是高对比，不能被这套 token 染成浅灰（否则反而看不清）
   ============================================================ */
[data-contrast="high"] main,
[data-contrast="high"] .site-footer{
  --text: oklch(99% 0.004 253);
  --text-secondary: oklch(93% 0.010 253);
  --text-muted: oklch(85% 0.012 253);
  --line: oklch(46% 0.020 253);
  --line-strong: oklch(56% 0.022 253);
}

/* ============================================================
   Reset & Base
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:96px}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }
body{
  font-family:var(--font-sans);
  font-size:var(--text-base);
  line-height:var(--lh-body);
  color:var(--text);
  background:var(--bg);
  font-kerning:normal;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{display:block; max-width:100%}
button{font:inherit; color:inherit; background:none; border:none; cursor:pointer}
a{color:inherit; text-decoration:none}
ul,ol{list-style:none; padding:0}
h1,h2,h3,h4{font-family:var(--font-display); font-weight:700; line-height:var(--lh-tight); letter-spacing:-0.01em}
:where(a,button,input,summary,[tabindex]):focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:var(--r-xs);
}
::selection{background:var(--gilt-200); color:var(--navy-950)}

/* ============================================================
   Utilities
   ============================================================ */
.wrap{width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter)}
.skip{
  position:fixed; top:-100px; left:var(--gutter); z-index:var(--z-toast);
  background:var(--navy-950); color:#fff; padding:var(--sp-3) var(--sp-5);
  border-radius:0 0 var(--r-md) var(--r-md); transition:top var(--t-base) var(--e-out-quart);
}
.skip:focus{top: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}

.eyebrow{
  display:inline-flex; align-items:center; gap:var(--sp-3);
  font-size:var(--text-xs); font-weight:600; letter-spacing:.22em;
  text-transform:uppercase; color:var(--accent); font-family:var(--font-sans);
}
.eyebrow::before{content:""; width:26px; height:1px; background:var(--accent); opacity:.75}
.eyebrow--center{justify-content:center}
.eyebrow--center::after{content:""; width:26px; height:1px; background:var(--accent); opacity:.75}

.sec-head{max-width:62ch}
.sec-head h2{
  font-size:var(--text-3xl); margin-top:var(--sp-5); color:var(--navy-950);
  text-wrap:balance;
}
.sec-head p{margin-top:var(--sp-5); color:var(--text-secondary); max-width:52ch; text-wrap:pretty}
.sec-head--center{margin-inline:auto; text-align:center}
.sec-head--center p{margin-inline:auto}

/* 段落级锚点：中文引号排版 */
.hl{color:var(--navy-800); font-weight:600; border-bottom:2px solid var(--gilt-300)}

/* ============================================================
   ① 右侧悬浮工具条（模版第 1 块：固定竖排 · 24px 图标 + 11px 文字）
   —— 四个入口全部是真实地址：我的应用 / 咨询邮箱 / 服务热线 / 返回顶部
   —— 浅底卡片（与页头同一套 chrome 语言），1px 描边，无投影
   ============================================================ */
.rail{
  position:fixed; right:0; top:50%; transform:translateY(-50%);
  z-index:70; display:grid; gap:1px;
  background:var(--line);
  border:1px solid var(--line); border-right:none;
  border-radius:10px 0 0 10px; overflow:hidden;
}
.rail__i{
  width:66px; min-height:58px; padding:8px 4px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  background:var(--surface); color:var(--navy-800);
  font-size:11px; line-height:1.15; letter-spacing:.02em; text-align:center;
  transition:background var(--t-fast) var(--e-out-quart), color var(--t-fast) var(--e-out-quart);
}
.rail__i:hover,.rail__i:focus-visible{background:var(--navy-950); color:var(--gilt-300)}
.rail__ic{width:24px; height:24px; flex:none; stroke-width:1.6}
.rail__tx{display:block; white-space:nowrap}

/* ============================================================
   ② 顶部信息条（模版第 2 块：高约 36px · 左服务热线 / 右对比度档位）
   —— 不再做「友情链接 ▾」「繁體中文」：没有真实数据
   —— 对比度开关从头部挪到此处（模版「无障碍浏览」的位置）
   ============================================================ */
.topbar{
  position:relative; z-index:1;
  background:var(--surface);
  border-bottom:1px solid var(--line);
  color:var(--text-secondary);
  font-size:var(--text-xs); letter-spacing:.02em;
}
.topbar__in{
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--sp-4); min-height:36px; flex-wrap:wrap;
}
.topbar__l{display:flex; align-items:center; gap:var(--sp-2)}
.topbar__l span{display:inline-flex; align-items:center; gap:6px}
.topbar__l svg{width:13px; height:13px; opacity:.7}
.topbar__l a{color:var(--navy-800); font-weight:600; letter-spacing:.04em}
.topbar__l a:hover,.topbar__l a:focus-visible{color:var(--navy-950); text-decoration:underline; text-underline-offset:3px}
.topbar__r{display:flex; align-items:center; gap:var(--sp-3)}
/* 信息条里的档位按钮压到 26px 高，仍保持标签定宽（切档不回流） */
.topbar .contrast-btn{height:26px; padding:0 8px; border-color:var(--line-strong); background:var(--surface-2)}
.topbar .contrast-btn svg{width:14px; height:14px}
.topbar .contrast-btn__lbl{font-size:var(--text-2xs)}

/* ---------- 通用按钮（骨架重建后保留原设计系统的 8 态按钮） ---------- */
.btn{
  --btn-bg:var(--navy-800); --btn-fg:#fff; --btn-bd:transparent;
  display:inline-flex; align-items:center; justify-content:center; gap:var(--sp-3);
  min-height:48px; padding:var(--sp-3) var(--sp-6);
  font-size:var(--text-sm); font-weight:600; letter-spacing:.02em;
  background:var(--btn-bg); color:var(--btn-fg);
  border:1px solid var(--btn-bd); border-radius:var(--r-sm);
  cursor:pointer; user-select:none; white-space:nowrap;
  transition:transform var(--t-fast) var(--e-out-quart), box-shadow var(--t-base) var(--e-out-quart),
             background var(--t-fast) var(--e-out-quart), border-color var(--t-fast) var(--e-out-quart), color var(--t-fast);
}
.btn svg{width:16px; height:16px; transition:transform var(--t-base) var(--e-out-expo)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn:disabled{opacity:.5; cursor:not-allowed; transform:none}
.btn--primary{box-shadow:var(--sh-sm)}
.btn--primary:hover{background:var(--navy-950); box-shadow:var(--sh-md)}
.btn--primary:hover svg{transform:translateX(3px)}
.btn--gilt{--btn-bg:var(--accent); --btn-fg:var(--navy-950)}
.btn--gilt:hover{--btn-bg:var(--gilt-500); box-shadow:var(--sh-gilt)}
.btn--gilt:hover svg{transform:translateX(3px)}
.btn--ghost{--btn-bg:transparent; --btn-fg:var(--navy-900); --btn-bd:var(--line-strong)}
.btn--ghost:hover{--btn-bd:var(--navy-800); --btn-bg:var(--ink-50)}
.btn--sm{min-height:40px; padding:var(--sp-2) var(--sp-5); font-size:var(--text-xs)}
.btn--light{--btn-bg:oklch(99% 0.003 253 / .10); --btn-fg:#fff; --btn-bd:oklch(99% 0.003 253 / .28)}
.btn--light:hover{--btn-bg:oklch(99% 0.003 253 / .18); --btn-bd:oklch(99% 0.003 253 / .5)}

.icon-btn{
  width:44px; height:44px; display:grid; place-items:center; border-radius:var(--r-sm);
  color:var(--text-secondary); transition:background var(--t-fast), color var(--t-fast), transform var(--t-fast);
}
.icon-btn:hover{background:var(--ink-100); color:var(--navy-950)}
.icon-btn:active{transform:scale(.94)}
.icon-btn svg{width:19px; height:19px}

/* 对比度开关：图标 + 当前档位文字（标准 / 高对比），点击在两级间切换
   标签定宽 3.4em：两档字数不同，但按钮与搜索框右边缘切档时不回流 */
.contrast-btn{
  width:auto; height:36px; min-width:44px;
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:0 10px 0 9px; border:1px solid var(--line); border-radius:var(--r-full);
  color:var(--text-secondary); background:transparent;
}
.contrast-btn:hover{background:var(--ink-100); color:var(--navy-950); border-color:var(--line-strong)}
.contrast-btn svg{width:16px; height:16px}
.contrast-btn__lbl{
  font-size:var(--text-xs); letter-spacing:.06em; line-height:1;
  white-space:nowrap; min-width:3.4em; text-align:center;
}
.contrast-btn[aria-pressed="true"]{
  color:var(--navy-950); background:oklch(93% .045 86); border-color:oklch(70% .105 84);
}

/* ============================================================
   ③ 头部（模版第 3 块：印章 logo + 中英文名 ｜ 大搜索胶囊 ｜ 用户中心入口）
   ============================================================ */
.hdr{
  position:sticky; top:0; z-index:var(--z-sticky);
  background:oklch(99.2% 0.003 253 / .96);
  backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid var(--line);
  transition:box-shadow var(--t-base) var(--e-out-quart);
}
.hdr.is-stuck{box-shadow:0 6px 16px -14px oklch(21% 0.012 253 / .55)}
.hdr__in{
  display:grid; grid-template-columns:minmax(310px,1fr) minmax(0,560px) minmax(150px,1fr);
  align-items:center; gap:var(--sp-6);
  min-height:84px;
}
.hdr__in .brand{justify-self:start}
.hdr__in .hdr__act{justify-self:end}

.brand{display:flex; align-items:center; gap:var(--sp-3); min-width:0}
.brand__seal{
  flex:none; width:44px; height:44px; border-radius:var(--r-sm);
  background:linear-gradient(150deg, var(--navy-800), var(--navy-950));
  color:var(--gilt-400); display:grid; place-items:center;
  font-family:var(--font-display); font-size:1.5rem; font-weight:700;
  box-shadow:inset 0 0 0 1px oklch(76% 0.115 84 / .35);
  position:relative; overflow:hidden;
}
.brand__seal::after{content:""; position:absolute; inset:4px; border:1px solid oklch(76% 0.115 84 / .28); border-radius:2px}
.brand__txt{min-width:0; display:grid; gap:2px}
.brand__name{
  font-family:var(--font-display); font-size:1.25rem; font-weight:700;
  color:var(--navy-950); letter-spacing:.06em; line-height:1.2; white-space:nowrap;
}
.brand__sub{
  font-size:10px; font-weight:500; color:var(--text-muted);
  letter-spacing:.18em; line-height:1.2; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis;
}

/* 搜索胶囊：居中，最大 560px */
.hsearch{
  position:relative; justify-self:center;
  display:flex; align-items:center; gap:var(--sp-2);
  width:100%; max-width:560px; height:44px;
  padding:0 var(--sp-2) 0 var(--sp-4);
  background:var(--surface-2);
  border:1px solid var(--line-strong); border-radius:var(--r-full);
  transition:border-color var(--t-fast) var(--e-out-quart), box-shadow var(--t-fast);
}
.hsearch:focus-within{border-color:var(--navy-700); box-shadow:0 0 0 3px oklch(76% .115 84/.18); background:var(--surface)}
.hsearch__ic{flex:none; width:17px; height:17px; color:var(--text-muted)}
.hsearch__in{
  flex:1 1 auto; min-width:0; height:100%; border:none; outline:none; background:none;
  font:inherit; font-size:var(--text-sm); color:var(--text);
}
.hsearch__in::placeholder{color:var(--text-muted); font-size:var(--text-xs)}
.hsearch__in::-webkit-search-cancel-button{display:none}
.hsearch__clr{
  flex:none; width:30px; height:30px; border-radius:var(--r-full); display:grid; place-items:center;
  color:var(--text-muted); background:var(--ink-100);
}
.hsearch__clr:hover{color:var(--navy-950); background:var(--ink-200)}
.hsearch__clr svg{width:13px; height:13px}

.hdr__act{display:flex; align-items:center; gap:var(--sp-2)}
.hdr__cta{
  display:inline-flex; align-items:center; gap:8px;
  height:40px; padding:0 var(--sp-5);
  border:1px solid var(--navy-800); border-radius:var(--r-full);
  font-size:13px; font-weight:600; letter-spacing:.02em;
  color:var(--navy-900); white-space:nowrap;
  transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
}
.hdr__cta svg{width:14px; height:14px; transition:transform var(--t-base) var(--e-out-expo)}
.hdr__cta:hover{background:var(--navy-950); border-color:var(--navy-950); color:#fff}
.hdr__cta:hover svg{transform:translateX(3px)}

/* ============================================================
   ④ 一级导航（模版第 4 块：7 项横排 · 当前项金色下划线）
   ============================================================ */
.hdr__nav{
  display:flex; justify-content:center; align-items:stretch;
  gap:clamp(1.25rem, 3vw, 2.75rem);
  height:48px; padding-inline:var(--gutter);
  border-top:1px solid var(--line);
}
.hdr__nav a{
  position:relative; display:flex; align-items:center;
  height:100%; padding:0; border-radius:0; background:none;
  font-size:15px; font-weight:500; color:var(--text-secondary);
  white-space:nowrap;
}
.hdr__nav a::after{left:0; right:0; bottom:0; height:2px}
.hdr__nav a:hover{background:none; color:var(--navy-950)}
.hdr__nav a[aria-current="true"]{color:var(--navy-950); font-weight:600}

/* 汉堡在模版里没有对应物：≤900 用横向滚动导航，不折叠 */
.burger{display:none}

/* ============================================================
   ⑤ 首屏 hero（模版第 5 块：大标题 + 品牌语 + 副标题 + 一排快捷入口胶囊）
   —— 背景仍是固定宇宙层，此处只做层次与排版
   —— 层级：eyebrow 12 → h1 clamp(32,4.6vw,56) → 品牌语 clamp(19,2.6vw,30)
            （品牌语恒 ≥ h1 的 45%，独立一行、金色、首屏可见）
   ============================================================ */
.hero{
  position:relative; overflow:hidden;
  background:transparent;
  color:var(--text-inverse);
  min-height:calc(100vh - 168px);
  display:flex; flex-direction:column; justify-content:center;
  padding-block:clamp(2.5rem, 5vw, 4rem) clamp(1.75rem, 3.5vw, 2.75rem);
  isolation:isolate;
}
/* 网格肌理：呼应勘测 / 检测的专业语义（保留原视觉，不动背景层） */
.hero::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(oklch(99% 0.003 253 / .055) 1px, transparent 1px),
    linear-gradient(90deg, oklch(99% 0.003 253 / .055) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(120% 85% at 50% 0%, #000 0%, transparent 78%);
}
/* 烫金细线光晕 */
.hero::after{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:min(760px,88vw); aspect-ratio:1; right:-14%; top:-30%;
  background:radial-gradient(circle, oklch(68% 0.12 82 / .16) 0%, transparent 66%);
  filter:blur(6px);
}
.hero .wrap{position:relative; z-index:1; width:100%}

.hero__eyebrow{
  display:block; position:relative;
  padding-left:38px;
  font-size:var(--text-xs); font-weight:500;
  letter-spacing:.2em; line-height:1.7;
  color:var(--gilt-300);
  max-width:74ch; text-wrap:balance; word-break:keep-all;
}
.hero__eyebrow::before{
  content:""; position:absolute; left:0; top:.85em;
  width:26px; height:1px;
  background:var(--gilt-400); opacity:.8;
}

.hero h1{
  margin-top:clamp(.75rem, 1.6vw, 1.25rem);
  font-size:clamp(2rem, 4.6vw, 3.5rem);
  line-height:1.12; font-weight:800; letter-spacing:.04em;
  color:#fff; text-wrap:balance;
}

/* 品牌语：独立一行、金色，字号 ≥ h1 的 45%（56→30 = 53.6%；32→19 = 59%） */
.hero__brand{
  margin-top:clamp(.7rem, 1.4vw, 1.15rem);
  font-family:var(--font-display); font-weight:700;
  font-size:clamp(1.1875rem, 2.6vw, 1.875rem);
  line-height:1.3; letter-spacing:.14em;
  background:linear-gradient(100deg, var(--gilt-400) 0%, oklch(90% 0.09 88) 46%, var(--gilt-600) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  white-space:nowrap;
}

.hero__lead{
  margin-top:clamp(.6rem, 1.4vw, 1.1rem);
  font-size:15px; line-height:1.9; letter-spacing:.06em;
  color:var(--text-inverse-muted);
  max-width:46ch;
}

/* 一排快捷入口胶囊：7 个，锚点指向 7 个板块 */
.hero__quick{
  display:flex; flex-wrap:wrap; gap:10px;
  margin-top:clamp(1.25rem, 2.6vw, 2rem);
}
.qk{
  display:inline-flex; align-items:center;
  height:38px; padding:0 18px;
  border:1px solid oklch(99% 0.003 253 / .26); border-radius:var(--r-full);
  font-size:13px; font-weight:500; letter-spacing:.04em;
  color:oklch(94% 0.008 253); white-space:nowrap;
  background:oklch(99% 0.003 253 / .05);
  transition:background var(--t-fast) var(--e-out-quart), border-color var(--t-fast), color var(--t-fast);
}
.qk:hover,.qk:focus-visible{
  background:var(--gilt-400); border-color:var(--gilt-400); color:var(--navy-950);
}

/* 六枚印章头像 + 一句话：fine print（opacity .5，缩小到 28px） */
.hero__meta{
  display:flex; align-items:center; gap:var(--sp-3); flex-wrap:wrap;
  margin-top:clamp(1.1rem, 2vw, 1.6rem);
  opacity:.5;
}
.sig{display:flex; align-items:center}
.sig__av{
  width:28px; height:28px; border-radius:50%; flex:none; margin-left:-8px;
  display:grid; place-items:center;
  font-family:var(--font-display); font-size:11px; font-weight:700;
  background:linear-gradient(150deg,var(--navy-700),var(--navy-900)); color:var(--gilt-300);
  box-shadow:0 0 0 1.5px oklch(19% 0.038 253);
}
.sig__av:first-child{margin-left:0}
.sig__av--gilt{background:linear-gradient(150deg,var(--gilt-500),var(--gilt-700)); color:var(--navy-950)}
.sig__av--verd{background:linear-gradient(150deg,var(--verd-500),var(--verd-700)); color:var(--navy-950)}
.sig__av--teal{background:linear-gradient(150deg,oklch(72% 0.10 168),oklch(56% 0.10 168)); color:var(--navy-950)}
.sig__av--slate{background:linear-gradient(150deg,oklch(70% 0.055 245),oklch(55% 0.06 245)); color:var(--navy-950)}
.sig__av--zk{background:linear-gradient(150deg,oklch(68% 0.11 285),oklch(52% 0.12 285)); color:#fff}
.sig__txt{font-size:var(--text-2xs); letter-spacing:.05em; color:var(--text-inverse-muted); margin-left:var(--sp-2)}

/* 首屏底部数据带：发丝线行（k 11px / v 18px），数字原样不改 */
.stats{
  position:relative; z-index:1;
  margin-top:clamp(1.75rem, 3.5vw, 2.75rem);
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr));
  border-top:1px solid oklch(99% 0.003 253 / .16);
  border-bottom:1px solid oklch(99% 0.003 253 / .10);
}
.stat{
  display:flex; flex-direction:column; gap:6px;
  padding:var(--sp-4) var(--sp-5) var(--sp-4) 0;
}
.stat + .stat{padding-left:var(--sp-5); border-left:1px solid oklch(99% 0.003 253 / .13)}
.stat__n{
  font-family:var(--font-display); font-size:18px; font-weight:700;
  color:#fff; line-height:1.15;
  font-variant-numeric:tabular-nums lining-nums; letter-spacing:.02em;
}
.stat__n em{font-style:normal; font-size:var(--text-xs); color:var(--gilt-400); margin-left:2px; font-weight:600}
.stat__l{font-size:var(--text-2xs); line-height:1.6; letter-spacing:.04em; color:oklch(76% 0.022 253)}
/* ============================================================
   页脚 · 主办/承办 · 联系方式 · ICP 备案
   —— 位于 <main> 之后的正常文档流末尾（页面最底部，非 fixed/sticky）
   —— 仿政务服务网两行式：单位栏 / 联系栏 / 备案栏
   ============================================================ */
.site-footer{
  background:oklch(15% .030 253/.94);
  border-top:1px solid oklch(99% 0.003 253 / .12);
  padding-block:clamp(1.75rem,3vw,2.5rem);
  padding-inline:var(--gutter);
  text-align:center;
  font-size:var(--text-xs);
  line-height:1.7;
  letter-spacing:.06em;
  color:oklch(74% 0.022 253 / .88);
}
.site-footer__in{display:grid; gap:var(--sp-3)}
.site-footer__row{
  display:flex; align-items:center; justify-content:center;
  gap:var(--sp-2) var(--sp-5); flex-wrap:wrap;
}
.site-footer__row + .site-footer__row{padding-top:var(--sp-3); border-top:1px solid oklch(99% .003 253/.08)}
.site-footer__row a{color:inherit; transition:color var(--t-fast) var(--e-out-quart)}
.site-footer__row a:hover,.site-footer__row a:focus-visible{color:var(--gilt-400); text-decoration:underline; text-underline-offset:3px}
.site-footer__sep{color:oklch(74% .022 253/.4)}
.site-footer__link{
  display:inline-block;
  padding:1px 6px;
  border-radius:var(--r-xs);
  color:inherit;
  transition:color var(--t-fast) var(--e-out-quart);
}
.site-footer__link:hover,
.site-footer__link:focus-visible{color:var(--gilt-400); text-decoration:underline; text-underline-offset:3px}
@media (max-width:640px){
  .site-footer{font-size:11px; letter-spacing:.04em}
}

/* ============================================================
   Section shell
   ============================================================ */
.sec{padding-block:var(--section-y); position:relative}
.sec--sunken{background:var(--bg-sunken)}
.sec--paper{background:var(--bg)}

/* ============================================================
   About
   ============================================================ */
.about{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(2.5rem,5vw,5rem); align-items:start}
.about__body p+p{margin-top:var(--sp-5)}
.about__body{color:var(--text-secondary); font-size:var(--text-lg); line-height:1.85; text-wrap:pretty}
.about__body h2{font-size:var(--text-3xl); margin-top:var(--sp-5); margin-bottom:var(--sp-6); color:var(--navy-950)}

.pull{
  margin-top:var(--sp-8); padding:var(--sp-6) var(--sp-6) var(--sp-6) var(--sp-8);
  border-left:3px solid var(--accent); background:var(--surface);
  border-radius:0 var(--r-md) var(--r-md) 0; box-shadow:var(--sh-xs);
}
.pull p{font-family:var(--font-display); font-size:var(--text-xl); color:var(--navy-900); line-height:1.6; letter-spacing:.04em}
.pull cite{display:block; margin-top:var(--sp-3); font-size:var(--text-xs); font-style:normal; color:var(--text-muted); letter-spacing:.1em}

/* 企业信息：定义列表，非卡片式，用分隔线建层次 */
.factsheet{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-sm)}
.factsheet__hd{
  padding:var(--sp-5) var(--sp-6); background:linear-gradient(120deg,var(--navy-900),var(--navy-800));
  color:var(--text-inverse); display:flex; align-items:center; justify-content:space-between; gap:var(--sp-4);
}
.factsheet__hd h3{font-size:var(--text-base); letter-spacing:.14em; font-weight:600; font-family:var(--font-sans)}
.factsheet__hd .dotn{font-family:var(--font-mono); font-size:var(--text-2xs); color:var(--gilt-300); letter-spacing:.1em}
.factsheet dl{display:grid}
.factsheet .row{
  display:grid; grid-template-columns:104px minmax(0,1fr); gap:var(--sp-4);
  padding:var(--sp-4) var(--sp-6); border-bottom:1px solid var(--line);
  transition:background var(--t-fast) var(--e-out-quart);
}
.factsheet .row:last-child{border-bottom:none}
.factsheet .row:hover{background:var(--ink-50)}
.factsheet dt{font-size:var(--text-xs); color:var(--text-muted); letter-spacing:.06em; padding-top:3px}
.factsheet dd{font-size:var(--text-sm); color:var(--text); font-weight:500; line-height:1.65; word-break:break-word}
.factsheet dd.mono{font-family:var(--font-mono); font-size:var(--text-xs); font-variant-numeric:tabular-nums; letter-spacing:.02em}
.factsheet a{color:var(--navy-700); border-bottom:1px solid var(--line-strong); transition:color var(--t-fast), border-color var(--t-fast)}
.factsheet a:hover{color:var(--accent); border-color:var(--accent)}

/* ============================================================
   Firms — 业务领域 · 三家机构独立详板（比首页详细）
   ============================================================ */
.firm{
  display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  margin-top:clamp(2rem,4vw,3.5rem);
  border:1px solid var(--line); border-radius:var(--r-lg);
  background:var(--surface); overflow:hidden; box-shadow:var(--sh-sm);
}
.firm__side{
  position:relative; color:var(--text-inverse);
  padding:clamp(1.75rem,3vw,2.5rem);
  display:flex; flex-direction:column; gap:var(--sp-4);
}
.firm__side::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(oklch(99% 0.003 253 / .08) 1px, transparent 1px);
  background-size:22px 22px; mask-image:linear-gradient(165deg,#000,transparent 72%);
}
.firm__side > *{position:relative}
.firm--gilt  .firm__side{background:linear-gradient(165deg,var(--navy-800) 0%,var(--navy-950) 100%); box-shadow:inset 0 -3px 0 0 oklch(70% 0.12 78 / .8)}
.firm--flame .firm__side{background:linear-gradient(165deg,oklch(33% 0.075 28) 0%,oklch(20% 0.045 26) 100%); box-shadow:inset 0 -3px 0 0 oklch(63% 0.175 34 / .85)}
.firm--verd  .firm__side{background:linear-gradient(165deg,oklch(30% 0.05 200) 0%,var(--navy-950) 100%); box-shadow:inset 0 -3px 0 0 oklch(60% 0.09 186 / .8)}

.firm__logo{
  width:56px; height:56px; border-radius:var(--r-sm); display:grid; place-items:center;
  font-family:var(--font-display); font-size:var(--text-2xl); font-weight:700;
  background:linear-gradient(150deg,var(--gilt-500),var(--gilt-700)); color:var(--navy-950);
  box-shadow:var(--sh-gilt);
}
.firm--flame .firm__logo{background:transparent; box-shadow:none; overflow:visible}
.firm--flame .firm__logo svg{width:56px; height:56px; filter:drop-shadow(0 10px 22px oklch(50% 0.155 30 / .5))}
.firm--verd  .firm__logo{background:linear-gradient(150deg,var(--verd-500),var(--verd-700)); color:var(--navy-950); box-shadow:0 14px 34px -14px oklch(46% 0.075 185 / .45)}

.firm__nm{font-family:var(--font-display); font-size:var(--text-xl); font-weight:700; letter-spacing:.02em; line-height:1.4}
.firm__en{font-family:var(--font-mono); font-size:var(--text-2xs); letter-spacing:.12em; color:oklch(74% 0.02 253); text-transform:uppercase}
.firm__intro{font-size:var(--text-sm); line-height:1.85; color:oklch(86% 0.015 253); text-wrap:pretty; margin-top:var(--sp-2)}
.firm__intro b{color:#fff; font-weight:600}
.firm__data{
  margin-top:auto; padding-top:var(--sp-4); border-top:1px solid oklch(99% 0.003 253 / .14);
  display:grid; gap:var(--sp-2);
}
.firm__data span{font-size:var(--text-xs); color:oklch(80% 0.02 253); letter-spacing:.04em}
.firm__data b{font-family:var(--font-mono); color:#fff; font-weight:600; font-variant-numeric:tabular-nums}

.firm__main{padding:clamp(1.75rem,3vw,2.5rem); display:grid; gap:var(--sp-6); align-content:start}
.firm__cap{
  font-size:var(--text-xs); font-weight:700; letter-spacing:.16em; color:var(--navy-950);
  display:flex; align-items:center; gap:var(--sp-3);
}
.firm__cap::after{content:""; flex:1; height:1px; background:var(--line)}

/* 业务卡阵列 */
.fsvc{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sp-4)}
.fsvc--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fsvc__i{
  border:1px solid var(--line); border-radius:var(--r-md); padding:var(--sp-5);
  background:var(--surface); display:flex; flex-direction:column; gap:var(--sp-3);
  transition:transform var(--t-base) var(--e-out-expo), box-shadow var(--t-base) var(--e-out-quart), border-color var(--t-base) var(--e-out-quart);
}
.fsvc__i:hover{transform:translateY(-3px); box-shadow:var(--sh-md)}
.firm--gilt  .fsvc__i:hover{border-color:var(--gilt-300)}
.firm--flame .fsvc__i:hover{border-color:var(--flame-300)}
.firm--verd  .fsvc__i:hover{border-color:var(--verd-300)}
.fsvc__t{display:flex; align-items:center; gap:var(--sp-3); font-family:var(--font-display); font-weight:700; font-size:var(--text-lg); color:var(--navy-950); letter-spacing:.02em}
.fsvc__ic{
  width:36px; height:36px; border-radius:var(--r-sm); display:grid; place-items:center; flex:none;
  color:var(--navy-700); background:var(--ink-50); border:1px solid var(--line);
}
.fsvc__ic svg{width:19px; height:19px; stroke-width:1.6}
.firm--gilt  .fsvc__ic{color:var(--gilt-700); background:var(--gilt-100); border-color:var(--gilt-200)}
.firm--flame .fsvc__ic{color:var(--flame-700); background:var(--flame-100); border-color:var(--flame-300)}
.firm--verd  .fsvc__ic{color:var(--verd-700); background:var(--verd-100); border-color:var(--verd-300)}
.fsvc__d{font-size:var(--text-sm); color:var(--text-secondary); line-height:1.75; text-wrap:pretty}
.fsvc__tags{display:flex; flex-wrap:wrap; gap:var(--sp-2); margin-top:auto; padding-top:var(--sp-2)}
.fsvc__tags span{font-size:var(--text-2xs); padding:2px var(--sp-3); border-radius:var(--r-full); border:1px solid var(--line); color:var(--text-muted); letter-spacing:.05em; background:var(--ink-50)}

/* 分组标签行（检测范围等） */
.fgroup{display:grid; grid-template-columns:minmax(0,8em) minmax(0,1fr); gap:var(--sp-4); padding-top:var(--sp-4); border-top:1px solid var(--line)}
.fgroup:first-of-type{border-top:none; padding-top:0}
.fgroup__k{font-size:var(--text-xs); font-weight:700; letter-spacing:.1em; color:var(--navy-950); padding-top:calc(var(--sp-2) + 2px)}
.firm--flame .fgroup__k::before{content:""; display:inline-block; width:8px; height:8px; border-radius:2px; background:linear-gradient(135deg,var(--flame-500),var(--flame-700)); margin-right:var(--sp-2); vertical-align:1px}

/* 深色模式适配 */

/* 响应式 */
@media (max-width:1080px){
  .firm{grid-template-columns:1fr}
}
@media (max-width:720px){
  .fsvc,.fsvc--3{grid-template-columns:1fr}
  .fgroup{grid-template-columns:1fr; gap:var(--sp-2)}
}
/* flame 变体（宏尚资质清单 / 计数） */
.quals--flame .mk{background:var(--flame-100); color:var(--flame-700); border-color:var(--flame-300)}
.cnt--flame{color:var(--flame-600)}

/* ============================================================
   Partner — 湖南宏尚
   ============================================================ */
.ptn{display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:clamp(2rem,4.5vw,4rem); margin-top:clamp(2.5rem,5vw,4rem); align-items:start}
.ptn__card{
  position:relative; border-radius:var(--r-lg); overflow:hidden; color:var(--text-inverse);
  background:linear-gradient(158deg,var(--navy-900) 0%,var(--navy-950) 100%);
  padding:var(--sp-8); box-shadow:var(--sh-lg); border:1px solid oklch(40% 0.04 253);
}
.ptn__card::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(oklch(99% 0.003 253 / .07) 1px, transparent 1px);
  background-size:22px 22px; mask-image:linear-gradient(160deg,#000,transparent 70%);
}
.ptn__card > *{position:relative}
.ptn__mark{
  width:52px;height:52px;border-radius:var(--r-sm); display:grid;place-items:center;
  font-family:var(--font-display); font-size:var(--text-2xl); font-weight:700;
  background:linear-gradient(150deg,var(--gilt-500),var(--gilt-700)); color:var(--navy-950);
  box-shadow:var(--sh-gilt);
}
.ptn__nm{font-family:var(--font-display); font-size:var(--text-2xl); font-weight:700; margin-top:var(--sp-5); letter-spacing:.02em; line-height:1.3}
.ptn__en{font-family:var(--font-mono); font-size:var(--text-2xs); letter-spacing:.1em; color:oklch(70% 0.025 253); margin-top:var(--sp-3); text-transform:uppercase}
.ptn__tag{display:flex; gap:var(--sp-2); flex-wrap:wrap; margin-top:var(--sp-5)}
.ptn__tag span{font-size:var(--text-xs); padding:3px var(--sp-3); border-radius:var(--r-xs); background:oklch(99% 0.003 253 / .1); border:1px solid oklch(99% 0.003 253 / .16); letter-spacing:.08em}
.ptn__desc{margin-top:var(--sp-6); padding-top:var(--sp-5); border-top:1px solid oklch(99% 0.003 253 / .12); font-size:var(--text-sm); line-height:1.9; color:oklch(84% 0.018 253); text-wrap:pretty}
.ptn__contact{display:grid; gap:var(--sp-3); margin-top:var(--sp-6)}
.ptn__contact a,.ptn__contact span{
  display:flex; align-items:center; gap:var(--sp-3); font-size:var(--text-sm); color:oklch(88% 0.015 253);
  padding:var(--sp-3) var(--sp-4); border-radius:var(--r-sm); background:oklch(99% 0.003 253 / .06);
  border:1px solid oklch(99% 0.003 253 / .1); transition:background var(--t-fast) var(--e-out-quart), border-color var(--t-fast);
}
.ptn__contact a:hover{background:oklch(76% 0.115 84 / .14); border-color:oklch(76% 0.115 84 / .4); color:#fff}
.ptn__contact svg{width:16px;height:16px; color:var(--gilt-400); flex:none}

.ptn__panel{display:grid; gap:var(--sp-8)}
.block__hd{display:flex; align-items:center; gap:var(--sp-3); margin-bottom:var(--sp-5)}
.block__hd h3{font-family:var(--font-sans); font-size:var(--text-sm); font-weight:700; letter-spacing:.16em; color:var(--navy-950)}
.block__hd .rule{flex:1; height:1px; background:var(--line)}
.block__hd .cnt{font-family:var(--font-mono); font-size:var(--text-2xs); color:var(--accent); letter-spacing:.08em; font-variant-numeric:tabular-nums}

/* 资质：编号清单，不套卡片 */
.quals{display:grid; gap:0; border-top:1px solid var(--line)}
.quals li{
  display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--sp-4); align-items:start;
  padding:var(--sp-4) var(--sp-3); border-bottom:1px solid var(--line);
  transition:background var(--t-fast) var(--e-out-quart), padding-left var(--t-base) var(--e-out-expo);
}
.quals li:hover{background:var(--surface); padding-left:var(--sp-5)}
.quals .mk{
  width:18px;height:18px;border-radius:var(--r-xs); display:grid;place-items:center; flex:none; margin-top:2px;
  background:var(--gilt-100); color:var(--gilt-700); border:1px solid var(--gilt-200);
}
.quals .mk svg{width:11px;height:11px; stroke-width:3}
.quals .tx{font-size:var(--text-sm); color:var(--text-secondary); line-height:1.65}
.quals .tx b{color:var(--text); font-weight:600}

/* 服务范围：标签云 */
.scope{display:flex; flex-wrap:wrap; gap:var(--sp-2)}
.scope li{
  font-size:var(--text-xs); padding:var(--sp-2) var(--sp-4); border-radius:var(--r-full);
  border:1px solid var(--line); color:var(--text-secondary); background:var(--surface);
  transition:all var(--t-fast) var(--e-out-quart); cursor:default;
}
.scope li:hover{border-color:var(--navy-700); color:var(--navy-900); transform:translateY(-2px); box-shadow:var(--sh-xs)}
.scope li.is-key{background:var(--navy-950); color:#fff; border-color:var(--navy-950)}
.scope li.is-key:hover{background:var(--navy-800); color:#fff}

/* 典型业绩：时间轴 */
.track{display:grid; gap:0; position:relative; padding-left:var(--sp-6)}
.track::before{content:""; position:absolute; left:5px; top:8px; bottom:8px; width:1px; background:linear-gradient(var(--accent), var(--line) 70%, transparent)}
.track li{position:relative; padding:var(--sp-3) 0 var(--sp-4) var(--sp-5); font-size:var(--text-sm); color:var(--text-secondary); line-height:1.7}
.track li::before{
  content:""; position:absolute; left:-1.28rem; top:1.15rem; width:9px; height:9px; border-radius:50%;
  background:var(--surface); border:2px solid var(--line-strong);
  transition:border-color var(--t-base) var(--e-out-quart), transform var(--t-base) var(--e-out-quart), background var(--t-base);
}
.track li:hover::before{border-color:var(--accent); background:var(--accent); transform:scale(1.15)}
.track li:hover{color:var(--text)}
.track li b{color:var(--navy-900); font-weight:600}

/* 虚位以待 */
.pending{
  display:grid; place-items:center; gap:var(--sp-3); padding:var(--sp-8) var(--sp-6);
  border:1px dashed var(--line-strong); border-radius:var(--r-lg); background:transparent;
  text-align:center; transition:border-color var(--t-base) var(--e-out-quart), background var(--t-base);
}
.pending:hover{border-color:var(--accent); background:var(--surface)}
.pending .plus{
  width:40px;height:40px;border-radius:50%; display:grid;place-items:center;
  border:1px dashed var(--line-strong); color:var(--ink-400); font-size:var(--text-xl);
  transition:all var(--t-base) var(--e-out-quart);
}
.pending:hover .plus{border-color:var(--accent); color:var(--accent); transform:rotate(90deg)}
.pending b{font-size:var(--text-sm); color:var(--text-secondary); letter-spacing:.1em; font-weight:600}
.pending span{font-size:var(--text-xs); color:var(--text-muted)}

/* 伙伴名片配色变体 —— 每家企业一个识别色（默认金 / 青瓷绿） */
.ptn__card--verd{
  background:linear-gradient(158deg, oklch(26% 0.038 200) 0%, var(--navy-950) 100%);
  border-color:oklch(42% 0.045 195);
}
.ptn__card--verd::before{background-image:radial-gradient(oklch(78% 0.08 188 / .10) 1px, transparent 1px)}
.ptn__card--verd .ptn__mark{
  background:linear-gradient(150deg,var(--verd-500),var(--verd-700));
  box-shadow:0 14px 34px -14px oklch(46% 0.075 185 / .45);
}
.ptn__card--verd .ptn__contact svg{color:var(--verd-400)}
.ptn__card--verd .ptn__contact a:hover{
  background:oklch(78% 0.08 188 / .14); border-color:oklch(78% 0.08 188 / .42);
}
.ptn__tag--verd span{background:oklch(78% 0.08 188 / .12); border-color:oklch(78% 0.08 188 / .26); color:var(--verd-300)}

/* 资质 / 清单在青瓷绿主题下的标记色 */
.quals--verd .mk{background:oklch(96% 0.02 188); color:var(--verd-700); border-color:var(--verd-300)}
.scope--verd li.is-key{background:oklch(26% 0.038 200); border-color:oklch(26% 0.038 200)}
.scope--verd li.is-key:hover{background:oklch(32% 0.045 195); color:#fff}
.scope--verd li:hover{border-color:var(--verd-600); color:var(--verd-700)}
.track--verd::before{background:linear-gradient(var(--verd-600), var(--line) 70%, transparent)}
.track--verd li:hover::before{border-color:var(--verd-600); background:var(--verd-600)}
.block__hd .cnt--verd{color:var(--verd-600)}

.btn--light{--btn-bg:oklch(99% 0.003 253 / .12); --btn-fg:#fff; --btn-bd:oklch(99% 0.003 253 / .3)}
.btn--light:hover{--btn-bg:oklch(99% 0.003 253 / .2); --btn-fg:#fff}

/* 三家企业序号标记 */
.firm-badge{
  display:inline-flex; align-items:center; gap:var(--sp-3);
  font-family:var(--font-mono); font-size:var(--text-2xs); letter-spacing:.18em;
  color:var(--text-muted); margin-bottom:var(--sp-6);
}
.firm-badge i{
  font-style:normal; display:grid; place-items:center; width:26px; height:26px;
  border-radius:var(--r-full); border:1px solid var(--line-strong);
  color:var(--text-secondary); font-size:var(--text-2xs);
}
.firm-badge--flame i{border-color:var(--flame-400); color:var(--flame-700)}
.firm-badge--verd i{border-color:var(--verd-400); color:var(--verd-700)}

/* ============================================================
   CTA
   ============================================================ */
.cta{
  position:relative; overflow:hidden; border-radius:var(--r-lg);
  background:linear-gradient(140deg,var(--navy-900) 0%, var(--navy-950) 62%, oklch(19% 0.038 253) 100%);
  color:var(--text-inverse); padding:clamp(2.5rem,5.5vw,4.5rem);
  box-shadow:var(--sh-lg); isolation:isolate;
}
.cta::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:radial-gradient(80% 120% at 92% 10%, oklch(68% 0.12 82 / .18) 0%, transparent 62%);
}
.cta::after{
  content:""; position:absolute; z-index:0; left:0; right:0; bottom:0; height:1px;
  background:linear-gradient(90deg, transparent, var(--gilt-500), transparent); opacity:.75;
}
.cta > *{position:relative; z-index:1}
.cta__grid{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:clamp(2rem,4vw,3.5rem); align-items:center}
.cta h2{font-size:var(--text-4xl); line-height:1.18; letter-spacing:.04em; text-wrap:balance}
.cta h2 .gilt{
  background:linear-gradient(100deg,var(--gilt-400),oklch(90% 0.07 88) 50%,var(--gilt-600));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.cta p{margin-top:var(--sp-5); color:var(--text-inverse-muted); font-size:var(--text-base); max-width:46ch; line-height:1.85; text-wrap:pretty}
.cta__acts{display:flex; gap:var(--sp-4); flex-wrap:wrap; margin-top:var(--sp-8)}
.cta__box{display:grid; gap:var(--sp-3)}
.cta__box a{
  display:flex; align-items:center; gap:var(--sp-4); padding:var(--sp-4) var(--sp-5);
  border-radius:var(--r-md); background:oklch(99% 0.003 253 / .07);
  border:1px solid oklch(99% 0.003 253 / .13);
  transition:all var(--t-base) var(--e-out-quart);
}
.cta__box a:hover{background:oklch(99% 0.003 253 / .13); border-color:oklch(76% 0.115 84 / .45); transform:translateX(3px)}
.cta__box svg{width:18px;height:18px; color:var(--gilt-400); flex:none}
.cta__box .l{font-size:var(--text-2xs); letter-spacing:.14em; color:oklch(70% 0.025 253); text-transform:uppercase}
.cta__box .v{font-size:var(--text-sm); color:#fff; font-weight:500; font-family:var(--font-mono); letter-spacing:.02em; margin-top:2px}


/* ============================================================
   Mobile drawer
   ============================================================ */
.drawer{position:fixed; inset:0; z-index:var(--z-modal); display:none}
.drawer[data-open="true"]{display:block}
.drawer__bd{position:absolute; inset:0; background:oklch(17.5% 0.035 253 / .55); backdrop-filter:blur(3px); animation:fade var(--t-base) var(--e-out-quart)}
.drawer__pn{
  position:absolute; top:0; right:0; bottom:0; width:min(360px,88vw);
  background:var(--surface); box-shadow:var(--sh-lg); padding:var(--sp-6);
  display:flex; flex-direction:column; gap:var(--sp-2);
  animation:slidein var(--t-slow) var(--e-out-expo);
}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes slidein{from{transform:translateX(100%)}to{transform:translateX(0)}}
.drawer__hd{display:flex; align-items:center; justify-content:space-between; padding-bottom:var(--sp-5); border-bottom:1px solid var(--line); margin-bottom:var(--sp-4)}
.drawer__hd b{font-family:var(--font-display); font-size:var(--text-lg); color:var(--navy-950)}
.drawer__pn nav a{
  display:flex; align-items:center; justify-content:space-between;
  padding:var(--sp-4) var(--sp-3); border-radius:var(--r-sm); font-size:var(--text-base);
  color:var(--text-secondary); border-bottom:1px solid var(--line);
  transition:background var(--t-fast), color var(--t-fast), padding-left var(--t-base) var(--e-out-expo);
}
.drawer__pn nav a:hover{background:var(--ink-50); color:var(--navy-950); padding-left:var(--sp-5)}
.drawer__pn nav a svg{width:16px;height:16px; color:var(--ink-300)}
.drawer__ft{margin-top:auto; padding-top:var(--sp-6); display:grid; gap:var(--sp-3)}

/* ============================================================
   Scroll reveal
   ============================================================ */
.rv{
  opacity:0; transform:translateY(22px);
  transition:opacity var(--t-enter) var(--e-out-quart), transform var(--t-enter) var(--e-out-expo);
  transition-delay:calc(var(--i,0) * 70ms);
}
.rv.is-in{opacity:1; transform:none}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important}
  .rv{opacity:1; transform:none}
  .kicker__dot{animation:none}
}

/* ============================================================
   Print（旧版响应式块随骨架重建整体移除，避免隐藏新顶栏 / 新导航）
   ============================================================ */
@media print{
  .hdr,.topbar,.drawer,.rail,.hero::before,.hero::after{display:none}
  body{background:#fff}
}

/* ============================================================
   =====  2026 改版：档案卡入口 + 弹窗详板 + 页脚重设计  =====
   ============================================================ */

/* ---------- 1. 通用：区块小标题 ---------- */
.deck{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1.25rem,2.2vw,1.75rem)}
.deck--2{grid-template-columns:repeat(2,minmax(0,1fr))}

/* ---------- 2. 档案卡（Portrait Card） ---------- */
.pcard{
  position:relative; display:flex; flex-direction:column; isolation:isolate;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:clamp(1.5rem,2.4vw,2rem) clamp(1.4rem,2.2vw,1.85rem) clamp(1.25rem,2vw,1.5rem);
  box-shadow:var(--sh-sm); overflow:hidden; cursor:pointer; text-align:left; width:100%;
  transition:transform var(--t-base) var(--e-out-expo), box-shadow var(--t-base) var(--e-out-expo), border-color var(--t-base);
}
.pcard::before{content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform var(--t-slow) var(--e-out-expo)}
.pcard:hover,.pcard:focus-visible{transform:translateY(-5px); box-shadow:var(--sh-lg); border-color:var(--line-strong); outline:none}
.pcard:hover::before,.pcard:focus-visible::before{transform:scaleX(1)}
.pcard__no{
  position:absolute; top:calc(-.55em + 6px); right:.5rem; z-index:-1;
  font-family:var(--font-display); font-size:6.5rem; font-weight:700; line-height:1;
  color:var(--ink-900); opacity:.032; letter-spacing:-.04em; pointer-events:none; user-select:none;
}
.pcard__top{display:flex; align-items:flex-start; gap:var(--sp-4)}
.pcard__seal{
  flex:none; width:56px; height:56px; border-radius:var(--r-md);
  display:grid; place-items:center; font-family:var(--font-display);
  font-size:1.75rem; font-weight:700; color:var(--navy-950);
  background:linear-gradient(140deg,var(--gilt-300),var(--gilt-500));
  box-shadow:0 10px 24px -12px oklch(52% 0.105 78 / .55);
}
.pcard__seal svg{width:34px;height:34px}
.pcard__badge{
  display:inline-flex; align-items:center; gap:.4em; font-family:var(--font-mono);
  font-size:var(--text-2xs); letter-spacing:.16em; text-transform:uppercase;
  color:var(--accent); border:1px solid var(--accent-soft); background:oklch(97% 0.03 84 / .5);
  padding:2px var(--sp-3); border-radius:var(--r-full);
}
.pcard__badge i{font-style:normal; font-weight:700; color:var(--navy-900)}
.pcard__nm{font-family:var(--font-display); font-size:var(--text-lg); font-weight:700; line-height:1.42; letter-spacing:.01em; color:var(--navy-950); margin-top:var(--sp-5); text-wrap:balance}
.pcard__en{font-family:var(--font-mono); font-size:var(--text-2xs); letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); margin-top:var(--sp-2)}
.pcard__desc{margin-top:var(--sp-5); font-size:var(--text-sm); line-height:1.85; color:var(--text-secondary); text-wrap:pretty}
.pcard__stats{display:flex; flex-wrap:wrap; gap:var(--sp-2) var(--sp-5); margin-top:var(--sp-5); padding-top:var(--sp-5); border-top:1px dashed var(--line)}
.pcard__stats span{font-size:var(--text-xs); color:var(--text-muted); letter-spacing:.02em}
.pcard__stats b{font-family:var(--font-mono); font-size:var(--text-sm); color:var(--navy-900); font-weight:600; font-variant-numeric:tabular-nums}
.pcard__tags{display:flex; flex-wrap:wrap; gap:var(--sp-2); margin-top:var(--sp-4)}
.pcard__tags span{font-size:var(--text-2xs); letter-spacing:.08em; padding:3px var(--sp-3); border-radius:var(--r-xs); background:var(--ink-50); border:1px solid var(--line); color:var(--text-secondary)}
.pcard__cta{
  display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3);
  margin-top:auto; padding-top:var(--sp-6); font-size:var(--text-xs); font-weight:600;
  letter-spacing:.12em; color:var(--navy-900);
}
.pcard__cta svg{width:16px;height:16px; color:var(--accent); transition:transform var(--t-base) var(--e-out-expo)}
.pcard:hover .pcard__cta svg{transform:translateX(5px)}
.pcard__cta em{font-style:normal; font-family:var(--font-mono); font-size:var(--text-2xs); color:var(--text-muted); letter-spacing:.06em}

/* 变体：检测鉴定（朱红） */
.pcard--flame .pcard__seal{background:linear-gradient(140deg,var(--flame-400),var(--flame-700)); color:#fff; box-shadow:0 10px 24px -12px oklch(50% 0.155 30 / .6)}
.pcard--flame .pcard__badge{color:var(--flame-700); border-color:var(--flame-300); background:var(--flame-100)}
.pcard--flame.pcard:hover,.pcard--flame.pcard:focus-visible{border-color:var(--flame-300)}
.pcard--flame .pcard__cta svg{color:var(--flame-600)}
.pcard--flame::before{background:var(--flame-600)}
/* 变体：安全应急（青瓷绿） */
.pcard--verd .pcard__seal{background:linear-gradient(140deg,var(--verd-400),var(--verd-700)); color:var(--navy-950); box-shadow:0 10px 24px -12px oklch(46% 0.075 185 / .5)}
.pcard--verd .pcard__badge{color:var(--verd-700); border-color:var(--verd-300); background:var(--verd-100)}
.pcard--verd.pcard:hover,.pcard--verd.pcard:focus-visible{border-color:var(--verd-300)}
.pcard--verd .pcard__cta svg{color:var(--verd-600)}
.pcard--verd::before{background:var(--verd-600)}

/* 档案卡（国咨简介专用：横向双栏） */
.pcard--profile{grid-column:1/-1; cursor:pointer; padding:clamp(1.75rem,3vw,2.5rem)}
.pcard--profile .pcard__nm{font-size:var(--text-2xl); margin-top:0}
.pcard--profile .pcard__desc{font-size:var(--text-base); max-width:62ch}
.pcard__rows{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:var(--sp-4); margin-top:var(--sp-6)}
.pcard__rows div{border-left:2px solid var(--accent-soft); padding-left:var(--sp-4)}
.pcard__rows dt{font-family:var(--font-mono); font-size:var(--text-2xs); letter-spacing:.14em; text-transform:uppercase; color:var(--text-muted)}
.pcard__rows dd{font-size:var(--text-sm); font-weight:500; color:var(--text); margin-top:3px; line-height:1.6}

/* ---------- 3. 弹窗（Modal） ---------- */
.mdl{position:fixed; inset:0; z-index:var(--z-modal); display:none}
.mdl[data-open="true"]{display:block}
.mdl__bd{position:absolute; inset:0; background:oklch(17.5% 0.035 253 / .58); backdrop-filter:blur(4px); animation:fade var(--t-base) var(--e-out-quart)}
.mdl__pn{
  position:relative; z-index:1; margin:clamp(.75rem,3.5vh,2.5rem) auto; width:min(1080px,96vw);
  max-height:calc(100vh - clamp(1.5rem,7vh,5rem)); overflow:hidden;
  background:var(--surface); border:1px solid var(--line-strong); border-radius:var(--r-lg);
  box-shadow:var(--sh-lg); display:flex; flex-direction:column;
  animation:mdlin var(--t-slow) var(--e-out-expo);
}
@keyframes mdlin{from{opacity:0; transform:translateY(24px) scale(.985)}to{opacity:1; transform:none}}
.mdl__hd{
  position:relative; flex:none; display:flex; align-items:flex-start; gap:var(--sp-4);
  padding:clamp(1rem,1.8vw,1.35rem) clamp(1.25rem,2.4vw,2rem);
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,var(--ink-50),var(--surface));
}
.mdl__hd--gilt{background:linear-gradient(165deg,var(--navy-800),var(--navy-950)); border-bottom-color:transparent; box-shadow:inset 0 -3px 0 0 oklch(70% 0.12 78 / .8)}
.mdl__hd--flame{background:linear-gradient(165deg,oklch(33% 0.075 28),oklch(20% 0.045 26)); border-bottom-color:transparent; box-shadow:inset 0 -3px 0 0 oklch(63% 0.175 34 / .85)}
.mdl__hd--verd{background:linear-gradient(165deg,oklch(30% 0.05 200),var(--navy-950)); border-bottom-color:transparent; box-shadow:inset 0 -3px 0 0 oklch(60% 0.09 186 / .8)}
.mdl__hd--teal{background:linear-gradient(165deg,oklch(30% 0.05 168),var(--navy-950)); border-bottom-color:transparent; box-shadow:inset 0 -3px 0 0 oklch(62% 0.10 168 / .8)}
.mdl__hd--slate{background:linear-gradient(165deg,oklch(29% 0.04 245),var(--navy-950)); border-bottom-color:transparent; box-shadow:inset 0 -3px 0 0 oklch(62% 0.055 245 / .8)}
.mdl__hd--zk{background:linear-gradient(165deg,oklch(28% 0.06 285),var(--navy-950)); border-bottom-color:transparent; box-shadow:inset 0 -3px 0 0 oklch(64% 0.10 285 / .8)}
.mdl__seal{
  flex:none; width:48px; height:48px; border-radius:var(--r-md); display:grid; place-items:center;
  font-family:var(--font-display); font-size:1.5rem; font-weight:700; color:var(--navy-950);
  background:linear-gradient(140deg,var(--gilt-300),var(--gilt-500));
  box-shadow:0 12px 28px -14px oklch(52% 0.105 78 / .6);
}
.mdl__hd--gilt .mdl__seal{background:linear-gradient(140deg,var(--gilt-300),var(--gilt-500))}
.mdl__hd--flame .mdl__seal{background:linear-gradient(140deg,var(--flame-400),var(--flame-700)); color:#fff}
.mdl__hd--verd .mdl__seal{background:linear-gradient(140deg,var(--verd-400),var(--verd-700)); color:var(--navy-950)}
.mdl__seal svg{width:36px;height:36px}
.mdl__eyebrow{font-family:var(--font-mono); font-size:var(--text-2xs); letter-spacing:.18em; text-transform:uppercase; color:var(--gilt-400)}
.mdl__hd h3{font-size:var(--text-lg); font-weight:700; line-height:1.35; color:#fff; margin-top:var(--sp-1); letter-spacing:.01em}
/* ★ 弹窗打开时公司名「冒金光」持续 5 秒（2026-10-06 用户指令）：
   .mdl 由 display:none→block 切换打开，子元素动画随之自动重播 —— 关闭再开即再冒一次金光；
   5s 内三起三伏（0.4s/1.8s/3.3s 三次峰值），末段缓缓收敛回常亮白 */
@keyframes mdlGoldGlow{
  0%,100%{text-shadow:0 0 0 oklch(78% 0.12 78 / 0); filter:brightness(1)}
  8%{text-shadow:0 0 10px oklch(80% 0.13 78/.9),0 0 26px oklch(70% 0.12 78/.65),0 0 48px oklch(62% 0.11 78/.4); filter:brightness(1.22)}
  22%{text-shadow:0 0 5px oklch(80% 0.13 78/.4),0 0 14px oklch(70% 0.12 78/.25); filter:brightness(1.06)}
  36%{text-shadow:0 0 12px oklch(80% 0.13 78/.95),0 0 30px oklch(70% 0.12 78/.7),0 0 56px oklch(62% 0.11 78/.45); filter:brightness(1.26)}
  52%{text-shadow:0 0 5px oklch(80% 0.13 78/.4),0 0 14px oklch(70% 0.12 78/.25); filter:brightness(1.06)}
  66%{text-shadow:0 0 11px oklch(80% 0.13 78/.85),0 0 28px oklch(70% 0.12 78/.6),0 0 52px oklch(62% 0.11 78/.4); filter:brightness(1.22)}
  84%{text-shadow:0 0 6px oklch(80% 0.13 78/.4),0 0 16px oklch(70% 0.12 78/.22); filter:brightness(1.05)}
}
#m-about .mdl__hd h3,#m-svc-gz .mdl__hd h3,#m-svc-hs .mdl__hd h3,#m-svc-sh .mdl__hd h3,
#m-svc-dh .mdl__hd h3,#m-svc-xx .mdl__hd h3,#m-svc-zk .mdl__hd h3{
  animation:mdlGoldGlow 5s ease-in-out 1 both;
}
@media (prefers-reduced-motion:reduce){
  #m-about .mdl__hd h3,#m-svc-gz .mdl__hd h3,#m-svc-hs .mdl__hd h3,#m-svc-sh .mdl__hd h3,
  #m-svc-dh .mdl__hd h3,#m-svc-xx .mdl__hd h3,#m-svc-zk .mdl__hd h3{animation:none}
}
.mdl__hd .en{font-family:var(--font-mono); font-size:var(--text-2xs); letter-spacing:.1em; color:oklch(72% 0.02 253); text-transform:uppercase; margin-top:var(--sp-2)}
.mdl__hd--plain .mdl__hd h3,.mdl__hd--plain h3{color:var(--navy-950)}
.mdl__hd--plain .en{color:var(--text-muted)}
.mdl__x{
  position:absolute; top:clamp(.9rem,2vw,1.4rem); right:clamp(.9rem,2vw,1.4rem);
  width:38px; height:38px; border-radius:var(--r-full); display:grid; place-items:center;
  color:oklch(85% 0.01 253); background:oklch(99% 0.003 253 / .1);
  border:1px solid oklch(99% 0.003 253 / .18); transition:background var(--t-fast), transform var(--t-fast), color var(--t-fast);
}
.mdl__x:hover{background:oklch(99% 0.003 253 / .22); color:#fff; transform:rotate(90deg)}
.mdl__hd--plain .mdl__x{color:var(--text-muted); background:var(--ink-50); border-color:var(--line)}
.mdl__hd--plain .mdl__x:hover{color:var(--navy-950); background:var(--ink-100)}
.mdl__x svg{width:18px;height:18px}
.mdl__bd2{padding:clamp(1.1rem,2vw,1.5rem) clamp(1.25rem,2.4vw,2rem) clamp(1.25rem,2.4vw,1.75rem); overflow-y:auto; overscroll-behavior:contain}
.mdl__cap{
  display:flex; align-items:center; gap:var(--sp-3); margin:clamp(1.1rem,1.8vw,1.5rem) 0 var(--sp-4);
  font-family:var(--font-sans); font-size:var(--text-sm); font-weight:700; letter-spacing:.16em; color:var(--navy-950);
}
.mdl__cap:first-child{margin-top:0}
.mdl__cap::after{content:""; flex:1; height:1px; background:var(--line)}
.mdl__cap .cnt{font-family:var(--font-mono); font-size:var(--text-2xs); letter-spacing:.08em; color:var(--accent); font-weight:400}
.mdl__cap--verd .cnt{color:var(--verd-600)}
.mdl__cap--flame .cnt{color:var(--flame-600)}

/* ---------- 4. 证书墙 ---------- */
.certs{display:grid; grid-template-columns:repeat(auto-fill,minmax(238px,1fr)); gap:var(--sp-2)}
/* 证照弹窗按公司分组：公司区块容器（显示清楚为原则，允许滚动） */
#m-certs .mdl__pn{width:min(1080px,96vw)}
.csec{
  border:1px solid var(--line); border-radius:var(--r-lg);
  background:linear-gradient(180deg,var(--ink-50),var(--surface) 55%);
  padding:var(--sp-4) var(--sp-5) var(--sp-5); margin-bottom:var(--sp-4);
}
.csec__hd{display:flex; align-items:center; gap:var(--sp-3); padding-bottom:var(--sp-3); margin-bottom:var(--sp-4); border-bottom:1px solid var(--line)}
.csec__mark{
  flex:none; width:30px; height:30px; border-radius:var(--r-sm); display:grid; place-items:center;
  font-family:var(--font-display); font-weight:700; font-size:var(--text-sm);
  background:oklch(76% 0.115 84 / .14); color:var(--accent);
  box-shadow:inset 0 0 0 1px oklch(76% 0.115 84 / .3);
}
.csec__mark--zk{background:oklch(62% 0.10 285 / .14); color:oklch(45% 0.11 285); box-shadow:inset 0 0 0 1px oklch(62% 0.10 285 / .34)}
.csec__mark--flame{background:oklch(63% 0.175 34 / .13); color:oklch(50% 0.17 34); box-shadow:inset 0 0 0 1px oklch(63% 0.175 34 / .32)}
.csec__mark--verd{background:oklch(66% 0.09 187 / .14); color:oklch(45% 0.09 187); box-shadow:inset 0 0 0 1px oklch(66% 0.09 187 / .32)}
.csec__mark--teal{background:oklch(66% 0.10 168 / .13); color:oklch(45% 0.10 168); box-shadow:inset 0 0 0 1px oklch(66% 0.10 168 / .32)}
.csec__mark--slate{background:oklch(64% 0.055 245 / .15); color:oklch(42% 0.06 245); box-shadow:inset 0 0 0 1px oklch(64% 0.055 245 / .32)}
.csec__nm{font-family:var(--font-sans); font-size:var(--text-base); font-weight:700; letter-spacing:.02em; color:var(--navy-950); line-height:1.4}
.csec__cnt{margin-left:auto; font-family:var(--font-mono); font-size:var(--text-2xs); letter-spacing:.08em; color:var(--text-muted); white-space:nowrap}
.csec .certs{margin-bottom:0}
/* 证照弹窗头部/说明条/导语紧凑化（仅作用于 m-certs，确保矮屏一屏可见） */
#m-certs .mdl__hd{padding:.8rem clamp(1.25rem,2.4vw,2rem)}
#m-certs .mdl__seal{width:40px;height:40px;font-size:1.25rem}
#m-certs .mdl__seal svg{width:28px;height:28px}
#m-certs .mdl__hd h3{margin-top:2px}
#m-certs .mdl__hd .en{margin-top:4px}
#m-certs .mdl__note{margin-top:var(--sp-3); padding:8px 14px; line-height:1.6}
#m-certs .mdl__lead{line-height:1.6}
#m-certs .mdl__leadrow{margin-bottom:var(--sp-3)}
#m-certs .mdl__bd2{padding:14px clamp(1.25rem,2.4vw,2rem) 14px}
/* 导语与下载按钮同行，节省纵向空间 */
.mdl__leadrow{display:flex; align-items:center; gap:var(--sp-4); flex-wrap:wrap; margin-bottom:var(--sp-4)}
.mdl__leadrow .mdl__lead{flex:1 1 auto; margin:0}
.mdl__leadrow .btn{flex:0 0 auto; white-space:nowrap}
.cert{
  position:relative; display:flex; flex-direction:column; gap:6px;
  padding:10px 12px; border-radius:var(--r-md); text-align:left;
  background:linear-gradient(168deg,var(--ink-50) 0%,var(--surface) 62%);
  border:1px solid var(--line); box-shadow:var(--sh-xs); overflow:hidden;
  transition:transform var(--t-base) var(--e-out-expo), box-shadow var(--t-base), border-color var(--t-base);
}
.cert::after{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:radial-gradient(currentColor 0.8px, transparent 0.8px);
  background-size:9px 9px; color:var(--ink-300);
  mask-image:linear-gradient(180deg,transparent 55%,#000 130%);
}
.cert > *{position:relative}
.cert:hover{transform:translateY(-4px); box-shadow:var(--sh-md); border-color:var(--accent-soft)}
.cert__no{
  display:none;
}
/* 徽章行已在「一屏可见」改造中隐藏，编号信息保留在卡片 title 与 meta 中 */
.cert--flame .cert__no{color:var(--flame-700); border-color:var(--flame-300); background:var(--flame-100)}
.cert--verd .cert__no{color:var(--verd-700); border-color:var(--verd-300); background:var(--verd-100)}
.cert__body{display:flex; gap:var(--sp-2); align-items:flex-start}
.cert__ic{
  flex:none; width:24px; height:24px; border-radius:var(--r-sm); display:grid; place-items:center;
  background:oklch(97% 0.03 84 / .7); border:1px solid var(--accent-soft); color:var(--accent);
}
.cert--flame .cert__ic{background:var(--flame-100); border-color:var(--flame-300); color:var(--flame-600)}
.cert--verd .cert__ic{background:var(--verd-100); border-color:var(--verd-300); color:var(--verd-600)}
.cert__ic svg{width:14px;height:14px}
.cert__nm{font-family:var(--font-sans); font-size:var(--text-sm); font-weight:700; line-height:1.45; letter-spacing:.02em; color:var(--navy-950)}
.cert__meta{margin-top:1px; font-size:var(--text-2xs); line-height:1.5; color:var(--text-muted); letter-spacing:.02em}
.cert__ft{
  margin-top:auto; padding-top:var(--sp-2); border-top:1px dashed var(--line);
  display:flex; align-items:center; justify-content:space-between; gap:var(--sp-2);
  font-family:var(--font-mono); font-size:var(--text-2xs); letter-spacing:.03em; color:var(--text-muted);
  white-space:nowrap;
}
/* ft 中间的说明文字：可收缩截断，保证链接与印章永远完整显示 */
.cert__ft > span:not(.cert__stamp){
  flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis;
  text-align:right;
}
.cert__ft > a{flex:0 0 auto}
.cert__ft > .cert__stamp{flex:0 0 auto}
.cert__view{
  color:var(--seal,#b08d3e); text-decoration:none; letter-spacing:.04em;
  border-bottom:1px dashed currentColor; padding-bottom:1px;
  font-family:inherit; font-size:inherit; cursor:pointer; white-space:nowrap;
}
.cert__view:hover{opacity:.8}
.cert__stamp{
  display:inline-flex; align-items:center; gap:.35em; color:var(--seal);
  border:1px solid oklch(51% 0.175 27 / .35); background:var(--seal-soft);
  border-radius:var(--r-xs); padding:1px var(--sp-2); font-weight:600;
}
.cert__stamp::before{content:"✓"; font-size:.85em}

/* ---------- 5. 弹窗内的双栏资料布局 ---------- */
.mdl__bd2 .firm__data{border-top:1px solid var(--line); padding-top:var(--sp-6)}
.mdl__bd2 .firm__data span{color:var(--text-muted)}
.mdl__bd2 .firm__data b{color:var(--navy-950)}
.mdl__cols{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:clamp(1.25rem,2.5vw,2rem)}
.fsl{display:grid; gap:0; border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden; background:var(--surface)}
.fsl__row{display:grid; grid-template-columns:96px minmax(0,1fr); gap:var(--sp-4); padding:var(--sp-4) var(--sp-5); border-bottom:1px solid var(--line)}
.fsl__row:last-child{border-bottom:none}
.fsl__row:hover{background:var(--ink-50)}
.fsl__dt{font-size:var(--text-xs); color:var(--text-muted); letter-spacing:.06em; padding-top:2px}
.fsl__dd{font-size:var(--text-sm); color:var(--text); font-weight:500; line-height:1.7; word-break:break-word}
.fsl__dd.mono{font-family:var(--font-mono); font-size:var(--text-xs); font-variant-numeric:tabular-nums; letter-spacing:.02em}
.fsl__dd a{color:var(--navy-700); border-bottom:1px solid var(--line-strong); transition:color var(--t-fast),border-color var(--t-fast)}
.fsl__dd a:hover{color:var(--accent); border-color:var(--accent)}

.mdl__note{
  margin-top:var(--sp-4); padding:var(--sp-3) var(--sp-4); border-radius:var(--r-md);
  background:var(--ink-50); border:1px dashed var(--line-strong);
  font-size:var(--text-xs); line-height:1.75; color:var(--text-muted);
}
.mdl__note b{color:var(--text-secondary)}

/* 分区导语（弹窗内，用于交代机构口径与资质归属） */
.mdl__lead{
  margin:calc(var(--sp-2) * -1) 0 var(--sp-3);
  font-size:var(--text-xs); line-height:1.75; color:var(--text-muted);
  max-width:78ch;
}
.mdl__lead b{color:var(--text-secondary); font-weight:600}

/* 分区下载行（集团版 / 分公司版简介并列） */
.mdl__dlrow{display:flex; flex-wrap:wrap; gap:var(--sp-3); margin-bottom:var(--sp-4)}
.mdl__dlrow .btn{flex:0 1 auto}

/* 资质清单（弹窗内） */
.quals{display:grid; gap:var(--sp-3)}
.quals li{display:flex; gap:var(--sp-3); align-items:flex-start; padding:var(--sp-3) var(--sp-4); border-radius:var(--r-sm); background:var(--ink-50); border:1px solid var(--line)}
.quals li:hover{border-color:var(--line-strong)}
.quals .mk{flex:none; width:20px;height:20px; border-radius:var(--r-full); display:grid; place-items:center; background:var(--accent-soft); color:var(--accent); margin-top:1px}
.quals--flame .mk{background:var(--flame-100); color:var(--flame-600)}
.quals--verd .mk{background:var(--verd-100); color:var(--verd-600)}
.quals .mk svg{width:12px;height:12px}
.quals .tx{font-size:var(--text-sm); line-height:1.75; color:var(--text-secondary)}
.quals .tx b{color:var(--navy-950); font-weight:600}

/* 分组（检测范围等） */
.fgroup + .fgroup{margin-top:var(--sp-5)}
.fgroup__k{display:block; font-family:var(--font-sans); font-size:var(--text-xs); font-weight:700; letter-spacing:.14em; color:var(--navy-900); margin-bottom:var(--sp-3)}
.firm--flame .fgroup__k::before{content:""; display:inline-block; width:8px; height:8px; border-radius:2px; background:linear-gradient(135deg,var(--flame-500),var(--flame-700)); margin-right:var(--sp-2); vertical-align:1px}

/* 业绩轨迹 */
.track{display:grid; gap:var(--sp-3)}
.track li{position:relative; padding-left:var(--sp-6); font-size:var(--text-sm); line-height:1.8; color:var(--text-secondary)}
.track li::before{content:""; position:absolute; left:5px; top:.62em; width:7px;height:7px; border-radius:var(--r-full); background:var(--accent); box-shadow:0 0 0 3px oklch(97% 0.03 84 / .8)}
.track li+li::after{content:""; position:absolute; left:8.5px; top:-.9em; width:1px; height:1.5em; background:var(--line-strong)}
.track li b{color:var(--navy-950); font-weight:600}
.track--verd li::before{background:var(--verd-500); box-shadow:0 0 0 3px oklch(96% 0.02 188 / .8)}

/* 服务卡（弹窗内六/九宫格） */
.fsvc{display:grid; grid-template-columns:repeat(auto-fill,minmax(232px,1fr)); gap:var(--sp-4)}
.fsvc__i{padding:var(--sp-5); border-radius:var(--r-md); background:var(--surface); border:1px solid var(--line); box-shadow:var(--sh-xs); transition:transform var(--t-base) var(--e-out-expo), border-color var(--t-base), box-shadow var(--t-base)}
.fsvc__i:hover{transform:translateY(-3px); box-shadow:var(--sh-sm)}
.firm--gilt  .fsvc__i:hover{border-color:var(--gilt-300)}
.firm--flame .fsvc__i:hover{border-color:var(--flame-300)}
.firm--verd  .fsvc__i:hover{border-color:var(--verd-300)}
.fsvc__t{display:flex; align-items:center; gap:var(--sp-3); font-family:var(--font-sans); font-size:var(--text-sm); font-weight:700; letter-spacing:.03em; color:var(--navy-950)}
.fsvc__ic{flex:none; width:30px;height:30px; border-radius:var(--r-sm); display:grid;place-items:center; border:1px solid}
.fsvc__ic svg{width:16px;height:16px}
.firm--gilt  .fsvc__ic{color:var(--gilt-700); background:var(--gilt-100); border-color:var(--gilt-200)}
.firm--flame .fsvc__ic{color:var(--flame-700); background:var(--flame-100); border-color:var(--flame-300)}
.firm--verd  .fsvc__ic{color:var(--verd-700); background:var(--verd-100); border-color:var(--verd-300)}
.fsvc__d{margin-top:var(--sp-4); font-size:var(--text-xs); line-height:1.85; color:var(--text-secondary)}
.fsvc__tags{display:flex; flex-wrap:wrap; gap:var(--sp-2); margin-top:var(--sp-4)}
.fsvc__tags span{font-size:var(--text-2xs); padding:2px var(--sp-3); border-radius:var(--r-xs); border:1px solid var(--line); color:var(--text-muted); letter-spacing:.06em}

/* 弹窗底部动作条 */
.mdl__acts{display:flex; gap:var(--sp-4); flex-wrap:wrap; margin-top:clamp(1.75rem,3vw,2.25rem); padding-top:var(--sp-6); border-top:1px solid var(--line)}

/* 协议弹窗（小尺寸） */
.mdl__pn--s{width:min(560px,94vw)}
.mdl__pn--m{width:min(760px,94vw)}

/* 证书占位板（无实拍图时） */
.lics{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:var(--sp-4); margin-top:var(--sp-5)}
.lic{
  position:relative; aspect-ratio:1.42/1; border-radius:var(--r-md); overflow:hidden;
  background:linear-gradient(160deg,var(--ink-50),var(--surface));
  border:1px solid var(--line-strong); box-shadow:var(--sh-xs);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--sp-3);
  padding:var(--sp-5); text-align:center;
}
.lic::before{
  content:""; position:absolute; inset:10px; border:1px dashed var(--line-strong); border-radius:var(--r-sm); pointer-events:none;
}
.lic__seal{
  width:46px;height:46px;border-radius:var(--r-full); display:grid;place-items:center;
  border:1.5px solid oklch(51% 0.175 27 / .45); color:var(--seal); background:var(--seal-soft);
  font-family:var(--font-display); font-size:1.3rem; font-weight:700;
}
.lic__t{font-family:var(--font-display); font-size:var(--text-base); font-weight:700; color:var(--navy-950); letter-spacing:.06em}
.lic__s{font-family:var(--font-mono); font-size:var(--text-2xs); letter-spacing:.14em; color:var(--text-muted)}
.lic__ph{position:absolute; bottom:var(--sp-4); font-size:var(--text-2xs); color:var(--text-muted); letter-spacing:.1em}


/* ---------- 7. 响应式 ---------- */
@media (max-width:1080px){
  .deck{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .mdl__pn{width:96vw; margin:1rem auto}
  .mdl__hd{flex-direction:row; align-items:center}
  .mdl__seal{width:46px;height:46px;font-size:1.5rem}
  .mdl__hd h3{font-size:var(--text-lg)}
}
@media (max-width:820px){
  .deck,.deck--2{grid-template-columns:1fr}
}
@media (max-width:640px){
  .certs,.lics{grid-template-columns:1fr}
  .pcard__nm{font-size:var(--text-base)}
  .mdl__bd2{padding:var(--sp-6) var(--sp-5) 0}
  .mdl__acts .btn{width:100%}
  /* ★ 手机端弹窗：部分手机浏览器（地址栏/底栏）吃掉 100vh → 面板底部的「下载 PDF」被挡
     —— 双保险：① 面板高度改用 dvh（动态视口，自动避让浏览器 UI）
                 ② 操作栏（电话/下载 PDF）吸底常显，不随内容滚走（2026-10-06 用户反馈） */
  .mdl__pn{max-height:calc(100vh - 1.25rem); margin-top:.5rem; margin-bottom:.5rem}
  @supports (height:100dvh){ .mdl__pn{max-height:calc(100dvh - 1.25rem)} }
  .mdl__acts{
    position:sticky; bottom:0; z-index:2;
    margin:var(--sp-5) calc(-1 * var(--sp-5)) 0;
    padding:var(--sp-3) var(--sp-5) calc(var(--sp-3) + env(safe-area-inset-bottom, 0px));
    background:var(--surface);
    border-top:1px solid var(--line);
    box-shadow:0 -10px 24px -16px rgba(16,32,64,.3);
  }
}
/* ============================================================
   长页骨架 · 模版第 6 / 7 块 + 内容区共用排版
   —— 整页纵向滚动，内容滚动 / 固定背景常驻
   —— 板块一律「朴素、无阴影、1px 接缝」：贴近政务门户的格子语汇
   ============================================================ */
html{height:auto; scroll-padding-top:170px; scrollbar-gutter:stable}
body{
  height:auto; min-height:100vh;
  display:block; overflow-x:hidden;
  background:var(--navy-950);           /* canvas 未就绪时的兜底底色 */
}
main{display:block; min-height:0; position:relative; z-index:1}
.topbar,.site-footer{position:relative; z-index:1}
.anchor-top{height:0; overflow:hidden}

/* ============================================================
   板块外壳：半透明深蓝玻璃带 —— 可读性优先，同时让星空透出
   ============================================================ */
.sec{
  position:relative; z-index:1;
  padding-block:clamp(3rem,6vw,5.25rem);
  border-top:1px solid oklch(99% .003 253/.10);
  background:linear-gradient(180deg, oklch(16% .030 253/.82), oklch(16% .030 253/.90));
}
.sec__hd{max-width:62rem}
.sec__hd h2{
  margin-top:var(--sp-4); font-size:clamp(1.5rem,2.4vw,1.75rem);
  color:#fff; letter-spacing:.02em; text-wrap:balance; font-weight:700;
}
.sec__hd p{margin-top:var(--sp-3); font-size:var(--text-sm); line-height:1.9; color:oklch(81% .016 253); max-width:46rem; text-wrap:pretty}
.sec .eyebrow{color:var(--gilt-400)}
.sec .eyebrow::before,.sec .eyebrow--center::after{background:var(--gilt-400)}

/* ============================================================
   ⑥ 三张特色卡（模版第 6 块：一行三列等宽 gap 20 / 48px 图标 / 22px 标题）
   —— 第 4 张 CTA 卡已删除；第 3 张不做指标卡（无真实数字）
   ============================================================ */
.trio{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
  gap:20px; margin-top:clamp(2rem,3.5vw,3rem);
}
.tgc{
  display:flex; flex-direction:column;
  padding:26px 24px 20px;
  border:1px solid oklch(99% .003 253/.16);
  border-radius:2px;
  background:oklch(18% .030 253/.86);
  box-shadow:none;
  transition:background var(--t-fast) var(--e-out-quart), border-color var(--t-fast) var(--e-out-quart);
}
.tgc:hover,.tgc:focus-within{
  background:oklch(21% .032 253/.90);
  border-color:oklch(76% .115 84/.38);
}
.tgc__hd{display:flex; flex-direction:column; align-items:flex-start; gap:var(--sp-4)}
.tgc__ic{
  flex:none; width:48px; height:48px; border-radius:2px;
  display:grid; place-items:center;
  color:var(--gilt-300);
  background:oklch(76% .115 84/.12);
  box-shadow:inset 0 0 0 1px oklch(76% .115 84/.28);
}
.tgc__ic svg{width:24px; height:24px; stroke-width:1.6}
.tgc h3{font-size:var(--text-xl); color:#fff; letter-spacing:.03em; line-height:1.3}
.tgc__sub{margin-top:var(--sp-3); font-size:13px; line-height:1.75; color:oklch(84% .018 253); text-wrap:pretty}

/* 细项列表：每行一条，1px 发丝线分隔（不是 chip 墙） */
.tgc__list{
  margin-top:var(--sp-5);
  border-top:1px solid oklch(99% .003 253/.14);
}
.tgc__list li{border-bottom:1px solid oklch(99% .003 253/.10)}
.tgc__list a{
  display:block; padding:9px 0;
  font-size:12.5px; line-height:1.5; letter-spacing:.02em;
  color:oklch(90% .012 253); cursor:pointer;
  transition:color var(--t-fast) var(--e-out-quart), padding-left var(--t-fast) var(--e-out-quart);
}
.tgc__list a:hover,.tgc__list a:focus-visible{color:var(--gilt-300); padding-left:6px}

.tgc__own{
  margin-top:auto; padding-top:var(--sp-4);
  font-size:var(--text-2xs); letter-spacing:.1em; color:oklch(70% .025 253);
}
.tgc__go{
  display:inline-flex; align-items:center; gap:6px;
  margin-top:var(--sp-3); padding-top:var(--sp-3);
  border-top:1px solid oklch(99% .003 253/.14);
  font-size:12px; font-weight:600; letter-spacing:.06em; color:var(--gilt-300);
}
.tgc__go svg{width:13px; height:13px}
.tgc__go:hover{color:var(--gilt-200)}

/* ============================================================
   ⑦ 旗舰店大区（模版第 7 块：区标题 + 两个子层，均为「纯格子」）
   子层 A「服务区域」：4 格等分整行（repeat(4,1fr)），绝不靠左留白
   子层 B「合作机构」：6 格等分整行，格内 = 简称 + 一行业务小字
   ============================================================ */
.sub{margin-top:clamp(1.75rem,3vw,2.25rem)}
.sub__h{
  display:flex; align-items:center; gap:var(--sp-3);
  font-family:var(--font-sans); font-size:17px; font-weight:600;
  letter-spacing:.08em; color:#fff;
}
.sub__h::before{content:""; flex:none; width:3px; height:15px; background:var(--gilt-400)}
.sub__k{font-size:var(--text-xs); font-weight:400; letter-spacing:.1em; color:var(--gilt-300)}
.sub__cnt{
  margin-left:auto; font-family:var(--font-mono); font-size:var(--text-2xs);
  letter-spacing:.1em; color:var(--gilt-300);
}

/* 网格：1px 间隙 + 底色露出接缝，容器不再单独画圆角阴影 */
.grid4{
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:1px;
  margin-top:var(--sp-4);
  background:oklch(99% .003 253/.16);
  border:1px solid oklch(99% .003 253/.16);
  border-radius:2px; overflow:hidden;
}
.chip{
  display:flex; align-items:center; justify-content:center;
  height:52px; padding:0 var(--sp-2);
  border:none; border-radius:0;
  background:oklch(18% .030 253/.86);
  font-size:15px; font-weight:500; letter-spacing:.06em;
  color:oklch(93% .010 253); text-align:center;
  transition:background var(--t-fast) var(--e-out-quart), color var(--t-fast) var(--e-out-quart);
}
.chip:hover,.chip:focus-visible{background:oklch(25% .035 253/.92); color:#fff}
.chip[aria-pressed="true"]{
  background:var(--gilt-400); color:var(--navy-950);
  font-weight:700; letter-spacing:.08em;
}

.grid6{
  display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:1px;
  margin-top:var(--sp-4);
  background:oklch(99% .003 253/.16);
  border:1px solid oklch(99% .003 253/.16);
  border-radius:2px; overflow:hidden;
}
.cell{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  min-height:55px; padding:10px 8px;
  background:oklch(18% .030 253/.86);
  text-align:center; cursor:pointer;
  transition:background var(--t-fast) var(--e-out-quart);
}
.cell:hover,.cell:focus-visible{background:oklch(25% .035 253/.92)}
.cell__nm{
  font-family:var(--font-sans); font-size:15px; font-weight:700;
  letter-spacing:.04em; color:#fff; line-height:1.25; white-space:nowrap;
}
.cell__sub{
  font-size:11.5px; line-height:1.4; letter-spacing:.01em;
  color:oklch(78% .020 253); white-space:nowrap;
}
/* 有格子被藏（搜索或地区）时改成弹性排布：否则空轨道会露出接缝底色的一条亮灰 */
.grid6.is-condensed{display:flex; flex-wrap:wrap}
.grid6.is-condensed .cell{flex:1 1 170px; min-width:0}

/* ---- 通用行列表（资质 / 公告）---- */
.rows{border-top:1px solid oklch(99% .003 253/.17)}
.rows__i{
  display:grid; grid-template-columns:minmax(0,8.5em) minmax(0,1fr); gap:var(--sp-4);
  padding:var(--sp-4) 0; border-bottom:1px solid oklch(99% .003 253/.17);
}
.rows__k{font-size:var(--text-xs); letter-spacing:.06em; color:var(--gilt-300); padding-top:2px}
.rows__v{font-size:var(--text-sm); line-height:1.85; color:oklch(87% .012 253)}
.rows__v b{color:#fff; font-weight:600}

/* ---- 资质荣誉 ---- */
.hon{display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr); gap:clamp(2rem,4vw,3.5rem); align-items:start; margin-top:clamp(2rem,3.5vw,2.75rem)}
.hon__side{
  padding:clamp(1.5rem,2.5vw,2rem);
  border:1px solid oklch(99% .003 253/.18); border-radius:2px;
  background:oklch(19% .030 253/.86); text-align:center;
}
.hon__n{font-family:var(--font-display); font-size:clamp(2.4rem,4vw,3.2rem); font-weight:700; color:#fff; line-height:1}
.hon__n em{font-style:normal; font-size:var(--text-lg); color:var(--gilt-400); margin-left:2px}
.hon__l{margin-top:var(--sp-2); font-size:var(--text-xs); letter-spacing:.14em; color:oklch(76% .022 253)}
.hon__note{margin-top:var(--sp-4); padding-top:var(--sp-4); border-top:1px solid oklch(99% .003 253/.12); font-size:var(--text-2xs); line-height:1.8; color:oklch(76% .022 253)}
.hon__side .btn{margin-top:var(--sp-5); width:100%}

/* ---- 资讯公告 ---- */
.nl{margin-top:clamp(1.75rem,3vw,2.5rem); border-top:1px solid oklch(99% .003 253/.13)}
.nl__i{display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--sp-4); padding:var(--sp-5) 0; border-bottom:1px solid oklch(99% .003 253/.13)}
.nl__tag{
  align-self:start; font-size:var(--text-2xs); letter-spacing:.14em; padding:3px var(--sp-3);
  border-radius:var(--r-xs); color:var(--gilt-300);
  background:oklch(76% .115 84/.12); border:1px solid oklch(76% .115 84/.28); white-space:nowrap;
}
.nl__t{font-family:var(--font-display); font-size:var(--text-base); font-weight:700; color:#fff; letter-spacing:.02em}
.nl__d{margin-top:var(--sp-2); font-size:var(--text-sm); line-height:1.85; color:oklch(80% .016 253); text-wrap:pretty}
.nl__note{margin-top:var(--sp-4); font-size:var(--text-2xs); letter-spacing:.02em; color:oklch(66% .022 253)}

/* ---- 关于我们 ---- */
.ab{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.75fr); gap:clamp(2rem,4vw,4rem); align-items:start; margin-top:clamp(2rem,3.5vw,2.75rem)}
.ab__body{font-size:var(--text-base); line-height:1.95; color:oklch(85% .015 253); text-wrap:pretty}
.ab__body p + p{margin-top:var(--sp-5)}
.ab__body b{color:#fff; font-weight:600}
.ab__acts{display:flex; gap:var(--sp-3); flex-wrap:wrap; margin-top:var(--sp-6)}

/* ---- 联系我们 ---- */
.ct{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-4); margin-top:clamp(2rem,3.5vw,2.75rem)}
.ct__i{
  display:flex; flex-direction:column; gap:var(--sp-2);
  padding:var(--sp-5) var(--sp-6);
  border:1px solid oklch(99% .003 253/.18); border-radius:2px;
  background:oklch(19% .030 253/.86);
  transition:background var(--t-fast), border-color var(--t-fast);
}
.ct__i:hover{background:oklch(21% .032 253/.9); border-color:oklch(76% .115 84/.42)}
.ct__k{display:flex; align-items:center; gap:var(--sp-2); font-size:var(--text-xs); letter-spacing:.12em; color:var(--gilt-300)}
.ct__k svg{width:15px; height:15px}
.ct__v{font-size:var(--text-base); color:#fff; font-weight:600; letter-spacing:.02em; line-height:1.6; word-break:break-word}
.ct__v a:hover{color:var(--gilt-300)}
.ct__s{font-size:var(--text-2xs); color:oklch(70% .022 253); letter-spacing:.04em}
.ct__acts{display:flex; justify-content:center; margin-top:clamp(1.75rem,3vw,2.5rem)}

/* 搜索无结果提示 */
.no-hit{
  margin-top:var(--sp-6); padding:var(--sp-5) var(--sp-6); text-align:center;
  border:1px dashed oklch(99% .003 253/.2); border-radius:2px;
  font-size:var(--text-sm); color:oklch(78% .018 253); letter-spacing:.04em;
}
[hidden]{display:none !important}

/* ---- 弹窗内的键值表：承载「简称 / 地区 / 业务 / 数据」（只增不改原正文）---- */
.kv{
  display:grid; grid-template-columns:auto minmax(0,1fr);
  gap:6px var(--sp-4); align-items:baseline;
  margin:0 0 var(--sp-5);
  padding:var(--sp-4) var(--sp-5);
  border:1px solid var(--line); border-radius:2px;
  background:var(--surface-2);
}
.kv dt{font-size:var(--text-2xs); letter-spacing:.1em; color:var(--text-muted); white-space:nowrap}
.kv dd{font-size:13px; line-height:1.7; color:var(--navy-900); font-weight:500}

/* ---- 顶栏右侧真链接 / 抽屉分组 / 引文卡 ---- */
.drawer__pn{overflow-y:auto}
.drawer__pn nav + nav{margin-top:var(--sp-4); padding-top:var(--sp-4); border-top:1px solid var(--line)}
.drawer__ft{
  position:sticky; bottom:0; z-index:1;
  margin-top:auto; padding-top:var(--sp-4);
  padding-bottom:calc(var(--sp-2) + env(safe-area-inset-bottom, 0px));
  background:var(--surface); border-top:1px solid var(--line);
  box-shadow:0 -16px 24px -22px oklch(20% .03 253 / .55);
}
@media (max-height:900px){
  .drawer__pn{padding:var(--sp-5) var(--sp-6)}
  .drawer__hd{padding-bottom:var(--sp-4); margin-bottom:var(--sp-3)}
  .drawer__pn nav a{padding-block:var(--sp-3)}
  .drawer__ft{gap:var(--sp-2)}
}
/* 引文卡：全页唯一「纸感」块 —— 米白偏金、细金边、金色书脊线 */
.ab .pull{
  margin-top:0;
  background:linear-gradient(158deg, oklch(97.5% .014 86) 0%, oklch(92.5% .028 84) 100%);
  border:1px solid oklch(84% .075 84 / .85);
  border-left:3px solid var(--gilt-500);
  border-radius:0 var(--r-md) var(--r-md) 0;
  box-shadow:inset 0 1px 0 oklch(99% .01 90 / .7), 0 14px 30px -22px oklch(16% .03 253 / .9);
}
.ab .pull p{color:oklch(28% .045 253)}
.ab .pull cite{color:oklch(45% .05 80)}

/* ============================================================
   ⑧ 页脚三段：品牌行 / 联系行 / 备案行
   ============================================================ */
.site-footer__brand{flex-direction:column; gap:4px}
.site-footer__nm{
  font-family:var(--font-display); font-size:15px; font-weight:700;
  letter-spacing:.12em; color:oklch(92% .008 253);
}
.site-footer__en{
  font-size:10px; letter-spacing:.18em; color:oklch(70% .022 253);
}

/* ============================================================
   响应式：格子一律等分铺满，右边缘不留空轨道
   ============================================================ */
@media (max-width:1180px){
  .grid6{grid-template-columns:repeat(3, minmax(0,1fr))}
}
/* 901–1340：右侧悬浮条会压到内容右边缘 18px，给正文与页脚补出同等内边距 */
@media (min-width:901px) and (max-width:1400px){
  main .wrap,.site-footer .wrap{padding-right:calc(var(--gutter) + 66px)}
}
@media (max-width:1150px){
  .brand__sub{display:none}
  .hdr__in{grid-template-columns:auto minmax(0,1fr) auto}
}
@media (max-width:1080px){
  .hon{grid-template-columns:1fr}
  .ab{grid-template-columns:1fr}
  .ct{grid-template-columns:1fr}
  .brand__sub{font-size:9px; letter-spacing:.14em}
}
@media (max-width:900px){
  html{scroll-padding-top:190px}
  .rail{display:none}
  .hdr__in{grid-template-columns:1fr auto; gap:var(--sp-3); padding-block:10px; min-height:0}
  .hdr__act{grid-row:1; grid-column:2; justify-self:end}
  .hsearch{grid-row:2; grid-column:1 / -1; max-width:none}
  .hdr__nav{justify-content:flex-start; overflow-x:auto; scrollbar-width:none}
  .hdr__nav::-webkit-scrollbar{display:none}
  .hdr__nav a{font-size:14px}
  .hdr__cta{height:36px; padding:0 var(--sp-4); font-size:12px}
  .trio{grid-template-columns:1fr; gap:var(--sp-4)}
  .grid4{grid-template-columns:repeat(2, minmax(0,1fr))}
  .hero{min-height:0; padding-block:clamp(2.25rem,7vw,3.25rem) var(--sp-8)}
  .hero__brand{white-space:normal}
}
@media (max-width:700px){
  .grid6{grid-template-columns:repeat(2, minmax(0,1fr))}
}
@media (max-width:640px){
  html{scroll-padding-top:190px}
  .topbar__in{min-height:32px}
  .brand__seal{width:38px; height:38px; font-size:1.25rem}
  .brand__name{font-size:1.0625rem}
  .brand__sub{display:none}
  .hdr__nav{height:44px}
  .sec{padding-block:clamp(2.5rem,9vw,3.5rem)}
  .grid4{grid-template-columns:1fr}
  .rows__i{grid-template-columns:1fr; gap:var(--sp-1)}
  .rows__k{padding-top:0}
  .cell__nm{font-size:14px}
  .cell__sub{font-size:11px}
  .sub__cnt{margin-left:auto}
  .nl__i{grid-template-columns:1fr; gap:var(--sp-2)}
  .stats{grid-template-columns:repeat(2, minmax(0,1fr))}
  .stat + .stat{padding-left:var(--sp-4)}
  .stat:nth-child(3){border-left:none; padding-left:0}
}
@media (max-width:460px){
  .grid6{grid-template-columns:1fr}
}
/* ============================================================
   ★ 固定背景层：深蓝渐变 + 星空 / 地球 canvas
   position:fixed → 页面变长后背景仍锁定视口（用户要求「背景不变」）
   动画代码未改动，仅把承载它的盒子从 .hero 换成视口层
   ============================================================ */
.cosmos-layer{
  position:fixed; inset:0; z-index:0;
  pointer-events:none; overflow:hidden;
  background:
    radial-gradient(120% 90% at 82% 8%, oklch(30% 0.055 253) 0%, transparent 58%),
    radial-gradient(90% 70% at 8% 92%, oklch(28% 0.050 253) 0%, transparent 60%),
    linear-gradient(168deg, var(--navy-950) 0%, var(--navy-900) 52%, oklch(20% 0.040 253) 100%);
}

/* ============================================================
   浩瀚宇宙 · 星空动画层（仅桌面 ≥1081px 启用）
   位于 hero 深蓝底之上、网格肌理与内容之下
   —— 2026-10-06 增补：远及近自转地球（earth），宇宙苍茫感
   ============================================================ */
.cosmos{
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%;
  pointer-events:none;
  opacity:0;
  transition:opacity 1.2s ease;
  will-change:opacity;
}
.cosmos.is-on{opacity:1}
/* B｜滚过首屏后宇宙层退到 alpha .25：让长页正文更清晰，
   背景层本身（渐变 / 星空 / 地球几何与自转）完全不变，只改这一层的 CSS opacity。
   进退用 600ms 淡变；JS 侧 rAF + 阈值滞回，首屏保持 alpha=1 */
.cosmos.is-dim{opacity:.25; transition:opacity 600ms var(--e-out-quart)}
/* 首屏淡入仍是原来的 1.2s；进场结束后切到 600ms，让「进退」两个方向同速 */
.cosmos.is-ready{transition:opacity 600ms var(--e-out-quart)}
/* 手机/平板（≤1080px）：同样启用宇宙动画，但仅铺满 hero 背景层、不参与卡片滚动
   （z-index:0 且 pointer-events:none，卡片区在其上正常交互；JS 侧按算力降档） */
@media (max-width:1080px){
  .cosmos{ display:block; opacity:.92; }
}
@media (prefers-reduced-motion: reduce){ .cosmos{transition:none; opacity:.55} }
@media (prefers-reduced-motion: reduce){ .cosmos.is-ready{transition:none} }

/* ============================================================
   ★ 对比度档位二「高对比」——只作用于正文内容层
   · 不碰 .cosmos-layer / canvas / .sec 玻璃带（背景、星空、地球原样）
   · 不碰浅色页头 / 抽屉 / 弹层（它们本就是深字浅底，已是高档位）
   · 三件事：文字提亮、描边与分隔线加强、玻璃卡底色加深
   ============================================================ */
[data-contrast="high"] .sec__hd p{color:oklch(94% .010 253)}
[data-contrast="high"] .sec .eyebrow{color:var(--gilt-200)}

/* 首屏：快捷胶囊 / 数据带 / 品牌语都提亮一档 */
[data-contrast="high"] .qk{color:#fff; border-color:oklch(99% .003 253/.42); background:oklch(99% .003 253/.10)}
[data-contrast="high"] .qk:hover,
[data-contrast="high"] .qk:focus-visible{background:var(--gilt-400); border-color:var(--gilt-400); color:var(--navy-950)}
[data-contrast="high"] .hero__lead{color:oklch(94% .010 253)}
[data-contrast="high"] .hero__eyebrow{color:var(--gilt-200)}
[data-contrast="high"] .stat__l{color:oklch(88% .018 253)}
[data-contrast="high"] .stats{border-top-color:oklch(99% .003 253/.34); border-bottom-color:oklch(99% .003 253/.26)}
[data-contrast="high"] .stat + .stat{border-left-color:oklch(99% .003 253/.30)}
[data-contrast="high"] .hero__meta{opacity:.78}

/* ① 玻璃卡：底色调暗 + 描边加粗一档 */
[data-contrast="high"] .tgc,
[data-contrast="high"] .hon__side,
[data-contrast="high"] .ct__i{
  background:oklch(14% .028 253/.96);
  border-color:oklch(99% .003 253/.40);
}
[data-contrast="high"] .tgc:hover,
[data-contrast="high"] .ct__i:hover{background:oklch(17% .030 253/.97); border-color:oklch(82% .125 84/.78)}
[data-contrast="high"] .tgc__sub{color:oklch(95% .010 253)}
[data-contrast="high"] .tgc__own{color:oklch(88% .018 253)}
[data-contrast="high"] .tgc__list,
[data-contrast="high"] .tgc__list li,
[data-contrast="high"] .tgc__go{border-color:oklch(99% .003 253/.32)}
[data-contrast="high"] .tgc__list a{color:#fff}
[data-contrast="high"] .tgc__list a:hover,
[data-contrast="high"] .tgc__list a:focus-visible{color:var(--gilt-200)}

/* ② 两个子层网格：接缝与格子描边加强 */
[data-contrast="high"] .grid4,
[data-contrast="high"] .grid6{background:oklch(99% .003 253/.34); border-color:oklch(99% .003 253/.34)}
[data-contrast="high"] .chip,
[data-contrast="high"] .cell{background:oklch(14% .028 253/.96); color:#fff}
[data-contrast="high"] .chip:hover,
[data-contrast="high"] .cell:hover,
[data-contrast="high"] .cell:focus-visible{background:oklch(99% .003 253/.18)}
[data-contrast="high"] .chip[aria-pressed="true"]{background:var(--gilt-400); color:var(--navy-950)}
[data-contrast="high"] .cell__sub{color:oklch(90% .014 253)}
[data-contrast="high"] .sub__k,
[data-contrast="high"] .sub__cnt{color:var(--gilt-200)}

/* ③ 正文与次要文字 */
[data-contrast="high"] .rows__v{color:oklch(96% .008 253)}
[data-contrast="high"] .rows__k{color:var(--gilt-200)}
[data-contrast="high"] .rows,
[data-contrast="high"] .rows__i,
[data-contrast="high"] .nl,
[data-contrast="high"] .nl__i,
[data-contrast="high"] .hon__note{border-color:oklch(99% .003 253/.32)}
[data-contrast="high"] .hon__l,
[data-contrast="high"] .hon__note{color:oklch(90% .014 253)}
[data-contrast="high"] .nl__d{color:oklch(94% .010 253)}
[data-contrast="high"] .nl__note{color:oklch(87% .016 253)}
[data-contrast="high"] .ab__body{color:oklch(96% .008 253)}
[data-contrast="high"] .ct__s{color:oklch(89% .014 253)}
[data-contrast="high"] .no-hit{border-color:oklch(99% .003 253/.40); color:oklch(93% .012 253)}
/* 米白引文卡：署名再压暗一档（4.71:1 → ~5.9:1），两档都在 AA 之上 */
[data-contrast="high"] .ab .pull cite{color:oklch(40% .05 80)}