:root{
  --bg:#141d27;
  --bg2:#1b2632;
  --line:#33424f;
  --ink:#dde5ec;
  --ink-dim:#93a3b1;
  --copper:#c98a5b;
  --copper-strong:#e2a173;
  --fs-1:.8125rem;
  --fs-2:1rem;
  --fs-3:1.25rem;
  --fs-4:1.75rem;
  --fs-5:2.75rem;
  --fs-6:4.25rem;
  --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}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  font-size:var(--fs-2);
  line-height:1.75;
  color:var(--ink);
  background-color:var(--bg);
  background-image:
    linear-gradient(rgba(51,66,79,.28) 1px,transparent 1px),
    linear-gradient(90deg,rgba(51,66,79,.28) 1px,transparent 1px);
  background-size:48px 48px;
}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--sp-5)}
.narrow{max-width:860px}
h1,h2,h3{font-weight:700;line-height:1.25;letter-spacing:.02em}
h1{font-size:clamp(var(--fs-4),6vw,var(--fs-6));margin:var(--sp-5) 0}
h2{font-size:var(--fs-3);color:var(--copper);border-left:3px solid var(--copper);padding-left:var(--sp-3);margin:var(--sp-8) 0 var(--sp-5);text-transform:uppercase;letter-spacing:.12em}
h3{font-size:var(--fs-2);margin:0 0 var(--sp-2)}
p{max-width:68ch}
a{color:var(--copper-strong);text-decoration:none;border-bottom:1px solid var(--line)}
a:hover{color:var(--ink);border-bottom-color:var(--copper-strong)}
a:focus-visible,.btn:focus-visible{outline:2px solid var(--copper-strong);outline-offset:3px}
.btn{
  display:inline-block;border:1px solid var(--copper);color:var(--copper-strong);
  padding:var(--sp-3) var(--sp-5);font-family:ui-monospace,Consolas,monospace;
  font-size:var(--fs-1);letter-spacing:.14em;text-transform:uppercase;border-radius:0
}
.btn:hover{background:var(--copper);color:var(--bg);border-color:var(--copper)}
.btn.ghost{border-color:var(--line);color:var(--ink-dim)}
.btn.ghost:hover{border-color:var(--copper-strong);color:var(--copper-strong);background:none}
.tag{font-family:ui-monospace,Consolas,monospace;font-size:var(--fs-1);color:var(--ink-dim);letter-spacing:.1em;margin:var(--sp-6) 0 0}
.lede{font-size:var(--fs-3);line-height:1.8;color:var(--ink)}
.cta-row{display:flex;gap:var(--sp-4);flex-wrap:wrap;margin-top:var(--sp-5)}

/* header / footer */
.site-head{border-bottom:1px solid var(--line);background:var(--bg2)}
.head-grid{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding-top:var(--sp-4);padding-bottom:var(--sp-4);flex-wrap:wrap}
.head-grid img{display:block}
nav[aria-label] a{border:none;margin-right:var(--sp-4);font-size:var(--fs-1);letter-spacing:.12em;color:var(--ink-dim);text-transform:uppercase}
nav[aria-label] a:hover{color:var(--copper-strong)}
nav[aria-label] a[aria-current]{color:var(--copper);border-bottom:2px solid var(--copper);padding-bottom:2px}
.site-foot{border-top:1px solid var(--line);margin-top:var(--sp-8);background:var(--bg2)}
.foot-grid{display:flex;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;padding-top:var(--sp-5);padding-bottom:var(--sp-5);color:var(--ink-dim);font-size:var(--fs-1)}
.foot-grid nav a{margin-left:var(--sp-4);margin-right:0}

/* breadcrumb */
.breadcrumb{font-size:var(--fs-1);letter-spacing:.08em;color:var(--ink-dim);margin:var(--sp-5) 0 0}
.breadcrumb a{color:var(--ink-dim)}
.breadcrumb a:hover{color:var(--copper-strong)}
.breadcrumb span{margin:0 var(--sp-2)}

/* hero variants — 每页不同结构 */
.hero{margin-bottom:var(--sp-8)}
.hero-offset{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--sp-6);align-items:center;border-left:1px solid var(--line);padding-left:var(--sp-6)}
.hero-img,.hero img{width:100%;height:auto;display:block;border:1px solid var(--line)}
.hero-band{display:block;background:var(--bg2);border:1px solid var(--line);padding:var(--sp-6)}
.hero-band img{margin-top:var(--sp-6)}
.hero-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-6);align-items:start;border-top:1px solid var(--copper);padding-top:var(--sp-5)}
.hero-type h1{margin-top:var(--sp-6);border-bottom:1px solid var(--line);padding-bottom:var(--sp-5)}

/* capabilities — 主叙述+侧注式非对称 */
.caps{border-top:1px solid var(--line);padding-top:var(--sp-5)}
.cap{border-left:1px solid var(--line);padding:0 0 0 var(--sp-5);margin-bottom:var(--sp-6)}
.cap:first-of-type{border-left:3px solid var(--copper)}
.cap h3{color:var(--copper-strong);font-family:ui-monospace,Consolas,monospace;letter-spacing:.08em}

/* 9-item grid（契约结构） */
.items{margin-top:var(--sp-7)}
.items h2{margin-top:var(--sp-6)}
.items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.items > h2{grid-column:1/-1}
.item{border:1px solid var(--line);padding:var(--sp-4);background:var(--bg2)}
.item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;border:1px solid var(--line)}
.item h2{border:none;padding:0;margin:var(--sp-3) 0 var(--sp-2);font-size:var(--fs-2);color:var(--ink);letter-spacing:.04em}
.item p{font-size:var(--fs-1);color:var(--ink-dim);margin:0 0 var(--sp-3)}
.item ul{margin:0;padding-left:var(--sp-4);font-size:var(--fs-1);color:var(--ink-dim)}
.item li{margin-bottom:var(--sp-1)}
@media(max-width:760px){.items{grid-template-columns:minmax(0,1fr)}}

/* process */
.steps{list-style:none;margin:0;padding:0;counter-reset:none}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-5)}
.steps li{border-top:2px solid var(--copper);padding-top:var(--sp-3)}
.steps span{font-family:ui-monospace,Consolas,monospace;font-size:var(--fs-4);color:var(--copper)}
.steps p{font-size:var(--fs-1);color:var(--ink-dim)}
.steps-tall li p{font-size:var(--fs-2);color:var(--ink)}

/* faq */
.faq dt,.qa dt{font-weight:700;color:var(--copper-strong);margin-top:var(--sp-4)}
.faq dd,.qa dd{margin:var(--sp-2) 0 0;color:var(--ink);max-width:68ch}

/* about */
.about-grid{border-top:1px solid var(--line);padding-top:var(--sp-4);margin-bottom:var(--sp-5)}
.about-grid h2{margin-top:var(--sp-3)}

/* guide */
table{width:100%;border-collapse:collapse;margin:var(--sp-5) 0;font-size:var(--fs-1)}
caption{text-align:left;color:var(--ink-dim);padding-bottom:var(--sp-2);letter-spacing:.08em}
th,td{border:1px solid var(--line);padding:var(--sp-2) var(--sp-3);text-align:left}
th{background:var(--bg2);color:var(--copper);font-family:ui-monospace,Consolas,monospace;letter-spacing:.08em}
article h2{margin-top:var(--sp-7)}

/* cta */
.cta{border:1px solid var(--copper);padding:var(--sp-6);margin:var(--sp-8) 0;text-align:left}
.cta h2{border:none;padding:0;margin:0 0 var(--sp-3)}
.cta p{color:var(--ink-dim)}

@media(max-width:900px){
  .hero-offset,.hero-split,.steps{grid-template-columns:minmax(0,1fr)}
  .hero-offset{border-left:none;padding-left:0}
  h1{font-size:clamp(var(--fs-4),9vw,var(--fs-5))}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}