/* V45 · 暗金星云导航与首屏；仅供 index-draft.html 叠加预览。
   不重定义旧 token，不改变下方内容；C 编号对应 design-plan.md 变更清单。 */

/* C01 · 首页画布与局部色板，避免纸底从边缘露出。 */
body.pg-home {
  --v45-bg: #151713;
  --v45-surface: #1a1c17;
  --v45-hover: #2b2d25;
  --v45-text: #eee8dc;
  --v45-muted: #a49d8f;
  --v45-gold: #c8af83;
  --v45-gold-hover: #e8d2ae;
  --v45-border: rgba(200, 175, 131, .26);
  background: var(--v45-bg);
}

/* C02 · 显式压过 v41 的首页 :not(.scrolled) 透明头。 */
body.pg-home .site-header,
body.pg-home .site-header:not(.scrolled) {
  color: var(--v45-text);
  background: rgba(21, 23, 19, .96);
  border-bottom-color: rgba(200, 175, 131, .12);
  box-shadow: none;
  -webkit-backdrop-filter: blur(14px) saturate(1.05);
  backdrop-filter: blur(14px) saturate(1.05);
}

/* C03 · 滚动后增加密度，兼容无 backdrop-filter 的浏览器。 */
body.pg-home .site-header.scrolled {
  background: rgba(16, 18, 16, .98);
  border-bottom-color: var(--v45-border);
  box-shadow: 0 12px 32px -20px rgba(0, 0, 0, .72);
}

/* C04 · 原色品牌标保留比例，用暖白底片托起，最高 52px。 */
body.pg-home .brand-mark {
  width: 46px;
  height: 52px;
  padding: 4px 6px;
  border-radius: 10px;
  background: var(--v45-text);
  box-shadow: 0 0 0 1px rgba(200, 175, 131, .32);
}
body.pg-home .brand-mark img {
  width: auto;
  height: 44px;
  object-fit: contain;
}
body.pg-home .brand:hover .brand-mark {
  box-shadow: 0 0 0 1px var(--v45-gold);
}

/* C05 · 品牌名称与英文副标。 */
body.pg-home .brand-text strong { color: var(--v45-text); }
body.pg-home .brand-text em { color: var(--v45-muted); }
body.pg-home .brand:hover .brand-text em { color: var(--v45-gold); }

/* C06 · 导航默认与激活态，覆盖 v43 的首页高优先级灰字。 */
body.pg-home .nav-link { color: var(--v45-text); }
body.pg-home .nav-link:hover,
body.pg-home .nav-link:focus-visible,
body.pg-home .nav-link.active,
body.pg-home .nav-item:hover .nav-link,
body.pg-home .nav-item:focus-within .nav-link { color: var(--v45-gold); }

/* C07 · 下划线沿用原有显隐逻辑，换为同族金色。 */
body.pg-home .nav-link::after,
body.pg-home .nav-link.active::after,
body.pg-home .nav-item:hover .nav-link::after,
body.pg-home .nav-item:focus-within .nav-link::after {
  background: linear-gradient(90deg, #a67c52, var(--v45-gold));
}

/* C08 · 子菜单箭头的默认、hover、focus 与勾选态。 */
body.pg-home .nav-caret { color: var(--v45-muted); }
body.pg-home .nav-item:hover .nav-caret,
body.pg-home .nav-item:focus-within .nav-caret,
body.pg-home .nav-check:checked ~ .nav-row .nav-caret { color: var(--v45-gold); }

/* C09 · 下拉面板与分隔线。 */
body.pg-home .nav-panel {
  color: var(--v45-text);
  background: var(--v45-surface);
  border-color: var(--v45-border);
  border-top-color: var(--v45-gold);
  box-shadow: 0 20px 48px -20px rgba(0, 0, 0, .8);
}
body.pg-home .nav-panel-hd,
body.pg-home .nav-panel-grid .nav-sub { border-bottom-color: var(--v45-border); }

/* C10 · 面板标题、查看全部与侧边金色标记。 */
body.pg-home .nav-panel-hd .hd-t { color: var(--v45-text); }
body.pg-home .nav-panel-hd .hd-t::before { background: var(--v45-gold); }
body.pg-home .nav-panel-hd .hd-all { color: var(--v45-muted); }
body.pg-home .nav-panel-hd .hd-all:hover,
body.pg-home .nav-panel-hd .hd-all:focus-visible { color: var(--v45-gold-hover); }

/* C11 · 子项正文与说明，包括 hover/focus 小字对比度。 */
body.pg-home .nav-sub strong { color: var(--v45-text); }
body.pg-home .nav-sub em { color: var(--v45-muted); }
body.pg-home .nav-sub:hover,
body.pg-home .nav-sub:focus-visible { background: var(--v45-hover); }
body.pg-home .nav-sub:hover strong,
body.pg-home .nav-sub:focus-visible strong { color: var(--v45-gold-hover); }

/* C12 · 子项图标与末尾箭头。 */
body.pg-home .nav-sub-ico,
body.pg-home .nav-sub:hover .nav-sub-ico,
body.pg-home .nav-sub:focus-visible .nav-sub-ico { background: var(--v45-gold); }
body.pg-home .nav-sub:hover .nav-sub-ico,
body.pg-home .nav-sub:focus-visible .nav-sub-ico { box-shadow: 0 0 0 3px rgba(200, 175, 131, .14); }
body.pg-home .nav-panel-grid .nav-sub::after,
body.pg-home .nav-panel-grid .nav-sub:hover::after { color: var(--v45-gold); }

/* C13 · 联系顾问继续采用裸链接，避免套用 ghost 的实底。 */
body.pg-home .site-header .nav-join-btn {
  color: var(--v45-text);
  background: none;
  border-color: transparent;
  box-shadow: none;
}
body.pg-home .site-header .nav-join-btn:hover,
body.pg-home .site-header .nav-join-btn:focus-visible,
body.pg-home .site-header .nav-join.open .nav-join-btn {
  color: var(--v45-gold);
  background: none;
  box-shadow: none;
  transform: none;
}
body.pg-home .nav-join-btn::after { background: var(--v45-gold); }

/* C14 · 顾问二维码浮层；二维码图片自身沿用白色衬底。 */
body.pg-home .nav-join-pop,
body.pg-home .nav-join-arrow {
  background: var(--v45-surface);
  border-color: var(--v45-border);
}
body.pg-home .nav-join-pop { box-shadow: 0 20px 48px -20px rgba(0, 0, 0, .8); }
body.pg-home .nav-join-title { color: var(--v45-text); }
body.pg-home .nav-join-sub { color: var(--v45-muted); }

/* C15 · 仅导航/首屏按钮：浅金底配深字，取消旧白色扫光。 */
body.pg-home :is(.site-header, .hero) .btn-primary {
  color: var(--v45-bg);
  background: var(--v45-gold);
  border-color: var(--v45-gold);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 8px 24px -16px rgba(200, 175, 131, .35);
}
body.pg-home :is(.site-header, .hero) .btn-primary::after,
body.pg-home .hero .btn-ghost::after { content: none; }
body.pg-home .main-nav > .btn-primary::before { background: currentColor; opacity: 1; }

/* C16 · 主按钮 hover/focus 与按下状态。 */
body.pg-home :is(.site-header, .hero) .btn-primary:hover,
body.pg-home :is(.site-header, .hero) .btn-primary:focus-visible {
  color: var(--v45-bg);
  background: var(--v45-gold-hover);
  border-color: var(--v45-gold-hover);
  box-shadow: 0 10px 28px -16px rgba(200, 175, 131, .5);
}
body.pg-home :is(.site-header, .hero) .btn:active { transform: translateY(0); }

/* C17 · 首屏次按钮：不透明深底，金色细边。 */
body.pg-home .hero .btn-ghost {
  color: var(--v45-text);
  background: var(--v45-surface);
  border-color: var(--v45-gold);
  box-shadow: none;
}
body.pg-home .hero .btn-ghost:hover,
body.pg-home .hero .btn-ghost:focus-visible {
  color: var(--v45-gold-hover);
  background: var(--v45-hover);
  border-color: var(--v45-gold-hover);
  box-shadow: 0 10px 24px -18px rgba(0, 0, 0, .6);
}

/* C18 · 明确的键盘焦点与局部文字选中态。 */
body.pg-home :is(.site-header, .hero) :focus-visible {
  outline: 2px solid var(--v45-gold-hover);
  outline-offset: 4px;
}
body.pg-home :is(.site-header, .hero) ::selection {
  color: var(--v45-bg);
  background: var(--v45-gold-hover);
}

/* C19 · 同一背景覆盖初始化、fluid-on 和 fallback 三种状态。
   92% 深色罩 + 低强度光斑/网格：即使底图换成纯白，正文仍可读。 */
body.pg-home .hero.hero-fluid,
body.pg-home .hero.hero-fluid.fluid-on,
body.pg-home .hero.hero-fluid.fluid-fallback {
  color: var(--v45-text);
  background-color: var(--v45-bg);
  background-image: linear-gradient(rgba(21, 23, 19, .92), rgba(21, 23, 19, .92)), url('../img/planet/ochre-nebula.svg');
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* C20 · 旧流体是浅底着色器；预览中隐藏画布，防止后续注入白底。 */
body.pg-home .hero-fluid .fluid-canvas { display: none; }

/* C21 · 网格翻为低透明度金色，并恢复 fluid-on 下的伪元素。 */
body.pg-home .hero.hero-fluid::before {
  display: block;
  background-image: repeating-linear-gradient(90deg, rgba(200, 175, 131, .025) 0 1px, transparent 1px 24px), repeating-linear-gradient(0deg, rgba(200, 175, 131, .025) 0 1px, transparent 1px 24px);
}

/* C22 · 呼吸光斑：保留原动画，最大金光 alpha 为 .04。 */
body.pg-home .hero.hero-fluid::after {
  display: block;
  background: radial-gradient(circle, rgba(166, 124, 82, .04), rgba(166, 124, 82, 0) 68%);
}

/* C23 · 标题与强调词；保留 v43 已撤掉笔触和色块的决定。 */
body.pg-home .hero h1 { color: var(--v45-text); }
body.pg-home .hero h1 .hl { color: var(--v45-gold); }

/* C24 · 引言保持正文 AA，不给文字层叠加透明度。 */
body.pg-home .hero p.lead { color: var(--v45-muted); }

/* C25 · 下滑提示在暗底可见，原有滚动隐藏逻辑不变。 */
body.pg-home .v41-scroll { border-color: var(--v45-gold); }
body.pg-home .v41-scroll:hover,
body.pg-home .v41-scroll:focus-visible { border-color: var(--v45-gold-hover); }
body.pg-home .v41-scroll span { background: var(--v45-gold); }

/* C26 · 首屏末端与墙顶各 70px 同底色渐隐，纹理不会硬切。
   wall::before 只覆背景；container 提到上层，商标托底不受影响。 */
body.pg-home .hero.hero-fluid {
  box-shadow: inset 0 -70px 50px -30px var(--v45-bg);
}
body.pg-home .v36-wall { position: relative; }
body.pg-home .v36-wall::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 70px;
  background: linear-gradient(180deg, var(--v45-bg), rgba(21, 23, 19, 0));
  pointer-events: none;
}
body.pg-home .v36-wall > .container { position: relative; z-index: 1; }

/* C27 · 按实际 v41 断点覆盖平板/手机抽屉，包含要求的 ≤760px。 */
@media (max-width: 979px) {
  body.pg-home .main-nav,
  body.pg-home .main-nav.open {
    color: var(--v45-text);
    background: var(--v45-bg);
    border-bottom-color: var(--v45-border);
    box-shadow: 0 20px 40px -24px rgba(0, 0, 0, .8);
    max-height: calc(100vh - var(--header-h));
    max-height: calc(100dvh - var(--header-h));
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: max(20px, env(safe-area-inset-bottom));
  }

  /* C28 · 内联手风琴保持原有 checked 显隐规则。 */
  body.pg-home .nav-panel {
    background: var(--v45-surface);
    border: 0;
    border-radius: 10px;
    box-shadow: none;
  }
  body.pg-home .nav-caret { width: 44px; height: 44px; }
  body.pg-home .nav-caret:hover,
  body.pg-home .nav-caret:focus-visible { background: var(--v45-hover); }
  body.pg-home .nav-join-pop { border-color: var(--v45-border); box-shadow: none; }

  /* C29 · 汉堡与关闭态沿用原三条线变形，增加触摸面积。 */
  body.pg-home .nav-toggle { min-width: 44px; min-height: 44px; }
  body.pg-home .nav-toggle span { background: var(--v45-text); }
  body.pg-home .nav-toggle:hover,
  body.pg-home .nav-toggle:focus-visible { background: var(--v45-hover); border-radius: 8px; }
}

/* C30 · 手机不用 fixed 背景，保留渐隐；所有按钮至少 44px 高。 */
@media (max-width: 760px) {
  body.pg-home .hero.hero-fluid,
  body.pg-home .hero.hero-fluid.fluid-on,
  body.pg-home .hero.hero-fluid.fluid-fallback { background-attachment: scroll; }
  body.pg-home :is(.site-header, .hero) .btn { min-height: 44px; }
  body.pg-home .hero h1 .line { white-space: normal; }
}

/* C31 · 低动态偏好下静止装饰，保留完整信息和可见焦点。 */
@media (prefers-reduced-motion: reduce) {
  body.pg-home .hero.hero-fluid::before,
  body.pg-home .hero.hero-fluid::after,
  body.pg-home .v41-scroll span { animation: none; }
}

/* C32 · 2026-10-15 主人指令：客户 logo 滚动条（v36-wall-logobox）托底改暗金底。
   原托底为米白渐变板 #f7f3ec→#efe9dc（v43-logo.css L449，为白底彩标 logo 加）；
   改暗金渐变后，白底 logo 长图用 invert+hue-rotate(180°) 反色适配：
   白底→黑底融入暗金、深色字→浅色字、色相旋转回原彩色（红蓝绿基本保真）。 */
body.pg-home .v36-wall-logobox {
  background: linear-gradient(180deg, rgba(42, 37, 25, .55), rgba(26, 23, 18, .85));
  border: none;
  box-shadow: none;
}
body.pg-home .v36-wall-row img {
  filter: invert(1) hue-rotate(180deg);
  opacity: .85;
}
body.pg-home .v36-wall-row img:hover { opacity: 1; }

/* C33 · 2026-10-15 主人指令：第二屏新增「擎略定位」屏。
   版式参考茅庐学堂定位稿：kicker+大标题+两段正文+五张数据卡；
   文案全部取自站内已验证内容（about 页愿景句 + v36-stats 原数字）。
   底色沿用 --v45-bg #151713 + ochre-nebula 星云，与上下屏无缝衔接（C26 渐隐同底）。 */
body.pg-home .v45-position {
  background: #151713 url('../img/planet/ochre-nebula.svg') center center/cover no-repeat;
  color: #eee8dc;
  padding: 72px 0 84px;
  position: relative;
}
body.pg-home .v45-position .kicker { color: #c8af83; }
body.pg-home .v45-position .section-title .hl { color: #c8af83; }
body.pg-home .v45-pos-copy {
  max-width: 880px;
  margin: 22px auto 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 44px;
  font-size: 15.5px;
  line-height: 1.9;
  color: rgba(238, 232, 220, .82);
}
body.pg-home .v45-pos-copy p { margin: 0; }
body.pg-home .v45-pos-stats {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}
body.pg-home .v45-pos-card {
  background: linear-gradient(180deg, #2a2519, #1a1712);
  border: 1px solid rgba(200, 175, 131, .22);
  border-radius: 14px;
  padding: 22px 14px 18px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-shadow: inset 0 1px 0 rgba(238, 232, 220, .04);
}
body.pg-home .v45-pos-card b {
  font-size: clamp(30px, 3.2vw, 42px);
  line-height: 1;
  color: #c8af83;
  font-weight: 700;
  letter-spacing: .5px;
}
body.pg-home .v45-pos-card b em {
  font-style: normal;
  font-size: .45em;
  font-weight: 500;
  margin-left: 3px;
  color: rgba(200, 175, 131, .85);
}
body.pg-home .v45-pos-card > span {
  font-size: 13px;
  color: rgba(238, 232, 220, .72);
  letter-spacing: .5px;
}
@media (max-width: 900px) {
  body.pg-home .v45-pos-copy { grid-template-columns: 1fr; }
  body.pg-home .v45-pos-stats { grid-template-columns: repeat(2, 1fr); }
  body.pg-home .v45-pos-card:last-child { grid-column: 1 / -1; }
}

/* C34 · 2026-10-15 主人指令：定位屏右侧配「科技企业暗黑线稿」。
   金色细线描线入场（stroke-dashoffset），节点闪烁、天线脉冲、数据流虚线流动、整体缓浮；
   与暗金星云同底融合，reduced-motion 下静止为成品线稿。 */
body.pg-home .v45-pos-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: 28px 48px;
  align-items: center;
}
body.pg-home .v45-pos-art {
  position: relative;
  display: flex;
  justify-content: center;
  animation: v45Float 9s ease-in-out infinite;
}
body.pg-home .v45-lineart { width: min(100%, 420px); height: auto; opacity: .92; }
/* 描线入场：未进入视口前各层藏线 */
body.pg-home .v45-lineart .v45-la-body path,
body.pg-home .v45-lineart .v45-la-antenna path:not(.v45-pulse),
body.pg-home .v45-lineart .v45-la-flow path,
body.pg-home .v45-lineart .v45-la-base path {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  transition: stroke-dashoffset 1.6s cubic-bezier(.22,.8,.28,1);
}
body.pg-home .v45-lineart .v45-la-body path { transition-duration: 2s; }
body.pg-home .v45-pos-art.in .v45-lineart .v45-la-body path,
body.pg-home .v45-pos-art.in .v45-lineart .v45-la-antenna path:not(.v45-pulse),
body.pg-home .v45-pos-art.in .v45-lineart .v45-la-flow path,
body.pg-home .v45-pos-art.in .v45-lineart .v45-la-base path {
  stroke-dashoffset: 0;
}
/* 数据流虚线持续流动（在描线完成后接管） */
body.pg-home .v45-pos-art.in .v45-lineart .v45-la-flow path {
  animation: v45Flow 2.8s linear infinite;
  animation-delay: 2.2s;
}
body.pg-home .v45-pos-art.in .v45-lineart .v45-la-base path {
  animation: v45Flow 4.2s linear infinite;
  animation-delay: 2.6s;
}
/* 天线脉冲圈 */
body.pg-home .v45-pulse {
  stroke-dasharray: 100;
  animation: v45Pulse 2.6s ease-out infinite;
  opacity: 0;
}
body.pg-home .v45-pos-art.in .v45-pulse { opacity: .8; }
/* 节点闪烁 */
body.pg-home .v45-node { opacity: 0; transition: opacity .6s ease 2s; }
body.pg-home .v45-pos-art.in .v45-node { opacity: .9; }
body.pg-home .v45-pos-art.in .v45-node.n1 { animation: v45Twinkle 3.2s ease-in-out 2.4s infinite; }
body.pg-home .v45-pos-art.in .v45-node.n2 { animation: v45Twinkle 3.2s ease-in-out 2.8s infinite; }
body.pg-home .v45-pos-art.in .v45-node.n3 { animation: v45Twinkle 3.2s ease-in-out 3.2s infinite; }
body.pg-home .v45-pos-art.in .v45-node.n4 { animation: v45Twinkle 3.2s ease-in-out 2.6s infinite; }
body.pg-home .v45-pos-art.in .v45-node.n5 { animation: v45Twinkle 3.2s ease-in-out 3s infinite; }
@keyframes v45Float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@keyframes v45Flow {
  from { stroke-dashoffset: 100; }
  to { stroke-dashoffset: 0; }
}
@keyframes v45Pulse {
  0% { stroke-dasharray: 0 100; stroke-dashoffset: 0; opacity: .9; }
  70% { stroke-dasharray: 60 40; opacity: .25; }
  100% { stroke-dasharray: 100 0; stroke-dashoffset: -100; opacity: 0; }
}
@keyframes v45Twinkle {
  0%, 100% { opacity: .9; }
  50% { opacity: .3; }
}
/* 移动端：线稿移到正文下方居中，缩窄 */
@media (max-width: 900px) {
  body.pg-home .v45-pos-grid { grid-template-columns: 1fr; }
  body.pg-home .v45-pos-art { order: 2; margin-top: 8px; }
  body.pg-home .v45-lineart { width: min(78%, 320px); }
}

/* C35 · 2026-10-15 主人指令：首屏配主题动效。
   ① 金色星尘粒子 canvas（v45-dust）：缓慢漂浮 + 闪烁，离屏停转，reduced-motion 不启动；
   ② 标题高亮词「长出来」流光扫过（背景裁切文字，8s 一轮）。 */
body.pg-home .v45-dust {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
body.pg-home .hero-fluid > .container { position: relative; z-index: 1; }
body.pg-home .hero h1 .hl {
  background-image: linear-gradient(110deg, var(--v45-gold) 0%, var(--v45-gold) 42%, #f4e6c8 50%, var(--v45-gold) 58%, var(--v45-gold) 100%);
  background-size: 220% 100%;
  background-position: 120% 0;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: v45Shimmer 8s ease-in-out 1.4s infinite;
}
@keyframes v45Shimmer {
  0% { background-position: 120% 0; }
  38%, 100% { background-position: -120% 0; }
}
@media (prefers-reduced-motion: reduce) {
  body.pg-home .hero h1 .hl { animation: none; -webkit-text-fill-color: var(--v45-gold); }
  body.pg-home .v45-pos-art,
  body.pg-home .v45-pos-art .v45-lineart * { animation: none !important; }
  body.pg-home .v45-pos-art .v45-node { opacity: .9; }
}

/* C34b · 数据端口小方块：描线后延迟淡入（rect 不参与 dash 描线）。 */
body.pg-home .v45-la-ports { opacity: 0; transition: opacity .7s ease 1.6s; }
body.pg-home .v45-pos-art.in .v45-la-ports { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  body.pg-home .v45-la-ports { opacity: 1; transition: none; }
}
