/* =========================================================
   至上产品设计 · 主样式
   设计令牌对应高保真设计稿：深色品牌区 + 珊瑚橙强调色
   ========================================================= */
:root{
  --zsd-ink:#161615;
  --zsd-ink-2:#22221f;
  --zsd-ink-border:#33332e;
  --zsd-coral:#D85A30;
  --zsd-coral-light:#F0997B;
  --zsd-text-muted-dark:#b9b6ae;
  --zsd-text-faint-dark:#7a776f;
  --zsd-surface:#ffffff;
  --zsd-surface-1:#f6f5f2;
  --zsd-border:#e4e2db;
  --zsd-border-strong:#c9c6bc;
  --zsd-text:#161615;
  --zsd-text-secondary:#5f5e5a;
  --zsd-text-muted:#888780;
  --zsd-radius:12px;
  --zsd-radius-sm:8px;
  --zsd-max:1100px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
:focus-visible{outline:2px solid var(--zsd-coral);outline-offset:2px;border-radius:4px}
.screen-reader-text{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
body{
  margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--zsd-text);background:var(--zsd-surface);line-height:1.6;font-size:16px;
  padding-bottom:64px; /* 移动端底部操作栏预留 */
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .18s ease}
h1,h2,h3{margin:0;font-weight:500}
button{font-family:inherit;cursor:pointer;border:0;background:none}

/* ---------- 图标（简易线性图标，纯 CSS，避免额外依赖） ---------- */
[class^="zsd-icon-"]{display:inline-block;width:1em;height:1em;vertical-align:-0.15em}
.zsd-icon-menu::before{content:"\2630"}
.zsd-icon-phone{
  background-color:currentColor;
  -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/></svg>') center / contain no-repeat;
  mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/></svg>') center / contain no-repeat;
}
.zsd-icon-arrow::before{content:"\2192"}
.zsd-icon-gear::before{content:"\2699\FE0F"}
.zsd-icon-calendar,.zsd-icon-wechat,.zsd-icon-search,.zsd-icon-palette,.zsd-icon-factory{background-color:currentColor;mask-position:center;mask-size:contain;mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}
.zsd-icon-calendar{-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2"/><path d="M16 2v4M8 2v4M3 10h18"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2"/><path d="M16 2v4M8 2v4M3 10h18"/></svg>')}
.zsd-icon-wechat{-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"/></svg>')}
.zsd-icon-search{-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>')}
.zsd-icon-palette{-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2a10 10 0 1 0 0 20 3 3 0 0 0 0-6h-1.5a1.5 1.5 0 0 1 0-3H14a3 3 0 0 0 0-6z"/><circle cx="6.5" cy="11.5" r="1"/><circle cx="9.5" cy="7.5" r="1"/><circle cx="14.5" cy="7.5" r="1"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2a10 10 0 1 0 0 20 3 3 0 0 0 0-6h-1.5a1.5 1.5 0 0 1 0-3H14a3 3 0 0 0 0-6z"/><circle cx="6.5" cy="11.5" r="1"/><circle cx="9.5" cy="7.5" r="1"/><circle cx="14.5" cy="7.5" r="1"/></svg>')}
.zsd-icon-factory{-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 20V10l6 4v-4l6 4V6l6 4v10z"/><path d="M2 20h20"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 20V10l6 4v-4l6 4V6l6 4v10z"/><path d="M2 20h20"/></svg>')}

/* ---------- 布局容器 ---------- */
.zsd-wrap{max-width:var(--zsd-max);margin:0 auto;padding:0 24px}
.zsd-section{max-width:var(--zsd-max);margin:0 auto;padding:56px 24px}
.zsd-eyebrow{font-size:12px;letter-spacing:2px;color:var(--zsd-coral);font-weight:500;margin:0 0 6px;text-transform:uppercase}
.zsd-h2{font-size:26px;margin:0 0 20px}
.zsd-lead{color:var(--zsd-text-secondary);font-size:15px;max-width:640px}

/* ---------- 顶部导航 ---------- */
#zsd-case-grid{scroll-margin-top:80px}
.zsd-nav{
  border-bottom:0.5px solid transparent;background:var(--zsd-surface);
  position:sticky;top:0;z-index:50;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.zsd-nav.is-scrolled{border-bottom-color:var(--zsd-border);box-shadow:0 2px 12px rgba(22,22,21,.05)}
.zsd-nav-inner{display:flex;align-items:center;gap:24px;max-width:var(--zsd-max);margin:0 auto;padding:14px 24px}
.zsd-brand{display:flex;align-items:center;gap:8px;font-weight:500;font-size:17px;letter-spacing:.3px;white-space:nowrap}
.zsd-brand--logo{flex:none}
.zsd-brand--logo img{display:block;height:32px;width:auto;max-width:none}
.zsd-brand-name{font-size:15px;font-weight:500;color:var(--zsd-text);white-space:nowrap}
.zsd-brand-dot{width:10px;height:10px;border-radius:3px;background:var(--zsd-coral);display:inline-block}
.zsd-nav-links{display:flex;flex:1}
.zsd-nav-ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}
.zsd-nav-links a{font-size:14px;color:var(--zsd-text-secondary)}
.zsd-nav-links a:hover{color:var(--zsd-text)}
.zsd-tel{font-size:13px;font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.zsd-nav-toggle{display:none;font-size:20px}

/* ---------- 搜索 ---------- */
.zsd-search-wrap{position:relative;display:flex;align-items:center}
.zsd-search-toggle{font-size:16px;color:var(--zsd-text-secondary);padding:6px;transition:color .16s ease}
.zsd-search-toggle:hover{color:var(--zsd-text)}
.zsd-search-form{
  display:none;position:absolute;top:calc(100% + 10px);right:0;
  background:var(--zsd-surface);border:0.5px solid var(--zsd-border);border-radius:var(--zsd-radius-sm);
  padding:8px;box-shadow:0 8px 24px rgba(0,0,0,.14);z-index:80;
}
.zsd-search-wrap.is-open .zsd-search-form{display:block}
.zsd-search-form input{
  width:220px;padding:8px 12px;border:0.5px solid var(--zsd-border-strong);border-radius:var(--zsd-radius-sm);
  font-size:13px;font-family:inherit;
}

/* ---------- 按钮 ---------- */
.zsd-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  font-size:13px;font-weight:500;padding:10px 18px;border-radius:999px;white-space:nowrap;
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease;
}
.zsd-btn--primary{background:var(--zsd-coral);color:#fff}
.zsd-btn--primary:hover{background:#c04d26;transform:translateY(-1px);box-shadow:0 6px 16px rgba(216,90,48,.28)}
.zsd-btn--outline{border:0.5px solid var(--zsd-border-strong);color:var(--zsd-text-secondary)}
.zsd-btn--outline:hover{border-color:var(--zsd-text-secondary);color:var(--zsd-text);transform:translateY(-1px)}
.zsd-cta{ /* header 主按钮 */
  background:var(--zsd-coral);color:#fff;font-size:13px;font-weight:500;padding:9px 16px;border-radius:999px;
  transition:transform .16s ease,box-shadow .16s ease;
}
.zsd-cta:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(216,90,48,.28)}
.zsd-btn--block{width:100%;padding:13px}

/* ---------- Hero ---------- */
/* 背景通到浏览器两侧到底，文字/图片内容仍限制在 --zsd-max 内居中，避免宽屏下两侧留白像没做完 */
.zsd-hero{background:var(--zsd-ink);color:#fff;margin:0 0 24px}
.zsd-hero-inner{
  display:flex;gap:32px;align-items:center;max-width:var(--zsd-max);margin:0 auto;padding:56px 24px;
}
.zsd-hero-l{flex:1}
.zsd-hero h1{font-size:34px;line-height:1.3;margin:0 0 16px;color:#fff}
.zsd-hero .zsd-ac{color:var(--zsd-coral-light)}
.zsd-hero p{font-size:14px;color:var(--zsd-text-muted-dark);line-height:1.7;margin:0 0 24px;max-width:600px;overflow-wrap:anywhere}
.zsd-hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.zsd-hero-shot{
  flex:0 1 360px;aspect-ratio:4/3;background:var(--zsd-ink-2);border:0.5px solid var(--zsd-ink-border);
  border-radius:var(--zsd-radius);display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;color:var(--zsd-text-faint-dark);
}
.zsd-hero-shot span{font-size:12px}
.zsd-hero-shot img,.zsd-case-hero-shot img,.zsd-hero-shot svg{width:100%;height:100%;object-fit:cover;border-radius:var(--zsd-radius);display:block}
.zsd-hero-shot picture,.zsd-case-hero-shot picture,.zsd-card-thumb picture{display:block;width:100%;height:100%}
.zsd-hero-shot{padding:0;overflow:hidden}

/* ---------- Hero 首屏入场动效：一次性播放，文字先、图片后，不循环 ---------- */
@keyframes zsdHeroIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.zsd-hero h1{animation:zsdHeroIn .6s ease both}
.zsd-hero-inner > .zsd-hero-l > p{animation:zsdHeroIn .6s ease .1s both}
.zsd-hero-btns{animation:zsdHeroIn .6s ease .2s both}
.zsd-hero-shot{animation:zsdHeroIn .7s ease .25s both}
@media (prefers-reduced-motion: reduce){
  .zsd-hero h1,.zsd-hero-inner > .zsd-hero-l > p,.zsd-hero-btns,.zsd-hero-shot{animation:none}
}

/* ---------- 信任条 / 统计 ---------- */
/* 首页桌面端用真实图片（利于搜索引擎抓取配图），文字版数字滚动计数留给小屏（图片文字缩放后不易读）；
   关于页没有 .zsd-stats-row 兄弟节点，不受影响，始终显示文字版 */
.zsd-stats-row{display:flex;gap:32px;align-items:stretch;margin-bottom:20px}
.zsd-stats-img{flex:0 0 640px;max-width:640px;margin-bottom:0}
.zsd-stats-img img,.zsd-stats-img picture{width:100%;height:auto;border-radius:var(--zsd-radius);display:block}
.zsd-stats-side{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px;justify-content:center}
.zsd-stats-side .zsd-eyebrow{margin:0}
.zsd-stats-side-more{font-size:13px;color:var(--zsd-coral);font-weight:500;margin-top:4px}
.zsd-stats-row + .zsd-stats{display:none}
.zsd-stats{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.zsd-stat{
  flex:1;min-width:120px;text-align:center;padding:16px;border:0.5px solid var(--zsd-border);
  border-radius:10px;background:var(--zsd-surface-1);
}
.zsd-stat b{display:block;font-size:26px;font-weight:500;color:var(--zsd-coral)}
.zsd-stat span{font-size:12px;color:var(--zsd-text-secondary)}
.zsd-logos{display:flex;gap:10px;flex-wrap:wrap}
.zsd-logo-ph{
  flex:1;min-width:100px;height:36px;border:0.5px dashed var(--zsd-border-strong);border-radius:8px;
  display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--zsd-text-muted);
}

/* ---------- 案例行业筛选 chips ---------- */
.zsd-filter-chips{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}
.zsd-fchip{
  font-size:13px;color:var(--zsd-text-secondary);border:0.5px solid var(--zsd-border-strong);border-radius:999px;padding:8px 16px;background:var(--zsd-surface-1);
  display:inline-block;transition:border-color .16s ease,background-color .16s ease,color .16s ease;
}
.zsd-fchip:hover{border-color:var(--zsd-text-secondary);color:var(--zsd-text)}
.zsd-fchip.is-on{background:var(--zsd-ink);color:#fff;border-color:var(--zsd-ink)}

/* ---------- 案例网格 ---------- */
.zsd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.zsd-card{
  display:block;border:0.5px solid var(--zsd-border);border-radius:var(--zsd-radius);overflow:hidden;background:var(--zsd-surface-1);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.zsd-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(22,22,21,.12);border-color:var(--zsd-border-strong)}
.zsd-card-thumb{aspect-ratio:4/3;display:flex;align-items:flex-end;padding:12px;position:relative;overflow:hidden}
.zsd-card-thumb img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .35s ease;
}
.zsd-card:hover .zsd-card-thumb img{transform:scale(1.05)}
.zsd-card-zoom{
  position:absolute;top:50%;left:50%;z-index:2;
  width:38px;height:38px;border-radius:50%;background:rgba(22,22,21,.55);backdrop-filter:blur(2px);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;
  opacity:0;transform:translate(-50%,-50%) scale(.8);
  transition:opacity .2s ease,transform .2s ease;pointer-events:none;
}
.zsd-card:hover .zsd-card-zoom{opacity:1;transform:translate(-50%,-50%) scale(1)}
.zsd-team-thumb{display:flex;align-items:center;justify-content:center;padding:0}
.zsd-team-thumb i{font-size:34px;color:#fff;opacity:.92}
.zsd-tag{position:relative;z-index:1;font-size:11px;background:rgba(255,255,255,.9);color:var(--zsd-ink);padding:3px 10px;border-radius:999px;font-weight:500}
.zsd-card-cap{padding:12px 14px}
.zsd-card-cap b{font-size:14px;font-weight:500;display:block}
.zsd-card-cap span{font-size:12px;color:var(--zsd-text-secondary)}

/* ---------- 流程 ---------- */
.zsd-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.zsd-flow-step{flex:1;min-width:100px;text-align:center;padding:14px 6px;border:0.5px solid var(--zsd-border);border-radius:10px;font-size:14px;background:var(--zsd-surface-1);color:var(--zsd-text);text-decoration:none;transition:border-color .16s ease,color .16s ease}
a.zsd-flow-step:hover{border-color:var(--zsd-coral);color:var(--zsd-coral)}
.zsd-flow-arrow{color:var(--zsd-text-muted);font-size:14px}
.zsd-flow-hint{margin-top:12px;font-size:13px;color:var(--zsd-text-muted)}

.zsd-pill{
  font-size:12px;border:0.5px solid var(--zsd-border-strong);border-radius:999px;padding:6px 12px;color:var(--zsd-text-secondary);
  display:inline-block;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}

/* ---------- 洞察 ---------- */
.zsd-insights{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.zsd-art{
  display:block;border:0.5px solid var(--zsd-border);border-radius:10px;padding:14px;background:var(--zsd-surface-1);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
a.zsd-art:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(22,22,21,.10);border-color:var(--zsd-border-strong)}
.zsd-art .k{font-size:11px;color:var(--zsd-coral)}
.zsd-art .t{font-size:14px;margin-top:8px;line-height:1.5}

/* ---------- 表单 ---------- */
.zsd-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.zsd-form{margin-top:16px}
.zsd-form-row{display:flex;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.zsd-form-row label{flex:1;min-width:220px;font-size:13px;color:var(--zsd-text-secondary)}
.zsd-form-row .zsd-checkbox-wrap{flex:1;min-width:220px;font-size:13px;color:var(--zsd-text-secondary)}
.zsd-form-row input,.zsd-form-row select,.zsd-form-row textarea{
  width:100%;margin-top:6px;padding:10px 12px;border:0.5px solid var(--zsd-border-strong);
  border-radius:var(--zsd-radius-sm);font-size:14px;font-family:inherit;background:var(--zsd-surface);
}
.zsd-form-row textarea{resize:vertical;min-height:70px}
.zsd-checkbox-group{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px;width:100%}
.zsd-checkbox-item{
  display:flex;align-items:center;gap:6px;font-size:13px;color:var(--zsd-text);
  flex:none;min-width:0;cursor:pointer;position:relative;
}
.zsd-checkbox-item input[type="checkbox"]{width:auto;margin:0;accent-color:var(--zsd-coral)}
.zsd-checkbox-item label{flex:none;min-width:0;font-size:13px;color:var(--zsd-text);margin:0}
.zsd-checkbox-sub{font-size:12px;color:var(--zsd-text-muted);font-weight:400}
.zsd-appointment{background:var(--zsd-surface-1);border-radius:var(--zsd-radius);margin-bottom:24px}

/* ---------- 微信咨询弹层 ---------- */
.zsd-wechat-wrap{position:relative;display:inline-block}
.zsd-wechat-pop{
  display:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);
  background:var(--zsd-surface);color:var(--zsd-text);border:0.5px solid var(--zsd-border);border-radius:var(--zsd-radius);
  padding:16px;width:200px;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.18);z-index:80;
}
.zsd-wechat-wrap.is-open .zsd-wechat-pop{display:block}
.zsd-wechat-pop img{width:100%;border-radius:8px;margin-bottom:8px}
.zsd-wechat-pop p{font-size:12px;color:var(--zsd-text-secondary);margin:0;line-height:1.6}
.zsd-wechat-ph{
  width:100%;aspect-ratio:1;border:0.5px dashed var(--zsd-border-strong);border-radius:8px;margin-bottom:8px;
  display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--zsd-text-muted);
}

/* ---------- 提示条 ---------- */
.zsd-toast{padding:10px 24px;font-size:13px;text-align:center}
.zsd-toast--ok{background:#eaf3de;color:#27500a}
.zsd-toast--err{background:#fcebeb;color:#791f1f}

/* ---------- 面包屑 ---------- */
.zsd-breadcrumb{font-size:12px;color:var(--zsd-text-muted);padding:14px 24px;max-width:var(--zsd-max);margin:0 auto}
.zsd-breadcrumb a{color:var(--zsd-text-secondary)}

/* ---------- 案例深度页 ---------- */
.zsd-case-hero{
  background:var(--zsd-ink);color:#fff;border-radius:var(--zsd-radius);padding:32px;
  display:flex;gap:26px;align-items:center;max-width:var(--zsd-max);margin:0 auto 16px;flex-wrap:wrap;
}
.zsd-case-hero-l{flex:1 1 360px;min-width:260px}
.zsd-case-tag{font-size:11px;color:var(--zsd-ink);background:var(--zsd-coral-light);padding:3px 10px;border-radius:999px;font-weight:500}
.zsd-case-hero h1{font-size:28px;font-weight:500;margin:12px 0 8px;color:#fff}
.zsd-case-hero .sub{font-size:13px;color:var(--zsd-text-muted-dark);line-height:1.6;margin:0 0 16px}
.zsd-case-meta{display:flex;gap:24px;flex-wrap:wrap}
.zsd-case-meta div span{display:block;font-size:11px;color:var(--zsd-text-faint-dark)}
.zsd-case-meta div b{font-size:13px;font-weight:500;color:#e9e7e1}
.zsd-case-hero-shot{flex:1 1 480px;aspect-ratio:4/3;border-radius:var(--zsd-radius);display:flex;align-items:center;justify-content:center;color:#cfe6dd;font-size:34px;overflow:hidden}

.zsd-block{border:0.5px solid var(--zsd-border);border-radius:var(--zsd-radius);padding:26px;margin:0 auto 16px;max-width:var(--zsd-max);background:var(--zsd-surface)}
.zsd-challenges{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:6px}
.zsd-chal{border:0.5px solid var(--zsd-border);border-left:2px solid var(--zsd-coral);border-radius:0 8px 8px 0;padding:12px 14px;background:var(--zsd-surface-1)}
.zsd-chal b{font-size:13px;font-weight:500;display:block;margin-bottom:4px}
.zsd-chal span{font-size:12px;color:var(--zsd-text-secondary);line-height:1.5}

.zsd-pstep{display:flex;gap:22px;align-items:center;margin-top:18px}
.zsd-pstep:nth-child(even){flex-direction:row-reverse}
.zsd-pstep-img{flex:0 0 300px;height:172px;border-radius:var(--zsd-radius);display:flex;align-items:flex-end;padding:12px;color:#fff;position:relative;overflow:hidden}
.zsd-pstep-img .n{position:relative;z-index:1;font-size:11px;background:rgba(255,255,255,.85);color:var(--zsd-ink);padding:3px 10px;border-radius:999px}
.zsd-pstep-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.zsd-pstep-img picture{position:absolute;inset:0;display:block;width:100%;height:100%}
.zsd-pstep-txt{flex:1;min-width:200px}
.zsd-pstep-txt .k{font-size:12px;color:var(--zsd-coral);font-weight:500}
.zsd-pstep-txt h3{font-size:16px;font-weight:500;margin:4px 0 8px}
.zsd-pstep-txt p{font-size:13px;color:var(--zsd-text-secondary);line-height:1.7;margin:0}

.zsd-results{display:flex;gap:14px;flex-wrap:wrap}
.zsd-result{flex:1;min-width:140px;border:0.5px solid var(--zsd-border);border-radius:10px;padding:16px;text-align:center;background:var(--zsd-surface-1)}
.zsd-result b{display:block;font-size:26px;font-weight:500;color:var(--zsd-coral)}
.zsd-result span{font-size:12px;color:var(--zsd-text-secondary)}

.zsd-case-cta{
  background:var(--zsd-ink);color:#fff;border-radius:var(--zsd-radius);padding:24px 26px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  max-width:var(--zsd-max);margin:0 auto 16px;
}
.zsd-case-cta h3{font-size:17px;font-weight:500;margin:0 0 4px;color:#fff}
.zsd-case-cta p{font-size:12px;color:var(--zsd-text-muted-dark);margin:0}

.zsd-rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}

.zsd-case-video{max-width:220px;width:60%;border-radius:var(--zsd-radius);background:#000;aspect-ratio:9/16;object-fit:cover}
@media (max-width: 860px){.zsd-case-video{width:50%}}

/* ---------- 服务页 / FAQ ---------- */
.zsd-service-items{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.zsd-service-items li{font-size:12px;color:var(--zsd-text-secondary);border:0.5px solid var(--zsd-border);border-radius:999px;padding:5px 12px;background:var(--zsd-surface-1)}
.zsd-faq{display:flex;flex-direction:column;gap:14px}
.zsd-faq-item{border:0.5px solid var(--zsd-border);border-radius:10px;padding:14px 16px;background:var(--zsd-surface-1)}
.zsd-faq-item b{font-size:14px;font-weight:500;display:block;margin-bottom:6px}
.zsd-faq-item p{font-size:13px;color:var(--zsd-text-secondary);margin:0;line-height:1.6}
.zsd-content{font-size:14px;color:var(--zsd-text-secondary);line-height:1.8}
.zsd-content p{margin:0 0 14px}

/* ---------- 滚动淡入（渐进增强：is-hidden 只由 JS 添加，无 JS 时始终可见） ---------- */
.zsd-reveal{transition:opacity .6s ease,transform .6s ease}
.zsd-reveal.is-hidden{opacity:0;transform:translateY(20px)}
@media (prefers-reduced-motion: reduce){
  .zsd-reveal,.zsd-reveal.is-hidden{opacity:1 !important;transform:none !important;transition:none !important}
}

/* ---------- 空状态卡片（诚实占位，不编造假内容） ---------- */
.zsd-empty-card{
  border:0.5px dashed var(--zsd-border-strong);border-radius:var(--zsd-radius);padding:40px 24px;
  text-align:center;background:var(--zsd-surface-1);
}
.zsd-empty-card i{font-size:26px;display:block;margin-bottom:10px;opacity:.6}
.zsd-empty-card p{font-size:13px;color:var(--zsd-text-muted);margin:0}

/* ---------- 客户证言 ---------- */
.zsd-testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.zsd-quote-card{border:0.5px solid var(--zsd-border);border-radius:var(--zsd-radius);padding:20px;background:var(--zsd-surface-1)}
.zsd-quote-card .q{font-size:14px;color:var(--zsd-text);line-height:1.7;margin:0 0 14px}
.zsd-quote-card .who b{display:block;font-size:13px;font-weight:500}
.zsd-quote-card .who span{font-size:12px;color:var(--zsd-text-secondary)}

/* ---------- 荣誉资质 ---------- */
.zsd-awards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.zsd-award-card{border:0.5px solid var(--zsd-border);border-radius:10px;padding:14px;background:var(--zsd-surface-1);text-align:center}
.zsd-award-card img{width:100%;border-radius:8px;margin-bottom:8px}
.zsd-award-card b{display:block;font-size:13px;font-weight:500}
.zsd-award-card span{font-size:11px;color:var(--zsd-text-secondary)}

/* ---------- 页脚 ---------- */
.zsd-footer{background:var(--zsd-ink);color:#e9e7e1;padding:32px 24px 0}
.zsd-footer-cta{
  max-width:var(--zsd-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;
  gap:16px;flex-wrap:wrap;padding-bottom:26px;border-bottom:0.5px solid var(--zsd-ink-border);
}
.zsd-footer-cta h3{font-size:18px;font-weight:500;margin:0 0 4px;color:#fff}
.zsd-footer-cta p{font-size:13px;color:var(--zsd-text-muted-dark);margin:0}
.zsd-footer-cta-btns{display:flex;gap:10px;flex-wrap:wrap}
.zsd-footer-cta .zsd-btn--outline{color:var(--zsd-coral-light);border-color:var(--zsd-coral-light)}
.zsd-footer-qr{display:flex;align-items:center;gap:14px}

/* ---------- 感谢页 ---------- */
.zsd-thanks-page .zsd-float-cta,.zsd-thanks-page .zsd-mobile-bar{display:none}
.zsd-thanks-qr{
  display:inline-flex;align-items:center;gap:16px;text-align:left;
  border:0.5px solid var(--zsd-border);border-radius:var(--zsd-radius);padding:16px 22px;
  background:var(--zsd-surface-1);margin:8px auto 0;
}
.zsd-thanks-qr img{width:104px;height:104px;object-fit:contain;border-radius:8px;background:#fff;display:block}
.zsd-thanks-qr-txt{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--zsd-text-secondary)}
.zsd-thanks-qr-txt b{font-size:14px;color:var(--zsd-text)}
.zsd-thanks-qr-txt a{color:var(--zsd-coral);font-weight:500}
.zsd-footer-qr img{width:112px;height:112px;object-fit:contain;border-radius:8px;background:#fff;padding:6px}
.zsd-footer-qr p{font-size:13px;color:var(--zsd-text-muted-dark);margin:0;line-height:1.7}
.zsd-footer-links{max-width:var(--zsd-max);margin:0 auto;display:flex;gap:20px;padding:20px 0;font-size:13px;color:var(--zsd-text-muted-dark);flex-wrap:wrap}
.zsd-footer-links a:hover{color:var(--zsd-coral-light)}
.zsd-footer-links--sub{padding:0 0 16px;gap:16px;font-size:12px;opacity:.8}
.zsd-footer-links--sub span{opacity:.6}
.zsd-footer-meta{max-width:var(--zsd-max);margin:0 auto;padding:16px 0;font-size:12px;color:var(--zsd-text-faint-dark);border-top:0.5px solid var(--zsd-ink-border)}

/* ---------- 桌面端常驻悬浮转化入口 ---------- */
.zsd-float-cta{
  position:fixed;right:28px;bottom:28px;z-index:70;display:flex;gap:8px;
  opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s ease,transform .25s ease;
}
.zsd-float-cta.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.zsd-float-cta .zsd-btn{box-shadow:0 6px 18px rgba(0,0,0,.16);background-color:var(--zsd-surface)}
.zsd-float-cta .zsd-btn--primary{background:var(--zsd-coral);color:#fff;box-shadow:0 6px 18px rgba(216,90,48,.35)}
.zsd-float-wechat .zsd-wechat-pop{bottom:calc(100% + 10px);left:auto;right:0;transform:none}
.zsd-nav-wechat .zsd-wechat-pop{top:calc(100% + 10px);bottom:auto;left:auto;right:0;transform:none}

/* ---------- 移动端底部常驻操作栏 ---------- */
.zsd-mobile-bar{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;
  border-top:0.5px solid var(--zsd-border);background:var(--zsd-surface);
}
.zsd-mobile-bar-tel{
  flex:0 0 92px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:10px 0;font-size:11px;color:var(--zsd-text-secondary);border-right:0.5px solid var(--zsd-border);
}
.zsd-mobile-bar-go{flex:1;background:var(--zsd-coral);color:#fff;display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:500}

/* =========================================================
   响应式：移动端（对应需求文档移动端高保真稿）
   ========================================================= */
@media (max-width: 860px){
  .zsd-nav-links{display:none}
  .zsd-nav-toggle{display:block}
  .zsd-tel{display:none}
  .zsd-cta{display:none}
  .zsd-brand-name{display:none}
  .zsd-search-form{right:auto;left:0}
  .zsd-search-form input{width:60vw;max-width:220px}
  .zsd-mobile-bar{display:flex}
  .zsd-float-cta{display:none}

  .zsd-hero-inner{flex-direction:column;align-items:stretch;padding:32px 20px}
  .zsd-hero h1{font-size:26px}
  .zsd-hero-shot{flex:none;width:100%;aspect-ratio:4/3;height:auto}
  .zsd-hero-btns .zsd-btn{flex:1 1 100%;text-align:center}

  .zsd-section{padding:32px 20px}
  .zsd-stats{grid-template-columns:1fr 1fr}
  .zsd-grid{grid-template-columns:1fr 1fr}
  .zsd-insights{grid-template-columns:1fr}
  .zsd-rel-grid{grid-template-columns:1fr 1fr}
  .zsd-testimonials{grid-template-columns:1fr}
  .zsd-awards{grid-template-columns:1fr 1fr}

  .zsd-challenges{grid-template-columns:1fr}
  .zsd-pstep,.zsd-pstep:nth-child(even){flex-direction:column;align-items:stretch}
  .zsd-pstep-img{flex:none;width:100%;height:140px}

  .zsd-case-hero{flex-direction:column;align-items:stretch;border-radius:0}
  .zsd-case-hero-shot{width:100%;aspect-ratio:4/3;flex-basis:auto}
  .zsd-block{border-radius:0;border-left:0;border-right:0}
  .zsd-case-cta{border-radius:0;text-align:center;justify-content:center;flex-direction:column}

  .zsd-footer-cta{flex-direction:column;text-align:center}
  body{padding-bottom:58px}
}

/* 移动端导航展开态 */
.zsd-nav.is-open .zsd-nav-links{
  display:flex;position:absolute;top:100%;left:0;right:0;
  background:var(--zsd-surface);border-bottom:0.5px solid var(--zsd-border);padding:12px 20px;
}
.zsd-nav.is-open .zsd-nav-ul{flex-direction:column;gap:14px;width:100%}

/* 报价估算器 */
.zsd-quote-complexity{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}
.zsd-quote-complexity--4col{grid-template-columns:repeat(4,1fr)}
.zsd-quote-level{
  border:0.5px solid var(--zsd-border);border-radius:10px;padding:12px 14px;cursor:pointer;
  background:var(--zsd-surface-1);transition:border-color .15s ease,background .15s ease;
  display:flex;flex-direction:column;gap:4px;flex:none;min-width:0;
}
.zsd-quote-level input{position:absolute;opacity:0;pointer-events:none}
.zsd-quote-level b{font-size:14px;font-weight:500;color:var(--zsd-text)}
.zsd-quote-level span{font-size:12px;color:var(--zsd-text-secondary);line-height:1.5}
.zsd-quote-level.is-active{border-color:var(--zsd-coral);background:var(--zsd-surface)}
.zsd-quote-result{
  border:0.5px solid var(--zsd-border);border-left:2px solid var(--zsd-coral);
  border-radius:0 10px 10px 0;padding:18px 20px;margin:18px 0;background:var(--zsd-surface-1);
}
.zsd-quote-result-label{font-size:12px;color:var(--zsd-text-secondary);margin:0 0 6px}
.zsd-quote-result-num{font-size:28px;font-weight:600;color:var(--zsd-coral);margin:0 0 10px}
.zsd-quote-extra-note{font-size:13px;color:var(--zsd-coral);margin:0 0 10px;font-weight:500}
.zsd-quote-disclaimer{font-size:12px;color:var(--zsd-text-secondary);line-height:1.6;margin:0}
.zsd-quote-qualify{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px}
.zsd-quote-qualify label{min-width:0}
.zsd-quote-combo-hint{font-size:12px;color:var(--zsd-coral);line-height:1.6;margin:8px 0 0}
.zsd-quote-softexit{font-size:12px;color:var(--zsd-text-secondary);margin:12px 0 0}
.zsd-quote-softexit a{color:var(--zsd-coral);text-decoration:underline}
#zsd-quote-reveal{margin-top:4px}

/* 研发全流程总览（服务页） */
/* 研发流程整块居中（下方流程图是居中窄列，标题区跟着居中才对齐协调）；
   仅作用于本板块，不影响站内其它左对齐板块，移动端卡片仍保持左对齐便于阅读 */
#npi-flow{text-align:center}
#npi-flow .zsd-lead{margin-left:auto;margin-right:auto}
#npi-flow .zsd-npi-legend{justify-content:center}
#npi-flow .zsd-npi-cards{text-align:left}
/* 图例 */
.zsd-npi-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px}
.zsd-npi-lg{font-size:12px;color:var(--zsd-text-secondary);display:inline-flex;align-items:center}
.zsd-npi-lg::before{content:"";width:14px;height:14px;border-radius:4px;margin-right:6px;display:inline-block;border:1.6px solid}
.zsd-npi-lg--ours::before{border-color:var(--zsd-coral);background:#fff}
.zsd-npi-lg--partner::before{border-color:var(--zsd-border-strong);border-style:dashed;background:#fff}
.zsd-npi-lg--gate::before{border-color:#d8c9a8;background:#f4efe4}
.zsd-npi-lg--loop::before{border:none;border-radius:0;width:16px;height:0;border-top:1.6px dashed #a99f92;background:none}
/* 桌面端流程图 */
.zsd-npi-diagram{margin:16px auto 0;max-width:840px}
.zsd-npi-svg{width:100%;height:auto;display:block}
.zsd-npi-svg a{text-decoration:none}
.zsd-npi-svg a:hover rect{filter:brightness(0.97)}
.zsd-npi-cards{display:none}
/* 移动端卡片回退 */
.zsd-npi-flow{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin:0 auto;max-width:640px}
.zsd-npi-phase{border:0.5px solid var(--zsd-border);border-radius:var(--zsd-radius);padding:16px 20px;background:var(--zsd-surface-1)}
.zsd-npi-phase-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.zsd-npi-phase-head span{font-size:12px;color:var(--zsd-coral);font-weight:600}
.zsd-npi-phase-head b{font-size:16px;font-weight:600;color:var(--zsd-text)}
.zsd-npi-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.zsd-npi-steps li{font-size:13px;color:var(--zsd-text-secondary);line-height:1.6}
.zsd-npi-steps a{color:var(--zsd-text);text-decoration:none;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.zsd-npi-steps a:hover{color:var(--zsd-coral)}
.zsd-npi-tag{font-size:11px;color:var(--zsd-coral);border:1px solid var(--zsd-coral);border-radius:999px;padding:1px 8px;white-space:nowrap}
.zsd-npi-steps em{display:block;font-style:normal;font-size:12px;color:var(--zsd-text-muted);margin-top:2px}
.zsd-npi-gate{margin-top:10px;font-size:12px;color:#7d5a00;background:#fef9e7;border:0.5px solid #f5d78a;border-radius:8px;padding:6px 10px}
.zsd-npi-arrow{text-align:center;color:var(--zsd-text-muted);font-size:16px}
.zsd-npi-loop{margin:14px auto 0;max-width:640px;font-size:13px;color:var(--zsd-text-secondary)}
.zsd-npi-loop a{color:var(--zsd-coral);font-weight:500}

/* 中等宽度下 640px 定宽图片会把右侧优势卡片挤到没法看，改成上下堆叠 */
@media (max-width:960px){
  .zsd-stats-row{flex-direction:column}
  .zsd-stats-img{flex:0 0 auto;max-width:100%}
}

@media (max-width:760px){
  .zsd-quote-complexity{grid-template-columns:1fr}
  .zsd-quote-qualify{grid-template-columns:1fr}
  /* 窄屏下流程图文字过小，切换到可读的卡片列表 */
  .zsd-npi-diagram{display:none}
  .zsd-npi-cards{display:block}
  /* 窄屏下统计图文字同理会缩得过小，改回文字版数字滚动计数；右侧优势卡片保留，只是不再跟图片并排 */
  .zsd-stats-img{display:none}
  .zsd-stats-row + .zsd-stats{display:flex}
}
