:root{
  --paper:#f3ecdd;
  --paper-deep:#e9dfc8;
  --ink:#2b2620;
  --ink-soft:#5c5346;
  --red:#a84632;      /* 土红：来自复古印刷油墨 */
  --blue:#3d5a66;     /* 石青，低饱和打底 */
  --line:#c8bda4;
  --fs-xs:12px; --fs-s:14px; --fs-m:17px; --fs-l:24px; --fs-xl:38px; --fs-xxl:64px;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px;
  --serif:"Songti SC","STSong","SimSun","Noto Serif SC",serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:var(--fs-m);line-height:1.9;
  background-image:repeating-linear-gradient(0deg,rgba(43,38,32,.015) 0 1px,transparent 1px 4px)}
a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--blue)}
a:focus,button:focus{outline:2px solid var(--blue);outline-offset:2px}
.wrap{max-width:1200px;margin:0 auto;padding:0 var(--s5)}
.wrap.narrow{max-width:760px}
h1,h2,h3{font-weight:700;line-height:1.35;letter-spacing:.04em}
h1{font-size:var(--fs-xxl)}
h2{font-size:var(--fs-xl);border-bottom:3px double var(--ink);padding-bottom:var(--s2);margin-bottom:var(--s5)}
h3{font-size:var(--fs-l)}
p{max-width:64ch}
.kicker{font-size:var(--fs-s);letter-spacing:.4em;color:var(--red);text-transform:uppercase}
.lede{font-size:var(--fs-m);color:var(--ink-soft)}
.sec-lede{color:var(--ink-soft);margin-bottom:var(--s5)}

/* header */
.site-head{border-bottom:3px solid var(--ink);background:var(--paper)}
.head-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s4);padding-top:var(--s4);padding-bottom:var(--s4)}
.logo{height:32px;width:auto}
.site-head ul{display:flex;flex-wrap:wrap;gap:var(--s5);list-style:none}
.site-head a{text-decoration:none;color:var(--ink);font-size:var(--fs-s);letter-spacing:.15em;padding-bottom:var(--s1);border-bottom:2px solid transparent}
.site-head a:hover{border-bottom-color:var(--red)}
.site-head a[aria-current]{border-bottom-color:var(--red);color:var(--red)}

/* breadcrumb */
.breadcrumb{font-size:var(--fs-xs);letter-spacing:.12em;color:var(--ink-soft);padding:var(--s3) var(--s5)}
.wrap .breadcrumb{padding:var(--s3) 0}
.breadcrumb a{color:var(--ink-soft);text-decoration:none}
.breadcrumb a:hover{color:var(--red)}
.breadcrumb span{margin:0 var(--s2)}

/* hero variants */
.hero{padding:var(--s8) 0 var(--s6)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s7);align-items:center}
.hero h1{font-size:var(--fs-xxl);margin:var(--s3) 0 var(--s4)}
.actions{margin-top:var(--s5)}
.btn{display:inline-block;background:var(--ink);color:var(--paper);padding:var(--s2) var(--s5);text-decoration:none;font-size:var(--fs-s);letter-spacing:.2em;border:2px solid var(--ink)}
.btn:hover{background:var(--red);border-color:var(--red);color:#fff}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.hero-fig img{width:100%;height:auto;display:block;border:1px solid var(--line)}
.strip img,.block-hero img,.type-hero img{width:100%;height:auto;display:block;border:1px solid var(--line);margin-top:var(--s5)}
.hero.stagger h1{margin-left:var(--s7)}
.type-hero h1{letter-spacing:.2em}
.type-hero .lede{max-width:58ch;margin-top:var(--s4)}

/* band */
.band{padding:var(--s8) 0}
.band h2{margin-bottom:var(--s6)}
.cap-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s6)}
.cap-list article{border-top:4px solid var(--red);padding-top:var(--s4)}
.cap-list article:nth-child(2){border-top-color:var(--blue)}
.cap-list article:nth-child(3){border-top-color:var(--ink)}
.cap-list h3{margin-bottom:var(--s2)}

/* nine items */
.items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.items-wrap .items{margin-top:var(--s5)}
.item{border:1px solid var(--line);background:var(--paper-deep);padding:var(--s4)}
.item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;filter:sepia(.18) contrast(1.02)}
.item h2{font-size:var(--fs-l);border-bottom:2px solid var(--ink);margin:var(--s3) 0 var(--s2);padding-bottom:var(--s1)}
.item p{font-size:var(--fs-s);color:var(--ink-soft);margin-bottom:var(--s2)}
.item ul{list-style:none;font-size:var(--fs-s)}
.item li{padding-left:var(--s4);position:relative;color:var(--ink-soft)}
.item li::before{content:"▪";position:absolute;left:0;color:var(--red)}

/* steps */
.steps{list-style:none;counter-reset:st;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5)}
.steps.vertical{grid-template-columns:minmax(0,1fr);max-width:64ch}
.steps li{counter-increment:st;border-left:4px solid var(--ink);padding-left:var(--s4)}
.steps li h3::before{content:counter(st,decimal-leading-zero);display:block;font-size:var(--fs-s);color:var(--red);letter-spacing:.2em}
.steps li h3{font-size:var(--fs-m);margin-bottom:var(--s1)}
.steps li p{font-size:var(--fs-s);color:var(--ink-soft)}

/* faq dl */
dl dt{font-weight:700;margin-top:var(--s4);letter-spacing:.05em}
dl dd{color:var(--ink-soft);margin-bottom:var(--s2)}
.faq-band{background:var(--paper-deep);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}

/* prose */
.prose p{margin-bottom:var(--s4)}
.prose h2{margin-top:var(--s7)}
.table-wrap{overflow-x:auto;margin:var(--s5) 0}
table{border-collapse:collapse;width:100%;font-size:var(--fs-s)}
caption{text-align:left;font-size:var(--fs-xs);letter-spacing:.2em;color:var(--red);padding-bottom:var(--s2)}
th,td{border:1px solid var(--line);padding:var(--s2) var(--s3);text-align:left}
th{background:var(--paper-deep);letter-spacing:.1em}

/* cta */
.cta{background:var(--blue);color:var(--paper);text-align:left}
.cta h2{border-bottom-color:var(--paper);color:var(--paper)}
.cta p{color:var(--paper)}
.cta a{color:var(--paper)}
.cta .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.cta .btn:hover{background:var(--red);color:#fff;border-color:var(--red)}

/* footer */
.site-foot{border-top:3px solid var(--ink);padding:var(--s6) 0;font-size:var(--fs-s);color:var(--ink-soft)}
.site-foot nav{margin-top:var(--s2)}
.site-foot a{color:var(--ink-soft);text-decoration:none;margin-right:var(--s1)}
.site-foot a:hover{color:var(--red)}

@media(max-width:900px){
  .hero-grid,.cap-list{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  h1{font-size:var(--fs-xl)}
  .hero.stagger h1{margin-left:0}
}
@media(max-width:760px){
  .items{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:minmax(0,1fr)}
  .head-row{flex-direction:column;align-items:flex-start}
}