/* ==========================================================================
   sixianghui.css —— 只服务 p/sixianghui.html（创富私享会高客单页）
   --------------------------------------------------------------------------
   2026-09-24 整页重做：逐屏对标 eden.so/bootcamp。
   作用域：所有选择器都挂在 .sh 下，类名一律 sh- 前缀，
   改这一页不会碰到首页地图、抽屉、板块页。

   对标关系（Eden 那一屏 → 这里哪一屏）：
     Hero（灰白两行 H1 + 粗体引导句 + 白色胶囊按钮 + 小字）→ .sh-hero
     Past results（三列成果卡）                          → .sh-results
     The World Is Changing（问题 + 引语 + 劝退清单）      → #why
     Hey, I'm Dan（作者 + 背书 + 起点故事 + 图表）         → #about
     One Idea A Week（方法论 + 清单）                     → #system
     Curriculum + AI Tools + Eden Pro + 直播表 + Discord  → #inside
     This Skill Transfers（三种出路卡）                   → #gain
     Real results from past students（瀑布流见证墙）       → #results
     Join The Bootcamp（居中价格卡 + 折叠清单）            → #access
     I've Got Answers（dl 问答，全部展开）                → #faq
     Last Thing（大光晕收尾）                             → .sh-final

   参数实测来源：eden.so/bootcamp 内联 CSS（2026-09-24 抓取）
     正文栏 680 / 首屏栏 820 / 成果网格 1040 / 价格区 920
     章节 py clamp(3.5rem,7vw,6rem)；见证墙 clamp(4.5rem,10vw,7rem)
     卡片 #141414 + 边 .08（成果卡 .10）+ 圆角 16 / 14
     淡入 translateY(24px) .7s cubic-bezier(.22,.68,.35,1)
     每屏顶上一层 radial-gradient 光晕，左 12% / 右 88% / 中 50% 交替

   中文刻意偏离 Eden 的地方（都是为了楷体可读）：
     H1 行高 1.12（Eden 1.02）、正文行高 1.85（Eden 1.7）、
     小标签 12.5px（Eden 11.2px —— 中文 11px 糊）
   ========================================================================== */

.sh {
  --sh-col: 680px;          /* 长正文栏 */
  --sh-col-hero: 820px;     /* 首屏栏 */
  --sh-col-grid: 1040px;    /* 成果网格 / 见证墙 */
  --sh-col-price: 920px;    /* 价格区 */
  --sh-body: clamp(17px, 1.5vw, 19px);
  --sh-leading: 1.85;
  --sh-card: #191612;
  --sh-card-2: #1F1C17;
  --sh-ease: cubic-bezier(.22, .68, .35, 1);
  /* 全页唯一的彩色：Eden 那句「3 亿岗位」用的是柔和珊瑚红。
     这里也只用在一处 —— 「金钱就像一头野兽」下面那句高亮 */
  --sh-coral: var(--accent-text);   /* 配色 B：那句高亮改成朱砂的浅一档 */
}

.sh main { position: relative; z-index: 2; }

/* --------------------------------------------------------------------------
   容器
   -------------------------------------------------------------------------- */
.sh-col {
  max-width: calc(var(--sh-col) + var(--gutter) * 2);
  margin: 0 auto;
  padding: 0 var(--gutter);
}
.sh-col--hero  { max-width: calc(var(--sh-col-hero) + var(--gutter) * 2); }
.sh-col--grid  { max-width: calc(var(--sh-col-grid) + var(--gutter) * 2); }
.sh-col--price { max-width: calc(var(--sh-col-price) + var(--gutter) * 2); }

/* --------------------------------------------------------------------------
   每一屏的外框：上边线 + 顶部一团极淡的光
   Eden 原样：radial-gradient(60% 50% at 12% 0%, rgba(255,255,255,.045), transparent 65%)
   -------------------------------------------------------------------------- */
.sh-band {
  position: relative;
  border-top: 1px solid var(--border);
  overflow: hidden;
}
.sh-band::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(60% 50% at 12% 0%, var(--accent-glow), rgba(255,248,240,.025) 40%, transparent 68%);
}
.sh-band--r::before { background-image: radial-gradient(60% 50% at 88% 0%, var(--accent-glow), rgba(255,248,240,.025) 40%, transparent 68%); }
.sh-band--c::before { background-image: radial-gradient(70% 55% at 50% 0%, var(--accent-glow), rgba(255,248,240,.03) 40%, transparent 68%); }
.sh-band > * { position: relative; }

.sh-sec { padding: clamp(3.5rem, 7vw, 6rem) 0; }
.sh-sec--wall { padding: clamp(4.5rem, 10vw, 7rem) 0; }
.sh-sec--access { padding: clamp(4.5rem, 8vw, 7rem) 0; }

/* --------------------------------------------------------------------------
   文字层级：小标签 → 标题 → 副标题 → 正文 → 注释
   -------------------------------------------------------------------------- */
.sh-eyebrow {
  font-family: var(--font-heading);
  font-size: 12.5px;
  line-height: 1.6;
  letter-spacing: .02em;
  color: var(--text-faint);
  margin: 0 0 16px;
}

.sh-h2 {
  font-family: var(--font-display-cn);
  font-weight: 400;
  font-size: clamp(1.7rem, 3.2vw, 2.5rem);
  line-height: 1.22;
  letter-spacing: -.01em;
  color: var(--text-primary);
  margin: 0 0 12px;
  text-wrap: balance;
}
.sh-h2 .dim { color: var(--text-muted); }
.sh-sub {
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--text-muted);
  margin: 0 0 32px;
}
.sh-head { margin-bottom: 32px; }
.sh-head .sh-sub { margin-bottom: 0; }
.sh-head--center { text-align: center; max-width: 640px; margin-left: auto; margin-right: auto; }

.sh-prose p {
  font-size: var(--sh-body);
  line-height: var(--sh-leading);
  color: var(--text-body);
  margin: 0 0 22px;
}
.sh-prose p:last-child { margin-bottom: 0; }
.sh-prose b, .sh-prose strong { color: var(--text-primary); font-weight: 600; }
.sh-prose .sh-strong { color: var(--text-primary); font-weight: 500; }
.sh-prose a { color: var(--text-primary); border-bottom: 1px solid rgba(255,248,240,.3); transition: border-color .2s; }
.sh-prose a:hover { border-color: #FFF8F0; }

.sh-h3 {
  font-family: var(--font-display-cn);
  font-weight: 400;
  font-size: clamp(1.4rem, 2.6vw, 1.9rem);
  line-height: 1.3;
  color: var(--text-primary);
  margin: 44px 0 16px;
}

/* Eden 每屏结尾那句大号收束语 */
.sh-closer {
  font-family: var(--font-display-cn);
  font-size: clamp(1.3rem, 2.4vw, 1.7rem);
  line-height: 1.5;
  color: var(--text-primary);
  margin: 36px 0 0;
  text-wrap: balance;
}

.sh-label {
  font-family: var(--font-heading);
  font-size: 12.5px;
  letter-spacing: .02em;
  color: var(--text-faint);
  margin: 44px 0 14px;
}

.sh-note {
  font-size: 14px;
  line-height: 1.7;
  color: var(--text-faint);
  margin: 14px 0 0;
}

.sh-cta { margin-top: 40px; }

/* --------------------------------------------------------------------------
   首屏
   -------------------------------------------------------------------------- */
.sh-hero {
  position: relative;
  padding: clamp(72px, 11vh, 128px) 0 clamp(2.5rem, 5vw, 4rem);
  overflow-x: clip;
}
.sh-hero::before {
  content: "";
  position: absolute;
  inset: 0 0 20% 0;
  pointer-events: none;
  background: radial-gradient(60% 55% at 25% 0%, rgba(200,69,46,.09), rgba(255,248,240,.02) 45%, transparent 68%);
}
.sh-hero > * { position: relative; }

.sh-h1 {
  font-family: var(--font-display-cn);
  font-weight: 400;
  /* 上限 3.45rem 是算出来的：东方大楷每个字实测宽 1.07em，
     第二行 13 个字 × 55.2 × 1.07 ≈ 768 < 820 栏宽。
     上一版 3.7rem 超了 0.5px，整行被折成两半。
     下限 1.9rem：手机第二段 10 个字 × 30.4 × 1.07 ≈ 325 < 342 */
  font-size: clamp(1.9rem, 5vw, 3.45rem);
  line-height: 1.12;
  letter-spacing: -.01em;
  color: var(--text-primary);
  margin: 0 0 26px;
}
.sh-h1 > span { display: block; }
.sh-h1 .dim { color: var(--text-muted); }
/* 手机上第二行太长，在语义断点处再折一次，不让浏览器按字宽硬劈 */
.sh-h1 .mb { display: inline; }
@media (max-width: 560px) { .sh-h1 .mb { display: block; } }

/* 手绘下划线：Eden 的 hero-underline-draw，原样搬 */
.sh-ul { position: relative; white-space: nowrap; font-style: normal; }
.sh-ul svg {
  position: absolute;
  left: -2%;
  bottom: -.2em;
  width: 104%;
  height: .42em;
  overflow: visible;
  pointer-events: none;
}
.sh-ul path {
  fill: none;
  stroke: var(--accent);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: sh-underline .9s cubic-bezier(.65,.05,.36,1) .9s forwards;
}
@keyframes sh-underline { to { stroke-dashoffset: 0; } }

.sh-hero__lead {
  font-size: clamp(1.12rem, 1.7vw, 1.35rem);
  line-height: 1.75;
  color: var(--text-muted);
  max-width: 640px;
  margin: 0 0 30px;
}
.sh-hero__lead b { color: var(--text-primary); font-weight: 600; }

.sh-hero__cta { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.sh-hero__note {
  font-size: 14.5px;
  color: var(--text-faint);
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
}
.sh-hero__note b { color: var(--text-muted); font-weight: 600; }

/* 首屏入场：Eden 首屏是一整块一起出现；这里拆成四拍，每拍 90ms */
.js .sh-in { opacity: 0; transform: translateY(10px); animation: sh-in .8s var(--sh-ease) forwards; }
.js .sh-in:nth-child(1) { animation-delay: .05s; }
.js .sh-in:nth-child(2) { animation-delay: .14s; }
.js .sh-in:nth-child(3) { animation-delay: .23s; }
.js .sh-in:nth-child(4) { animation-delay: .32s; }
@keyframes sh-in { to { opacity: 1; transform: none; } }

/* 实时人数小点：Eden 的 eden-pulse-dot */
.sh-live {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.sh-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
  animation: sh-pulse 2.5s ease-in-out infinite;
  flex: none;
}
@keyframes sh-pulse {
  0%, 100% { opacity: .45; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.25); }
}

/* --------------------------------------------------------------------------
   成果卡（首屏下方三列）
   -------------------------------------------------------------------------- */
.sh-results { padding: 0 0 clamp(2.5rem, 5vw, 4rem); }
.sh-results__label {
  font-family: var(--font-heading);
  font-size: 12.5px;
  color: var(--text-faint);
  margin: 0 0 18px;
}
.sh-rgrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.sh-rc {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 22px;
  border-radius: 16px;
  background: var(--sh-card);
  border: 1px solid var(--border-card);
  box-shadow: 0 2px 10px rgba(0,0,0,.35), 0 18px 40px -22px rgba(0,0,0,.55);
}
.sh-rc__tag {
  font-family: var(--font-heading);
  font-size: 12px;
  color: var(--text-faint);
  margin: 0 0 8px;
}
.sh-rc__q {
  font-size: 1.08rem;
  line-height: 1.55;
  color: var(--text-primary);
  margin: 0;
  min-height: 3.1em;
}

/* 截图框：固定比例、从顶部裁，点开看全图（Eden 的 cursor-zoom-in） */
.sh-shot {
  display: block;
  position: relative;
  width: 100%;
  margin: 16px 0 0;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  background: #ECE5DB;
  cursor: zoom-in;
  aspect-ratio: 4 / 3.4;
}
.sh-shot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  transition: transform .5s var(--sh-ease);
}
.sh-shot::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 38%;
  background: linear-gradient(to bottom, transparent, rgba(25,22,18,.55));
  pointer-events: none;
  transition: opacity .3s;
}
.sh-shot__hint {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  padding: 5px 10px;
  border-radius: 999px;
  color: #FFF8F0;
  background: rgba(14,12,10,.62);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,248,240,.14);
  opacity: .9;
  transition: opacity .2s, transform .2s;
}
.sh-shot:hover img { transform: scale(1.025); }
.sh-shot:hover .sh-shot__hint { opacity: 1; transform: translateY(-1px); }
.sh-shot--tall { aspect-ratio: auto; max-height: 420px; }
.sh-shot--tall img { height: auto; }
.sh-shot--bill { aspect-ratio: 900 / 520; background: #5aae7a; }
.sh-shot--wide { aspect-ratio: auto; background: #0b0f1a; }
.sh-shot--wide img { height: auto; }
.sh-shot--wide::after { display: none; }

/* 头像已打码：用一团模糊色块代替，和截图里的马赛克是同一种意思 */
.sh-who {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
}
.sh-who__av {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  flex: none;
  background:
    radial-gradient(circle at 35% 35%, rgba(255,248,240,.55), transparent 55%),
    linear-gradient(135deg, #6F685D, #2F2B25);
  filter: blur(.6px);
  box-shadow: inset 0 0 0 1px rgba(255,248,240,.08);
}
.sh-who__t { min-width: 0; line-height: 1.35; }
.sh-who__n { display: block; font-size: 13.5px; color: var(--text-primary); }
.sh-who__r { display: block; font-size: 12px; color: var(--text-faint); }

@media (max-width: 860px) {
  /* 手机上 6 张竖长卡叠起来太长 —— 改成横滑，一次露出一张半，提示还能滑 */
  .sh-rgrid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 78%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 6px;
    margin: 0 calc(var(--gutter) * -1);
    padding-left: var(--gutter);
    padding-right: var(--gutter);
    scroll-padding-left: var(--gutter);
    scrollbar-width: none;
  }
  .sh-rgrid::-webkit-scrollbar { display: none; }
  .sh-rc { scroll-snap-align: start; }
}
.sh-swipe-hint { display: none; font-size: 12.5px; color: var(--text-faint); margin: 12px 0 0; }
@media (max-width: 860px) { .sh-swipe-hint { display: block; } }

/* --------------------------------------------------------------------------
   #why —— 问题与劝退清单
   -------------------------------------------------------------------------- */
.sh-stat {
  font-size: clamp(1.1rem, 1.5vw, 1.28rem);
  line-height: 1.7;
  font-weight: 600;
  color: var(--sh-coral);
  margin: 0 0 30px;
}
.sh-stat span { display: block; font-weight: 400; color: var(--text-faint); margin-top: 4px; font-size: .92em; }

.sh-quote {
  margin: 36px 0;
  padding: 2px 0 2px 20px;
  border-left: 2px solid var(--accent);
}
.sh-quote p {
  font-family: var(--font-display-cn);
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  line-height: 1.6;
  color: var(--text-primary);
  margin: 0;
}
.sh-quote cite {
  display: block;
  font-style: normal;
  font-size: 12.5px;
  color: var(--text-faint);
  margin-top: 10px;
}

/* 带粗体引导语的清单：Eden 的 "You have multiple interests but ..." */
.sh-bullets {
  list-style: none;
  margin: 26px 0 0;
  padding: 0;
  display: grid;
  gap: 16px;
}
.sh-bullets li {
  position: relative;
  padding-left: 22px;
  font-size: 17px;
  line-height: 1.75;
  color: var(--text-muted);
}
.sh-bullets li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: .72em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--text-primary);
}
.sh-bullets b { color: var(--text-primary); font-weight: 500; }

/* 两套体系：并排两张卡 */
.sh-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 30px 0;
}
@media (max-width: 640px) { .sh-pair { grid-template-columns: 1fr; } }

/* 通用图标卡：Eden 的课程卡 / 三种出路卡 */
.sh-card {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 20px;
  border-radius: 16px;
  background: var(--sh-card);
  border: 1px solid var(--border);
}
.sh-card--stack { flex-direction: column; gap: 12px; }
.sh-card__ic {
  width: 36px;
  height: 36px;
  flex: none;
  display: grid;
  place-items: center;
  border-radius: 9px;
  border: 1px solid rgba(248,242,233,.3);
  background: rgba(248,242,233,.07);
  color: var(--text-primary);
}
.sh-card__ic svg { width: 17px; height: 17px; }
.sh-card__t {
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--text-primary);
  margin: 0 0 6px;
}
.sh-card__k { font-size: 12px; color: var(--text-faint); display: block; margin-bottom: 4px; letter-spacing: .02em; }
.sh-card__d { font-size: 15.5px; line-height: 1.7; color: #CFC7BB; margin: 0; }
.sh-card__d + .sh-card__d { margin-top: 10px; }
.sh-cards { display: grid; gap: 10px; }

/* --------------------------------------------------------------------------
   #about —— 作者
   -------------------------------------------------------------------------- */
.sh-me { display: flex; align-items: center; gap: 14px; margin: 0 0 28px; }
.sh-me__av {
  /* 配色 B：「叶」字头像做成一方朱砂印 */
  width: 48px;
  height: 48px;
  border-radius: 7px;
  flex: none;
  display: grid;
  place-items: center;
  font-family: var(--font-display-cn);
  font-size: 24px;
  color: var(--on-accent);
  background: var(--accent);
  transform: rotate(-4deg);
  box-shadow: inset 0 0 0 2px rgba(255,248,240,.28), 0 8px 20px -8px rgba(200,69,46,.6);
}
.sh-me__n { display: block; font-size: 1.05rem; color: var(--text-primary); font-weight: 500; }
.sh-me__r { display: block; font-size: 13px; color: var(--text-faint); margin-top: 2px; }

.sh-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 30px 0 8px;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.sh-fact { padding: 20px 4px; }
.sh-fact + .sh-fact { border-left: 1px solid var(--border); padding-left: 18px; }
.sh-fact__v {
  display: block;
  font-family: var(--font-display-cn);
  font-size: clamp(1.6rem, 3.4vw, 2.3rem);
  line-height: 1.1;
  color: var(--text-primary);
}
.sh-fact__k { display: block; font-size: 13px; color: var(--text-faint); margin-top: 8px; }

.sh-bills {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 14px 0 0;
}
.sh-bills .sh-shot { margin: 0; }
.sh-bills figcaption { font-size: 12.5px; color: var(--text-faint); margin-top: 8px; text-align: center; }
.sh-bills figure { margin: 0; }
@media (max-width: 560px) {
  .sh-bills { grid-template-columns: 1fr 1fr 1fr; gap: 6px; }
  .sh-shot--bill .sh-shot__hint { display: none; }
}

/* --------------------------------------------------------------------------
   #system —— 四步循环图 + 四步表
   -------------------------------------------------------------------------- */
.sh-cycle {
  margin: 34px auto 10px;
  max-width: 460px;
}
.sh-cycle svg { display: block; width: 100%; height: auto; overflow: visible; }
.sh-cycle .ring {
  fill: none;
  stroke: rgba(255,248,240,.22);
  stroke-width: 1.4;
  stroke-dasharray: 3 7;
}
.sh-cycle .arc {
  fill: none;
  stroke: rgba(255,248,240,.62);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  transition: stroke-dashoffset 1.1s cubic-bezier(.65,.05,.36,1);
}
.sh-cycle .arrow { fill: rgba(255,248,240,.7); opacity: 0; transition: opacity .4s ease; }
.sh-cycle.is-on .arc { stroke-dashoffset: 0; }
.sh-cycle.is-on .arrow { opacity: 1; }
.sh-cycle.is-on .arc:nth-of-type(2) { transition-delay: .25s; }
.sh-cycle.is-on .arc:nth-of-type(3) { transition-delay: .5s; }
.sh-cycle.is-on .arc:nth-of-type(4) { transition-delay: .75s; }
.sh-cycle .node circle.bg {
  fill: #171410;
  stroke: rgba(255,248,240,.28);
  stroke-width: 1.2;
  transition: fill .45s ease, stroke .45s ease;
}
.sh-cycle .node circle.glow { fill: rgba(255,248,240,.0); transition: fill .45s ease; }
.sh-cycle .node text { transition: fill .45s ease; }
.sh-cycle .node .n { fill: var(--text-faint); font: 500 12px var(--font-heading); }
.sh-cycle .node .t { fill: var(--text-primary); font: 400 17px var(--font-display-cn); }
.sh-cycle .node .s { fill: var(--text-faint); font: 400 11.5px var(--font-body); }
.sh-cycle .node.is-active circle.bg { fill: var(--bg-accent); stroke: var(--accent); }
.sh-cycle .node.is-active circle.glow { fill: rgba(255,248,240,.07); }
.sh-cycle .node.is-active .n { fill: var(--text-primary); }
.sh-cycle .core circle { fill: #12100D; stroke: rgba(255,248,240,.14); }
.sh-cycle .core text { fill: var(--text-muted); font: 400 14px var(--font-display-cn); }
.sh-cycle .runner { fill: var(--accent-text); filter: drop-shadow(0 0 6px rgba(224,101,74,.9)); }

/* 四步：Eden「Live Call Schedule」那张表的做法 —— 左列标签、右列内容、行间细线 */
.sh-sched {
  margin: 26px 0 0;
  padding: 20px;
  border-radius: 16px;
  background: var(--sh-card);
  border: 1px solid var(--border-strong);
}
.sh-sched__label { font-size: 12.5px; color: var(--text-faint); margin: 0 0 6px; }
.sh-sched__row {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 4px 16px;
  padding: 18px 0;
  border-top: 1px solid var(--border);
  transition: background .3s ease;
}
.sh-sched__row:first-of-type { border-top: 0; }
.sh-sched__k { font-size: 12.5px; color: var(--text-faint); padding-top: 4px; transition: color .3s; }
.sh-sched__t {
  font-family: var(--font-display-cn);
  font-size: 1.2rem;
  line-height: 1.45;
  color: var(--text-primary);
  margin: 0 0 8px;
}
.sh-sched__d { font-size: 15.5px; line-height: 1.8; color: #C9C1B5; margin: 0 0 10px; }
.sh-sched__d:last-child { margin-bottom: 0; }
.sh-sched__row.is-active .sh-sched__k { color: var(--text-primary); }
.sh-sched__foot { font-size: 14px; line-height: 1.7; color: var(--text-muted); margin: 6px 0 0; padding-top: 16px; border-top: 1px solid var(--border); }
@media (max-width: 560px) {
  .sh-sched { padding: 18px 16px; }
  .sh-sched__row { grid-template-columns: 1fr; }
}

/* 公式：输入 + 行动 + 环境 = 改变 */
.sh-eq {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: stretch;
  gap: 8px;
  margin: 26px 0 8px;
}
.sh-eq__i {
  padding: 18px 16px;
  border-radius: 14px;
  background: var(--sh-card);
  border: 1px solid var(--border-card);
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--text-primary);
}
.sh-eq__i small { display: block; font-size: 12px; color: var(--text-faint); margin-bottom: 6px; }
.sh-eq__op {
  align-self: center;
  font-family: var(--font-heading);
  font-size: 20px;
  color: var(--text-faint);
}
.sh-eq__r {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 6px;
  padding: 16px 18px;
  border-radius: 14px;
  border: 1px dashed rgba(255,248,240,.22);
  color: var(--text-muted);
  font-size: 15.5px;
}
.sh-eq__r b { color: var(--text-primary); font-weight: 500; }
.js .sh-eq > * { opacity: 0; transform: translateY(8px); transition: opacity .6s var(--sh-ease), transform .6s var(--sh-ease); }
.js .sh-eq.is-on > * { opacity: 1; transform: none; }
.js .sh-eq.is-on > :nth-child(2) { transition-delay: .12s; }
.js .sh-eq.is-on > :nth-child(3) { transition-delay: .24s; }
.js .sh-eq.is-on > :nth-child(4) { transition-delay: .36s; }
.js .sh-eq.is-on > :nth-child(5) { transition-delay: .48s; }
.js .sh-eq.is-on > :nth-child(6) { transition-delay: .7s; }
@media (max-width: 640px) {
  .sh-eq { grid-template-columns: 1fr; }
  .sh-eq__op { justify-self: center; line-height: 1; }
}

/* --------------------------------------------------------------------------
   #inside —— 四个组成部分 / 七大模块 / 专属权益
   -------------------------------------------------------------------------- */
.sh-part {
  margin: 0 0 14px;
  padding: 24px;
  border-radius: 16px;
  background: var(--sh-card);
  border: 1px solid var(--border);
}
.sh-part__head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.sh-part__k { font-size: 12.5px; color: var(--text-faint); letter-spacing: .02em; }
.sh-part__t {
  font-family: var(--font-display-cn);
  font-size: clamp(1.3rem, 2.2vw, 1.55rem);
  line-height: 1.35;
  color: var(--text-primary);
  margin: 0 0 14px;
}
.sh-part .sh-prose p { font-size: 16.5px; line-height: 1.85; margin-bottom: 16px; }
.sh-part__shots { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.sh-part__shots .sh-shot { margin: 0; aspect-ratio: 3 / 3.4; }
.sh-part__shots--one { grid-template-columns: 1fr; }
.sh-part__shots--one .sh-shot { aspect-ratio: 16 / 11; }
@media (max-width: 560px) {
  .sh-part { padding: 20px 16px; }
  .sh-part__shots { gap: 6px; }
  .sh-part__shots .sh-shot__hint { font-size: 11px; padding: 4px 8px; }
}

.sh-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 18px; padding: 0; list-style: none; }
.sh-chip {
  font-size: 13.5px;
  padding: 6px 13px;
  border-radius: 999px;
  color: var(--text-primary);
  background: rgba(255,248,240,.05);
  border: 1px solid rgba(255,248,240,.12);
}
.sh-chip--soft { color: var(--text-faint); border-style: dashed; }

.sh-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 2px 0 18px; }
.sh-kpi {
  padding: 16px;
  border-radius: 12px;
  background: var(--sh-card-2);
  border: 1px solid var(--border-card);
}
.sh-kpi__v { display: block; font-family: var(--font-display-cn); font-size: 1.6rem; line-height: 1.15; color: var(--text-primary); }
.sh-kpi__k { display: block; font-size: 13.5px; color: var(--text-muted); margin-top: 6px; line-height: 1.55; }
@media (max-width: 420px) { .sh-kpis { grid-template-columns: 1fr; } }

/* 三个大数字（海报原样：全程 / 7 大模块 / 1 对 1） */
.sh-big3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 8px 0 22px;
}
.sh-big3 > div {
  padding: 18px 16px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: linear-gradient(to bottom, rgba(255,248,240,.035), rgba(255,248,240,0));
}
.sh-big3 b { display: block; font-family: var(--font-display-cn); font-weight: 400; font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1; color: var(--text-primary); }
.sh-big3 b small { font-size: .5em; margin-left: 4px; color: var(--text-muted); }
.sh-big3 span { display: block; font-size: 13px; color: var(--text-faint); margin-top: 10px; }

/* 七大模块：Eden 课程卡（勾 + 标题 + 说明），子项做成卡内两列 */
.sh-mods { display: grid; gap: 10px; }
.sh-mod {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 16px;
  padding: 20px;
  border-radius: 16px;
  background: var(--sh-card);
  border: 1px solid var(--border);
  transition: border-color .25s ease, background .25s ease;
}
.sh-mod:hover { border-color: rgba(255,248,240,.14); }
.sh-mod__n {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  border: 1px solid rgba(248,242,233,.3);
  background: rgba(248,242,233,.07);
  font: 500 13px var(--font-heading);
  color: var(--text-primary);
}
.sh-mod__t {
  font-family: var(--font-display-cn);
  font-size: 1.28rem;
  line-height: 1.35;
  color: var(--text-primary);
  margin: 4px 0 2px;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 12px;
}
.sh-mod__en { font: 500 11px var(--font-heading); letter-spacing: .14em; text-transform: uppercase; color: var(--text-faint); }
.sh-mod__tag { font-size: 15px; line-height: 1.65; color: var(--text-muted); margin: 6px 0 0; }
.sh-mod__tag::before { content: "→ "; color: var(--accent-text); }
.sh-mod__items {
  list-style: none;
  padding: 0;
  margin: 14px 0 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
}
.sh-mod__items li { position: relative; padding-left: 22px; font-size: 14.5px; line-height: 1.65; color: #BEB5A9; }
.sh-mod__items li b { display: block; color: var(--text-primary); font-weight: 500; font-size: 15px; }
.sh-mod__items li svg { position: absolute; left: 0; top: 4px; width: 14px; height: 14px; color: var(--accent-text); }
.sh-mod__items--1 { grid-template-columns: 1fr; }
.sh-mod__foot { font-size: 14.5px; line-height: 1.7; color: var(--text-muted); margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--border); }
.sh-mod__foot b { color: var(--text-primary); font-weight: 500; }
/* 第 07 模块：Eden「A Full Year Of Eden Pro」那张加亮卡 */
.sh-mod--hl {
  border-color: var(--border-strong);
  background: linear-gradient(to bottom, #1F1C17, #191612);
  box-shadow: 0 1px 0 rgba(255,248,240,.04) inset, 0 20px 40px -24px rgba(0,0,0,.7);
}
@media (max-width: 640px) {
  .sh-mod { grid-template-columns: 1fr; gap: 10px; padding: 18px 16px; }
  .sh-mod__items { grid-template-columns: 1fr; }
}

/* 专属权益：编号行 */
.sh-perks {
  margin: 0;
  padding: 6px 20px;
  border-radius: 16px;
  background: var(--sh-card);
  border: 1px solid var(--border-strong);
  list-style: none;
}
.sh-perks li {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 14px;
  padding: 18px 0;
  border-top: 1px solid var(--border);
}
.sh-perks li:first-child { border-top: 0; }
.sh-perks__n { font: 500 13px var(--font-heading); color: var(--text-faint); padding-top: 4px; }
.sh-perks__t { font-size: 1.08rem; color: var(--text-primary); font-weight: 500; margin: 0 0 4px; }
.sh-perks__d { font-size: 14.5px; line-height: 1.7; color: #BEB5A9; margin: 0; }
@media (max-width: 560px) { .sh-perks { padding: 4px 16px; } .sh-perks li { grid-template-columns: 30px 1fr; gap: 8px; } }

/* 勾选清单（价格卡、一年后） */
.sh-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
.sh-checks li { position: relative; padding-left: 26px; font-size: 15.5px; line-height: 1.6; color: #D8D1C5; }
.sh-checks li svg { position: absolute; left: 0; top: 4px; width: 15px; height: 15px; color: var(--accent-text); }
.sh-checks--2 { grid-template-columns: 1fr 1fr; gap: 12px 20px; }
@media (max-width: 560px) { .sh-checks--2 { grid-template-columns: 1fr; } }

/* --------------------------------------------------------------------------
   #results —— 见证墙（瀑布流）
   -------------------------------------------------------------------------- */
.sh-wall-h {
  font-family: var(--font-display-cn);
  font-weight: 400;
  font-size: clamp(2.1rem, 4.4vw, 3.3rem);
  line-height: 1.12;
  color: var(--text-muted);
  margin: 0;
  text-wrap: balance;
}
.sh-wall-h em { font-style: normal; color: var(--text-primary); }
.sh-wall-eyebrow {
  display: inline-block;
  font-family: var(--font-heading);
  font-size: 13px;
  color: rgba(255,248,240,.42);
  margin-bottom: 22px;
}
.sh-wall {
  columns: 3;
  column-gap: 16px;
  margin-top: clamp(2.5rem, 5vw, 4rem);
}
@media (max-width: 1000px) { .sh-wall { columns: 2; } }
@media (max-width: 620px) { .sh-wall { columns: 1; } }
.sh-tc {
  break-inside: avoid;
  margin: 0 0 16px;
  padding: 20px;
  border-radius: 14px;
  background: var(--sh-card);
  border: 1px solid var(--border-card);
  box-shadow: 0 2px 10px rgba(0,0,0,.35), 0 18px 40px -22px rgba(0,0,0,.55);
}
.sh-tc[hidden] { display: none; }
.sh-pill {
  display: inline-flex;
  align-items: center;
  margin-bottom: 14px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  color: var(--text-primary);
  background: var(--accent-soft);
  border: 1px solid rgba(200,69,46,.45);
}
.sh-tc .sh-who { margin-top: 0; }
.sh-tc blockquote {
  margin: 14px 0 0;
  padding: 0;
  border: 0;
  font-size: 15px;
  line-height: 1.75;
  color: var(--text-muted);
  font-style: normal;
}
.sh-tc .sh-shot { margin-top: 16px; }
.sh-more { display: flex; justify-content: center; margin-top: 18px; }

/* --------------------------------------------------------------------------
   #fit —— 适合 / 不适合
   -------------------------------------------------------------------------- */
.sh-fit { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 760px) { .sh-fit { grid-template-columns: 1fr; } }
.sh-fit__c {
  padding: 24px;
  border-radius: 16px;
  background: var(--sh-card);
  border: 1px solid var(--border);
}
.sh-fit__c--yes { border-color: var(--border-strong); }
.sh-fit__h { display: flex; align-items: center; gap: 10px; font-size: 1.05rem; color: var(--text-primary); font-weight: 500; margin: 0 0 16px; }
.sh-fit__m {
  width: 24px; height: 24px; border-radius: 50%;
  display: grid; place-items: center;
  font-size: 13px;
}
.sh-fit__c--yes .sh-fit__m { background: #F8F2E9; color: var(--bg); }
.sh-fit__c--no .sh-fit__m { border: 1px solid rgba(255,248,240,.25); color: var(--text-muted); }
.sh-fit ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.sh-fit li { position: relative; padding-left: 18px; font-size: 15.5px; line-height: 1.7; color: #D3CCC0; }
.sh-fit li::before { content: ""; position: absolute; left: 2px; top: .75em; width: 5px; height: 5px; border-radius: 50%; background: currentColor; opacity: .7; }
.sh-fit__c--no li { color: var(--text-muted); }

/* --------------------------------------------------------------------------
   #access —— 人数进度 + 价格卡
   -------------------------------------------------------------------------- */
.sh-access-lead {
  font-size: clamp(1.02rem, 1.5vw, 1.18rem);
  line-height: 1.8;
  color: #CFC7BB;
  max-width: 600px;
  margin: 22px auto 0;
  text-align: center;
}

.sh-meter { max-width: 460px; margin: 40px auto 0; }
.sh-meter__top { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.sh-meter__live { font: 500 11.5px var(--font-heading); letter-spacing: .16em; text-transform: uppercase; color: var(--text-faint); }
.sh-meter__num { font-family: var(--font-heading); font-size: 13.5px; color: var(--text-muted); }
.sh-meter__num b { font-size: 2.1rem; font-weight: 500; color: var(--text-primary); letter-spacing: -.02em; margin-right: 2px; }
.sh-meter__bar { position: relative; height: 4px; border-radius: 4px; background: rgba(255,248,240,.09); }
.sh-meter__fill {
  position: absolute; inset: 0 auto 0 0;
  width: 0;
  border-radius: 4px;
  background: linear-gradient(90deg, rgba(200,69,46,.45), var(--accent));
  transition: width 1.6s cubic-bezier(.22,.68,.35,1) .2s;
}
.sh-meter__fill::after {
  content: "";
  position: absolute; right: -6px; top: 50%;
  width: 12px; height: 12px; margin-top: -6px;
  border-radius: 50%;
  background: var(--accent-text);
  box-shadow: 0 0 0 4px var(--accent-soft), 0 0 14px rgba(224,101,74,.7);
}
.sh-meter__foot { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--text-faint); margin-top: 12px; }
.sh-meter__foot b { color: var(--text-primary); font-weight: 500; }

.sh-price {
  max-width: 460px;
  margin: 28px auto 0;
  padding: 26px;
  border-radius: 24px;
  background: var(--sh-card);
  border: 1px solid var(--border-strong);
  box-shadow: 0 1px 0 rgba(255,248,240,.05) inset, 0 30px 60px -30px rgba(0,0,0,.8);
  text-align: left;
}
.sh-price__top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 12.5px; color: var(--text-faint); margin-bottom: 14px; }
.sh-price__top b { font-weight: 500; color: var(--text-muted); }
.sh-price__amt { display: flex; align-items: baseline; gap: 10px; margin: 0 0 20px; flex-wrap: wrap; }
.sh-price__amt b {
  font-family: var(--font-heading);
  font-size: clamp(2.6rem, 6vw, 3.3rem);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1;
  color: var(--text-primary);
}
.sh-price__amt span { font-size: 14px; color: var(--text-muted); }
.sh-price .sh-checks { margin-bottom: 20px; }
.sh-price .sh-checks li { font-size: 15px; }

.sh-box {
  padding: 16px;
  border-radius: 12px;
  background: var(--bg-accent);   /* 强调底 · 胭脂底 */
  border: 1px solid rgba(200,69,46,.3);
  margin: 0 0 16px;
}
.sh-box__k { font-size: 12px; color: var(--text-faint); margin: 0 0 6px; }
.sh-box__t { font-size: 15px; font-weight: 500; line-height: 1.55; color: var(--text-primary); margin: 0 0 6px; }
.sh-box__d { font-size: 14px; line-height: 1.7; color: var(--text-muted); margin: 0; }
.sh-box__d b { color: var(--text-primary); font-weight: 500; }

/* Eden 价格卡里那条「Everything in the Eden Pro plan」折叠 */
.sh-dtl { border-top: 1px solid var(--border); padding-top: 14px; margin-top: 14px; }
.sh-dtl summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  list-style: none;
  cursor: pointer;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--text-primary);
}
.sh-dtl summary::-webkit-details-marker { display: none; }
.sh-dtl summary svg { width: 15px; height: 15px; color: var(--text-muted); transition: transform .25s var(--sh-ease); }
.sh-dtl[open] summary svg { transform: rotate(180deg); }
.sh-dtl__body { padding-top: 14px; }
.sh-dtl .sh-checks li { font-size: 14px; color: var(--text-muted); }

.sh-ladder { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.sh-ladder li {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 9px 0;
  border-top: 1px dashed rgba(255,248,240,.1);
  font-size: 14px; color: var(--text-muted);
}
.sh-ladder li:first-child { border-top: 0; }
.sh-ladder li b { font-family: var(--font-heading); font-weight: 500; color: var(--text-muted); }
.sh-ladder li.is-now { color: var(--text-primary); }
.sh-ladder li.is-now b { color: var(--text-primary); }
.sh-ladder li.is-now span::after { content: "当前"; margin-left: 8px; font-size: 11px; padding: 1px 7px; border-radius: 99px; background: var(--accent); color: var(--on-accent); vertical-align: 1px; }
.sh-ladder li.is-past { text-decoration: line-through; opacity: .5; }
.sh-ladder__cap { font-size: 12.5px; color: var(--text-faint); margin: 8px 0 0; }

.sh-price__cta { margin-top: 22px; }
.sh-price__cta .btn-pill { width: 100%; justify-content: center; }
.sh-price__sub { font-size: 13px; color: var(--text-faint); margin: 12px 0 0; text-align: center; }
.sh-price__sub a { color: var(--text-primary); }
.sh-price__sub a:hover { text-decoration: underline; }
@media (max-width: 560px) { .sh-price { padding: 22px 18px; border-radius: 20px; } }

/* 支持深度表（数据来自 supportLevels）放在 FAQ 里 */
.sh-faq .cmp-wrap { margin-top: 14px; }

/* --------------------------------------------------------------------------
   #faq —— Eden 的 dl，全部展开
   -------------------------------------------------------------------------- */
.sh-faq {
  margin: 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.sh-faq > div { padding: 22px 0; border-top: 1px solid var(--border); }
.sh-faq > div:first-child { border-top: 0; }
.sh-faq dt {
  font-family: var(--font-heading);
  font-size: 1.12rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--text-primary);
  margin: 0 0 8px;
}
.sh-faq dd { margin: 0; font-size: 16px; line-height: 1.8; color: #CFC7BB; }
.sh-faq dd p { margin: 0 0 10px; }
.sh-faq dd p:last-child { margin-bottom: 0; }
.sh-faq dd b { color: var(--text-primary); font-weight: 500; }
.sh-faq dd a { color: var(--text-primary); border-bottom: 1px solid rgba(255,248,240,.3); }

/* --------------------------------------------------------------------------
   收尾：Eden「Last Thing」—— 光更亮、留白更大
   -------------------------------------------------------------------------- */
.sh-final {
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--border);
  padding: clamp(5.5rem, 11vw, 8.5rem) 0;
}
.sh-final::before {
  content: "";
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(90% 85% at 30% 0%, rgba(200,69,46,.16), rgba(255,248,240,.03) 40%, transparent 75%);
}
.sh-final > * { position: relative; }
.sh-final__h {
  font-family: var(--font-display-cn);
  font-weight: 400;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.16;
  color: var(--text-primary);
  margin: 0 0 22px;
  text-wrap: balance;
}
.sh-final__see {
  font-family: var(--font-display-cn);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  color: var(--text-primary);
  margin: 30px 0 30px;
}
.sh-final .wx-card {
  padding: 18px;
  border-radius: 16px;
  background: var(--sh-card);
  border: 1px solid var(--border-strong);
  margin: 0;
}
.sh-final__tips { font-size: 13.5px; line-height: 1.8; color: var(--text-faint); margin: 14px 0 0; }
.sh-final__tips b { color: var(--text-muted); font-weight: 500; }

/* --------------------------------------------------------------------------
   看大图（lightbox）/ 加入方式（弹窗）
   -------------------------------------------------------------------------- */
.sh-lb, .sh-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(9,8,6,.86);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  opacity: 0;
  transition: opacity .25s ease;
}
.sh-lb.is-open, .sh-modal.is-open { display: flex; }
.sh-lb.is-shown, .sh-modal.is-shown { opacity: 1; }
.sh-lb__fig { margin: 0; max-width: min(560px, 100%); max-height: 100%; display: flex; flex-direction: column; align-items: center; }
.sh-lb__img {
  max-width: 100%;
  max-height: calc(100vh - 120px);
  max-height: calc(100dvh - 120px);
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 30px 80px rgba(0,0,0,.6);
  transform: scale(.96);
  transition: transform .32s var(--sh-ease);
}
.sh-lb.is-shown .sh-lb__img { transform: scale(1); }
.sh-lb__cap { font-size: 13px; color: var(--text-muted); margin-top: 14px; text-align: center; }
.sh-lb__btn, .sh-modal__x {
  position: absolute;
  width: 42px; height: 42px;
  border-radius: 50%;
  display: grid; place-items: center;
  color: #FFF8F0;
  background: rgba(255,248,240,.08);
  border: 1px solid rgba(255,248,240,.16);
  cursor: pointer;
  transition: background .2s;
}
.sh-lb__btn:hover, .sh-modal__x:hover { background: rgba(255,248,240,.16); }
.sh-lb__btn svg, .sh-modal__x svg { width: 18px; height: 18px; }
.sh-lb__x { top: 18px; right: 18px; }
.sh-lb__prev { left: 18px; top: 50%; margin-top: -21px; }
.sh-lb__next { right: 18px; top: 50%; margin-top: -21px; }
@media (max-width: 640px) {
  .sh-lb { padding: 64px 12px 24px; }
  .sh-lb__prev, .sh-lb__next { top: auto; bottom: 18px; margin: 0; }
  .sh-lb__prev { left: calc(50% - 52px); }
  .sh-lb__next { right: calc(50% - 52px); }
  .sh-lb__img { max-height: calc(100dvh - 170px); }
}

.sh-modal__card {
  position: relative;
  width: min(480px, 100%);
  max-height: 100%;
  overflow: auto;
  padding: 28px 24px 24px;
  border-radius: 22px;
  background: #171410;
  border: 1px solid var(--border-strong);
  box-shadow: 0 40px 100px rgba(0,0,0,.7);
  transform: translateY(10px) scale(.98);
  transition: transform .3s var(--sh-ease);
}
.sh-modal.is-shown .sh-modal__card { transform: none; }
.sh-modal__x { top: 14px; right: 14px; width: 36px; height: 36px; }
.sh-modal__h { font-family: var(--font-display-cn); font-size: 1.6rem; color: var(--text-primary); margin: 0 0 6px; }
.sh-modal__sub { font-size: 14px; color: var(--text-muted); margin: 0 0 20px; }
.sh-steps { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 12px; counter-reset: s; }
.sh-steps li { position: relative; padding-left: 34px; font-size: 15px; line-height: 1.65; color: #D3CCC0; counter-increment: s; }
.sh-steps li::before {
  content: counter(s);
  position: absolute; left: 0; top: 0;
  width: 22px; height: 22px; border-radius: 50%;
  display: grid; place-items: center;
  font: 500 12px var(--font-heading);
  color: var(--bg); background: #F8F2E9;
}
.sh-steps b { color: var(--text-primary); font-weight: 500; }
.sh-modal .wx-card { padding: 16px; border-radius: 14px; background: var(--sh-card); border: 1px solid var(--border); margin: 0; }
.sh-modal__tip { font-size: 12.5px; color: var(--text-faint); margin: 14px 0 0; line-height: 1.7; }
html.sh-lock, html.sh-lock body { overflow: hidden; }

/* --------------------------------------------------------------------------
   减弱动效：全部直接到位
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .js .sh-in, .js .sh-eq > * { opacity: 1; transform: none; animation: none; transition: none; }
  .sh-ul path { stroke-dashoffset: 0; animation: none; }
  .sh-cycle .arc { stroke-dashoffset: 0; transition: none; }
  .sh-cycle .arrow { opacity: 1; }
  .sh-cycle .runner { display: none; }
  .sh-dot { animation: none; opacity: 1; }
}

/* --------------------------------------------------------------------------
   中文标题的语义断行
   浏览器给中文折行是按字宽硬切的，会把「理解」劈成「理 / 解」。
   把标题拆成几个意群，每个意群 inline-block：能整块放下就不拆，
   窄到连一个意群都放不下时（极窄屏）才在块内折，不会溢出。
   -------------------------------------------------------------------------- */
.sh .nw { display: inline-block; }


/* --------------------------------------------------------------------------
   印章（配色 B）：私享会页收尾、首页私享会收尾各一方
   四个字按传统印章读法排：右上起、竖读 —— 创富 / 私享 分两列，右列先读
   -------------------------------------------------------------------------- */
.sh-seal {
  display: inline-grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;      /* 必须写死两行，否则按列排会一直往旁边加新列 */
  grid-auto-flow: column;
  direction: rtl;
  gap: 2px 4px;
  place-items: center;
  width: 64px; height: 64px; padding: 7px;
  border-radius: 6px;
  background: var(--accent);
  color: var(--on-accent);
  font-family: var(--font-display-cn);
  font-size: 20px; line-height: 1;
  transform: rotate(-5deg);
  box-shadow: inset 0 0 0 2px rgba(255,248,240,.3), 0 12px 28px -12px rgba(200,69,46,.7);
  flex: none;
}
.sh-seal span { direction: ltr; }
.sh-see { display: flex; align-items: center; justify-content: space-between; gap: 18px; }

/* ── 公开版专用：隐藏生产脚手架（本地源码不含这段）──
   .sh-slot 是图片位占位框，.sh-mech__pending 是「…待确认」待办标记。
   只隐藏标记本身；上面每段描述都是作者原话原样保留，
   且那些描述不含具体数字承诺，去掉标记不会把话变成空头承诺。 */
.sh-slot,
.sh-mech__pending { display: none !important; }
