@charset "UTF-8";

/* ============================================================
   复原心灵 · 官网手机优先重制版
   ------------------------------------------------------------
   编写顺序：375 主稿样式 → @media (min-width: 900px) 桌面展开
   字体：全系统字体栈，零外链（不放上海服务器会慢的谷歌字体）
   ============================================================ */

/* ---------- 1. 变量（设计令牌 · 配色系统 B） ---------- */
:root {
  --green: #3d6b4f;        /* 主绿 */
  --green-dark: #2a3a2e;   /* 深墨绿 */
  --green-soft: #7ec8a0;   /* 柔绿（深底上的正文） */
  --green-pale: #eaf3ec;   /* 极浅绿 */
  --gold: #c9a96e;         /* 暖金 */
  --bg-warm: #fdf8ef;      /* 暖白底 */
  --bg-cool: #f7f9f8;      /* 冷调底 */
  --line: #e3ddd2;         /* 描边 */
  --ink: #2a3a2e;          /* 标题墨 */
  --body: #5f6e62;         /* 正文灰 */
  --white: #ffffff;

  --font-stack: -apple-system, BlinkMacSystemFont, "PingFang SC",
                "HarmonyOS Sans SC", "Hiragino Sans GB", "Microsoft YaHei",
                "微软雅黑", "Source Han Sans SC", sans-serif;

  /* 375 基准 */
  --pad-x: 22px;
  --sec-y: 52px;
  --radius: 14px;
  --radius-lg: 18px;
}

/* ---------- 2. 复位 + 基础 ---------- */
*, *::before, *::after { box-sizing: border-box; }

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

body {
  margin: 0;
  font-family: var(--font-stack);
  font-size: 15px;
  line-height: 1.85;
  color: var(--body);
  background: var(--bg-warm);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* 手机端：长英文/数字不撑破布局 */
p, h1, h2, h3, li, a { overflow-wrap: break-word; word-break: break-word; }

h1, h2, h3 { margin: 0; color: var(--ink); font-weight: 600; }
p { margin: 0; }
a { color: var(--green); text-decoration: none; }

img { max-width: 100%; display: block; }

/* 焦点可见（无障碍） */
a:focus-visible, button:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ---------- 3. 布局容器 ---------- */
.wrap {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 var(--pad-x);
}

.section { padding: var(--sec-y) 0; }
.section--warm  { background: var(--bg-warm); }
.section--cool  { background: var(--bg-cool); }
.section--white { background: var(--white); }

.eyebrow {
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: .06em;
  color: var(--green);
  margin-bottom: 12px;
}

.h-sec {
  font-size: 22px;
  line-height: 1.55;
  letter-spacing: .01em;
  margin-bottom: 14px;
}

.lead {
  font-size: 15px;
  line-height: 1.9;
  color: var(--body);
}

.body-ink { color: var(--ink); }

.rule { height: 1px; background: var(--line); border: 0; margin: 0; }
.rule--gold { height: 2px; background: var(--gold); }

/* ---------- 4. 导航栏（手机优先） ---------- */
.nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(253, 248, 239, .94);
  backdrop-filter: saturate(1.4) blur(8px);
  -webkit-backdrop-filter: saturate(1.4) blur(8px);
  border-bottom: 1px solid var(--line);
}
.nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 58px;
}
.nav__brand {
  font-size: 18px;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: .06em;
}
.nav__toggle {
  font-size: 14px;
  color: var(--body);
  background: none;
  border: 0;
  padding: 8px 0 8px 12px;
  font-family: inherit;
  cursor: pointer;
}
.nav__links { display: none; }          /* 手机端隐藏，点☰展开 */
.nav__links.is-open {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 4px 0 16px;
  border-top: 1px solid var(--line);
}
.nav__links a {
  font-size: 15px;
  color: var(--ink);
  padding: 12px 0;
  border-bottom: 1px solid rgba(227, 221, 210, .6);
}
.nav__links a:last-child { border-bottom: 0; }

/* ---------- 5. 首屏（375 主稿） ---------- */
.hero { padding: 46px 0 54px; background: var(--bg-warm); }
.hero__title {
  font-size: 28px;
  line-height: 1.5;
  letter-spacing: .01em;
  margin-bottom: 18px;
}
.hero__text { font-size: 15px; line-height: 1.9; }

.btn-row { display: flex; flex-direction: column; gap: 12px; margin-top: 30px; }

.btn {
  display: block;
  text-align: center;
  font-size: 16px;
  line-height: 1.4;
  padding: 16px 24px;
  border-radius: var(--radius);
  font-family: inherit;
  cursor: pointer;
  border: 1px solid transparent;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.btn--primary {
  background: var(--green);
  color: var(--white);
  box-shadow: 0 6px 18px rgba(61, 107, 79, .18);
}
.btn--ghost {
  background: var(--green-pale);
  color: var(--green);
}
.btn:active { transform: translateY(1px); }
.btn--light { background: var(--white); color: var(--ink); }

/* ---------- 6. 板块 1 · 共情 ---------- */

/* ---------- 7. 板块 2 · 边界声明 ---------- */
.statements { display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 24px; }
.card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px 20px;
}
.card p { font-size: 15px; line-height: 1.9; color: var(--ink); }
.card p + p { margin-top: 14px; }

/* ---------- 8. 板块 3 · 产品 ---------- */
.rhythm { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 26px; }
.rhythm__seg {
  background: var(--green-pale);
  border-radius: 12px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-align: center;
}
.rhythm__day { font-size: 12px; line-height: 1.4; color: var(--green); letter-spacing: .04em; }
.rhythm__note { font-size: 11px; line-height: 1.5; color: var(--ink); }

.chapters { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 22px; }
.chapter {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 20px;
}
.chapter__no { font-size: 12px; color: var(--green); letter-spacing: .1em; }
.chapter__title { font-size: 16px; line-height: 1.6; margin: 8px 0 6px; }
.chapter__sub { font-size: 12px; color: var(--body); }

.note-team {
  font-size: 14px;
  line-height: 1.9;
  color: var(--body);
  margin-top: 24px;
}

.credential {
  background: var(--green-pale);
  border-radius: var(--radius-lg);
  padding: 24px 22px;
  margin-top: 22px;
}
.credential__title { font-size: 16px; line-height: 1.6; margin-bottom: 12px; }
.credential p { font-size: 14px; line-height: 1.95; color: var(--ink); }
.credential p + p { margin-top: 14px; }

.more-link {
  display: inline-block;
  font-size: 14px;
  color: var(--green);
  margin-top: 20px;
  border-bottom: 1px solid rgba(61, 107, 79, .35);
  padding-bottom: 2px;
}

/* ---------- 9. 板块 4 · 关于我 ---------- */
.story p { font-size: 15px; line-height: 2; color: var(--ink); }
.story p + p { margin-top: 18px; }

.honest {
  background: var(--white);
  border: 1px solid var(--gold);
  border-left: 3px solid var(--gold);
  border-radius: var(--radius);
  padding: 22px 20px;
  margin: 26px 0;
}
.honest__title { font-size: 16px; line-height: 1.6; margin-bottom: 10px; }
.honest p { font-size: 14px; line-height: 1.95; color: var(--ink); }

/* ---------- 10. 板块 5 · 轻入口（深底） ---------- */
.soft {
  background: var(--green);
  color: var(--white);
}
.soft .eyebrow { color: var(--green-soft); }
.soft .h-sec, .soft .lead { color: var(--white); }
.soft .lead { color: var(--green-soft); }

/* ---------- 11. 板块 6 · 怎么开始 ---------- */
.price-group { display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 26px; }
.price-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 26px 22px;
}
.price-card__name { font-size: 18px; line-height: 1.5; }
.price-card__price {
  font-size: 30px;
  line-height: 1.3;
  color: var(--green);
  margin: 10px 0 16px;
  letter-spacing: .02em;
}
.price-card__list { font-size: 14px; line-height: 2.1; color: var(--body); white-space: pre-line; }
.price-card__foot { font-size: 13px; line-height: 1.9; color: var(--body); margin-top: 16px; }

.refund-card {
  background: var(--green-pale);
  border-radius: var(--radius-lg);
  padding: 24px 22px;
}
.refund-card__title { font-size: 15px; line-height: 1.7; margin-bottom: 10px; }
.refund-card p { font-size: 13px; line-height: 1.9; color: var(--body); }

.one-on-one {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 24px 22px;
}
.one-on-one__title { font-size: 16px; line-height: 1.6; margin-bottom: 10px; }
.one-on-one p { font-size: 14px; line-height: 1.95; color: var(--body); }
.one-on-one p + p { margin-top: 14px; }

/* ---------- 12. 页脚 ---------- */
.footer {
  background: var(--green-dark);
  padding: 40px 0 34px;
  text-align: center;
}
.footer__brand {
  font-size: 16px;
  color: var(--white);
  letter-spacing: .1em;
  margin-bottom: 14px;
}
/* 页脚常驻安全阀：所有页面的页脚都显这一行（含 day02–day26）
   顶部 NOTICE 已在 day02–26 省掉，这里就是精简版安全阀的常驻位置 */
.footer__note {
  font-size: 14px;
  line-height: 1.9;
  color: #e8d9b0;            /* 深绿底上的暖白，比 --green-soft 更显眼 */
  max-width: 32em;
  margin: 6px auto 0;
  padding: 14px 18px 4px;
  border-top: 1px solid rgba(201, 169, 110, .35);  /* 与金色常驻元素呼应 */
  letter-spacing: .02em;
}
.footer__copy {
  font-size: 12px;
  line-height: 1.8;
  color: rgba(126, 200, 160, .72);
  margin-top: 18px;
}

/* ============================================================
   13. 桌面展开（min-width: 900px）
   —— 移动端是主稿，这里是它的展开，不是另一套设计
   ============================================================ */
@media (min-width: 900px) {
  :root {
    --pad-x: 72px;
    --sec-y: 92px;
  }

  body { font-size: 16px; line-height: 1.9; }

  /* 导航：☰ 换成三项链接 */
  .nav__toggle { display: none; }
  .nav__inner { height: 72px; }
  .nav__brand { font-size: 20px; }
  .nav__links {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 40px;
    padding: 0;
    border-top: 0;
  }
  .nav__links a {
    font-size: 15px;
    padding: 0;
    border-bottom: 0;
    color: var(--body);
    transition: color .16s ease;
  }
  .nav__links a:hover { color: var(--green); }

  /* 字号放大：标题 56，正文 18 */
  .hero { padding: 96px 0 104px; }
  .hero__title { font-size: 56px; line-height: 1.36; letter-spacing: 0; margin-bottom: 26px; }
  .hero__text { font-size: 18px; line-height: 1.9; max-width: 720px; }
  .eyebrow { font-size: 16px; margin-bottom: 16px; }

  /* 按钮：纵排 → 横排 */
  .btn-row { flex-direction: row; gap: 16px; margin-top: 44px; }
  .btn { padding: 18px 34px; }
  .btn:hover { transform: translateY(-1px); }
  .btn--primary:hover { box-shadow: 0 10px 26px rgba(61, 107, 79, .24); }

  /* 区标题 38 */
  .h-sec { font-size: 38px; line-height: 1.5; margin-bottom: 18px; }
  .lead { font-size: 17px; line-height: 1.95; max-width: 760px; }

  /* 卡片：单列 → 多列 */
  .statements { grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px; }
  .card { padding: 32px 28px; border-radius: var(--radius-lg); }
  .card p { font-size: 15px; }

  .rhythm { grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 40px; }
  .rhythm__seg { padding: 20px 22px; }
  .rhythm__day { font-size: 13px; }
  .rhythm__note { font-size: 12px; }

  .chapters { grid-template-columns: repeat(5, 1fr); gap: 16px; margin-top: 32px; }
  .chapter { padding: 24px 20px; border-radius: var(--radius-lg); }
  .chapter__title { font-size: 17px; }

  .note-team { font-size: 15px; max-width: 820px; }

  .credential { padding: 40px 44px; margin-top: 40px; }
  .credential__title { font-size: 20px; margin-bottom: 16px; }
  .credential p { font-size: 15px; line-height: 2; }

  .story p { font-size: 16px; max-width: 760px; }
  .honest { padding: 32px 36px; margin: 36px 0; }
  .honest__title { font-size: 19px; }
  .honest p { font-size: 15px; max-width: 720px; }

  .price-group { grid-template-columns: 1.2fr 1fr; gap: 24px; margin-top: 44px; }
  .price-card { padding: 40px 38px; grid-column: 1; grid-row: 1 / span 2; }
  .price-card__name { font-size: 20px; }
  .price-card__price { font-size: 40px; margin: 12px 0 20px; }
  .price-card__list { font-size: 15px; line-height: 2.2; }
  .refund-card { padding: 34px 32px; grid-column: 2; }
  .one-on-one { padding: 34px 32px; grid-column: 2; }
  .one-on-one__title { font-size: 18px; }

  .footer { padding: 60px 0 48px; }
  .footer__brand { font-size: 18px; margin-bottom: 18px; }
  .footer__note { font-size: 15px; padding-top: 18px; }
}

/* 超大屏：正文限宽居中，别拉成一条长线 */
@media (min-width: 1280px) {
  .hero__title { font-size: 60px; }
}

/* ---------- 14. 减少动效偏好 ---------- */
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- 15. 打印 ---------- */
@media print {
  .nav, .btn-row { display: none !important; }
  body { background: #fff; }
}

/* ============================================================
   16. 整站扩展组件（手机优先）
   ============================================================ */

/* 跳转链接（无障碍） */
.skip {
  position: absolute; left: -9999px; top: 0;
  background: var(--green); color: #fff; padding: 10px 16px; z-index: 100;
}
.skip:focus { left: 8px; top: 8px; }

/* 面包屑 */
.crumb { font-size: 12px; color: var(--body); padding: 14px 0 0; }
.crumb a { color: var(--body); }
.crumb span { margin: 0 6px; opacity: .5; }

/* 页头 */
.page-head { padding: 30px 0 8px; }
.page-head .eyebrow { margin-bottom: 10px; }
.page-head h1 { font-size: 26px; line-height: 1.5; margin-bottom: 14px; }

/* 正文排版 */
.prose { font-size: 15px; line-height: 2; color: var(--ink); }
.prose p + p { margin-top: 18px; }
.prose h2 { font-size: 21px; line-height: 1.6; margin: 34px 0 14px; }
.prose h3 { font-size: 17px; line-height: 1.6; margin: 26px 0 10px; }
.prose ul { margin: 14px 0; padding-left: 20px; }
.prose li { margin-bottom: 8px; }
.prose strong { font-weight: 600; }

/* 🔴 边界声明框（整站最重要） */
.notice {
  background: var(--white);
  border: 1px solid var(--gold);
  border-left: 4px solid var(--gold);
  border-radius: var(--radius);
  padding: 20px 18px;
  margin: 0 0 28px;
}
.notice__t { font-size: 15px; line-height: 1.6; color: var(--ink); margin-bottom: 10px; font-weight: 600; }
.notice p { font-size: 13px; line-height: 1.9; color: var(--body); }
.notice p + p { margin-top: 10px; }

/* 26 条：分组 + 条目 */
.pgroup { margin-top: 34px; }
.pgroup__h {
  display: flex; align-items: baseline; gap: 10px;
  padding-bottom: 10px; margin-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.pgroup__no { font-size: 12px; color: var(--green); letter-spacing: .1em; }
.pgroup__t { font-size: 18px; line-height: 1.5; color: var(--ink); }

.plist { display: grid; grid-template-columns: 1fr; gap: 10px; }
.pitem {
  display: flex; gap: 12px; align-items: flex-start;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 16px 16px;
}
.pitem__no {
  flex: 0 0 auto; font-size: 12px; color: var(--green);
  letter-spacing: .06em; padding-top: 3px; min-width: 22px;
}
.pitem__t { font-size: 15px; line-height: 1.75; color: var(--ink); }
/* 有单页解读的条目：可点（单页不进主导航，此处是唯一入口） */
.pitem--link { text-decoration: none; transition: border-color .18s, background .18s, transform .18s; }
.pitem--link:hover { border-color: var(--green); background: var(--bg-cool); transform: translateX(3px); }
.pitem--link::after {
  content: "解读 →"; flex: 0 0 auto; align-self: center; margin-left: 2px;
  font-size: 11px; color: var(--green); letter-spacing: .04em; white-space: nowrap;
}

/* 版权条 */
.copyright {
  background: var(--bg-cool);
  border-radius: var(--radius);
  padding: 18px 18px; margin-top: 34px;
  font-size: 12px; line-height: 1.9; color: var(--body);
}

/* 资历块（手机纵向堆叠，非表格） */
.creds { display: grid; grid-template-columns: 1fr; gap: 12px; }
.cred {
  background: var(--white); border: 1px solid var(--line);
  border-radius: 12px; padding: 18px 16px;
}
.cred__t { font-size: 15px; line-height: 1.6; color: var(--ink); margin-bottom: 6px; }
.cred__d { font-size: 13px; line-height: 1.8; color: var(--body); }

.mentors { display: grid; grid-template-columns: 1fr; gap: 12px; }
.mentor {
  background: var(--white); border: 1px solid var(--line);
  border-left: 3px solid var(--gold);
  border-radius: 0 12px 12px 0; padding: 18px 16px;
}
.mentor__n { font-size: 15px; line-height: 1.6; color: var(--ink); }
.mentor__y { font-size: 12px; color: var(--green); margin: 6px 0 4px; }
.mentor__d { font-size: 13px; line-height: 1.8; color: var(--body); }

/* FAQ（details 原生折叠，零 JS） */
.faq { margin-top: 26px; }
.faq details {
  background: var(--white); border: 1px solid var(--line);
  border-radius: 12px; padding: 0; margin-bottom: 10px;
}
.faq summary {
  font-size: 15px; line-height: 1.7; color: var(--ink);
  padding: 16px 18px; cursor: pointer; list-style: none;
  display: flex; justify-content: space-between; gap: 12px;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "＋"; color: var(--green); flex: 0 0 auto; }
.faq details[open] summary::after { content: "－"; }
.faq .faq__a { font-size: 14px; line-height: 1.95; color: var(--body); padding: 0 18px 18px; }

/* 微信转化入口（start 页） */
.qr-join {
  margin-top: 34px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 28px 22px;
  text-align: center;
}
.qr-join__t {
  font-size: 20px; line-height: 1.6; color: var(--ink); margin-bottom: 10px;
}
.qr-join__p {
  font-size: 14px; line-height: 1.95; color: var(--body);
  max-width: 30em; margin: 0 auto 22px;
}
.qr-join__box { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.qr-join__qr {
  width: 168px; height: 168px;
  border: 1px dashed var(--line);
  border-radius: 10px;
  background: var(--bg-warm);
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; color: var(--body);
}
.qr-join__id { font-size: 15px; color: var(--ink); }
.qr-join__note { font-size: 13px; line-height: 1.8; color: var(--body); margin-top: 16px; }

/* 页尾 CTA */
.cta-bar { background: var(--green-pale); border-radius: var(--radius-lg); padding: 26px 22px; margin-top: 40px; text-align: center; }
.cta-bar__t { font-size: 18px; line-height: 1.6; color: var(--ink); margin-bottom: 10px; }
.cta-bar__p { font-size: 14px; line-height: 1.9; color: var(--body); margin-bottom: 20px; }
.cta-bar .btn { display: inline-block; }

/* 相关页导航 */
.pager { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 40px; }
.pager a {
  background: var(--white); border: 1px solid var(--line); border-radius: 12px;
  padding: 18px; font-size: 14px; color: var(--ink); line-height: 1.6;
}
.pager a small { display: block; font-size: 12px; color: var(--green); margin-bottom: 4px; }

/* 26 条 · 底层核心句（每条结尾，Kris 核心理念「我是有选择的」） */
.coreline {
  margin: 42px 0 0; padding: 24px 20px;
  background: var(--white); border: 1px solid var(--line);
  border-left: 3px solid var(--gold); border-radius: 0 12px 12px 0;
}
.coreline__lead {
  font-size: 21px; line-height: 1.65; color: var(--ink);
  margin: 0 0 10px; letter-spacing: .5px;
}
.coreline__sub { font-size: 14px; line-height: 1.95; color: var(--body); margin: 0; }
/* 覆盖 .prose p + p 的 18px，避免核心句内部间距失控 */
.prose .coreline p + p { margin-top: 10px; }

@media (min-width: 900px) {
  .page-head { padding: 48px 0 12px; }
  .page-head h1 { font-size: 42px; line-height: 1.45; }
  .prose { font-size: 16px; max-width: 760px; }
  .prose h2 { font-size: 28px; margin: 44px 0 16px; }
  .prose h3 { font-size: 20px; }
  .notice { padding: 28px 32px; margin-bottom: 40px; }
  .notice__t { font-size: 17px; }
  .notice p { font-size: 14px; }
  .plist { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .pitem { padding: 20px 22px; }
  .pitem__t { font-size: 16px; }
  .pgroup__t { font-size: 22px; }
  .creds { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .cred { padding: 24px 26px; }
  .mentors { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .mentor { padding: 26px 24px; }
  .faq summary { font-size: 16px; padding: 20px 24px; }
  .faq .faq__a { font-size: 15px; padding: 0 24px 22px; }
  .cta-bar { padding: 44px; }
  .cta-bar__t { font-size: 24px; }
  .pager { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .coreline { padding: 30px 34px; margin-top: 54px; }
  .coreline__lead { font-size: 25px; }
  .coreline__sub { font-size: 15px; }
  .qr-join { padding: 40px 34px; margin-top: 40px; }
  .qr-join__t { font-size: 24px; }
  .qr-join__p { font-size: 15px; }
  .qr-join__qr { width: 186px; height: 186px; }
  .copyright { padding: 26px 32px; font-size: 13px; }
}
