/* D02 案例阅读基线；仅作用于用户生命周期 v0.12章节样张。 */
:root {
  --background: #f7f1ed;
  --paper: #fffdfa;
  --ink: #171513;
  --body: #625d5a;
  --secondary: #716964;
  --accent: #76577f;
  --judgment: #57415e;
  --line: #e4dde3;
  --header: #eae5eb;
  --practice: #f3f2f4;
  color: var(--ink);
  background: var(--background);
  font-family: "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-synthesis: none;
  color-scheme: light;
}
* { box-sizing: border-box; letter-spacing: 0; }
body { margin: 0; }
a { color: inherit; text-decoration: none; touch-action: manipulation; }
a:hover { color: var(--accent); }
p, h1, h2, h3, h4, figure, dl, dd { margin: 0; }
img { display: block; max-width: 100%; }
[hidden] { display: none !important; }
[id] { scroll-margin-top: 102px; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
[tabindex="-1"]:focus:not(:focus-visible) { outline: none; }
.page-width { width: calc(100% - 112px); max-width: 1480px; margin-inline: auto; }
.site-header { height: 72px; padding-inline: 56px; display: flex; align-items: center; justify-content: space-between; gap: 20px; position: sticky; top: 0; z-index: 5; background: var(--background); border-bottom: 1px solid var(--line); }
.wordmark { display: flex; gap: 20px; align-items: center; font-size: 20px; font-weight: 600; }
.wordmark span { border-left: 1px solid var(--line); padding-left: 20px; color: var(--secondary); font-size: 13px; font-weight: 400; }
.contact-link { font-size: 14px; white-space: nowrap; }
.skip-link { position: fixed; top: 10px; left: 10px; transform: translateY(-180%); z-index: 10; background: var(--paper); padding: 15px; }
.skip-link:focus { transform: none; }
.case-intro { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: 52px; align-items: center; padding-block: 60px 66px; }
.intro-copy { min-width: 0; }
.case-category { display: flex; flex-wrap: wrap; gap: 12px; font-size: 14px; line-height: 1.8; color: var(--secondary); margin-bottom: 26px; }
.case-art { width: 250px; aspect-ratio: 4 / 5; }
.case-art img { width: 100%; height: 100%; object-fit: contain; border-radius: 8px; }
.case-art.is-unavailable { display: grid; place-items: center; font-size: 14px; color: var(--secondary); line-height: 1.8; }
h1 { font-size: 48px; line-height: 1.35; font-weight: 550; overflow-wrap: anywhere; }
.case-lead { font-size: 18px; line-height: 1.9; color: var(--body); margin-top: 22px; max-width: 780px; }
.contribution-summary { display: grid; gap: 16px; margin-top: 26px; font-size: 15px; line-height: 1.85; }
.contribution-summary > div { display: grid; grid-template-columns: 144px minmax(0, 1fr); gap: 18px; }
.contribution-summary dt { color: var(--judgment); font-weight: 500; }
.contribution-summary dd { color: var(--body); }
.contribution-summary a { text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 5px; }
.contribution-summary a:hover { text-decoration-color: currentColor; }
.case-body { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 34px; align-items: start; }
.contents { align-self: stretch; }
.contents-inner { position: sticky; top: 108px; }
.contents-inner > p { color: var(--secondary); font-size: 13px; margin-bottom: 16px; }
.contents nav { display: grid; border-left: 1px solid var(--line); }
.contents a { display: flex; align-items: baseline; gap: 10px; padding: 13px 0 13px 12px; margin-left: -1px; border-left: 2px solid transparent; font-size: 14px; line-height: 1.6; color: var(--secondary); }
.contents a span { font-size: 11px; flex-shrink: 0; }
.contents a[aria-current] { border-color: var(--accent); color: var(--judgment); font-weight: 600; }
.reading-surface { min-width: 0; padding-inline: 42px; background: var(--paper); }
.chapter { padding-block: 42px 50px; }
.chapter + .chapter { border-top: 1px solid var(--line); }
.chapter-heading { margin-bottom: 28px; }
.chapter-number { display: block; color: var(--accent); font-size: 12px; margin-bottom: 10px; }
h2 { font-size: 28px; line-height: 1.55; font-weight: 550; overflow-wrap: anywhere; }
h3 { font-size: 21px; line-height: 1.65; font-weight: 550; margin-bottom: 18px; }
.chapter p { font-size: 16px; line-height: 1.95; color: var(--body); }
.chapter p + p { margin-top: 16px; }
.chapter strong { color: var(--judgment); font-weight: 550; }
.subsection { margin-top: 34px; }
.chapter-heading + .subsection { margin-top: 0; }
.chapter > p + .subsection { margin-top: 30px; }
.matrix { margin-block: 26px; }
.rule-table { width: 100%; border-collapse: collapse; table-layout: fixed; text-align: left; font-size: 15px; line-height: 1.85; }
.rule-table thead th { background: var(--header); color: var(--judgment); font-weight: 500; border-bottom: 1px solid #d6cdd9; }
.rule-table th, .rule-table td { padding: 16px 12px; vertical-align: top; overflow-wrap: break-word; }
.rule-table tbody th { color: var(--judgment); font-weight: 500; }
.rule-table tbody td { color: var(--body); }
.rule-table tbody tr:not(:last-child) { border-bottom: 1px solid var(--line); }
.mobile-field { display: none; }
.formula { margin-block: 26px; border-left: 3px solid var(--accent); padding: 17px 20px; background: #f0ebf2; }
.formula p { overflow-wrap: anywhere; }
.page-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding-block: 26px 38px; color: var(--secondary); font-size: 13px; border-top: 1px solid var(--line); }
.chapter .chapter-judgment { color: var(--ink); font-size: 17px; line-height: 1.9; }
.rating-formula { margin-top: 26px; padding-block: 8px; }
.rating-formula figcaption { font-size: 14px; color: var(--secondary); margin-bottom: 14px; }
.fraction { display: inline-grid; text-align: center; color: var(--judgment); font-size: 16px; line-height: 1.8; max-width: 100%; overflow-wrap: anywhere; }
.fraction > span { padding: 6px 14px; }
.fraction > span:first-child { border-bottom: 1px solid var(--accent); }
.chapter .rating-formula p { font-size: 13px; margin-top: 12px; }
.positioning-table th:nth-child(3), .positioning-table td:nth-child(3) { padding-left: 42px; }
.positioning-table th:nth-child(2), .positioning-table td:nth-child(2) { padding-right: 28px; }
@media (min-width: 1440px) { h1 { font-size: 54px; } }
@media (max-width: 1100px) {
  .page-width { width: calc(100% - 64px); }
  .site-header { padding-inline: 32px; }
  .case-body { grid-template-columns: 150px minmax(0, 1fr); gap: 22px; }
  .reading-surface { padding-inline: 26px; }
  .case-intro { grid-template-columns: minmax(0, 1fr) 200px; gap: 30px; }
  .case-art { width: 200px; }
  h1 { font-size: 42px; }
  .rule-table th, .rule-table td { padding: 14px 9px; }
}
@media (max-width: 800px) {
  .page-width { width: calc(100% - 36px); }
  .site-header { height: 64px; padding-inline: 18px; }
  .wordmark { gap: 12px; font-size: 18px; }
  .wordmark span { padding-left: 12px; }
  .case-intro { display: block; position: relative; padding-block: 32px; }
  .case-category { font-size: 12px; gap: 8px; margin-bottom: 18px; }
  .case-art { width: 92px; position: absolute; right: 0; top: 78px; }
  h1 { font-size: 32px; padding-right: 106px; min-height: 116px; }
  .case-lead { font-size: 16px; margin-top: 16px; }
  .contribution-summary { gap: 15px; margin-top: 22px; }
  .contribution-summary > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .contribution-summary dd { font-size: 14px; }
  .fraction { font-size: 14px; }
  .fraction > span { padding-inline: 0; }
  .case-body { display: block; }
  .contents { margin-bottom: 24px; }
  .contents-inner { position: static; }
  .contents-inner > p { margin-bottom: 10px; }
  .contents nav { grid-template-columns: repeat(3, minmax(0, 1fr)); border-left: 0; gap: 2px 8px; }
  .contents a { font-size: 12px; padding: 9px 0 9px 7px; gap: 6px; margin: 0; }
  .reading-surface { padding-inline: 18px; }
  .chapter { padding-block: 30px 36px; }
  h2 { font-size: 24px; }
  h3 { font-size: 20px; }
  .chapter-heading { margin-bottom: 22px; }
  .subsection { margin-top: 28px; }
  .matrix { margin-block: 22px; }
  .rule-table, .rule-table tbody, .rule-table tr { display: block; width: 100%; }
  .rule-table colgroup { display: none; }
  .rule-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .rule-table tbody tr { padding-bottom: 18px; margin-bottom: 18px; }
  .rule-table tbody tr:last-child { padding-bottom: 0; margin-bottom: 0; }
  .rule-table tbody th { display: block; width: 100%; padding: 11px 12px; background: var(--header); font-size: 16px; margin-bottom: 10px; }
  .rule-table td { display: block; padding: 9px 4px; font-size: 15px; }
  .mobile-field { display: block; color: var(--judgment); font-size: 13px; font-weight: 500; margin-bottom: 5px; }
  .cell-content { display: block; }
  .positioning-table th:nth-child(3), .positioning-table td:nth-child(3), .positioning-table th:nth-child(2), .positioning-table td:nth-child(2) { padding: 9px 4px; }
  .formula { padding: 15px; }
  [id] { scroll-margin-top: 84px; }
}
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
@media print {
  :root { background: white; }
  .site-header, .contents, .page-footer, .skip-link { display: none; }
  .page-width { width: 100%; }
  .case-intro { padding-top: 0; }
  .case-art { position: static; }
  .case-body { display: block; }
  .reading-surface { padding: 0; }
  .chapter { break-before: page; border: 0; }
  .chapter:first-child { break-before: auto; }
  .chapter-heading, h3 { break-after: avoid; }
  .rule-table { display: table; }
  .rule-table colgroup { display: table-column-group; }
  .rule-table thead { display: table-header-group; position: static; width: auto; height: auto; clip-path: none; overflow: visible; white-space: normal; }
  .rule-table tbody { display: table-row-group; }
  .rule-table tbody tr { display: table-row; }
  .rule-table tbody th, .rule-table td { display: table-cell; width: auto; padding: 12px; }
  .mobile-field { display: none; }
}

/* 方法正文沿既有阅读结构呈现，案例样式复用会员页。 */
.chapter > p:first-of-type { color: var(--ink); font-size: 17px; }
.chapter > .small-note { color: var(--secondary); font-size: 14px; line-height: 1.9; }
.chapter > .matrix + p, .chapter > .decision-flow + p { margin-top: 24px; }
.method-heading { margin-top: 32px; font-size: 19px; margin-bottom: 0; }
/* 同类关系共用纵向表达：顺序用编号，并列用圆点。 */
.decision-flow { display:grid; grid-template-columns:minmax(0,1fr); list-style:none; padding:0; gap:22px; margin:28px 0; counter-reset:relation-step; }
.decision-flow > li { position:relative; min-width:0; padding-left:36px; counter-increment:relation-step; }
.decision-flow > li::before { content:counter(relation-step,decimal-leading-zero); position:absolute; left:0; top:4px; color:var(--accent); font-size:12px; line-height:1.8; }
.decision-flow strong { display:block; font-size:17px; line-height:1.7; }
.chapter .decision-flow p { font-size:15px; line-height:1.9; margin-top:6px; }
.parallel-flow > li { padding-left:20px; }
.parallel-flow > li::before { content:""; width:5px; height:5px; border-radius:50%; background:var(--accent); top:12px; }
@media(max-width:800px) {
 .decision-flow { gap:20px; }
 .decision-flow > li { padding-left:30px; }
 .parallel-flow > li { padding-left:18px; }
 .method-heading { font-size:18px; }
}
h2, h3, h4 { text-wrap: balance; }

/* 复用 membership-detail-v0.14 的实践区、判断记录与分析列表。 */
.case-study { margin:38px 0 0; padding:24px; background:#f3f2f4; border:0; }
.chapter .case-study .case-label { color:var(--accent); font-size:13px; line-height:1.6; font-weight:550; margin:0 0 10px; }
.case-study h3 { font-size:21px; margin-bottom:16px; }
.case-study h4 { font-size:17px; line-height:1.8; font-weight:550; color:var(--judgment); margin:28px 0 14px; }
.case-study .decision-record { margin-top:20px; gap:18px; }
.case-study .rule-table { margin-block:22px; }
.case-study > :last-child { margin-bottom:0; }
.decision-record { margin-top:25px; display:grid; gap:24px; }
.decision-record > div { display:block; font-size:16px; line-height:1.95; }
.decision-record dt { margin-bottom:6px; }
.decision-record dt { color:var(--judgment); font-weight:500; }
.decision-record dd { color:var(--body); }
.chapter > .decision-record + p { margin-top:26px; }
.diagnosis-list { list-style:none; padding:0; display:grid; gap:22px; margin:24px 0 0; counter-reset:diagnosis; }
.diagnosis-list li { padding-left:34px; position:relative; counter-increment:diagnosis; }
.diagnosis-list li::before { content:counter(diagnosis,decimal-leading-zero); position:absolute; left:0; top:5px; color:var(--accent); font-size:12px; }
.diagnosis-list strong { display:block; color:var(--judgment); font-size:16px; line-height:1.9; font-weight:500; }
.diagnosis-list p { margin-top:5px; }
@media(max-width:767px) {
 .case-study { padding:18px 12px; margin-top:30px; }
 .case-study h3 { font-size:19px; }
 .decision-record > div { grid-template-columns:minmax(0,1fr); gap:8px; }
}
@media print {
 .case-study { background:#f3f2f4; print-color-adjust:exact; }
 .diagnosis-list li, .decision-record > div { break-inside:avoid; }
}


/* 主题、子阶段与配置细项分别承担不同的阅读层级。 */
.topic-group { margin-top:38px; }
.topic-group + .topic-group { margin-top:48px; }
.chapter-heading + .topic-group { margin-top:0; }
.subheading { display:flex; align-items:baseline; gap:14px; margin-bottom:20px; }
.subheading > span { flex:0 0 28px; color:var(--accent); font-size:15px; }
.subheading h3 { font-size:22px; margin:0; }
.management-stage { margin-top:30px; }
.management-stage + .management-stage { margin-top:42px; }
.stage-heading { display:flex; align-items:baseline; gap:14px; margin-bottom:18px; }
.stage-heading > span { flex:0 0 28px; font-size:12px; color:var(--accent); }
.stage-heading h4 { font-size:18px; font-weight:550; line-height:1.8; }
.topic-group h4.method-heading { font-size:18px; }
.chapter .small-note { color:var(--secondary); font-size:14px; line-height:1.9; }
.topic-group > .decision-flow + p { margin-top:24px; }
.case-study .case-title { font-size:21px; line-height:1.65; font-weight:550; color:var(--ink); margin:0 0 16px; }
.allocation-figure { margin-top:24px; }
.allocation-figure > figcaption { font-size:14px; color:var(--secondary); margin-bottom:18px; }
.allocation-map h5 { font-size:17px; color:var(--judgment); line-height:1.8; margin:0 0 8px; font-weight:550; }
.allocation-settings .decision-record { margin:12px 0 0; gap:16px; }
.allocation-settings .decision-record > div { position:relative; padding-left:20px; font-size:15px; }
.allocation-settings .decision-record > div::before { content:""; position:absolute; width:5px; height:5px; top:12px; left:0; background:var(--accent); border-radius:50%; }
.allocation-settings dt { font-size:15px; margin-bottom:4px; }
.allocation-settings dd { font-size:15px; }
.allocation-decision dl { display:grid; gap:14px; font-size:15px; line-height:1.9; }
.allocation-decision dt { display:inline-block; background:var(--header); color:var(--judgment); font-size:13px; font-weight:500; padding:2px 8px; margin-bottom:6px; }
.allocation-decision dd { color:var(--body); }
.communication-tools { margin-top:30px; }
.chapter .communication-tools .tool-label { font-size:13px; color:var(--secondary); }
.communication-tools .decision-flow { margin:16px 0 0; }
.cell-content > strong { display:block; font-weight:550; margin-bottom:6px; }
.case-end { padding-block:55px; display:grid; grid-template-columns:184px minmax(0,1fr); }
.case-end h2 { font-size:24px; }
.related-links a { display:flex; gap:20px; justify-content:space-between; padding:20px 0; border-bottom:1px solid var(--line); font-size:18px; }
.related-links strong { font-weight:500; min-width:0; }
.related-links a > span { flex-shrink:0; }
@media(max-width:800px) {
 .topic-group { margin-top:30px; }
 .topic-group + .topic-group { margin-top:38px; }
 .subheading { gap:8px; }
 .subheading > span { flex-basis:20px; }
 .subheading h3 { font-size:20px; }
 .stage-heading { gap:8px; }
 .stage-heading > span { flex-basis:22px; }
 .stage-heading h4 { font-size:17px; }
 .case-end { display:block; padding-block:32px; }
 .case-end h2 { margin-bottom:12px; }
}
@media(max-width:767px) { .case-study .case-title { font-size:19px; } }
.management-stage h5.method-heading { font-size:14px; color:var(--secondary); font-weight:500; }
.calculation-table { font-size:14px; }
.calculation-table th, .calculation-table td { padding:12px; }
@media print { .case-end { display:none; } .stage-heading,.subheading { break-after:avoid; } .allocation-map { break-inside:avoid; } }

/* 实践归属就地说明，指标延展与客户验证范围分开。 */
.chapter .practice-origin { color:var(--accent); font-size:13px; line-height:1.6; font-weight:550; margin:0 0 10px; }
.chapter .practice-origin + .practice-intro { margin-top:0; }
.method-extension { margin-top:32px; }
.chapter .extension-label { font-size:12px; color:var(--secondary); margin-bottom:8px; }
.method-extension > h5 { margin:0 0 12px; color:var(--judgment); font-size:17px; line-height:1.8; font-weight:550; }
.chapter .method-extension > p:not(.extension-label) { font-size:14px; line-height:1.85; }
.method-extension .rating-formula { margin-top:18px; }
.method-extension .method-heading { font-size:14px; color:var(--secondary); font-weight:500; }





/* v0.12: pure-text cards for chapters 04 and 06. */
:root {
 --card-fill: #f5f4f3;
 --card-hover: #eeecef;
 --card-edge: #e8e4e5;
 --card-edge-hover: #c9bdcd;
}
#nurturing .topic-group, #retention .topic-group { margin-top: 36px; }
#nurturing .topic-group + .topic-group { margin-top: 52px; }
#nurturing .subheading, #retention .subheading { display: block; margin-bottom: 18px; }
#nurturing .subheading > span, #retention .subheading > span { display: block; font-size: 12px; margin-bottom: 6px; }
#nurturing .subheading h3, #retention .subheading h3 { font-size: 23px; line-height: 1.6; text-wrap: auto; }
#nurturing .stage-heading { display: block; margin-bottom: 14px; }
#nurturing .stage-heading > span { display: block; font-size: 12px; margin-bottom: 6px; }
#nurturing .stage-heading h4 { font-size: 20px; text-wrap: auto; }
#nurturing .management-stage + .management-stage { margin-top: 44px; }
#nurturing .practice-origin { margin-top: 24px; }
#nurturing p, #retention p { line-height: 1.85; }
.text-card-grid { display: grid; gap: 14px; margin: 22px 0; }
.text-card { min-width: 0; padding: 20px 22px; border: 1px solid var(--card-edge); border-radius: 4px; background: var(--card-fill); }
.text-card h4, .text-card h5 { font-size: 17px; line-height: 1.65; font-weight: 550; margin: 0 0 12px; color: var(--ink); text-wrap: auto; }
.chapter .text-card p { margin: 0; font-size: 15px; line-height: 1.85; }
.text-card dl { display: grid; gap: 16px; }
.text-card dt { color: var(--secondary); font-size: 12px; line-height: 1.7; margin-bottom: 5px; }
.text-card dd { font-size: 15px; line-height: 1.85; color: var(--body); }
.rating-cards { grid-template-columns: repeat(3,minmax(0,1fr)); }
.rating-cards .text-card { padding: 20px 18px; }
.rating-cards h5 { font-size: 17px; }
.task-cards { grid-template-columns: 1fr; gap: 12px; }
.task-cards .text-card h4 { font-size: 17px; }
.followup-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
.audience-cards { grid-template-columns: 1fr; gap: 14px; }
.audience-cards h4 { color: var(--judgment); }
.audience-cards dl { gap: 12px; }
.text-dimensions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 28px; margin: 22px 0; }
.text-dimensions dt { font-size: 15px; font-weight: 550; line-height: 1.8; margin-bottom: 4px; color: var(--judgment); }
.text-dimensions dd { font-size: 14px; line-height: 1.85; color: var(--body); }
.purpose-dimensions { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
#segmentation-method > p { margin-top: 20px; }
.config-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.config-grid .text-card { padding: 16px; background: transparent; }
.config-grid dt { color: var(--judgment); font-size: 14px; font-weight: 550; margin-bottom: 7px; }
.config-grid dd { font-size: 14px; }
.chapter .allocation-basis { font-size: 15px; }
.capacity-rules { margin-top: 20px; }
.capacity-rules h5 { font-size: 15px; font-weight: 550; margin: 0 0 8px; color: var(--ink); }
.chapter .capacity-rules p { font-size: 14px; margin: 4px 0 0; }
.followup-support { margin-top: 22px; }
.chapter .followup-support p { font-size: 14px; line-height: 1.85; margin: 8px 0 0; }
.chapter .followup-support strong { font-weight: 550; }
#sales-rating .method-extension { margin-top: 24px; padding: 18px 20px; background: #f8f7f6; }
#sales-rating .method-extension h5 { font-size: 16px; margin-bottom: 8px; }
#sales-rating .extension-label { margin-bottom: 4px; }
#sales-rating .rating-formula { margin: 14px 0 18px; padding: 0; }
#sales-rating .fraction { font-size: 14px; }
#sales-rating .rating-formula figcaption { font-size: 12px; margin-bottom: 4px; }
#sales-rating .rating-formula p { font-size: 12px; line-height: 1.8; margin-top: 8px; }
#sales-rating .method-heading { font-size: 13px; margin: 16px 0 0; }
#sales-rating .matrix { margin: 10px 0 0; }
#sales-rating .calculation-table { font-size: 13px; }
#sales-rating .calculation-table th, #sales-rating .calculation-table td { padding: 8px 10px; }
.related-links a > span, .contribution-summary a > span, .contact-link > span { display: inline-block; }
@media (hover:hover) and (pointer:fine) {
 .text-card { transition: background-color 180ms ease, border-color 180ms ease; }
 .text-card:hover { background: var(--card-hover); border-color: var(--card-edge-hover); }
 .contents a, .related-links a { transition: color 180ms ease, background-color 180ms ease; }
 .contents a:hover { background: #eee8ec; color: var(--judgment); }
 .related-links a:hover { background: #eee8ec; }
 .related-links a > span, .contribution-summary a > span, .contact-link > span { transition: transform 180ms ease; }
 .related-links a:hover > span, .contribution-summary a:hover > span, .contact-link:hover > span { transform: translate(2px,-2px); }
}
.related-links a:focus-visible, .contents a:focus-visible { background: #eee8ec; color: var(--judgment); }
@media(max-width:1100px) {
 .rating-cards { grid-template-columns: 1fr; }
 .rating-cards .text-card { padding: 16px 18px; }
 .config-grid { grid-template-columns: 1fr; gap: 8px; }
 .config-grid .text-card { padding: 14px 16px; }
 .purpose-dimensions { grid-template-columns: 1fr; gap: 12px; }
}
@media(max-width:800px) {
 #nurturing .subheading h3, #retention .subheading h3 { font-size: 20px; }
 #nurturing .stage-heading h4 { font-size: 18px; }
 .followup-cards { grid-template-columns: 1fr; }
 .text-card { padding: 16px; }
 .text-card h4, .text-card h5 { font-size: 16px; }
 .text-card dd, .chapter .text-card p { font-size: 14px; }
 .text-dimensions { gap: 16px; }
 #sales-rating .method-extension { padding: 16px 12px; }
 #sales-rating .calculation-table tbody th { font-size: 14px; }
 #sales-rating .calculation-table td { font-size: 13px; }
}
@media(max-width:380px) { .text-dimensions { grid-template-columns: 1fr; } }
@media(prefers-reduced-motion:reduce) {
 .text-card, .contents a, .related-links a, .related-links a > span, .contribution-summary a > span, .contact-link > span { transition: none; }
 .related-links a:hover > span, .contribution-summary a:hover > span, .contact-link:hover > span { transform: none; }
}
@media print {
 .text-card { background: transparent; break-inside: avoid; }
 .text-card-grid { grid-template-columns: 1fr; }
}


/* 06、07：目的就近说明，策略围绕可识别人群展开。 */
#retention .chapter-heading, #community .chapter-heading { margin-bottom: 22px; }
#retention .topic-group, #community .topic-group { margin-top: 34px; }
#retention .subheading, #community .subheading { display: block; margin-bottom: 18px; }
#retention .subheading h3, #community .subheading h3 { font-size: 21px; line-height: 1.6; }
#retention .chapter-purpose > p, #community .chapter-purpose > p { max-width: 64em; font-size: 16px; line-height: 1.85; }
.purpose-points { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 20px; max-width: 1080px; }
.purpose-points dt { color: var(--judgment); font-size: 15px; font-weight: 550; margin-bottom: 5px; }
.purpose-points dd { font-size: 14px; line-height: 1.8; color: var(--body); }
.segment-dimensions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 40px; max-width: 1040px; }
.segment-dimensions dt { font-size: 16px; font-weight: 550; color: var(--judgment); margin-bottom: 5px; }
.segment-dimensions dd { font-size: 15px; line-height: 1.8; color: var(--body); }
.dimension-note { display: block; font-size: 13px; margin-top: 5px; color: var(--secondary); }
.audience-cards { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; gap: 16px; }
.audience-cards .text-card { display: flex; flex-direction: column; padding: 22px; }
.audience-cards h4 { color: var(--ink); font-size: 18px; line-height: 1.6; margin-bottom: 10px; }
.chapter .audience-cards .audience-evidence { font-size: 14px; line-height: 1.8; }
.audience-evidence > span { color: var(--secondary); }
.audience-action { margin-top: 18px; }
.audience-action h5 { color: var(--judgment); font-size: 15px; line-height: 1.7; margin: 0 0 6px; }
.chapter .audience-action p { color: var(--ink); font-size: 15px; line-height: 1.8; }
.community-stages { list-style: none; margin: 0; padding: 0; display: grid; gap: 22px; max-width: 1020px; }
.community-stages h4 { color: var(--judgment); font-size: 17px; line-height: 1.65; font-weight: 550; margin: 0 0 6px; }
.chapter .community-stages p { font-size: 15px; line-height: 1.85; }
#community-maintenance > .small-note { max-width: 1020px; margin-top: 24px; }
@media (min-width:801px) and (max-width:1200px) {
 .audience-cards { grid-template-columns: 1fr; }
}
@media (max-width:800px) {
 #retention .subheading h3, #community .subheading h3 { font-size: 20px; }
 .purpose-points { gap: 14px; grid-template-columns: 1fr; }
 .segment-dimensions { grid-template-columns: 1fr; gap: 18px; }
 .audience-cards { grid-template-columns: 1fr; }
 .audience-cards .text-card { padding: 18px; }
 .audience-cards h4 { font-size: 17px; }
 .chapter .audience-action p, .chapter .community-stages p { font-size: 14px; }
 .community-stages { gap: 20px; }
}
@media print { .audience-cards { grid-template-columns: 1fr; } }

/* 06、07共享父子层级；字段保持正文级，不增加卡片标题层。 */
:is(#retention, #community) .topic-group { margin-top: 44px; }
:is(#retention, #community) .chapter-heading + .topic-group { margin-top: 24px; }
:is(#retention, #community) .subheading { margin-bottom: 16px; }
:is(#retention, #community) .subheading h3 { font-size: 21px; line-height: 1.6; font-weight: 600; color: var(--ink); margin: 0; }
:is(#retention, #community) .purpose-points { margin-top: 18px; gap: 24px; }
:is(#retention, #community) :is(.purpose-points dt, .segment-dimensions dt, .audience-cards h4, .community-stages h4) { font-size: 17px; line-height: 1.65; color: var(--ink); font-weight: 550; }
:is(#retention, #community) :is(.purpose-points dd, .segment-dimensions dd, .community-stages p) { font-size: 15px; line-height: 1.85; color: var(--body); }
#community .rule-table tbody th { color: var(--ink); font-size: 17px; font-weight: 550; }
#community .rule-table thead th { font-size: 14px; font-weight: 550; }
.audience-cards .text-card { padding: 22px; }
.audience-cards h4 { margin-bottom: 14px; }
.audience-cards .audience-fields { display: grid; gap: 12px; }
.audience-fields > div { display: block; }
.audience-cards .audience-fields dt, .audience-cards .audience-fields dd { display: inline; font-size: 15px; line-height: 1.85; color: var(--body); margin: 0; }
.audience-cards .audience-fields dt { color: var(--ink); font-weight: 550; }
@media (max-width:800px) {
 :is(#retention, #community) .topic-group { margin-top: 36px; }
 :is(#retention, #community) .subheading h3 { font-size: 20px; }
 :is(#retention, #community) .purpose-points { gap: 14px; }
 .audience-cards .text-card { padding: 18px; }
 :is(#retention, #community) :is(.purpose-points dt, .segment-dimensions dt, .audience-cards h4, .community-stages h4) { font-size: 16px; }
}
