/* ===========================================================
   启仕 QISHI · Apple-minimal design tokens
   Values are 1:1 from the Ardot canvas design file.
   =========================================================== */
:root{
  /* color */
  --primary:#0066cc;
  --ink:#1d1d1f;
  --body:#333333;
  --muted:#7a7a7a;
  --canvas:#ffffff;
  --parchment:#f5f5f7;
  --pearl:#fafafc;
  --hairline:#e0e0e0;
  --divider:#f0f0f0;
  --tile-1:#272729;
  --tile-2:#2a2a2c;
  --tile-3:#3a3a3c;
  --on-dark:#ffffff;
  --on-dark-muted:#cccccc;
  --black:#000000;
  --nav-link:#e8e8ed;

  /* radius */
  --r-pill:9999px;
  --r-card:18px;

  /* type */
  --font:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;

  /* layout */
  --w-page:1440px;
  --w-gutter:120px;
  --w-content:1200px; /* 1440 - 2*120 */
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}

html,body{background:#ffffff;}
body{
  font-family:var(--font);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
svg{display:block;flex:none;}

/* Page is authored at exactly 1440px; app.js scales it down on narrower viewports. */
.viewport{width:100%;overflow:hidden;}
.page{
  width:var(--w-page);
  margin:0 auto;
  background:var(--canvas);
  transform-origin:top center;
}

/* ---------- shared type ---------- */
.sec-title{
  font-size:34px;font-weight:600;line-height:46px;letter-spacing:-0.37px;
  width:900px;text-align:center;color:var(--ink);
}
.sec-title.on-dark{color:var(--on-dark);}
.sec-sub{
  font-size:17px;font-weight:400;line-height:26px;letter-spacing:0;
  width:900px;text-align:center;color:var(--body);
}

/* ---------- shared pills / buttons ---------- */
.pill{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:var(--r-pill);
  transition:transform .12s ease,opacity .12s ease;
}
.pill:active{transform:scale(.95);}
.pill-primary{background:var(--primary);color:#ffffff;padding:7px 18px;font-size:13px;font-weight:400;}
.pill-sm{padding:8px 18px;font-size:14px;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid transparent;
  transition:transform .12s ease;
}
.btn:active{transform:scale(.95);}
.btn-lg{
  border-radius:var(--r-pill);
  padding:14px 30px;
  font-size:18px;font-weight:300;line-height:1;
}
.btn-primary{background:var(--primary);color:#ffffff;}
.btn-ghost{background:#ffffff;color:var(--primary);border-color:var(--primary);}

/* ===========================================================
   1. GLOBAL NAV  ·  h52 / bg #000 / px120
   =========================================================== */
.nav{
  height:52px;
  background:var(--black);
  padding:0 var(--w-gutter);
  display:flex;align-items:center;justify-content:space-between;
}
.nav-left{display:flex;align-items:center;gap:48px;}
.logo{font-size:15px;font-weight:600;color:#ffffff;letter-spacing:-0.1px;}
.nav-links{display:flex;align-items:center;gap:32px;}
.nav-links a{font-size:13px;font-weight:400;color:var(--nav-link);line-height:1;}
.nav-right{display:flex;align-items:center;gap:20px;}
.nav-login{font-size:13px;font-weight:400;color:var(--nav-link);}

/* ===========================================================
   2. SUB NAV  ·  h60 / bg #f5f5f7 / px120
   =========================================================== */
.subnav{
  height:60px;
  background:var(--parchment);
  padding:0 var(--w-gutter);
  display:flex;align-items:center;justify-content:space-between;
}
.subnav-left{display:flex;align-items:center;gap:10px;}
.cat{font-size:21px;font-weight:600;letter-spacing:0.2px;color:var(--ink);line-height:1;}
.cat-en{font-size:12px;font-weight:400;letter-spacing:0.8px;color:var(--muted);line-height:1;}
.subnav-right{display:flex;align-items:center;gap:28px;}
.subnav-right a:not(.pill){font-size:14px;font-weight:400;color:var(--ink);line-height:1;}

/* ===========================================================
   3. HERO  ·  content pad 110/120/72  gap24  + visual h560
   =========================================================== */
.hero{background:var(--canvas);}
.hero-content{
  padding:110px var(--w-gutter) 72px;
  display:flex;flex-direction:column;align-items:center;gap:24px;
}
.badge{
  background:var(--parchment);
  border-radius:var(--r-pill);
  padding:7px 16px;
  font-size:14px;font-weight:400;line-height:1.43;color:var(--body);
}
.hero h1{
  width:1060px;
  font-size:56px;font-weight:600;line-height:62px;letter-spacing:-0.4px;
  color:var(--ink);text-align:center;
}
.lead{
  width:820px;
  font-size:21px;font-weight:400;line-height:32px;
  color:var(--body);text-align:center;
}
.cta-row{display:flex;gap:16px;padding-top:12px;}
.trust{
  width:var(--w-content);
  font-size:14px;font-weight:400;line-height:20px;
  color:var(--muted);text-align:center;
}
.hero-visual{
  width:100%;height:560px;
  background:#f0f0f2;
  overflow:hidden;
}
.hero-visual img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:50% 28%;
  display:block;
}
.ph-label{font-size:17px;font-weight:400;color:#8a8a8e;letter-spacing:0;}

/* ---------- 4. CLIENT LOGO WALL ---------- */
.clients{
  background:var(--canvas);
  padding:56px var(--w-gutter) 64px;
  display:flex;flex-direction:column;align-items:center;gap:28px;
}
.clients-cap{font-size:14px;font-weight:400;line-height:20px;color:var(--muted);letter-spacing:0.1px;}
.clients-row{
  width:var(--w-content);
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;
}
.cl{
  font-size:19px;font-weight:600;line-height:28px;letter-spacing:0.2px;
  color:#b0b0b6;
  white-space:nowrap;
  transition:color .2s ease;
}
.cl:hover{color:var(--ink);}

/* ===========================================================
   4. SEARCH + JOBS  ·  bg #f5f5f7 / pad 88/120/80 / gap36
   =========================================================== */
.search-sec{
  background:var(--parchment);
  padding:88px var(--w-gutter) 80px;
  display:flex;flex-direction:column;align-items:center;gap:36px;
}
.search-bar{
  width:1080px;height:72px;
  background:var(--canvas);
  border-radius:var(--r-pill);
  padding:10px 10px 10px 20px;
  display:flex;align-items:center;gap:14px;
}
.sb-field{font-size:17px;font-weight:400;line-height:1;color:var(--muted);white-space:nowrap;}
.sb-field.ink{color:var(--ink);flex:1;}
.sb-div{width:1px;height:28px;background:var(--hairline);}
.sb-btn{
  background:var(--primary);color:#ffffff;
  border:none;border-radius:var(--r-pill);
  padding:13px 30px;font-size:17px;font-weight:400;line-height:1;
  transition:transform .12s ease;
}
.sb-btn:active{transform:scale(.95);}

.chips{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.chip{
  background:var(--canvas);
  border:1px solid var(--hairline);
  border-radius:var(--r-pill);
  padding:10px 18px;
  font-size:14px;font-weight:400;line-height:1.43;color:var(--body);
  white-space:nowrap;
}

/* jobs grid: 3 x 384 + 2 x 24 = 1200 */
.jobs{
  width:var(--w-content);
  padding-top:20px;
  display:grid;
  grid-template-columns:repeat(3,384px);
  gap:24px;
  justify-content:center;
}
.job{
  width:384px;
  background:var(--canvas);
  border:1px solid var(--hairline);
  border-radius:var(--r-card);
  padding:28px;
  display:flex;flex-direction:column;gap:12px;
  transition:border-color .18s ease;
}
.job:hover{border-color:#c7c7cc;}
.job-head{display:flex;align-items:center;gap:12px;}
.co-logo{
  width:40px;height:40px;flex:none;
  border-radius:10px;
  background:var(--parchment);
  color:#6e6e73;
  display:flex;align-items:center;justify-content:center;
  font-size:19px;font-weight:600;line-height:1;letter-spacing:0;
}
.co-meta{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;}
.job-co{
  font-size:14px;font-weight:400;line-height:20px;color:var(--muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.job-upd{font-size:12px;font-weight:400;line-height:16px;color:#a1a1a6;}
.job-foot{
  margin-top:auto;padding-top:4px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border-top:1px solid var(--divider);
  padding-top:14px;
}
.owner{
  display:inline-flex;align-items:center;gap:6px;
  font-size:14px;font-weight:400;line-height:20px;color:var(--muted);
}
.dot{width:5px;height:5px;border-radius:50%;background:var(--primary);flex:none;}
.tag{
  background:var(--parchment);
  border-radius:var(--r-pill);
  padding:4px 10px;
  font-size:12px;font-weight:400;line-height:1.3;color:var(--body);
  white-space:nowrap;
}
.job h3{font-size:21px;font-weight:600;line-height:30px;letter-spacing:0.23px;color:var(--ink);}
.job .meta{font-size:14px;font-weight:400;line-height:20px;color:var(--muted);}
.job .desc{font-size:17px;font-weight:400;line-height:25px;color:var(--body);}
.job-link{
  display:inline-flex;align-items:center;gap:6px;flex:none;
  font-size:17px;font-weight:400;line-height:1;color:var(--primary);
}

.more{
  padding-top:16px;
  display:inline-flex;align-items:center;gap:6px;
  font-size:17px;font-weight:400;color:var(--primary);
}

/* ===========================================================
   5. PROOF  ·  bg #272729 / pad 88/120 / gap52
   =========================================================== */
.proof{
  background:var(--tile-1);
  padding:88px var(--w-gutter);
  display:flex;flex-direction:column;align-items:center;gap:52px;
}
.stats{width:var(--w-content);display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.stat{display:flex;flex-direction:column;align-items:center;gap:6px;}
.stat .v{font-size:40px;font-weight:600;line-height:48px;color:var(--on-dark);letter-spacing:-0.2px;}
.stat .l{font-size:14px;font-weight:400;line-height:20px;color:var(--on-dark-muted);text-align:center;}

.divider-dark{width:var(--w-content);height:1px;background:var(--tile-3);}

/* 588 + 588 + 24 = 1200 */
.quotes{width:var(--w-content);display:flex;gap:24px;}
.quote{
  width:588px;
  background:var(--tile-2);
  border-radius:var(--r-card);
  padding:36px;
  display:flex;flex-direction:column;gap:16px;
}
.quote p{font-size:21px;font-weight:300;line-height:34px;color:var(--on-dark);}
.quote .name{font-size:14px;font-weight:600;line-height:20px;color:var(--on-dark);}
.quote .role{font-size:14px;font-weight:400;line-height:20px;color:var(--on-dark-muted);}

/* ===========================================================
   6. HOW IT WORKS  ·  bg #fff / pad 88/120 / gap14
   =========================================================== */
.steps-sec{
  background:var(--canvas);
  padding:88px var(--w-gutter);
  display:flex;flex-direction:column;align-items:center;gap:14px;
}
.steps{width:var(--w-content);padding-top:36px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.step{
  background:var(--pearl);
  border:1px solid var(--hairline);
  border-radius:var(--r-card);
  padding:32px;
  display:flex;flex-direction:column;gap:12px;
}
.step .num{font-size:40px;font-weight:600;line-height:48px;letter-spacing:-0.2px;color:var(--primary);}
.step h4{font-size:21px;font-weight:600;line-height:30px;letter-spacing:0.23px;color:var(--ink);}
.step p{font-size:17px;font-weight:400;line-height:25px;color:var(--body);}

/* ===========================================================
   7. PRICING  ·  bg #f5f5f7 / pad 88/120/80 / gap14
   =========================================================== */
.pricing-sec{
  background:var(--parchment);
  padding:88px var(--w-gutter) 80px;
  display:flex;flex-direction:column;align-items:center;gap:14px;
}
.plans{width:var(--w-content);padding-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;}
.plan{
  background:var(--canvas);
  border:1px solid var(--hairline);
  border-radius:var(--r-card);
  padding:32px;
  display:flex;flex-direction:column;align-items:flex-start;gap:10px;
}
.plan.featured{border:2px solid var(--primary);}
.pname{font-size:14px;font-weight:600;line-height:18px;color:var(--body);}
.plan.featured .pname{color:var(--primary);}
.price{font-size:40px;font-weight:600;line-height:48px;letter-spacing:-0.2px;color:var(--ink);}
.pnote{font-size:14px;font-weight:400;line-height:20px;color:var(--muted);}
.pdesc{font-size:17px;font-weight:400;line-height:25px;color:var(--body);}
.pdiv{width:100%;height:1px;background:var(--hairline);}
.feat{font-size:14px;font-weight:400;line-height:24px;color:var(--body);white-space:pre-line;}
.plan-spacer{flex:1 1 auto;min-height:10px;}
.plan-cta{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:var(--r-pill);
  padding:11px 26px;font-size:17px;font-weight:400;line-height:1;
  transition:transform .12s ease;
}
.plan-cta:active{transform:scale(.95);}
.plan-cta.ghost{background:var(--canvas);color:var(--primary);border:1px solid var(--primary);}
.plan-cta.solid{background:var(--primary);color:#ffffff;border:1px solid transparent;}

/* ===========================================================
   8. FAQ  ·  bg #fff / pad 88/120 / gap14
   =========================================================== */
.faq-sec{
  background:var(--canvas);
  padding:88px var(--w-gutter);
  display:flex;flex-direction:column;align-items:center;gap:14px;
}
.faq-list{width:900px;padding-top:36px;display:flex;flex-direction:column;}
.faq-item{padding:24px 0;display:flex;flex-direction:column;gap:8px;}
.faq-div{height:1px;background:var(--divider);}
.faq-q{font-size:17px;font-weight:600;line-height:25px;color:var(--ink);}
.faq-a{font-size:17px;font-weight:400;line-height:26px;color:var(--body);}

/* ===========================================================
   9. FINAL CTA  ·  bg #000 / pad 96/120 / gap20
   =========================================================== */
.final{
  background:var(--black);
  padding:96px var(--w-gutter);
  display:flex;flex-direction:column;align-items:center;gap:20px;
}
.final h2{
  width:900px;text-align:center;
  font-size:40px;font-weight:600;line-height:52px;letter-spacing:-0.2px;color:var(--on-dark);
}
.final p:not(.note){
  width:900px;text-align:center;
  font-size:17px;font-weight:400;line-height:26px;color:var(--on-dark-muted);
}
.final .note{
  width:var(--w-content);text-align:center;
  font-size:12px;font-weight:400;line-height:18px;color:var(--muted);
}

/* ===========================================================
   10. FOOTER  ·  bg #f5f5f7 / pad 64/120/40 / gap28
   =========================================================== */
.footer{
  background:var(--parchment);
  padding:64px var(--w-gutter) 40px;
  display:flex;flex-direction:column;gap:28px;
}
.ft-top{display:flex;align-items:center;justify-content:space-between;}
.wordmark{font-size:34px;font-weight:600;line-height:42px;letter-spacing:-0.37px;color:var(--ink);}
.contact-pill{
  background:var(--canvas);
  border-radius:var(--r-pill);
  padding:11px 22px;
  font-size:17px;font-weight:400;line-height:1;color:var(--ink);
}
.statement{width:900px;font-size:28px;font-weight:400;line-height:40px;letter-spacing:0.2px;color:var(--ink);}
.ft-div{width:100%;height:1px;background:var(--hairline);}
.ft-cols{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:48px;}
.col{display:flex;flex-direction:column;gap:2px;}
.col h5{font-size:14px;font-weight:600;line-height:22px;color:var(--ink);margin-bottom:0;}
.col a{font-size:17px;font-weight:400;line-height:38px;color:var(--body);}
.col a:hover{color:var(--ink);}

.legal{display:flex;align-items:center;justify-content:space-between;padding-top:24px;}
.legal span{font-size:12px;font-weight:400;line-height:18px;color:var(--muted);}
.ct-line{font-size:17px;font-weight:400;line-height:26px;color:var(--body);padding-bottom:6px;}
.ct-dim{font-size:14px;font-weight:400;line-height:22px;color:var(--muted);padding-top:4px;}
.lic{display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.lic span{font-size:12px;font-weight:400;line-height:18px;color:var(--muted);}

/* ===========================================================
   PROOF · 行业分布 + 评价人头像
   =========================================================== */
.dist-wrap{width:var(--w-content);display:flex;flex-direction:column;gap:20px;}
.dist-head{display:flex;align-items:baseline;justify-content:space-between;}
.dist-title{font-size:21px;font-weight:600;line-height:30px;letter-spacing:0.23px;color:var(--on-dark);}
.dist-note{font-size:14px;font-weight:400;line-height:20px;color:var(--on-dark-muted);}
.dist{display:flex;flex-direction:column;gap:14px;}
.dist-row{display:flex;align-items:center;gap:20px;}
.dl{width:110px;flex:none;font-size:14px;font-weight:400;line-height:20px;color:var(--on-dark);}
.dbar{flex:1;height:6px;border-radius:var(--r-pill);background:var(--tile-3);overflow:hidden;}
.dbar i{display:block;height:100%;border-radius:var(--r-pill);background:var(--primary);}
.dv{width:44px;flex:none;text-align:right;font-size:14px;font-weight:600;line-height:20px;color:var(--on-dark);}

.who{display:flex;align-items:center;gap:14px;padding-top:4px;}
.avatar{
  width:56px;height:56px;flex:none;
  border-radius:50%;object-fit:cover;object-position:50% 30%;
  display:block;
}
.who-txt{display:flex;flex-direction:column;gap:2px;}

/* ===========================================================
   7. ADVISOR TEAM  ·  bg #fff / pad 88/120/96
   =========================================================== */
.team-sec{
  background:var(--canvas);
  padding:88px var(--w-gutter) 96px;
  display:flex;flex-direction:column;align-items:center;gap:14px;
}
/* 588 + 588 + 24 = 1200 */
.team{
  width:var(--w-content);padding-top:36px;
  display:grid;grid-template-columns:repeat(2,588px);gap:24px;justify-content:center;
}
.member{
  background:var(--pearl);
  border:1px solid var(--hairline);
  border-radius:var(--r-card);
  padding:32px;
  display:flex;gap:24px;align-items:flex-start;
}
.avatar-lg{
  width:120px;height:120px;flex:none;
  border-radius:50%;object-fit:cover;object-position:50% 28%;
  display:block;
}
.m-body{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0;}
.m-body h4{font-size:21px;font-weight:600;line-height:30px;letter-spacing:0.23px;color:var(--ink);}
.mrole{font-size:14px;font-weight:600;line-height:20px;color:var(--primary);}
.mbio{font-size:17px;font-weight:400;line-height:26px;color:var(--body);}
.mtags{display:flex;gap:8px;flex-wrap:wrap;padding-top:4px;}
.mtag{
  background:var(--canvas);
  border:1px solid var(--hairline);
  border-radius:var(--r-pill);
  padding:5px 12px;
  font-size:12px;font-weight:400;line-height:18px;color:var(--body);
  white-space:nowrap;
}
.marea{font-size:14px;font-weight:400;line-height:20px;color:var(--muted);padding-top:2px;}

.office{
  width:var(--w-content);margin-top:24px;height:400px;
  border-radius:var(--r-card);overflow:hidden;position:relative;
}
.office img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;}
.office-cap{
  position:absolute;left:0;right:0;bottom:0;
  padding:28px 36px;
  display:flex;flex-direction:column;gap:4px;
  background:linear-gradient(to top,rgba(0,0,0,.60),rgba(0,0,0,0));
}
.oc-t{font-size:21px;font-weight:600;line-height:30px;letter-spacing:0.2px;color:#ffffff;}
.oc-s{font-size:14px;font-weight:400;line-height:20px;color:rgba(255,255,255,.82);}
