/* 命理咨询说明与 FAQ：以清晰边界承接传统文化内容，避免承诺式表述。 */
.desktop-nav { gap: 20px; }
.desktop-nav a { font-size: 12px; }

.why-knowing {
  padding-top: 118px;
  padding-bottom: 122px;
  position: relative;
}

.why-knowing::before {
  content: '知时 · 察人 · 观空间';
  position: absolute;
  right: 5%;
  top: 55px;
  color: rgba(140, 57, 46, .08);
  font: 13px var(--mono);
  letter-spacing: .18em;
  pointer-events: none;
}

.why-knowing-head {
  display: grid;
  grid-template-columns: 1fr .83fr;
  gap: 11vw;
  align-items: end;
  margin-bottom: 52px;
}

.why-knowing h2,
.faq-intro h2 {
  margin: 0;
  font-size: clamp(34px, 3.3vw, 52px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: .03em;
}

.why-knowing h2 em,
.faq-intro h2 em { color: var(--clay); font-style: normal; }
.why-knowing-head > div:last-child > p { margin: 0; color: #695c4e; line-height: 2; }
.why-knowing-note { margin-top: 17px !important; padding-left: 13px; border-left: 1px solid #9d7a58; font-size: 12px; }

.advantage-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(116, 88, 66, .3);
  border-left: 1px solid rgba(116, 88, 66, .3);
  background: #f0e4cf;
}

.advantage-grid article {
  min-height: 218px;
  padding: 25px 25px 23px;
  border-right: 1px solid rgba(116, 88, 66, .3);
  border-bottom: 1px solid rgba(116, 88, 66, .3);
  position: relative;
}

.advantage-grid article:nth-child(2),
.advantage-grid article:nth-child(5) { background: #e8d9c0; }
.advantage-grid article:nth-child(3),
.advantage-grid article:nth-child(6) { background: #e5ece0; }
.advantage-grid article > span { color: #9b8262; font: 10px var(--mono); letter-spacing: .12em; }
.advantage-grid h3 { margin: 44px 0 10px; font-size: 20px; font-weight: 500; }
.advantage-grid p { max-width: 290px; margin: 0; color: #625847; font-size: 13px; line-height: 1.85; }

.consultation-boundary {
  max-width: 820px;
  margin: 30px 0 0 auto;
  padding: 15px 18px;
  border: 1px solid rgba(116, 88, 66, .24);
  color: #6d604f;
  font-size: 12px;
  line-height: 1.85;
}

.faq-section {
  max-width: none;
  padding-top: 112px;
  padding-bottom: 122px;
  background: #eadcc5;
}

.faq-layout {
  max-width: 1212px;
  margin: auto;
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 9vw;
  align-items: start;
}

.faq-intro { position: sticky; top: 126px; }
.faq-intro > p:not(.overline) { max-width: 370px; color: #695c4e; line-height: 2; }
.faq-contact { margin-top: 35px; padding: 17px 18px; background: #f4ebde; border-left: 3px solid #8c392e; }
.faq-contact span { font: 10px var(--mono); letter-spacing: .14em; color: #8c392e; }
.faq-contact p { margin: 9px 0 0; color: #675946; font-size: 12px; line-height: 1.8; }

.faq-list { border-top: 1px solid rgba(116, 88, 66, .42); }
.faq-list details { border-bottom: 1px solid rgba(116, 88, 66, .34); }
.faq-list summary { list-style: none; position: relative; cursor: pointer; padding: 20px 44px 20px 0; color: #3d443b; font-size: 16px; line-height: 1.5; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: '+'; position: absolute; right: 5px; top: 17px; color: #8c392e; font: 25px/1 var(--serif); transition: transform .2s ease; }
.faq-list details[open] summary::after { transform: rotate(45deg); }
.faq-list details p { max-width: 660px; margin: 0; padding: 0 32px 21px 0; color: #695e50; font-size: 13px; line-height: 1.95; }
.faq-list details p strong { color: #4c4437; font-weight: 500; }

@media (max-width: 1040px) { .desktop-nav { gap: 14px; } .desktop-nav a { font-size: 11px; } }
@media (max-width: 840px) {
  .why-knowing { padding-top: 82px; padding-bottom: 82px; }
  .why-knowing::before { right: -28%; top: 36px; font-size: 9px; }
  .why-knowing-head { display: block; margin-bottom: 34px; }
  .why-knowing-head > div:last-child { margin-top: 22px; }
  .advantage-grid { grid-template-columns: repeat(2, 1fr); }
  .advantage-grid article { min-height: 190px; padding: 18px 16px; }
  .advantage-grid h3 { margin-top: 30px; font-size: 17px; }
  .advantage-grid p { font-size: 11px; line-height: 1.75; }
  .consultation-boundary { margin-top: 22px; padding: 12px 13px; font-size: 11px; }
  .faq-section { padding: 78px 25px 82px; }
  .faq-layout { display: block; }
  .faq-intro { position: static; }
  .faq-intro > p:not(.overline) { margin-bottom: 27px; }
  .faq-contact { margin: 26px 0 33px; }
  .faq-list summary { padding: 17px 34px 17px 0; font-size: 14px; }
  .faq-list summary::after { top: 14px; }
  .faq-list details p { padding-right: 7px; padding-bottom: 18px; font-size: 12px; }
}
