/* 龙岩通协弱电工程有限公司 —— 工业蓝图风：深蓝灰打底，铜色主色（源自铜缆端子材料） */
:root{
  --bg:#10151b;
  --panel:#171e26;
  --line:#2b3641;
  --ink:#e7e4de;
  --ink-dim:#a9a69e;
  --copper:#c0854d;
  --copper-deep:#8f5c2e;
  --mono:ui-monospace,"SFMono-Regular",Consolas,"Courier New",monospace;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --s-xs:.75rem;--s-sm:.875rem;--s-md:1rem;--s-lg:1.5rem;--s-xl:2.5rem;--s-hero:3.75rem;
  --sp1:4px;--sp2:8px;--sp3:12px;--sp4:16px;--sp5:24px;--sp6:32px;--sp7:48px;--sp8:64px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--s-md);line-height:1.8}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--sp5)}
a{color:var(--copper);text-decoration:none}
a:hover{color:var(--ink);text-decoration:underline}
a:focus-visible,button:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
img{max-width:100%}
h1,h2,h3{font-weight:700;letter-spacing:.02em;line-height:1.3}
h1{font-size:var(--s-hero)}
h2{font-size:var(--s-xl);border-left:4px solid var(--copper);padding-left:var(--sp4);margin:0 0 var(--sp5)}
h3{font-size:var(--s-lg)}
.tag{font-family:var(--mono);font-size:var(--s-xs);letter-spacing:.25em;color:var(--copper);text-transform:uppercase;margin-bottom:var(--sp4)}
.lead{max-width:62ch;color:var(--ink-dim)}
section{margin:var(--sp8) 0}
/* header */
.site-head{border-bottom:1px solid var(--line);background:var(--panel)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp4);padding-top:var(--sp3);padding-bottom:var(--sp3);flex-wrap:wrap}
.site-head nav{display:flex;gap:var(--sp5);font-family:var(--mono);font-size:var(--s-sm)}
.site-head nav a{color:var(--ink-dim)}
.site-head nav a:hover{color:var(--copper);text-decoration:none}
.site-head nav a[aria-current="page"]{color:var(--copper);border-bottom:2px solid var(--copper)}
/* breadcrumb */
.breadcrumb{font-size:var(--s-xs);letter-spacing:.12em;color:var(--ink-dim);margin:var(--sp5) 0;display:flex;gap:var(--sp2)}
.breadcrumb a{color:var(--ink-dim)}
.breadcrumb a:hover{color:var(--copper)}
/* buttons */
.btn{display:inline-block;font-family:var(--mono);font-size:var(--s-sm);letter-spacing:.15em;padding:var(--sp3) var(--sp5);border:1px solid var(--copper);color:var(--copper)}
.btn:hover{background:var(--copper);color:var(--bg);text-decoration:none}
.btn.ghost{border-color:var(--line);color:var(--ink-dim)}
.btn.ghost:hover{border-color:var(--ink);color:var(--ink);background:transparent}
.cta-row{display:flex;gap:var(--sp4);margin-top:var(--sp5);flex-wrap:wrap}
/* hero: 左文右图错位分栏 */
.hero-block{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--sp6);align-items:start;margin-top:var(--sp6)}
.hero-type h1{margin-bottom:var(--sp5)}
.hero-fig{margin-top:var(--sp6);border:1px solid var(--line);padding:var(--sp3);background:var(--panel)}
.hero-fig img{display:block;width:100%;height:auto}
/* capabilities 不等宽三栏 */
.cap-grid{display:grid;grid-template-columns:5fr 4fr 4fr;gap:var(--sp5)}
.cap-grid>div{border-top:2px solid var(--line);padding-top:var(--sp4)}
.cap-grid .cap-a{border-top-color:var(--copper)}
.cap-grid p{color:var(--ink-dim);font-size:var(--s-sm)}
.sec-note{color:var(--ink-dim);margin-bottom:var(--sp5);max-width:70ch}
/* items 九宫格 */
.items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.item{background:var(--panel);border:1px solid var(--line);padding:var(--sp4)}
.item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;filter:saturate(.6) contrast(1.05)}
.item h2,.item h3{font-size:var(--s-md);margin:var(--sp3) 0 var(--sp2);font-family:var(--mono);letter-spacing:.1em}
.item p{color:var(--ink-dim);font-size:var(--s-sm)}
.item ul{list-style:none;margin-top:var(--sp3);border-top:1px dashed var(--line);padding-top:var(--sp3)}
.item li{font-size:var(--s-xs);font-family:var(--mono);color:var(--copper);padding:2px 0}
.item li::before{content:"— "}
/* flow */
.flow-steps{list-style:none;counter-reset:fs;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp5)}
.flow-steps li{counter-increment:fs;border-left:2px solid var(--copper);padding-left:var(--sp4)}
.flow-steps li::before{content:"0" counter(fs);font-family:var(--mono);color:var(--copper);display:block;font-size:var(--s-lg)}
.flow-steps strong{display:block;margin:var(--sp2) 0}
.flow-steps span{font-size:var(--s-sm);color:var(--ink-dim)}
/* faq home / dl */
dl dt{font-weight:700;margin-top:var(--sp5)}
dl dd{color:var(--ink-dim);margin-top:var(--sp2);max-width:70ch}
/* cta end */
.cta-end{border:1px solid var(--line);background:var(--panel);padding:var(--sp6);display:flex;justify-content:space-between;align-items:center;gap:var(--sp5);flex-wrap:wrap}
.cta-end h2{border:0;padding:0;margin:0;font-size:var(--s-lg)}
.cta-end p{color:var(--ink-dim);max-width:60ch}
/* services 布局 */
.svc-head{margin-top:var(--sp5)}
.svc-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--sp6);align-items:start}
.toc{position:sticky;top:var(--sp4);font-family:var(--mono);font-size:var(--s-xs);display:flex;flex-direction:column;gap:var(--sp3);border-right:1px solid var(--line);padding-right:var(--sp4)}
.toc-t{letter-spacing:.3em;color:var(--ink-dim);text-transform:uppercase}
.toc a{color:var(--ink-dim)}
.toc a:hover{color:var(--copper);text-decoration:none}
/* about */
.about-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--sp6);margin-top:var(--sp5)}
.about-fig{order:1;border:1px solid var(--line);padding:var(--sp3);background:var(--panel)}
.about-copy{order:2}
.about-copy h1{font-size:var(--s-xl);margin-bottom:var(--sp4)}
.about-copy p{color:var(--ink-dim)}
.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp6) var(--sp7)}
.about-grid p{color:var(--ink-dim)}
/* contact */
.contact-hero{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:var(--sp6);margin-top:var(--sp5);align-items:start}
.contact-copy h1{font-size:var(--s-xl);margin-bottom:var(--sp4)}
.contact-copy p{color:var(--ink-dim)}
.mail-card{margin-top:var(--sp5);border:1px dashed var(--copper);padding:var(--sp4);font-family:var(--mono);font-size:var(--s-lg);color:var(--copper)}
.mail-card span{display:block;font-size:var(--s-xs);letter-spacing:.3em;color:var(--ink-dim)}
.contact-fig{border:1px solid var(--line);padding:var(--sp3);background:var(--panel)}
.steps-4{list-style:none;counter-reset:st;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp5)}
.steps-4 li{counter-increment:st;background:var(--panel);border:1px solid var(--line);padding:var(--sp4)}
.steps-4 li strong{font-family:var(--mono);color:var(--copper);display:block;margin-bottom:var(--sp2)}
.steps-4 li span{color:var(--ink-dim);font-size:var(--s-sm)}
/* guide */
.guide-head{margin-top:var(--sp5);margin-bottom:var(--sp6);border-bottom:1px solid var(--line);padding-bottom:var(--sp5)}
.guide h2{margin-top:var(--sp7)}
.guide p{color:var(--ink-dim);max-width:68ch;margin-bottom:var(--sp4)}
.cmp{width:100%;border-collapse:collapse;font-size:var(--s-sm);margin:var(--sp5) 0}
.cmp th,.cmp td{border:1px solid var(--line);padding:var(--sp3) var(--sp4);text-align:left}
.cmp th{font-family:var(--mono);color:var(--copper);background:var(--panel);letter-spacing:.1em}
.cmp td{color:var(--ink-dim)}
/* footer */
.site-foot{border-top:1px solid var(--line);margin-top:var(--sp8);background:var(--panel)}
.foot-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,3fr);gap:var(--sp5);padding:var(--sp6) var(--sp5)}
.foot-grid p{color:var(--ink-dim);font-size:var(--s-sm)}
.foot-grid nav{display:flex;flex-direction:column;gap:var(--sp2);font-size:var(--s-sm)}
.fine{font-family:var(--mono);font-size:var(--s-xs);align-self:end}
/* responsive */
@media(max-width:900px){
  h1{font-size:var(--s-xl)}
  .hero-block,.about-hero,.contact-hero,.svc-layout{grid-template-columns:minmax(0,1fr)}
  .cap-grid{grid-template-columns:minmax(0,1fr)}
  .flow-steps{grid-template-columns:minmax(0,1fr)}
  .items{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-grid,.steps-4{grid-template-columns:minmax(0,1fr)}
  .foot-grid{grid-template-columns:minmax(0,1fr)}
  .toc{position:static;flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line);padding:0 0 var(--sp4)}
}
@media(max-width:760px){.items{grid-template-columns:minmax(0,1fr)}}