
:root{
  --red:#A62B2B; --deep:#7C1F1F; --gold:#C9A15C; --soft:#F7F1EF;
  --text:#2B2B2B; --gray:#8A8A8A; --line:#EADFD9;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Microsoft YaHei","PingFang SC",sans-serif;color:var(--text);background:#fff;line-height:1.7}
img{display:block;max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
/* nav */
nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;height:64px;gap:28px}
nav img{width:40px;height:40px;border-radius:50%;border:1px solid var(--line)}
nav .brand{font-weight:700;color:var(--red);font-size:17px;margin-right:auto}
nav a{color:#666;text-decoration:none;font-size:14px;padding:6px 2px;border-bottom:2px solid transparent}
nav a:hover{color:var(--red);border-color:var(--red)}
.sr{position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);overflow:hidden}
/* sections */
section{padding:76px 0;position:relative;overflow:hidden}
section.alt{background:var(--soft)}
section .wrap{position:relative}
/* PPT 同款标题块 */
.sec-head{margin-bottom:46px}
.tblock{display:inline-block;background:#922623;padding:16px 34px 18px;min-width:250px;box-shadow:0 6px 18px rgba(146,38,35,.16)}
.tblock .en{display:block;font-family:"Times New Roman",serif;font-size:11px;letter-spacing:2px;color:#E3C8C8;font-weight:700}
.tblock h2{font-size:25px;color:#fff;margin-top:4px;letter-spacing:2px;font-weight:700}
.tblock h2 em{font-style:normal;color:#F5CFCB}
.wm{position:absolute;right:-8px;bottom:6px;font-family:"Times New Roman",serif;font-weight:700;font-size:104px;letter-spacing:6px;color:#F7E3E0;line-height:1;pointer-events:none;user-select:none;white-space:nowrap}
.head-note{margin:-30px 0 36px;color:var(--gray);font-size:14.5px}
/* 企业速览信息卡（对应 PPT v4.1 排版） */
.infos{display:flex;flex-direction:column;gap:18px;max-width:1000px;margin:0 auto}
.info{display:flex;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 16px rgba(124,31,31,.08);overflow:hidden}
.info .no{flex:0 0 96px;display:flex;align-items:center;justify-content:center;font-family:"Times New Roman",serif;font-size:46px;font-weight:700;color:#EBD1CE}
.info .vline{flex:0 0 2px;background:#ECECEC;margin:24px 0}
.info .bd{padding:20px 26px 22px}
.info h3{font-size:19px;color:var(--deep)}
.info h3 small{font-size:11px;letter-spacing:3px;color:#BE918E;font-family:"Times New Roman",serif;font-weight:700;margin-left:10px;vertical-align:2px}
.info .rbar{width:32px;height:3px;background:var(--red);margin:8px 0 10px}
.info p{font-size:14.5px;color:#555}
.info p b{color:var(--deep)}
/* cert grid */
.grid{display:grid;gap:20px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;box-shadow:0 4px 16px rgba(124,31,31,.08);transition:transform .25s,box-shadow .25s;cursor:zoom-in}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(124,31,31,.16)}
.card .imgbox{height:320px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.card .imgbox img{max-height:100%;object-fit:contain}
.card figcaption{font-size:13px;color:var(--gray);text-align:center;padding:10px 4px 4px}
.card.wide .imgbox{height:250px}
.sub-head{text-align:center;margin:60px 0 36px}
.sub-head h3{font-size:22px;font-weight:700}
.sub-head h3 em{font-style:normal;color:var(--red)}
.sub-head .bar{width:40px;height:3px;background:var(--red);margin:10px auto 0}
/* AAA */
.aaa-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.aaa-grid .card .imgbox{height:190px}
/* team */
.team-top{text-align:center;font-size:26px;font-weight:700;margin-bottom:36px}
.team-top b{font-family:"Times New Roman",serif;font-size:44px;color:var(--deep);margin-right:8px}
.tlist{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.trow{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--red);border-radius:10px;padding:16px 24px;box-shadow:0 3px 12px rgba(124,31,31,.06)}
.trow .n{flex:0 0 64px;text-align:center;font-family:"Times New Roman",serif;font-size:36px;font-weight:700;color:var(--red);line-height:1}
.trow .sep{width:2px;align-self:stretch;background:#ECECEC}
.trow b{font-size:17px;display:block}
.trow small{color:var(--gray);font-size:13.5px}
.tfoot{text-align:center;color:var(--gray);font-size:13.5px;margin-top:22px}
/* features */
.feats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.feat{background:var(--soft);border-radius:14px;padding:30px 24px}
.feat.hot{background:var(--deep);color:#fff}
.feat .ico{width:60px;height:60px;border-radius:14px;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px}
.feat.hot .ico{background:rgba(255,255,255,.18);color:var(--gold)}
.feat h3{font-size:19px;margin-top:18px}
.feat .bar{width:32px;height:3px;background:var(--gold);margin:10px 0 12px}
.feat p{font-size:14px;color:#5A5A5A}
.feat.hot p{color:rgba(255,255,255,.85)}
/* flow */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.step{background:var(--soft);border-radius:12px;padding:22px 18px}
.step.hot{background:var(--deep);color:#fff}
.step .no{font-size:32px;font-weight:700;color:var(--num,#E3CDC7)}
.step b{display:block;font-size:17px;margin-top:8px;color:var(--red)}
.step.hot b{color:#fff}
.step p{font-size:13.5px;color:#5A5A5A;margin-top:6px}
.step.hot p{color:rgba(255,255,255,.82)}
/* projects */
.notice{background:rgba(201,161,92,.12);border-left:4px solid var(--gold);border-radius:6px;padding:12px 18px;font-size:14.5px;color:#7C5A2E;margin-bottom:22px}
.projs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.proj{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 26px}
.proj.hot{background:var(--deep);border-color:var(--deep);color:#fff}
.proj h3{font-size:18px;display:flex;align-items:center;gap:8px;color:var(--deep)}
.proj .bar{width:32px;height:2.5px;background:var(--red);margin:10px 0 4px}
.proj.hot .bar{background:var(--gold)}
.proj.hot h3{color:#fff}
.proj ul{list-style:none;margin-top:8px}
.proj li{font-size:14px;color:#555;padding:3px 0}
.proj.hot li{color:rgba(255,255,255,.88)}
/* ending 整页图（保留结构，末页已改为联系页背景） */
/* lightbox */
#lb{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:999;cursor:zoom-out}
#lb.on{display:flex}
#lb img{max-width:92vw;max-height:92vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
footer{background:#241414;color:rgba(255,255,255,.5);text-align:center;font-size:13px;padding:22px}
/* 首页：浅色地标背景（金鸡湖/东方之门） */
.hero-bg{position:relative;min-height:calc(100vh - 64px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#3A3F47;padding:60px 24px 90px;background:linear-gradient(180deg,rgba(252,250,246,.20) 0%,rgba(252,250,246,.34) 100%),url("assets/hero_bg.jpg") center 55%/cover no-repeat #E9EDF2}
.hero-bg .en{font-family:"Times New Roman",serif;font-size:13px;letter-spacing:6px;color:#922623;font-weight:700}
.hero-bg .ttl{font-size:48px;letter-spacing:12px;font-weight:700;margin-top:14px;color:#922623;text-shadow:0 1px 0 rgba(255,255,255,.55)}
.hero-bg .goldline{width:72px;height:3px;background:var(--gold);margin:24px auto 26px}
/* 首页入口按钮（浅底深字方案） */
.hbtns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:46px;width:min(780px,100%)}
.hbtn{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(255,255,255,.86);border:1px solid rgba(146,38,35,.30);backdrop-filter:blur(4px);border-radius:60px;padding:13px 24px;color:#4A3230;text-decoration:none;font-size:15.5px;letter-spacing:2px;box-shadow:0 4px 14px rgba(146,38,35,.08);transition:background .25s,color .25s,transform .25s,border-color .25s}
.hbtn .num{font-family:"Times New Roman",serif;font-weight:700;color:#922623;margin-right:9px}
.hbtn .go{opacity:.7;font-size:17px}
.hbtn:hover{background:#922623;color:#fff;border-color:#922623;transform:translateY(-3px)}
.hbtn:hover .num{color:#F5CFCB}
.hbtn:hover .go{opacity:1}
nav a.on{color:var(--red);border-color:var(--red)}
/* 首页企业简介 + 数据 */
.about-p{max-width:880px;margin:0 auto 38px;text-align:center;font-size:15.5px;line-height:2;color:#555}
.about-p b{color:var(--deep)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:920px;margin:0 auto}
.stat{background:var(--soft);border-radius:12px;padding:26px 16px;text-align:center}
.stat b{font-family:"Times New Roman",serif;font-size:38px;color:var(--deep);line-height:1}
.stat b i{font-style:normal;font-size:17px;margin-left:2px}
.stat span{display:block;margin-top:9px;color:var(--gray);font-size:13.5px;letter-spacing:2px}
.more{text-align:center;margin-top:30px}
.more a{color:var(--red);text-decoration:none;font-size:14.5px;letter-spacing:2px;border-bottom:1px solid rgba(166,43,43,.4);padding-bottom:2px}
.more a:hover{color:var(--deep);border-color:var(--deep)}
/* 智慧消防页：横幅 / 痛点 / 标签 */
.banner{max-width:1000px;margin:0 auto 46px;border-radius:14px;overflow:hidden;box-shadow:0 12px 32px rgba(124,31,31,.16)}
.banner img{width:100%;display:block}
.f3{grid-template-columns:repeat(3,1fr)}
.solve{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:1000px;margin:0 auto}
.sv{background:var(--soft);border-radius:10px;padding:20px 14px;text-align:center;font-size:14.5px;color:#4A4A4A}
.sv em{font-style:normal;display:block;margin-top:3px;color:var(--red);font-weight:700}
.chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:1000px;margin:0 auto}
.chip{background:#fff;border:1px solid var(--line);border-radius:40px;padding:10px 26px;font-size:14.5px;color:#4A3230;box-shadow:0 2px 8px rgba(124,31,31,.05)}
.chip.hot{border-color:rgba(146,38,35,.4);color:#922623;font-weight:600}
.lab{text-align:center;font-size:13px;letter-spacing:2px;color:#BE918E;font-weight:700;margin:28px 0 16px}
.lab b{color:#922623;margin:0 8px}
/* 联系页：末页全幅图 + 左下角小字信息（无背景色） */
.end-bg{position:relative;min-height:calc(100vh - 64px);background:url("assets/ending.jpg") center 45%/cover no-repeat #ECEDEF}
.end-info{position:absolute;left:7%;bottom:9%}
.end-info .t{font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-size:13px;letter-spacing:5px;font-weight:400;color:#565B63;margin-bottom:9px}
.end-info .mail{font-size:19px;font-weight:700;color:#2F3339;text-decoration:none;letter-spacing:2px}
.end-info .mail:hover{color:var(--red)}
.end-info .addr{font-size:13px;color:#63686F;margin-top:7px;letter-spacing:1px}
.end-info .company{font-size:12px;color:#8A8F96;margin-top:5px;letter-spacing:1px}
footer a{color:rgba(255,255,255,.8);text-decoration:none}
@media (max-width:900px){
  .g3,.feats,.flow,.aaa-grid{grid-template-columns:repeat(2,1fr)}
  .g2,.projs{grid-template-columns:1fr}
  .hbtns{grid-template-columns:repeat(2,1fr)}
  .hero-bg .ttl{font-size:34px;letter-spacing:6px}
  nav .wrap{height:54px;gap:16px;overflow-x:auto;scrollbar-width:none}
  nav .wrap::-webkit-scrollbar{display:none}
  nav a{white-space:nowrap;flex:0 0 auto}
  nav .brand{font-size:15px;flex:0 0 auto}
  .tblock{min-width:0;padding:12px 20px 14px}
  .tblock h2{font-size:20px}
  .wm{font-size:52px;letter-spacing:3px;right:0}
  .info .no{flex-basis:64px;font-size:34px}
  .info .vline{display:none}
  .trow .n{flex-basis:48px;font-size:28px}
  .f3{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
}
/* 手机竖屏：背景图保持全屏主体 */
@media (max-width:700px){
  .hero-bg{background-position:center 50%/cover}
}
/* 手机单列排版 */
@media (max-width:600px){
  section{padding:46px 0}
  .sec-head{margin-bottom:32px}
  .head-note{margin:-16px 0 24px;font-size:13px}
  .wm{display:none}
  .tblock{padding:10px 16px 12px}
  .tblock h2{font-size:18px;letter-spacing:1px}
  .tblock .en{font-size:9.5px}
  .g3,.feats,.flow,.aaa-grid,.g2,.projs{grid-template-columns:1fr}
  .hero-bg{padding:36px 18px 70px}
  .hero-bg .ttl{font-size:27px;letter-spacing:5px}
  .hero-bg .en{font-size:11px;letter-spacing:4px}
  .end-bg{min-height:calc(100vh - 54px)}
  .end-info{left:20px;bottom:40px}
  .end-info .t{font-size:12px;letter-spacing:3px}
  .end-info .mail{font-size:17px}
  .end-info .addr{font-size:12px}
  .end-info .company{font-size:11px}
  .hbtns{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:34px}
  .hbtn{font-size:13px;padding:11px 15px;letter-spacing:1px;border-radius:16px}
  .card .imgbox{height:230px}
  .card.wide .imgbox{height:180px}
  .card figcaption{font-size:12px}
  nav .wrap{height:54px;gap:14px}
  nav .brand{font-size:14.5px}
  nav img{width:34px;height:34px}
  .info .bd{padding:14px 16px 16px}
  .info h3{font-size:16px}
  .info h3 small{display:block;margin:2px 0 0}
  .info p{font-size:13.5px}
  .info .no{flex-basis:44px;font-size:24px}
  .team-top{font-size:18px;margin-bottom:24px}
  .team-top b{font-size:32px}
  .tlist{gap:10px}
  .trow{padding:12px 14px;gap:12px}
  .trow b{font-size:15.5px}
  .trow small{font-size:12.5px}
  .trow .n{flex-basis:36px;font-size:24px}
  .sub-head{margin:40px 0 26px}
  .sub-head h3{font-size:19px}
  .feat{padding:22px 18px}
  .feat .ico{width:50px;height:50px;font-size:22px}
  .feat h3{font-size:17px}
  .step{padding:18px 14px}
  .step .no{font-size:26px}
  .proj{padding:16px 18px}
  .proj h3{font-size:16px}
  .proj li{font-size:13.5px}
  .f3{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .stat{padding:20px 12px}
  .stat b{font-size:30px}
  .solve{grid-template-columns:1fr 1fr;gap:10px}
  .sv{padding:16px 10px;font-size:13.5px}
  .chip{padding:8px 16px;font-size:13px}
  .about-p{font-size:14px}
  footer{font-size:12px;padding:16px}
}
