/* ============================================================
   页面：puyang.html 濮阳站（shard-C2）
   签名布局：L2 顶部数据条 + 深紫渐变 hero
   骨架：数据条 / 深紫hero / 服务分屏 / 特色四卡 / 案例网格 / 流程横卷 / 四字优势卡 / FAQ / CTA
   ============================================================ */

/* ---------- 服务流程：横向卷轴步骤卡 ---------- */
body.page-puyang .py-step{
  flex:0 0 240px;
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:var(--radius-md);
  padding:24px 20px;
}
body.page-puyang .py-step-no{
  display:inline-block;
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
  color:var(--c-pink-400);
  margin-bottom:10px;
}
body.page-puyang .py-step h3{font-size:17px;margin-bottom:8px}
body.page-puyang .py-step p{font-size:13px;line-height:1.8}

/* ---------- L2 顶部数据条 ---------- */
body.page-puyang .py-stat-strip{
  background:#fff;
  border-bottom:1px solid var(--c-line);
  padding:26px 0;
}
body.page-puyang .py-stat-in{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
body.page-puyang .py-stat{
  text-align:center;
  padding:6px 10px;
  border-right:1px dashed var(--c-line);
}
body.page-puyang .py-stat:last-child{border-right:0}
body.page-puyang .py-stat strong{
  display:block;
  font-size:clamp(26px,3vw,36px);
  font-weight:800;
  background:var(--grad-text);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  line-height:1.2;
}
body.page-puyang .py-stat strong span{font-size:.55em;font-weight:700;margin-left:2px}
body.page-puyang .py-stat p{font-size:13px;color:var(--c-muted);margin-top:4px}

/* ---------- Hero：L2 深紫渐变 ---------- */
body.page-puyang .py-hero{
  background:linear-gradient(135deg,#4A3555 0%,#3A2A47 55%,#57406B 100%);
  padding:88px 0 96px;
}
body.page-puyang .py-hero::before{
  content:"";
  position:absolute;
  left:-100px;
  bottom:-120px;
  width:400px;
  height:400px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(232,139,184,.30),transparent 70%);
}
body.page-puyang .py-hero .hero-in{position:relative;z-index:2;max-width:860px}
body.page-puyang .py-hero h1{color:#fff}
body.page-puyang .py-hero .hero-desc{color:#D8CBE0;font-size:16px}
body.page-puyang .py-hero .hero-desc strong{color:#fff}
body.page-puyang .py-breadcrumb a{color:#C9BBD3}
body.page-puyang .py-breadcrumb span{color:#9A8CA0}
body.page-puyang .py-hero .hero-hotline{margin-top:18px;font-size:14px;color:#B9A9C4}

/* ---------- 核心服务：左图右文分屏 ---------- */
body.page-puyang .py-svc{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:48px;
  align-items:center;
}
body.page-puyang .py-svc-img img{
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
  width:100%;
}
body.page-puyang .py-svc-img figcaption{
  margin-top:12px;
  font-size:12.5px;
  color:var(--c-muted);
  text-align:center;
}
body.page-puyang .py-svc-list li{
  padding:14px 0;
  border-bottom:1px dashed var(--c-line);
}
body.page-puyang .py-svc-list li:last-child{border-bottom:0}
body.page-puyang .py-svc-list a{
  display:block;
  font-size:14px;
  line-height:1.9;
}
body.page-puyang .py-svc-list strong{color:var(--c-ink)}
body.page-puyang .py-svc-list a:hover strong{color:var(--c-purple-400)}

/* ---------- 濮阳特色：编号四卡 ---------- */
body.page-puyang .py-feature{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}
body.page-puyang .py-feature-card{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:var(--radius-md);
  padding:28px 24px;
}
body.page-puyang .py-feature-no{
  display:block;
  font-size:13px;
  font-weight:800;
  letter-spacing:.14em;
  color:var(--c-pink-400);
  margin-bottom:12px;
}
body.page-puyang .py-feature-card h3{font-size:19px;margin-bottom:10px}
body.page-puyang .py-feature-card p{font-size:14px;line-height:1.9}

/* ---------- 本地案例：图片网格 ---------- */
body.page-puyang .py-case-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}
body.page-puyang .py-case{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:var(--radius-md);
  overflow:hidden;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
body.page-puyang .py-case:hover{transform:translateY(-6px);box-shadow:var(--shadow-card)}
body.page-puyang .py-case img{width:100%;height:220px;object-fit:cover}
body.page-puyang .py-case-body{padding:22px}
body.page-puyang .py-case-tag{
  display:inline-block;
  font-size:12px;
  font-weight:600;
  color:var(--c-purple-400);
  background:var(--c-purple-100);
  border-radius:999px;
  padding:3px 12px;
  margin-bottom:10px;
}
body.page-puyang .py-case h3{font-size:17px;margin-bottom:8px}
body.page-puyang .py-case p{font-size:13.5px;line-height:1.8}

/* ---------- 本地优势：四字卡片 ---------- */
body.page-puyang .py-adv-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
body.page-puyang .py-adv{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:var(--radius-md);
  padding:28px 22px;
}
body.page-puyang .py-adv-no{
  display:block;
  font-size:26px;
  font-weight:800;
  background:var(--grad-text);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  margin-bottom:12px;
}
body.page-puyang .py-adv h3{font-size:17px;margin-bottom:8px}
body.page-puyang .py-adv p{font-size:13.5px;line-height:1.85}

/* ---------- FAQ 折叠面板 ---------- */
body.page-puyang .py-faq-wrap{max-width:860px}
body.page-puyang .faq-item{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:var(--radius-md);
  margin-bottom:14px;
  overflow:hidden;
}
body.page-puyang .faq-item summary{
  cursor:pointer;
  list-style:none;
  padding:18px 22px;
  font-weight:700;
  color:var(--c-ink);
  font-size:15px;
  position:relative;
  padding-right:44px;
}
body.page-puyang .faq-item summary::-webkit-details-marker{display:none}
body.page-puyang .faq-item summary::after{
  content:"+";
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  width:26px;
  height:26px;
  line-height:26px;
  text-align:center;
  border-radius:50%;
  background:var(--c-purple-100);
  color:var(--c-purple-400);
  font-weight:700;
  transition:transform .3s var(--ease);
}
body.page-puyang .faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
body.page-puyang .faq-item p{padding:0 22px 20px;font-size:14px;line-height:1.95}
body.page-puyang .faq-item p a{color:var(--c-purple-400);border-bottom:1px dashed var(--c-purple-300)}

/* ---------- CTA 区 ---------- */
body.page-puyang .py-cta-sec{background:var(--grad-soft)}
body.page-puyang .cta-box{text-align:center;padding:56px 30px}
body.page-puyang .cta-box h2{font-size:clamp(24px,3vw,32px);margin-bottom:14px}
body.page-puyang .cta-box p{max-width:640px;margin:0 auto 8px}
body.page-puyang .cta-note{margin-top:16px;font-size:13.5px;color:var(--c-muted)}

/* ---------- 响应式：1200 / 768 / 360 三档 ---------- */
@media (max-width:1200px){
  body.page-puyang .py-adv-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
  body.page-puyang .py-stat-in{grid-template-columns:repeat(2,1fr);gap:16px}
  body.page-puyang .py-stat{border-right:0;border-bottom:1px dashed var(--c-line);padding-bottom:14px}
  body.page-puyang .py-hero{padding:72px 0 80px}
  body.page-puyang .py-svc{grid-template-columns:1fr;gap:28px}
  body.page-puyang .py-feature{grid-template-columns:1fr}
  body.page-puyang .py-case-grid{grid-template-columns:1fr}
}
@media (max-width:360px){
  body.page-puyang .py-adv-grid{grid-template-columns:1fr}
  body.page-puyang .cta-box{padding:36px 16px}
}
