
/* ---- 内页通用小组件 ---- */
.ptile{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.pt{background:#fff;border:1px solid var(--line);border-radius:4px;padding:24px 22px}
.pt .i{width:40px;height:40px;border-radius:3px;background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:19px;
  font-weight:700;margin-bottom:12px}
.pt h3{font-size:17px;color:var(--navy);margin-bottom:8px;font-weight:600}
.pt p{font-size:14.5px;color:var(--ink-2);line-height:1.75}

.tl{position:relative;padding-left:26px}
.tl::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;
  background:var(--line)}
.tl-i{position:relative;margin-bottom:26px}
.tl-i::before{content:"";position:absolute;left:-23px;top:6px;width:12px;height:12px;
  border-radius:50%;background:var(--cyan);border:3px solid #fff;
  box-shadow:0 0 0 2px var(--cyan)}
.tl-i h4{font-size:16.5px;color:var(--navy);margin-bottom:6px;font-weight:600}
.tl-i p{font-size:14.5px;color:var(--ink-2);line-height:1.8}

.map{width:100%;height:340px;border:1px solid var(--line);border-radius:4px;
  overflow:hidden;background:var(--bg)}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{padding:16px 4px;font-size:16px;color:var(--navy);cursor:pointer;
  font-weight:600;list-style:none;position:relative;padding-right:34px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;
  transform:translateY(-50%);font-size:20px;color:var(--cyan);font-weight:400}
.faq details[open] summary::after{content:"−"}
.faq .ans{padding:0 4px 18px;font-size:14.5px;color:var(--ink-2);line-height:1.85}

/* 正文段落列: 与居中的标题对齐。
   原来段落是"左对齐 + max-width:900px", 但标题 .sec-hd 是居中的,
   两者叠在一起右侧空出一大块, 看着就是"对齐方式有问题"。 */
.lead{max-width:860px;margin:0 auto;font-size:16px;color:var(--ink-2);
  line-height:2}
.lead + .lead{margin-top:18px}
.lead strong{color:var(--navy)}

.mstat{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;
  margin:34px 0}
.mstat div{background:#fff;border:1px solid var(--line);border-radius:4px;padding:22px 18px;
  text-align:center}
.mstat b{display:block;font-size:28px;color:var(--cyan);font-weight:700;line-height:1.2}
.mstat span{font-size:13.5px;color:var(--ink-3)}
