/* ==========================================================================
   weixinqun.cc — 难平是人心
   骨架：墨夜单栏（居中窄幅 + 朱印 + 竖排节奏 + 引文满幅）
   ========================================================================== */

body.page-renxin {
  background: #14100e;
  color: #ded5c6;
}

body.page-renxin .site-header {
  background: rgba(20, 16, 14, .92);
  border-bottom-color: rgba(222, 213, 198, .1);
}
body.page-renxin .brand-text { color: #f3e7d3; }
body.page-renxin .brand-text em { color: #8d8177; }
body.page-renxin .brand-mark { background: #c0392b; color: #f3e7d3; }
body.page-renxin .site-nav a { color: #b3a99c; }
body.page-renxin .site-nav a:hover { color: #fff; background: rgba(192, 57, 43, .14); }
body.page-renxin .site-nav a.is-active { color: #e8735f; box-shadow: inset 0 -2px 0 #c0392b; }
body.page-renxin .btn-login { background: #c0392b; color: #fff; box-shadow: 0 6px 18px rgba(192, 57, 43, .3); }
body.page-renxin .nav-toggle { background: #1c1714; border-color: rgba(222, 213, 198, .18); }
body.page-renxin .nav-toggle span { background: #ded5c6; }

/* ---------- Hero ---------- */
.rx-hero {
  position: relative;
  padding: 74px 0 82px;
  overflow: hidden;
  background:
    radial-gradient(760px 420px at 78% 12%, rgba(192, 57, 43, .14), transparent 62%),
    radial-gradient(520px 300px at 8% 90%, rgba(222, 213, 198, .05), transparent 60%);
}
.rx-hero::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(192, 57, 43, .5), transparent);
}
.rx-hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .92fr);
  gap: 52px;
  align-items: center;
}
.rx-seal {
  display: inline-grid;
  place-items: center;
  width: 46px; height: 46px;
  background: #c0392b;
  color: #f6ecdb;
  font-family: var(--serif);
  font-size: 17px;
  line-height: 1.05;
  letter-spacing: 1px;
  border-radius: 3px;
  box-shadow: 0 8px 22px rgba(192, 57, 43, .28);
}
.rx-hero h1 {
  margin-top: 22px;
  font-family: var(--serif);
  font-size: clamp(40px, 5.6vw, 70px);
  line-height: 1.14;
  font-weight: 600;
  letter-spacing: 3px;
  color: #f3e7d3;
}
.rx-hero h1 em {
  display: block;
  margin-top: 12px;
  font-style: normal;
  font-size: clamp(18px, 2.1vw, 25px);
  letter-spacing: 2px;
  color: #e8735f;
}
.rx-hero p.rx-lead {
  margin-top: 22px;
  max-width: 520px;
  font-family: var(--serif);
  font-size: 15px;
  line-height: 2.1;
  color: #b3a99c;
}
.rx-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.rx-actions .btn-primary { background: #c0392b; color: #fff; box-shadow: 0 12px 28px rgba(192, 57, 43, .28); }
.rx-actions .btn-room { color: #d8cdbc; border-color: rgba(216, 205, 188, .4); }
.rx-actions .btn-room b { color: #e8735f; }
.rx-hero figure img {
  width: 100%;
  border: 1px solid rgba(222, 213, 198, .14);
  box-shadow: 0 30px 70px rgba(0, 0, 0, .55);
}
.rx-hero figcaption {
  margin-top: 12px;
  text-align: right;
  font-family: var(--serif);
  font-size: 11.5px;
  letter-spacing: 2px;
  color: #7d7268;
}

/* ---------- 单栏 ---------- */
.rx-main { padding: 20px 0 0; }
.rx-col { max-width: 760px; margin-inline: auto; }
.rx-sec { padding: 62px 0; }
.rx-sec .rx-no {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 2px;
  color: #b4453a;
}
.rx-sec .rx-no::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(222, 213, 198, .1);
}
.rx-sec h2 {
  margin-top: 14px;
  font-family: var(--serif);
  font-size: clamp(24px, 3vw, 33px);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 1.5px;
  color: #f3e7d3;
}
.rx-sec p.lead {
  margin-top: 12px;
  font-size: 14px;
  line-height: 2.05;
  color: #a99f92;
}

/* 首段落首字 */
.rx-prose p {
  font-family: var(--serif);
  font-size: 15px;
  line-height: 2.15;
  color: #cbc2b4;
}
.rx-prose p + p { margin-top: 16px; }
.rx-prose strong { color: #f3e7d3; font-weight: 600; }
.rx-prose.first p:first-child::first-letter {
  float: left;
  margin: 6px 12px 0 0;
  font-size: 58px;
  line-height: .82;
  color: #c0392b;
  font-weight: 600;
}

/* ---------- 满幅引文 ---------- */
.rx-quote {
  margin: 6px 0;
  padding: 46px 0;
  background: #1b1512;
  border-top: 1px solid rgba(192, 57, 43, .28);
  border-bottom: 1px solid rgba(192, 57, 43, .28);
}
.rx-quote blockquote {
  max-width: 820px;
  margin-inline: auto;
  padding-inline: 26px;
  font-family: var(--serif);
  font-size: clamp(22px, 2.8vw, 32px);
  line-height: 1.9;
  letter-spacing: 3px;
  color: #e9ddc9;
  text-align: center;
}
.rx-quote blockquote b { color: #e8735f; font-weight: 600; }
.rx-quote .q-note {
  margin-top: 14px;
  text-align: center;
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 1.8px;
  color: #7d7268;
}

/* ---------- 三层含义 ---------- */
.rx-layers { display: grid; gap: 0; margin-top: 28px; border-top: 1px solid rgba(222, 213, 198, .12); }
.rx-layer {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 24px;
  padding: 26px 0;
  border-bottom: 1px solid rgba(222, 213, 198, .12);
}
.rx-layer .l-num {
  font-family: var(--serif);
  font-size: 40px;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px rgba(192, 57, 43, .75);
}
.rx-layer h3 { font-family: var(--serif); font-size: 18px; font-weight: 600; letter-spacing: 1px; color: #f3e7d3; }
.rx-layer p { margin-top: 8px; font-size: 13.5px; line-height: 1.95; color: #a99f92; }
.rx-layer .l-tag {
  display: inline-block;
  margin-top: 10px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 1.2px;
  color: #e8735f;
}

/* ---------- 对照 ---------- */
.rx-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(222, 213, 198, .12); margin-top: 26px; }
.rx-pair article { padding: 26px; background: #14100e; }
.rx-pair article:last-child { background: #1b1512; }
.rx-pair h3 { font-family: var(--serif); font-size: 17px; font-weight: 600; letter-spacing: 1px; color: #e9ddc9; }
.rx-pair article:last-child h3 { color: #e8735f; }
.rx-pair p { margin-top: 9px; font-size: 13px; line-height: 1.95; color: #a99f92; }

/* ---------- 情绪曲线 ---------- */
.rx-curve { margin-top: 28px; position: relative; padding-left: 26px; }
.rx-curve::before {
  content: "";
  position: absolute;
  left: 4px; top: 4px; bottom: 4px;
  width: 1px;
  background: linear-gradient(rgba(192, 57, 43, .7), rgba(222, 213, 198, .12));
}
.rx-curve li { position: relative; padding: 0 0 24px 18px; }
.rx-curve li:last-child { padding-bottom: 0; }
.rx-curve li::before {
  content: "";
  position: absolute;
  left: -26px; top: 7px;
  width: 9px; height: 9px;
  border-radius: 50%;
  background: #14100e;
  border: 2px solid #c0392b;
}
.rx-curve .c-stage { font-family: var(--mono); font-size: 10.5px; letter-spacing: 1.4px; color: #e8735f; }
.rx-curve h3 { margin-top: 4px; font-family: var(--serif); font-size: 15.5px; font-weight: 600; color: #e9ddc9; }
.rx-curve p { margin-top: 5px; font-size: 12.8px; line-height: 1.9; color: #a99f92; }

/* ---------- 场景 ---------- */
.rx-scenes { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(222, 213, 198, .12); margin-top: 26px; }
.rx-scenes article { padding: 24px; background: #14100e; }
.rx-scenes .s-tag { font-family: var(--mono); font-size: 10px; letter-spacing: 1.5px; color: #8d8177; }
.rx-scenes h3 { margin-top: 9px; font-family: var(--serif); font-size: 16px; font-weight: 600; letter-spacing: .5px; color: #e9ddc9; }
.rx-scenes p { margin-top: 7px; font-size: 12.7px; line-height: 1.9; color: #a99f92; }

/* ---------- 方法 ---------- */
.rx-methods { margin-top: 26px; display: grid; gap: 0; counter-reset: m; }
.rx-methods li {
  counter-increment: m;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 18px;
  padding: 22px 0;
  border-top: 1px solid rgba(222, 213, 198, .12);
}
.rx-methods li:last-child { border-bottom: 1px solid rgba(222, 213, 198, .12); }
.rx-methods li::before {
  content: counter(m);
  width: 32px; height: 32px;
  display: grid; place-items: center;
  border: 1px solid rgba(192, 57, 43, .5);
  border-radius: 50%;
  font-family: var(--mono);
  font-size: 11px;
  color: #e8735f;
}
.rx-methods h3 { font-family: var(--serif); font-size: 15.5px; font-weight: 600; color: #e9ddc9; }
.rx-methods p { margin-top: 5px; font-size: 13px; line-height: 1.9; color: #a99f92; }

/* ---------- 辑录 ---------- */
.rx-lines { margin-top: 26px; display: grid; gap: 12px; }
.rx-lines li {
  padding: 16px 20px;
  background: rgba(222, 213, 198, .04);
  border-left: 2px solid rgba(192, 57, 43, .5);
  font-family: var(--serif);
  font-size: 15.5px;
  line-height: 1.8;
  letter-spacing: 1px;
  color: #ded5c6;
}
.rx-lines li span { display: block; margin-top: 4px; font-family: var(--mono); font-size: 10px; letter-spacing: 1px; color: #8d8177; }

/* ---------- 写作提示 ---------- */
.rx-tips { margin-top: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.rx-tips div {
  padding: 20px;
  border: 1px solid rgba(222, 213, 198, .14);
}
.rx-tips h3 { font-family: var(--serif); font-size: 15px; font-weight: 600; color: #e9ddc9; }
.rx-tips p { margin-top: 6px; font-size: 12.6px; line-height: 1.85; color: #a99f92; }

/* ---------- 误读 ---------- */
.rx-mis { margin-top: 24px; display: grid; gap: 10px; }
.rx-mis li {
  display: flex;
  gap: 14px;
  padding: 16px 18px;
  background: rgba(192, 57, 43, .06);
  border: 1px solid rgba(192, 57, 43, .22);
  font-size: 13px;
  line-height: 1.85;
  color: #c9bfb1;
}
.rx-mis b { flex: none; font-family: var(--mono); font-size: 10.5px; letter-spacing: 1px; color: #e8735f; padding-top: 3px; }

/* ---------- 延伸 ---------- */
.rx-bridge {
  margin-top: 26px;
  padding: 30px;
  background: #1b1512;
  border: 1px solid rgba(222, 213, 198, .12);
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) auto;
  gap: 24px;
  align-items: center;
}
.rx-bridge h3 { font-family: var(--serif); font-size: 19px; font-weight: 600; letter-spacing: 1px; color: #f3e7d3; }
.rx-bridge p { margin-top: 9px; font-size: 13px; line-height: 1.95; color: #a99f92; }
.rx-bridge .rx-stamp {
  width: 84px; height: 84px;
  display: grid;
  place-items: center;
  border: 2px solid #c0392b;
  color: #e8735f;
  font-family: var(--serif);
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 1px;
  text-align: center;
  transform: rotate(-4deg);
}

/* ---------- FAQ ---------- */
.rx-faq .acc-list { border-top-color: rgba(222, 213, 198, .12); }
.rx-faq .acc-item { border-bottom-color: rgba(222, 213, 198, .12); }
.rx-faq .acc-trigger { color: #e9ddc9; font-family: var(--serif); font-weight: 600; }
.rx-faq .acc-panel { color: #a99f92; }
.rx-faq .acc-item.is-open .acc-trigger::after { color: #e8735f; }

/* ---------- 相关 / CTA ---------- */
.rx-related { margin-top: 22px; display: grid; gap: 10px; }
.rx-related a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 17px 20px;
  border: 1px solid rgba(222, 213, 198, .14);
  background: rgba(222, 213, 198, .03);
  font-family: var(--serif);
  font-size: 14.5px;
  color: #ded5c6;
  transition: border-color .2s, background .2s;
}
.rx-related a:hover { border-color: rgba(192, 57, 43, .55); background: rgba(192, 57, 43, .07); }
.rx-related em { font-style: normal; font-family: var(--mono); font-size: 10.5px; letter-spacing: 1px; color: #e8735f; }

.rx-cta {
  margin-bottom: 62px;
  padding: 40px 32px;
  text-align: center;
  border: 1px solid rgba(192, 57, 43, .3);
  background:
    radial-gradient(420px 240px at 50% 0%, rgba(192, 57, 43, .14), transparent 70%),
    #191310;
}
.rx-cta h2 { font-family: var(--serif); font-size: 26px; font-weight: 600; letter-spacing: 3px; color: #f3e7d3; }
.rx-cta p { margin-top: 12px; font-size: 13.2px; line-height: 1.95; color: #a99f92; max-width: 560px; margin-inline: auto; }
.rx-cta .cta-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 22px; }
.rx-cta .btn-primary { background: #c0392b; color: #fff; }
.rx-cta .tg-link { border-color: rgba(222, 213, 198, .28); color: #e9ddc9; }
.rx-cta .tg-link:hover { border-color: #e8735f; background: rgba(192, 57, 43, .1); }
.rx-cta .btn-room { color: #d8cdbc; border-color: rgba(216, 205, 188, .35); }
.rx-cta .btn-room b { color: #e8735f; }

.rx-endnote {
  padding: 0 0 60px;
  font-size: 12px;
  line-height: 2;
  color: #7d7268;
  text-align: center;
}
.rx-endnote a { color: #e8735f; }

/* ---------- 响应式 ---------- */
@media (max-width: 1000px) {
  .rx-hero-grid { grid-template-columns: 1fr; gap: 42px; }
  .rx-hero figure { order: -1; }
  .rx-pair { grid-template-columns: 1fr; }
  .rx-tips { grid-template-columns: 1fr; }
  .rx-bridge { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .rx-hero { padding: 48px 0 56px; }
  .rx-sec { padding: 46px 0; }
  .rx-layer { grid-template-columns: 1fr; gap: 10px; }
  .rx-scenes { grid-template-columns: 1fr; }
  .rx-actions .btn { width: 100%; }
  .rx-cta { padding: 28px 20px; }
  .rx-quote { padding: 34px 0; }
  .rx-mis li { flex-direction: column; gap: 6px; }
}
