:root{
  --paper:#f2ead8; --paper-2:#e9dfc8; --ink:#22302e; --primary:#14555c; --primary-dk:#0e3d43;
  --accent:#b4552d; --accent-lt:#e07a45; --muted:#5d6b66;
  --fs-xs:12px; --fs-s:14px; --fs-b:16px; --fs-m:22px; --fs-l:34px; --fs-xl:56px;
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px; --sp-7:48px; --sp-8:64px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Georgia,"Songti SC","SimSun",serif;background:var(--paper);color:var(--ink);font-size:var(--fs-b);line-height:1.8}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--sp-5)}
.narrow{max-width:860px}
h1,h2,h3{font-family:"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.3}
h1{font-size:var(--fs-xl);font-weight:800;letter-spacing:.02em;color:var(--primary-dk)}
h2{font-size:var(--fs-l);color:var(--primary-dk);margin-bottom:var(--sp-5)}
h3{font-size:var(--fs-m)}
a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--accent)}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* header */
.site-head{border-bottom:3px double var(--primary-dk);background:var(--paper)}
.head-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5)}
.site-head nav a{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:var(--fs-s);text-decoration:none;margin-left:var(--sp-4);letter-spacing:.06em;padding:var(--sp-1) 0;border-bottom:2px solid transparent}
.site-head nav a:hover{border-bottom-color:var(--accent)}
/* breadcrumb */
.breadcrumb{font-family:sans-serif;font-size:var(--fs-xs);letter-spacing:.08em;color:var(--muted);margin:var(--sp-5) 0}
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb span{margin:0 var(--sp-2)}
/* hero variants */
.hero{padding:var(--sp-8) 0}
.hero.split{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--sp-8);align-items:center}
.hero .lead{font-size:var(--fs-m);max-width:38em;margin-top:var(--sp-4)}
.hero.band{border-bottom:1px solid var(--paper-2);padding:var(--sp-7) 0}
.hero-fig img{width:100%;height:auto;display:block;border:1px solid var(--primary-dk)}
.hero-actions{margin-top:var(--sp-5);display:flex;gap:var(--sp-4);flex-wrap:wrap}
/* buttons */
.btn{display:inline-block;font-family:"PingFang SC",sans-serif;font-size:var(--fs-s);letter-spacing:.1em;padding:var(--sp-3) var(--sp-6);background:var(--primary);color:#fff;text-decoration:none;border:2px solid var(--primary)}
.btn:hover{background:var(--primary-dk);border-color:var(--primary-dk);color:#fff}
.btn.ghost{background:transparent;color:var(--primary)}
.btn.ghost:hover{background:var(--paper-2);color:var(--primary-dk)}
/* sections */
section{margin-bottom:var(--sp-8)}
.sec-lead{max-width:42em;margin-bottom:var(--sp-5)}
/* capabilities */
.cap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-6)}
.cap{border-top:3px solid var(--accent);padding-top:var(--sp-4)}
.cap h3{margin-bottom:var(--sp-3);color:var(--primary-dk)}
/* process */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-5);counter-reset:none}
.steps li{border-left:2px solid var(--primary);padding-left:var(--sp-4)}
.step-n{font-family:Georgia,serif;font-size:var(--fs-l);color:var(--accent);display:block;line-height:1.2}
.steps h3{font-size:var(--fs-b);margin:var(--sp-2) 0;color:var(--primary-dk)}
.steps p{font-size:var(--fs-s);color:var(--muted)}
/* faq */
.faq dl dt,.faq-list dt{font-family:"PingFang SC",sans-serif;font-weight:700;color:var(--primary-dk);margin-top:var(--sp-5);font-size:var(--fs-b)}
.faq dl dd,.faq-list dd{color:var(--ink);max-width:44em;font-size:var(--fs-s);line-height:1.9}
.faq-list h2{font-size:var(--fs-m);border-bottom:1px solid var(--paper-2);padding-bottom:var(--sp-2)}
/* about */
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--sp-8);align-items:start}
.about-grid img{width:100%;height:auto;border:1px solid var(--primary-dk)}
.about-text h2{font-size:var(--fs-m);margin:var(--sp-6) 0 var(--sp-3)}
.about-text p{max-width:44em;font-size:var(--fs-s);line-height:2}
/* items grid (contract) */
.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;border:1px solid var(--primary-dk);filter:saturate(.85)}
.item h2,.item h3{font-size:var(--fs-b);margin:var(--sp-3) 0 var(--sp-1);color:var(--primary-dk)}
.item p{font-size:var(--fs-s);color:var(--muted)}
.item ul{margin:var(--sp-2) 0 0;padding-left:var(--sp-4);font-size:var(--fs-s);color:var(--ink)}
.item ul li{margin-bottom:var(--sp-1)}
/* table */
table{width:100%;border-collapse:collapse;font-size:var(--fs-s);margin:var(--sp-5) 0}
th,td{border:1px solid var(--primary-dk);padding:var(--sp-3) var(--sp-4);text-align:left}
th{background:var(--primary);color:#fff;font-family:"PingFang SC",sans-serif;letter-spacing:.05em}
tbody tr:nth-child(even){background:var(--paper-2)}
/* guide article */
article h2{font-size:var(--fs-m);margin:var(--sp-7) 0 var(--sp-3)}
article p{max-width:44em;margin-bottom:var(--sp-4);line-height:2}
article figure{margin:var(--sp-5) 0}
article figure img{width:100%;max-width:640px;height:auto;border:1px solid var(--primary-dk)}
/* cta */
.cta{border:3px double var(--primary-dk);padding:var(--sp-7);text-align:left;margin:var(--sp-8) 0}
.cta h2{margin-bottom:var(--sp-2)}
.cta p{color:var(--muted);margin-bottom:var(--sp-4)}
/* footer */
.site-foot{border-top:3px double var(--primary-dk);padding:var(--sp-6) 0;margin-top:var(--sp-8)}
.site-foot p{font-size:var(--fs-s);color:var(--muted)}
.site-foot nav{font-size:var(--fs-xs);color:var(--muted);margin-top:var(--sp-2);font-family:sans-serif;letter-spacing:.06em}
.site-foot nav a{color:var(--muted)}
@media(max-width:900px){
  .hero.split,.cap-grid,.about-grid{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:minmax(0,1fr)}
  h1{font-size:var(--fs-l)}
  :root{--fs-xl:34px}
}
@media(max-width:760px){.items{grid-template-columns:minmax(0,1fr)}}
@media(min-width:901px) and (max-width:1100px){.items{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}