/* ============================================================
   重装合成建设（云南）有限公司 官网样式
   ZZHC 商务蓝体系 · #1F4E79 / #1565C0 / #BAD8F0
   ============================================================ */
:root{
  --blue:#1F4E79; --blue2:#2A6296; --accent:#1565C0; --line:#BAD8F0;
  --soft:#EEF4FA; --bg:#F7F9FB; --orange:#E8720C; --gold:#C9A227;
  --ok:#2E7D32; --ink:#1C2B3A; --grey:#5B6B7B;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:"Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink);background:#fff;line-height:1.75;font-size:15px;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1160px;margin:0 auto;padding:0 22px;}

/* ---------- 顶部信息条 ---------- */
.topbar{background:var(--blue);color:#cfe0f2;font-size:12.5px;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:34px;}
.topbar a{color:#fff;}
.topbar .tb-r span{margin-left:18px;}

/* ---------- 导航 ---------- */
header.nav{position:sticky;top:0;z-index:99;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);box-shadow:0 2px 12px rgba(31,78,121,.08);}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;}
.brand{display:flex;align-items:center;gap:12px;}
.brand .logo{width:46px;height:46px;border-radius:9px;background:linear-gradient(135deg,var(--blue),var(--accent));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;letter-spacing:.5px;box-shadow:0 4px 10px rgba(21,101,192,.35);}
.brand .bt h1{font-size:19px;color:var(--blue);letter-spacing:1.5px;line-height:1.2;}
.brand .bt p{font-size:11px;color:var(--grey);letter-spacing:.4px;}
nav.menu{display:flex;gap:6px;}
nav.menu a{padding:9px 17px;border-radius:6px;font-size:15px;color:var(--ink);transition:.2s;}
nav.menu a:hover{background:var(--soft);color:var(--accent);}
nav.menu a.on{background:var(--blue);color:#fff;font-weight:600;}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:6px;font-size:20px;color:var(--blue);padding:4px 12px;cursor:pointer;}

/* ---------- Hero ---------- */
.hero{position:relative;color:#fff;overflow:hidden;
  background:linear-gradient(128deg,#12365C 0%,var(--blue) 42%,#2E6EA6 78%,#3E86C4 100%);}
.hero::before{content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1px);background-size:26px 26px;opacity:.5;}
.hero::after{content:"";position:absolute;right:-140px;top:-140px;width:460px;height:460px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.14),transparent 65%);}
.hero .wrap{position:relative;z-index:2;padding:88px 22px 74px;}
.hero .tag{display:inline-block;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);border-radius:999px;padding:5px 18px;font-size:13.5px;letter-spacing:2px;margin-bottom:22px;}
.hero h2{font-size:44px;line-height:1.28;letter-spacing:2px;margin-bottom:16px;font-weight:800;}
.hero h2 em{font-style:normal;color:#FFD37A;}
.hero p.sub{font-size:17px;color:#D7E6F5;max-width:760px;margin-bottom:34px;}
.hero .btns{display:flex;gap:14px;flex-wrap:wrap;}
.btn{display:inline-block;padding:13px 34px;border-radius:8px;font-size:15.5px;font-weight:600;transition:.2s;letter-spacing:1px;}
.btn-o{background:var(--orange);color:#fff;box-shadow:0 6px 16px rgba(232,114,12,.4);}
.btn-o:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(232,114,12,.5);}
.btn-w{border:1.5px solid rgba(255,255,255,.65);color:#fff;}
.btn-w:hover{background:rgba(255,255,255,.14);}
.btn-b{background:var(--blue);color:#fff;}
.btn-b:hover{background:var(--accent);transform:translateY(-2px);}

/* 数据条 */
.stats{background:#0F2A47;color:#fff;}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:26px 22px;}
.stat{text-align:center;border-left:1px solid rgba(255,255,255,.16);}
.stat:first-child{border-left:none;}
.stat b{display:block;font-size:32px;color:#FFD37A;font-weight:800;letter-spacing:1px;}
.stat span{font-size:13px;color:#B9CFE4;}

/* ---------- 通用节 ---------- */
section.sec{padding:74px 0;}
section.sec.alt{background:var(--bg);}
.sec-head{text-align:center;margin-bottom:46px;}
.sec-head .kick{display:inline-block;color:var(--accent);font-size:13px;letter-spacing:4px;font-weight:700;margin-bottom:10px;}
.sec-head h3{font-size:32px;color:var(--blue);letter-spacing:2px;font-weight:800;}
.sec-head .bar{width:64px;height:4px;background:linear-gradient(90deg,var(--accent),var(--orange));border-radius:2px;margin:16px auto 0;}
.sec-head p.lead{color:var(--grey);font-size:15.5px;margin-top:14px;max-width:820px;margin-left:auto;margin-right:auto;}

/* 卡片 */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.cards.two{grid-template-columns:repeat(2,1fr);}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px 26px;transition:.25s;position:relative;overflow:hidden;}
.card::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--blue),var(--accent));opacity:0;transition:.25s;}
.card:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(31,78,121,.13);}
.card:hover::before{opacity:1;}
.card .ic{width:54px;height:54px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--accent));color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:18px;}
.card h4{font-size:19px;color:var(--blue);margin-bottom:10px;letter-spacing:.5px;}
.card p{font-size:14px;color:var(--grey);}
.card ul{margin-top:12px;}
.card ul li{font-size:13.5px;color:var(--ink);padding:5px 0 5px 20px;position:relative;}
.card ul li::before{content:"";position:absolute;left:2px;top:13px;width:7px;height:7px;border-radius:2px;background:var(--accent);}
.card .num{position:absolute;right:18px;top:12px;font-size:44px;font-weight:800;color:var(--soft);line-height:1;}

/* 五大创新 */
.inno{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.inno .it{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 18px;text-align:center;transition:.25s;position:relative;}
.inno .it:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(31,78,121,.14);border-color:var(--accent);}
.inno .it .no{width:44px;height:44px;margin:0 auto 14px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--accent));color:#fff;font-weight:800;font-size:19px;display:flex;align-items:center;justify-content:center;}
.inno .it h4{font-size:16.5px;color:var(--blue);margin-bottom:8px;}
.inno .it p{font-size:12.5px;color:var(--grey);line-height:1.7;}
.inno .it .first{display:inline-block;margin-top:12px;font-size:11px;color:var(--orange);border:1px solid var(--orange);border-radius:999px;padding:1px 10px;}

/* 步骤/流程 */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:st;}
.step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 22px;position:relative;}
.step::before{counter-increment:st;content:"0" counter(st);position:absolute;right:16px;top:10px;font-size:40px;font-weight:800;color:var(--soft);}
.step h4{font-size:17px;color:var(--blue);margin-bottom:8px;}
.step p{font-size:13.5px;color:var(--grey);}

/* 表格 */
.tbl{width:100%;border-collapse:collapse;background:#fff;font-size:14px;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px rgba(31,78,121,.06);}
.tbl th{background:var(--blue);color:#fff;padding:11px 14px;text-align:left;font-weight:600;border:1px solid var(--blue);}
.tbl td{border:1px solid var(--line);padding:10px 14px;vertical-align:top;}
.tbl tr:nth-child(even) td{background:var(--soft);}

/* CTA 横幅 */
.cta{background:linear-gradient(120deg,var(--blue),#2E6EA6);color:#fff;text-align:center;padding:64px 22px;position:relative;overflow:hidden;}
.cta::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;}
.cta h3{font-size:30px;letter-spacing:2px;margin-bottom:12px;position:relative;}
.cta p{color:#CFE2F3;margin-bottom:28px;position:relative;}
.cta .btn{position:relative;z-index:1;}

/* 页脚 */
footer{background:#122C49;color:#9FB6CC;font-size:13px;}
footer .wrap{padding:46px 22px 30px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px;}
footer h5{color:#fff;font-size:15px;margin-bottom:14px;letter-spacing:1px;}
footer li{margin:7px 0;}
footer a:hover{color:#fff;}
footer .ft-bottom{border-top:1px solid rgba(255,255,255,.12);text-align:center;padding:16px 10px 20px;font-size:12.5px;color:#7E96AE;}
footer .ft-bottom a{color:#B9CFE4;border-bottom:1px dotted #7E96AE;}
footer .beian-ico{display:inline-flex;align-items:center;gap:5px;}

/* 子页头 */
.page-hero{background:linear-gradient(128deg,#12365C,var(--blue) 55%,#2E6EA6);color:#fff;padding:64px 0 56px;position:relative;overflow:hidden;}
.page-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1px);background-size:26px 26px;}
.page-hero .wrap{position:relative;}
.page-hero h2{font-size:34px;letter-spacing:2px;margin-bottom:10px;}
.page-hero p{color:#CBDFEF;font-size:15px;}
.crumb{font-size:13px;color:#9DBBD8;margin-top:14px;}
.crumb a{color:#CBDFEF;}

/* 时间线 */
.tline{position:relative;padding-left:34px;}
.tline::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:3px;background:linear-gradient(var(--accent),var(--line));border-radius:2px;}
.tline .tl{position:relative;margin-bottom:26px;}
.tline .tl::before{content:"";position:absolute;left:-33px;top:6px;width:15px;height:15px;border-radius:50%;background:#fff;border:4px solid var(--accent);}
.tline .tl b{color:var(--blue);font-size:16.5px;}
.tline .tl p{font-size:14px;color:var(--grey);}

/* 岗位牌 */
.jobs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.job{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 22px;transition:.25s;}
.job:hover{border-color:var(--accent);box-shadow:0 10px 24px rgba(31,78,121,.12);transform:translateY(-4px);}
.job h4{color:var(--blue);font-size:17.5px;display:flex;justify-content:space-between;align-items:center;}
.job h4 .pay{font-size:12.5px;color:var(--orange);font-weight:600;}
.job p{font-size:13px;color:var(--grey);margin-top:8px;}

/* 提示框 */
.note{background:#FFF8E1;border:1px solid #FFE082;color:#7A5B00;border-radius:8px;padding:13px 16px;font-size:13.5px;margin:16px 0;}
.note.blue{background:var(--soft);border-color:var(--line);color:var(--blue);}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:start;}

/* 移动端底部快捷栏（仅手机显示） */
.mbar{display:none;}

/* 响应式 */
@media (max-width:960px){
  .cards,.cards.two,.jobs{grid-template-columns:repeat(2,1fr);}
  .inno{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:repeat(2,1fr);}
  .stats .wrap{grid-template-columns:repeat(2,1fr);}
  .stat:nth-child(3){border-left:none;}
  .split{grid-template-columns:1fr;}
  footer .wrap{grid-template-columns:1fr 1fr;}
  .hero h2{font-size:32px;}
  body{padding-bottom:64px;}
  .nav-toggle{display:block;background:var(--blue);color:#fff;font-size:15px;padding:9px 18px;border:none;border-radius:8px;letter-spacing:2px;box-shadow:0 3px 8px rgba(31,78,121,.3);font-weight:600;}
  .nav-toggle::before{content:"☰ ";}
  nav.menu{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;padding:12px 16px 18px;border-bottom:1px solid var(--line);box-shadow:0 10px 20px rgba(31,78,121,.15);gap:9px;}
  nav.menu.open{display:flex;}
  nav.menu a{font-size:16.5px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--soft);font-weight:600;display:flex;justify-content:space-between;align-items:center;}
  nav.menu a::after{content:"›";color:var(--accent);font-size:22px;font-weight:700;line-height:1;}
  nav.menu a.on{background:var(--blue);color:#fff;border-color:var(--blue);}
  nav.menu a.on::after{color:#fff;}
  .topbar{font-size:12px;}
  .topbar .tb-r a{background:#fff;color:var(--blue);border-radius:6px;padding:3px 12px;font-weight:700;}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:98;background:#fff;border-top:2px solid var(--blue);box-shadow:0 -4px 14px rgba(31,78,121,.16);}
  .mbar a{flex:1;text-align:center;padding:9px 4px 11px;font-size:13px;color:var(--blue);font-weight:700;line-height:1.4;}
  .mbar a span{display:block;font-size:20px;line-height:1.25;}
  .mbar a.cta{background:var(--orange);color:#fff;}
}
@media (max-width:600px){
  .cards,.cards.two,.jobs,.inno,.steps{grid-template-columns:1fr;}
  .stats .wrap{grid-template-columns:repeat(2,1fr);}
  footer .wrap{grid-template-columns:1fr;}
  .hero .wrap{padding:60px 20px 54px;}
  .hero h2{font-size:26px;}
  .sec-head h3{font-size:24px;}
}

/* ============ 悬停反馈增强（全站） ============ */
.card:hover{transform:translateY(-7px);box-shadow:0 18px 38px rgba(31,78,121,.22);}
.step{transition:.25s;}
a.step{color:inherit;display:block;}
.step:hover{transform:translateY(-5px);box-shadow:0 14px 28px rgba(31,78,121,.18);border-color:var(--accent);}
.step .go{display:inline-block;margin-top:12px;color:var(--accent);font-size:13.5px;font-weight:700;letter-spacing:.5px;}
.step:hover .go{text-decoration:underline;}
.inno .it{cursor:pointer;}
.inno .it:hover{box-shadow:0 16px 34px rgba(31,78,121,.24);transform:translateY(-8px);}
.inno .it::after{content:"点击查看详情";display:block;margin-top:11px;font-size:11.5px;color:var(--accent);letter-spacing:1px;font-weight:600;}
.tbl tbody tr:hover td{background:#E1EBF5;}
.job:hover{box-shadow:0 16px 32px rgba(31,78,121,.2);}
.mbar a:active{background:var(--soft);}
.tline .tl{transition:.2s;border-radius:6px;}
.tline .tl:hover{background:var(--soft);transform:translateX(4px);}
.card .more{display:inline-block;margin-top:16px;color:var(--accent);font-weight:700;font-size:13.5px;border:1.5px solid var(--accent);border-radius:7px;padding:7px 18px;transition:.2s;letter-spacing:.5px;}
.card .more:hover{background:var(--accent);color:#fff;box-shadow:0 6px 14px rgba(21,101,192,.35);}

/* ============ 五项首创 弹窗 ============ */
.modal-mask{display:none;position:fixed;inset:0;background:rgba(10,28,46,.58);z-index:200;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px);}
.modal-mask.show{display:flex;}
.modal{background:#fff;border-radius:14px;max-width:580px;width:100%;max-height:84vh;overflow:auto;box-shadow:0 30px 70px rgba(10,28,46,.45);animation:pop .22s ease;}
@keyframes pop{from{transform:translateY(18px) scale(.96);opacity:0;}to{transform:none;opacity:1;}}
.modal .m-head{background:linear-gradient(135deg,var(--blue),var(--accent));color:#fff;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;}
.modal .m-head h4{font-size:19px;letter-spacing:1px;}
.modal .m-close{background:none;border:none;color:#fff;font-size:26px;cursor:pointer;line-height:1;padding:0 4px;}
.modal .m-close:hover{color:#FFD37A;}
.modal .m-body{padding:20px 26px 28px;}
.modal .m-body>p{font-size:14.5px;margin-bottom:14px;color:var(--ink);}
.modal .m-body ul{margin:0;}
.modal .m-body li{padding:10px 0 10px 26px;position:relative;font-size:14px;border-bottom:1px dashed var(--line);line-height:1.65;}
.modal .m-body li:last-child{border-bottom:none;}
.modal .m-body li::before{content:"✔";position:absolute;left:2px;top:10px;color:var(--accent);font-weight:700;}
