/* ==========================================================================
   Healing with Joanne — 视觉规范 B 暖白鎏金（规格 §十一）
   移动优先；桌面断点 ≥768px。运行时零框架。
   ========================================================================== */

:root {
  --bg: #F7F2E9;          /* 底色 */
  --card: #FFFFFF;        /* 卡片白 */
  --card-cream: #FBF8F1;  /* 米白 */
  --line: #E3D9C6;        /* 边线 */
  --gold: #A9823E;        /* 金：仅限标题、标签、按钮（白字金底或 ≥18px 加粗），禁用作正文级文字 */
  --link: #8A6A2F;        /* 正文级金色链接（对比度裁定 2026-07-12）*/
  --text: #4A4234;        /* 正文 */
  --muted: #6B6255;       /* 次级：正文级达 AA（对比度裁定，原 #8A8172 作废）*/
  --footer-bg: #F1EADC;   /* 页脚底 */

  --serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", serif;
  --sans: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;

  --maxw: 680px;    /* 正文限宽 */
  --wide: 1040px;   /* 宽区块 */
  --radius: 14px;
}

* { box-sizing: border-box; }

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

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  font-size: 17px;   /* R21-D10：整体字号上调一档 16→17 */
  line-height: 1.85;
  -webkit-font-smoothing: antialiased;
}

p { margin: 0 0 1em; }
img { max-width: 100%; height: auto; display: block; }

a { color: var(--link); text-decoration: none; }  /* 正文级链接用 --link，非 --gold（对比度裁定）*/
a:hover { text-decoration: underline; }

h1, h2, h3 { line-height: 1.4; color: var(--text); margin: 0 0 .6em; font-weight: 600; }

.serif { font-family: var(--serif); }

/* ---- 可达性 ---- */
.skip-link {
  position: absolute; left: -9999px; top: 0; background: var(--gold); color: #fff;
  padding: .5em 1em; z-index: 100;
}
.skip-link:focus { left: 0; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }

/* ---- 布局容器 ---- */
.wrap { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 20px; }
.wrap--wide { max-width: var(--wide); }
section { padding: 40px 0; }

/* ---- 导航 ---- */
.site-header { background: var(--card-cream); border-bottom: 1px solid var(--line); }
.nav {
  max-width: var(--wide); margin: 0 auto; padding: 12px 20px;
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px;
}
.nav__brand { display: flex; align-items: center; gap: 10px; color: var(--text); font-weight: 600; }
.nav__brand:hover { text-decoration: none; }
.nav__logo { width: 36px; height: 37px; flex: 0 0 auto; object-fit: contain; }
.nav__brand-text { display: flex; flex-direction: column; line-height: 1.15; }
.nav__brand-text small { color: var(--muted); font-weight: 400; letter-spacing: .35em; font-size: 11px; }
.nav__brand-text--zh { flex-direction: row; font-size: 15px; font-weight: 600; letter-spacing: .04em; }
.nav__links { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0; padding: 0; }
.nav__links a { color: var(--text); padding: 4px 2px; font-size: 16px; }  /* R21-D10 15→16 */
.nav__links a[aria-current="page"] { color: var(--text); border-bottom: 2px solid var(--gold); }  /* 文字保持深色，金作下划线标签色 */

/* ---- 按钮 ---- */
.btn {
  display: inline-block; padding: 12px 22px; border-radius: 999px;
  font-size: 15px; font-weight: 600; text-align: center; cursor: pointer;
  min-height: 44px; line-height: 1.4; transition: background .15s, color .15s;
}
.btn:hover { text-decoration: none; }
.btn--solid { background: var(--gold); color: #fff; border: 1.5px solid var(--gold); }
.btn--solid:hover { background: #96712F; }
.btn--outline { background: transparent; color: var(--gold); border: 1.5px solid var(--gold); }
.btn--outline:hover { background: rgba(169,130,62,.08); }

/* ---- 主张句 / 引言 ---- */
.hero-claim {
  font-family: var(--serif); font-size: 30px; line-height: 1.5; font-weight: 600;
  text-align: center; margin: 18px 0 26px;
}
.lead {
  font-family: var(--serif); font-size: 20px; line-height: 1.9; text-align: center;
  color: var(--text);
}
.lead__by { display: block; margin-top: .6em; color: var(--muted); font-size: 16px; }

/* ---- 卡片 ---- */
.card {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 22px; margin: 0 0 16px;
}
.card--cream { background: var(--card-cream); }
.card--tight { padding: 14px 18px; }  /* R10 预约卡压矮 */
.card--tight .card__sub { margin: 4px 0 0; }
.card--tight .card__title { margin-bottom: 2px; }
.card__title { font-size: 19px; margin-bottom: 6px; }
.card__sub { color: var(--muted); font-size: 14px; margin: 8px 0 0; }

/* 双卡/三卡：移动堆叠，桌面并排 */
.cards-2 { display: grid; grid-template-columns: 1fr; gap: 16px; }
.cards-3 { display: grid; grid-template-columns: 1fr; gap: 16px; }

/* 首屏：G1 全宽铺满 + 底部渐变遮罩(消除硬切边) */
.hero {
  text-align: center; padding: 34px 0 52px;
  background-image: linear-gradient(to bottom, rgba(247,242,233,0) 52%, var(--bg) 100%), url('/assets/img/g1-hero-portrait.webp');
  background-size: cover; background-position: center top; background-repeat: no-repeat;
}
/* 透明 LOGO 直接置于背景上，无白圆金框 */
.hero__logo { margin: 0 auto 6px; }
.hero__logo img { width: 118px; height: auto; display: block; margin: 0 auto; }
.hero__cap { text-align: center; color: var(--text); letter-spacing: .12em; font-size: 18px; font-weight: 600; margin: 8px 0 0; padding-left: .12em; }

/* 全站背景：非首页 body 底纹可感知——固定暖调渐变(每屏都有层次)叠 G4 增强底纹，绝不视觉纯色 */
body.has-bg-texture {
  background-color: var(--bg);
  background-image:
    linear-gradient(180deg, rgba(232,212,175,0.55) 0%, rgba(247,242,233,0) 30%, rgba(247,242,233,0) 66%, rgba(236,223,199,0.42) 100%),
    url('/assets/img/g4-bg.webp');
  background-repeat: no-repeat, no-repeat;
  background-position: center top, center center;
  background-size: cover, cover;
  background-attachment: fixed, fixed;
}

/* 三大基石图标（G3，透明底）*/
.pillar__icon { width: 56px; height: 56px; margin: 0 auto 10px; display: block; object-fit: contain; }

/* 扫码卡图（M4/M5/M6）*/
.qr-card__img { width: 100%; aspect-ratio: 3 / 4; object-fit: contain; background: #fff; border-radius: 8px; border: 1px solid var(--line); margin: 0 0 8px; }

/* 关于卡 Joanne 人像（M2，暖调）*/
.about-photo { width: 320px; height: 320px; border-radius: 16px; object-fit: cover; display: block; margin: 0 auto 16px; }

/* 体系区块底纹（G4，极淡）*/
.section--texture { background-image: url('/assets/img/g4-texture.webp'); background-size: cover; background-position: center; }

/* ---- 素材占位（G1/G3/G4/照片/二维码 未到位）规格底色 #F7F2E9 ---- */
.ph {
  background: var(--bg); border: 1px dashed var(--line); border-radius: 10px;
  display: flex; align-items: center; justify-content: center; text-align: center;
  color: var(--muted); font-size: 12px; padding: 12px; min-height: 88px;
}
.ph--hero { min-height: 200px; }
.ph--photo { width: 160px; height: 160px; border-radius: 50%; margin: 0 auto 14px; }
.ph--qr { aspect-ratio: 1 / 1; }
.ph--icon { width: 56px; height: 56px; min-height: 0; border-radius: 50%; margin: 0 auto 10px; }

/* ---- 三大基石 ---- */
.pillars { display: grid; grid-template-columns: 1fr; gap: 14px; }
/* R8-11 三卡去可点击暗示：P1/P3 三大基石已撤 .card 容器（njk 侧），此处只补内边距。
   限定 :not(.card)——/hypnosis「体系特点」仍用 .pillar.card，不可被本规则夺去白底边框 */
.pillar { text-align: center; }
.pillar:not(.card) { padding: 16px 12px; }
.pillar__name { font-weight: 600; margin: 0 0 6px; }
/* R34 · 三栏标题放大一号（/hypnosis 顶部三块说明；/system 三大基石不套用）*/
.pillars--lg .pillar__name { font-size: 18px; margin-bottom: 8px; }
.pillar__desc { color: var(--muted); font-size: 16px; line-height: 1.85; margin: 0; }  /* R10 放大一号；R21-D10 15→16 */
/* R21-D11 · 深色锚点：各级标题加深至深棕/墨色（不引入新色相）*/
h1, h2, .svc-group__h, .voices__h, .hero__cap, .about-name { color: #35301F; }

/* ---- 四阶横条：强制单行（移动端同样单行）---- */
.stages { display: flex; flex-wrap: nowrap; align-items: center; justify-content: center; gap: 5px; margin: 18px 0; white-space: nowrap; }
/* 四阶详解：移动纵向，桌面 4 列 */
.stage-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.stage-grid .card { margin: 0; }

/* ---- 时间轴（社群成长，金色节点）---- */
.timeline { list-style: none; margin: 16px 0 0; padding: 0; }
.timeline li { position: relative; padding: 0 0 16px 24px; border-left: 2px solid var(--line); }
.timeline li:last-child { border-left-color: transparent; padding-bottom: 0; }
.timeline li::before { content: ""; position: absolute; left: -8px; top: 6px; width: 13px; height: 13px; border-radius: 50%; background: var(--gold); border: 2px solid var(--card); }
.timeline__year { font-weight: 600; color: var(--text); }
/* R21-E12：课程/训练营节点圆点缩小＋淡化，与小程序/社群等里程碑区分 */
.timeline li.timeline__minor::before { width: 8px; height: 8px; left: -5px; top: 8px; background: #CBB98F; }
.timeline li.timeline__minor .timeline__year { font-weight: 400; color: var(--muted); }

/* R21+ · 双轨中线时间线（关于页）：中线居中，左＝社群发展，右＝课程与训练营 */
.timeline-heads { display: flex; justify-content: space-between; max-width: 860px; margin: 22px auto 6px; color: var(--muted); font-size: 14px; font-weight: 600; }
.timeline--split { position: relative; max-width: 860px; margin: 0 auto; }
.timeline--split::before { content: ""; position: absolute; left: 50%; top: 4px; bottom: 6px; width: 2px; background: var(--line); transform: translateX(-50%); }
.timeline--split li { position: relative; width: 50%; border-left: 0; padding: 0 26px 22px; box-sizing: border-box; }
.timeline--split li.is-left { margin-left: 0; text-align: right; }
.timeline--split li.is-right { margin-left: 50%; text-align: left; }
/* 年份与主题分两行 */
.timeline--split .timeline__year { display: block; margin-bottom: 3px; }
/* R38 · 时间轴保留前 5 点，其余折叠 */
.timeline--split.is-clamped li:nth-child(n+6) { display: none; }
.timeline-more { text-align: center; margin: 6px 0 0; }
.timeline-more__btn { background: none; border: 0; cursor: pointer; color: var(--link); font-size: 14px; font-weight: 600; padding: 6px 10px; }
.timeline-more__btn:hover { text-decoration: underline; }
/* 条目内联「学员反馈/回顾」小字折叠——收起不占行，展开才显示图条 */
.tl-fb { display: inline; }
.tl-fb > summary { display: inline-block; list-style: none; cursor: pointer; color: var(--link); font-size: 12.5px; margin-left: 8px; white-space: nowrap; }
.tl-fb > summary::-webkit-details-marker { display: none; }
.tl-fb > summary::after { content: " ›"; }
.tl-fb[open] > summary::after { content: " ▴"; }
.tl-fb__body { display: block; margin-top: 8px; }
.tl-fb__body .feedback-strip .fb-item { height: auto; }
.tl-fb__body .feedback-strip .fb-item img { height: auto; width: auto; max-width: 560px; max-height: 640px; }
/* 双轨时间线内：反馈展开时全宽铺开，避免半张图被列宽截断 */
.timeline--split li.is-right .tl-fb__body { width: 200%; margin-left: -100%; }
.timeline--split li.is-left .tl-fb__body { width: 200%; }
.tl-line { margin: 3px 0 0; font-size: 14.5px; color: var(--text); }

/* R36 · 常见问题分条折叠（独立于卡片手风琴 .svc-acc，不受单开 JS 影响）*/
.qa-item { border-top: 1px solid var(--line); }
.qa-item > summary { cursor: pointer; list-style: none; font-weight: 400; font-size: 15px; padding: 10px 0; color: var(--muted); position: relative; padding-right: 22px; }
.qa-item[open] > summary { color: var(--text); }
.qa-item > summary::-webkit-details-marker { display: none; }
.qa-item > summary::after { content: "＋"; position: absolute; right: 2px; top: 11px; color: var(--muted); }
.qa-item[open] > summary::after { content: "−"; }
.qa-item__body { padding: 0 0 10px; }
.qa-item__body > :last-child { margin-bottom: 0; }

/* R41 · 心灵对话三档折叠：summary 用 meta 样式，加小箭头 */
.svc-tiers > summary { list-style: none; cursor: pointer; display: inline-block; }
.svc-tiers > summary::-webkit-details-marker { display: none; }
.svc-tiers > summary::after { content: " ›"; color: var(--muted); }
.svc-tiers[open] > summary::after { content: " ⌄"; }
.svc-tiers > .svc__explore { margin-top: 8px; }
.timeline--split li.is-left::before { left: auto; right: -7px; }
.timeline--split li.is-right::before { left: -7px; }
.timeline--split li.is-left.timeline__minor::before { left: auto; right: -5px; }
.timeline--split li.is-right.timeline__minor::before { left: -5px; }
.timeline--split li.is-left .timeline__d { margin-left: auto; }
@media (max-width: 640px) {
  .timeline-heads { display: none; }
  .timeline--split::before { left: 6px; transform: none; }
  .timeline--split li,
  .timeline--split li.is-left,
  .timeline--split li.is-right { width: 100%; margin-left: 0; text-align: left; padding: 0 0 16px 24px; }
  .timeline--split li.is-left::before,
  .timeline--split li.is-right::before { left: -1px; right: auto; }
  .timeline--split li.is-left.timeline__minor::before,
  .timeline--split li.is-right.timeline__minor::before { left: 1px; right: auto; }
}
.timeline__note { margin: 14px 0 0; }
/* R83 · 课程三分类：分类说明副标题 + 课程卡详情入口改「了解课程」 */
.svc-cat__sub { color: var(--muted); font-size: 14px; line-height: 1.75; margin: -6px 0 16px; }
.svc-acc.svc-acc--course > summary::before { content: "了解课程"; }
.svc-acc.svc-acc--course[open] > summary::before { content: "收起"; }
.svc-acc.svc-acc--record > summary::before { content: "查看课程记录"; }
.svc-acc.svc-acc--record[open] > summary::before { content: "收起"; }

/* R82 · 足迹：展开「查看完整历程」时自动隐藏简版 4 行，避免与完整时间线重复 */
.footprint:has(details[open]) .timeline--brief { display: none; }
/* R69 · 足迹时间线：条目描述与会员共修月度列表 */
.timeline__d { display: block; color: var(--muted); font-size: 14px; line-height: 1.75; margin-top: 3px; }
.timeline__list { margin: 4px 0 0; }
.timeline__list p { margin: 3px 0 0; font-size: 14.5px; color: var(--text); }
.stage {
  background: var(--card-cream); border: 1px solid var(--line); border-radius: 999px;
  padding: 6px 11px; font-weight: 600; font-size: 13px; white-space: nowrap; flex: 0 0 auto;
}
.stage__arrow { color: var(--gold); font-size: 12px; flex: 0 0 auto; }
/* R40 · 阶段横条放大一号（/hypnosis 承接段；/system 四阶维持 13px）*/
.stages--lg .stage { font-size: 15px; padding: 7px 13px; }
.stages--lg .stage__arrow { font-size: 13px; }

/* ---- 服务项目 ---- */
.svc-group { margin: 0 0 26px; }
.svc-group__h { font-size: 20px; border-bottom: 2px solid var(--line); padding-bottom: 6px; margin-bottom: 14px; }
/* R95 · 分组标题旁内联提示：一眼看到「这组解决什么」 */
.svc-group__hint { font-size: 14px; font-weight: 400; color: var(--muted); margin-left: 12px; }
.svc-group__hint::before { content: "· "; color: var(--gold); }
.svc { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; margin: 0 0 12px; }
.svc__name { font-size: 17px; font-weight: 600; margin: 0 0 6px; }
.svc__desc { margin: 0 0 10px; }
.svc__tags { color: var(--muted); font-size: 13px; margin: 0 0 10px; }
.svc__list { margin: 4px 0 12px; padding-left: 20px; }
.svc__list li { margin: 0 0 6px; font-size: 14px; line-height: 1.7; color: var(--text); }
/* R11 八要素框架（有源填源、无源留空不渲染）*/
.svc__spec { margin: 8px 0 12px; display: grid; gap: 7px; }
.svc__spec > div { display: grid; grid-template-columns: 4.6em 1fr; gap: 12px; align-items: start; }
.svc__spec dt { color: var(--gold); font-size: 13px; font-weight: 600; margin: 0; line-height: 1.75; }
.svc__spec dd { margin: 0; font-size: 14px; color: var(--text); line-height: 1.75; }
.svc__lite { display: inline-block; margin-left: 8px; font-size: 12px; font-weight: 600; color: var(--gold); border: 1px solid var(--line); border-radius: 999px; padding: 1px 9px; vertical-align: middle; }
.svc__notice { background: var(--card-cream); border-left: 3px solid var(--gold); padding: 8px 12px; font-size: 14px; margin: 10px 0; }
.svc__cta { display: flex; flex-wrap: wrap; gap: 8px; }

/* 会员区块 */
.member { background: var(--card-cream); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; }
.member__tier { margin: 0 0 10px; }

/* D15 服务页「怎么选」 */
.how-choose { background: var(--card-cream); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 20px; margin: 0 0 20px; }
.how-choose p { margin: 5px 0; }

/* 心灵对话引语 / 会员反馈 */
.svc__quote { font-style: italic; color: var(--muted); border-left: 3px solid var(--line); padding-left: 12px; margin: 0 0 12px; line-height: 1.95; }
.member-quote { background: var(--card); border: 1px solid var(--line); border-left: 3px solid var(--gold); border-radius: var(--radius); padding: 20px 22px; margin: 0 0 14px; line-height: 1.95; }
.member-quote cite { display: block; margin-top: 10px; color: var(--muted); font-style: normal; font-size: 14px; text-align: right; }

/* R8-10 活动与场域：场域照双图（移动堆叠，桌面并排；图为内容不是入口，无点击态） */
.venue-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 16px; }
.venue { margin: 0; }
.venue img { width: 100%; height: auto; border-radius: 10px; border: 1px solid var(--line); object-fit: cover; }
.venue__cap { margin: 8px 0 0; color: var(--muted); font-size: 13.5px; text-align: center; }

/* R55 · 场域/公益照片改横向拖动条：固定高度、不占大版面；手指滑动或鼠标拖动 */
.venue-strip {
  display: flex; gap: 12px; margin-top: 16px;
  overflow-x: auto; scroll-snap-type: x mandatory;
  padding-bottom: 10px; -webkit-overflow-scrolling: touch;
  scrollbar-width: thin; cursor: grab;
}
.venue-strip.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.venue-strip::-webkit-scrollbar { height: 6px; }
.venue-strip::-webkit-scrollbar-thumb { background: var(--line); border-radius: 999px; }
.venue-strip .venue { flex: 0 0 auto; width: 240px; scroll-snap-align: start; }
.venue-strip .venue img { height: 180px; width: 100%; object-fit: cover; user-select: none; -webkit-user-drag: none; }
@media (max-width: 560px) {
  .venue-strip .venue { width: 78%; }
  .venue-strip .venue img { height: 200px; }
}
/* R58 · 定点裁切：颂钵阵位于图片下部、铜锣盘居中偏下，下移取景框以完整取到主体 */
/* R37 · 工作室/活动照竖版·完整显示（等高、宽度自适应、不裁重点）*/
.venue-strip--full .venue { width: auto; }
.venue-strip--full .venue img { height: 440px; width: auto; max-width: none; object-fit: contain; border-radius: 10px; }
@media (max-width: 560px) { .venue-strip--full .venue img { height: 340px; } }
.venue-strip .venue-img--bowls { object-position: center 74%; }
.venue-strip .venue-img--gong { object-position: center 56%; }

/* R65 · 会员反馈截图条：统一高度、宽度自适应——短图等比放大对齐到最高图，底边齐平；横向拖动 */
.feedback-strip .fb-item { flex: 0 0 auto; height: 620px; scroll-snap-align: start; margin: 0; }
.feedback-strip .fb-item img { height: 100%; width: auto; display: block; border-radius: 10px; border: 1px solid var(--line); user-select: none; -webkit-user-drag: none; }
@media (max-width: 560px) {
  /* 移动端反馈图按宽度适配、完整显示（不再等高裁切）*/
  .feedback-strip .fb-item,
  .voices-raw__strip.feedback-strip .fb-item,
  .tl-fb__body .feedback-strip .fb-item { height: auto; }
  .feedback-strip .fb-item img { height: auto; width: auto; max-width: 82vw; max-height: 78vh; }
}
/* R90 · 公开分享·平台导流行：下划线文字链一排（桌面横排/移动两行），三码点击就地展开 */
.share-links { margin: 4px 0 18px; }
.share-links__lead { color: var(--muted); font-size: 14px; margin: 0 0 8px; }
.share-links__row { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: flex-start; }
.share-links__row > a.share-link, .share-pop > summary {
  font-size: 15px; color: var(--link); text-decoration: underline; text-underline-offset: 3px;
  cursor: pointer; list-style: none;
}
.share-pop > summary::-webkit-details-marker { display: none; }
.share-pop { flex: 0 0 auto; }
.share-pop__qr { margin: 10px 0 0; }
.share-pop__qr img { width: 160px; max-width: 60vw; height: auto; display: block; border: 1px solid var(--line); border-radius: 8px; background: #fff; }

/* R89 · 公开分享四码：横向拖动条（复用 venue-strip 拖动行为，卡片固定宽）*/
.qr-strip .qr-card { flex: 0 0 auto; width: 180px; scroll-snap-align: start; }
@media (max-width: 560px) { .qr-strip .qr-card { width: 58%; } }

/* R71 · 单张反馈截图（详情内，如站桩引导）*/
.fb-single { margin: 10px 0 0; max-width: 320px; }
.fb-single img { width: 100%; height: auto; display: block; border: 1px solid var(--line); border-radius: 10px; }

/* R8-9 媒体报道版面图（原报道截图上稿，替代「阅读原文」外链） */
.media-shot { margin: 0; }
.media-shot img { width: 100%; height: auto; border: 1px solid var(--line); border-radius: 10px; background: var(--card); }
.media-shot__cap { margin: 10px 0 0; color: var(--muted); font-size: 13.5px; text-align: center; line-height: 1.7; }

/* R12 媒体记录：报道系列卡；截图放固定高度可滚动框（不占版面，框内上下滑动看全文）*/
.media-rec { display: grid; gap: 14px; margin-top: 6px; }
.media-rec__item { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px 18px; }
.media-rec__t { font-family: var(--serif); font-size: 16px; font-weight: 600; margin: 0 0 4px; line-height: 1.5; }
.media-rec__sub { color: var(--muted); font-size: 13.5px; margin: 0 0 10px; }
.media-rec__shot { max-height: 340px; overflow-y: auto; border: 1px solid var(--line); border-radius: 8px; -webkit-overflow-scrolling: touch; background: var(--card); }
.media-rec__shot img { width: 100%; display: block; }
.media-rec__shot:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.media-rec__cap { color: var(--muted); font-size: 12.5px; margin: 8px 0 0; }

/* ---- 扫码卡横排（R12 视觉统一：等高等宽·图区固定 3/4·图整体可见·名+说明基线对齐）---- */
.qr-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.qr-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 12px; text-align: center; display: flex; flex-direction: column; }
.qr-card__label { font-weight: 600; margin: 4px 0; }
.qr-card__handle { color: var(--muted); font-size: 12.5px; line-height: 1.5; word-break: break-all; margin: 0; flex: 1 0 auto; }

/* ---- 双引导 / 双入口（R10追加·方案a）：去卡片化、两栏并排（手机+桌面统一）、
   无边框、中间极细金竖线、左对齐、金按钮改下划线文字链 ---- */
.dual-guide { background: transparent; }
/* 移动：上下堆叠、横向金线分隔；桌面：左右并排、竖向金线（见 ≥768 覆盖）*/
.entry-flat {
  max-width: 760px; margin: 0 auto; padding: 6px 20px;
  display: grid; grid-template-columns: 1fr; gap: 0;
}
.entry-flat .entry-col { padding: 16px 4px; text-align: left; }
.entry-flat .entry-col + .entry-col { border-top: 1px solid rgba(169,130,62,0.35); }
.entry-flat .entry-desc { text-align: left; font-size: 15px; line-height: 1.9; margin: 0; color: var(--text); }
.entry-flat .text-link { display: inline-block; font-size: 15px; font-weight: 600; }
/* R11：链接置顶作入口标题，描述在下 */
.entry-flat .entry-link { font-size: 16px; margin: 0 0 8px; }

/* ---- 页脚 ---- */
.site-footer { background: var(--footer-bg); border-top: 1px solid var(--line); margin-top: 10px; }
.site-footer__inner { max-width: var(--maxw); margin: 0 auto; padding: 26px 20px; text-align: center; }
.site-footer__disclaimer { color: var(--muted); font-size: 13px; line-height: 1.9; margin: 0 0 8px; }
.site-footer__contact { color: var(--text); font-size: 14px; margin: 0; }

/* 数据行 / 折叠年表 */
.stat-row { color: var(--text); font-size: 15px; font-weight: 600; margin: 0 0 16px; }
.disc { border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); margin: 18px 0 0; }
.disc > summary { cursor: pointer; padding: 14px 18px; font-weight: 600; list-style: none; }
.disc > summary::-webkit-details-marker { display: none; }
.disc > summary::before { content: "＋ "; color: var(--gold); font-weight: 700; }
.disc[open] > summary::before { content: "－ "; }
.disc__body { padding: 0 18px 16px; }
.disc__body h3 { color: var(--text); font-size: 15px; margin: 14px 0 4px; }
.disc__body ol { margin: 0 0 8px; padding-left: 22px; }

/* ---- 待原文占位（非内容，评审可见标记）---- */
.pending {
  background: var(--bg); border: 1px dashed var(--gold); border-radius: 8px;
  color: var(--muted); font-size: 13px; padding: 12px 14px; margin: 8px 0;
}
.pending::before { content: "待原文 · "; color: var(--gold); font-weight: 600; }

/* ---- 静境笔记 · R13 列表去卡片化（轻量条目流 + 筛选行 + 分类小标）---- */
.note-filter { display: flex; flex-wrap: wrap; gap: 8px 6px; margin: 0 0 6px; }
.note-filter button { font-size: 13.5px; font-weight: 600; color: var(--muted); background: transparent; border: 1px solid var(--line); border-radius: 999px; padding: 5px 15px; cursor: pointer; transition: background .15s, color .15s; }
.note-filter button:hover { border-color: var(--gold); }
.note-filter button.is-active { color: #fff; background: var(--gold); border-color: var(--gold); }
.note-flow { list-style: none; margin: 0; padding: 0; }
.note-item { border-top: 1px solid var(--line); }
.note-item.is-hidden { display: none; }
.note-item > a { display: block; padding: 16px 2px; color: var(--text); }
.note-item > a:hover { text-decoration: none; }
.note-item > a:hover .note-item__t { color: var(--link); }
.note-item__t { font-family: var(--serif); font-size: 18px; font-weight: 600; margin: 0 0 5px; line-height: 1.45; color: var(--text); }
.note-item__ex { color: var(--muted); font-size: 14px; margin: 0 0 7px; line-height: 1.6; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.note-item__meta { display: flex; align-items: center; gap: 10px; }
.note-item__date { color: var(--muted); font-size: 12.5px; }
.note-item__cat { font-size: 11px; font-weight: 600; color: var(--gold); border: 1px solid var(--line); border-radius: 999px; padding: 1px 9px; white-space: nowrap; }

/* ---- 静境笔记（文章页）---- */
.note-list { list-style: none; margin: 0; padding: 0; }
.note-card { margin: 0 0 16px; }
.note-card a { display: block; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px 22px; color: var(--text); }
.note-card a:hover { text-decoration: none; border-color: var(--gold); }
.note-card__title { font-family: var(--serif); font-size: 19px; font-weight: 600; margin: 0 0 8px; }
.note-card__excerpt { color: var(--muted); margin: 0 0 8px; }
.note__date { color: var(--muted); font-size: 13px; margin: 0; }
.note__back { margin: 0 0 14px; }
/* R13 文章配图 */
.note-fig { margin: 20px 0 0; }
.note-fig img { width: 100%; height: auto; max-width: 480px; border-radius: 8px; border: 1px solid var(--line); display: block; }
.note-figs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 20px 0 0; }
.note-figs img { width: 100%; height: auto; border-radius: 8px; border: 1px solid var(--line); display: block; }
@media (min-width: 768px) { .note-figs { grid-template-columns: repeat(3, 1fr); } }
.course-video { margin: 18px 0 8px; max-width: 720px; }
.course-video video { width: 100%; height: auto; border-radius: 8px; border: 1px solid var(--line); background: #000; display: block; }
.yt-embed { position: relative; width: 100%; padding-top: 56.25%; border-radius: 8px; overflow: hidden; border: 1px solid var(--line); background: #000; }
.yt-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
/* R96 · 视频门面（品牌封面卡）：米白金调，点击才载入 YouTube */
.yt-facade { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; padding: 0; cursor: pointer;
  background: var(--bg); display: flex; align-items: center; justify-content: center; }
.yt-facade__inner { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center;
  border: 1px solid var(--gold); border-radius: 10px;
  padding: clamp(16px,4vw,32px) clamp(28px,9vw,72px); background: rgba(255,255,255,.4); }
.yt-facade__title { font-size: clamp(20px,3.4vw,28px); color: var(--text); letter-spacing: .05em; }
.yt-facade__slogan { font-size: clamp(12px,2vw,15px); color: var(--muted); letter-spacing: .2em; }
.yt-facade__play { display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; margin-top: 6px; border-radius: 50%; background: var(--gold); color: #fff;
  font-size: 15px; padding-left: 3px; transition: transform .2s ease; }
.yt-facade:hover .yt-facade__play, .yt-facade:focus-visible .yt-facade__play { transform: scale(1.09); }
.yt-facade__logo { width: 40px; height: auto; margin-top: 8px; opacity: .85; }
.course-video__cap { font-size: 14px; color: var(--muted); margin: 8px 0 0; }
.course-video__alt { font-size: 13px; margin: 4px 0 0; }
.note__body p { margin: 0 0 1.2em; line-height: 1.95; }
/* D17 文章页轻量横向 CTA */
.note-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); margin-top: 26px; padding-top: 20px; }
.note-cta a { font-size: 15px; }

/* ---- P1 五证据区块（五问）---- */
.evidence { display: grid; grid-template-columns: repeat(auto-fit, minmax(184px, 1fr)); gap: 14px; }
.evidence__card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px 22px; display: flex; flex-direction: column; }
.evidence__q { font-family: var(--serif); font-size: 18px; font-weight: 600; margin: 0 0 8px; }
.evidence__body { margin: 0 0 12px; flex: 1 1 auto; }
.evidence__links { display: flex; flex-wrap: wrap; gap: 8px 14px; }
.evidence__links a { font-size: 14px; }

/* ---- 锚点跳转补偿 ---- */
[id] { scroll-margin-top: 20px; }

/* ---- 引用块 ---- */
blockquote { margin: 0 0 1em; padding: 0; }
.rt p { margin: 0 0 1.1em; }        /* reiki 长文 */
.rt h2 { font-family: var(--serif); font-size: 20px; margin: 1.4em 0 .5em; color: var(--gold); }

/* ==========================================================================
   桌面断点 ≥768px
   ========================================================================== */
@media (min-width: 768px) {
  .hero-claim { font-size: 40px; }
  .hero { background-image: linear-gradient(to bottom, rgba(247,242,233,0) 52%, var(--bg) 100%), url('/assets/img/g1-hero-landscape.webp'); }
  .cards-2 { grid-template-columns: 1fr 1fr; }
  .cards-3 { grid-template-columns: 1fr 1fr 1fr; }
  .qr-cards { grid-template-columns: repeat(4, 1fr); }  /* R12 四码卡桌面一排四列 */
  .pillars { grid-template-columns: 1fr 1fr 1fr; }
  .stage-grid { grid-template-columns: repeat(2, 1fr); }   /* 平板过渡：2×2 */
  /* R8-10 场域图桌面并排；长宽比不同，锁等高 + cover 防参差。R12：三图版一排三列 */
  .venue-grid { grid-template-columns: 1fr 1fr; }
  .venue-grid--3 { grid-template-columns: repeat(3, 1fr); }
  .venue img { height: 340px; }
  /* 双入口桌面：左右并排 + 竖向金线（移动为上下堆叠 + 横线）*/
  .entry-flat { grid-template-columns: 1fr 1fr; }
  .entry-flat .entry-col { padding: 4px 20px; }
  .entry-flat .entry-col + .entry-col { border-top: none; border-left: 1px solid rgba(169,130,62,0.35); }
}

/* R16：内在转化四层次卡——桌面 2×2（原四列课程目录感已弃），移动单列（见 .stage-grid 基样）、平板 2×2（≥768） */
@media (min-width: 1024px) {
  .stage-grid { grid-template-columns: repeat(2, 1fr); align-items: stretch; gap: 18px; }
}

/* ==========================================================================
   R4：个人语气 + 灵性场域（克制：光/气/流动/圆/层次）
   ========================================================================== */
/* B8 首屏光雾场域：中心微光 + 极淡环形轨迹 + 空间纵深 */
.hero { position: relative; overflow: hidden; }
.hero > .wrap { position: relative; z-index: 2; }
.hero::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    radial-gradient(42% 32% at 50% 30%, rgba(255,251,240,0.7), rgba(255,251,240,0) 72%),
    radial-gradient(85% 55% at 50% 6%, rgba(233,214,178,0.32), rgba(233,214,178,0) 62%);
}
.hero::after {
  content: ""; position: absolute; z-index: 1; left: 50%; top: 27%;
  width: 360px; height: 360px; margin: -180px 0 0 -180px; border-radius: 50%;
  border: 1px solid rgba(169,130,62,0.09); pointer-events: none;
  box-shadow: 0 0 0 22px rgba(169,130,62,0.028), 0 0 0 48px rgba(169,130,62,0.018);
}

/* B5 简介卡个人化：名字 / 身份 / 个人自述 / 降履历感资历 / 下划线文字链 */
.about-name { font-family: var(--serif); font-size: 18px; font-weight: 600; margin: 0 0 4px; }
/* R11 姓名下方较小身份行 */
.about-role { text-align: center; color: var(--muted); font-size: 13.5px; margin: 0 0 14px; }
.about-self { text-align: left; line-height: 1.95; margin: 0 0 14px; }
/* R11：简介卡正文两段、行高收紧、段间留白（避免一大块）*/
.about-cred { text-align: left; color: var(--muted); font-size: 16px; line-height: 1.8; display: block; margin: 0 0 14px; }  /* R21-D10 15→16 */
.text-link { color: var(--link); text-decoration: underline; text-underline-offset: 3px; font-size: 15px; }

/* B4 三层自述（3 卡）*/
.evidence--3 { grid-template-columns: 1fr; }

/* D18 移动端导航精简：一级 4 项 + 更多；桌面全展开 */
.nav__item--secondary { display: none; }
.nav__more { display: block; position: relative; }
.nav__more > details > summary { list-style: none; cursor: pointer; color: var(--text); padding: 4px 2px; font-size: 15px; }
.nav__more > details > summary::-webkit-details-marker { display: none; }
.nav__more > details > summary::after { content: " ▾"; color: var(--muted); }
.nav__more ul { position: absolute; right: 0; top: 100%; margin: 8px 0 0; padding: 8px 0; min-width: 156px; background: var(--card); border: 1px solid var(--line); border-radius: 10px; list-style: none; box-shadow: 0 8px 24px rgba(74,66,52,0.10); z-index: 20; }
.nav__more ul li a { display: block; padding: 9px 16px; color: var(--text); font-size: 15px; }
.nav__more ul li a:hover { background: var(--card-cream); text-decoration: none; }

/* A3 世界观署名段（R10：整段靠左，署名右下）*/
.worldview { max-width: 640px; margin: 0 auto; text-align: left; }
.worldview p { font-family: var(--serif); font-size: 18px; line-height: 2; }
.worldview cite { display: block; margin-top: 12px; color: var(--muted); font-style: normal; text-align: right; }

/* ==========================================================================
   R20 · 一路同行的声音：三张评价卡（静态无轮播）+ 原始反馈轻量展开层
   ========================================================================== */
.voices { }
.voices__h { text-align: center; font-size: 26px; margin: 0 0 28px; }
.voices__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 18px; align-items: stretch; }
/* 主卡跨两行；右栏「八年前」在上、「关注十年」在下，右栏总高≈主卡 */
.voice-card--main { grid-row: 1 / span 2; }
.voice-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px 24px; margin: 0; position: relative; }
.voice-card__q { margin: 0; line-height: 1.9; color: var(--text); }
.voice-card__q::before { content: "\201C"; font-family: var(--serif); color: var(--gold); font-size: 30px; line-height: 0; vertical-align: -0.35em; margin-right: 2px; }
.voice-card__by { margin-top: 14px; color: var(--muted); font-size: 13px; letter-spacing: .04em; }
.voice-card--main .voice-card__q { font-size: 16.5px; }

.voices-raw { margin-top: 22px; }
.voices-raw > summary { list-style: none; cursor: pointer; color: var(--gold); font-size: 14px; text-align: center; padding: 6px 0; }
.voices-raw > summary::-webkit-details-marker { display: none; }
/* R20b · 原始反馈改横向拖动条（沿用 feedback-strip/venue-strip）；首页高度适中 */
.voices-raw__strip.feedback-strip .fb-item { height: 420px; }
.voices-raw__strip.feedback-strip .fb-item img { cursor: zoom-in; }
@media (max-width: 768px) {
  .voices__grid { grid-template-columns: 1fr; }
  .voice-card--main { grid-row: auto; }
  .voices-raw__strip.feedback-strip .fb-item { height: 360px; }
}

/* B6 双入口：引导句（放大一号）；两栏并排样式见上「双引导 / 双入口」段 */
.entry-hint { text-align: center; color: var(--muted); font-size: 16px; margin: 0 auto 16px; max-width: 640px; line-height: 1.9; }

/* C11 体系三卡：同心圆底纹 + 极淡金色流动轨迹连接 */
.pillars--flow { position: relative; }
.pillars--flow .pillar {
  position: relative; z-index: 1;
  background-image: radial-gradient(circle at 50% 34px, rgba(169,130,62,0.045) 0 0.5px, transparent 1px),
    radial-gradient(circle at 50% 34px, transparent 22px, rgba(169,130,62,0.05) 22.5px, transparent 24px, transparent 31px, rgba(169,130,62,0.035) 31.5px, transparent 33px);
}

/* C9 三档明度分节（暖白 / 浅米 / 略深米灰，极克制，无色相跳变）*/
main > section:nth-child(3n+2) { background-color: rgba(245,238,225,0.55); }
main > section:nth-child(3n) { background-color: rgba(238,229,210,0.45); }
main > section.hero, main > section.section--texture { background-color: transparent; }

@media (min-width: 768px) {
  /* D18 桌面：全部导航展开，隐藏「更多」 */
  .nav__item--secondary { display: block; }
  .nav__more { display: none; }
  .evidence--3 { grid-template-columns: repeat(3, 1fr); }
  /* C10 桌面纵向留白收紧 ~20% */
  section { padding: 30px 0; }
  /* R12：三卡流动曲线删除——线条凌乱 */
}

/* ==========================================================================
   R9 · 简介卡资历行 + 体系区块灵性场（似有若无·静而不玄；暖金，禁星空/紫/粒子/曼陀罗）
   ========================================================================== */

/* 简介卡资历行（要点之下，降调居中）*/
/* R11 资历三行：极淡分隔线 + 逐行 */
/* R28 · 资历行：恢复原版式，仅保留加粗（Joanne 定；原 R21-C7 事实行/C8 hero 双链撤销）*/
.about-qualif { margin: 8px auto 0; max-width: 460px; padding-top: 12px; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 5px; text-align: center; }
.about-qualif span { color: var(--muted); font-size: 13px; line-height: 1.65; font-weight: 600; }

/* 灵性场明度总开关：默认标准；.is-soft 淡一档、.is-rich 浓一档（改类名即切换）*/
.spirit-field { --spirit-op: 0.8; position: relative; isolation: isolate; }
.spirit-field.is-soft { --spirit-op: 0.5; }
.spirit-field.is-rich { --spirit-op: 1.1; }
.spirit-field > * { position: relative; z-index: 1; }

/* ① R12：区块级底纹（同心圆弧 + 放射细线）删除——线条凌乱。保留 g4 纹理底 + 图标光晕 + 半透明卡 */

/* ② 三卡半透明：柔化为浅米色面板（原承接底纹，底纹已撤）*/
.spirit-field .pillar { position: relative; background-color: rgba(255,253,248,0.42); background-image: none; border-radius: 14px; }

/* ③ 每卡图标暖金径向光晕：图标浮于微光之上 */
.spirit-field .pillar::after {
  content: ""; position: absolute; top: 4px; left: 50%; width: 92px; height: 92px; margin-left: -46px;
  border-radius: 50%; z-index: 0; pointer-events: none;
  opacity: var(--spirit-op, 0.7);
  background: radial-gradient(circle, rgba(169,130,62,0.18) 0, rgba(169,130,62,0.07) 42%, transparent 70%);
}
.spirit-field .pillar > * { position: relative; z-index: 1; }

/* ==========================================================================
   R14 · 移动端导航：汉堡按钮 + 全屏抽屉（桌面端不变，见下方 ≥768px 复原）
   ========================================================================== */
/* 移动端顶栏：logo 左、汉堡右；原行内链接与「更多」下拉隐藏 */
.nav { justify-content: space-between; }
.nav__links { display: none; }
.nav__toggle {
  display: inline-flex; flex-direction: column; justify-content: center; gap: 5px;
  width: 44px; height: 44px; padding: 10px; margin-left: auto;
  background: none; border: 0; cursor: pointer;
}
.nav__toggle-bar { display: block; width: 24px; height: 2px; background: var(--text); border-radius: 2px; }

/* 全屏覆盖抽屉：站内暖白底、轻柔淡入淡出 */
.nav__drawer {
  position: fixed; inset: 0; z-index: 60;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: var(--bg);
  opacity: 0; visibility: hidden; transition: opacity .28s ease, visibility .28s ease;
}
.nav__drawer.is-open { opacity: 1; visibility: visible; }
.nav__drawer-close {
  position: absolute; top: 14px; right: 18px; width: 44px; height: 44px;
  font-size: 30px; line-height: 1; background: none; border: 0; color: var(--text); cursor: pointer;
}
.nav__drawer-links {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; align-items: center; gap: 26px;
}
.nav__drawer-links a { color: var(--text); font-family: var(--serif); font-size: 22px; letter-spacing: .05em; }
.nav__drawer-links a[aria-current="page"] { color: var(--gold); }
.nav__drawer-links a:hover { text-decoration: none; }
/* 预约：唯一金色按钮位（其余六项纯文字）*/
.nav__drawer-cta { margin-top: 8px; }
.nav__drawer-cta a {
  display: inline-block; background: var(--gold); color: #fff;
  padding: 12px 44px; border-radius: 999px; font-size: 20px; letter-spacing: .1em;
}
.nav__drawer-cta a[aria-current="page"] { color: #fff; }

/* 桌面端复原：隐藏汉堡与抽屉，恢复行内导航（视觉与 D18 一致，主页无 brand）*/
@media (min-width: 768px) {
  .nav { justify-content: flex-start; }
  .nav__links { display: flex; }
  .nav__toggle { display: none; }
  .nav__drawer { display: none; }
  .nav--home .nav__brand { display: none; }
}

/* ==========================================================================
   R35 · 催眠体系三层架构结构图（站内自绘，非位图）
   桌面横向三栏＋细金线相连；移动纵向堆叠，连接线转竖向。底纹用 G4。
   ========================================================================== */
.hyp-map {
  position: relative; isolation: isolate;
  display: grid; grid-template-columns: 1fr; gap: 34px;
  padding: 26px 20px; margin: 0 0 22px;
  border: 1px solid var(--line); border-radius: 14px;
  background: var(--card-cream);
}
/* 极淡 G4 底纹（叠在底层，不压文字）*/
.hyp-map::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background-image: url('/assets/img/g4-texture.webp');
  background-size: cover; background-position: center;
  opacity: .3; border-radius: inherit; pointer-events: none;
}
.hyp-map__node { position: relative; z-index: 1; text-align: center; }

/* 圆形层标：暖金细环＋径向光晕（呼应首页三卡图标手法）*/
.hyp-map__badge {
  display: flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; margin: 0 auto 10px;
  border: 1px solid var(--gold); border-radius: 50%;
  color: var(--gold); font-size: 16px; font-weight: 600; line-height: 1;
  background: radial-gradient(circle at 50% 50%, rgba(169,130,62,.14), rgba(169,130,62,0) 70%), #FFFDF8;
  box-shadow: 0 0 0 5px rgba(169,130,62,.06);
}
.hyp-map__tier { margin: 0 0 2px; font-size: 13px; color: var(--muted); letter-spacing: .05em; }
.hyp-map__name { margin: 0 0 10px; font-size: 17px; font-weight: 600; color: var(--text); }
.hyp-map__items { list-style: none; margin: 0; padding: 0; }
.hyp-map__items li {
  font-size: 14px; line-height: 1.7; color: var(--muted);
  padding: 5px 10px; margin: 0 auto 6px; max-width: 15em;
  border: 1px solid var(--line); border-radius: 999px; background: rgba(255,253,248,.72);
}
.hyp-map__items li:last-child { margin-bottom: 0; }

/* 连接线：移动＝竖向（节点之间），桌面＝横向 */
.hyp-map__node + .hyp-map__node::before {
  content: ""; position: absolute; z-index: 0;
  left: 50%; top: -30px; width: 1px; height: 26px;
  background: linear-gradient(to bottom, rgba(169,130,62,.12), rgba(169,130,62,.5) 45%, rgba(169,130,62,.12));
}
@media (min-width: 760px) {
  .hyp-map { grid-template-columns: repeat(3, 1fr); gap: 26px; padding: 30px 24px; }
  /* 横线跨满栏距并略伸入两侧，与圆标垂直居中（圆标 42px，中线 21px）*/
  .hyp-map__node + .hyp-map__node::before {
    left: -46px; top: 21px; width: 66px; height: 1px;
    background: linear-gradient(to right, rgba(169,130,62,.12), rgba(169,130,62,.5) 50%, rgba(169,130,62,.12));
  }
}

/* R44 · 催眠页承接段视频：居中，与其下阶段横条共用中轴 */
.hyp-video { margin: 0 auto 22px; }

/* R43 · 个案实录卡：「工作方式」行改与正文同字号（13→16px）；卡外免责小字维持 13px */
.hyp-cases .card .svc__tags { font-size: 16px; line-height: 1.85; }

/* R61 · 个案服务四层结构：项目说明段 + 「探索重点」小标与条目（源 docs/个案服务介绍.md）*/
.svc__sub { font-weight: 600; color: var(--gold); font-size: 15px; margin: 16px 0 8px; }
.svc__explore { margin: 0; }
.svc__explore > div { margin: 0 0 11px; }
.svc__explore dt { font-weight: 600; color: var(--text); font-size: 14.5px; margin: 0 0 2px; }
.svc__explore dd { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.8; }

/* R53 · 个案服务：全局线上/线下说明行 + 全页唯一预约入口 */
.svc-note { color: var(--muted); font-size: 14px; line-height: 1.8; margin: 0 0 18px; }
.svc-book { text-align: center; margin: 8px 0 30px; }
.svc-book .btn { min-width: 200px; }

/* R39 · 疗愈路径卡：说明行放大一号（13→15px），行高同步放宽 */
.hyp-paths .svc__tags { font-size: 15px; line-height: 1.8; }

/* R38 · 三层详解卡：默认收起的手风琴列表（纵向单列，展开不撑歪邻卡）*/
.hyp-tiers { display: grid; grid-template-columns: 1fr; gap: 12px; }
.hyp-tier { margin: 0; }
.hyp-tier h3 { margin: 0 0 6px; }
.hyp-tier > p { margin: 0; color: var(--muted); }
.hyp-tier__acc { margin-top: 12px; }

/* ==========================================================================
   R19 · 个案服务页分层显示：精简卡 + 「查看详情」手风琴（结构五层不变）
   收起态每卡＝项目名／核心说明一句／适合情况（有源才有）／形式·时长／展开钮
   ========================================================================== */
.svc--card { padding: 15px 16px; margin: 0 0 10px; }
.svc--card .svc__name { margin: 0 0 5px; }
.svc__lead { margin: 0 0 8px; font-size: 14.5px; line-height: 1.75; color: var(--text); }
.svc__fit { margin: 0 0 8px; padding-left: 18px; }
.svc__fit li { font-size: 13.5px; line-height: 1.7; color: var(--muted); margin: 0 0 2px; }
.svc__meta { margin: 0; font-size: 13px; color: var(--muted); }

.svc-acc { margin-top: 10px; border-top: 1px solid var(--line); padding-top: 9px; }
.svc-acc > summary {
  cursor: pointer; list-style: none;
  color: var(--link); font-size: 14px; line-height: 1.6;
  display: inline-block; padding: 2px 0;
}
.svc-acc > summary::-webkit-details-marker { display: none; }
.svc-acc > summary::before { content: "查看详情"; }
.svc-acc > summary::after { content: " ＋"; color: var(--muted); }
.svc-acc[open] > summary::before { content: "收起"; }
.svc-acc[open] > summary::after { content: " −"; }
.svc-acc > summary:hover { text-decoration: underline; }
/* 自带标题文案的折叠（summary 内自写文字，不用「查看详情」默认文案）*/
.svc-acc--label > summary::before,
.svc-acc--label[open] > summary::before { content: none; }
/* R21：会员共修纪事折叠——标记用「 →」（不用 ＋/−）*/
.annals-toggle > summary::after,
.annals-toggle[open] > summary::after { content: " →"; }
.svc-acc__body > p { margin: 0 0 10px; line-height: 1.85; }

/* R20：R24「会员声音短条×3」挂账关闭——HTML 早废、孤儿样式随此删除 */
.svc-acc__body { padding-top: 10px; }
/* 详情内原有元素紧贴收口，避免展开态尾部留白 */
.svc-acc__body > :last-child { margin-bottom: 0; }

/* ==========================================================================
   R15 · 笔记页收尾区：两微信入口并排 + 说明行（个人微信留位由 njk 门控）
   ========================================================================== */
.notes-outro { border-top: 1px solid var(--line); }
.notes-outro__hint { text-align: center; color: var(--muted); font-size: 15px; margin: 0 0 18px; }
/* 恰好两卡居中并排（flex 覆盖 .qr-cards 的 grid，单卡时亦居中——留位不渲染场景）*/
.qr-cards--2 { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; max-width: 480px; margin: 0 auto; }
.qr-cards--2 .qr-card { flex: 0 1 200px; }

/* ==========================================================================
   R16 · 成长体系页：静境引言方块 + 「了解我的静坐经历」轻链接
   ========================================================================== */
.quote-box {
  max-width: 680px; margin: 20px auto 0; padding: 20px 24px;
  background: var(--card); border: 1px solid var(--line); border-left: 3px solid var(--gold);
  border-radius: var(--radius);
}
.quote-box p { margin: 0; font-size: 16px; line-height: 1.9; }
.quote-box cite { display: block; margin-top: 10px; color: var(--muted); font-style: normal; text-align: right; }
/* 三体系卡之后·静境成长路径之前的轻链接 */
.pillar-more { text-align: center; margin: 14px 0 0; font-size: 15px; }
/* 笔记正文末·相关专辑链接行 */
.note-album { margin: 20px 0 0; font-size: 15px; color: var(--muted); }
/* 催眠说明带：横向低权重（左30/右70），无卡片底、仅细上分隔线 */
.hypno-band {
  max-width: 680px; margin: 18px auto 0; padding: 16px 0;
  border-top: 1px solid var(--line);
  display: grid; grid-template-columns: 1fr; gap: 6px 28px;
}
.hypno-band__t { margin: 0; font-weight: 600; font-size: 17px; color: var(--text); }
.hypno-band__body { margin: 0; }
.hypno-band__body > p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.85; }
.hypno-band__more { margin: 8px 0 0 !important; text-align: right; }
@media (min-width: 768px) { .hypno-band { grid-template-columns: 30% 1fr; } }
/* 层次卡·「查看对应项目」折叠：卡面只留状态＋适合方向，项目名收进折叠 */
.stage-more { margin-top: 4px; }
.stage-more > summary { cursor: pointer; color: var(--link); font-size: 14px; list-style: none; }
.stage-more > summary::-webkit-details-marker { display: none; }
.stage-more > summary::after { content: " ▾"; color: var(--muted); }
.stage-more[open] > summary::after { content: " ▴"; }
.stage-more ul { margin: 8px 0 0; padding-left: 18px; }
.stage-more li { font-size: 13.5px; line-height: 1.7; margin: 0 0 4px; }
.stage-more > p { margin: 8px 0 0; font-size: 14px; }
/* 按钮伪装成文字链（传承班「了解传承学习」，与「开启你的生命之书」同处理）*/
button.linkish { background: none; border: 0; padding: 0; cursor: pointer; font-family: inherit; }
/* 弹窗（了解传承学习·企业微信码）*/
.modal { position: fixed; inset: 0; margin: auto; max-width: 440px; width: calc(100% - 32px); height: fit-content; max-height: calc(100vh - 40px); overflow: auto;
  padding: 26px 24px 22px; background: var(--card); color: var(--text); text-align: center;
  border: 1px solid var(--line); border-radius: var(--radius); }
.modal::backdrop { background: rgba(40,34,24,0.45); }
.modal__close { position: absolute; top: 8px; right: 12px; width: 36px; height: 36px; font-size: 24px; line-height: 1; background: none; border: 0; color: var(--muted); cursor: pointer; }
.modal__title { font-weight: 600; margin: 0 0 14px; }
.modal__text { text-align: left; font-size: 14px; line-height: 1.85; color: var(--text); margin: 0 0 16px; }
.modal__text p { margin: 0 0 10px; }
.modal__text p:last-child { margin-bottom: 0; }
.modal__qr { width: 200px; max-width: 68%; height: auto; display: block; margin: 0 auto 10px; border: 1px solid var(--line); border-radius: 8px; }
.modal__hint { font-size: 13px; color: var(--muted); margin: 0; }

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; scroll-behavior: auto !important; }
}
