/* ===================================================================
   DLR因果建模顾问 · 皮肤层：编辑纸感（editorial.css v1）
   ===================================================================
   作用：在 style.css（骨架）+ portal.css（GEO 块）之上，套用「A·编辑纸感」视觉：
   米纸底 + 衬线大标题 + 细线分隔 + 极细描边卡片 + 小圆角 + 克制阴影。
   原则：只覆盖外观，不改任何 HTML 结构与类名 → 「换皮不换骨」。
   因本文件最后加载，同优先级下覆盖前两者。
   =================================================================== */

:root{
  /* —— 令牌：与 A 版式一致 —— */
  --paper:#f4f1ea; --paper-2:#eae4d7; --card:#fbfaf6; --card-2:#ffffff;
  --ink:#151410; --ink-2:#39352c; --gray:#89837a; --line:#d8d1c3; --line-2:#c7bfae;
  --orange:#c14a1b; --orange-deep:#a83c14; --orange-soft:#f6e6da;
  --green:#1c6b4c; --green-deep:#145239; --green-soft:#e4efe7;
  --bg:#f4f1ea;               /* 覆盖 style.css 的 --bg */
  --maxw:1220px;
  --serif:"Songti SC","Source Han Serif SC","Noto Serif SC",Georgia,"Times New Roman",serif;
  /* style.css 变量别名同步 */
  --orange2:#e0632b; --green2:#2a8a63;
}

/* ---------- 排版：标题走衬线，正文走无衬线 ---------- */
h1,h2,h3,h4,h2.sec-title,.chapter-title,.post-title,.lede,.m-quote,.stat b,
.ccard h3,.mck h3,.m-row h4,.course .head h3,.card h3,.gloss h3,.tcard h3,.gdef h3,.gdef h2{
  font-family:var(--serif);font-weight:700;letter-spacing:-.01em;
}
h2.sec-title{font-size:clamp(28px,4vw,44px);line-height:1.18}
.chapter-title{font-size:clamp(34px,6vw,62px);line-height:1.06;letter-spacing:-.015em}
.post-title{font-size:clamp(30px,4.6vw,46px);line-height:1.16;letter-spacing:-.015em;font-weight:700}
/* 强调字：由「渐变字」改为「单色橙」——更克制（A 的做法） */
h2.sec-title .hl,.hero h1 .hl{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--orange);font-weight:700}
.hl,.hlg{color:var(--orange)}
/* kicker：小字大写 + 长细线（A 的做法） */
.sec-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.28em;color:var(--orange);gap:12px}
.sec-eyebrow::before{width:34px;height:1px;background:var(--orange);border-radius:0}

/* ---------- 按钮：直角化、去渐变 ---------- */
.btn{border-radius:2px;font-weight:700;font-size:14.5px;padding:14px 26px;box-shadow:none}
.btn-orange{background:var(--orange);color:#fff}
.btn-orange:hover{background:var(--ink);color:#fff;transform:none;box-shadow:none}
.btn-green{background:var(--green)}.btn-green:hover{background:var(--ink)}
.btn-ghost{border-color:var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}
.btn-light{border-color:rgba(255,255,255,.5)}

/* ---------- 顶栏 ---------- */
.topbar,.header{background:rgba(244,241,234,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand,.logo{font-family:var(--serif);font-weight:700;letter-spacing:.01em}
.brand em,.logo em{color:var(--green)}
.brand-mark{border-radius:2px}
.nav-links{font-weight:600;color:var(--ink-2)}
.nav-links a:hover{color:var(--ink)}
.nav-links a.on{color:var(--orange)}
.nav-links a.on::after{height:1.5px;background:var(--orange);bottom:-2px}
.cta-btn{border-radius:2px;padding:10px 20px}
.cta-btn:hover{background:var(--orange)!important}
.mobile-nav{background:var(--bg)}

/* ---------- HERO：纸感 + 纸纹淡出，几何改为细线圆环 ---------- */
.hero{background:
  radial-gradient(circle at 82% 20%, rgba(193,74,27,.07), transparent 42%),
  radial-gradient(circle at 8% 85%, rgba(28,107,76,.07), transparent 40%),
  linear-gradient(180deg,var(--card-2) 0%, var(--paper-2) 55%, var(--paper) 100%)}
.hero::before{border-color:rgba(193,74,27,.18)}
.hero::after{border-color:rgba(28,107,76,.20)}
.hero h1{font-size:clamp(38px,5.4vw,68px);line-height:1.05;letter-spacing:-.02em}
.engine .e-o{background:linear-gradient(140deg,rgba(193,74,27,.28),rgba(193,74,27,.10));box-shadow:none}
.engine .e-g{background:linear-gradient(140deg,rgba(28,107,76,.26),rgba(28,107,76,.08));box-shadow:none}
.engine .eng-core{background:var(--card-2);color:var(--ink);border:1px solid var(--line-2);border-radius:3px;box-shadow:0 30px 60px -40px rgba(21,20,16,.35)}
.engine .eng-core b{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--orange)}
.engine .eng-core span{color:var(--gray);letter-spacing:.24em}
.engine .eng-core::before{border-color:var(--line-2)}
.engine .e-dot.d1{background:var(--ink)}
.engine .d2{background:var(--orange)}.engine .d3{background:var(--green)}
.flow{border-top:1px solid var(--line)}
.flow div{padding:12px 0;font-weight:800;letter-spacing:.14em}
.flow .fl-d{background:var(--orange);color:#fff}
.flow .fl-l{background:var(--card);color:var(--ink);border-left:1px solid var(--line);border-right:1px solid var(--line)}
.flow .fl-r{background:var(--green);color:#fff}

/* ---------- 深色证据带 ---------- */
.evidence{background:var(--ink)}
.evidence::before{opacity:.04}
.stat{border-left:none}
.stat::before{background:linear-gradient(180deg,transparent,rgba(255,255,255,.18),transparent);width:1px}
.stat b{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#fff}
.stat b::after{content:"";display:block;width:34px;height:2px;background:linear-gradient(90deg,var(--orange2),var(--green2));margin-top:14px}
.stat span{color:#bdb7ab}

/* ---------- 方法因果谱（保留骨架，卡片直角化） ---------- */
.chain::before{background:linear-gradient(180deg,var(--orange),var(--green) 60%,var(--ink));width:1px}
.m-node .card{background:var(--card);border:1px solid var(--line);border-radius:3px;box-shadow:none}
.m-node .card:hover{transform:none;box-shadow:0 24px 44px -30px rgba(21,20,16,.45);border-color:var(--line-2)}
.m-node .card::before{width:3px}
.idx{border-radius:2px;letter-spacing:.12em}
.idx.or{background:var(--orange-soft);color:var(--orange)}
.idx.gr{background:var(--green-soft);color:var(--green)}
.idx.dk{background:var(--ink)}
.m-link em{color:var(--orange)}
.m-node .dot{border-radius:50%}

/* ---------- 通用卡片 ---------- */
.card,.card-base,.mck,.ccard,.artc,.course,.gloss,.tcard,.gdef{
  background:var(--card);border:1px solid var(--line);border-radius:3px;box-shadow:none
}
.card:hover,.card-base:hover,.mck:hover,.ccard:hover,.artc:hover,.course:hover,.gloss:hover,.tcard:hover{
  transform:translateY(-4px);box-shadow:0 24px 44px -28px rgba(21,20,16,.4);border-color:var(--line-2)
}
.ccard::after{display:none}
.custom-shadow-none{box-shadow:none}

/* ---------- 课程卡 ---------- */
.courses{background:var(--green-soft)}
.courses::before{color:rgba(28,107,76,.05)}
.ccard:nth-child(even){transform:none}
.ccard:hover:nth-child(even){transform:translateY(-4px)}
.ccard .no{font-family:var(--serif);color:var(--orange)}
.ccard .price b{font-family:var(--serif);font-weight:700;color:var(--ink);font-size:30px}
.ccard .go{color:var(--green)}
.tag{border-radius:2px;letter-spacing:.12em;font-weight:700}
.tag.orange{background:var(--orange-soft);color:var(--orange)}

/* ---------- 商店 ---------- */
.shop-strip{border-radius:3px;background:var(--card)}
.shop-main::after{opacity:.5}
.shop-main h3,.shop-side h5{font-family:var(--serif)}
.shop-side{background:var(--green-soft)}
.shop-side h5{letter-spacing:.2em;font-size:12px;color:var(--green)}
.side-item .sq{border-radius:2px}
.side-item{border-bottom:1px solid var(--line-2)}

/* ---------- 洞见 ---------- */
.insights{background:var(--card-2)}
.insights::after{display:none}
.artc .k{border-radius:2px;background:var(--ink);color:#fff}
.artc h3 a:hover{color:var(--orange)}

/* ---------- CTA 通栏 ---------- */
.cta-banner{background:linear-gradient(115deg,var(--orange),var(--orange-deep) 55%,var(--green))}
.cta-banner::before{opacity:0}
.cta-banner h3{font-family:var(--serif)}

/* ---------- 内页页头：由深色改为纸感浅色（A 的做法） ---------- */
.method-hero{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);padding:80px 0 40px}
.method-hero::before{border-color:rgba(193,74,27,.16);width:460px;height:460px}
.method-hero::after{border-color:rgba(28,107,76,.16)}
.method-hero .chapter-title{color:var(--ink)}
.method-hero .chapter-sub{color:var(--ink-2)}
.method-hero .breadcrumb,.method-hero .breadcrumb a{color:var(--gray)}
.method-hero .breadcrumb a:hover{color:var(--orange)}
.method-hero .sec-eyebrow{color:var(--orange)}
/* 方法详情正文 */
.m-body h3{font-size:24px;font-weight:700}
.m-block h3 i{border-radius:2px;background:var(--orange)}
.m-block ul li::before{background:var(--orange)}
.m-callout{border-left:3px solid var(--green);background:var(--green-soft);border-radius:0}
.m-quote{border-radius:3px}

/* ---------- 文章页：深色头改为纸感浅色 ---------- */
.post-hero{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);padding:72px 0 44px}
.post-hero::before{border-color:rgba(193,74,27,.16)}
.post-title{color:var(--ink)}
.post-meta .date{color:var(--gray)}
.post-article{color:var(--ink-2)}
.post-article h2{font-size:26px;font-weight:700;margin:38px 0 14px}
.post-article h3{font-size:20px;font-weight:700}
.post-article p{font-size:17px;line-height:1.85}
.post-article em{color:var(--green);font-weight:700}
.highlight{border-left:3px solid var(--orange);background:transparent;border-radius:0;padding:6px 0 6px 24px;font-size:19px;font-family:var(--serif);color:var(--ink)}
.highlight b{color:var(--orange)}
.lead-box{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:0;padding:22px 24px}
.lead-label{border-radius:2px;background:var(--orange)}
.full-article summary{border-radius:2px;background:transparent;border:1px solid var(--line-2);color:var(--orange)}
.full-article-body p{text-indent:2em;font-size:16.5px}
.full-article-body h3{text-indent:0}
.pill{border-radius:2px}
.post-tags .tag{border-radius:2px}
.post-article hr{border-top:1px solid var(--line)}

/* ---------- 文章/课程列表（官网 posts/index、courses 页） ---------- */
.post-list-section .art-card,.art-card{background:var(--card);border:1px solid var(--line);border-radius:3px}
.art-card:hover{transform:translateY(-4px);border-color:var(--line-2);box-shadow:0 24px 44px -28px rgba(21,20,16,.4)}
.art-card h3{font-family:var(--serif);font-weight:700}
.art-more{color:var(--green)}
.viz-tab{border-radius:2px}.viz-tab.on{background:var(--ink);border-color:var(--ink)}
.viz-sub{border-radius:2px}.viz-sub.on{background:var(--orange-soft);color:var(--orange)}
.viz-subrow{border-left:3px solid var(--orange)}

/* ---------- band / 通用 ---------- */
.band{background:var(--ink)}
.band .sec-title{color:#fff;font-family:var(--serif)}
.breadcrumb{color:var(--gray)}
.quote{border-left:3px solid var(--green);background:var(--green-soft);border-radius:0}
.course{border-radius:3px}
.course ul li::before{background:var(--green)}

/* ---------- 页脚 ---------- */
footer{background:var(--ink);color:#fff;padding:64px 0 30px}
footer h5{font-family:var(--sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#8a8478;padding-left:0}
footer h5::before{display:none}
footer .brand{font-family:var(--serif);font-weight:700}
footer a{color:#d3cec5;font-size:14px;line-height:1.9}
footer a:hover{color:var(--orange2)}
.copyright{border-top:1px solid rgba(255,255,255,.12);color:#8a8478}
.qr-item img{border-radius:2px}
.qr-item span{color:var(--gray)}

/* ===================================================================
   以下是 portal.css（GEO 块）的皮肤对齐
   =================================================================== */
.gdef{border-radius:3px}
.gdef .g-label{border-radius:2px;background:var(--orange-soft);color:var(--orange)}
.gdef h3{font-family:var(--serif);font-size:22px}
.gdef .g-answer b{color:var(--orange)}
.faq-q::before{border-radius:2px;background:var(--orange)}
.faq-item{border-top:1px solid var(--line)}
.faq-a b{color:var(--green)}
.gloss-grid{margin-top:36px}
.gloss{scroll-margin-top:96px}
.gloss h3{font-family:var(--serif);font-size:19px}
.gloss h3 .en{color:var(--orange)}
.tcard{border-radius:3px}
.tcard::after{display:none}
.tcard .t-badge{border-radius:2px;background:var(--ink);letter-spacing:.16em}
.tcard h3{font-family:var(--serif)}
.acttag{border-radius:2px;letter-spacing:.1em}
.acttag.know{background:var(--orange-soft);color:var(--orange)}
.acttag.try{background:var(--green-soft);color:var(--green)}
.acttag.buy{background:var(--ink);color:#fff}
.try-note{border:1px solid var(--line-2);border-radius:3px;background:var(--card);border-left:3px solid var(--orange)}
.try-note b{color:var(--orange)}
.signed{border-top:1px solid var(--line);color:var(--gray)}
.signed .au strong{font-family:var(--serif)}
.signed .au a{color:var(--orange)}

/* 训练网格 */
.train-grid{gap:24px}

/* 导航下拉（沿用 v3 结构，改为纸感） */
.nav-links .sub{background:var(--card);border:1px solid var(--line);border-radius:3px;box-shadow:0 20px 44px -28px rgba(21,20,16,.4)}
.nav-links .sub a{border-radius:2px}
.nav-links .sub a:hover{background:var(--orange-soft);color:var(--orange)}

/* 导航在中等宽度收紧，避免 8 项撑出横向滚动 */
@media(max-width:1180px){
  .nav-links{gap:18px}
  .nav-links a{font-size:13.5px}
  .brand{font-size:18px}
  .cta-btn{padding:9px 16px;font-size:13.5px}
}
@media(max-width:1060px){
  .nav-links{gap:13px}
  .nav-links a{font-size:13px}
}

/* ---------- 响应式收口 ---------- */
@media(max-width:960px){
  .hero h1{font-size:34px}
  .method-hero,.post-hero{padding:56px 0 34px}
  .chapter-title{font-size:34px}
}
@media(max-width:620px){
  .chapter-title{font-size:28px}
  .post-title{font-size:27px}
}

/* ===== 课程页 · 免费试看（方案A：跳转视频站） ===== */
.pv-note{color:var(--gray);font-size:14.5px;line-height:1.9;margin:10px 0 26px;max-width:74ch}
.pv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pv-card{background:var(--card);border:1px solid var(--line);border-radius:3px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:.26s}
.pv-card:hover{transform:translateY(-4px);box-shadow:0 26px 48px -30px rgba(21,20,16,.45);border-color:var(--line-2)}
.pv-thumb{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#2f2f2c 0%,#4b4b46 100%);display:flex;align-items:center;justify-content:center}
.pv-thumb::after{content:"▶";color:rgba(255,255,255,.9);font-size:20px;line-height:1}
.pv-no{position:absolute;left:12px;top:12px;font-family:var(--serif);font-size:13px;font-weight:700;color:#fff;background:var(--orange);padding:2px 9px;border-radius:2px;letter-spacing:.06em}
.pv-dur{position:absolute;right:12px;bottom:12px;font-size:12px;color:#fff;background:rgba(0,0,0,.62);padding:2px 8px;border-radius:2px}
.pv-bd{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.pv-bd h3{font-family:var(--serif);font-size:17px;font-weight:700;line-height:1.45;color:var(--ink);margin-bottom:8px}
.pv-bd p{font-size:14px;color:var(--ink-2);line-height:1.8;flex:1}
.pv-go{display:inline-block;margin-top:12px;font-size:13px;font-weight:800;color:var(--green)}
.pv-card:hover .pv-go{color:var(--orange)}
@media(max-width:1080px){.pv-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.pv-grid{grid-template-columns:1fr}}

/* ===== 免费试看弹窗（方案B：页内 iframe 播放） ===== */
.pv-modal{position:fixed;inset:0;z-index:9999;display:none}
.pv-modal.open{display:block}
.pv-modal-bd{position:absolute;inset:0;background:rgba(21,20,16,.74)}
.pv-modal-win{position:relative;width:min(960px,92vw);margin:6vh auto 0;background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.6)}
.pv-modal-hd{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:#fff}
.pv-modal-hd .t{flex:1;font-family:var(--serif);font-size:15px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-modal-hd .x{border:0;background:var(--ink);color:#fff;width:30px;height:30px;border-radius:3px;cursor:pointer;font-size:13px;line-height:1}
.pv-modal-hd .x:hover{background:var(--orange)}
.pv-modal-frame{position:relative;aspect-ratio:16/9;background:#000}
.pv-modal-frame iframe{position:absolute;inset:0;width:100%;height:100%;display:block;border:0}
.pv-modal-ft{padding:8px 14px;font-size:12.5px;color:var(--gray);border-top:1px solid var(--line);background:#faf9f7}
@media(max-width:760px){
  .pv-modal-win{width:100vw;margin:0;height:100vh;border-radius:0;display:flex;flex-direction:column}
  .pv-modal-frame{flex:1;aspect-ratio:auto}
}

/* ===== 书架：按系列分组 + 留位占位卡 ===== */
.shelf-group{margin-top:46px}
.shelf-group .grp{display:flex;align-items:baseline;gap:14px;padding-bottom:12px;border-bottom:2px solid var(--ink);margin-bottom:26px}
.shelf-group .grp h2{font-family:var(--serif);font-size:clamp(20px,2.4vw,28px);font-weight:700;letter-spacing:-.01em}
.shelf-group .grp .cnt{font-size:13px;font-weight:800;letter-spacing:.14em;color:var(--gray)}
.book-card.soon{opacity:.75;cursor:default}
.book-card.soon:hover{transform:none;box-shadow:none;border-color:var(--line)}
.book-card .cv.ph{display:flex;align-items:center;justify-content:center;aspect-ratio:3/4;background:linear-gradient(135deg,#eceae5,#dcd9d2);border-bottom:1px solid var(--line)}
.book-card .cv.ph span{font-family:var(--serif);font-size:15px;font-weight:700;color:var(--gray);letter-spacing:.16em;border:1px dashed var(--line-2);padding:7px 15px;border-radius:2px}
.book-card .go.muted{color:var(--gray)}

/* ===== 朗读（浏览器原生 TTS，方案A） ===== */
[data-rd="tts"]{font-weight:700}
[data-rd="tts"].on{background:var(--ink);color:#fff;border-color:var(--ink)}
.tts-stop{display:none;font-weight:700}
body.tts-on .tts-stop{display:inline-block}
.tts-hl{background:rgba(232,120,42,.13);box-shadow:-3px 0 0 0 var(--orange);border-radius:2px;transition:background .25s}

/* ===== 《因果驱动的组织重塑》阅读页适配 ===== */
.rd-cover .cov-bleed{display:none}
.rd-cover .cov-kicker{font-size:12px;font-weight:800;letter-spacing:.22em;color:var(--gray)}
.rd-cover .cov-title{font-family:var(--serif);font-size:clamp(30px,5vw,44px);font-weight:700;line-height:1.3;letter-spacing:.04em;color:var(--ink);margin:14px 0 12px}
.rd-cover .cov-sub{font-size:15px;color:var(--ink-2);line-height:1.9}
.rd-cover .cov-line{width:56px;height:2px;background:var(--orange);margin:20px auto}
.rd-cover .cov-by{font-family:var(--serif);font-size:17px;color:var(--ink);margin-top:8px}
.rd-cover .cov-copy{margin-top:22px;font-size:12.5px;color:var(--gray);border-top:1px solid var(--line);padding-top:14px}
.rd-body h2:not(.section-title){font-family:var(--serif);font-size:21.5px;font-weight:700;color:var(--ink);margin:38px 0 14px;padding-left:12px;border-left:3px solid var(--orange)}
.rd-body h3:not(.sub-title){font-family:var(--serif);font-size:17.5px;font-weight:700;color:var(--ink);margin:26px 0 10px}
.rd-body blockquote{margin:22px 0;padding:16px 20px;background:rgba(232,120,42,.07);border-left:3px solid var(--orange);border-radius:2px;font-size:15.5px;line-height:1.95;color:var(--ink)}
.rd-body blockquote p{text-indent:0;margin:0}

/* ===== 书内「版权页」 ===== */
.rd-cp{max-width:34em;margin:6px auto 40px;font-size:14.5px;color:var(--ink-2);line-height:2.05}
.rd-cp p{text-indent:0;margin:0 0 7px}
.rd-cp .cp-legal{margin-top:18px;border-top:1px solid var(--line);padding-top:14px;color:var(--gray);font-size:13px;line-height:1.9}

/* ==== 移动端字号收档 v2（2026-10-18）==== */
@media(max-width:768px){
  body:not(.reader){font-size:12px;line-height:1.7}
  .chapter-title{font-size:24px !important;line-height:1.22}
  .post-title{font-size:21px !important;line-height:1.25}
  .hero h1{font-size:24px !important;line-height:1.2}
  h2.sec-title{font-size:18px !important;line-height:1.32}
  .chapter-sub{font-size:11.5px}
  .meth p,.card p,.kcard .val,.gloss p,.tcard p,.faq-a,.gdef p,.gdef .g-answer,
  .m-node .card p,.post-article p,.shop-main p,.bk-info .sub{font-size:11.5px;line-height:1.75}
  .faq-q{font-size:12.5px}
  .gdef h3,.gloss h3,.tcard h3,.kcard h3,.ccard h3,.artc h3,.book-card h3,.m-body h3{font-size:14px}
  .post-article h2{font-size:17px;margin:26px 0 10px}
  .post-article h3{font-size:14px}
  .bigcard h3{font-size:19px}
  .m-block h3{font-size:15.5px}
  .m-quote,.highlight{font-size:14px}
  .stat b{font-size:28px}
  .ccard .price b,.kcard .price b,.course .price{font-size:17px}
  .side-item b{font-size:13px}
  .shop-main h3,.cta-banner h3{font-size:17px}
  .brand{font-size:14px}
  /* 书籍阅读页：标题同步收档（正文由 reader.js 控制，A+/A- 仍可用） */
  .rd-body h1.rd-ch{font-size:22px !important}
  .rd-body h2.section-title{font-size:16px !important}
  .rd-body h3.subsection-title{font-size:14px !important}
  .rd-body p.lead{font-size:13px !important}
  .rd-cover .book-title{font-size:24px !important}
  .rd-cover .cov-title{font-size:22px !important}
  .bk-info h1{font-size:22px !important}
}
