/* ============================================================
   celiangyuan.css — 测量员 水准仪三脚架/放线记录 概念
   ============================================================ */

/* Hero */
.ce-hero { position:relative; padding:96px 0 88px; overflow:hidden; }
.ce-hero-num { position:absolute; left:-30px; bottom:-40px; font-size:260px; color:rgba(51,80,110,.08); line-height:1; pointer-events:none; }
.ce-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.ce-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); }
.ce-hero-text h1 i { font-style:normal; color:var(--rust); }
.ce-hero-text p { font-size:17px; line-height:1.85; color:var(--ink-soft); margin-bottom:30px; }
.ce-hero-cta { display:flex; flex-wrap:wrap; gap:12px; }
.ce-hero-pic img { display:block; width:100%; height:auto; }

/* 放线流程 */
.ce-flow { padding:88px 0; }
.ce-flow-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:start; margin-top:40px; }
.ce-flow-list { list-style:none; margin:0; padding:0; }
.ce-flow-list li {
  display:flex; gap:16px; align-items:flex-start;
  background:var(--paper-100); border:1px solid var(--line); border-radius:var(--r-sm);
  padding:18px 20px; margin-bottom:12px; box-shadow:var(--shadow-sm);
}
.ce-flow-no {
  flex:0 0 40px; width:40px; height:40px; border-radius:50%;
  background:var(--denim-800); color:var(--stitch);
  display:grid; place-items:center; font-family:var(--font-serif); font-size:14px;
}
.ce-flow-list b { color:var(--brown-900); font-size:15px; }
.ce-flow-list p { margin:4px 0 0; color:var(--ink-soft); font-size:13.5px; line-height:1.7; }
.ce-flow-side .pic-frame { margin-bottom:14px; }
.ce-flow-side img { display:block; width:100%; height:auto; }
.ce-flow-note {
  font-size:13.5px; color:var(--ink-soft); line-height:1.8;
  background:var(--paper-200); padding:14px 16px; border-radius:var(--r-sm);
  border-left:4px solid var(--rust);
}

/* 控制点 */
.ce-control { padding:80px 0; color:var(--paper-100); }
.ce-control .sec-head h2 { color:var(--paper-100); }
.ce-control-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:40px;
}
.ce-control-point {
  background:rgba(246,241,231,.06); border:1px solid rgba(246,241,231,.2);
  border-radius:var(--r-sm); padding:26px 20px; text-align:center;
}
.ce-control-dot {
  width:14px; height:14px; border-radius:50%; background:var(--stitch);
  margin:0 auto 14px; box-shadow:0 0 0 4px rgba(115,150,170,.3);
}
.ce-control-point h3 { font-size:16px; color:var(--paper-100); margin-bottom:8px; }
.ce-control-point p { font-size:13px; color:var(--paper-300); line-height:1.75; }
.ce-control-more { text-align:center; margin-top:28px; }

/* 测站科目 */
.ce-station { padding:88px 0; }
.ce-station-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:42px; }
.ce-station-card {
  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);
}
.ce-station-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.ce-station-id {
  display:inline-block; background:var(--denim-800); color:var(--stitch);
  font-family:var(--font-serif); font-size:13px; letter-spacing:.15em;
  padding:4px 12px; border-radius:2px; margin-bottom:14px;
}
.ce-station-card h3 { font-size:18px; color:var(--brown-900); margin-bottom:10px; }
.ce-station-card p { font-size:14px; color:var(--ink-soft); line-height:1.75; }
.ce-station-more { text-align:center; margin-top:32px; }

/* 观测周期 */
.ce-obs { padding:88px 0; }
.ce-obs-row {
  display:grid; grid-template-columns:1fr 40px 1fr 40px 1fr; gap:10px;
  align-items:center; margin-top:40px;
}
.ce-obs-item {
  background:var(--paper-200); border:1px solid var(--line); border-radius:var(--r-sm);
  padding:24px 20px; text-align:center;
}
.ce-obs-dot {
  width:12px; height:12px; border-radius:50%; background:var(--rust);
  margin:0 auto 12px;
}
.ce-obs-item h3 { font-family:var(--font-serif); font-size:16px; color:var(--brown-900); margin-bottom:8px; }
.ce-obs-item p { font-size:13.5px; color:var(--ink-soft); line-height:1.75; }
.ce-obs-line { height:2px; background:var(--line); position:relative; }
.ce-obs-more { text-align:center; margin-top:30px; }

/* 闭合差误区 */
.ce-error { padding:88px 0; }
.ce-error-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:40px; }
.ce-error-card {
  background:var(--paper-100); border:1px solid var(--line); border-radius:var(--r-sm);
  padding:24px 22px; box-shadow:var(--shadow-sm); position:relative;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease);
}
.ce-error-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.ce-error-val {
  display:inline-block; background:var(--rust); color:var(--paper-100);
  font-family:var(--font-serif); font-size:13px; letter-spacing:.1em;
  padding:4px 12px; border-radius:2px; margin-bottom:12px;
}
.ce-error-card h3 { font-size:16px; color:var(--brown-900); margin-bottom:8px; }
.ce-error-card p { font-size:14px; color:var(--ink-soft); line-height:1.75; }

/* CTA */
.ce-cta { padding:80px 0; color:var(--paper-100); }
.ce-cta-inner { display:grid; grid-template-columns:1.3fr .7fr; gap:40px; align-items:center; }
.ce-cta-inner h2 { font-family:var(--font-serif); font-size:clamp(24px,3vw,34px); color:var(--paper-100); margin:14px 0 14px; }
.ce-cta-inner p { color:var(--paper-300); line-height:1.85; margin-bottom:16px; }
.ce-cta-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.ce-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);
}
.ce-cta-links a:hover { background:var(--paper-100); color:var(--denim-900); }
.ce-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) {
  .ce-hero-grid, .ce-flow-grid, .ce-cta-inner { grid-template-columns:1fr; gap:32px; }
  .ce-control-grid { grid-template-columns:repeat(2,1fr); }
  .ce-station-grid { grid-template-columns:1fr; }
  .ce-obs-row { grid-template-columns:1fr; }
  .ce-obs-line { height:30px; width:2px; margin:0 auto; }
}
@media (max-width:640px) {
  .ce-control-grid, .ce-error-grid { grid-template-columns:1fr; }
  .ce-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%; }
