:root{
  --paper:#f6f1e6;
  --paper-deep:#ece4d2;
  --ink:#26221a;
  --muted:#6d6555;
  --bronze:#8a5a2b;
  --bronze-deep:#5e3d1e;
  --line:#d5cbB5;
  --line:#d5cbb5;
  --serif:"Songti SC","Noto Serif SC","STSong",serif;
  --sans:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  --fs-12:12px; --fs-14:14px; --fs-16:16px; --fs-20:20px; --fs-28:28px;
  --fs-hero:clamp(40px,6.5vw,76px);
  --sp-4:4px; --sp-8:8px; --sp-12:12px; --sp-16:16px; --sp-24:24px; --sp-32:32px; --sp-48:48px; --sp-64:64px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--fs-16);line-height:1.75}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--sp-24)}
a{color:var(--bronze-deep);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--bronze)}
a:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}
h1,h2,h3{font-family:var(--serif);font-weight:700;letter-spacing:.02em;line-height:1.3}
h1{font-size:var(--fs-hero);margin:var(--sp-16) 0 var(--sp-24)}
h2{font-size:var(--fs-28);margin:var(--sp-32) 0 var(--sp-16)}
h3{font-size:var(--fs-20);margin:var(--sp-24) 0 var(--sp-8)}
p{margin:0 0 var(--sp-16)}
/* header */
.site-header{border-bottom:2px solid var(--ink);background:var(--paper)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-24);flex-wrap:wrap;padding-top:var(--sp-16);padding-bottom:var(--sp-16)}
.bar nav{display:flex;gap:var(--sp-24);flex-wrap:wrap}
.bar nav a{text-decoration:none;font-size:var(--fs-14);letter-spacing:.08em;color:var(--ink)}
.bar nav a:hover,.bar nav a[aria-current="page"]{color:var(--bronze-deep);text-decoration:underline}
/* breadcrumb */
.breadcrumb{font-size:12px;letter-spacing:.06em;color:var(--muted);display:flex;gap:var(--sp-8);margin:var(--sp-16) 0}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--bronze-deep)}
/* hero variants */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--sp-48);padding-top:var(--sp-48);padding-bottom:var(--sp-48);align-items:center}
.kicker{font-size:var(--fs-14);letter-spacing:.3em;color:var(--bronze-deep);border-top:3px solid var(--bronze);display:inline-block;padding-top:var(--sp-8);margin:0 0 var(--sp-16)}
.lede{font-size:var(--fs-16);max-width:42em}
.hero-fig img{width:100%;height:auto;display:block;border:1px solid var(--ink)}
.btn{display:inline-block;background:var(--ink);color:var(--paper);padding:var(--sp-12) var(--sp-24);text-decoration:none;font-size:var(--fs-14);letter-spacing:.1em;border:1px solid var(--ink)}
.btn:hover{background:var(--bronze-deep);border-color:var(--bronze-deep);color:var(--paper)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--paper-deep);color:var(--bronze-deep)}
/* capabilities */
.cap{padding-top:var(--sp-32);padding-bottom:var(--sp-32)}
.rule-title{font-size:var(--fs-28);border-bottom:1px solid var(--ink);padding-bottom:var(--sp-12)}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-24)}
.cap-grid article{border-left:3px solid var(--bronze);padding-left:var(--sp-16)}
/* band + items */
.band{background:var(--paper-deep);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:var(--sp-48) 0}
.items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.item{border-top:2px solid var(--ink);padding-top:var(--sp-12)}
.item h2{font-size:var(--fs-20);margin:var(--sp-12) 0 var(--sp-8)}
.item ul{margin:var(--sp-8) 0 0;padding-left:1.2em;font-size:var(--fs-14);color:var(--muted)}
.item ul li{margin-bottom:var(--sp-4)}
/* process */
.process{padding-top:var(--sp-48);padding-bottom:var(--sp-48)}
.steps{list-style:none;margin:0;padding:0;counter-reset:st}
.steps li{display:grid;grid-template-columns:180px 1fr;gap:var(--sp-24);padding:var(--sp-16) 0;border-bottom:1px solid var(--line)}
.steps b{font-family:var(--serif);color:var(--bronze-deep);letter-spacing:.05em}
.steps span{color:var(--muted)}
/* faq */
.faq{padding-bottom:var(--sp-48)}
.qa h3{font-size:var(--fs-20);margin-top:var(--sp-24)}
.qa h3::before{content:"问 ";color:var(--bronze);font-size:var(--fs-14)}
.qa p{color:var(--muted);border-left:1px solid var(--line);padding-left:var(--sp-12);max-width:46em}
.more a{font-size:var(--fs-14)}
/* cta */
.cta{background:var(--ink);color:var(--paper);padding:var(--sp-64) 0}
.cta h2{color:var(--paper);border-bottom:1px solid var(--bronze);padding-bottom:var(--sp-12)}
.cta p{max-width:40em}
.cta .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.cta .btn:hover{background:var(--bronze);color:var(--paper);border-color:var(--bronze)}
.cta .btn.ghost{background:transparent;color:var(--paper);border-color:var(--paper)}
.cta .btn.ghost:hover{background:transparent;color:var(--bronze)}
/* split hero (about) */
.split-hero{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-48);align-items:end;padding-top:var(--sp-32);padding-bottom:var(--sp-32)}
.split-hero figure,.offset-fig{margin:0}
.split-hero img,.offset-fig img{width:100%;height:auto;display:block;border:1px solid var(--ink)}
.prose-blocks{padding-top:var(--sp-32);padding-bottom:var(--sp-48)}
.prose-blocks article{max-width:46em;margin-bottom:var(--sp-32);border-top:1px solid var(--ink);padding-top:var(--sp-16)}
/* offset hero (contact) */
.offset-hero{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-32);padding-top:var(--sp-32);padding-bottom:var(--sp-32)}
.offset-copy{padding-top:var(--sp-64)}
.offset-fig{transform:translateY(var(--sp-24))}
.mail-line{font-family:var(--serif);font-size:var(--fs-20);border:1px solid var(--ink);padding:var(--sp-12) var(--sp-16);display:inline-block}
/* full band (services) */
.full-band{background:var(--bronze-deep);color:var(--paper);padding:var(--sp-48) 0 var(--sp-32);margin-bottom:var(--sp-48)}
.full-band h1{color:var(--paper)}
.full-band .breadcrumb,.full-band .breadcrumb a{color:#cbb89a}
.full-band .lede{color:var(--paper)}
/* article (guide) */
.article{padding-top:var(--sp-32);padding-bottom:var(--sp-64)}
.article h1{font-size:var(--fs-28);margin-top:var(--sp-8)}
.article p{max-width:44em}
.article h2{border-bottom:1px solid var(--line);padding-bottom:var(--sp-8)}
.compare{width:100%;border-collapse:collapse;margin:var(--sp-16) 0 var(--sp-32);font-size:var(--fs-14)}
.compare th,.compare td{border:1px solid var(--ink);padding:var(--sp-8) var(--sp-12);text-align:left;vertical-align:top}
.compare th{background:var(--paper-deep);font-family:var(--serif)}
/* list hero (faq) */
.list-hero{padding-top:var(--sp-32);padding-bottom:var(--sp-16)}
.list-hero h1{font-size:var(--fs-28);margin-top:var(--sp-8)}
/* footer */
.site-footer{border-top:2px solid var(--ink);background:var(--paper-deep);padding:var(--sp-32) 0;margin-top:var(--sp-32)}
.site-footer p{font-size:var(--fs-14);color:var(--muted);margin-bottom:var(--sp-8)}
.site-footer nav a{font-size:var(--fs-14)}
/* responsive */
@media(max-width:900px){
  .hero,.split-hero,.offset-hero,.cap-grid{grid-template-columns:minmax(0,1fr)}
  .items{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps li{grid-template-columns:1fr;gap:var(--sp-8)}
  .offset-fig{transform:none}
  .offset-copy{padding-top:0}
}
@media(max-width:760px){
  .items{grid-template-columns:minmax(0,1fr)}
}