/* ==========================================================
   凡尘数智 · 官网视觉规范
   调性：克制的科技感 + 秩序感的工业底色 + 商务可信
   ========================================================== */
:root{
  /* 文字 */
  --ink:#14171c;        /* 主文字 近黑 */
  --ink-2:#3d4450;      /* 次文字 */
  --ink-3:#6b7280;      /* 辅助文字 */
  /* 线条与底 */
  --line:#e6e8ec;
  --bg:#ffffff;
  --bg-soft:#f7f8fa;
  /* 主色 */
  --accent:#1a4d8f;
  --accent-soft:#eef3fa;
  --accent-line:#cfdcee;
  /* 尺寸 */
  --maxw:1120px;
  --sec-pad:92px;
  /* 圆角 */
  --r-sm:6px;
  --r-md:10px;
  /* 过渡 */
  --t:.22s ease;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",-apple-system,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.75;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}

/* ---------- 导航 ---------- */
header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.9);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:70px;}
.logo{font-size:19px;font-weight:500;letter-spacing:.5px;}
.logo span{color:var(--accent);}
.nav-links{display:flex;gap:32px;font-size:14.5px;color:var(--ink-2);}
.nav-links a{color:inherit;transition:color var(--t);}
.nav-links a:hover,.nav-links a.on{color:var(--accent);}
.nav-right{display:flex;align-items:center;gap:12px;}
.nav-phone{font-size:14px;color:var(--ink-3);}
.nav-cta{
  font-size:14.5px;color:#fff;background:var(--accent);
  padding:9px 20px;border-radius:var(--r-sm);transition:opacity var(--t);
}
.nav-cta:hover{opacity:.86;}
.menu-btn{display:none;background:none;border:none;font-size:22px;color:var(--ink-2);cursor:pointer;}

/* ---------- 按钮 ---------- */
.btn{display:inline-block;padding:13px 28px;border-radius:var(--r-sm);font-size:15px;transition:all var(--t);cursor:pointer;border:1px solid transparent;font-family:inherit;font-weight:300;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{opacity:.88;}
.btn-ghost{border-color:var(--line);color:var(--ink-2);background:#fff;}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);}
.btn-sm{padding:10px 22px;font-size:14.5px;}

/* ---------- 区块 ---------- */
section{padding:var(--sec-pad) 0;}
section.soft{background:var(--bg-soft);}
.sec-head{text-align:center;margin-bottom:54px;}
.sec-head .eyebrow{font-size:13px;color:var(--accent);letter-spacing:2.5px;margin-bottom:14px;}
.sec-head h2{font-size:32px;font-weight:500;letter-spacing:-.3px;margin-bottom:14px;}
.sec-head p{color:var(--ink-3);font-size:15.5px;max-width:620px;margin:0 auto;}
.sec-head.left{text-align:left;}
.sec-head.left p{margin:0;}

/* ---------- Hero ---------- */
.hero{padding:88px 0 80px;}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.hero .eyebrow{font-size:13px;color:var(--accent);letter-spacing:2.5px;margin-bottom:20px;}
.hero h1{font-size:44px;font-weight:500;line-height:1.35;letter-spacing:-.5px;margin-bottom:22px;}
.hero p.sub{font-size:17px;color:var(--ink-2);margin-bottom:34px;max-width:520px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px;}
.hero-note{font-size:13.5px;color:var(--ink-3);}
.hero-media img{border-radius:var(--r-md);border:1px solid var(--line);}

/* ---------- 信任条 ---------- */
.trust-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;}
.trust-inner{display:flex;justify-content:center;gap:0;max-width:1000px;margin:0 auto;}
.trust{flex:1;padding:26px 16px;text-align:center;}
.trust+.trust{border-left:1px solid var(--line);}
.trust b{display:block;font-size:28px;font-weight:500;color:var(--accent);letter-spacing:-.5px;}
.trust small{font-size:13px;color:var(--ink-3);}

/* ---------- 卡片 ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.cards.two{grid-template-columns:repeat(2,1fr);}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:32px 28px;transition:all var(--t);}
.card:hover{border-color:var(--accent-line);box-shadow:0 8px 30px rgba(20,23,28,.06);transform:translateY(-3px);}
.card .tag{font-size:12px;color:var(--accent);background:var(--accent-soft);display:inline-block;padding:4px 11px;border-radius:4px;margin-bottom:16px;letter-spacing:.5px;}
.card h3{font-size:19px;font-weight:500;margin-bottom:12px;}
.card p{font-size:14.5px;color:var(--ink-2);}
.card .num{font-size:14px;color:var(--accent);font-weight:500;margin-bottom:10px;letter-spacing:1px;}

/* ---------- 案例卡 ---------- */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.case{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:all var(--t);}
.case:hover{border-color:var(--accent-line);box-shadow:0 8px 30px rgba(20,23,28,.06);transform:translateY(-3px);}
.case .thumb{aspect-ratio:16/10;background:var(--bg-soft);overflow:hidden;}
.case .thumb img{width:100%;height:100%;object-fit:cover;}
.case .body{padding:24px 24px 26px;}
.case h4{font-size:17px;font-weight:500;margin-bottom:6px;}
.case .who{font-size:13px;color:var(--accent);margin-bottom:16px;}
.case .row{margin-bottom:13px;}
.case .row:last-child{margin-bottom:0;}
.case .row b{display:block;font-size:12.5px;color:var(--ink-3);font-weight:400;margin-bottom:4px;letter-spacing:.5px;}
.case .row p{font-size:14.5px;color:var(--ink-2);}
.case .row p.eff{color:var(--ink);}

/* ---------- 案例来源标注 ---------- */
.src-label{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-3);margin-bottom:24px;padding:5px 13px;border:1px solid var(--line);border-radius:20px;}
.src-label i{width:6px;height:6px;border-radius:50%;background:var(--accent);display:block;}

/* ---------- 步骤 ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;counter-reset:st;}
.step{position:relative;padding-top:52px;}
.step::before{counter-increment:st;content:counter(st,decimal-leading-zero);position:absolute;top:0;left:0;font-size:26px;font-weight:500;color:var(--accent);letter-spacing:-1px;}
.step::after{content:'';position:absolute;top:19px;left:44px;right:-13px;height:1px;background:var(--line);}
.step:last-child::after{display:none;}
.step h4{font-size:16.5px;font-weight:500;margin-bottom:9px;}
.step p{font-size:14px;color:var(--ink-2);}

/* ---------- 表单 ---------- */
.form-box{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:44px 44px 38px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field label{font-size:13.5px;color:var(--ink-2);}
.field label i{color:#c0392b;font-style:normal;}
.field input,.field select,.field textarea{font-family:inherit;font-size:14.5px;font-weight:300;padding:11px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;color:var(--ink);outline:none;transition:border-color var(--t);}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);}
.field textarea{resize:vertical;min-height:92px;}
.checks{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;}
.check{font-size:13.5px;color:var(--ink-2);border:1px solid var(--line);padding:8px 15px;border-radius:20px;cursor:pointer;transition:all var(--t);user-select:none;}
.check input{display:none;}
.check:has(input:checked){border-color:var(--accent);color:var(--accent);background:var(--accent-soft);}
.form-submit{width:100%;margin-top:24px;padding:14px;border:none;border-radius:var(--r-sm);background:var(--accent);color:#fff;font-size:15.5px;font-family:inherit;font-weight:300;cursor:pointer;transition:opacity var(--t);}
.form-submit:hover{opacity:.88;}
.form-note{text-align:center;font-size:13px;color:var(--ink-3);margin-top:18px;line-height:1.9;}
.form-note b{color:var(--ink-2);font-weight:500;}

/* ---------- 上传 ---------- */
.upload{border:1.5px dashed var(--accent-line);border-radius:var(--r-md);padding:38px 24px;text-align:center;background:var(--accent-soft);transition:all var(--t);cursor:pointer;}
.upload:hover{border-color:var(--accent);}
.upload .ico{font-size:30px;color:var(--accent);margin-bottom:12px;}
.upload h4{font-size:16px;font-weight:500;margin-bottom:8px;}
.upload p{font-size:13.5px;color:var(--ink-3);}
.upload .types{font-size:12.5px;color:var(--ink-3);margin-top:10px;letter-spacing:.5px;}

/* ---------- CTA 带 ---------- */
.cta-band{background:var(--accent);color:#fff;text-align:center;padding:70px 0;}
.cta-band h2{font-size:28px;font-weight:500;margin-bottom:14px;letter-spacing:-.3px;}
.cta-band p{font-size:15.5px;opacity:.85;margin-bottom:30px;}
.cta-band .btn-white{background:#fff;color:var(--accent);padding:13px 30px;border-radius:var(--r-sm);font-size:15px;transition:opacity var(--t);}
.cta-band .btn-white:hover{opacity:.9;}
.cta-band .phone{margin-top:20px;font-size:14.5px;opacity:.8;}

/* ---------- 联系 ---------- */
.contact{text-align:center;}
.contact .name{font-size:23px;font-weight:500;margin-bottom:8px;}
.contact .phone{font-size:30px;font-weight:500;color:var(--accent);letter-spacing:1px;margin-bottom:12px;}
.contact .tip{font-size:14.5px;color:var(--ink-3);}

/* ---------- 页脚 ---------- */
footer{border-top:1px solid var(--line);padding:44px 0 38px;font-size:13.5px;color:var(--ink-3);background:#fff;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;margin-bottom:30px;}
.foot-brand{font-size:16px;font-weight:500;color:var(--ink);margin-bottom:10px;}
.foot-col h5{font-size:13.5px;color:var(--ink-2);font-weight:500;margin-bottom:14px;}
.foot-col a{display:block;color:var(--ink-3);margin-bottom:9px;font-size:13.5px;transition:color var(--t);}
.foot-col a:hover{color:var(--accent);}
.foot-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;}

/* ---------- 内容页头 ---------- */
.page-head{padding:64px 0 46px;border-bottom:1px solid var(--line);background:var(--bg-soft);}
.page-head .eyebrow{font-size:13px;color:var(--accent);letter-spacing:2.5px;margin-bottom:14px;}
.page-head h1{font-size:36px;font-weight:500;letter-spacing:-.4px;margin-bottom:14px;}
.page-head p{font-size:16px;color:var(--ink-2);max-width:640px;}

/* ---------- 边界声明 ---------- */
.boundary{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.boundary .box{border:1px solid var(--line);border-radius:var(--r-md);padding:28px 26px;background:#fff;}
.boundary .box.yes{border-left:3px solid var(--accent);}
.boundary .box.no{border-left:3px solid #c9ced6;}
.boundary h4{font-size:15.5px;font-weight:500;margin-bottom:14px;}
.boundary ul{list-style:none;}
.boundary li{font-size:14.5px;color:var(--ink-2);padding:7px 0 7px 22px;position:relative;}
.boundary li::before{content:'';position:absolute;left:2px;top:15px;width:7px;height:7px;border-radius:50%;background:var(--accent);}
.boundary .no li::before{background:#c9ced6;}

/* ---------- 响应式 ---------- */
@media(max-width:960px){
  :root{--sec-pad:64px;}
  .nav-links,.nav-phone{display:none;}
  .menu-btn{display:block;}
  .hero-grid{grid-template-columns:1fr;gap:36px;}
  .hero h1{font-size:32px;}
  .cards,.cards.two,.cases,.steps,.boundary,.foot-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .form-box{padding:28px 22px;}
  .trust-inner{flex-direction:column;max-width:100%;}
  .trust+.trust{border-left:none;border-top:1px solid var(--line);}
  .page-head h1{font-size:27px;}
  .step::after{display:none;}
}

/* ===== 四象限能力边界 ===== */
.quad { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.quad-item {
  position:relative; padding:34px 30px 30px; border:1px solid var(--line);
  border-radius:14px; background:#fff; transition:.25s;
}
.quad-item:hover { border-color:#c3d3e8; box-shadow:0 8px 28px rgba(26,77,143,.07); }
.quad-no {
  font-size:13px; letter-spacing:2px; color:#9db2cc; font-weight:400; margin-bottom:12px;
}
.quad-item h3 { font-size:19px; font-weight:500; margin-bottom:8px; color:var(--ink); }
.quad-axis {
  display:inline-block; font-size:12.5px; letter-spacing:.5px; color:#5a7599;
  background:#eef3fa; padding:3px 11px; border-radius:20px; margin-bottom:14px;
}
.quad-item p { font-size:14.5px; line-height:1.85; color:var(--ink-2); margin:0; }
.quad-state {
  display:inline-block; margin-top:18px; font-size:13px; letter-spacing:1px;
  padding:4px 13px; border-radius:4px;
}
.quad-yes .quad-state { color:#1a4d8f; background:#e8f0fb; }
.quad-item--no { background:#fcfcfa; }
.quad-item--no .quad-state { color:#8a6d3b; background:#f7f1e4; }
.quad-item--no h3 { color:#6d7789; }

@media (max-width:760px){
  .quad { grid-template-columns:1fr; }
}

/* ===== 三列卡片 / 卡内按钮 ===== */
.cards.three { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.card-note {
  margin-top:16px; padding-top:14px; border-top:1px dashed var(--line);
  font-size:13.5px; line-height:1.7; color:var(--ink-3);
}
.card-btns { display:flex; gap:10px; margin-top:18px; flex-wrap:wrap; }
.card-btns .btn { flex:1; min-width:110px; text-align:center; }
.btn-sm { font-size:13.5px; padding:10px 16px; }

@media (max-width:980px){
  .cards.three { grid-template-columns:1fr; }
}

/* ===== 子页 Hero ===== */
.page-hero { padding:80px 0 54px; border-bottom:1px solid var(--line); background:var(--bg-soft); }
.page-hero h1 { font-size:38px; font-weight:400; line-height:1.35; letter-spacing:.5px; margin:14px 0 18px; }
.page-hero p { font-size:16px; line-height:1.95; color:var(--ink-2); max-width:720px; margin:0; }

/* ===== 步骤 ===== */
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.step { position:relative; padding:28px 26px; background:#fff; border:1px solid var(--line); border-radius:12px; }
.step .n { font-size:13px; letter-spacing:2px; color:#9db2cc; margin-bottom:12px; }
.step h4 { font-size:17px; font-weight:500; margin-bottom:10px; }
.step p { font-size:14.5px; line-height:1.85; color:var(--ink-2); margin:0; }

/* ===== FAQ ===== */
.faq { max-width:860px; }
.faq-item { padding:24px 0; border-bottom:1px solid var(--line); }
.faq-item:first-child { border-top:1px solid var(--line); }
.faq-item h4 { font-size:16.5px; font-weight:500; margin-bottom:10px; color:var(--ink); }
.faq-item p { font-size:14.5px; line-height:1.9; color:var(--ink-2); margin:0; }

@media (max-width:760px){
  .page-hero { padding:56px 0 40px; }
  .page-hero h1 { font-size:28px; }
  .steps { grid-template-columns:1fr; }
}

/* ===== 双入口（客户侧 + 伙伴侧） ===== */
.dual-entry { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:38px; }
.dual-col {
  padding:30px 28px; border:1px solid var(--line); border-radius:12px;
  background:var(--bg-soft);
}
.dual-col h4 { font-size:16.5px; font-weight:500; margin-bottom:10px; }
.dual-col p { font-size:14.5px; line-height:1.85; color:var(--ink-2); margin:0 0 18px; }

@media (max-width:760px){
  .dual-entry { grid-template-columns:1fr; }
}

/* ===== 案例筛选栏 ===== */
.filter-bar { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:32px; }
.filter-btn {
  padding:9px 20px; font-size:14px; color:var(--ink-2);
  background:#fff; border:1px solid var(--line); border-radius:22px;
  cursor:pointer; transition:all var(--t); font-family:inherit;
}
.filter-btn:hover { border-color:var(--accent-line); color:var(--ink); }
.filter-btn.on { background:var(--accent); border-color:var(--accent); color:#fff; }

/* ===== 象限徽标 ===== */
.quad-chip {
  display:inline-block; padding:4px 12px; border-radius:4px;
  font-size:12px; letter-spacing:.5px; margin-bottom:12px;
}
.chip-1 { color:#1a4d8f; background:#e8f0fb; }
.chip-2 { color:#2c6e5d; background:#e6f2ee; }
.chip-3 { color:#8a5a2b; background:#f7f0e5; }
.chip-4 { color:#8a6d3b; background:#f7f1e4; }

/* 案例卡内"查看详情" */
.case .more { margin-top:16px; padding-top:14px; border-top:1px solid var(--line); font-size:13.5px; color:var(--accent); }
.case-empty { border-style:dashed; background:var(--bg-soft); display:flex; align-items:center; justify-content:center; }
.case-empty .body { text-align:center; padding:44px 28px; }
.case-empty h4 { color:var(--ink-3); }
.case-empty p { font-size:14.5px; color:var(--ink-3); margin-top:10px; }

/* ===== 案例详情页 ===== */
.cd-hero .crumb { font-size:13px; color:var(--ink-3); margin-bottom:18px; }
.cd-hero .crumb a { color:var(--ink-3); }
.cd-hero .crumb a:hover { color:var(--accent); }
.cd-hero .crumb span { margin:0 8px; opacity:.5; }
.cd-client { font-size:14.5px; color:var(--ink-3) !important; margin-top:14px !important; }

.cd-box { max-width:820px; margin:0 auto; }
.cd-summary {
  font-size:16px; line-height:2; color:var(--ink); padding:26px 28px;
  background:var(--bg-soft); border-left:3px solid var(--accent);
  border-radius:0 8px 8px 0; margin-bottom:40px;
}
.cd-sec { padding:0 0 30px; }
.cd-sec h3 {
  font-size:17px; font-weight:500; margin-bottom:12px; color:var(--ink);
  padding-left:12px; border-left:3px solid var(--accent-line);
}
.cd-sec p { font-size:15px; line-height:2.05; color:var(--ink-2); margin:0; }

.cd-pager {
  display:flex; justify-content:space-between; gap:20px;
  max-width:820px; margin:50px auto 0; padding-top:28px;
  border-top:1px solid var(--line);
}
.cd-pager-item { font-size:14px; color:var(--accent); }
.cd-pager-item:hover { border-bottom:1px solid var(--accent); }

@media (max-width:760px){
  .cd-summary { padding:20px; font-size:15px; }
  .cd-pager { flex-direction:column; }
}

/* ===== 媒体库图片真正显示 ===== */
.media-thumb-real{height:140px;background:#f0f2f5;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:8px 8px 0 0;}
.media-thumb-real img{width:100%;height:100%;object-fit:cover;}
.media-usage{font-size:12px;color:#1a4d8f;margin-top:4px;line-height:1.4;}
