:root{
  --paper:#f2ede1;
  --paper-2:#e9e2d2;
  --ink:#22282a;
  --ink-soft:#4c5659;
  --teal:#0e5f63;
  --teal-deep:#0a4548;
  --copper:#a35c2e;
  --line:#c9c0ac;
  --fs-xs:12px; --fs-s:15px; --fs-m:18px; --fs-l:28px; --fs-xl:44px; --fs-hero:clamp(38px,6vw,72px);
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:"Source Han Sans SC","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  background:var(--paper);color:var(--ink);
  font-size:var(--fs-s);line-height:1.75;
}
h1,h2,h3{font-family:"Songti SC","Noto Serif SC","STSong","SimSun",serif;line-height:1.3;color:var(--teal-deep)}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--s5)}
/* header */
.site-head{border-bottom:3px solid var(--ink);background:var(--paper)}
.head-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding-top:var(--s4);padding-bottom:var(--s4);flex-wrap:wrap}
.head-bar nav{display:flex;gap:var(--s4);flex-wrap:wrap}
.head-bar nav a{color:var(--ink);text-decoration:none;font-size:var(--fs-s);letter-spacing:.08em;padding:var(--s1) 0;border-bottom:2px solid transparent}
.head-bar nav a:hover{border-bottom-color:var(--copper)}
.head-bar nav a:focus-visible,a:focus-visible,.btn:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
/* breadcrumb */
.breadcrumb{font-size:var(--fs-xs);letter-spacing:.12em;color:var(--ink-soft);padding-top:var(--s4)}
.breadcrumb a{color:var(--ink-soft);text-decoration:none}
.breadcrumb a:hover{color:var(--copper)}
.breadcrumb span{margin:0 var(--s2)}
/* hero variants */
.kicker{font-size:var(--fs-xs);letter-spacing:.28em;color:var(--copper);text-transform:uppercase;margin-bottom:var(--s3)}
.hero{padding:var(--s8) 0}
.hero-offset{display:grid;grid-template-columns:7fr 5fr;gap:var(--s7);align-items:center}
.hero-offset h1{font-size:var(--fs-hero);font-weight:900}
.lede{max-width:38em;color:var(--ink-soft);margin:var(--s5) 0}
.hero-cta{margin-top:var(--s5);display:flex;gap:var(--s3);flex-wrap:wrap}
.btn{display:inline-block;background:var(--teal);color:var(--paper);padding:var(--s2) var(--s5);text-decoration:none;border:2px solid var(--teal);letter-spacing:.1em}
.btn:hover{background:var(--teal-deep);border-color:var(--teal-deep)}
.btn.ghost{background:transparent;color:var(--teal);border-color:var(--teal)}
.btn.ghost:hover{background:var(--teal);color:var(--paper)}
.hero-fig img{width:100%;height:auto;border:3px solid var(--ink)}
.hero-band{background:var(--teal-deep);color:var(--paper);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
.band-inner{padding:var(--s8) var(--s5)}
.band-inner h1{color:var(--paper);font-size:var(--fs-xl);font-weight:900}
.band-lede{max-width:44em;margin-top:var(--s4);font-size:var(--fs-m);color:#dfe8e6}
.hero-split{display:grid;grid-template-columns:6fr 5fr;gap:var(--s7);align-items:center}
.hero-split h1{font-size:var(--fs-xl);font-weight:900}
/* section titles */
.sec-title{font-size:var(--fs-l);margin:var(--s7) 0 var(--s4)}
.sec-note{color:var(--ink-soft);margin-bottom:var(--s5)}
/* capabilities */
.cap-block{padding:var(--s8) 0 var(--s5)}
.cap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s6);margin-top:var(--s5)}
.cap article{border-top:3px solid var(--ink);padding-top:var(--s4)}
.cap h3{font-size:var(--fs-m);margin-bottom:var(--s3)}
.cap p{color:var(--ink-soft);font-size:var(--fs-s)}
/* items grid */
.items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.item{border:2px solid var(--ink);background:var(--paper-2);padding:var(--s4)}
.item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;filter:saturate(.85)}
.item h2,.item h3{font-size:var(--fs-m);margin:var(--s3) 0 var(--s2)}
.item p{font-size:var(--fs-s);color:var(--ink-soft)}
.item ul{margin-top:var(--s2);padding-left:1.2em;font-size:var(--fs-s)}
.item li{margin-bottom:var(--s1)}
@media(max-width:760px){.items{grid-template-columns:minmax(0,1fr)}}
/* process */
.process ol{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5);counter-reset:none;margin-bottom:var(--s7)}
.process li{border-left:3px solid var(--copper);padding-left:var(--s4)}
.process li span{font-family:"Songti SC","SimSun",serif;font-size:var(--fs-l);color:var(--copper);font-weight:700}
.process h3{font-size:var(--fs-m);margin:var(--s1) 0}
.process p{font-size:var(--fs-s);color:var(--ink-soft)}
/* faq */
.faq-home dl div,.faq-list h2{border-top:1px solid var(--line)}
.faq-home dl div{padding:var(--s3) 0}
.faq-home dt{font-weight:700;font-family:"Songti SC","SimSun",serif}
.faq-home dd{color:var(--ink-soft);margin-top:var(--s1)}
.faq-home dl{margin-bottom:var(--s5)}
.faq-list h2{font-size:var(--fs-m);color:var(--teal-deep);padding:var(--s3) 0 var(--s1)}
.faq-list p{color:var(--ink-soft);padding-bottom:var(--s3)}
/* about */
.about-fig{padding:var(--s6) var(--s5) 0}
.about-fig img{width:100%;height:auto;border:3px solid var(--ink)}
.about-text{max-width:1080px;padding-bottom:var(--s6)}
.about-text article{margin-top:var(--s6);max-width:46em}
.about-text h2{font-size:var(--fs-l);margin-bottom:var(--s3)}
.about-text p{color:var(--ink-soft)}
/* services intro / delivery */
.svc-intro{padding:var(--s7) 0 var(--s5)}
.svc-intro h1{font-size:var(--fs-xl);font-weight:900;margin-bottom:var(--s4)}
.svc-intro p{max-width:46em;color:var(--ink-soft)}
.svc-delivery{max-width:1080px;margin:var(--s7) auto;padding:0 var(--s5)}
.svc-delivery h2{font-size:var(--fs-l);margin-bottom:var(--s3)}
.svc-delivery p{max-width:46em;color:var(--ink-soft)}
/* article */
.article{padding:var(--s6) var(--s5)}
.article h1{font-size:var(--fs-xl);font-weight:900;max-width:22em}
.article-meta{font-size:var(--fs-xs);letter-spacing:.12em;color:var(--ink-soft);margin:var(--s2) 0 var(--s4)}
.article h2{font-size:var(--fs-l);margin:var(--s6) 0 var(--s3)}
.article p{max-width:46em;color:var(--ink-soft);margin-bottom:var(--s3)}
.article table{width:100%;border-collapse:collapse;margin:var(--s4) 0;font-size:var(--fs-s);max-width:100%}
.article th,.article td{border:1px solid var(--ink);padding:var(--s2) var(--s3);text-align:left}
.article th{background:var(--paper-2);font-family:"Songti SC","SimSun",serif}
.article a{color:var(--teal);text-decoration:underline}
.article a:hover{color:var(--copper)}
/* cta */
.cta-band{background:var(--ink);color:var(--paper);margin-top:var(--s7);border-top:3px solid var(--copper)}
.cta-band .wrap{padding:var(--s7) var(--s5)}
.cta-band h2{color:var(--paper);font-size:var(--fs-l)}
.cta-band p{color:#cfd8d6;margin:var(--s3) 0 var(--s4);max-width:40em}
.cta-band .btn{background:var(--copper);border-color:var(--copper)}
.cta-band .btn:hover{background:#8a4d26;border-color:#8a4d26}
.cta-band a{color:#e8dcc8}
/* footer */
.site-foot{border-top:3px solid var(--ink);background:var(--paper-2)}
.foot-grid{display:flex;justify-content:space-between;gap:var(--s5);padding:var(--s5);flex-wrap:wrap}
.foot-name{font-family:"Songti SC","SimSun",serif;font-weight:700}
.site-foot nav{display:flex;gap:var(--s4);flex-wrap:wrap}
.site-foot nav a{color:var(--ink-soft);text-decoration:none}
.site-foot nav a:hover{color:var(--copper)}
/* responsive */
@media(max-width:900px){
  .hero-offset,.hero-split{grid-template-columns:minmax(0,1fr)}
  .cap{grid-template-columns:minmax(0,1fr)}
  .process ol{grid-template-columns:minmax(0,1fr)}
  .hero{padding:var(--s6) 0}
}
img{max-width:100%}