:root{
  --ink:#16232e;
  --blue:#17466e;
  --blue-deep:#0e2f4b;
  --paper:#f4f6f8;
  --line:#9db4c8;
  --line-soft:#d4dde4;
  --copper:#b5673a;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --fs-h1:clamp(2rem,4.5vw,3.2rem);
  --fs-h2:clamp(1.35rem,2.5vw,1.75rem);
  --fs-h3:1.05rem;
  --fs-body:1rem;
  --fs-small:.85rem;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  color:var(--ink);background:var(--paper);
  background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);
  background-size:48px 48px;
  line-height:1.75;font-size:var(--fs-body);
}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--s5)}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:2px solid var(--copper);outline-offset:2px}
h1,h2,h3{font-weight:700;color:var(--blue-deep);line-height:1.3}
h1{font-size:var(--fs-h1);letter-spacing:.02em}
h2{font-size:var(--fs-h2);border-left:6px solid var(--copper);padding-left:var(--s3);margin-bottom:var(--s5)}
h3{font-size:var(--fs-h3);margin-bottom:var(--s2)}
p{max-width:68ch}
.num{font-family:var(--mono)}
section{margin:var(--s8) 0}
/* header */
.site-header{background:var(--blue-deep);border-bottom:4px solid var(--copper)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:var(--s3);padding-bottom:var(--s3);gap:var(--s3)}
.site-header img{display:block}
nav.mainnav ul{display:flex;gap:var(--s4);list-style:none;flex-wrap:wrap}
nav.mainnav a{color:#e8eef4;font-size:var(--fs-small);padding:var(--s1) var(--s2);display:block}
nav.mainnav a:hover{color:#fff;text-decoration:none;border-bottom:2px solid var(--copper)}
/* breadcrumb */
.breadcrumb{font-size:12px;letter-spacing:.08em;color:#5c6d7c;margin:var(--s5) 0}
.breadcrumb a{color:#5c6d7c}
.breadcrumb span{margin:0 var(--s1)}
/* hero variants */
.hero-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--s7);align-items:center;padding:var(--s8) 0}
.hero-band{background:var(--blue-deep);color:#dce6ee;padding:var(--s8) 0}
.hero-band h1{color:#fff}
.hero-band .kicker{color:var(--copper);font-family:var(--mono);font-size:var(--fs-small);letter-spacing:.2em;margin-bottom:var(--s3)}
.lead{font-size:1.06rem;margin:var(--s4) 0 var(--s5);color:#31424f}
.hero-band .lead{color:#c3d1dc}
.btn{display:inline-block;background:var(--copper);color:#fff;padding:var(--s3) var(--s5);border:2px solid var(--copper);font-weight:600}
.btn:hover{background:#9a562f;text-decoration:none;color:#fff}
.btn.ghost{background:transparent;color:var(--blue)}
.btn.ghost:hover{background:var(--blue);color:#fff}
/* panel */
.panel{background:#fff;border:1px solid var(--line);padding:var(--s5);position:relative}
.panel::before{content:"";position:absolute;inset:8px;border:1px dashed var(--line-soft);pointer-events:none}
.panel h3{position:relative}
.panel p{position:relative}
/* items grid */
.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(--line)}
.item{background:#fff;border:1px solid var(--line);padding-bottom:var(--s4)}
.item h2{border:none;padding:0;font-size:1.02rem;margin:var(--s3) var(--s4) var(--s1)}
.item p{margin:0 var(--s4) var(--s2);font-size:var(--fs-small);color:#3d4e5c}
.item ul{margin:0 var(--s4);padding-left:1.1em;font-size:var(--fs-small);color:#4c5e6d}
@media(max-width:760px){.items{grid-template-columns:minmax(0,1fr)}}
/* steps */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5)}
.step{border-top:4px solid var(--blue);padding-top:var(--s3)}
.step .no{font-family:var(--mono);font-size:1.6rem;color:var(--copper);display:block;margin-bottom:var(--s1)}
/* faq */
.faq details{background:#fff;border:1px solid var(--line);margin-bottom:var(--s2)}
.faq summary{padding:var(--s3) var(--s4);cursor:pointer;font-weight:600;color:var(--blue-deep)}
.faq details[open] summary{border-bottom:1px solid var(--line-soft)}
.faq .a{padding:var(--s3) var(--s4)}
/* table */
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);margin:var(--s5) 0}
th,td{border:1px solid var(--line-soft);padding:var(--s2) var(--s3);text-align:left;font-size:var(--fs-small)}
th{background:var(--blue-deep);color:#fff;font-weight:600}
/* cta */
.cta{background:var(--blue-deep);color:#dce6ee;padding:var(--s7) 0;text-align:center}
.cta h2{border:none;color:#fff;padding:0}
/* footer */
.site-footer{background:var(--ink);color:#9fb0bd;padding:var(--s7) 0 var(--s5);margin-top:var(--s8)}
.site-footer a{color:#c8d4de}
.site-footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--s6)}
.site-footer ul{list-style:none}
.site-footer .fine{margin-top:var(--s6);border-top:1px solid #33424e;padding-top:var(--s3);font-size:var(--fs-small)}
/* misc */
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s6);align-items:start}
.measure{max-width:68ch}
figure img{display:block;width:100%;height:auto;border:1px solid var(--line)}
figcaption{font-size:var(--fs-small);color:#5c6d7c;margin-top:var(--s1)}
.tag{font-family:var(--mono);font-size:var(--fs-small);color:var(--copper);letter-spacing:.15em;display:block;margin-bottom:var(--s2)}
@media(max-width:900px){
  .hero-split,.two-col,.steps,.site-footer .cols{grid-template-columns:minmax(0,1fr)}
  .steps{gap:var(--s4)}
}