/* ---------- 通用区块 ---------- */
.section{padding:88px 0;}
.section-alt{background:var(--bg-soft);}

.section-title{
  font-size:clamp(26px,3.4vw,38px);
  line-height:1.25;
  font-weight:700;
  color:var(--primary-deep);
  margin-bottom:14px;
}

.section-lead{
  max-width:660px;
  color:var(--ink-soft);
  font-size:16px;
  margin-bottom:44px;
}

/* ---------- 服务项目 ---------- */
.service-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0 56px;
}

.service-list li{
  display:flex;
  gap:18px;
  padding:26px 0;
  border-top:1px solid var(--line);
}

.service-list li:nth-child(1),
.service-list li:nth-child(2){border-top:none;padding-top:4px;}

.service-list h3{
  font-size:17.5px;
  font-weight:700;
  color:var(--primary);
  margin-bottom:6px;
}

.service-list p{font-size:14.5px;color:var(--ink-soft);}

.service-list .num{
  flex:0 0 auto;
  width:30px;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.1em;
  color:var(--primary);
  padding-top:3px;
}

/* ---------- 住客评价 ---------- */
.review-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.review{
  background:var(--bg);
  border-radius:var(--radius);
  padding:28px 26px;
  border:1px solid rgba(67,85,63,.10);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:20px;
}

.review blockquote{
  font-size:15.5px;
  line-height:1.85;
  color:var(--ink);
}

.review blockquote::before{
  content:"“";
  display:block;
  font-size:34px;
  line-height:1;
  color:var(--primary);
  margin-bottom:6px;
  font-family:Georgia,serif;
}

.review figcaption{
  font-size:12.5px;
  color:var(--ink-soft);
  letter-spacing:.02em;
  padding-top:14px;
  border-top:1px solid var(--line);
}

/* ---------- 我们的优势 ---------- */
.adv-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}

.adv{
  padding:28px 26px;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:#fff;
}

.adv:nth-child(2),
.adv:nth-child(4){background:transparent;}

.adv h3{
  font-size:17px;
  color:var(--primary-deep);
  margin:12px 0 8px;
}

.adv p{font-size:14.5px;color:var(--ink-soft);}

/* ---------- 关于我们 ---------- */
.about-wrap{
  display:grid;
  grid-template-columns:1.55fr .85fr;
  gap:56px;
  align-items:start;
}

.about-copy p{color:var(--ink-soft);font-size:15.5px;}
.about-copy p + p{margin-top:16px;}

.about-facts{
  background:var(--bg);
  border:1px solid rgba(67,85,63,.12);
  border-radius:var(--radius);
  padding:26px 24px;
  position:sticky;
  top:100px;
}

.about-facts h3{
  font-size:14px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--primary);
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
  margin-bottom:6px;
}

.about-facts li{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:11px 0;
  border-bottom:1px dashed var(--line);
  font-size:14px;
}
.about-facts li:last-child{border-bottom:none;}
.about-facts span{color:var(--ink-soft);flex:0 0 auto;}
.about-facts strong{color:var(--ink);font-weight:600;text-align:right;}

/* ---------- 常见问题 ---------- */
.faq-list{max-width:820px;}

.faq-list details{
  border-bottom:1px solid var(--line);
  padding:18px 0;
}

.faq-list summary{
  cursor:pointer;
  font-size:16.5px;
  font-weight:600;
  color:var(--primary-deep);
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary::after{
  content:"+";
  font-size:20px;
  font-weight:400;
  color:var(--primary);
  transition:transform .2s ease;
}
.faq-list details[open] summary::after{content:"–";}

.faq-list details p{
  margin-top:12px;
  font-size:14.5px;
  color:var(--ink-soft);
  max-width:720px;
}

/* ---------- 联系我们 ---------- */
.contact{
  background:var(--primary);
  color:#eef1e2;
}
.contact .eyebrow{color:var(--accent);}
.contact .section-title{color:#fff;}
.contact .section-lead{color:rgba(238,241,226,.78);}

.contact-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0 56px;
  max-width:820px;
}

.contact-list li{
  display:flex;
  gap:24px;
  padding:16px 0;
  border-top:1px solid rgba(238,241,226,.18);
  font-size:15px;
}
.contact-list li > span:first-child{
  flex:0 0 72px;
  color:var(--accent);
  font-size:13px;
  letter-spacing:.12em;
  padding-top:3px;
}
.contact-list a{border-bottom:1px solid rgba(198,217,59,.5);}
.contact-list a:hover{color:var(--accent);}

/* ---------- 响应式 ---------- */
@media (max-width:900px){
  .section{padding:64px 0;}
  .service-list{grid-template-columns:1fr;gap:0;}
  .service-list li:nth-child(2){border-top:1px solid var(--line);padding-top:26px;}
  .review-grid{grid-template-columns:1fr;}
  .adv-grid{grid-template-columns:1fr;}
  .about-wrap{grid-template-columns:1fr;gap:32px;}
  .about-facts{position:static;}
  .contact-list{grid-template-columns:1fr;gap:0;}
  .section-lead{margin-bottom:32px;}
}
