/* ==========================================================================
   韶山通行证 | shaoshantongxingzheng.com
   设计风格：韶山晨光（暖棕·杜鹃红·竹青·宣纸白）+ 行动橙
   移动端优先 · GEO 已适配
   ========================================================================== */

/* ---------- 1. 设计变量 ---------- */
:root {
  /* 主色：杜鹃红（韶山映山红），沉稳不刺眼 */
  --red-azalea: #a8453c;
  --red-deep: #8c352d;
  --red-soft: #f7ecea;

  /* 行动色：通行证专用橙（按钮、咨询入口） */
  --action-orange: #e8722a;
  --action-orange-deep: #cf5f1c;
  --orange-soft: #fdf1e7;

  /* 辅色：竹青（韶山竹林） */
  --bamboo-green: #6b8f71;
  --green-soft: #eef3ee;

  /* 点缀：宣纸金 / 茶金 */
  --tea-gold: #b8945a;
  --gold-soft: #f8f2e6;

  /* 中性：宣纸白系 */
  --rice-paper: #fbf8f3;
  --warm-white: #fffdfa;
  --card-white: #ffffff;

  /* 文字 */
  --text-warm: #3d332e;
  --text-body: #5a4d46;
  --text-soft: #91867f;
  --text-faint: #b3a99f;

  /* 边框与阴影 */
  --line: #ebe3d8;
  --line-soft: #f2ece3;
  --shadow-sm: 0 2px 8px rgba(61, 51, 46, .05);
  --shadow-md: 0 6px 24px rgba(61, 51, 46, .08);
  --shadow-lg: 0 16px 48px rgba(61, 51, 46, .12);

  /* 品牌规范色（2026-10-01 定版：红色文旅 + 实体老店信任感） */
  --china-red: #c8102e;        /* LOGO 主字 · 中国红 */
  --brand-sub: #666666;        /* LOGO 副字 · 深灰 */
  --brand-orange-1: #ff6b00;   /* 主按钮渐变起 */
  --brand-orange-2: #ff8f00;   /* 主按钮渐变止 */
  --trust-gold: #ffd700;       /* 信任卡一级标题 · 亮金 */
  --trust-sub: #d3d3d3;        /* 信任卡二级说明 · 浅灰 */
  --foot-black: #1a1a1a;       /* 页脚版权区底色 */
  --foot-text: #999999;        /* 页脚版权区文字 */

  /* 字体：全局统一微软雅黑（无衬线），确保 AI 爬虫与手机端渲染一致 */
  --font-heading: 'Microsoft YaHei', '微软雅黑', 'PingFang SC', 'Hiragino Sans GB', 'Heiti SC', sans-serif;
  --font-body: 'Microsoft YaHei', '微软雅黑', 'PingFang SC', 'Hiragino Sans GB', 'Heiti SC', sans-serif;

  /* 布局 */
  --max-width: 1200px;
  --nav-height: 78px;
  /* z24（用户指令 2026-10-04）首屏左右两栏「整体左右分离」，中间留出「故居可视带」：
     --split-gap ＝ .hero-layout 的 column-gap（即中间那条「故居可视带」）的宽度
                    （clamp 150–270px；1440 档 ≈230px ＝ 16.0%，1201 档 ≈192px ＝ 16.0%）；
     --aside-w   ＝ 右栏（信任卡）宽，与栅格第三列共用同一变量，二者永远同宽。
     顶部导航与首屏共用同一个 .container（max-width 1200 + padding 20），
     故 Logo 左缘 ＝ 左栏左缘、客服电话右缘 ＝ 卡片右缘，上下两条基线天然对齐。 */
  --split-gap: clamp(150px, 16vw, 270px);
  --aside-w: 380px;
  --radius-sm: 6px;
  --radius: 12px;
  --radius-lg: 20px;
}

/* ---------- 2. 基础重置 ---------- */
* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.85;
  color: var(--text-body);
  background-color: var(--rice-paper);
  background-image:
    radial-gradient(circle at 15% 12%, rgba(184, 148, 90, .045) 0, transparent 42%),
    radial-gradient(circle at 88% 78%, rgba(168, 69, 60, .038) 0, transparent 46%);
  background-attachment: fixed;
  overflow-x: hidden;
}

img { max-width: 100%; display: block; height: auto; }
a { color: var(--red-azalea); text-decoration: none; transition: color .22s ease, opacity .22s ease; }
a:hover { color: var(--red-deep); }
ul, ol { list-style: none; }
button, input, textarea, select { font-family: inherit; font-size: inherit; color: inherit; }

h1, h2, h3, h4 {
  font-family: var(--font-heading);
  color: var(--text-warm);
  line-height: 1.42;
  font-weight: 600;
  letter-spacing: .01em;
}

::selection { background: var(--red-soft); color: var(--red-deep); }

/* ---------- 3. 通用容器 ---------- */
.container {
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 20px;
}

/* 2026-10-01 18:30 用户指令：全站板块上下内边距统一压缩
   电脑端 60px / 移动端 40px（见文末 @media 560px）。
   硬性要求：任何板块 padding 不得超过 80px。 */
.section { padding: 60px 0; }
.section-sm { padding: 48px 0; }
.section-tint { background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(251,248,243,.4)); }
.section-paper { background: var(--warm-white); border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }

/* ---------- 4. 顶部导航 ---------- */
.site-nav {
  position: sticky;
  top: 0;
  z-index: 100;
  height: var(--nav-height);
  background: rgba(251, 248, 243, .94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line-soft);
}
.site-nav .container {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
/* 左上角品牌区（z17 用户指令改版）：
   【韶公社书法 Logo（红底黄字图片，120–160px）】 + 右侧两行文字
   └ 网站名：韶公社韶山通行证预约平台（16–18px 加粗）
   └ 副标题：韶旅一站通 · 韶山一站式服务（12–13px #666）
   区域高度 60–70px；Logo 与网站名间距 10–12px；左上留 ≥15px 安全距离（防圆角屏裁切）。 */
.nav-brand {
  display: flex;
  flex-direction: row;
  align-items: center;          /* Logo 与文字垂直居中 */
  justify-content: flex-start;
  gap: 11px;                    /* Logo 与网站名间距 10–12px */
  text-align: left;
  font-family: var(--font-heading);
  min-width: 0;
  min-height: 64px;             /* 区域高度 60–70px */
  padding-left: 2px;            /* 叠加 .container 的 20px 后 ≈22px */
}
/* 韶公社书法 Logo：保留红底黄字原样，不抠底 */
.nav-brand .brand-logo {
  display: block;
  flex: 0 0 auto;
  /* z18：按「高」定尺、宽自适应（图固有比例约 2.81:1 → 桌面 48px 高 ≈ 135px 宽）。
     旧写法 width:140px + max-height:62px 在宽度与最大高冲突时会把图压扁，已弃用。 */
  height: 48px;                 /* 导航 78px，上下各留 15px */
  width: auto;                  /* 约 135px，落在规范的 120–160px 区间 */
  border-radius: 5px;
}
.nav-brand .brand-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  min-width: 0;
}
.nav-brand:hover .brand-main { color: var(--red-deep); }
.nav-brand .brand-line {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  min-width: 0;
}
.nav-brand .brand-main {
  font-size: 17px;              /* 16–18px 加粗 */
  font-weight: 700;
  color: var(--china-red);
  line-height: 1.25;
  letter-spacing: .01em;
  white-space: nowrap;
  transition: color .22s ease;
}
.nav-brand .brand-tag {
  font-size: 13px;
  font-weight: 400;
  color: var(--brand-sub);
  line-height: 1.2;
  padding-bottom: 1px;
  white-space: nowrap;
}
.nav-brand .brand-sub {
  font-size: 12.5px;            /* 12–13px */
  font-weight: 400;
  color: var(--brand-sub);
  line-height: 1.3;
  text-align: left;
  white-space: nowrap;
}
/* 网站名「长版 / 移动端短版」二选一（短版默认隐藏，≤560px 反转） */
.nav-brand .bm-short { display: none; }
.nav-brand .bs-short { display: none; }
.nav-links { display: flex; align-items: center; gap: 4px; }
.nav-links a {
  font-size: 14.5px;
  color: var(--text-body);
  padding: 8px 12px;
  border-radius: var(--radius-sm);
  white-space: nowrap;
}
.nav-links a:hover { background: var(--red-soft); color: var(--red-deep); }
.nav-links a.active { color: var(--red-azalea); font-weight: 500; }
.nav-links .nav-tel {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 14px; font-weight: 500;
  color: #fff;
  background: #FF6B00;
  padding: 8px 16px;
  border-radius: 8px;
  white-space: nowrap;
}
.nav-links .nav-tel:hover { background: #E85D00; color: #fff; }
/* 导航右侧电话：号码 + 24 小时在线标注（两行式） */
.nav-links .nav-tel {
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px 16px;
  line-height: 1.25;
}
.nav-links .nav-tel .tel-note {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .02em;
  color: #FFFFFF;
}
.nav-links .nav-tel .tel-line {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 15px;
  font-weight: 700;
  color: #FFFFFF;
  letter-spacing: .02em;
}
.nav-links .nav-tel .tel-line .tel-text { color: #FFFFFF; }

.nav-toggle {
  display: none;
  width: 40px; height: 40px;
  border: 1px solid var(--line);
  background: var(--card-white);
  border-radius: var(--radius-sm);
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  flex: none;
}
.nav-toggle span { display: block; width: 17px; height: 1.6px; background: var(--text-body); transition: .25s; }

/* ---------- 5. 标题组件 ---------- */
/* ===== 板块标题统一规范（2026-10-01 17:20 用户强制指定 · 四段式 · 写死） =====
   结构：英文小字 → 中文大标题 → 红色装饰线 → 副标题。四段各自独立成行、一路居中。
   例外：`.section-head.left` 保留左对齐（contact / kenting 两处布局需要），
   字号、颜色、间距规范与居中版完全一致。 */
/* 标题组到内容的间距同步压缩（44 -> 32），板块内部不再空一屏 */
.section-head { text-align: center; margin-bottom: 32px; }
.section-head.left { text-align: left; margin-bottom: 24px; }

/* 第一段：英文小字（12px / 全大写 / #C8102E / 居中 / 下间距 8px） */
.section-eyebrow {
  display: block;
  font-size: 12px;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: #C8102E;
  font-weight: 500;
  margin-bottom: 8px;
}

/* 第二段：中文大标题（24px / 700 / #222222 / 居中 / 下间距 12px） */
.section-title {
  display: block;
  font-size: 24px;
  font-weight: 700;
  color: #222222;
  margin-bottom: 12px;
  position: relative;
}

/* 第三段：红色装饰线（80×2 / #C8102E / 居中 / 上下各 16px）
   ::after 在标题块内部：标题文字 → 16px → 红线。
   标题自身 margin-bottom 12px 与 .section-desc 的 margin-top 16px 相邻折叠取大值 16px，
   因此「红线上下各 16px」成立（不会叠加成 28px）。 */
.section-title::after {
  content: '';
  display: block;
  width: 80px; height: 2px;
  background: #C8102E;
  margin: 16px auto 0;
}
.section-head.left .section-title::after { margin-left: 0; }

/* 第四段：副标题（14px / #666666 / 居中 / 行高 1.6） */
.section-desc {
  font-size: 14px;
  color: #666666;
  max-width: 760px;
  margin: 16px auto 0;
  line-height: 1.6;
}
.section-head.left .section-desc { margin-left: 0; }

/* ---------- 6. 按钮 ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 14px 30px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .03em;
  cursor: pointer;
  /* 不用 transition:all —— all 会把继承来的 visibility 也做成过渡，
     父层显隐切换时按钮会被卡在半透明/隐藏状态 */
  transition: background .26s cubic-bezier(.22,.61,.36,1), color .26s cubic-bezier(.22,.61,.36,1),
              border-color .26s cubic-bezier(.22,.61,.36,1), box-shadow .26s cubic-bezier(.22,.61,.36,1),
              transform .26s cubic-bezier(.22,.61,.36,1);
  white-space: nowrap;
  line-height: 1;
  font-family: inherit; /* <button class="btn"> 不继承字体，中文会掉出微软雅黑 */
}
.btn-primary { background: var(--red-azalea); color: #fff; box-shadow: 0 4px 16px rgba(168,69,60,.22); }
.btn-primary:hover { background: var(--red-deep); color: #fff; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(168,69,60,.3); }

.btn-action {
  background: linear-gradient(135deg, var(--brand-orange-1), var(--brand-orange-2));
  color: #fff;
  box-shadow: 0 6px 20px rgba(255,107,0,.32);
  font-weight: 600;
}
.btn-action:hover {
  background: linear-gradient(135deg, #e66000, #e68100); /* 加深 10% */
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(230,102,0,.42);
}

/* 首屏主按钮：20px 加粗 / 高 60px（2026-10-01 规格） */
.btn-hero { font-size: 20px; font-weight: 700; height: 60px; padding: 0 30px; }

.btn-ghost { background: transparent; color: var(--red-azalea); border-color: var(--red-azalea); }
.btn-ghost:hover { background: var(--red-soft); color: var(--red-deep); transform: translateY(-2px); }

.btn-block { width: 100%; }

/* ---------- 7. 首屏 ---------- */
.hero {
  position: relative;
  min-height: 82vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
}
.hero-bg {
  position: absolute; inset: 0;
  z-index: -2;
  background: #1a1411;
}
/* 底图焦点：依 2026-10-02 指令「推近 + 锚定左下」——让故居建筑主体放大并落在画面中右，避开左侧文字列
   （2026-10-01 的 right bottom 已作废；手机端在 ≤880px 处整体覆盖为 object-position:30% 50%，不受此规则影响） */
.hero-bg img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: left bottom;
  transform: scale(1.3);
  transform-origin: 0% 100%;
  /* z22（用户指令 2026-10-04）：遮罩调薄后若仍嫌暗，给底图加一点亮度提升
     （指令区间 110%–120%）。只提亮不降饱和，故居青瓦土墙的暖调保持一致。
     z23（用户指令 2026-10-04）：实测源图 guju-hero.jpg 平均亮度仅 93.3/255
     （P10=25 / P50=87 / P90=173，32.5% 像素 <60）→ 属「底图本身偏暗」，
     故在 110%–120% 区间内上提到 1.18，进一步提亮故居白墙黑瓦轮廓；
     文字对比度复测仍 ≥4.5:1（见验收图 z23）。 */
  filter: brightness(1.18);
}
/* 遮罩（z17 用户指令）：改「暖调深色」#2C1A12，左侧不透明度降到 40%–50%，
   与右侧故居实景的暖光调统一，消除原来偏黑偏冷的割裂感；
   白字可读性改由「主标题加粗 + 加深文字阴影 + 文字区玻璃底」共同保证（对比度 ≥4.5:1）。 */
.hero-veil {
  position: absolute; inset: 0;
  z-index: -1;
  /* z19（用户指令）：原 0% 处 50% 且衰减很慢，暗区从文字区一直铺到左侧大片区域，
     故居实景被压得看不清。现改为「很轻的整体暖调底」并快速衰减。
     z22（用户指令 2026-10-04）：峰值再由 18% 降到 **15%**（指令区间 15%–20% 的下限），
     保证故居白墙黑瓦的建筑轮廓清晰可见；文字可读性由紧贴文字的 .hero-copy 薄 scrim
     ＋ 主标题文字阴影共同保证。 */
  background:
    linear-gradient(to right,
      rgba(44,26,18,.15) 0%,
      rgba(44,26,18,.14) 30%,
      rgba(44,26,18,.08) 55%,
      rgba(44,26,18,.02) 80%,
      rgba(44,26,18,0) 100%),
    linear-gradient(180deg, rgba(44,26,18,.10) 0%, rgba(44,26,18,0) 26%, rgba(44,26,18,0) 72%, rgba(44,26,18,.10) 100%);
}
/* 图片右下角实景标注：纯 HTML 文本（供 AI 直接抓取）；叠一层极轻的胶囊底，保证在变亮的实景上依然清晰 */
.hero-credit {
  position: absolute;
  right: 22px;
  bottom: 16px;
  z-index: 2;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255,255,255,.88);
  letter-spacing: .04em;
  padding: 5px 13px;
  border-radius: 999px;
  background: rgba(12,9,7,.42);
  border: 1px solid rgba(255,255,255,.14);
  text-shadow: 0 1px 6px rgba(0,0,0,.8);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  pointer-events: none;
}
.hero-inner {
  width: 100%;
  padding: 64px 0 56px;
  color: #fff;
}
/* 左右两栏：左侧主视觉文字 / 右侧悬浮信任卡片 */
/* z24：两栏骨架 ——【左栏 minmax(0,1fr)】｜【中间故居可视带 = column-gap var(--split-gap)】｜【右栏 var(--aside-w)】。
   ⚠️ 中间空档必须用 column-gap 表达，不能写成第三个「空列」——
   .hero-layout 里只有 .hero-copy 与 .trust-card 两个子元素，
   写成三列时卡片会被自动排进中间那列（实测卡片右缘落到 920、右栏空置），是个真踩过的坑。
   column-gap 宽度＝屏宽 15%–20%，左右两栏因此被分别顶到各自边缘、中间让出故居实景；
   顶部导航共用同一个 .container，所以上下的左右基线完全一致，不会错位。 */
.hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--aside-w);
  gap: 0 var(--split-gap);
  align-items: center;
}
.hero-copy {
  min-width: 0;
  position: relative;
  justify-self: start;          /* z24：左栏整体贴左缘（与顶部 Logo 同一条左基线）*/
  /* z19（用户指令）：文字区遮罩降到 35%–40% 暖调（峰值 .40），
     只贴在文字块背后、右缘快速淡出，绝不铺到左侧大片区域；
     整体 .hero-veil 已同步调薄至 18%，两层叠加后文字区约五成，
     配合主标题文字阴影，白字仍清晰可读（实测见验收）。
     z24（用户指令 2026-10-04）：左栏由 724px 收窄到 ≈550px 后，原来「很早就淡到 0」
     的渐变被一起压缩 —— 文字右端（身份说明行、按钮行）落到近乎无遮罩的亮底上，
     实测白字最坏对比度由 5.15:1 掉到 2.93:1。故改成「中段长保持、末段才收干」：
     .40 保持到 50%、.34 到 84%，最后 16% 才收干 —— 文字区（占遮罩 5%–93%）全程有底，
     遮罩右缘仍是柔和过渡；且遮罩只覆盖左栏，中间「故居可视带」完全不受影响。 */
  padding: 28px 38px 28px 28px;
  border-radius: 22px;
  background: linear-gradient(100deg,
      rgba(44,26,18,.44) 0%,
      rgba(44,26,18,.42) 58%,
      rgba(44,26,18,.38) 88%,
      rgba(44,26,18,.22) 96%,
      rgba(44,26,18,0) 100%);
  /* z24：模糊由 3px 提到 7px —— 文字区最坏像素来自底图上接近过曝的亮点
     （brightness 1.18 后 ≈239/255），模糊把它与周边平均掉，最坏对比度因此抬到 5:1 以上；
     顺带强化「毛玻璃」质感，与中间那条未模糊的故居可视带形成有意为之的虚实对比。 */
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
.hero-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  letter-spacing: .22em;
  color: rgba(255,255,255,.82);
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.24);
  padding: 6px 14px;
  border-radius: 999px;
  margin-bottom: 18px;
  backdrop-filter: blur(6px);
}
.hero-title {
  font-family: var(--font-heading);
  font-size: 52px;
  font-weight: 800;
  line-height: 1.3;
  color: #ffffff;
  margin-bottom: 15px;
  /* z19（用户指令）：主标题加 0 2px 8px rgba(0,0,0,.6) 文字阴影，
     在调薄后的遮罩上仍保证白字清晰可读；另叠一层近距阴影强化字缘。 */
  text-shadow: 0 2px 8px rgba(0,0,0,.6), 0 1px 2px rgba(0,0,0,.88), 0 3px 26px rgba(0,0,0,.5);
  letter-spacing: .015em;
  /* z24：左栏变窄后主标题会在「，」处折成两行 —— 交给浏览器做均衡断行，
     避免出现「车要进韶山，先办通 / 行证」这种断在半截的难看折行。 */
  text-wrap: balance;
}
.hero-sub {
  font-size: 18px;
  font-weight: 400;
  color: #f2f2f2;
  letter-spacing: .04em;
  margin-bottom: 28px;
  text-shadow: 0 1px 2px rgba(0,0,0,.78), 0 2px 14px rgba(0,0,0,.62);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
}
.hero-sub .dot { width: 3px; height: 3px; border-radius: 50%; background: rgba(255,255,255,.55); }
/* 首屏身份说明小字（z17 用户指令）：主标题下方，交代「平台—运营方—实体」三角色层级，
   纯 HTML 文本，供 AI 直接抓取 */
.hero-identity {
  font-size: 13.5px;
  line-height: 1.75;
  color: #ffffff;
  letter-spacing: .02em;
  margin: 0 0 16px;
  text-shadow: 0 1px 2px rgba(0,0,0,.82), 0 2px 14px rgba(0,0,0,.7);
}
.hero-identity .hi-sep { opacity: .5; margin: 0 6px; }

.hero-cta { max-width: 520px; }

.wechat-box {
  display: flex;
  align-items: stretch;
  gap: 8px;
  background: rgba(255,255,255,.13);
  border: 1px solid rgba(255,255,255,.26);
  border-radius: var(--radius);
  padding: 9px 9px 9px 16px;
  margin-top: 12px;
  backdrop-filter: blur(8px);
}
.wechat-box .wx-id {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}
.wechat-box .wx-label { font-size: 11.5px; color: rgba(255,255,255,.66); letter-spacing: .1em; line-height: 1.5; }
.wechat-box .wx-value {
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  letter-spacing: .04em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.copy-btn {
  flex: none;
  padding: 0 17px;
  border: none;
  border-radius: 8px;
  background: rgba(255,255,255,.92);
  color: var(--red-deep);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: .22s;
  letter-spacing: .03em;
}
.copy-btn:hover { background: #fff; }
.copy-btn.copied { background: var(--bamboo-green); color: #fff; }

/* 主按钮正下方提示（2026-10-01 规格：12px / #E0E0E0 / 居中 / 与按钮间距 10px） */
.hero-btn-note {
  margin-top: 10px;
  font-size: 12px;
  font-weight: 400;
  color: #e0e0e0;
  text-align: center;
  line-height: 1.7;
  letter-spacing: .03em;
  text-shadow: 0 1px 8px rgba(0,0,0,.45);
}

.hero-tel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  margin-top: 12px;
  padding: 15px 20px;
  border-radius: var(--radius);
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.2);
  color: #fff;
  backdrop-filter: blur(8px);
  transition: .22s;
}
.hero-tel:hover { background: rgba(255,255,255,.14); }
/* 上行：大字
   下行：可点击拨打的号码 */
.hero-tel .tel-label {
  font-size: 17px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: .04em;
  line-height: 1.35;
  text-shadow: 0 1px 12px rgba(0,0,0,.5);
}
.hero-tel .tel-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  color: #fff;
}
.hero-tel .tel-num { font-size: 21px; font-weight: 700; letter-spacing: .06em; }
.hero-tel .tel-act {
  flex: none;
  font-size: 14px;
  font-weight: 600;
  padding: 6px 15px;
  border-radius: 8px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.26);
  white-space: nowrap;
  transition: .22s;
}
.hero-tel .tel-link:hover .tel-act {
  background: var(--action-orange);
  border-color: var(--action-orange);
  color: #fff;
}

.hero-more {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 20px;
  font-size: 14.5px;
  color: rgba(255,255,255,.9);
  border-bottom: 1px solid rgba(255,255,255,.4);
  padding-bottom: 3px;
  transition: .24s;
}
.hero-more:hover { color: #fff; border-color: #fff; }

.hero-note {
  margin-top: 14px;
  font-size: 12.5px;
  color: rgba(255,255,255,.62);
  letter-spacing: .03em;
}

/* 右侧悬浮信任卡片：半透明深色毛玻璃（2026-10-02 随遮罩变亮加深至 .72，保证卡内黄字仍清晰） */
.trust-card {
  width: var(--aside-w);        /* z24：与栅格第三列共用变量，永远同宽 */
  justify-self: end;            /* z24：右栏整体贴右缘（与顶部客服电话同一条右基线）*/
  padding: 24px;
  border-radius: 12px;
  background: rgba(0,0,0,.72);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
  box-shadow: 0 18px 50px rgba(0,0,0,.42);
}
.trust-card h3 {
  font-size: 20px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.38;
  padding-bottom: 13px;
  margin-bottom: 13px;
  border-bottom: 1px solid rgba(255,255,255,.2);
}
/* 卡片标题内的「韶山会客厅」外链：不破坏厚重感，用细下划线提示可点 */
.trust-card h3 .trust-link {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.38);
  transition: color .2s, border-color .2s;
}
.trust-card h3 .trust-link:hover {
  color: var(--trust-gold);
  border-bottom-color: rgba(255,215,0,.55);
}

/* 【关键】首页信任卡的条目列表必须用块级流：
   section 15 里另有一处 `.trust-list{display:grid;gap:16px}`（那是配 .trust-item 的另一套组件），
   类名撞车后，这里的 li 间距会与 16px 的 grid gap 叠加 → 实际间距 = 设定值 + 16px。
   这就是「改了间距却看不出变化」的真因，用更高优先级的后代选择器彻底隔离。 */
.trust-card .trust-list { display: block; gap: 0; }
.trust-list li { margin-bottom: 12px; }
.trust-list li:last-child { margin-bottom: 0; }
.trust-list .ti-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--trust-gold);
  line-height: 1.32;
}
.trust-list .ti-desc {
  font-size: 14px;
  font-weight: 400;
  color: var(--trust-sub);
  line-height: 1.5;
  margin-top: 3px;
}
.trust-list .ti-ico { font-style: normal; margin-right: 6px; }
/* 卡片底部：企业关系两行（韶公社 / 韶山会客厅） */
.trust-org {
  margin-top: 13px;
  padding-top: 11px;
  border-top: 1px solid rgba(255,255,255,.16);
}
.trust-org p {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: .02em;
}
.trust-org .to-brand { color: var(--trust-sub); }
.trust-org .to-run { color: var(--trust-sub); margin-top: 4px; }
.trust-org .to-salon { color: var(--trust-gold); font-weight: 500; margin-top: 4px; }
/* 卡片底部：营业时间（与四大优势之间加浅分割线） */
.trust-card .trust-hours {
  margin-top: 13px;
  padding-top: 11px;
  border-top: 1px solid rgba(255,255,255,.16);
  font-size: 14px;
  font-weight: 400;
  color: var(--trust-sub);
  line-height: 1.6;
  letter-spacing: .02em;
}

/* ---------- 8. 定义句（AI 抓取锚点） ---------- */
.definition {
  background: var(--warm-white);
  border-bottom: 1px solid var(--line-soft);
  padding: 40px 0;
}
.definition-inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 26px 32px 30px;
  border-left: 4px solid var(--action-orange);
  background: linear-gradient(100deg, var(--orange-soft), rgba(253,241,231,.25));
  border-radius: 0 var(--radius) var(--radius) 0;
  box-shadow: var(--shadow-sm);
}
.definition p {
  font-size: 15.5px;
  line-height: 2.05;
  color: var(--text-body);
  letter-spacing: .012em;
}
.definition .def-tag {
  display: block;
  font-size: 12px;
  letter-spacing: .2em;
  color: var(--tea-gold);
  margin-bottom: 10px;
  text-transform: uppercase;
}
/* 首页「办证指南」：小标题 + 加粗关键词，避免密麻麻一整段的"法律文书感" */
.definition .def-kicker {
  font-size: 12px;
  letter-spacing: .2em;
  color: var(--tea-gold);
  margin: 0 0 8px;
  text-transform: uppercase;
  line-height: 1.6;
}
.definition .def-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--china-red);
  line-height: 1.4;
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(200,16,46,.14);
}
.definition .def-text { margin: 0; }
/* 首页「办理说明与指南」：4 条要点（纯文本 + CSS 圆点，文字全部在 HTML 里） */
.definition .def-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.definition .def-list li {
  position: relative;
  padding-left: 15px;
  font-size: 14px;
  line-height: 1.8;
  color: #555555;
  margin-bottom: 6px;
}
.definition .def-list li:last-child { margin-bottom: 0; }
.definition .def-list li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: .74em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--action-orange);
}
/* 结尾两行：咨询电话（24 小时在线）/ 会客厅营业时间，分开写避免误读 */
.definition .def-contact,
.definition .def-hours {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.8;
  color: #555555;
}
.definition .def-contact { margin-top: 12px; }
/* 关键词高亮：加粗 + 极淡橙色底纹（像荧光笔，但克制） */
.definition .def-text strong {
  font-weight: 700;
  color: var(--text-warm);
  background: linear-gradient(transparent 64%, rgba(255,143,0,.22) 0);
  padding: 0 1px;
}

/* ---------- 9. 横向滑动 ---------- */
.hscroll-wrap { position: relative; }
.hscroll {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 6px 20px 20px;
  margin: 0 -20px;
  scrollbar-width: thin;
}
.hscroll::-webkit-scrollbar { height: 6px; }
.hscroll::-webkit-scrollbar-track { background: var(--line-soft); border-radius: 3px; }
.hscroll::-webkit-scrollbar-thumb { background: var(--line); border-radius: 3px; }
.hscroll > * { scroll-snap-align: start; flex: 0 0 auto; }
.hscroll-hint {
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-body);
  letter-spacing: .02em;
  margin-top: 12px;
}

/* ---------- 10. 流程步骤卡（2026-10-01 17:20：改为一排五张，消灭横向滚动条） ---------- */
.steps { display: flex; justify-content: space-between; gap: 10px; }
.step-card {
  flex: 1 1 0;
  min-width: 0;
  background: var(--card-white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 12px;
  box-shadow: var(--shadow-sm);
  position: relative;
}
/* 步数：红色实心圆 */
.step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: #C8102E;
  color: #fff;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 8px;
}
.step-card h3 { font-size: 14px; margin-bottom: 6px; line-height: 1.5; color: #222222; }
.step-card p { font-size: 12px; color: var(--text-soft); line-height: 1.5; }
.step-arrow {
  align-self: center;
  flex: none;
  color: var(--line);
  font-size: 18px;
}

/* 步骤卡响应式：≤980px 两列 / ≤560px 单列（桌面一排五张） */
@media (max-width: 980px) {
  .steps { flex-wrap: wrap; }
  .step-card { flex: 1 1 calc(50% - 5px); }
}

/* ---------- 11. 卡片网格 ---------- */
.card-grid { display: grid; gap: 20px; }
.card-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.card-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.card-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }

.play-card {
  width: 320px;
  background: var(--card-white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: .3s cubic-bezier(.22,.61,.36,1);
  display: flex;
  flex-direction: column;
}
.play-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.play-card .pc-media { aspect-ratio: 16/10; overflow: hidden; background: var(--line-soft); }
.play-card .pc-media img { width: 100%; height: 100%; object-fit: cover; }
.play-card .pc-body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.play-card .pc-tag {
  display: inline-block;
  font-size: 11.5px;
  letter-spacing: .12em;
  color: var(--tea-gold);
  margin-bottom: 8px;
}
.play-card h3 { font-size: 18px; margin-bottom: 9px; line-height: 1.5; }
.play-card p { font-size: 14px; color: var(--text-soft); line-height: 1.85; flex: 1; }
.play-card .pc-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 15px;
  font-size: 14px;
  font-weight: 500;
  color: var(--red-azalea);
}
.play-card .pc-link:hover { gap: 10px; }

/* ---------- 12. 报道卡片 ---------- */
.report-card {
  background: var(--card-white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
}
.report-card .rc-media { aspect-ratio: 16/9; overflow: hidden; background: var(--line-soft); }
.report-card .rc-media img { width: 100%; height: 100%; object-fit: cover; }
.report-card .rc-body { padding: 22px; flex: 1; display: flex; flex-direction: column; }
.report-card blockquote {
  font-family: var(--font-heading);
  font-size: 16.5px;
  line-height: 1.85;
  color: var(--text-warm);
  flex: 1;
  margin-bottom: 16px;
  position: relative;
  padding-left: 20px;
}
.report-card blockquote::before {
  content: '“';
  position: absolute;
  left: 0; top: -6px;
  font-size: 34px;
  color: var(--red-azalea);
  opacity: .3;
  font-family: var(--font-heading);
}
.report-card .rc-meta {
  font-size: 13.5px;
  color: var(--text-faint);
  letter-spacing: .04em;
  border-top: 1px solid var(--line-soft);
  padding-top: 13px;
}
.report-card .rc-meta strong { color: var(--text-body); font-weight: 500; }
/* 「我们报到了」横向滑动卡片：固定卡宽 + 共创卡片变体 */
.hscroll .report-card { width: 380px; }
.report-card .rc-tag {
  display: inline-block;
  font-size: 12px;
  letter-spacing: .16em;
  color: var(--tea-gold);
  margin-bottom: 8px;
}
.report-card.rc-join h3 { font-size: 19px; line-height: 1.5; margin-bottom: 10px; }
.report-card.rc-join p { font-size: 14px; color: var(--text-soft); line-height: 1.9; flex: 1; }
.report-card.rc-join .btn { margin-top: 18px; align-self: flex-start; font-size: 14.5px; padding: 13px 20px; }
/* 「我们报到了」标题组留白：装饰线上下各 15px、线宽 80px 居中 */
/* 2026-10-01 16:45：#reported 标题区间距已并入全局（.section-title / ::after / .section-desc），此处不再单独覆盖 */

/* 「我们报到了」卡片可点击：整卡是弹窗触发区 */
.hscroll .report-card {
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
}
.hscroll .report-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.report-card:focus-visible { outline: 2px solid var(--red-azalea); outline-offset: 3px; }

/* 场景标签（GEO：给 AI 抓取场景语义） */
.report-card .rc-tags {
  font-size: 12px;
  line-height: 1.6;
  color: #999999;
  letter-spacing: .02em;
  margin: -6px 0 12px;
}

/* 「我们报到了」底部入口：与上方卡片间距压缩到 16px（用户 18:30 指令） */
.reported-cta { margin-top: 16px; text-align: center; }
.reported-cta .btn { font-size: 15.5px; }

/* ---------- 轻提示（栏目筹备中 / 复制成功等） ---------- */
.toast {
  position: fixed;
  left: 50%;
  bottom: 92px;
  z-index: 90;
  max-width: 84vw;
  padding: 13px 22px;
  border-radius: 10px;
  background: rgba(26, 26, 26, .93);
  color: #fff;
  font-size: 14.5px;
  line-height: 1.6;
  letter-spacing: .02em;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .28);
  opacity: 0;
  transform: translate(-50%, 14px);
  pointer-events: none;
  transition: opacity .26s ease, transform .26s ease;
}
.toast.show { opacity: 1; transform: translate(-50%, 0); }

/* ---------- 「我们报到了」故事弹窗 ---------- */
.modal-mask {
  position: fixed;
  inset: 0;
  z-index: 130;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(38, 30, 26, .55);
  opacity: 0;
  visibility: hidden;
  /* visibility 不做渐变：显示时立即切换、隐藏时延迟到淡出结束（避免子元素被卡在 hidden） */
  transition: opacity .2s ease, visibility 0s linear .2s;
}
.modal-mask.show {
  opacity: 1;
  visibility: visible;
  transition: opacity .2s ease, visibility 0s linear 0s;
}
.modal-box {
  position: relative;
  width: 100%;
  max-width: 460px;
  max-height: 86vh;
  overflow-y: auto;
  background: var(--card-white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  padding: 32px 28px 26px;
  text-align: center;
  transform: translateY(14px) scale(.985);
  transition: transform .22s ease;
}
.modal-mask.show .modal-box { transform: none; }
.modal-close {
  position: absolute;
  top: 10px; right: 10px;
  width: 34px; height: 34px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--text-faint);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.modal-close:hover { background: var(--line-soft); color: var(--text-body); }
.modal-title {
  font-size: 19px;
  line-height: 1.55;
  color: var(--china-red);
  padding: 0 22px;
  margin-bottom: 14px;
}
.modal-text {
  font-size: 14.5px;
  line-height: 1.9;
  color: var(--text-soft);
  text-align: left;
  margin-bottom: 20px;
}
.modal-qr { margin-bottom: 20px; }
.modal-qr img {
  width: 168px; height: 168px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--line-soft);
}
.modal-qr-note { font-size: 12.5px; color: var(--text-faint); margin-top: 8px; }
.modal-cta { width: 100%; font-size: 15.5px; }
body.modal-open { overflow: hidden; }

/* ---------- 「扫码关注我们」聚合二维码弹窗（全站页脚共用）---------- */
.modal-box-wide { max-width: 620px; }
.follow-sub {
  font-size: 13.5px;
  color: var(--text-faint);
  margin: -6px 0 18px;
}
.follow-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px 16px;
  margin-bottom: 18px;
}
.follow-cell { text-align: center; }
.follow-cell img {
  width: 100%;
  max-width: 150px;
  aspect-ratio: 1 / 1;
  height: auto;
  margin: 0 auto;
  display: block;
  background: #FFFFFF;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.follow-name {
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.5;
  color: #333333;
  font-weight: 700;
}
.follow-name span {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: #999999;
  margin-top: 2px;
}
.follow-note {
  font-size: 12.5px;
  line-height: 1.8;
  color: var(--text-faint);
  text-align: center;
  margin: 0;
}

@media (max-width: 560px) {
  .modal-mask { padding: 14px; }
  .modal-box { padding: 26px 20px 22px; }
  .modal-title { font-size: 17.5px; padding: 0 14px; }
  .modal-text { font-size: 14px; }
  .modal-qr img { width: 150px; height: 150px; }
  .follow-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
  .follow-cell img { max-width: 132px; }
  .follow-note { font-size: 13px; }
}

/* ---------- 13. 费用表格 ---------- */
.table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--card-white);
  box-shadow: var(--shadow-sm);
}
table.fee-table { width: 100%; border-collapse: collapse; min-width: 520px; }
table.fee-table caption {
  caption-side: top;
  text-align: left;
  padding: 18px 20px 14px;
  font-family: var(--font-heading);
  font-size: 17px;
  color: var(--text-warm);
  font-weight: 600;
  border-bottom: 1px solid var(--line-soft);
  background: var(--gold-soft);
}
table.fee-table th, table.fee-table td {
  padding: 15px 20px;
  text-align: left;
  font-size: 14.5px;
  border-bottom: 1px solid var(--line-soft);
  vertical-align: top;
}
table.fee-table th {
  background: var(--gold-soft);
  color: var(--text-warm);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: .04em;
}
table.fee-table tbody tr:last-child td { border-bottom: none; }
table.fee-table tbody tr:hover { background: rgba(248,242,230,.5); }
table.fee-table .amount { font-weight: 600; color: var(--red-azalea); white-space: nowrap; }
table.fee-table .amount.free { color: var(--bamboo-green); }

/* ---------- 14. FAQ ---------- */
.faq-list { max-width: 880px; margin: 0 auto; }
.faq-item {
  background: var(--card-white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 24px 26px;
  margin-bottom: 14px;
  box-shadow: var(--shadow-sm);
}
.faq-item h3 {
  font-size: 17px;
  margin-bottom: 12px;
  line-height: 1.6;
  color: var(--text-warm);
  display: flex;
  gap: 10px;
}
.q-badge {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px; height: 22px;
  border-radius: 6px;
  background: var(--red-soft);
  color: var(--red-azalea);
  font-size: 12px;
  font-weight: 700;
  font-family: var(--font-body);
  margin-top: 3px;
}
/* 编号徽标（A1 / C10 这类两三个字符） */
.q-badge--wide { width: auto; min-width: 30px; padding: 0 7px; font-size: 11.5px; letter-spacing: .02em; }
.faq-item p { font-size: 15px; line-height: 1.95; color: var(--text-body); }
.faq-item p + p { margin-top: 10px; }
/* z23（用户指令 2026-10-04）：预约页 FAQ 答案里的「品牌名 + 核心动作」加粗。
   与深度页 .faq-row strong 同一套约定 —— 颜色取 --text-warm（比正文 --text-body 更深）
   ＋ 700 字重，做出「加黑」的视觉层次。原则：只加品牌名与核心动作，不满篇加粗。 */
.faq-item p strong { color: var(--text-warm); font-weight: 700; }

/* ---------- 14b. 首页 FAQ（折叠面板 · 2026-10-01 改版） ---------- */
.faq-acc-list { display: block; }
.faq-stack {
  background: var(--card-white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.faq-row { padding: 24px 26px; border-top: 1px solid var(--line-soft); scroll-margin-top: calc(var(--nav-height) + 16px); }
.faq-row:first-child { border-top: 0; }
.faq-row h3 {
  font-size: 17px;
  margin-bottom: 12px;
  line-height: 1.6;
  color: var(--text-warm);
  display: flex;
  gap: 10px;
}
.faq-row p { font-size: 15px; line-height: 1.95; color: var(--text-body); }
.faq-row p + p { margin-top: 10px; }
.faq-row strong { color: var(--text-warm); font-weight: 700; }
.faq-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 14px;
  padding: 11px 22px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--brand-orange-1), var(--brand-orange-2));
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .02em;
  box-shadow: 0 6px 18px rgba(255,107,0,.28);
  transition: .22s;
}
.faq-cta:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 10px 26px rgba(255,107,0,.38); }
.faq-link { color: var(--red-azalea); border-bottom: 1px solid rgba(168,69,60,.42); }
.faq-link:hover { color: var(--red-deep); border-color: var(--red-deep); }

/* ---------- 14c. FAQ 折叠组件（/faq 页） ---------- */
.faq-group { margin-bottom: 28px; }
.faq-group-head {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 16px;
  padding-bottom: 11px;
  border-bottom: 2px solid var(--line);
}
.faq-group-head .fg-letter {
  flex: none;
  width: 30px; height: 30px;
  border-radius: 8px;
  background: linear-gradient(140deg, var(--red-azalea), var(--red-deep));
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 15px; font-weight: 700;
}
.faq-group-head h2 { font-size: 20px; color: var(--text-warm); margin: 0; line-height: 1.4; }
.faq-group-head .fg-count { margin-left: auto; font-size: 12.5px; color: var(--text-faint); letter-spacing: .06em; }

.faq-acc {
  background: var(--card-white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin-bottom: 12px;
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  scroll-margin-top: calc(var(--nav-height) + 16px);
}
.faq-acc > summary {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 18px 22px;
  cursor: pointer;
  list-style: none;
  font-size: 16.5px;
  font-weight: 600;
  color: var(--text-warm);
  line-height: 1.6;
  transition: background .2s;
}
.faq-acc > summary::-webkit-details-marker { display: none; }
.faq-acc > summary::marker { content: ''; }
.faq-acc > summary:hover { background: var(--warm-white); }
.faq-acc .q-text { min-width: 0; }
.faq-acc .acc-icon {
  flex: none;
  position: relative;
  width: 16px; height: 16px;
  margin-left: auto;
  margin-top: 5px;
}
.faq-acc .acc-icon::before,
.faq-acc .acc-icon::after {
  content: '';
  position: absolute;
  background: var(--red-azalea);
  border-radius: 2px;
  transition: transform .24s ease, opacity .24s ease;
}
.faq-acc .acc-icon::before { left: 0; top: 7px; width: 16px; height: 2px; }
.faq-acc .acc-icon::after { left: 7px; top: 0; width: 2px; height: 16px; }
.faq-acc[open] .acc-icon::after { transform: scaleY(0); opacity: 0; }
.faq-acc[open] > summary { background: var(--warm-white); border-bottom: 1px solid var(--line-soft); }
.faq-body { padding: 16px 22px 20px; }
.faq-body p { font-size: 15px; line-height: 1.95; color: var(--text-body); }
.faq-body p + p { margin-top: 10px; }
.faq-body strong { color: var(--text-warm); font-weight: 700; }
.faq-body ul { margin: 10px 0 0; padding-left: 20px; }
.faq-body li { font-size: 15px; line-height: 1.95; color: var(--text-body); }
.faq-crosslink { margin-top: 16px; }
/* 区块锚点：跳转时给吸顶导航留出位置 */
section[id], header[id], article[id] { scroll-margin-top: calc(var(--nav-height) + 14px); }

/* ---------- 15. 信任证据 ---------- */
.trust-list { display: grid; gap: 16px; }
.trust-item {
  display: flex;
  gap: 16px;
  background: var(--card-white);
  border: 1px solid var(--line);
  border-left: 3px solid var(--tea-gold);
  border-radius: var(--radius);
  padding: 22px 24px;
  box-shadow: var(--shadow-sm);
}
.trust-item .ti-icon {
  flex: none;
  width: 42px; height: 42px;
  border-radius: 11px;
  background: var(--gold-soft);
  display: flex; align-items: center; justify-content: center;
  font-size: 19px;
}
.trust-item h3 { font-size: 16.5px; margin-bottom: 7px; }
.trust-item p { font-size: 14.5px; color: var(--text-soft); line-height: 1.85; }

/* ---------- 16. 实拍图库 ---------- */
.shot-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.shot {
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--line-soft);
  position: relative;
}
.shot img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.shot .shot-cap {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 20px 14px 10px;
  font-size: 13px;
  color: #fff;
  background: linear-gradient(180deg, transparent, rgba(38,26,22,.78));
  letter-spacing: .04em;
}

/* ---------- 17. 底部四层 ---------- */
/* ==========================================================================
   页脚（全局共用组件 · 6 页 100% 一致）
   2026-10-01 21:30 重构：四列 + 二维码矩阵 + 版权；2026-10-02 z12：列收敛为两列、自媒体矩阵去括号统一配色、友情链接整块下架
   规范（用户指定，不得擅自修改）：
     背景 #2A2A2A ｜ 内容 max-width:1200px 居中 ｜ padding:60px 20px 100px 20px
     无衬线字体 ｜ 列间 padding-right:40px
     列标题 16px/#FFFFFF/700/margin-bottom:12px
     正文链接 14px/#CCCCCC/line-height:1.8/悬停 #C8102E
   ========================================================================== */
.site-foot {
  background: #2A2A2A;
  color: #CCCCCC;
  font-family: "Microsoft YaHei", sans-serif;
}
.foot-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 20px 100px 20px;
}

/* ---------- 页脚两列（联系我们 ｜ 官方自媒体矩阵）· 2026-10-02 z11 精简 ---------- */
.foot-cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 64px;
  align-items: start;
  max-width: 860px;
  margin: 0 auto;
}
.foot-col { padding-right: 0; }
.foot-col-title {
  font-size: 16px;
  color: #FFFFFF;
  font-weight: 700;
  margin-bottom: 12px;
  line-height: 1.6;
}
.foot-links,
.foot-info {
  list-style: none;
  margin: 0;
  padding: 0;
}
.foot-links li,
.foot-info li {
  font-size: 14px;
  color: #CCCCCC;
  line-height: 1.8;
}
.foot-links a,
.foot-info a {
  font-size: 14px;
  color: #CCCCCC;
  transition: color .2s;
}
.foot-links a:hover,
.foot-info a:hover { color: #C8102E; }

/* ---------- 官方自媒体矩阵（纯文字列表；所有账号二维码统一收进「扫码关注我们」弹窗）---------- */
.foot-media { list-style: none; margin: 0; padding: 0; }
.foot-media li {
  font-size: 14px;
  color: #E0E0E0;
  line-height: 2.05;
  transition: color .2s;
}
.foot-media li:hover { color: #C8102E; }
.foot-media .fm-tag { font-size: 13px; font-weight: 700; color: #FF6B00; }
.foot-media .fm-wx { color: #FF6B00; }
.foot-media .fm-dy { color: #FF6B00; }

.fm-cta {
  margin-top: 18px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 22px;
  border: 1px solid var(--china-red, #C8102E);
  border-radius: 999px;
  /* z22（用户指令 2026-10-04）：由「白色 7% 半透明」改**实底中国红**，提高辨识度 */
  background: var(--china-red, #C8102E);
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: background .2s, border-color .2s;
}
.fm-cta:hover { background: #A50D26; border-color: #A50D26; }

/* ---------- 客服码（置于「联系我们」列内，维持两列结构）---------- */
.foot-solo-qr { margin-top: 18px; text-align: center; }
.foot-solo-qr img {
  width: 130px;
  height: 130px;
  display: block;
  margin: 0 auto;
  background: #FFFFFF;
  border-radius: 8px;
  padding: 6px;
}
.foot-solo-qr p { margin-top: 8px; font-size: 13px; line-height: 1.6; color: #CCCCCC; }

/* ---------- 实体资质信息带 ---------- */
.foot-qual {
  margin-top: 40px;
  padding: 16px 20px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 8px;
  text-align: center;
  font-size: 13px;
  color: #CCCCCC;
  line-height: 1.9;
}
.foot-qual .fq-label { color: #FFFFFF; font-weight: 700; }
.foot-qual a.fq-item {
  color: #CCCCCC;
  text-decoration: none;
  border-bottom: 1px solid rgba(153, 153, 153, 0.45);
  transition: color .2s, border-color .2s;
}
.foot-qual a.fq-item:hover { color: #C8102E; border-color: rgba(200, 16, 46, 0.5); }
.foot-qual .fq-hint { color: #888888; margin-left: 6px; }
.foot-qual .fq-sep { color: #666666; margin: 0 10px; }

/* ---------- 版权与备案（居中对齐）---------- */
.foot-copy {
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  text-align: center;
  line-height: 1.8;
}
.foot-copy p { margin: 0 0 8px; }
.foot-copy p:last-child { margin-bottom: 0; }
.foot-copy .fc-1 { font-size: 16px; font-weight: 700; color: #FFFFFF; }
.foot-copy .fc-2 { font-size: 14px; color: #F0F0F0; }
.foot-copy .fc-3 { font-size: 13px; color: #CCCCCC; }
.foot-copy .fc-4 { font-size: 13px; color: #999999; }
.foot-copy a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(153, 153, 153, .45);
  transition: color .2s, border-color .2s;
}
.foot-copy a:hover { color: #C8102E; border-color: rgba(200, 16, 46, .5); }

/* ---------- 响应式：≤1024 两列收窄 ｜ ≤560 竖向堆叠（每列 100%）---------- */
@media (max-width: 1024px) {
  .foot-cols { gap: 0 40px; max-width: 100%; }
}
@media (max-width: 560px) {
  /* 底部 128px 留白：确保右下角「加客服微信」悬浮按钮不遮挡 ICP 备案号与版权信息 */
  .foot-wrap { padding: 44px 18px 128px 18px; }
  .foot-cols { grid-template-columns: 1fr; gap: 0; }
  .foot-col { padding-bottom: 24px; }
  .foot-links li,
  .foot-info li,
  .foot-links a,
  .foot-info a { font-size: 14px; line-height: 1.9; }
  /* 自媒体矩阵：手机端文字一律 ≥13px（用户硬性要求） */
  .foot-media li { font-size: 14px; line-height: 2; }
  .foot-media .fm-tag { font-size: 13px; }
  .foot-solo-qr img { width: 120px; height: 120px; }
  /* 手机端所有文字不小于 13px（用户硬性要求） */
  .foot-qual { padding: 14px 14px; font-size: 13px; line-height: 1.9; }
  .foot-qual .fq-sep { margin: 0 6px; }
  .foot-copy { line-height: 1.9; }
  .foot-copy .fc-1 { font-size: 16px; }
  .foot-copy .fc-2 { font-size: 14px; }
  .foot-copy .fc-3,
  .foot-copy .fc-4 { font-size: 13px; }
}


/* ---------- 18. 页面内页头 ---------- */
.page-head {
  background: linear-gradient(150deg, #4a3b33, #5c4a40 55%, #4a3b33);
  color: #fff;
  padding: 52px 0 46px;
  position: relative;
  overflow: hidden;
}
.page-head::after {
  content: '';
  position: absolute;
  right: -60px; top: -60px;
  width: 260px; height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(232,114,42,.2), transparent 68%);
}
.page-head .ph-eyebrow {
  display: inline-block;
  font-size: 12.5px;
  letter-spacing: .22em;
  color: var(--tea-gold);
  margin-bottom: 12px;
  text-transform: uppercase;
}
.page-head h1 {
  font-size: 32px;
  color: #fff;
  margin-bottom: 12px;
  line-height: 1.4;
}
.page-head p {
  font-size: 15.5px;
  color: rgba(255,255,255,.74);
  max-width: 660px;
  line-height: 1.9;
}
.page-head .ph-crumb {
  margin-top: 20px;
  font-size: 13px;
  color: rgba(255,255,255,.5);
}
.page-head .ph-crumb a { color: rgba(255,255,255,.7); }
.page-head .ph-crumb a:hover { color: #fff; }
/* z19：页头深色底上的正文链接（如 /faq 页副标题指向首页 FAQ），
   默认的 #C8102E 在 #4A3B33 上对比度不足，改茶金并加下划线 */
.page-head p a { color: #f0c98a; text-decoration: underline; text-underline-offset: 3px; }
.page-head p a:hover { color: #fff; }

/* ---------- 在线预约页：居中版页头 + 费用纯文本（2026-10-01 用户指定） ---------- */
.page-head.center { text-align: center; }
.page-head.center p { margin-left: auto; margin-right: auto; }
.page-head.center .ph-rule {
  display: block;
  width: 80px; height: 2px;
  background: #C8102E;
  margin: 18px auto 0;
}
.fee-line {
  font-size: 14px;
  color: #666666;
  text-align: center;
  line-height: 1.9;
  max-width: 780px;
  margin: 0 auto;
}
.fee-warn {
  font-size: 12px;
  color: #999999;
  text-align: center;
  line-height: 1.8;
  max-width: 780px;
  margin: 12px auto 0;
}
.faq-more { text-align: center; margin-top: 26px; }

/* ---------- 19. 底部固定咨询条（通行证页） ---------- */
.sticky-bar {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 90;
  background: rgba(56,44,38,.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(255,255,255,.12);
  padding: 10px 0 calc(10px + env(safe-area-inset-bottom));
  transform: translateY(110%);
  transition: transform .34s cubic-bezier(.22,.61,.36,1);
}
.sticky-bar.show { transform: translateY(0); }
.sticky-bar .container {
  display: flex;
  align-items: center;
  gap: 14px;
}
.sticky-bar .sb-qr {
  flex: none;
  width: 46px; height: 46px;
  background: #fff;
  border-radius: 8px;
  padding: 3px;
}
.sticky-bar .sb-qr img { width: 100%; height: 100%; object-fit: contain; }
.sticky-bar .sb-text { flex: 1; min-width: 0; }
.sticky-bar .sb-title { font-size: 15px; color: #fff; font-weight: 600; letter-spacing: .03em; }
.sticky-bar .sb-sub { font-size: 12px; color: rgba(255,255,255,.6); letter-spacing: .04em; }
.sticky-bar .sb-actions { display: flex; gap: 8px; flex: none; }
.sticky-bar .sb-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 500;
  background: var(--action-orange);
  color: #fff;
  white-space: nowrap;
}
.sticky-bar .sb-btn:hover { background: var(--action-orange-deep); color: #fff; }
.sticky-bar .sb-btn.ghost { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); }
.sticky-bar .sb-btn.ghost:hover { background: rgba(255,255,255,.2); color: #fff; }


/* 首页悬浮咨询按钮（移动端） */
.float-cta {
  position: fixed;
  right: 16px;
  bottom: calc(18px + env(safe-area-inset-bottom));
  z-index: 88;
  display: none;
  align-items: center;
  gap: 6px;
  padding: 13px 20px;
  border-radius: 999px;
  background: #FF6B00;
  color: #fff;
  font-size: 14.5px;
  font-weight: 600;
  box-shadow: 0 8px 24px rgba(255,107,0,.40);
  letter-spacing: .03em;
}
.float-cta.show { display: inline-flex; }
.float-cta:hover { color: #fff; }

/* ---------- 20. 线路卡片 ---------- */
.line-card {
  background: var(--card-white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  transition: .3s cubic-bezier(.22,.61,.36,1);
}
.line-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.line-card .lc-media { aspect-ratio: 16/9; overflow: hidden; background: var(--line-soft); position: relative; }
.line-card .lc-media img { width: 100%; height: 100%; object-fit: cover; }
.line-card .lc-days {
  position: absolute;
  left: 14px; top: 14px;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(56,44,38,.82);
  color: #fff;
  font-size: 12.5px;
  letter-spacing: .06em;
  backdrop-filter: blur(6px);
}
.line-card .lc-body { padding: 22px; flex: 1; display: flex; flex-direction: column; }
.line-card .lc-series { font-size: 12px; letter-spacing: .16em; color: var(--tea-gold); margin-bottom: 7px; }
.line-card h3 { font-size: 20px; margin-bottom: 11px; line-height: 1.45; }
.line-card .lc-points { font-size: 14px; color: var(--text-soft); line-height: 1.9; flex: 1; }
.line-card .lc-actions { margin-top: 16px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
/* 线路卡片：图片本身也是「预约咨询」入口（2026-10-01 起，消灭指向未定稿页面的死链） */
.line-card .lc-media img { transition: transform .45s cubic-bezier(.22,.61,.36,1); }
.line-card .lc-media[data-route-open] { cursor: pointer; }
.line-card .lc-media[data-route-open]:hover img,
.line-card .lc-media[data-route-open]:focus-visible img { transform: scale(1.045); }
.line-card .lc-media[data-route-open]:focus-visible { outline: 2px solid var(--action-orange); outline-offset: -3px; }
/* 卡片里的「预约咨询」是 <button>，去掉 UA 默认外观差异 */
.line-card .lc-actions button.btn { font-family: inherit; }

/* ---------- 20b. 板块副标题：两行结构（2026-10-01 起，「另一种湖南」专用） ---------- */
.section-desc.desc-lead .dl-1 { display: block; font-size: 14px; color: #555555; }
.section-desc.desc-lead .dl-2 { display: block; font-size: 12px; color: #888888; margin-top: 6px; }

/* ---------- 20c. 线路卡片统一排版：行程动线 + 叙事文案 + 标签 ---------- */
.line-card .lc-sub { font-size: 13.5px; color: var(--text-soft); margin-bottom: 12px; letter-spacing: .02em; }
.line-card .lc-route { font-size: 13.5px; color: var(--text-body); line-height: 1.85; }
.line-card .lc-story { font-size: 14px; color: var(--text-soft); line-height: 1.9; margin-top: 10px; flex: 1; }
.line-card .lc-route strong,
.line-card .lc-story strong { color: var(--tea-gold); font-weight: 600; }
.line-card .lc-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; }
.line-card .lc-tags .lt-chip {
  font-size: 12px;
  letter-spacing: .05em;
  color: var(--action-orange);
  background: var(--orange-soft);
  border: 1px solid rgba(232, 114, 42, .22);
  border-radius: 999px;
  padding: 4px 11px;
}
.line-card .lc-tags .lt-note { font-size: 12.5px; color: var(--text-faint); }

/* ---------- 20d. 另一种湖南：母板块内部子类标题（经典线路 / 文化定制） ---------- */
/* 层级：母板块 24px（.section-title） → 子类 19px（.sub-title），小一级 */
.sub-head { text-align: center; margin: 46px 0 26px; }
.section-head + .sub-head { margin-top: 0; }
.sub-eyebrow {
  display: block;
  font-size: 11px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--tea-gold);
  font-weight: 500;
  margin-bottom: 6px;
}
.sub-title {
  display: block;
  font-size: 19px;
  font-weight: 700;
  color: #222222;
  margin: 0;
}
.sub-title::after {
  content: '';
  display: block;
  width: 48px; height: 2px;
  background: #C8102E;
  margin: 12px auto 0;
}
.sub-desc {
  font-size: 13px;
  color: #777777;
  max-width: 620px;
  margin: 12px auto 0;
  line-height: 1.6;
}

/* ---------- 20e. 经典线路卡片：与文化定制卡片完全同规格 ----------
   同 .line-card 外壳（圆角 20 / 边框 / 阴影 / 按钮），顶部封面同为 16:9 照片。
   照片为 AI 生成氛围示意图（alt 已标注），用户提供实拍后直接换源即可。 */
.classic-card .cc-band {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #8c352d;
  border-bottom: 1px solid var(--line-soft);
  overflow: hidden;
  cursor: pointer;
}
/* 封面照片 */
.classic-card .cc-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.classic-card .cc-band:focus-visible { outline: 2px solid var(--action-orange); outline-offset: -3px; }
/* 底部渐变压暗：保证地名与标签压在照片上仍可读 */
.classic-card .cc-band::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom,
      rgba(26, 14, 9, .54) 0%,
      rgba(26, 14, 9, .30) 20%,
      rgba(26, 14, 9, 0) 37%),
    linear-gradient(to top,
      rgba(26, 14, 9, .78) 0%,
      rgba(26, 14, 9, .42) 28%,
      rgba(26, 14, 9, .08) 56%,
      rgba(26, 14, 9, 0) 76%);
  pointer-events: none;
}
/* 行程标签：浮在照片左上角 */
.classic-card .cc-tags {
  position: absolute;
  top: 12px;
  left: 12px;
  right: 12px;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
/* 大写英文地名：压在照片左下，作为封面排版元素 */
.classic-card .cc-en {
  position: absolute;
  left: 16px;
  bottom: 32px;
  z-index: 2;
  font-size: 19px;
  font-weight: 600;
  letter-spacing: .16em;
  color: #ffffff;
  text-shadow: 0 1px 6px rgba(0, 0, 0, .62);
  pointer-events: none;
}
.classic-card .cc-brand {
  position: absolute;
  left: 17px;
  bottom: 13px;
  z-index: 2;
  font-size: 11px;
  letter-spacing: .16em;
  color: rgba(255, 222, 170, .96);
  text-shadow: 0 1px 5px rgba(0, 0, 0, .66);
  pointer-events: none;
}
.classic-card .cc-days {
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .93);
  color: #8c352d;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .06em;
}
.classic-card .cc-cat {
  font-size: 12.5px;
  letter-spacing: .05em;
  color: #ffffff;
  background: rgba(26, 14, 9, .40);
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 999px;
  padding: 4px 12px;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}
.classic-card .cc-extra {
  font-size: 12.5px;
  letter-spacing: .03em;
  color: rgba(255, 224, 172, .97);
  padding: 4px 11px;
  border-radius: 999px;
  background: rgba(26, 14, 9, .36);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}

/* 相邻两个 .section-paper 只留一条分隔线（另一种湖南 → 常见问题） */
#conditions + #faq { border-top: none; }
#routes + .section-paper { border-top: none; }


/* ---------- 21. 留资表单 ---------- */
.lead-form {
  max-width: 520px;
  margin: 0 auto;
  background: var(--card-white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 30px 28px;
  box-shadow: var(--shadow-sm);
}
.lead-form label {
  display: block;
  font-size: 14px;
  color: var(--text-warm);
  margin-bottom: 9px;
  font-weight: 500;
  letter-spacing: .03em;
}
.lead-form input[type="tel"] {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--rice-paper);
  font-size: 16px;
  letter-spacing: .04em;
  transition: .22s;
}
.lead-form input[type="tel"]:focus {
  outline: none;
  border-color: var(--action-orange);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(232,114,42,.12);
}
.lead-form .lf-note { font-size: 12.5px; color: var(--text-faint); margin-top: 11px; line-height: 1.8; }
.lead-form .lf-msg {
  margin-top: 13px;
  font-size: 14px;
  padding: 11px 14px;
  border-radius: var(--radius-sm);
  display: none;
  line-height: 1.7;
}
.lead-form .lf-msg.ok { display: block; background: var(--green-soft); color: #4a6b50; }
.lead-form .lf-msg.err { display: block; background: var(--red-soft); color: var(--red-deep); }

/* ---------- 22. 客服页 ---------- */
.contact-hero {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 40px;
  align-items: center;
  background: var(--card-white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 38px;
  box-shadow: var(--shadow-md);
}
.contact-hero .ch-qr { text-align: center; }
.contact-hero .ch-qr .ch-frame {
  width: 176px;            /* 176 = 150px 二维码 + 12px*2 内边距 + 1px*2 边框 */
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 12px;
}
.contact-hero .ch-qr img { border-radius: 6px; }
.contact-hero .ch-qr .ch-cap { font-size: 13.5px; color: var(--text-soft); margin-top: 14px; letter-spacing: .05em; }
.contact-hero .ch-qr .ch-wx { font-size: 12.5px; color: var(--text-faint); margin-top: 6px; letter-spacing: .05em; }
.contact-hero h2 { font-size: 26px; margin-bottom: 14px; }
.contact-hero .ch-trust {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--text-warm);
  line-height: 1.75;
  padding: 12px 15px;
  margin-bottom: 16px;
  border-radius: var(--radius);
  background: var(--gold-soft);
  border-left: 3px solid var(--tea-gold);
}
.contact-hero .ch-info { font-size: 15.5px; color: var(--text-body); line-height: 2; }
.contact-hero .ch-kv { margin-top: 18px; display: grid; gap: 11px; }
.contact-hero .ch-kv p {
  font-size: 15px;
  color: var(--text-body);
  padding-bottom: 10px;
  border-bottom: 1px dashed var(--line);
}
.contact-hero .ch-kv p:last-child { border-bottom: none; padding-bottom: 0; }
.contact-hero .ch-kv .ch-tel {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--red-azalea);
  text-decoration: none;
  border-bottom: none;
}
.contact-hero .ch-actions { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 22px; }   /* z22：两按钮间距 12→18px（实测各档视口下均并排不换行，故行列双向都放大），避免误触 */

/* ---------- 23. 提示条 ---------- */
.notice {
  display: flex;
  gap: 13px;
  padding: 18px 22px;
  border-radius: var(--radius);
  background: var(--orange-soft);
  border: 1px solid rgba(232,114,42,.2);
  border-left: 3px solid var(--action-orange);
  font-size: 14.5px;
  line-height: 1.9;
  color: var(--text-body);
}
.notice .n-icon { flex: none; font-size: 17px; line-height: 1.6; }
.notice strong { color: var(--text-warm); font-weight: 600; }
.notice.warn { background: var(--red-soft); border-color: rgba(168,69,60,.2); border-left-color: var(--red-azalea); }
.notice.soft { background: var(--gold-soft); border-color: rgba(184,148,90,.24); border-left-color: var(--tea-gold); }

/* ---------- 24. 滚动动效：已整个移除（2026-10-01 15:00） ----------
   原因：「先 opacity:0 藏起来、等 JS 滚动到可视区再淡入」这种做法，
   任何在动画播完前取内容的场景（整页截图工具、部分渲染型爬虫、
   JS 被拦截或报错）抓到的都是空白或半透明 —— 本站是 GEO 商用站，
   内容必须首屏即可见，这点动效不值当。
   .reveal / .in 两个类名保留（HTML 里还在用），但不再隐藏任何内容。 */
.reveal { opacity: 1; }

/* ---------- 25. 响应式 ---------- */
@media (max-width: 1024px) {
  .card-grid.cols-4 { grid-template-columns: repeat(2, 1fr); }
  .hero-title { font-size: 42px; }
  /* z24：窄屏同步收窄「中间可视带」——卡片 326px 已占去不少，留空过大会把左栏
     挤到客服号码出省略号（.wx-value 有 ellipsis），故按 10vw 递减（881 档 ≈88px）。
     注意同样只能用 column-gap，不能写成第三个「空列」（原因见上面 .hero-layout 的注释）。 */
  :root { --split-gap: clamp(88px, 10vw, 140px); --aside-w: 326px; }
  .hero-layout { grid-template-columns: minmax(0, 1fr) var(--aside-w); }
  .trust-card { width: var(--aside-w); }
}

/* z19：导航项「常见问题」→「通行证办理FAQ」后，导航链接由 713px 增到 756px
   （实测 1161 档品牌块 349 + 链接 756 只剩 16px 间隙，贴太近），
   故折叠断点再由 1160px 提到 1200px。
   桌面品牌块 ≈354px + 链接 756px + 两侧留白与 40px 间隙 ≈ 1190px，故取 1200 留余量。
   本块只放导航相关规则；hero / 栅格 / 首屏等仍留在下面 max-width:880px 块内。 */
@media (max-width: 1200px) {
  .nav-links { display: none; }
  .nav-toggle { display: flex; width: 44px; height: 44px; }   /* 点击目标下限 44px */
  .nav-brand { flex-direction: row; align-items: center; gap: 10px; min-height: 60px; }
  .nav-brand .brand-main { font-size: 16px; }
  .nav-brand .brand-sub { font-size: 12.5px; }
  .nav-links.open {
    display: flex;
    position: absolute;
    top: var(--nav-height);
    left: 0; right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    background: var(--warm-white);
    border-bottom: 1px solid var(--line);
    padding: 12px 18px 18px;
    box-shadow: var(--shadow-md);
  }
  .nav-links.open a { padding: 12px 14px; font-size: 15.5px; }
  .nav-links .nav-tel span.tel-text { display: inline; }
}

@media (max-width: 880px) {
  :root { --nav-height: 68px; }
  .nav-brand .brand-logo { height: 37px; width: auto; }   /* ≈104px */

  /* 首屏：改为单栏，信任卡片落到文字下方 */
  .hero { --hero-band: 640px; min-height: auto; display: block; background: #17110f; }
  .hero-inner { padding: 34px 0 40px; }
  .hero-layout { grid-template-columns: 1fr; gap: 30px; align-items: start; }
  .trust-card { width: 100%; max-width: 520px; }
  /* 手机竖屏关键修正：整块 hero 高达 1200px+（信任卡也在 hero 里），
     底图按 cover 铺满后，故居建筑正好落在信任卡背后 → 完全看不到。
     改为「底图只铺文案区高度」：下缘渐变到 hero 底色，无缝衔接，故居回到可视区。 */
  .hero-bg { inset: 0 0 auto 0; height: var(--hero-band); }
  .hero-bg img { object-position: 30% 50%; transform: none; }
  .hero-veil {
    inset: 0 0 auto 0;
    height: var(--hero-band);
    /* 故居建筑带（band 48%–80%）刻意留亮，让实景看得见；
       文字区改由「加深的玻璃卡片 + 文字阴影」保证对比度
       z17：整体改暖调深色 #2C1A12，与桌面端统一 */
    background: linear-gradient(180deg,
      rgba(44,26,18,.62) 0%, rgba(44,26,18,.50) 22%,
      rgba(44,26,18,.40) 40%, rgba(44,26,18,.30) 54%,
      rgba(44,26,18,.26) 70%, rgba(44,26,18,.62) 88%,
      #2C1A12 100%);
  }
  .wechat-box { background: rgba(10,8,6,.46); border-color: rgba(255,255,255,.22); }
  .hero-tel { background: rgba(10,8,6,.46); }
  .hero-btn-note,
  .hero-more { text-shadow: 0 1px 6px rgba(0,0,0,.85); }
  /* 实景标注改到画面右上角，避免落进信任卡区域 */
  .hero-credit { font-size: 12.5px; right: 14px; top: 78px; bottom: auto; }
  .hero-title { font-size: 34px; }
  .hero-sub { font-size: 16px; }
  .hero-cta { max-width: 560px; }

  .card-grid.cols-3 { grid-template-columns: 1fr; }
  .card-grid.cols-2 { grid-template-columns: 1fr; }
  .shot-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-hero { grid-template-columns: 1fr; gap: 28px; padding: 28px 22px; }
  .page-head h1 { font-size: 26px; }
}

@media (max-width: 560px) {
  .container { padding: 0 18px; }
  /* 移动端板块上下内边距统一 40px（用户 18:30 指令） */
  .section { padding: 40px 0; }
  .section-sm { padding: 32px 0; }
  .section-head { margin-bottom: 24px; }
  .definition { padding: 32px 0; }

  .nav-brand { gap: 8px; min-height: 54px; }
  .nav-brand .brand-logo { height: 34px; width: auto; }   /* ≈96px */
  .nav-brand .brand-main { font-size: 13px; }
  .nav-brand .brand-sub { font-size: 13px; }
  /* 移动端网站名改用短版，避免与汉堡键挤在一行 */
  .nav-brand .bm-full { display: none; }
  .nav-brand .bm-short { display: inline; }
  .nav-brand .bs-full { display: none; }
  .nav-brand .bs-short { display: inline; }

  .hero { min-height: auto; }
  .hero-inner { padding: 30px 0 34px; }
  .hero-title { font-size: 29px; line-height: 1.34; }
  .hero-sub { font-size: 14.5px; gap: 6px 10px; margin-bottom: 20px; }
  .hero-cta { max-width: 100%; }
  .btn { padding: 15px 24px; font-size: 15.5px; }
  .btn-hero { font-size: 17px; height: 56px; padding: 0 20px; }
  .wechat-box .wx-value { font-size: 15px; }
  .hero-tel { padding: 13px 16px; gap: 6px; }
  .hero-tel .tel-label { font-size: 15.5px; }
  .hero-tel .tel-num { font-size: 20px; }
  .hero-tel .tel-act { font-size: 13px; padding: 5px 12px; }

  .trust-card { padding: 20px 18px; max-width: 100%; }
  .trust-card h3 { font-size: 18px; padding-bottom: 11px; margin-bottom: 11px; }
  .trust-card .trust-hours { margin-top: 12px; padding-top: 11px; }
  .trust-list li { margin-bottom: 12px; }
  .trust-list .ti-title { font-size: 15px; }
  .trust-list .ti-desc { font-size: 13.5px; line-height: 1.5; }


  .definition-inner { padding: 22px 20px; border-left-width: 3px; }
  .definition p { font-size: 14.8px; line-height: 1.98; }
  .definition .def-title { font-size: 18px; margin-bottom: 12px; padding-bottom: 10px; }
  .definition .def-list li,
  .definition .def-contact,
  .definition .def-hours { font-size: 13.5px; }

  /* 板块标题规范全端统一（用户 17:20 指令：24px 写死） */
  .section-title { font-size: 24px; }
  .section-desc { font-size: 14px; }

  .hscroll { padding: 4px 18px 16px; margin: 0 -18px; }
  .step-card { flex: 1 1 100%; padding: 14px; }
  .play-card { width: 272px; }
  .hscroll .report-card { width: 282px; }
  .report-card.rc-join h3 { font-size: 17.5px; }
  .hero-credit { font-size: 11.5px; right: 14px; top: 74px; bottom: auto; }

  .shot-grid { grid-template-columns: 1fr; }

  .faq-item { padding: 20px 18px; }
  .faq-item h3 { font-size: 15.8px; }
  .faq-item p { font-size: 14.5px; }

  .faq-row { padding: 20px 18px; }
  .faq-row h3 { font-size: 15.8px; gap: 8px; }
  .faq-row p { font-size: 14.5px; }
  .faq-group { margin-bottom: 22px; }
  .faq-group-head h2 { font-size: 17.5px; }
  .faq-group-head .fg-letter { width: 26px; height: 26px; font-size: 13.5px; border-radius: 7px; }
  .faq-group-head .fg-count { display: none; }
  .faq-acc > summary { padding: 16px; font-size: 15.2px; gap: 8px; }
  .faq-body { padding: 14px 16px 18px; }
  .faq-body p, .faq-body li { font-size: 14.5px; }

  .trust-item { padding: 18px 18px; gap: 13px; }
  .trust-item .ti-icon { width: 36px; height: 36px; font-size: 16px; }

  .sticky-bar .sb-qr { width: 40px; height: 40px; }
  .sticky-bar .sb-title { font-size: 14px; }
  .sticky-bar .sb-sub { display: none; }
  /* z22（用户指令 2026-10-04）：≤560px 恢复按钮文字。原来把 .btn-label 整个 display:none，
     电话键只剩一个 📞 图标，用户反馈「小屏上纯图标不直观」。改为保留文字并收紧内距，
     保证两个按钮 + 二维码 + 标题在 360px 宽下仍不换行、不溢出。 */
  .sticky-bar .sb-btn { padding: 9px 12px; font-size: 13px; }

  .contact-hero h2 { font-size: 22px; }
  .lead-form { padding: 24px 20px; }

}

@media (max-width: 400px) {
  .hero-title { font-size: 25px; }
  .float-cta { right: 12px; padding: 12px 17px; font-size: 14px; }
}

/* 湖南经典线路：中等屏两列、窄屏单列（仅作用于本板块，不影响其它 cols-3 页面） */
@media (max-width: 1060px) {
  .card-grid.cols-3.route-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .card-grid.cols-3.route-grid { grid-template-columns: 1fr; }
  .sub-head { margin: 34px 0 20px; }
  .section-head + .sub-head { margin-top: 0; }
  .sub-title { font-size: 17px; }
  .sub-desc { font-size: 12.5px; }
  .classic-card .cc-en { font-size: 16px; bottom: 30px; }
  .classic-card .cc-tags { top: 10px; left: 10px; right: 10px; gap: 6px; }
  .classic-card .cc-days,
  .classic-card .cc-cat,
  .classic-card .cc-extra { font-size: 11.5px; }
  .line-card .lc-route,
  .line-card .lc-story { font-size: 13.5px; }
}

/* 打印 */
@media print {
  .site-nav, .sticky-bar, .float-cta { display: none; }
}

/* ===== 板块顺序调整（2026-10-01 18:15）：衔接处理 ===== */
#guide + #conditions { border-top: none; }

/* ---------- 在线预约页：会客厅实景图（2026-10-02 z13 降级为紧凑「信任卡片」） ----------
   用户指令：图宽强制 40% / 上限 400px，居中、保留圆角，绝不能占大半个屏幕；
   配文下方加「了解会客厅详细服务」跳转按钮（本站 kenting.html、新窗口）；
   图片区块底部 padding-bottom:100px，避免右下角固定咨询条遮挡配文与按钮。
   注：本处 100px 是 2026-10-02 用户新指令，晚于「板块 padding 不超过 80px」的旧约束，以新者为准。 */
.salon-photo {
  width: 40%;
  max-width: 400px;
  margin: 0 auto;
}
.salon-photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, .06);
}
.salon-photo figcaption {
  margin-top: 14px;
  font-size: 14px;
  color: #666666;
  text-align: center;
  line-height: 1.7;
}
.salon-trust { padding-bottom: 100px; }
.salon-more { text-align: center; margin-top: 22px; }
.salon-more .btn { font-size: 15px; padding: 13px 26px; }
@media (max-width: 880px) {
  .salon-photo { width: 80%; max-width: none; }
  .salon-photo figcaption { font-size: 13.5px; line-height: 1.75; }
  .salon-trust { padding-bottom: 100px; }
  .salon-more { margin-top: 20px; }
  /* 手机端按钮加大，保证手指可点（≥48px 高） */
  .salon-more .btn { padding: 15px 26px; font-size: 15.5px; min-height: 48px; }
}
/* ==================== 韶山会客厅页 · 2026-10-02 五大区块重构 ==================== */

/* ---------- 区块一：品牌与实体定位 ---------- */
.kx-hero {
  margin: 0 0 22px;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  overflow: hidden;
  background: var(--line-soft);
}
.kx-hero img { display: block; width: 100%; height: auto; }

.kx-loc-card {
  background: var(--card-white);
  border: 1px solid var(--line);
  border-left: 4px solid var(--action-orange);
  border-radius: var(--radius);
  padding: 22px 26px;
  box-shadow: var(--shadow-sm);
}
.kx-loc-main {
  font-size: 17px;
  line-height: 1.85;
  color: var(--text-warm);
  margin: 0 0 8px;
  font-weight: 500;
}
.kx-loc-main strong { color: var(--china-red); }
.kx-pin { margin-right: 6px; }
.kx-loc-sub {
  font-size: 13.5px;
  line-height: 1.8;
  color: var(--text-soft);
  margin: 0;
}
.kx-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }

/* 修复：.def-tag 原样式只挂在 .definition 下，本页用 .definition-inner，需补一条 */
.definition-inner .def-tag {
  display: block;
  font-size: 12px;
  letter-spacing: .2em;
  color: var(--tea-gold);
  margin-bottom: 10px;
  text-transform: uppercase;
}

/* ---------- 区块二：荣誉与资质墙 ---------- */
.honor-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.honor-card {
  display: flex;
  flex-direction: column;
  background: var(--card-white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s cubic-bezier(.22,.61,.36,1);
}
.honor-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.hc-media {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 152px;
  padding: 10px;
  background: #f6f3ee;
  border-bottom: 1px solid var(--line-soft);
  overflow: hidden;
}
.hc-media img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
.hc-media.is-icon {
  font-size: 40px;
  line-height: 1;
  background: linear-gradient(160deg, var(--gold-soft), #fdf8ee);
}
.hc-body { flex: 1; padding: 14px 15px 16px; }
.hc-title { font-size: 15px; font-weight: 700; color: #222222; line-height: 1.5; margin: 0 0 7px; }
.hc-desc { font-size: 13px; color: #666666; line-height: 1.8; margin: 0; }
.hc-src { color: var(--text-faint); }

/* ---------- 区块三：实景与服务能力 ---------- */
.shot-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.shot-grid.cols-2 .shot img { aspect-ratio: 16/10; }
.salon-gallery { margin-top: 14px; }
.salon-gallery .shot img { aspect-ratio: 16/10; }
.salon-gallery .shot-cap { font-size: 13px; }
/* 竖版实拍（会议图书室 / 打卡点）：保持 3:4 竖幅，避免被 16:10 横幅裁切掉人物 */
.portrait-gallery .shot img { aspect-ratio: 3/4; }
@media (max-width: 980px) { .salon-gallery { margin-top: 12px; } }

.cap-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 22px; }
.cap-card {
  background: var(--card-white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px 18px 20px;
  box-shadow: var(--shadow-sm);
}
.cap-ico { font-size: 22px; line-height: 1; display: block; margin-bottom: 9px; }
.cap-title { font-size: 15.5px; font-weight: 700; color: #222222; margin: 0 0 7px; }
.cap-desc { font-size: 13.5px; color: #666666; line-height: 1.8; margin: 0; }

/* ---------- 区块四：文化体验与特色服务 ---------- */
.exp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.exp-card {
  background: var(--card-white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px 22px 24px;
  box-shadow: var(--shadow-sm);
}
.exp-ico { font-size: 24px; line-height: 1; display: block; margin-bottom: 10px; }
.exp-title { font-size: 17px; font-weight: 700; color: #222222; margin: 0 0 9px; }
.exp-desc { font-size: 13.5px; color: #666666; line-height: 1.85; margin: 0; }

.flower-box {
  margin-top: 22px;
  padding: 26px 28px 28px;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #fdf6ec, #fbf1e4);
  border: 1px solid rgba(184,148,90,.3);
  border-left: 4px solid var(--tea-gold);
  box-shadow: var(--shadow-sm);
}
.fb-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.fb-ico { font-size: 22px; line-height: 1; }
.fb-title { font-size: 19px; font-weight: 700; color: var(--text-warm); margin: 0; line-height: 1.45; }
.fb-desc { font-size: 14.5px; line-height: 1.9; color: var(--text-body); margin: 0 0 14px; }
.fb-disclaimer {
  font-size: 13.5px;
  line-height: 1.9;
  color: #7a6d5f;
  margin: 0;
  padding: 14px 16px;
  border-radius: 8px;
  background: rgba(255,255,255,.7);
  border: 1px dashed rgba(184,148,90,.45);
}
.fb-disclaimer strong { color: var(--tea-gold); }
.fb-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }

/* ---------- 区块五：合规与免责声明 ---------- */
.cp-list { display: grid; gap: 16px; }
.cp-item {
  background: var(--card-white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px 24px;
  box-shadow: var(--shadow-sm);
}
.cp-title {
  font-size: 16px;
  font-weight: 700;
  color: #222222;
  margin: 0 0 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  line-height: 1.5;
}
.cp-num {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px; height: 30px;
  border-radius: 50%;
  background: var(--red-soft);
  color: var(--china-red);
  font-size: 13px;
  font-weight: 700;
}
.cp-text { font-size: 13.5px; line-height: 1.9; color: #666666; margin: 0 0 8px; }
.cp-text:last-child { margin-bottom: 0; }
.cp-text strong { color: #444444; }

/* ---------- 韶山会客厅页 · 响应式 ---------- */
@media (max-width: 1024px) {
  .honor-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .cap-grid { grid-template-columns: repeat(2, 1fr); }
  .exp-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 880px) {
  .honor-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .hc-media { height: 132px; padding: 8px; }
  .hc-media.is-icon { font-size: 34px; }
  .hc-title { font-size: 14px; }
  .hc-desc { font-size: 13px; line-height: 1.8; }
  .kx-loc-card { padding: 18px 18px; }
  .kx-loc-main { font-size: 15.5px; }
  .flower-box { padding: 20px 18px 22px; }
  .fb-title { font-size: 17px; }
  .cp-item { padding: 18px 18px; }
}
@media (max-width: 640px) {
  .shot-grid.cols-2 { grid-template-columns: 1fr; }
  .exp-grid { grid-template-columns: 1fr; }
  .cap-grid { grid-template-columns: 1fr; }
  .kx-actions .btn, .fb-actions .btn { width: 100%; }
}


/* ==================== 会客厅页：导航提示 / 历史照片框 / 报道宽卡 / 底部CTA ==================== */
/* 2026-10-02 z5 · 韶山会客厅页终极重构新增 */

.kx-navnote {
  margin: 14px 0 0;
  padding: 12px 16px;
  border-radius: 8px;
  background: rgba(232,114,42,.08);
  border: 1px dashed rgba(232,114,42,.35);
  font-size: 13.5px;
  line-height: 1.8;
  color: #8a5a2e;
}

/* 1997 历史照片框：圆角、宽 80%、居中（等毛总发原图，同名文件覆盖即可） */

/* 《我们报到了》横向宽版卡片 */
.report-wide {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 22px;
  padding: 24px 26px;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #fdf6ec, #fbf1e4);
  border: 1px solid rgba(184,148,90,.3);
  border-left: 4px solid var(--tea-gold);
  box-shadow: var(--shadow-sm);
}
.report-wide .rw-ico { flex: none; font-size: 30px; line-height: 1; }
.report-wide .rw-body { flex: 1; min-width: 0; }
.report-wide .rw-title {
  font-size: 17px; font-weight: 700; color: var(--text-warm);
  margin: 0 0 8px; line-height: 1.5;
}
.report-wide .rw-desc { font-size: 13.5px; line-height: 1.85; color: #666666; margin: 0; }
.report-wide .rw-btn { flex: none; white-space: nowrap; }

/* 底部 CTA 横幅（合规声明与页脚之间） */
.kx-cta-band {
  background: linear-gradient(135deg, #fff5ec, #fdece0);
  border-top: 1px solid rgba(232,114,42,.18);
  padding: 60px 0;
  text-align: center;
}
.kx-cta-band .kcb-title {
  font-size: 24px; font-weight: 700; color: #222222;
  margin: 0 0 12px;
}
.kx-cta-band .kcb-desc {
  font-size: 15px; line-height: 1.9; color: #666666;
  margin: 0 auto; max-width: 720px;
}
.kx-cta-band .kcb-actions {
  display: flex; justify-content: center; flex-wrap: wrap;
  gap: 12px; margin-top: 24px;
}

@media (max-width: 560px) {
  .report-wide { flex-direction: column; align-items: flex-start; gap: 14px; padding: 20px 18px; }
  .report-wide .rw-btn { width: 100%; }
  .kx-cta-band { padding: 40px 0; }
  .kx-cta-band .kcb-title { font-size: 20px; }
  .kx-cta-band .kcb-desc { font-size: 14px; }
  .kx-cta-band .kcb-actions .btn { width: 100%; }
}

/* ==========================================================================
   关于我们（联系页底部实体声明 · GEO 语料区块）
   排版口径：「关于我们」14px 加粗 #333，与下方正文间距 10px；
   主内容 13px #666 行高 1.8。
   ========================================================================== */
.about-org {
  max-width: 900px;
  margin: 0 auto;
  background: var(--card-white);
  border: 1px solid var(--line);
  border-left: 3px solid var(--tea-gold);
  border-radius: var(--radius);
  padding: 26px 28px;
  box-shadow: var(--shadow-sm);
}
.about-org p { font-size: 13px; color: #666666; line-height: 1.8; }
.about-org .ao-title { font-size: 14px; font-weight: 700; color: #333333; }
.about-org .ao-title + p { margin-top: 10px; }
.about-org p:not(.ao-title) + p { margin-top: 12px; }
.about-org strong { color: #333333; font-weight: 700; }

@media (max-width: 640px) {
  .about-org { padding: 20px 18px; }
}

/* ---------- 主理人信任卡片（contact 页 · z27 用户定稿 2026-10-05）----------
   目的：把「毛伟」这个人物实体与品牌／线下实体绑定，供搜索引擎与 AI 大模型做
        E-E-A-T（经验·专业·权威·可信）关联，同时给访客一个「背后是真人」的锚点。
   ⚠️ 合规红线：卡片内严禁出现政治身份、宗族身份字样（清单见 contact.html 注释）。
   规格（用户指定）：极淡暖米色底 #FAF9F6 + 浅灰细边框；正方形照片显示 150×150、
                    border-radius 8px + 轻微阴影；桌面＝左照片右文字，移动端＝上下堆叠；
                    不允许出现大红大绿。 */
.principal-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 26px;
  align-items: start;
  max-width: 900px;          /* 与 .about-org 同宽，两张卡在视觉上成一组 */
  margin: 0 auto;
  padding: 26px 28px;
  background: #FAF9F6;       /* 极淡暖米色（用户指定） */
  border: 1px solid #E8E4DC; /* 浅灰色细边框（用户指定） */
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}
.principal-card .pc-photo img {
  width: 150px;
  height: 150px;
  object-fit: cover;
  border-radius: 8px;                        /* 用户指定：圆角 8px（正方形，不是圆形） */
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 2px 8px rgba(47, 40, 35, .12);  /* 轻微阴影，保持高级质感 */
}
.principal-card .pc-name { font-size: 20px; font-weight: 700; color: #2f2823; letter-spacing: .02em; }
/* 对比度：初版 tea-gold #b8945a 在 #FAF9F6 上仅 2.69:1（不达 4.5:1）→ 加深为 #82652f，实测 5.18:1 */
.principal-card .pc-role { margin-top: 6px; font-size: 15px; font-weight: 600; color: #82652f; letter-spacing: .03em; }
.principal-card .pc-bio { margin-top: 14px; font-size: 14px; color: var(--text-body); line-height: 1.85; }
.principal-card .pc-quote {
  margin-top: 16px;
  padding: 14px 18px;
  font-size: 14.5px;
  line-height: 1.85;
  color: var(--text-warm);
  background: #fff;
  border-left: 3px solid var(--tea-gold);
  border-radius: var(--radius-sm);
}
.principal-card .pc-more { margin-top: 16px; }
.principal-card .pc-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  font-size: 13.5px;
  font-weight: 600;
  color: #82652f;            /* 5.18:1 on #FAF9F6 */
  background: transparent;
  border: 1px solid #A98A55; /* 3.09:1 —— 描边按非文本组件 3:1 取色 */
  border-radius: 999px;
  text-decoration: none;
  transition: background .26s cubic-bezier(.22,.61,.36,1), border-color .26s cubic-bezier(.22,.61,.36,1), color .26s cubic-bezier(.22,.61,.36,1);
}
.principal-card .pc-link:hover { background: var(--gold-soft); border-color: #82652f; color: #82652f; }  /* 悬停 #f8f2e6 上仍 4.89:1 */

/* 移动端：照片与文字上下堆叠，照片居中；整体收窄内边距，避免占屏过高 */
@media (max-width: 640px) {
  .principal-card { grid-template-columns: 1fr; gap: 16px; padding: 22px 18px; }
  .principal-card .pc-photo { display: flex; justify-content: center; }
  .principal-card .pc-name { font-size: 19px; }
  .principal-card .pc-quote { font-size: 14px; padding: 12px 14px; }
}


/* ---------- 全站最小字号 13px（z12 移动端硬性要求 → z22 用户指令扩到桌面端）----------
   用户 2026-10-04 决策：「13px 下限扩到桌面端，同意，保证最小字号可读性」。
   实现方式＝「只抬不压」：只把**实测低于 13px** 的元素抬到 13px。
   旧块（≤880px 媒体查询）把整组选择器一律写成 13px !important，其中
   .fee-line(14) / .hero-credit(14) / .rc-meta(13.5) / .about-org p(13) /
   .section-desc .dl-1(14) 本就 ≥13px，被 !important 反压小了 —— 属隐性缺陷，
   本次一并修掉：这些选择器从名单中移除，保持其设计字号。
   名单来源＝用脚本全量扫描 style.css 得到的 39 处 <13px 声明（含媒体查询内外）。
   用 !important 是刻意的：多处小字由带父级的更高优先级选择器定义
   （如 .nav-brand .brand-sub 12.5px、.wechat-box .wx-label 11.5px），
   否则需要逐条追逐，后续新增样式也容易再次跌破 13px。 */
.brand-sub,
.hero-eyebrow, .hero-note, .hero-btn-note, .hero-credit,
.wx-label, .step-card p,
.section-eyebrow, .section-desc .dl-2,
.sub-eyebrow, .sub-desc,
.def-tag, .def-kicker, .ph-eyebrow,
.cc-days, .cc-cat, .cc-extra, .cc-brand, .ch-wx,
.lc-days, .lc-series, .lt-chip, .lt-note,
.rc-tag, .rc-tags, .pc-tag,
.modal-qr-note, .q-badge, .fg-count, .tel-note,
.fee-warn, .sb-sub,
.follow-note, .lf-note {
  font-size: 13px !important;
}

/* ---------- 锚点别名：导航「另一种·湖南」指向首页板块（z12）---------- */
.anchor-alias { display: block; height: 0; scroll-margin-top: 96px; }
.nb { white-space: nowrap; }

/* ---------- 客服组件移动端收缩（z12）---------- */
@media (max-width: 880px) {
  .nav-links .nav-tel { gap: 2px; padding: 6px 12px; }
  .nav-links .nav-tel .tel-note { font-size: 11px; }
  .nav-links .nav-tel .tel-line { font-size: 13.5px; gap: 3px; }
  .float-cta { right: 12px; bottom: calc(14px + env(safe-area-inset-bottom)); padding: 11px 16px; font-size: 14px; }
}

/* ---------- 首页实景标注标签：移动端隐藏（z16 用户指令）----------
   用户指令：≥768px 显示、<768px 隐藏。实测发现 ≤880px 区间该标签被移动端规则
   改挂到画面右上角（top:78px），窄屏下会直接压住主标题 ——
   390px 重叠 3338px²、768px 重叠 3217px²（用户截图投诉的正是这个现象）。
   而 ≤880px 本就是「移动端版式」（汉堡导航 + 单栏），故把隐藏区间放宽到 ≤880px：
   终端窗口 ≤880 一律不显示该标签；>880px 桌面端保持原右下角悬浮，完全不动。
   注：本块放在文件最末，确保不被前面的 ≤880 / ≤560 块回改。 */
@media (max-width: 880px) {
  .hero-credit { display: none; }
}

/* ---------- 移动端点击目标尺寸下限（z16 自检）----------
   用户要求「按钮不能太小、手指点按要精准」。实测四处偏小，统一抬到 44px 下限
   （Apple HIG 建议值）：汉堡键 40×40、弹窗关闭键 34×34、首屏「拨打 →」行 37px、
   页脚「扫码关注我们」41px。其余按钮实测均 ≥47px 高（.btn 系列 48px、.copy-btn 47px）。 */
@media (max-width: 880px) {
  .nav-toggle { width: 44px; height: 44px; }
  .modal-close { width: 44px; height: 44px; }
  .hero-tel .tel-link { min-height: 44px; }
  .fm-cta { min-height: 44px; }
}
