/* =========================================================================
   鹤鸣集 (company.meidouya.com) — 全站主题
   版式与设计令牌取自客户模版 about/styles.css 的最终生效状态。
   模版原文件是 10 层追加覆盖改写而成（含相互抵消的规则），此处已收敛为
   一份可直接读的样式表：同名类、同声明，只保留真正生效的那一版。
   主色 --green:#147a52 / 深色区 --ink:#13221f / 容器 1120px
   ========================================================================= */

:root {
  --ink: #13221f;        /* 深色区底色 + 正文主色 */
  --muted: #687670;      /* 次级文字 */
  --line: #dfe7e3;       /* 分隔线 / 卡片描边 */
  --green: #147a52;      /* 主色：链接、按钮、强调 */
  --soft: #f7faf8;       /* 浅底：标签、区块 */
  --warn: #a36116;       /* 提示态文字 */
  --warn-bg: #fff0dd;    /* 提示态底色 */
}

* { box-sizing: border-box; }
body {
  margin: 0;
  padding-top: 76px;                       /* 固定页头留位 */
  color: var(--ink);
  font: 15px/1.6 -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { text-decoration: none; color: inherit; }
img { max-width: 100%; }
.wrap { width: min(1120px, calc(100% - 48px)); margin: auto; }
.sr {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}

.eyebrow {
  margin: 0;
  color: var(--green);
  font-size: 12px;
  letter-spacing: .12em;
  font-weight: 800;
}

/* ============================== 页头 ============================== */
.site-head {
  position: fixed; z-index: 30; top: 0; left: 0; right: 0;
  background: #fff; border-bottom: 1px solid var(--line);
}
.site-head > .wrap {
  display: flex; align-items: center; justify-content: space-between;
  height: 76px;
}
.brand { display: flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 800; letter-spacing: -.5px; }
.brand i {
  position: relative; display: block; width: 28px; height: 28px;
  background: var(--green); border-radius: 9px 9px 9px 2px;
}
.brand i::after {
  content: ""; position: absolute; left: 7px; top: 7px;
  width: 11px; height: 7px;
  border-left: 2px solid #fff; border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}
.site-head nav { display: flex; gap: 30px; color: #52605b; }
.site-head nav a { padding-bottom: 2px; }
.site-head nav a:hover { color: var(--green); }
.site-head nav a.active { color: var(--ink); font-weight: 650; }
.site-head .post-btn {
  border: 0; border-radius: 9px; padding: 10px 16px;
  background: var(--ink); color: #fff; font: inherit; cursor: pointer;
}
.site-head .post-btn:hover { background: #24413a; }

/* ============================== 页脚 ============================== */
footer {
  padding: 26px calc((100% - min(1120px, calc(100% - 48px))) / 2);
  border-top: 1px solid var(--line);
  color: #7b8882; font-size: 13px;
}
.site-footer { padding: 27px 0; }
.footer-row { display: flex; justify-content: space-between; gap: 14px; }
.footer-row div { display: flex; flex-wrap: wrap; gap: 21px; }
.footer-row a:hover { color: var(--green); }

/* ============================== 通用件 ============================== */
.btn {
  border: 0; border-radius: 9px; padding: 10px 16px;
  background: var(--green); color: #fff; font: inherit; cursor: pointer;
}
.btn:hover { background: #106845; }
.btn-ghost { background: none; border: 0; color: var(--green); font: inherit; cursor: pointer; }
.tags, .cloud { display: flex; gap: 7px; flex-wrap: wrap; }
.tags em, .cloud span, .review-tags span {
  font-style: normal; padding: 3px 8px; border-radius: 20px;
  background: var(--soft); color: #596961; font-size: 12px;
}
/* 标签配色：只认 .tone-*，与块级提示 .alert 彻底解耦
   （.alert 带 margin-top:12px，一旦被标签复用就会把该标签顶下去、破坏同行对齐） */
.tags .tone-good, .review-tags .tone-good, .tag.tone-good { background: #e2f4e9; color: var(--green); }
.tags .tone-alert, .review-tags .tone-alert, .tag.tone-alert { background: var(--warn-bg); color: var(--warn); }
.alert { margin-top: 12px; padding: 11px 14px; border-radius: 9px; font-size: 14px; }
.alert--ok { background: #e2f4e9; color: #0f6440; }
.alert--err { background: #fdecea; color: #a33227; }
dialog {
  border: 1px solid var(--line); border-radius: 14px; padding: 0;
  max-width: min(520px, calc(100% - 32px));
}
dialog::backdrop { background: rgba(19, 34, 31, .38); }
dialog .dialog-inner { padding: 22px; }
.tag { padding: 4px 9px; border-radius: 20px; background: var(--soft); color: #53635c; font-size: 12px; }
/* 企业首字块：仅列表卡片使用（详情页按用户要求去掉了） */
.avatar {
  width: 47px; height: 47px; border-radius: 12px; background: #edf4ef;
  display: grid; place-items: center; color: #3f7058; font-size: 18px; font-weight: 800;
}
.panel { border: 1px solid var(--line); border-radius: 12px; padding: 19px; }
.panel h2 { margin: 0 0 17px; font-size: 19px; }
.nodata { color: #9aa8a2; font-size: 13px; }

/* ============================== 首页 ============================== */
.hero {
  position: relative; overflow: hidden;
  padding: 82px 0 70px;
  background: linear-gradient(120deg, #f8fbf9 0%, #edf7f0 55%, #f9fbf8 100%);
}
.hero::after {
  content: ""; position: absolute; right: -115px; top: -200px;
  width: 430px; height: 430px; border: 1px solid #c7dfd0; border-radius: 50%;
  box-shadow: 0 0 0 65px #dceee273, 0 0 0 130px #dceee240;
}
.hero-content { position: relative; z-index: 1; max-width: 980px; }
.hero h1 {
  margin: 12px 0 17px; max-width: 980px;
  font-size: clamp(37px, 4.1vw, 56px); line-height: 1.15; letter-spacing: -.07em;
}
.lead { max-width: 590px; color: var(--muted); font-size: 17px; }
.search {
  display: flex; align-items: center; gap: 10px; max-width: 650px; margin-top: 32px;
  padding: 8px; border: 1px solid #cfddd5; border-radius: 13px; background: #fff;
  box-shadow: 0 12px 25px #163d4214;
}
.search span { padding-left: 12px; color: #90a29a; font-size: 21px; }
.search input { min-width: 0; flex: 1; border: 0; outline: 0; font: 16px inherit; }
/* 搜索区按钮：必须补 border:0 —— 否则会露出浏览器 UA 的默认按钮边框与字号 */
.search button, .wide-search button {
  border: 0; border-radius: 8px; background: var(--green); color: #fff;
  font-family: inherit; font-size: 15px; font-weight: 600; cursor: pointer;
  white-space: nowrap;
}
.search button { padding: 12px 22px; }
.search button:hover, .wide-search button:hover { background: #106845; }
.hint { margin: 12px 0 0 4px; color: #7a8782; font-size: 13px; }
.numbers { display: flex; gap: 42px; margin-top: 51px; }
.numbers b { display: block; font-size: 22px; letter-spacing: -.04em; }
.numbers span { color: var(--muted); font-size: 13px; }
.hero + section { padding: 70px 0; }
.section-heading {
  display: flex; align-items: end; justify-content: space-between; margin-bottom: 25px;
}
.section-heading h2 { margin: 0; font-size: 27px; letter-spacing: -.05em; }
.section-heading p { margin: 0; color: var(--muted); }
.more { color: var(--green); font-weight: 650; }
.more:hover { text-decoration: underline; }

.companies { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.company {
  padding: 23px; border: 1px solid var(--line); border-radius: 13px;
  background: #fff; transition: .2s;
}
.company:hover { transform: translateY(-3px); box-shadow: 0 10px 25px #0e2f1f14; }
.company-top { display: flex; justify-content: space-between; align-items: flex-start; }
.logo {
  width: 42px; height: 42px; border-radius: 11px; background: #eef3f0;
  color: #3d6653; font-weight: 800; display: grid; place-items: center;
}
.score { color: var(--green); font-weight: 750; }
.score.is-empty { color: #9aa8a2; font-size: 13px; font-weight: 600; }
.company h3 { margin: 16px 0 3px; font-size: 17px; }
.company small { color: var(--muted); }
.company .tags { margin-top: 11px; }

.guide-area { padding: 70px 0; background: var(--soft); }
.guides { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 17px; }
.guide {
  position: relative; min-height: 230px; padding: 24px; overflow: hidden;
  display: flex; flex-direction: column; justify-content: space-between;
  border: 1px solid #e8eeeb; border-radius: 13px; background: #fff;
}
.guide .guide-cover {
  display: block; aspect-ratio: 16/9; margin: -24px -24px 19px;
  width: calc(100% + 48px); max-width: none;
  border-radius: 12px 12px 0 0; object-fit: cover;
  background: linear-gradient(135deg, #d7eddf 0 43%, #6aa681 43% 48%, #f1f7f3 48%);
}
.guide-category { color: var(--green); font-size: 12px; font-weight: 700; letter-spacing: .09em; }
.guide h3 { margin: 10px 0 0; font-size: 22px; line-height: 1.32; letter-spacing: -.04em; }
.guide:not(.featured) h3 { font-size: 18px; }
.guide footer, .guide .guide-meta { padding: 0; border: 0; color: #7a8882; font-size: 13px; }
.guide.featured { background: var(--ink); color: #fff; border-color: var(--ink); }
.guide.featured .guide-category { color: #9bd7b9; }
.guide.featured .guide-meta { color: #b8c9c0; }

.cta { padding: 63px 0; text-align: center; }
.cta h2 { margin: 0; font-size: 33px; }
.cta p { color: var(--muted); }
.cta button, .cta .btn { margin-top: 10px; padding: 12px 20px; border-radius: 8px; }

/* ====================== 内页标题区（列表/指南共用） ====================== */
.page-hero, .guide-hero { background: #eef7f1; padding: 60px 0; }
.page-hero h1, .guide-hero h1 { margin: 10px 0 22px; font-size: 42px; letter-spacing: -.06em; }
.wide-search {
  display: flex; max-width: 690px; gap: 10px; padding: 8px 8px 8px 18px;
  background: #fff; border: 1px solid #cfe0d6; border-radius: 12px;
  box-shadow: 0 10px 25px #285c4010;
}
.wide-search input { flex: 1; min-width: 0; border: 0; outline: 0; font: inherit; }
.wide-search span { font-size: 21px; color: #91a29a; }
.wide-search button { border-radius: 9px; padding: 10px 16px; }

/* ====================== 企业查询：顶部筛选 + 通栏结果 ====================== */
.results { display: block; padding: 34px 0 75px; }

/* 搜索框右侧的筛选图标按钮（点击展开筛选面板） */
.filter-btn {
  position: relative; flex: none; display: grid; place-items: center;
  width: 44px; height: 44px; border: 0; border-radius: 9px;
  background: var(--soft); color: #52605b; cursor: pointer;
}
.filter-btn:hover { background: #eef3f0; }
.filter-btn[aria-expanded="true"] { background: #e2f4e9; color: var(--green); }
.filter-btn[aria-expanded="true"]:hover { background: #d4ecdf; }
.filter-btn svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; }
.filter-count {
  position: absolute; top: -5px; right: -5px; min-width: 17px; height: 17px; padding: 0 4px;
  border-radius: 9px; background: var(--green); color: #fff; font-style: normal;
  font-size: 11px; font-weight: 700; line-height: 17px; text-align: center;
}

.filter-panel {
  margin-top: 14px; padding: 18px 20px 20px;
  background: #fff; border-radius: 12px; box-shadow: 0 10px 25px #285c4010;
}
.filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px 18px; align-items: start; }
.filter-grid .fld > label { display: block; margin-bottom: 6px; color: var(--muted); font-size: 13px; }
.filter-grid .grp-title { margin-top: 0; font-size: 13px; color: var(--muted); font-weight: 400; }
.filter-grid select {
  width: 100%; height: 42px; padding: 0 10px; border: 1px solid var(--line);
  border-radius: 7px; color: #53605b; background: #fff; font: inherit;
}
.filter-grid select:disabled { color: #b4beb9; background: var(--soft); }
.filter-grid .checks { margin-top: 6px; }
.filter-actions { display: flex; align-items: center; gap: 16px; align-self: end; }
.filter-actions .btn { height: 42px; padding: 0 22px; }

.list-head select {
  width: 110px; margin-top: 8px; padding: 9px; border: 1px solid var(--line);
  border-radius: 7px; color: #53605b; background: #fff; font: inherit;
}
.checks { margin-top: 8px; color: var(--muted); font-weight: 400; font-size: 14px; }
.grp-title { display: block; margin-top: 24px; font-size: 15px; font-weight: 700; }
.checks label { display: flex; align-items: center; gap: 7px; margin: 6px 0; font-weight: 400; }
.checks input { width: 15px; height: 15px; margin: 0; accent-color: var(--green); flex: none; }
.clear { margin-top: 28px; padding: 0; background: none; border: 0; color: var(--green); font: inherit; cursor: pointer; }
.filter-actions .clear { margin-top: 0; }

.list-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }
.list-head small { display: block; color: var(--muted); }
.list-head select { width: 110px; }
.company-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.result-card {
  display: flex; flex-direction: column; padding: 19px;
  border: 1px solid var(--line); border-radius: 12px; background: #fff; transition: .2s;
}
.result-card:hover { transform: translateY(-3px); box-shadow: 0 10px 25px #285c1412; }
.card-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 18px; }
.result-info { flex: 1; display: flex; flex-direction: column; }
.result-info h2 { font-size: 17px; margin: 0; line-height: 1.45; }
.result-info p { margin: 2px 0 10px; color: var(--muted); font-size: 13px; }
/* 标签行底对齐：同一行卡片的标签落在同一水平线上 */
.result-info .tags { margin-top: auto; padding-top: 2px; }
.rating { text-align: right; }
.rating b { display: block; color: var(--green); font-size: 23px; }
.rating span { color: var(--muted); font-size: 12px; }
.rating.is-empty b { font-size: 15px; color: #9aa8a2; padding: 5px 0; }

.pagination {
  display: flex; justify-content: center; align-items: center; gap: 7px; margin-top: 38px;
}
.pagination a, .pagination span {
  min-width: 34px; height: 34px; padding: 0 8px; display: grid; place-items: center;
  border-radius: 8px; color: #66736f; font-size: 14px;
}
.pagination a { border: 1px solid var(--line); }
.pagination a:hover, .pagination a.current { color: #fff; background: var(--green); border-color: var(--green); }
.pagination a.disabled, .pagination span.disabled {
  color: #b4beb9; background: #f6f8f7; border-color: #edf1ef; pointer-events: none;
}

/* ============================== 企业详情 ============================== */
.detail { padding: 29px 0 76px; }
.back { display: inline-block; color: var(--green); font-weight: 650; margin-bottom: 25px; }
.company-cover {
  padding: 30px; display: flex; align-items: center; gap: 18px;
  background: #eef7f1; border-radius: 15px;
}
.company-cover h1 { margin: 3px 0; font-size: 32px; letter-spacing: -.05em; }
.company-cover p:not(.eyebrow) { color: var(--muted); margin: 0; }
.cover-score { margin-left: auto; text-align: right; }
.cover-score b { font-size: 33px; color: var(--green); display: block; }
.cover-score span { font-size: 12px; color: var(--muted); }
.cover-score.is-empty b { font-size: 17px; color: #9aa8a2; }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin: 20px 0; }
.metric-grid article { border: 1px solid var(--line); border-radius: 12px; padding: 19px; }
.metric-grid span, .metric-grid small { display: block; color: var(--muted); font-size: 13px; }
.metric-grid b { display: block; font-size: 26px; margin: 5px 0; letter-spacing: -.04em; }
.metric-grid b.is-empty { font-size: 17px; color: #9aa8a2; padding: 8px 0; }
.detail-cols { display: grid; grid-template-columns: 1.7fr .85fr; gap: 18px; align-items: start; }
.review { padding: 19px 0; border-top: 1px solid var(--line); }
.review:first-of-type { border-top: 0; }
.review small { display: block; color: var(--muted); font-size: 13px; }
.review p { margin: 13px 0; }
.review-tags { display: flex; gap: 7px; flex-wrap: wrap; }
.side p { color: var(--muted); font-size: 14px; }
.side hr { border: 0; border-top: 1px solid var(--line); margin: 22px 0; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.form-grid label { display: block; font-size: 13px; color: var(--muted); margin-bottom: 5px; }
.form-grid select, .form-grid input, .form-grid textarea {
  width: 100%; padding: 9px; border: 1px solid var(--line); border-radius: 7px;
  color: var(--ink); background: #fff; font: inherit;
}
.form-grid .full { grid-column: 1 / -1; }
.form-note { color: var(--muted); font-size: 13px; margin-top: 10px; }

/* ============================== 职业指南 ============================== */
.guide-hero { padding: 74px 0; }
.guide-hero h1 { max-width: 710px; font-size: 48px; margin-bottom: 9px; }
.guide-hero > div > p:not(.eyebrow) { color: var(--muted); }
.guide-list { padding: 43px 0 76px; }
.category-nav { display: flex; gap: 24px; margin-bottom: 27px; color: var(--muted); overflow-x: auto; }
.category-nav b, .category-nav a:hover { color: var(--green); }
.category-nav .active { color: var(--green); font-weight: 700; }
.feature-story {
  padding: 37px 43px; display: flex; justify-content: space-between; align-items: center;
  border-radius: 15px; background: var(--ink); color: #fff;
}
.feature-story h2 { font-size: 29px; line-height: 1.3; max-width: 570px; margin: 8px 0; }
.feature-story p:not(.eyebrow) { max-width: 570px; color: #b6c8be; }
.feature-story .eyebrow { color: #9bd7b9; }
.feature-story a { color: #c1eed3; font-weight: bold; }
.story-art {
  flex: none; width: 210px; aspect-ratio: 16/9; border-radius: 12px;
  object-fit: cover; background: #24413a;
}
.article-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 28px; margin-top: 20px; }
.article { padding: 25px 0; border-bottom: 1px solid var(--line); display: block; }
.article p { margin: 0; color: var(--green); font-size: 12px; font-weight: bold; letter-spacing: .1em; }
.article h3 { margin: 8px 0 15px; font-size: 20px; line-height: 1.4; }
.article small { color: var(--muted); }
.article-cards { grid-template-columns: repeat(3, 1fr); gap: 16px; }
.article-cards .article {
  min-height: 230px; padding: 19px; border: 1px solid var(--line);
  border-radius: 12px; display: flex; flex-direction: column; transition: .2s;
}
.article-cards .article:hover { transform: translateY(-3px); box-shadow: 0 10px 25px #285c1410; }
.article-cards .article h3 { font-size: 18px; }
.article-cards .article small { margin-top: auto; }
.article-cards .article .cover {
  display: block; aspect-ratio: 16/9; margin: -19px -19px 18px;
  width: calc(100% + 38px); max-width: none;
  border-radius: 11px 11px 0 0; object-fit: cover;
  background: linear-gradient(135deg, #d7eddf 0 43%, #6aa681 43% 48%, #f1f7f3 48%);
}
.article-cards .article:nth-child(3n + 2) .cover {
  background: radial-gradient(circle at 72% 32%, #fff0c8 0 13%, transparent 14%),
              linear-gradient(150deg, #fff2df 0 49%, #d98d4a 50% 55%, #fbf7f0 56%);
}
.article-cards .article:nth-child(3n + 3) .cover {
  background: linear-gradient(145deg, #dbeef3 0 46%, #6ca7ba 47% 52%, #eef7f8 53%);
}

/* ============================== 文章详情 ============================== */
.reading { width: min(760px, calc(100% - 48px)); margin: 0 auto; padding: 35px 0 75px; }
.reading .eyebrow { margin-bottom: 0; }
.reading article > h1 { font-size: 45px; line-height: 1.23; letter-spacing: -.065em; margin: 10px 0 15px; }
.subtitle { font-size: 19px; color: var(--muted); margin: 0; }
.byline { display: flex; gap: 16px; color: var(--muted); font-size: 13px; margin: 25px 0; }
.cover-art {
  position: relative; overflow: hidden; display: block; width: 100%;
  margin: 32px 0; border-radius: 13px; object-fit: cover; aspect-ratio: 16/9;
  background: linear-gradient(125deg, #1a6043 0 42%, #5aa173 43% 48%, #d0ead9 49%);
}
.reading article > p { font-size: 17px; margin: 22px 0; }
.reading h2 { font-size: 26px; letter-spacing: -.04em; margin: 38px 0 5px; }
.reading h3 { font-size: 19px; margin: 26px 0 4px; }
.reading ul, .reading ol { padding-left: 22px; }
.reading li { font-size: 17px; margin: 8px 0; }
.reading blockquote {
  margin: 25px 0; padding: 15px 22px; border-left: 3px solid var(--green);
  background: #f1f8f4; color: #436152; font-size: 17px;
}
.reading-cta { margin-top: 44px; }

/* 正文（文章 body 是富文本 HTML，选择器不能依赖 .reading > p） */
.reading-body { font-size: 17px; line-height: 1.75; }
.reading-body p { margin: 0 0 1em; }
.reading-body h2 { font-size: 26px; letter-spacing: -.04em; margin: 38px 0 10px; }
.reading-body h3 { font-size: 19px; margin: 26px 0 6px; }
.reading-body ul, .reading-body ol { padding-left: 22px; }
.reading-body li { margin: 8px 0; }
.reading-body img { max-width: 100%; height: auto; border-radius: 10px; }
.reading-body strong { font-weight: 650; }
.reading-body a { color: var(--green); text-decoration: underline; }
.reading-body blockquote {
  margin: 25px 0; padding: 15px 22px; border-left: 3px solid var(--green);
  background: #f1f8f4; color: #436152;
}
.reading-body table { border-collapse: collapse; width: 100%; margin: 1em 0; font-size: 15px; background: #fff; }
.reading-body th, .reading-body td { border: 1px solid var(--line); padding: 9px 12px; text-align: left; vertical-align: top; }
.reading-body th { background: var(--soft); font-weight: 600; white-space: nowrap; }
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; margin: 1em 0; }
.table-scroll table { margin: 0; }

/* ============================== 关于我们 ============================== */
.about-hero { padding: 92px 0 105px; background: linear-gradient(120deg, #f7fbf8, #e5f2e9); }
.about-hero h1 {
  margin: 12px 0 20px; font-size: clamp(40px, 5vw, 62px); line-height: 1.18; letter-spacing: -.075em;
}
.about-hero p:not(.eyebrow) { max-width: 520px; font-size: 17px; color: var(--muted); }
.mission { display: grid; grid-template-columns: 260px 1fr; gap: 70px; padding: 82px 0; }
.mission-label { font-weight: 700; color: var(--green); }
.mission h2, .principles h2, .join h2 {
  margin: 0 0 18px; font-size: 32px; line-height: 1.32; letter-spacing: -.055em;
}
.mission p, .join p { max-width: 690px; color: var(--muted); font-size: 17px; }
.principles { padding: 72px 0; background: var(--ink); color: #fff; }
.principles .eyebrow { color: #9cd9b9; }
.principle-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 32px; }
.principle-grid article { padding: 22px; border: 1px solid #3e564c; border-radius: 12px; }
.principle-grid b { color: #9cd9b9; font-size: 13px; }
.principle-grid h3 { margin: 25px 0 8px; font-size: 20px; }
.principle-grid p { margin: 0; color: #b8c9c0; }
.join { display: flex; align-items: center; justify-content: space-between; gap: 60px; padding: 82px 0; }
.join h2 { max-width: 570px; }
.join button { flex: none; border: 0; border-radius: 9px; padding: 13px 20px; background: var(--green); color: #fff; font: 600 15px inherit; cursor: pointer; }

/* ========================= 法律与信任中心 ========================= */
.policy { padding: 64px 0 85px; }
.policy > h1 { margin: 7px 0; font-size: 42px; letter-spacing: -.06em; }
.policy-intro { margin: 0 0 38px; color: var(--muted); font-size: 16px; }
.policy-layout { display: grid; grid-template-columns: 200px minmax(0, 740px); gap: 55px; }
.policy-layout aside {
  height: max-content; position: sticky; top: 96px;
  display: flex; flex-direction: column; gap: 10px; padding: 15px;
  border: 1px solid var(--line); border-radius: 11px;
}
.policy-layout aside a { padding: 6px 8px; color: #596861; }
.policy-layout aside a:hover { color: var(--green); }
.policy-layout article { font-size: 16px; }
.policy-layout article h2 { margin: 35px 0 10px; font-size: 23px; letter-spacing: -.04em; }
.policy-layout article h2:first-of-type { margin-top: 0; }
.policy-layout p, .policy-layout li { color: #4f5e57; }
.policy-layout ul { padding-left: 22px; }
.policy-layout li { margin: 8px 0; }
.notice, .request-note {
  padding: 16px 18px; border-left: 3px solid var(--green); background: #edf7f1;
  color: #416051; font-size: 14px;
}
.policy-button {
  display: inline-block; margin-top: 8px; padding: 10px 15px; border-radius: 8px;
  background: var(--green); color: #fff; font-weight: 650;
}
.request-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.request-grid article {
  min-height: 205px; padding: 22px; border: 1px solid var(--line); border-radius: 12px;
  display: flex; flex-direction: column;
}
.request-grid h2 { margin: 0; font-size: 19px; }
.request-grid p { color: var(--muted); font-size: 14px; }
.request-grid a { margin-top: auto; color: var(--green); font-weight: 700; }
.process { margin: 45px 0; padding: 30px; background: var(--soft); border-radius: 13px; }
.process h2 { margin-top: 0; }
.process div { display: grid; grid-template-columns: 120px 1fr; gap: 20px; padding: 14px 0; border-top: 1px solid var(--line); }
.process p { margin: 0; color: var(--muted); }
.request-note { max-width: 760px; }

/* ============================== 响应式 ============================== */
@media (max-width: 960px) {
  .companies, .guides, .company-grid, .article-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-cols, .mission, .principle-grid { grid-template-columns: 1fr; }
  .filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mission { gap: 20px; padding: 55px 0; }
  .join { display: block; padding: 55px 0; }
  .join button { margin-top: 12px; }
  .policy-layout { grid-template-columns: 1fr; gap: 25px; }
  .policy-layout aside { position: static; flex-direction: row; overflow-x: auto; white-space: nowrap; }
  .feature-story { display: block; padding: 27px; }
  .story-art { display: none; }
  .article-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  body { padding-top: 66px; }
  .wrap { width: calc(100% - 32px); }
  .site-head > .wrap { height: 66px; }
  .site-head nav { display: none; }
  .hero { padding: 60px 0; }
  .hero h1 { white-space: normal; }
  .numbers { gap: 20px; }
  .companies, .guides, .company-grid, .article-cards, .metric-grid { grid-template-columns: 1fr; }
  .section-heading { align-items: start; flex-direction: column; gap: 9px; }
  .footer-row { flex-direction: column; gap: 12px; }
  .search button { padding: 12px 15px; }
  .search span { display: none; }
  .page-hero h1, .guide-hero h1, .reading article > h1 { font-size: 35px; }
  .company-cover { padding: 22px; flex-wrap: wrap; }
  .cover-score { margin-left: 0; }
  .company-cover h1 { font-size: 26px; }
  .policy { padding: 45px 0 60px; }
  .policy > h1 { font-size: 34px; }
  .request-grid { grid-template-columns: 1fr; }
  .process { padding: 20px; }
  .process div { grid-template-columns: 1fr; gap: 4px; }
  .form-grid { grid-template-columns: 1fr; }
  .filter-grid { grid-template-columns: 1fr; gap: 12px; }
  .filter-panel { padding: 16px; }
  .wide-search { padding: 6px 6px 6px 14px; }
  .filter-btn { width: 40px; height: 40px; }
  .reading { width: calc(100% - 32px); }
  .guide { min-height: 190px; }
}
