:root{
  --ink:#1d2226; --paper:#f2f0eb; --steel:#8a8f93;
  --accent:#c26a1f; --line:#c9c4b8; --dark:#242a2e;
  --fs-h1:clamp(2rem,5vw,3.6rem);
  --fs-h2:clamp(1.4rem,3vw,2rem);
  --fs-body:1rem; --fs-small:.8125rem;
  --sp:24px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  background:var(--paper);color:var(--ink);
  font-size:var(--fs-body);line-height:1.75;
  background-image:repeating-linear-gradient(0deg,transparent 0 31px,rgba(29,34,38,.04) 31px 32px);
}
.container{max-width:1320px;margin:0 auto;padding:0 var(--sp)}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
a:focus,button:focus{outline:2px solid var(--accent);outline-offset:2px}
/* header */
.site-header{border-bottom:3px solid var(--ink);background:var(--paper)}
.header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:16px;padding-bottom:16px}
.site-header nav a{color:var(--ink);font-size:var(--fs-small);letter-spacing:.08em;margin-left:16px;font-weight:600}
.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--accent)}
/* breadcrumb */
.breadcrumb{font-size:12px;letter-spacing:.12em;color:var(--steel);padding:16px var(--sp);max-width:1320px;margin:0 auto}
.breadcrumb a{color:var(--steel)}
.breadcrumb span{margin:0 8px}
/* hero index: split with art */
.hero-full{padding:64px var(--sp)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;border-left:8px solid var(--accent);padding-left:32px}
.kicker{font-size:var(--fs-small);letter-spacing:.3em;color:var(--steel);text-transform:uppercase;margin-bottom:16px}
h1{font-size:var(--fs-h1);line-height:1.2;font-weight:900;letter-spacing:.02em}
.lead{max-width:60ch;margin:24px 0}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:12px 32px;font-weight:700;border:none;cursor:pointer}
.btn:hover{background:var(--ink);text-decoration:none}
.btn.ghost{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.hero-art img{width:100%;height:auto;border:2px solid var(--ink)}
/* sections */
section{padding:48px var(--sp)}
.container section,section.container{padding-left:var(--sp);padding-right:var(--sp)}
h2{font-size:var(--fs-h2);font-weight:800;margin-bottom:24px;border-bottom:2px solid var(--ink);display:inline-block;padding-bottom:4px}
/* capabilities */
.caps .cap-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:2px solid var(--ink)}
.caps article{border-top:8px solid var(--steel);padding-top:16px}
.caps article:first-child{border-top-color:var(--accent)}
.caps h3{margin-bottom:12px}
/* items 9-grid (contract) */
.items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.items h2{grid-column:1/-1}
.item{border:2px solid var(--ink);padding:0 0 16px;background:#fff}
.item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;border-bottom:2px solid var(--ink)}
.item h2,.item h3{font-size:1.125rem;margin:12px 16px 8px;border:none;display:block;padding:0}
.item p{margin:0 16px 8px;font-size:var(--fs-small)}
.item ul{margin:0 16px 0 32px;font-size:var(--fs-small);color:var(--dark)}
/* process */
.steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.steps li{counter-increment:s;border-top:4px solid var(--ink);padding-top:12px}
.steps li::before{content:"0" counter(s);font-size:2rem;font-weight:900;color:var(--accent);display:block}
.steps h3{margin-bottom:8px}
/* faq */
.qa{border-left:4px solid var(--steel);padding-left:16px;margin-bottom:24px;max-width:70ch}
.qa h2,.qa h3{font-size:1.125rem;border:none;margin-bottom:8px}
/* about */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.about-body article{max-width:70ch;margin-bottom:32px}
/* contact */
.contact-hero{border-top:8px solid var(--accent)}
.contact-hero figure{margin-top:24px}
/* guide */
.guide{max-width:100%}
.guide h2{margin-top:32px}
.guide table{width:100%;border-collapse:collapse;margin:24px 0;font-size:var(--fs-small)}
.guide th,.guide td{border:1px solid var(--ink);padding:8px 12px;text-align:left}
.guide th{background:var(--dark);color:var(--paper)}
.guide-lead{max-width:70ch}
.guide p{max-width:70ch}
/* cta */
.cta{border-top:6px solid var(--ink);padding:48px var(--sp)}
.cta p{margin-bottom:24px;max-width:60ch}
/* svc intro */
.svc-intro figure{margin-top:24px}
.svc-intro figure img{width:100%;height:auto;border:2px solid var(--ink)}
/* footer */
.site-footer{background:var(--dark);color:var(--paper);padding:48px var(--sp);margin-top:48px}
.footer-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px}
.foot-name{font-weight:800}
.site-footer nav a{display:inline-block;color:var(--paper);margin-right:16px;font-size:var(--fs-small)}
.site-footer nav a:hover{color:var(--accent)}
figure img{max-width:100%;height:auto}
/* responsive */
@media(max-width:900px){
  .hero-grid,.split{grid-template-columns:1fr}
  .caps .cap-list{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .items{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:1fr}
  .header-inner{justify-content:center}
}