/* ============================================================
   zaojiayuan.css — 造价员 账本/算量单 概念
   ============================================================ */

/* Hero 账本封面 */
.zj-hero { position:relative; padding:96px 0 88px; overflow:hidden; }
.zj-hero-num { position:absolute; left:-30px; bottom:-40px; font-size:260px; color:rgba(51,80,110,.08); line-height:1; pointer-events:none; }
.zj-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.zj-hero-text h1 { font-family:var(--font-serif); font-size:clamp(34px,4.6vw,56px); line-height:1.15; margin:22px 0 18px; color:var(--brown-900); }
.zj-hero-text h1 i { font-style:normal; color:var(--rust); }
.zj-hero-text p { font-size:17px; line-height:1.85; color:var(--ink-soft); margin-bottom:30px; }
.zj-hero-cta { display:flex; flex-wrap:wrap; gap:12px; }
.zj-hero-pic img { display:block; width:100%; height:auto; }

/* 账本分页四列 */
.zj-ledger { padding:88px 0; }
.zj-ledger-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:40px; }
.zj-ledger-page {
  background:var(--paper-200); border:1px solid var(--line);
  border-radius:var(--r-sm); padding:26px 20px;
  box-shadow:var(--shadow-sm); position:relative;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.zj-ledger-page::before {
  content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--brown-600);
}
.zj-ledger-page:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.zj-ledger-no { font-family:var(--font-serif); font-size:13px; color:var(--rust); letter-spacing:.1em; }
.zj-ledger-page h3 { font-size:17px; color:var(--brown-900); margin:10px 0 8px; }
.zj-ledger-page p { font-size:13.5px; color:var(--ink-soft); line-height:1.75; }

/* 对账单 */
.zj-balance { padding:80px 0; color:var(--paper-100); }
.zj-balance-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; align-items:start; }
.zj-balance-left h2 { font-family:var(--font-serif); font-size:clamp(26px,3vw,36px); margin:16px 0 14px; color:var(--paper-100); }
.zj-balance-left p { color:var(--paper-300); line-height:1.8; margin-bottom:22px; }
.zj-balance-right { background:rgba(246,241,231,.05); border:1px solid rgba(246,241,231,.18); border-radius:var(--r-sm); padding:12px 22px; }
.zj-balance-row {
  display:grid; grid-template-columns:90px 1fr; gap:16px;
  padding:16px 0; border-bottom:1px dashed rgba(246,241,231,.18);
}
.zj-balance-row:last-child { border-bottom:none; }
.zj-balance-label { color:var(--stitch); font-size:14px; letter-spacing:.1em; }
.zj-balance-value { color:var(--paper-200); font-size:14.5px; line-height:1.7; }

/* 三栏账本科目 */
.zj-kemu { padding:88px 0; }
.zj-kemu-tri { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:42px; }
.zj-kemu-col {
  background:var(--paper-100); border:1px solid var(--line); border-radius:var(--r-sm);
  padding:34px 22px 26px; box-shadow:var(--shadow-sm);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.zj-kemu-col:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.zj-kemu-tag {
  display:inline-block; background:var(--brown-200); color:var(--brown-800);
  font-size:12px; letter-spacing:.15em; padding:4px 10px; border-radius:2px; margin-bottom:14px;
}
.zj-kemu-col h3 { font-size:18px; color:var(--brown-900); margin-bottom:10px; }
.zj-kemu-col p { font-size:14px; color:var(--ink-soft); line-height:1.75; }
.zj-kemu-more { text-align:center; margin-top:32px; }

/* 月度计划 */
.zj-plan { padding:88px 0; }
.zj-plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:36px; }
.zj-plan-cell {
  background:var(--paper-200); border:1px solid var(--line); border-radius:var(--r-sm);
  padding:26px 22px; position:relative;
}
.zj-plan-month { font-family:var(--font-serif); font-size:13px; color:var(--rust); letter-spacing:.15em; }
.zj-plan-cell h3 { font-size:18px; color:var(--brown-900); margin:8px 0 10px; }
.zj-plan-cell p { font-size:14px; color:var(--ink-soft); line-height:1.75; }
.zj-plan-more { text-align:center; margin-top:30px; }

/* 红字批注 */
.zj-pit { padding:88px 0; }
.zj-pit-list { margin-top:36px; display:grid; gap:14px; }
.zj-pit-item {
  display:flex; gap:18px; align-items:flex-start;
  background:var(--paper-100); border:1px solid var(--line); border-left:5px solid var(--rust);
  border-radius:var(--r-sm); padding:20px 22px;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease);
}
.zj-pit-item:hover { transform:translateX(4px); box-shadow:var(--shadow-sm); }
.zj-pit-mark {
  flex:0 0 36px; width:36px; height:36px; border-radius:50%;
  background:var(--rust); color:var(--paper-100);
  display:grid; place-items:center; font-family:var(--font-serif); font-size:15px;
}
.zj-pit-item h3 { font-size:16px; color:var(--brown-900); margin-bottom:6px; }
.zj-pit-item p { font-size:14px; color:var(--ink-soft); line-height:1.75; }

/* CTA */
.zj-cta { padding:80px 0; color:var(--paper-100); }
.zj-cta-inner { display:grid; grid-template-columns:1.3fr .7fr; gap:40px; align-items:center; }
.zj-cta-inner h2 { font-family:var(--font-serif); font-size:clamp(24px,3vw,34px); color:var(--paper-100); margin:14px 0 14px; }
.zj-cta-inner p { color:var(--paper-300); line-height:1.85; margin-bottom:16px; }
.zj-cta-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.zj-cta-links a {
  font-size:13px; padding:6px 12px; border:1px solid rgba(246,241,231,.3);
  border-radius:2px; color:var(--paper-200);
  transition:all .25s var(--ease);
}
.zj-cta-links a:hover { background:var(--paper-100); color:var(--denim-900); }
.zj-cta-btns { display:flex; flex-direction:column; gap:10px; }
.btn-outline--hero { color:var(--paper-100); border-color:var(--paper-300); }
.btn-outline--hero:hover { background:var(--paper-100); color:var(--denim-900); }

/* 响应式 */
@media (max-width:1080px) {
  .zj-hero-grid, .zj-balance-grid, .zj-cta-inner { grid-template-columns:1fr; gap:32px; }
  .zj-ledger-grid { grid-template-columns:repeat(2,1fr); }
  .zj-kemu-tri, .zj-plan-grid { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .zj-ledger-grid { grid-template-columns:1fr; }
  .zj-hero { padding:64px 0; }
}

/* --- shared inline-style replacements --- */
.kicker--light { color: var(--stitch) !important; }
.em-light { color: var(--stitch) !important; font-style: normal; }
.cta-note-link { color: var(--stitch) !important; text-decoration: underline; }
.bz-read-fill { display:block; height:100%; background:linear-gradient(90deg, var(--stitch), var(--rust)); border-radius:5px; }
.bz-read-fill--40 { width:40%; }
.bz-read-fill--70 { width:70%; }
.bz-read-fill--100 { width:100%; }
