/* ===================================================================
   内页专用样式  pages.css
   依赖 site.css 的设计令牌（--ink / --accent / --cream ...）
   所有内页共用，改一处全站生效
   =================================================================== */

/* ---------- 内页横幅 ---------- */
.phero{
  background:var(--ink);color:#fff;position:relative;overflow:hidden;
  padding:62px 0 58px;
}
.phero::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse 78% 90% at 78% 20%,#000 25%,transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 78% 90% at 78% 20%,#000 25%,transparent 100%);
}
.phero::after{
  content:"";position:absolute;right:-140px;bottom:-200px;
  width:520px;height:520px;border-radius:50%;
  border:1px solid rgba(79,195,247,.1);
}
.phero .wrap{position:relative;z-index:2}
.phero-grid{display:grid;grid-template-columns:1fr 300px;gap:56px;align-items:center}

.crumb{font-size:12.5px;color:rgba(255,255,255,.42);margin-bottom:20px;letter-spacing:.02em}
.crumb a{color:rgba(255,255,255,.62);transition:color .18s}
.crumb a:hover{color:var(--accent-lt)}
.crumb i{font-style:normal;margin:0 8px;opacity:.45}

.phero h1{font-size:38px;line-height:1.32;font-weight:600;letter-spacing:.01em;margin-bottom:16px}
.phero h1 .hl{color:var(--accent-lt)}
.phero .lead{font-size:15.5px;color:rgba(255,255,255,.73);line-height:1.85;max-width:660px}
.phero .lead b{color:#fff;font-weight:500}
.phero-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.phero-tag{
  font-size:12.5px;color:var(--accent-lt);
  border:1px solid rgba(79,195,247,.32);background:rgba(79,195,247,.07);
  border-radius:3px;padding:5px 12px;letter-spacing:.02em;
}
.phero-acts{display:flex;gap:13px;margin-top:32px;flex-wrap:wrap}

/* 横幅右侧：关键事实卡 */
.phero-card{
  background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);
  border-radius:10px;padding:24px 22px;
}
.phero-card h5{
  font-size:11.5px;letter-spacing:.16em;color:var(--accent-lt);
  font-weight:500;margin-bottom:16px;
}
.phero-card dl{display:grid;gap:14px}
.phero-card dt{font-size:12px;color:rgba(255,255,255,.48);margin-bottom:2px;letter-spacing:.03em}
.phero-card dd{font-size:15.5px;color:#fff;font-weight:500;line-height:1.5}
.phero-card dd small{font-size:11.5px;color:rgba(255,255,255,.5);font-weight:400;margin-left:3px}

/* ---------- 双栏：正文 + 侧栏 ---------- */
.layout{display:grid;grid-template-columns:1fr 316px;gap:56px;align-items:start}
.aside{position:sticky;top:96px}
.aside-card{
  background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:24px 22px;margin-bottom:18px;
}
.aside-card.dark{background:var(--ink);border-color:var(--ink)}
.aside-card h4{
  font-size:14.5px;font-weight:600;color:var(--ink);
  margin-bottom:14px;letter-spacing:.02em;
}
.aside-card.dark h4{color:#fff}
.aside-card p{font-size:12.5px;color:var(--muted);line-height:1.85}
.aside-card.dark p{color:rgba(255,255,255,.6)}
.aside-nav{list-style:none}
.aside-nav li:last-child a{border-bottom:0}
.aside-nav a{
  display:block;font-size:13.5px;color:#45535F;
  padding:10px 0;border-bottom:1px solid #F0ECE3;transition:color .18s;
}
.aside-nav a:hover{color:var(--accent)}
.aside-tel{
  display:block;font-size:20px;font-weight:600;color:var(--accent-lt);
  letter-spacing:.02em;margin:4px 0 2px;
}
.aside-tel:hover{color:#fff}

/* ---------- 正文排版 ---------- */
.prose h2{
  font-size:27px;font-weight:600;color:var(--ink);line-height:1.4;
  margin:0 0 18px;letter-spacing:.01em;
}
.prose h3{
  font-size:18px;font-weight:600;color:var(--ink);line-height:1.5;
  margin:34px 0 12px;
}
.prose h3:first-child{margin-top:0}
.prose p{font-size:14.5px;color:#45535F;line-height:1.95;margin-bottom:16px}
.prose p b{color:var(--ink);font-weight:600}
.prose ul,.prose ol{margin:0 0 18px;padding-left:0;list-style:none}
.prose ul li{
  position:relative;padding-left:20px;font-size:14.5px;color:#45535F;
  line-height:1.9;margin-bottom:8px;
}
.prose ul li::before{
  content:"";position:absolute;left:2px;top:12px;
  width:5px;height:5px;border-radius:1px;background:var(--accent);
  transform:rotate(45deg);opacity:.8;
}
.prose ol{counter-reset:li}
.prose ol li{
  position:relative;padding-left:30px;counter-increment:li;
  font-size:14.5px;color:#45535F;line-height:1.9;margin-bottom:10px;
}
.prose ol li::before{
  content:counter(li);
  position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;
  background:var(--cream);color:var(--accent);font-size:11.5px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-weight:600;
}
.prose .sec-divider{
  height:1px;background:var(--line);border:0;margin:44px 0;
}

/* ---------- 通用卡片网格 ---------- */
.fgrid{display:grid;gap:20px}
.fgrid.c2{grid-template-columns:1fr 1fr}
.fgrid.c3{grid-template-columns:repeat(3,1fr)}
.fcard{
  background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:26px 24px;transition:all .22s;
}
.fcard:hover{border-color:#CFDCE5;box-shadow:0 16px 36px -22px rgba(14,34,51,.24)}
.fcard-ico{
  width:40px;height:40px;border-radius:8px;background:var(--cream);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.fcard h4{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:8px;line-height:1.5}
.fcard p{font-size:13.5px;color:var(--muted);line-height:1.85}
.fcard .fc-tag{
  display:inline-block;font-size:11px;letter-spacing:.08em;
  background:var(--cream);color:#7A6A4E;padding:2px 8px;border-radius:3px;
  margin-bottom:10px;
}
.fcard.hi{background:var(--ink);border-color:var(--ink)}
.fcard.hi h4{color:#fff}
.fcard.hi p{color:rgba(255,255,255,.68)}
.fcard.hi .fcard-ico{background:rgba(255,255,255,.09)}
.fcard.hi .fc-tag{background:rgba(79,195,247,.16);color:var(--accent-lt)}

/* ---------- 编号步骤（纵向） ---------- */
.steps{display:grid;gap:0}
.step{
  display:grid;grid-template-columns:56px 1fr;gap:22px;
  padding:26px 0;border-top:1px solid var(--line);
}
.step:last-child{border-bottom:1px solid var(--line)}
.step-n{
  width:38px;height:38px;border-radius:50%;
  border:1.5px solid var(--accent);color:var(--accent);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:14.5px;font-weight:600;
  background:var(--paper);
}
.step-b h4{font-size:16.5px;font-weight:600;color:var(--ink);margin-bottom:7px}
.step-b p{font-size:13.5px;color:var(--muted);line-height:1.85;margin-bottom:8px}
.step-b .deliv{
  font-size:12.5px;color:#3D4C58;background:var(--cream);
  border-radius:5px;padding:8px 12px;display:inline-block;line-height:1.7;
}
.step-b .deliv b{color:var(--accent);font-weight:600}

/* ---------- 清单（带勾） ---------- */
.chk{list-style:none;display:grid;gap:9px}
.chk li{
  position:relative;padding-left:26px;font-size:13.5px;
  color:#45535F;line-height:1.8;
}
.chk li::before{
  content:"";position:absolute;left:0;top:6px;
  width:14px;height:14px;border-radius:3px;
  background:rgba(0,114,168,.1);
}
.chk li::after{
  content:"";position:absolute;left:3.5px;top:9px;
  width:6px;height:3px;border-left:1.6px solid var(--accent);
  border-bottom:1.6px solid var(--accent);transform:rotate(-45deg);
}
.chk.two{grid-template-columns:1fr 1fr;gap:9px 26px}

/* ---------- 表格 ---------- */
/* 移动端表格需横向滑动，给出明确提示，避免用户不知道右侧还有内容 */
.swipe-tip{display:none}
.tbl-wrap{overflow-x:auto;margin:0 0 20px;-webkit-overflow-scrolling:touch}
table.tbl{
  width:100%;border-collapse:collapse;font-size:13.5px;
  background:#fff;border:1px solid var(--line);border-radius:8px;
  overflow:hidden;min-width:560px;
}
table.tbl th{
  background:var(--cream);color:var(--ink);font-weight:600;
  text-align:left;padding:13px 16px;font-size:13px;
  letter-spacing:.02em;border-bottom:1px solid var(--line);
  white-space:nowrap;
}
table.tbl td{
  padding:13px 16px;border-bottom:1px solid #F0ECE3;
  color:#45535F;line-height:1.8;vertical-align:top;
}
table.tbl tr:last-child td{border-bottom:0}
table.tbl td b{color:var(--ink);font-weight:600}
table.tbl td .ok{color:#2A7A4B;font-weight:500;white-space:nowrap}
table.tbl td .no{color:#9AA5AE;white-space:nowrap}
table.tbl td:first-child{font-weight:500;color:var(--ink)}

/* ---------- 提示框 ---------- */
.note{
  border-radius:8px;padding:18px 20px;font-size:13.5px;line-height:1.85;
  margin:0 0 22px;border:1px solid;
}
.note b{font-weight:600}
.note.tip{background:rgba(0,114,168,.055);border-color:rgba(0,114,168,.2);color:#2C4757}
.note.tip b{color:var(--accent)}
.note.warn{background:#FDF8EC;border-color:#EBD9A8;color:#6B5A2E}
.note.warn b{color:#8A6100}
.note.plain{background:var(--cream);border-color:var(--line);color:#45535F}
.note.plain b{color:var(--ink)}

/* ---------- 被退回原因 / 风险卡 ---------- */
.reason{
  display:grid;grid-template-columns:30px 1fr;gap:16px;
  padding:22px 0;border-top:1px solid var(--line);
}
.reason:last-child{border-bottom:1px solid var(--line)}
.reason-x{
  width:22px;height:22px;border-radius:50%;background:#FBEDE9;
  display:flex;align-items:center;justify-content:center;margin-top:3px;
}
.reason-x svg{display:block}
.reason h4{font-size:15.5px;font-weight:600;color:var(--ink);margin-bottom:6px}
.reason p{font-size:13.5px;color:var(--muted);line-height:1.85}
.reason p b{color:#A4462F;font-weight:500}

/* ---------- 时间轴 ---------- */
.tl{position:relative;padding-left:26px;margin-top:8px}
.tl::before{
  content:"";position:absolute;left:5px;top:6px;bottom:6px;width:1px;
  background:var(--line);
}
.tl-item{position:relative;padding-bottom:26px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{
  content:"";position:absolute;left:-26px;top:6px;
  width:9px;height:9px;border-radius:50%;
  background:var(--paper);border:2px solid var(--accent);
}
.tl-item.done::before{background:var(--accent)}
.tl-y{font-family:var(--serif);font-size:13px;color:var(--accent);letter-spacing:.04em;margin-bottom:3px}
.tl-item h4{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:4px}
.tl-item p{font-size:13px;color:var(--muted);line-height:1.8}

/* ---------- 履历表（关于我们） ---------- */
.profile{display:grid;grid-template-columns:300px 1fr;gap:52px;align-items:start}
.profile-photo{border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.profile-photo img{width:100%;display:block}
.profile-photo.gov{border-color:#D6CFC0}
.profile-body h3{
  font-size:23px;font-weight:600;color:var(--ink);
  margin-bottom:6px;letter-spacing:.02em;
}
.profile-role{font-size:13px;color:var(--accent);letter-spacing:.05em;margin-bottom:18px}
.honor-list{display:grid;gap:0;margin-top:8px}
.honor{
  display:grid;grid-template-columns:96px 1fr;gap:18px;
  padding:14px 0;border-top:1px solid var(--line);align-items:baseline;
}
.honor:last-child{border-bottom:1px solid var(--line)}
.honor-k{
  font-size:11.5px;letter-spacing:.1em;color:var(--muted);
}
.honor-v{font-size:14px;color:#33434F;line-height:1.8}
.honor-v b{color:var(--ink);font-weight:600}

/* ---------- 内页 CTA（复用 .cta，仅微调） ---------- */
.cta.compact{padding:60px 0}
.cta.compact h2{font-size:27px}

/* ---------- 办公环境照片墙 ---------- */
.office-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  margin:0 0 40px;
}
.office-photo{
  margin:0;border:1px solid var(--line);border-radius:var(--r);
  background:#fff;overflow:hidden;
  transition:border-color .18s, box-shadow .18s, transform .18s;
}
.office-photo:hover{
  border-color:#CFDCE5;box-shadow:0 16px 36px -22px rgba(14,34,51,.26);
  transform:translateY(-2px);
}
.office-photo img{
  display:block;width:100%;height:190px;object-fit:cover;background:var(--cream);
}
.office-photo figcaption{
  padding:11px 14px;font-size:12.5px;color:var(--muted);
  line-height:1.6;border-top:1px solid var(--line);background:#FCFDFE;
}
/* 未上传时的占位块 */
.office-photo.is-empty{cursor:default}
.office-photo.is-empty:hover{transform:none;box-shadow:none;border-color:var(--line)}
.office-photo .ph{
  display:flex;align-items:center;justify-content:center;
  height:190px;background:
    repeating-linear-gradient(45deg,#F4F7F9 0 10px,#EFF3F6 10px 20px);
  color:#98A7B4;font-size:12.5px;letter-spacing:.03em;
}

/* ---------- 响应式 ---------- */
@media(max-width:1040px){
  .phero-grid{grid-template-columns:1fr;gap:34px}
  .phero-card{max-width:420px}
  .layout{grid-template-columns:1fr;gap:38px}
  .aside{position:static}
  .fgrid.c3{grid-template-columns:1fr 1fr}
  .office-grid{grid-template-columns:1fr 1fr}
  .profile{grid-template-columns:1fr;gap:32px}
  .profile-photo{max-width:280px}
  .phero h1{font-size:32px}
}
@media(max-width:720px){
  .swipe-tip{
    display:block;font-size:12px;color:var(--muted);margin:0 0 8px;
    letter-spacing:.02em;
  }
  .swipe-tip::after{content:" →";color:var(--accent)}
  .tbl-wrap{box-shadow:inset -14px 0 12px -12px rgba(14,34,51,.22)}
  .phero-card dd small{display:block;margin-left:0;margin-top:3px}
  .phero{padding:44px 0 40px}
  .phero h1{font-size:26px}
  .phero .lead{font-size:14.5px}
  .phero-acts .btn{width:100%}
  .fgrid.c2,.fgrid.c3{grid-template-columns:1fr}
  .chk.two{grid-template-columns:1fr}
  .prose h2{font-size:22px}
  .prose h3{font-size:16.5px}
  .step{grid-template-columns:1fr;gap:12px}
  .step-n{margin-bottom:2px}
  .honor{grid-template-columns:1fr;gap:2px}
  .reason{grid-template-columns:24px 1fr;gap:12px}
}
