/* ============================================================================
   星辉雨官网 v3 · 信任页样式（关于我们 / 收费与保障 / 联系我们）
   依赖 style.css 的基础变量与组件；about / pricing 另加载 services.css，
   复用其中的 .ph-metric / .ph-card-note / .fit-col 等组件。
   类名前缀：ab-*（本文件），响应式断点 1120 / 900 / 640。
   ========================================================================== */

/* ── 00 共享：Hero 侧清单 / 页内小注 ─────────────────────── */
.ph-list{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.ph-list li{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.65;color:rgba(255,255,255,.66)}
.ph-list .ic{width:15px;height:15px;color:#5DD39E;flex:none;margin-top:2px}

.ph-card-note{display:flex;gap:11px;align-items:flex-start}
.ph-card-note>.ic{width:20px;height:20px;color:#7FE0B4;flex:none;margin-top:2px}
.ph-card-note b{font-size:14px;color:#fff;display:block;margin:0}
.ph-card-note p{font-size:12px;margin-top:4px}

.ab-data-note{display:flex;gap:9px;align-items:flex-start;margin-top:20px;font-size:12px;line-height:1.75;color:var(--muted)}
.ab-data-note .ic{width:15px;height:15px;flex:none;margin-top:2px}

.ab-wide-note{margin-top:clamp(22px,2.6vw,30px)}

.ab-dark-note{display:flex;gap:9px;align-items:flex-start;margin-top:24px;font-size:12px;line-height:1.75;color:rgba(255,255,255,.42)}
.ab-dark-note .ic{width:15px;height:15px;flex:none;margin-top:2px}

/* 客户原话（quote_card 组件；本组页面不加载 home.css，故在此定义） */
.quote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2vw,24px)}
.quote-card{
  display:flex;flex-direction:column;gap:16px;background:var(--soft);border:1px solid var(--line-soft);
  border-radius:var(--r-lg);padding:clamp(22px,2.4vw,28px);transition:.28s var(--ease);
}
.quote-card:hover{border-color:var(--brand-200);background:#fff;box-shadow:var(--shadow-sm);transform:translateY(-3px)}
.q-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#fff;color:var(--brand);border:1px solid var(--line-soft)}
.q-ico .ic{width:19px;height:19px}
.quote-card blockquote{font-size:14.5px;line-height:1.85;color:var(--ink);flex:1}
.quote-card figcaption{display:flex;align-items:center;gap:11px;padding-top:16px;border-top:1px solid var(--line)}
.q-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--brand);color:#fff;font-size:11px;font-weight:800;flex:none;letter-spacing:.02em}
.quote-card figcaption b{display:block;font-size:13px;color:var(--ink)}
.quote-card figcaption small{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}

/* ═══════════════════════════════════════════════════════════
   01 关于我们
   ═══════════════════════════════════════════════════════════ */

/* 品牌故事 */
.ab-story{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(32px,5vw,72px);align-items:center}
.ab-story-visual{position:relative;padding-bottom:12%}
.ab-story-main{width:88%;aspect-ratio:4/3.2;object-fit:cover;border-radius:var(--r-xl);box-shadow:var(--shadow-lg)}
.ab-story-sub{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-lg);border:6px solid #fff;box-shadow:var(--shadow)}
.ab-story-badge{
  position:absolute;left:0;top:clamp(14px,2vw,22px);display:flex;align-items:center;gap:10px;
  padding:11px 16px;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);
  border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);
}
.ab-story-badge .ic{width:18px;height:18px;color:var(--brand)}
.ab-story-badge b{display:block;font-family:var(--font-num);font-size:19px;font-weight:800;color:var(--ink);line-height:1}
.ab-story-badge small{display:block;font-size:10.5px;color:var(--muted);margin-top:3px}
.ab-story-txt .sec-head{margin-bottom:22px}
.ab-paras{display:flex;flex-direction:column;gap:14px}
.ab-paras p{font-size:14.5px;line-height:1.9;color:var(--slate)}
.ab-paras p:first-child{font-size:15.5px;color:var(--body)}
.ab-pull{
  display:flex;gap:14px;align-items:flex-start;margin-top:24px;padding:18px 22px;
  background:var(--brand-050);border-left:3px solid var(--brand);border-radius:0 var(--r) var(--r) 0;
}
.ab-pull .ic{width:22px;height:22px;color:var(--brand);flex:none;margin-top:2px}
.ab-pull p{font-size:15px;font-weight:700;color:var(--brand-700);line-height:1.6}
.ab-story-act{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:24px}

/* 团队事实条（替代与 Hero 重复的数字带） */
.ab-story-facts{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:clamp(36px,4.4vw,56px);
  background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
}
.ab-fact{display:flex;gap:14px;align-items:flex-start;padding:clamp(20px,2.4vw,28px);background:#fff}
.ab-fact>.ic{width:24px;height:24px;color:var(--brand);flex:none;margin-top:2px}
.ab-fact b{display:block;font-family:var(--font-num);font-size:clamp(24px,2.4vw,30px);font-weight:800;color:var(--ink);line-height:1.1;letter-spacing:-.02em}
.ab-fact span{display:block;font-size:12.5px;line-height:1.65;color:var(--slate);margin-top:6px}

/* 方法论 4 步 */
.ab-method{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,22px)}
.ab-mstep{
  position:relative;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;
  padding:clamp(22px,2.2vw,28px);background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.ab-mstep::before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:0 0 3px 3px;
  background:linear-gradient(90deg,var(--brand),#7FB4F0);transform:scaleX(.22);transform-origin:0 50%;
  transition:transform .4s var(--ease);
}
.ab-mstep:hover{transform:translateY(-3px);border-color:var(--brand-200);box-shadow:var(--shadow-sm)}
.ab-mstep:hover::before{transform:scaleX(1)}
.ab-mstep-no{font-family:var(--font-num);font-size:11.5px;font-weight:800;letter-spacing:.1em;color:var(--brand)}
.ab-mstep-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--brand-050);color:var(--brand);margin:14px 0 16px}
.ab-mstep-ico .ic{width:23px;height:23px}
.ab-mstep h3{font-size:clamp(18px,1.5vw,21px)}
.ab-mstep p{font-size:13px;line-height:1.8;color:var(--slate);margin-top:8px}

/* 价值观 */
.ab-values{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px)}
.ab-value-card .card-num{display:block;margin-bottom:6px;font-size:11px;letter-spacing:.12em}
.ab-value-card h3{font-size:18.5px}
.ab-value-card p{font-size:13.5px;line-height:1.85}

/* 团队 */
.ab-team{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(26px,3.6vw,52px);align-items:stretch}
.ab-team-visual{position:relative;margin:0;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow);min-height:420px}
.ab-team-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ab-team-visual figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:46px 22px 20px;font-size:12px;line-height:1.6;
  color:rgba(255,255,255,.85);background:linear-gradient(180deg,transparent,rgba(8,22,38,.84));
}
.ab-team-badge{
  position:absolute;left:16px;top:16px;display:inline-flex;align-items:center;gap:7px;
  padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.95);color:var(--ink);
  font-size:12px;font-weight:700;box-shadow:var(--shadow-sm);
}
.ab-team-badge .ic{width:15px;height:15px;color:var(--brand)}
.ab-team-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.5vw,18px)}
.ab-tcard{
  position:relative;display:flex;flex-direction:column;padding:clamp(18px,2vw,24px);
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.ab-tcard:hover{transform:translateY(-3px);border-color:var(--brand-200);box-shadow:var(--shadow-sm)}
.ab-tcard-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--brand-050);color:var(--brand);margin-bottom:12px}
.ab-tcard-ico .ic{width:20px;height:20px}
.ab-tcard-no{position:absolute;right:16px;top:16px;font-family:var(--font-num);font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.08em}
.ab-tcard h3{font-size:17px}
.ab-tcard-tag{display:inline-block;margin:6px 0 9px;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--brand-700)}
.ab-tcard p{font-size:12.5px;line-height:1.8;color:var(--slate)}

/* 可核验的承诺（深色） */
.ab-creds{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,22px)}
.ab-cred{
  padding:clamp(22px,2.4vw,30px);background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r-lg);transition:.3s var(--ease);
}
.ab-cred:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.24);transform:translateY(-3px)}
.ab-cred-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(46,123,214,.18);color:#9CC7FF;margin-bottom:16px}
.ab-cred-ico .ic{width:22px;height:22px}
.ab-cred h3{color:#fff;font-size:18px;margin-bottom:8px}
.ab-cred p{font-size:13px;line-height:1.85;color:rgba(255,255,255,.6)}

/* 适合 / 不适合 */
.ab-fit-card{
  display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
}
.ab-fit-card .fit-col{padding:clamp(24px,3vw,36px)}
.ab-fit-card .fit-col b{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:13.5px}
.ab-fit-card .fit-col b .ic{width:17px;height:17px}
.ab-fit-card .fit-col ul{gap:11px}
.ab-fit-card .fit-col li{font-size:13.5px}
.ab-fit-act{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(22px,2.6vw,30px)}

/* 现场图 */
.ab-gallery{display:grid;grid-template-columns:1.15fr .85fr 1.15fr;gap:clamp(12px,1.6vw,20px);align-items:start}
.ab-gallery .figure{margin:0}
.ab-g-wide{aspect-ratio:4/3.1}
.ab-g-tall{aspect-ratio:3/3.7}
.ab-onsite-note{display:flex;gap:8px;align-items:flex-start;margin-top:22px;font-size:12.5px;line-height:1.7;color:var(--muted)}
.ab-onsite-note .ic{width:15px;height:15px;flex:none;margin-top:2px}
.ab-onsite-note a{color:var(--brand);font-weight:700}

/* ═══════════════════════════════════════════════════════════
   02 收费与保障
   ═══════════════════════════════════════════════════════════ */

/* 三种合作方式 */
.ab-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px);align-items:stretch}
.ab-mode{
  position:relative;display:flex;flex-direction:column;overflow:hidden;
  padding:clamp(24px,2.4vw,30px);background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.ab-mode:hover{transform:translateY(-4px);border-color:var(--brand-200);box-shadow:var(--shadow)}
.ab-mode>*{position:relative;z-index:1}
.ab-mode-badge{
  display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:5px 11px;border-radius:999px;
  background:var(--brand-050);color:var(--brand-700);font-size:11px;font-weight:800;letter-spacing:.05em;
}
.ab-mode-badge .ic{width:13px;height:13px}
.ab-mode h3{font-size:clamp(22px,2vw,26px);margin:14px 0 8px}
.ab-mode-desc{font-size:13px;line-height:1.8;color:var(--slate)}
.ab-mode-price{margin:18px 0;padding:14px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.ab-mode-price b{display:block;font-size:15.5px;font-weight:800;color:var(--brand-700)}
.ab-mode-price span{display:block;font-size:11.5px;color:var(--muted);margin-top:4px}
.ab-mode-feats{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.ab-mode-feats li{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.7;color:var(--body)}
.ab-mode-feats .ic{width:15px;height:15px;color:var(--green);flex:none;margin-top:2px}
.ab-mode-for{
  display:flex;gap:8px;align-items:flex-start;margin:auto 0 18px;padding:12px 14px;
  background:var(--soft);border-radius:10px;font-size:12px;line-height:1.65;color:var(--slate);
}
.ab-mode-for .ic{width:15px;height:15px;color:var(--brand);flex:none;margin-top:2px}
.ab-mode-for b{color:var(--ink)}
.ab-mode .btn{margin-top:auto}

/* 高亮：全店托管（深色） */
.ab-mode.hot{
  background:linear-gradient(155deg,#102A47,#0A1A2E);border-color:transparent;
  box-shadow:0 34px 70px -40px rgba(10,26,46,.75);
}
.ab-mode.hot::after{
  content:"";position:absolute;right:-30%;top:-25%;width:70%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(46,123,214,.35),transparent 65%);pointer-events:none;z-index:0;
}
.ab-mode.hot:hover{box-shadow:0 42px 84px -40px rgba(10,26,46,.85)}
.ab-mode.hot .ab-mode-badge{background:rgba(255,255,255,.12);color:#CFE6FF}
.ab-mode.hot h3{color:#fff}
.ab-mode.hot .ab-mode-desc{color:rgba(255,255,255,.62)}
.ab-mode.hot .ab-mode-price{border-color:rgba(255,255,255,.14)}
.ab-mode.hot .ab-mode-price b{color:#A9CDF8}
.ab-mode.hot .ab-mode-price span{color:rgba(255,255,255,.45)}
.ab-mode.hot .ab-mode-feats li{color:rgba(255,255,255,.72)}
.ab-mode.hot .ab-mode-feats .ic{color:#5DD39E}
.ab-mode.hot .ab-mode-for{background:rgba(255,255,255,.07);color:rgba(255,255,255,.6)}
.ab-mode.hot .ab-mode-for b{color:#fff}
.ab-mode.hot .ab-mode-for .ic{color:var(--brand-200)}
.ab-mode.hot .btn-primary{background:#fff;color:var(--navy);box-shadow:0 14px 28px -18px rgba(0,0,0,.6)}
.ab-mode.hot .btn-primary:hover{background:var(--brand-050);color:var(--brand-700)}
.ab-mode.hot .btn-primary:hover .ic{transform:translateX(3px)}

/* 算账示例 */
.ab-scenarios{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px);align-items:stretch}
.ab-sc{
  display:flex;flex-direction:column;padding:clamp(22px,2.4vw,28px);
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.ab-sc:hover{transform:translateY(-3px);border-color:var(--brand-200);box-shadow:var(--shadow-sm)}
.ab-sc-badge{
  display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:5px 10px;border-radius:6px;
  background:var(--accent-050);color:#B54A17;font-size:10.5px;font-weight:800;letter-spacing:.02em;
}
.ab-sc-badge .ic{width:13px;height:13px}
.ab-sc h3{font-size:19px;margin:13px 0 8px}
.ab-sc-desc{font-size:12.5px;line-height:1.8;color:var(--slate)}
.ab-sc-rows{margin-top:16px;border-top:1px solid var(--line-soft)}
.ab-sc-row{display:grid;grid-template-columns:74px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-soft)}
.ab-sc-row:last-child{border-bottom:0;padding-bottom:0}
.ab-sc-row dt{font-size:11.5px;font-weight:800;color:var(--muted);letter-spacing:.02em}
.ab-sc-row dd{margin:0;font-size:12.5px;line-height:1.7;color:var(--body)}
.ab-sc-remark{
  display:flex;gap:7px;align-items:flex-start;margin-top:12px;padding-top:12px;
  border-top:1px solid var(--line-soft);font-size:11px;line-height:1.7;color:var(--muted);
}
.ab-sc-remark .ic{width:13px;height:13px;flex:none;margin-top:2px}

/* 包含 / 不包含 */
.ab-inc{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,22px)}
.ab-inc-col{
  padding:clamp(24px,2.8vw,34px);background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);border-top:3px solid var(--line);
}
.ab-inc-col.inc{border-top-color:var(--green)}
.ab-inc-col.exc{border-top-color:#C9D5E4;background:var(--soft)}
.ab-inc-col b{display:flex;align-items:center;gap:9px;font-size:14px;margin-bottom:16px}
.ab-inc-col b .ic{width:18px;height:18px}
.ab-inc-col.inc b{color:var(--green)}
.ab-inc-col.exc b{color:var(--slate)}
.ab-inc-col ul{display:flex;flex-direction:column;gap:11px}
.ab-inc-col li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.7;color:var(--body)}
.ab-inc-col li .ic{width:16px;height:16px;flex:none;margin-top:3px}
.ab-inc-col.inc li .ic{color:var(--green)}
.ab-inc-col.exc li{color:var(--slate)}
.ab-inc-col.exc li .ic{color:#C0C9D6}

/* 付款与开票 */
.ab-pay{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.ab-pay-row{display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:flex-start;padding:clamp(20px,2.4vw,28px);border-top:1px solid var(--line-soft)}
.ab-pay-row:first-child{border-top:0}
.ab-pay-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--brand-050);color:var(--brand)}
.ab-pay-ico .ic{width:22px;height:22px}
.ab-pay-txt b{display:block;font-size:14px;color:var(--ink);margin-bottom:5px}
.ab-pay-txt p{font-size:13px;line-height:1.8;color:var(--slate)}
.ab-pay-foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:20px;font-size:12.5px}
.ab-pay-foot span{display:flex;align-items:center;gap:7px;color:var(--muted)}
.ab-pay-foot .ic{width:15px;height:15px}
.ab-pay-foot a{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--brand)}
.ab-pay-foot a .ic{width:15px;height:15px}
.ab-pay-foot a:hover{color:var(--brand-700)}

/* 保障（深色） */
.ab-grs{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,22px)}
.ab-gr{
  padding:clamp(22px,2.4vw,30px);background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r-lg);transition:.3s var(--ease);
}
.ab-gr:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.24);transform:translateY(-3px)}
.ab-gr-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:rgba(46,123,214,.18);color:#9CC7FF;margin-bottom:16px}
.ab-gr-ico .ic{width:23px;height:23px}
.ab-gr h3{font-size:18.5px;color:#fff;margin-bottom:8px}
.ab-gr>p{font-size:13px;line-height:1.8;color:rgba(255,255,255,.6)}
.ab-gr-points{display:flex;flex-direction:column;gap:9px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}
.ab-gr-points li{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;line-height:1.7;color:rgba(255,255,255,.66)}
.ab-gr-points .ic{width:15px;height:15px;color:#5DD39E;flex:none;margin-top:2px}

/* FAQ 引导 */
.ab-faq-lead{
  display:flex;align-items:flex-start;gap:11px;max-width:900px;margin:0 auto 22px;padding:16px 20px;
  border-radius:var(--r);background:var(--brand-050);border:1px solid var(--brand-100);
  font-size:13.5px;line-height:1.7;color:var(--brand-700);
}
.ab-faq-lead .ic{width:19px;height:19px;flex:none;margin-top:2px}
.ab-faq-lead a{font-weight:800;text-decoration:underline;text-underline-offset:3px}
.ab-faq-foot{
  display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;
  margin-top:26px;font-size:13px;line-height:1.7;color:var(--slate);text-align:center;
}
.ab-faq-foot .ic{width:16px;height:16px;color:var(--brand);flex:none}
.ab-faq-foot a{color:var(--brand);font-weight:700}
.ab-faq-foot a:hover{color:var(--brand-700)}

/* ═══════════════════════════════════════════════════════════
   03 联系我们
   ═══════════════════════════════════════════════════════════ */

/* Hero 联系方式卡 */
.ab-hlines{display:flex;flex-direction:column;gap:0;margin-top:14px}
.ab-hline{display:flex;gap:11px;align-items:flex-start;padding:14px 0;border-top:1px solid rgba(255,255,255,.1)}
.ab-hline:first-child{padding-top:0;border-top:0}
.ab-hline>.ic{width:18px;height:18px;color:var(--brand-200);flex:none;margin-top:2px}
.ab-hline span{min-width:0}
.ph-card .ab-hline b{display:block;font-size:13.5px;font-weight:800;color:#fff;line-height:1.4;margin:0}
.ph-card .ab-hline small{display:block;font-size:11.5px;color:rgba(255,255,255,.5);margin-top:3px}
a.ab-hline:hover b{color:var(--brand-200)}
.ph-card .ab-hline-note{
  display:flex;align-items:center;gap:7px;margin:0;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);
  font-size:11.5px;color:rgba(255,255,255,.45);
}
.ab-hline-note .ic{width:14px;height:14px;flex:none}

/* 四种联系方式 */
.ab-channels{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,20px)}
.ab-ch{
  display:flex;flex-direction:column;padding:clamp(20px,2.2vw,26px);
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.ab-ch:hover{transform:translateY(-3px);border-color:var(--brand-200);box-shadow:var(--shadow-sm)}
.ab-ch-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--brand-050);color:var(--brand);margin-bottom:14px}
.ab-ch-ico .ic{width:22px;height:22px}
.ab-ch h3{font-size:15.5px;margin-bottom:8px}
.ab-ch-body{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ab-ch-val{font-size:14px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;word-break:break-word}
a.ab-ch-val:hover{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.ab-copy{
  display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:6px 12px;
  border-radius:8px;background:var(--brand-050);border:1px solid var(--brand-100);
  color:var(--brand-700);font-size:11.5px;font-weight:700;cursor:pointer;transition:.2s var(--ease);
}
.ab-copy:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.ab-copy:active{transform:scale(.97)}
.ab-ch-note{flex:1;margin-top:10px;font-size:12px;line-height:1.7;color:var(--slate)}
.ab-ch-link{display:inline-flex;align-items:center;gap:5px;min-height:32px;margin-top:8px;font-size:12px;font-weight:700;color:var(--brand);width:fit-content}
.ab-ch-link .ic{width:14px;height:14px;transition:transform .2s var(--ease)}
.ab-ch-link:hover{color:var(--brand-700)}
.ab-ch-link:hover .ic{transform:translateX(3px)}

/* 表单区 */
.ab-form-wrap{display:grid;grid-template-columns:1fr 1.06fr;gap:clamp(28px,4.4vw,64px);align-items:start}
.ab-form-lead{display:flex;flex-direction:column;gap:14px;padding-top:6px}
.ab-form-lead h2{margin-top:2px}
.ab-form-intro{font-size:14.5px;line-height:1.85;color:var(--slate)}
.ab-why{display:flex;flex-direction:column;gap:12px;margin-top:6px;padding-top:18px;border-top:1px solid var(--line)}
.ab-why-item{display:flex;gap:12px;align-items:flex-start}
.ab-why-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#fff;border:1px solid var(--line);color:var(--brand);flex:none}
.ab-why-ico .ic{width:19px;height:19px}
.ab-why-item b{display:block;font-size:14px;color:var(--ink)}
.ab-why-item p{font-size:12.5px;line-height:1.75;color:var(--slate);margin-top:3px}
.ab-form-trust{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:12px}
.ab-form-trust>span{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.65;color:var(--slate)}
.ab-form-trust>span .ic{width:15px;height:15px;color:var(--green);flex:none;margin-top:2px}
.ab-form-trust b{font-weight:700;color:var(--body)}
.ab-form-priv{display:inline-flex;align-items:center;gap:7px;min-height:32px;font-size:12px;font-weight:700;color:var(--brand);width:fit-content}
.ab-form-priv .ic{width:15px;height:15px;color:var(--brand);flex:none}
.ab-form-priv:hover{color:var(--brand-700)}
.ab-form-tel{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:var(--slate);width:fit-content}
.ab-form-tel .ic{width:17px;height:17px;color:var(--brand)}
.ab-form-tel b{color:var(--brand);font-family:var(--font-num)}
.ab-form-tel:hover b{text-decoration:underline}
/* 联系页表单：店铺名称「选填」标签（common.lead_form 输出 <em>选填</em>） */
.ab-form-wrap .f-field>span em{
  display:inline-block;margin-left:5px;padding:1px 6px;border-radius:4px;
  background:var(--soft);border:1px solid var(--line);font-size:10.5px;font-style:normal;
  font-weight:700;color:var(--muted);vertical-align:1px;
}

/* 信息使用说明 */
.ab-priv{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(24px,3vw,40px);box-shadow:var(--shadow-sm)}
.ab-priv-lead{
  display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:12px;
  background:var(--brand-050);border:1px solid var(--brand-100);margin-bottom:clamp(20px,2.4vw,28px);
}
.ab-priv-lead .ic{width:20px;height:20px;color:var(--brand);flex:none;margin-top:2px}
.ab-priv-lead p{font-size:13.5px;line-height:1.75;color:var(--brand-700)}
.ab-priv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,30px)}
.ab-priv-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--soft);color:var(--brand)}
.ab-priv-ico .ic{width:20px;height:20px}
.ab-priv-item h3{font-size:15.5px;margin:12px 0 7px}
.ab-priv-item p{font-size:12.5px;line-height:1.85;color:var(--slate)}
.ab-priv-foot{
  display:flex;gap:9px;align-items:flex-start;margin-top:clamp(20px,2.4vw,26px);padding-top:18px;
  border-top:1px solid var(--line-soft);font-size:12px;line-height:1.75;color:var(--muted);
}
.ab-priv-foot .ic{width:15px;height:15px;flex:none;margin-top:2px}

/* 联系流程 */
.ab-route{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,22px)}
.ab-rstep{
  position:relative;padding:clamp(22px,2.4vw,30px);background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.ab-rstep:hover{transform:translateY(-3px);border-color:var(--brand-200);box-shadow:var(--shadow-sm)}
.ab-rstep-no{position:absolute;right:22px;top:20px;font-family:var(--font-num);font-size:26px;font-weight:800;color:var(--line);letter-spacing:-.02em}
.ab-rstep-ico{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:var(--brand-050);color:var(--brand);margin-bottom:16px}
.ab-rstep-ico .ic{width:21px;height:21px}
.ab-rstep h3{font-size:17px;margin-bottom:7px;position:relative;z-index:1}
.ab-rstep p{font-size:12.5px;line-height:1.85;color:var(--slate)}

/* 地址与到访 */
.ab-visit{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,60px);align-items:center}
.ab-visit-rows{display:flex;flex-direction:column;margin:22px 0 0;border-top:1px solid var(--line)}
.ab-visit-rows>div{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line-soft)}
.ab-visit-rows .ic{width:18px;height:18px;color:var(--brand);flex:none;margin-top:3px}
.ab-visit-rows dt{font-size:11.5px;font-weight:800;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.ab-visit-rows dd{margin:3px 0 0;font-size:14px;color:var(--ink);font-weight:700}
.ab-visit-rows dd a{color:var(--brand)}
.ab-visit-note{display:flex;gap:9px;align-items:flex-start;margin-top:16px;font-size:12.5px;line-height:1.75;color:var(--slate)}
.ab-visit-note .ic{width:16px;height:16px;color:var(--brand);flex:none;margin-top:2px}
.ab-visit-act{display:flex;margin-top:18px}
.ab-map{
  position:relative;min-height:clamp(300px,32vw,380px);border-radius:var(--r-xl);overflow:hidden;
  background:
    radial-gradient(600px 300px at 78% 12%,rgba(46,123,214,.35),transparent 62%),
    linear-gradient(150deg,#0B1E36,#102A47 60%,#0A1A2E);
  border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow);
}
.ab-map-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(circle at 50% 50%,#000 20%,transparent 78%);
}
.ab-map-pin{
  position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);display:grid;place-items:center;
  width:58px;height:58px;border-radius:50%;background:rgba(46,123,214,.22);
  border:1px solid rgba(255,255,255,.25);color:#fff;box-shadow:0 0 0 14px rgba(46,123,214,.1);
}
.ab-map-pin .ic{width:26px;height:26px}
.ab-map-card{
  position:absolute;left:18px;right:18px;bottom:18px;display:flex;flex-direction:column;gap:5px;
  padding:16px 18px;background:rgba(255,255,255,.96);border-radius:var(--r);box-shadow:var(--shadow);
}
.ab-map-card b{font-size:14.5px;color:var(--ink)}
.ab-map-card span{font-size:12px;color:var(--slate)}
.ab-map-card em{display:inline-flex;align-items:center;gap:6px;font-style:normal;font-size:11.5px;font-weight:700;color:var(--brand);margin-top:3px}
.ab-map-card em .ic{width:14px;height:14px}
.ab-map-tag{
  position:absolute;left:50%;top:18px;transform:translateX(-50%);padding:6px 12px;border-radius:999px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.8);
  font-size:11px;font-weight:700;white-space:nowrap;
}

/* 结尾轻量信息条 */
.ab-end{background:linear-gradient(180deg,#fff,var(--soft));border-top:1px solid var(--line-soft)}
.ab-end-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ab-end-txt{display:flex;gap:14px;align-items:flex-start}
.ab-end-txt>.ic{width:26px;height:26px;color:var(--brand);flex:none;margin-top:2px}
.ab-end-txt b{display:block;font-size:19px;color:var(--ink)}
.ab-end-txt span{display:block;font-size:13px;line-height:1.7;color:var(--slate);margin-top:4px}
.ab-end-act{display:flex;flex-wrap:wrap;gap:12px}

/* ═══════════════════════════════════════════════════════════
   04 响应式
   ═══════════════════════════════════════════════════════════ */
@media (max-width:1120px){
  .ab-story{grid-template-columns:1fr;gap:34px}
  .ab-story-visual{max-width:620px;width:100%}
  .ab-team{grid-template-columns:1fr;gap:26px}
  .ab-team-visual{min-height:0;aspect-ratio:16/9}
  .ab-method{grid-template-columns:repeat(2,1fr)}
  .ab-modes{grid-template-columns:1fr}
  .ab-scenarios{grid-template-columns:1fr}
  .quote-grid{grid-template-columns:1fr}
  .ab-form-wrap{grid-template-columns:1fr;gap:30px}
  .ab-channels{grid-template-columns:repeat(2,1fr)}
  .ab-visit{grid-template-columns:1fr;gap:30px}
}

@media (max-width:900px){
  .ab-values,.ab-creds,.ab-inc,.ab-grs,.ab-route,.ab-priv-grid,.ab-story-facts{grid-template-columns:1fr}
  .ab-fit-card{grid-template-columns:1fr}
  .ab-gallery{grid-template-columns:1fr;gap:14px}
  .ab-g-wide,.ab-g-tall{aspect-ratio:16/10}
  .ab-end-inner{flex-direction:column;align-items:flex-start;gap:18px}
  .ab-sc-row{grid-template-columns:68px 1fr}
}

@media (max-width:640px){
  .ab-story-visual{padding-bottom:16%}
  .ab-story-sub{border-width:4px}
  .ab-story-badge{padding:9px 13px}
  .ab-story-badge b{font-size:16px}
  .ab-story-badge small{font-size:10px}
  .ab-method,.ab-team-grid{grid-template-columns:1fr}
  .ab-team-visual{aspect-ratio:4/3}
  .ab-mstep p,.ab-tcard p{font-size:12.5px}
  .ab-fit-act .btn,.ab-end-act,.ab-end-act .btn{width:100%}
  .ab-pay-row{grid-template-columns:44px 1fr;gap:14px}
  .ab-pay-ico{width:40px;height:40px}
  .ab-pay-foot{gap:10px 18px}
  .ab-faq-lead{padding:14px 16px;font-size:12.5px}
  .ab-faq-foot{justify-content:flex-start;text-align:left;font-size:12.5px}
  .ab-copy{min-height:44px;padding:8px 14px}
  .ab-ch-link,.ab-form-priv{min-height:44px}
  .ab-channels{grid-template-columns:1fr}
  .ab-why-item p{font-size:12px}
  .ab-map{min-height:340px}
  .ab-map-pin{top:38%}
  .ab-data-note,.ab-dark-note{font-size:11.5px}
  .ab-fact{padding:18px 20px;gap:12px}
  .ab-sc-row dt{font-size:11px}
}
