/* ==========================================================================
   伯乐 AI 招聘助手 — Direction A「纸墨精工 / Editorial Machine」
   Paper #F2EFE8 · Ink #0B0B0C · Signal #FF4A1C（每屏 ≤ 2 处）
   禁止：多色渐变文字 · 彩色图标 · 发光边框 · 玻璃拟态
   ========================================================================== */

/* ---------- 01 Tokens ---------- */
:root{
  --paper:#F2EFE8;
  --paper-2:#EAE6DB;
  --paper-3:#E0DACB;
  --ink:#0B0B0C;
  --ink-2:#55555C;
  --ink-3:#87878E;
  --ink-4:#A8A69F;
  --line:#D6D0C2;
  --line-2:#BDB6A4;
  --signal:#FF4A1C;
  --stage:#0B0B0C;
  --stage-2:#141417;

  --d:"Inter Tight","Inter","Helvetica Neue",Arial,"PingFang SC","HarmonyOS Sans SC","Source Han Sans SC","Noto Sans SC","Microsoft YaHei",sans-serif;
  --m:ui-monospace,"SF Mono","JetBrains Mono","Roboto Mono",Menlo,Consolas,monospace;

  --max:1180px;
  --bleed:1440px;
  --nav:66px;

  --in:cubic-bezier(.16,1,.3,1);
  --sw:cubic-bezier(.4,0,.2,1);
}

/* ---------- 02 Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{
  margin:0;background:var(--paper);color:var(--ink);font-family:var(--d);
  font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;font-variant-numeric:tabular-nums;
}
body::after{
  content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4,h5,p,figure{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
table{border-collapse:collapse;width:100%}
::selection{background:var(--signal);color:#fff}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:var(--paper-2)}
::-webkit-scrollbar-thumb{background:var(--line-2);border:3px solid var(--paper-2)}
::-webkit-scrollbar-thumb:hover{background:var(--ink-3)}

/* ---------- 03 Layout ---------- */
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 32px}
.wrap--bleed{max-width:var(--bleed)}
.sec{padding:110px 0;position:relative}
.sec--sm{padding:76px 0}
.sec--top{border-top:1px solid var(--line)}
.rule{height:1px;background:var(--line);border:0;margin:0}
.rule--ink{background:var(--ink);height:2px}

.stage{background:var(--stage);color:#EDEBE6}
.stage .lab{color:rgba(237,235,230,.46)}
.stage .sm{color:rgba(237,235,230,.66)}
.stage .xs{color:rgba(237,235,230,.44)}
.stage .rule{background:rgba(237,235,230,.16)}

/* ---------- 04 Type ---------- */
.lab{font-family:var(--m);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);display:inline-block}
.lab b{color:var(--signal);font-weight:600}
.num{font-family:var(--m);font-size:12px;letter-spacing:.1em;color:var(--signal)}
.mono{font-family:var(--m);letter-spacing:-.01em}

.d1{font-size:clamp(42px,8.8vw,120px);line-height:1.08;letter-spacing:-.022em;font-weight:800}
.d2{font-size:clamp(32px,5.2vw,68px);line-height:1.12;letter-spacing:-.02em;font-weight:780}
.d3{font-size:clamp(24px,3vw,40px);line-height:1.22;letter-spacing:-.018em;font-weight:720}
/* 拉丁文/数字为主的标题可用更紧的字距 */
.d1.lat,.d2.lat{letter-spacing:-.045em}
.d4{font-size:clamp(19px,1.9vw,24px);line-height:1.36;letter-spacing:-.018em;font-weight:660}
.d5{font-size:17px;line-height:1.45;letter-spacing:-.012em;font-weight:660}
.lead{font-size:clamp(16px,1.4vw,19px);line-height:1.74;color:var(--ink-2);max-width:60ch}
.sm{font-size:14.5px;line-height:1.72;color:var(--ink-2)}
.xs{font-size:12.5px;line-height:1.62;color:var(--ink-3)}
.sig{color:var(--signal)}
strong{font-weight:660;color:inherit}
.hl{background:linear-gradient(transparent 60%,rgba(255,74,28,.26) 60%)}

.head{display:grid;grid-template-columns:100px 1fr;gap:28px;margin-bottom:56px}
.head__b{max-width:780px}
.head h2{margin:10px 0 18px}
.head--c{grid-template-columns:1fr;text-align:center;justify-items:center;margin-bottom:60px}
.head--c .head__b{max-width:720px}

/* ---------- 05 Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:50px;padding:0 26px;border-radius:2px;font-size:15px;font-weight:640;letter-spacing:-.005em;
  border:1px solid transparent;transition:background .28s var(--sw),color .28s var(--sw),border-color .28s var(--sw),transform .28s var(--in);
  white-space:nowrap;
}
.btn svg{width:15px;height:15px;transition:transform .3s var(--in)}
.btn:hover svg{transform:translateX(4px)}
.btn:active{transform:translateY(1px)}
.btn--sig{background:var(--signal);color:#fff}
.btn--sig:hover{background:var(--ink)}
.btn--ink{background:var(--ink);color:var(--paper)}
.btn--ink:hover{background:var(--signal)}
.btn--out{border-color:var(--ink);color:var(--ink)}
.btn--out:hover{background:var(--ink);color:var(--paper)}
.stage .btn--out{border-color:rgba(237,235,230,.4);color:#EDEBE6}
.stage .btn--out:hover{background:#EDEBE6;color:var(--ink)}
.btn--sm{height:40px;padding:0 18px;font-size:14px}
.btn--lg{height:58px;padding:0 32px;font-size:16px}

.tlink{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:620;border-bottom:1px solid var(--line-2);padding-bottom:3px;transition:.25s var(--sw)}
.tlink:hover{color:var(--signal);border-color:var(--signal)}

/* ---------- 06 Nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav);display:flex;align-items:center;
  background:rgba(242,239,232,0);border-bottom:1px solid transparent;transition:background .35s,border-color .35s}
.nav.stuck{background:rgba(242,239,232,.88);backdrop-filter:blur(14px) saturate(150%);border-bottom-color:var(--line)}
.nav__in{width:100%;max-width:var(--bleed);margin:0 auto;padding:0 32px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.brand__m{width:26px;height:26px}
.brand__t{display:flex;flex-direction:column;line-height:1.04}
.brand__cn{font-size:16px;font-weight:750;letter-spacing:.02em}
.brand__en{font-family:var(--m);font-size:8.5px;letter-spacing:.2em;color:var(--ink-3);text-transform:uppercase}
.nav__menu{display:flex;align-items:center;gap:2px;margin-left:10px}
.nav__l{position:relative;padding:8px 13px;font-size:14.5px;font-weight:520;color:var(--ink-2);transition:color .22s}
.nav__l:hover{color:var(--ink)}
.nav__l.on{color:var(--ink);font-weight:620}
.nav__l.on::after{content:"";position:absolute;left:13px;right:13px;bottom:1px;height:2px;background:var(--signal)}
.nav__r{margin-left:auto;display:flex;align-items:center;gap:12px}
.burger{display:none;width:40px;height:40px;border:1px solid var(--line-2);border-radius:2px;align-items:center;justify-content:center}
.burger span{display:block;width:16px;height:1.5px;background:var(--ink);position:relative;transition:.28s var(--sw)}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:16px;height:1.5px;background:var(--ink);transition:.28s var(--sw)}
.burger span::before{top:-5px}.burger span::after{top:5px}
.nav.open .burger span{background:transparent}
.nav.open .burger span::before{top:0;transform:rotate(45deg)}
.nav.open .burger span::after{top:0;transform:rotate(-45deg)}
.mm{position:fixed;inset:var(--nav) 0 auto 0;z-index:199;background:var(--paper);border-bottom:1px solid var(--line);padding:8px 32px 28px;display:none}
.mm.open{display:block}
.mm a{display:block;padding:16px 0;font-size:18px;font-weight:640;border-bottom:1px solid var(--line)}
.mm .btn{width:100%;margin-top:20px}

/* ---------- 07 S1 Hero / Quota wall ---------- */
.heroScroll{height:230vh;position:relative}
.heroStick{position:sticky;top:0;height:100vh;min-height:640px;display:flex;align-items:center;overflow:hidden}
#wall{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero__in{position:relative;z-index:2;width:100%;max-width:var(--bleed);margin:0 auto;padding:0 32px}
.hero__top{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.hero__top .dot{width:6px;height:6px;background:var(--signal);border-radius:50%}
.hero h1{max-width:15ch}
.hero__sub{margin-top:30px;max-width:660px;font-size:clamp(16px,1.5vw,20px);line-height:1.7;color:var(--ink-2)}
.hero__act{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}
.hero__foot{position:absolute;left:0;right:0;bottom:0;z-index:2;border-top:1px solid var(--line)}
.hero__foot .row{max-width:var(--bleed);margin:0 auto;padding:14px 32px;display:flex;gap:34px;flex-wrap:wrap;align-items:center}
.hero__foot .cell{display:flex;align-items:baseline;gap:9px;font-family:var(--m);font-size:11.5px;letter-spacing:.06em;color:var(--ink-3)}
.hero__foot .cell b{color:var(--ink);font-weight:600;letter-spacing:0}
.hero__foot .cell .z{color:var(--signal);font-weight:600}
.hero__prog{position:absolute;left:0;bottom:0;height:2px;background:var(--signal);width:0;z-index:3}

/* ---------- 08 S2 Big number ---------- */
.bignum{text-align:center}
.bignum__v{font-family:var(--m);font-size:clamp(64px,15vw,220px);line-height:.86;letter-spacing:-.05em;font-weight:600}
.bignum__c{max-width:56ch;margin:34px auto 0;font-size:clamp(16px,1.5vw,20px);line-height:1.7;color:var(--ink-2)}
.dots100{display:grid;grid-template-columns:repeat(25,1fr);gap:6px;max-width:520px;margin:44px auto 0}
.dots100 i{aspect-ratio:1;background:var(--line-2);border-radius:1px}
.dots100 i.on{background:var(--signal)}
.legend{display:flex;gap:22px;justify-content:center;margin-top:18px;font-family:var(--m);font-size:11px;letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase}
.legend span{display:inline-flex;align-items:center;gap:7px}
.legend i{width:8px;height:8px;border-radius:1px;background:var(--line-2)}
.legend i.s{background:var(--signal)}

/* ---------- 09 S3 Pool switcher ---------- */
.pool{display:grid;grid-template-columns:340px 1fr;gap:0;border:1px solid rgba(237,235,230,.18)}
.pool__list{border-right:1px solid rgba(237,235,230,.18)}
.pool__b{
  width:100%;text-align:left;padding:22px 24px;border-bottom:1px solid rgba(237,235,230,.14);
  display:block;position:relative;transition:background .3s var(--sw);
}
.pool__b:last-child{border-bottom:0}
.pool__b:hover{background:rgba(237,235,230,.05)}
.pool__b.on{background:rgba(237,235,230,.08)}
.pool__b.on::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--signal)}
.pool__b .n{font-family:var(--m);font-size:10.5px;letter-spacing:.14em;color:rgba(237,235,230,.4)}
.pool__b h4{font-size:18px;font-weight:700;margin:5px 0 4px;letter-spacing:-.015em}
.pool__b p{font-size:12.5px;color:rgba(237,235,230,.5);margin:0}
.pool__st{font-family:var(--m);font-size:10px;letter-spacing:.1em;padding:3px 8px;border:1px solid rgba(237,235,230,.28);margin-top:10px;display:inline-block}
.pool__st.live{border-color:var(--signal);color:var(--signal)}

.pool__panel{padding:30px 34px;display:none}
.pool__panel.on{display:block;animation:fadeUp .45s var(--in)}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.pool__kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(237,235,230,.16);border:1px solid rgba(237,235,230,.16);margin-bottom:26px}
.pool__kpi div{background:var(--stage);padding:18px 20px}
.pool__kpi small{display:block;font-family:var(--m);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:rgba(237,235,230,.42);margin-bottom:9px}
.pool__kpi b{font-family:var(--m);font-size:clamp(20px,2.4vw,30px);font-weight:600;letter-spacing:-.03em;line-height:1}
.pool__kpi b.zero{color:var(--signal)}
.plist{border-top:1px solid rgba(237,235,230,.14)}
.plist__r{display:grid;grid-template-columns:1fr 90px 92px;gap:16px;padding:14px 0;border-bottom:1px solid rgba(237,235,230,.14);align-items:center}
.plist__r .nm{font-size:14.5px;font-weight:620}
.plist__r .rl{font-size:12px;color:rgba(237,235,230,.48)}
.plist__r .sc{font-family:var(--m);font-size:15px;text-align:right}
.plist__r .qt{font-family:var(--m);font-size:12px;text-align:right;color:rgba(237,235,230,.55)}
.plist__r .qt.free{color:var(--signal)}

/* ---------- 10 S4 Cost slider ---------- */
.calc{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center}
.calc__ctl{padding-top:6px}
.rangeRow{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.rangeRow b{font-family:var(--m);font-size:30px;font-weight:600;letter-spacing:-.03em}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:var(--line-2);outline:none;margin:20px 0 10px}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--signal);cursor:grab;box-shadow:0 0 0 5px rgba(255,74,28,.18)}
input[type=range]::-webkit-slider-thumb:active{cursor:grabbing}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border:0;border-radius:50%;background:var(--signal);cursor:grab}
.ticks{display:flex;justify-content:space-between;font-family:var(--m);font-size:10.5px;color:var(--ink-4);letter-spacing:.08em}

.bars{display:flex;flex-direction:column;gap:26px}
.bar__h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px}
.bar__h span{font-family:var(--m);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.bar__h b{font-family:var(--m);font-size:clamp(22px,2.6vw,32px);font-weight:600;letter-spacing:-.03em}
.bar__t{height:10px;background:var(--paper-3);position:relative;overflow:hidden}
.bar__t i{position:absolute;left:0;top:0;bottom:0;background:var(--ink);width:0;transition:width .5s var(--in)}
.bar__t i.s{background:var(--signal)}
.save{border-top:2px solid var(--ink);margin-top:6px;padding-top:22px;display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.save b{font-family:var(--m);font-size:clamp(30px,4.4vw,54px);font-weight:600;letter-spacing:-.04em;color:var(--signal);line-height:1}

/* ---------- 11 S5 Pinned product ---------- */
.pinWrap{position:relative}
.pinStick{position:sticky;top:calc(var(--nav) + 28px)}
.steps{display:flex;flex-direction:column}
.step{padding:34px 0 34px 26px;border-left:1px solid var(--line);position:relative;transition:opacity .4s var(--sw)}
.step::before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:transparent;transition:background .4s var(--sw)}
.step.on::before{background:var(--signal)}
.step .k{font-family:var(--m);font-size:11px;letter-spacing:.14em;color:var(--ink-4)}
.step.on .k{color:var(--signal)}
.step h4{font-size:clamp(20px,2.2vw,27px);font-weight:720;letter-spacing:-.025em;margin:8px 0 8px}
.step p{font-size:14.5px;line-height:1.72;color:var(--ink-2);margin:0;max-width:44ch}
.step:not(.on){opacity:.4}

/* app mock (stage) */
.app{background:var(--stage);color:#EDEBE6;border:1px solid var(--stage)}
.app__bar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid rgba(237,235,230,.14)}
.app__bar i{width:8px;height:8px;border-radius:50%;background:rgba(237,235,230,.2)}
.app__bar .t{margin-left:8px;font-family:var(--m);font-size:11px;letter-spacing:.05em;color:rgba(237,235,230,.42)}
.app__bar .st{margin-left:auto;font-family:var(--m);font-size:10px;letter-spacing:.1em;color:var(--signal);border:1px solid var(--signal);padding:3px 8px}
.app__body{display:grid;grid-template-columns:180px 1fr;min-height:430px}
.app__side{border-right:1px solid rgba(237,235,230,.14);padding:18px 0}
.app__side h6{font-family:var(--m);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(237,235,230,.34);margin:0 0 10px;padding:0 18px;font-weight:600}
.app__side a{display:block;padding:9px 18px;font-size:13px;color:rgba(237,235,230,.6);border-left:2px solid transparent;transition:.3s var(--sw)}
.app__side a.on{color:#fff;border-left-color:var(--signal);background:rgba(237,235,230,.05)}
.app__main{padding:22px 24px}
.app__kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(237,235,230,.14);border:1px solid rgba(237,235,230,.14);margin-bottom:20px}
.app__kpis div{background:var(--stage);padding:14px}
.app__kpis small{display:block;font-family:var(--m);font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:rgba(237,235,230,.4);margin-bottom:7px}
.app__kpis b{font-family:var(--m);font-size:21px;font-weight:600;letter-spacing:-.03em}
.app__pane{border:1px solid rgba(237,235,230,.14);padding:16px 18px;margin-bottom:16px}
.app__pane .hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.app__pane .hd b{font-size:13px;font-weight:640}
.app__pane .hd span{font-family:var(--m);font-size:10px;letter-spacing:.1em;color:rgba(237,235,230,.4)}
.flowline{display:flex;align-items:center;gap:6px}
.flowline .n{flex:1;text-align:center}
.flowline .n i{display:block;height:3px;background:rgba(237,235,230,.18);margin-bottom:9px;transition:background .45s var(--sw)}
.flowline .n.on i{background:var(--signal)}
.flowline .n.done i{background:rgba(237,235,230,.5)}
.flowline .n p{margin:0;font-size:10.5px;color:rgba(237,235,230,.45)}
.flowline .n.on p{color:#fff}
.app__cap{margin:16px 0 0;padding-top:13px;border-top:1px solid rgba(237,235,230,.12);
  font-family:var(--m);font-size:11.5px;letter-spacing:.03em;color:var(--signal);line-height:1.5}
.app__rows{display:flex;flex-direction:column}
.app__row{display:grid;grid-template-columns:1fr 84px 60px;gap:12px;align-items:center;padding:11px 0;border-top:1px solid rgba(237,235,230,.12)}
.app__row .nm{font-size:13px;font-weight:600}
.app__row .rl{font-size:11px;color:rgba(237,235,230,.42)}
.app__row .bar{height:3px;background:rgba(237,235,230,.16)}
.app__row .bar i{display:block;height:100%;background:#EDEBE6}
.app__row .sc{font-family:var(--m);font-size:13px;text-align:right}

/* ---------- 12 S6 Resume library ---------- */
.libGrid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.curve{border:1px solid var(--line);padding:26px;background:var(--paper-2)}
.curve svg{width:100%;height:auto;display:block}
.libStats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:22px}
.libStats div{background:var(--paper);padding:16px 18px}
.libStats small{display:block;font-family:var(--m);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:7px}
.libStats b{font-family:var(--m);font-size:22px;font-weight:600;letter-spacing:-.03em}
.pulse{display:inline-flex;align-items:center;gap:8px;font-family:var(--m);font-size:11px;letter-spacing:.1em;color:var(--ink-3);margin-top:16px}
.pulse i{width:6px;height:6px;border-radius:50%;background:var(--signal);animation:bl 2s infinite}
@keyframes bl{0%,100%{opacity:1}50%{opacity:.25}}

.checks li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.6;color:var(--ink-2)}
.checks li:last-child{border-bottom:0}
.checks li .i{font-family:var(--m);font-size:11px;color:var(--signal);padding-top:5px;flex-shrink:0}

/* ---------- 13 S7 Compare ---------- */
.cmp th,.cmp td{text-align:left;padding:19px 20px;border-bottom:1px solid var(--line);font-size:14.5px;vertical-align:top}
.cmp thead th{font-family:var(--m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);border-bottom:2px solid var(--ink);padding-bottom:14px}
.cmp thead th.us{color:var(--signal)}
.cmp td:first-child,.cmp th:first-child{padding-left:0;font-weight:620;white-space:nowrap}
.cmp td.dim{color:var(--ink-3)}
.cmp td.us{font-weight:600;background:rgba(255,74,28,.05)}
.cmp tbody tr{transition:background .25s var(--sw)}
.cmp tbody tr:hover{background:var(--paper-2)}
.cmp tbody tr:hover td.us{background:rgba(255,74,28,.09)}
.cmp tr.key td{border-bottom-color:var(--ink)}
.cmp tr.key td:first-child{color:var(--signal)}
.xscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.xscroll .cmp{min-width:780px}

/* ---------- 14 Generic blocks ---------- */
.cols{display:grid;gap:0;border-top:1px solid var(--line)}
.cols--3{grid-template-columns:repeat(3,1fr)}
.cols--4{grid-template-columns:repeat(4,1fr)}
.col{padding:30px 26px 30px 0;border-right:1px solid var(--line)}
.col:last-child{border-right:0;padding-right:0}
.cols--3 .col:not(:first-child),.cols--4 .col:not(:first-child){padding-left:26px}
.col h4{font-size:17.5px;font-weight:700;letter-spacing:-.018em;margin:10px 0 8px}

.g{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}

.box{border:1px solid var(--line);padding:26px;background:var(--paper-2);transition:border-color .3s var(--sw),background .3s var(--sw)}
.box:hover{border-color:var(--line-2);background:var(--paper-3)}
.box h4{font-size:17.5px;font-weight:700;letter-spacing:-.018em;margin-bottom:8px}
.box--sig{border-color:var(--signal);background:rgba(255,74,28,.05)}
.box--plain{background:transparent}

.pill{display:inline-block;font-family:var(--m);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border:1px solid var(--line-2);color:var(--ink-2);margin:0 6px 6px 0}
.pill--sig{background:var(--signal);border-color:var(--signal);color:#fff}
.pill--ink{background:var(--ink);border-color:var(--ink);color:var(--paper)}

/* module list (product page) */
.mods{border-top:1px solid var(--ink)}
.mod{display:grid;grid-template-columns:88px 1fr 1fr;gap:36px;padding:44px 0;border-bottom:1px solid var(--line);align-items:start}
.mod__n{font-family:var(--m);font-size:12px;letter-spacing:.1em;color:var(--signal);padding-top:8px}
.mod h3{font-size:clamp(24px,2.8vw,34px);font-weight:740;letter-spacing:-.03em;margin-bottom:6px}
.mod .en{font-family:var(--m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:16px}
.mod ul li{padding:9px 0;border-bottom:1px dashed var(--line);font-size:14.5px;color:var(--ink-2);display:flex;gap:12px}
.mod ul li:last-child{border-bottom:0}
.mod ul li::before{content:"—";color:var(--ink-4);flex-shrink:0}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line)}
.plan{padding:36px 30px;border-right:1px solid var(--line);display:flex;flex-direction:column}
.plan:last-child{border-right:0}
.plan--hot{background:var(--stage);color:#EDEBE6;border-color:var(--stage);position:relative}
.plan--hot .sm{color:rgba(237,235,230,.66)}
.plan--hot .xs{color:rgba(237,235,230,.44)}
.plan__tag{position:absolute;top:0;right:0;background:var(--signal);color:#fff;font-family:var(--m);font-size:10px;letter-spacing:.12em;padding:5px 10px}
.plan h3{font-size:20px;font-weight:740;letter-spacing:-.02em}
.plan .amt{font-family:var(--m);font-size:40px;font-weight:600;letter-spacing:-.04em;line-height:1;margin:24px 0 6px}
.plan .amt sup{font-size:15px;font-weight:500;vertical-align:super;letter-spacing:0}
.plan ul{margin:26px 0;flex:1}
.plan li{padding:10px 0;border-bottom:1px dashed var(--line);font-size:14px;color:var(--ink-2);display:flex;gap:11px}
.plan--hot li{border-bottom-color:rgba(237,235,230,.16);color:rgba(237,235,230,.72)}
.plan li .m{font-family:var(--m);font-size:11px;color:var(--signal);flex-shrink:0;padding-top:3px}
.plan li.off{color:var(--ink-4)}
.plan li.off .m{color:var(--ink-4)}

/* faq */
.faq{border-top:1px solid var(--ink)}
.faq__i{border-bottom:1px solid var(--line)}
.faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;text-align:left;font-size:17px;font-weight:660;letter-spacing:-.015em;transition:color .25s}
.faq__q:hover{color:var(--signal)}
.faq__q i{width:20px;height:20px;position:relative;flex-shrink:0}
.faq__q i::before,.faq__q i::after{content:"";position:absolute;background:currentColor;transition:.35s var(--in)}
.faq__q i::before{left:0;top:9.5px;width:20px;height:1.5px}
.faq__q i::after{left:9.5px;top:0;width:1.5px;height:20px}
.faq__i.open .faq__q i::after{transform:rotate(90deg);opacity:0}
.faq__a{max-height:0;overflow:hidden;transition:max-height .45s var(--in)}
.faq__a p{padding:0 0 28px;font-size:15px;line-height:1.8;color:var(--ink-2);max-width:76ch}

/* timeline */
.tl{border-top:1px solid var(--ink)}
.tl__r{display:grid;grid-template-columns:120px 1fr 170px;gap:28px;padding:26px 0;border-bottom:1px solid var(--line);align-items:baseline}
.tl__r .w{font-family:var(--m);font-size:12px;color:var(--signal);letter-spacing:.08em}
.tl__r .o{font-size:13px;color:var(--ink-3);text-align:right}

/* CTA */
.cta{padding:104px 0}
.cta__in{text-align:center;position:relative;z-index:2}
#ctaWall{position:absolute;inset:0;width:100%;height:100%;z-index:0}

/* footer */
.foot{border-top:1px solid var(--line);padding:66px 0 34px}
.foot__t{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:40px;margin-bottom:52px}
.foot__b p{margin:16px 0 0;font-size:14px;color:var(--ink-2);max-width:30ch;line-height:1.7}
.foot__c h5{font-family:var(--m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 14px;font-weight:600}
.foot__c a{display:block;padding:6px 0;font-size:14px;color:var(--ink-2);transition:color .22s}
.foot__c a:hover{color:var(--signal)}
.foot__end{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--line)}
.wordmark{font-size:clamp(40px,11vw,150px);font-weight:800;letter-spacing:-.05em;line-height:.9;color:var(--paper-3);margin:40px 0 0;user-select:none}

/* page hero */
.phero{padding:calc(var(--nav) + 92px) 0 66px;border-bottom:1px solid var(--line)}
.phero .lead{margin-top:24px}

/* reveal */
[data-rv]{opacity:0;transform:translateY(16px);transition:opacity .7s var(--in),transform .7s var(--in)}
[data-rv].in{opacity:1;transform:none}

/* ---------- 15 Responsive ---------- */
@media(max-width:1080px){
  .calc,.libGrid{grid-template-columns:1fr;gap:38px}
  .foot__t{grid-template-columns:1fr 1fr 1fr;gap:32px}
  .foot__b{grid-column:1/-1}
  .mod{grid-template-columns:60px 1fr;gap:24px}
  .mod ul{grid-column:2}
}
@media(max-width:960px){
  .nav__menu{display:none}
  .burger{display:flex}
  .nav__r .btn--out{display:none}
  .pool{grid-template-columns:1fr}
  .pool__list{border-right:0;border-bottom:1px solid rgba(237,235,230,.18);display:grid;grid-template-columns:repeat(2,1fr)}
  .pool__b{border-right:1px solid rgba(237,235,230,.14)}
  .app__body{grid-template-columns:1fr}
  .app__side{display:none}
  .plans{grid-template-columns:1fr}
  .plan{border-right:0;border-bottom:1px solid var(--line)}
  .cols--4{grid-template-columns:repeat(2,1fr)}
  .col{border-bottom:1px solid var(--line)}
  .sec{padding:84px 0}
  .head{grid-template-columns:1fr;gap:10px;margin-bottom:40px}
}
@media(max-width:680px){
  .wrap{padding:0 20px}
  .nav__in{padding:0 20px}
  .mm{padding:8px 20px 24px}
  .g2,.g3,.g4,.cols--3,.cols--4{grid-template-columns:1fr}
  .col{padding:24px 0;border-right:0}
  .cols--3 .col:not(:first-child),.cols--4 .col:not(:first-child){padding-left:0}
  .pool__list{grid-template-columns:1fr}
  .pool__kpi{grid-template-columns:1fr}
  .app__kpis{grid-template-columns:repeat(2,1fr)}
  .libStats{grid-template-columns:1fr}
  .tl__r{grid-template-columns:1fr;gap:6px}
  .tl__r .o{text-align:left}
  .dots100{grid-template-columns:repeat(20,1fr);gap:4px}
  .heroScroll{height:200vh}
  .heroStick{min-height:560px}
  .hero__foot .row{gap:14px;padding:12px 20px}
  .hero__foot .cell{font-size:10.5px}
  .plist__r{grid-template-columns:1fr 58px 52px;gap:8px}
  .plist__r .sc{font-size:13px}
  .plist__r .qt{font-size:11px}
  .app__row{grid-template-columns:1fr 52px}
  .app__row .bar{display:none}
  .mod{grid-template-columns:1fr}
  .mod ul{grid-column:1}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  [data-rv]{opacity:1;transform:none}
  .heroScroll{height:auto}
  .heroStick{position:relative;height:auto;min-height:0;padding:calc(var(--nav) + 80px) 0 90px}
  .step:not(.on){opacity:1}
}

/* ==========================================================================
   16 · v2.1 新增组件
   ========================================================================== */

/* ---- 状态标签系统（全站统一） ---- */
.st{display:inline-flex;align-items:center;gap:6px;font-family:var(--m);font-size:10px;letter-spacing:.11em;
  text-transform:uppercase;padding:3px 9px;border:1px solid var(--line-2);color:var(--ink-3);white-space:nowrap}
.st::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ink-4)}
.st--done{border-color:var(--signal);color:var(--signal)}
.st--done::before{background:var(--signal)}
.st--wip{border-color:var(--ink);color:var(--ink)}
.st--wip::before{background:var(--ink);border-radius:0}
.st--plan{border-style:dashed}
.stage .st{border-color:rgba(237,235,230,.3);color:rgba(237,235,230,.55)}
.stage .st::before{background:rgba(237,235,230,.4)}
.stage .st--done{border-color:var(--signal);color:var(--signal)}
.stage .st--done::before{background:var(--signal)}
.stage .st--wip{border-color:rgba(237,235,230,.8);color:#EDEBE6}
.stage .st--wip::before{background:#EDEBE6;border-radius:0}

/* ---- 自动化矩阵 ---- */
.mx{width:100%;border-collapse:collapse}
.mx th,.mx td{padding:16px 14px;text-align:center;font-size:13.5px;border-bottom:1px solid rgba(237,235,230,.14)}
.mx thead th{font-family:var(--m);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(237,235,230,.45);border-bottom:1px solid rgba(237,235,230,.3);padding-bottom:12px}
.mx th:first-child,.mx td:first-child{text-align:left;padding-left:0;white-space:nowrap}
.mx td:first-child{font-weight:620}
.mx td:first-child small{display:block;font-family:var(--m);font-size:10px;letter-spacing:.1em;
  color:rgba(237,235,230,.4);font-weight:400;margin-top:3px}
.mx tbody tr{transition:background .25s var(--sw)}
.mx tbody tr:hover{background:rgba(237,235,230,.04)}
.dotm{display:inline-block;width:13px;height:13px;border-radius:50%;border:1.5px solid rgba(237,235,230,.32)}
.dotm--full{background:var(--signal);border-color:var(--signal)}
.dotm--half{background:linear-gradient(90deg,#EDEBE6 50%,transparent 50%);border-color:rgba(237,235,230,.7)}
.dotm--none{border-style:dashed}
.mxleg{display:flex;gap:22px;flex-wrap:wrap;margin-top:22px;font-family:var(--m);font-size:11px;
  letter-spacing:.08em;color:rgba(237,235,230,.5)}
.mxleg span{display:inline-flex;align-items:center;gap:8px}
.xscroll .mx{min-width:720px}

/* ---- 运行端 ---- */
.ends{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(237,235,230,.16);
  border:1px solid rgba(237,235,230,.16);margin-top:26px}
.end{background:var(--stage);padding:22px}
.end__i{width:30px;height:30px;margin-bottom:16px}
.end__i svg{width:100%;height:100%;stroke:#EDEBE6;fill:none;stroke-width:1.3}
.end h4{font-size:16px;font-weight:680;margin-bottom:4px}
.end p{font-size:12.5px;color:rgba(237,235,230,.55);margin:0 0 14px;line-height:1.6}

/* ---- 下载卡（浅色页） ---- */
.dl{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line)}
.dlc{padding:34px 30px;border-right:1px solid var(--line);display:flex;flex-direction:column}
.dlc:last-child{border-right:0}
.dlc__i{width:34px;height:34px;margin-bottom:20px}
.dlc__i svg{width:100%;height:100%;stroke:var(--ink);fill:none;stroke-width:1.3}
.dlc h3{font-size:20px;font-weight:740;letter-spacing:-.02em;margin-bottom:6px}
.dlc .ver{font-family:var(--m);font-size:11px;letter-spacing:.1em;color:var(--ink-3);margin-bottom:16px}
.dlc p{font-size:14px;line-height:1.7;color:var(--ink-2);margin:0 0 20px;flex:1}
.dlc ul{margin-bottom:24px}
.dlc li{display:flex;gap:10px;padding:7px 0;font-size:13.5px;color:var(--ink-2);border-bottom:1px dashed var(--line)}
.dlc li:last-child{border-bottom:0}
.dlc li .m{font-family:var(--m);font-size:10.5px;color:var(--signal);padding-top:3px}

/* ---- 表单 ---- */
.form{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.field{display:flex;flex-direction:column;gap:8px}
.field--full{grid-column:1/-1}
.field label{font-family:var(--m);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.field input,.field select,.field textarea{
  font:inherit;font-size:15px;color:var(--ink);background:transparent;
  border:0;border-bottom:1px solid var(--line-2);padding:10px 0;border-radius:0;
  transition:border-color .25s var(--sw);width:100%;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--signal)}
.field textarea{resize:vertical;min-height:88px}
.field select{-webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2387878E' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 2px center}
.formNote{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
  padding-top:10px;border-top:1px solid var(--line)}

/* ---- 路线图 ---- */
.rmap{border-top:1px solid var(--ink)}
.rm{display:grid;grid-template-columns:150px 1fr 210px;gap:32px;padding:32px 0;border-bottom:1px solid var(--line);align-items:start}
.rm__q{font-family:var(--m);font-size:13px;letter-spacing:.06em;color:var(--ink);padding-top:4px}
.rm h4{font-size:21px;font-weight:720;letter-spacing:-.025em;margin:8px 0 8px}
.rm p{font-size:14.5px;line-height:1.72;color:var(--ink-2);margin:0;max-width:52ch}
.rm__s{display:flex;flex-direction:column;align-items:flex-end;gap:10px;padding-top:4px}
.rm--now{background:rgba(255,74,28,.045)}
.rm--now .rm__q{color:var(--signal)}

/* ---- 技术壁垒 ---- */
.hard{border-top:1px solid var(--ink)}
.hard__r{display:grid;grid-template-columns:72px 1fr 1fr;gap:34px;padding:34px 0;border-bottom:1px solid var(--line);align-items:start}
.hard__n{font-family:var(--m);font-size:12px;color:var(--signal);padding-top:6px;letter-spacing:.1em}
.hard h4{font-size:19px;font-weight:700;letter-spacing:-.02em;margin-bottom:8px}
.hard .q{font-size:14.5px;line-height:1.72;color:var(--ink-2);margin:0}
.hard .a{border-left:2px solid var(--signal);padding:2px 0 2px 18px;font-size:14.5px;line-height:1.72}
.hard .a b{display:block;font-family:var(--m);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--signal);margin-bottom:6px;font-weight:600}

/* ---- 概念声明条 ---- */
.notice{display:flex;gap:14px;align-items:flex-start;border:1px dashed var(--line-2);padding:16px 18px;background:var(--paper-2)}
.notice .m{font-family:var(--m);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--signal);flex-shrink:0;padding-top:4px}
.notice p{margin:0;font-size:13.5px;line-height:1.7;color:var(--ink-2)}

/* ---- 响应式补充 ---- */
@media(max-width:960px){
  .ends,.dl{grid-template-columns:1fr}
  .dlc{border-right:0;border-bottom:1px solid var(--line)}
  .dlc:last-child{border-bottom:0}
  .hard__r{grid-template-columns:48px 1fr;gap:20px}
  .hard .a{grid-column:2}
  .rm{grid-template-columns:110px 1fr;gap:20px}
  .rm__s{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start}
}
@media(max-width:680px){
  .form{grid-template-columns:1fr}
  .hard__r,.rm{grid-template-columns:1fr;gap:12px}
  .hard .a,.rm__s{grid-column:1}
  .mxleg{gap:12px;font-size:10px}
}

/* 修正：flex 容器内的状态标签不应被拉伸 */
.dlc > .st,.end > .st,.plan > .st{align-self:flex-start}

/* 横向滚动提示（仅移动端） */
@media(max-width:760px){
  .xscroll{position:relative}
  .xscroll::after{
    content:"← 左右滑动查看完整表格";
    display:block;margin-top:10px;position:sticky;left:0;
    font-family:var(--m);font-size:10.5px;letter-spacing:.1em;color:var(--ink-4);
  }
  .stage .xscroll::after{color:rgba(237,235,230,.42)}
}

/* ==========================================================================
   17 · v2.2 新增：自进化闭环 / 三层能力 / 运行架构
   ========================================================================== */

/* ---- 自进化闭环 ---- */
.loop{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.loopstep{background:var(--paper);padding:28px 24px;position:relative}
.loopstep .n{font-family:var(--m);font-size:11px;letter-spacing:.14em;color:var(--signal)}
.loopstep h4{font-size:18px;font-weight:720;letter-spacing:-.02em;margin:10px 0 8px}
.loopstep p{font-size:13.5px;line-height:1.7;color:var(--ink-2);margin:0}
.loopstep::after{content:"→";position:absolute;right:-9px;top:32px;font-family:var(--m);font-size:14px;
  color:var(--ink-4);background:var(--paper);width:18px;text-align:center;z-index:2}
.loopstep:last-child::after{content:none}
.loopback{border:1px solid var(--line);border-top:0;background:var(--paper-2);padding:16px 24px;
  display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.loopback .m{font-family:var(--m);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--signal)}
.loopback p{margin:0;font-size:13.5px;color:var(--ink-2);line-height:1.6}

/* ---- 三层能力 ---- */
.layers{border-top:1px solid var(--ink)}
.layer{display:grid;grid-template-columns:78px 1fr 1.25fr;gap:34px;padding:38px 0;border-bottom:1px solid var(--line);align-items:start}
.layer__n{font-family:var(--m);font-size:12px;letter-spacing:.1em;color:var(--signal);padding-top:8px}
.layer h3{font-size:clamp(22px,2.5vw,30px);font-weight:740;letter-spacing:-.028em;margin-bottom:5px}
.layer .en{font-family:var(--m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.layer p{font-size:15px;line-height:1.75;color:var(--ink-2);margin:0}
.layer p + p{margin-top:12px}

/* ---- 运行架构 ---- */
.arch{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(237,235,230,.16);border:1px solid rgba(237,235,230,.16)}
.arch__c{background:var(--stage);padding:28px 26px}
.arch__c--cloud{grid-column:1/-1;background:#101014}
.arch__c .k{font-family:var(--m);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:rgba(237,235,230,.42)}
.arch__c h4{font-size:19px;font-weight:720;letter-spacing:-.02em;margin:10px 0 8px}
.arch__c p{font-size:13.5px;line-height:1.7;color:rgba(237,235,230,.6);margin:0 0 16px}
.arch__c .os{font-family:var(--m);font-size:11px;letter-spacing:.06em;color:rgba(237,235,230,.42);margin-bottom:14px}
.archNote{margin-top:1px;background:var(--stage);border:1px solid rgba(237,235,230,.16);border-top:0;
  padding:16px 26px;display:flex;gap:14px;align-items:flex-start}
.archNote .m{font-family:var(--m);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--signal);flex-shrink:0;padding-top:3px}
.archNote p{margin:0;font-size:13.5px;line-height:1.7;color:rgba(237,235,230,.62)}

@media(max-width:900px){
  .loop{grid-template-columns:repeat(2,1fr)}
  .loopstep::after{display:none}
  .layer{grid-template-columns:52px 1fr;gap:20px}
  .layer p{grid-column:2}
  .arch{grid-template-columns:1fr}
}
@media(max-width:620px){
  .loop{grid-template-columns:1fr}
  .layer{grid-template-columns:1fr;gap:10px}
  .layer p{grid-column:1}
}

/* 修正：三层能力的多段正文应全部落在第三列 */
.layer > p{grid-column:3}
@media(max-width:900px){.layer > p{grid-column:2}}
@media(max-width:620px){.layer > p{grid-column:1}}

/* ==========================================================================
   18 · v2.3 排版收口
   ========================================================================== */

/* 内页主标题略小于首页，给长句留出一行放得下的余量 */
.phero .d1{font-size:clamp(38px,7.4vw,102px)}

/* 避免段落最后一行出现孤字（Chrome 117+ / Safari 17.5+，不支持时自动忽略） */
.lead,.sm,.layer > p,.hard .q,.hard .a,.step p,.loopstep p,.rm p,.mod .sm,
.notice p,.archNote p,.checks li,.faq__a p,.bignum__c{text-wrap:pretty}

/* 页脚地址 */
.foot__addr{margin-top:14px;font-family:var(--m);font-size:11.5px;line-height:1.85;
  letter-spacing:.02em;color:var(--ink-3)}
.foot__addr b{display:block;font-family:var(--d);font-size:13.5px;font-weight:620;
  letter-spacing:0;color:var(--ink-2);margin-bottom:4px}

/* 伯乐品牌适配：保留参考站的纸墨比例，同时给更长的中文主张留足首屏空间。 */
.brand__en{white-space:nowrap}
.hero h1{max-width:18ch;font-size:clamp(54px,7vw,100px);line-height:1.04}
@media(max-width:680px){
  .hero h1{font-size:clamp(44px,13vw,58px);max-width:9ch}
  .hero__sub{font-size:15px;line-height:1.75;margin-top:24px}
  .hero__act{margin-top:28px}
  .nav__in{padding:0 12px;gap:10px}
  .brand{gap:7px;min-width:0}
  .brand__m{width:24px;height:24px}
  .brand__cn{font-size:14px}
  .brand__en{font-size:6.5px;letter-spacing:.11em}
  .nav__r{gap:8px}
  .nav__r .btn--sm{height:40px;padding:0 14px;font-size:13px}
  .burger{flex:0 0 40px}
}
