:root{
  --bg:#0e1a1c;
  --surface:#142528;
  --surface2:#1b3236;
  --line:#2b464a;
  --text:#dce7e5;
  --muted:#93aaa6;
  --accent:#34c99a;
  --accent-ink:#06231a;
  --fs-xs:12px;--fs-sm:14px;--fs-base:16px;--fs-lg:22px;--fs-xl:34px;--fs-hero:clamp(30px,5.5vw,56px);
  --sp1:4px;--sp2:8px;--sp3:12px;--sp4:16px;--sp5:24px;--sp6:32px;--sp7:48px;--sp8:64px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:var(--fs-base);line-height:1.8;-webkit-font-smoothing:antialiased}
.container{max-width:1240px;margin:0 auto;padding:0 var(--sp5)}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3{line-height:1.3;letter-spacing:.02em;font-weight:700;color:#f2f7f6}
.kicker{font-size:var(--fs-xs);letter-spacing:.35em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--sp4)}
.lead{max-width:64ch;color:var(--muted);font-size:var(--fs-lg);line-height:1.9}
.sec-title{font-size:var(--fs-xl);border-left:4px solid var(--accent);padding-left:var(--sp4);margin-bottom:var(--sp6)}
/* header */
.site-header{border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:10}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp5);padding-top:var(--sp3);padding-bottom:var(--sp3);flex-wrap:wrap}
.nav{display:flex;flex-wrap:wrap;gap:var(--sp5)}
.nav a{color:var(--text);font-size:var(--fs-sm);padding:var(--sp1) 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--accent);text-decoration:none}
.nav a[aria-current="page"]{border-bottom-color:var(--accent);color:var(--accent)}
/* breadcrumb */
.breadcrumb{font-size:var(--fs-xs);letter-spacing:.12em;color:var(--muted);max-width:1240px;margin:var(--sp4) auto 0;padding:0 var(--sp5)}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb span{margin:0 var(--sp2);color:var(--line)}
/* hero variants */
.hero{padding:var(--sp8) 0;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--sp7);align-items:center}
.hero h1{font-size:var(--fs-hero);margin-bottom:var(--sp5)}
.hero-actions{margin-top:var(--sp6);display:flex;gap:var(--sp4);flex-wrap:wrap}
.hero-fig img{width:100%;height:auto;display:block;border:1px solid var(--line)}
.hero-split figure img{width:100%;height:auto;display:block;border:1px solid var(--line)}
.hero-block{padding-top:var(--sp7)}
.hero-mixed .mix-grid{display:grid;grid-template-columns:1fr .9fr;gap:var(--sp7);margin-top:var(--sp5);align-items:center}
.hero-mixed img{width:100%;height:auto;border:1px solid var(--line)}
.hero-block .lead{margin-top:var(--sp5)}
/* buttons */
.btn{display:inline-block;background:var(--accent);color:var(--accent-ink);font-weight:700;padding:var(--sp3) var(--sp5);border:1px solid var(--accent);letter-spacing:.05em}
.btn:hover{background:#4fe0b2;text-decoration:none}
.btn-ghost{background:transparent;color:var(--accent)}
.btn-ghost:hover{background:rgba(52,201,154,.12)}
/* caps */
.caps{padding:var(--sp8) 0}
.caps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp5)}
.cap{border-top:2px solid var(--accent);padding-top:var(--sp4)}
.cap h3{font-size:var(--fs-lg);margin-bottom:var(--sp3)}
.cap p{color:var(--muted);font-size:var(--fs-sm);line-height:1.9}
/* svc band */
.svc-band{background:var(--surface);padding:var(--sp8) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band-note{color:var(--muted);font-size:var(--fs-sm);margin-bottom:var(--sp6);max-width:64ch}
.items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.item{background:var(--surface2);border:1px solid var(--line);padding:var(--sp3)}
.item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.item h2,.item h3{font-size:var(--fs-base);margin:var(--sp3) 0 var(--sp2);color:#f2f7f6}
.item p{color:var(--muted);font-size:var(--fs-sm)}
.item ul{margin:var(--sp2) 0 0 var(--sp4);color:var(--muted);font-size:var(--fs-sm)}
@media(max-width:760px){.items{grid-template-columns:minmax(0,1fr)}}
/* process */
.process{padding:var(--sp8) 0}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp5);counter-reset:none}
.steps li{border-top:1px dashed var(--line);padding-top:var(--sp4)}
.steps span{font-size:var(--fs-xl);color:var(--accent);font-weight:700;letter-spacing:.1em}
.steps h3{font-size:var(--fs-base);margin:var(--sp2) 0}
.steps p{color:var(--muted);font-size:var(--fs-sm)}
/* faq */
.faq-sec{background:var(--surface);padding:var(--sp8) 0;border-top:1px solid var(--line)}
.faq-list{max-width:72ch}
.faq-list details{border-bottom:1px solid var(--line);padding:var(--sp3) 0}
.faq-list summary{cursor:pointer;color:#f2f7f6;font-weight:700}
.faq-list summary:hover{color:var(--accent)}
.faq-list details[open] summary{color:var(--accent);margin-bottom:var(--sp2)}
.faq-list h2{font-size:var(--fs-lg);margin:var(--sp6) 0 var(--sp3);color:var(--accent)}
.faq-list p{color:var(--muted);font-size:var(--fs-sm)}
.more-link{margin-top:var(--sp5);font-size:var(--fs-sm);color:var(--muted)}
/* prose */
.prose{padding:var(--sp8) 0}
.prose .narrow{max-width:820px}
.prose h2{font-size:var(--fs-lg);margin:var(--sp7) 0 var(--sp3);border-bottom:1px solid var(--line);padding-bottom:var(--sp2)}
.prose p{color:var(--muted);margin-bottom:var(--sp4);line-height:2}
.prose table{width:100%;border-collapse:collapse;margin:var(--sp5) 0;font-size:var(--fs-sm)}
.prose caption{text-align:left;color:var(--muted);font-size:var(--fs-xs);letter-spacing:.1em;margin-bottom:var(--sp2)}
.prose th,.prose td{border:1px solid var(--line);padding:var(--sp2) var(--sp3);text-align:left;color:var(--muted)}
.prose th{color:#f2f7f6;background:var(--surface2)}
.steps-detail{list-style:none}
.steps-detail h3{margin:var(--sp5) 0 var(--sp2);color:var(--accent);font-size:var(--fs-base)}
/* cta */
.cta{padding:var(--sp8) 0;text-align:center;border-top:1px solid var(--line)}
.cta h2{font-size:var(--fs-xl);margin-bottom:var(--sp3)}
.cta p{color:var(--muted);margin-bottom:var(--sp6)}
/* footer */
.site-footer{background:var(--surface);border-top:1px solid var(--line);padding:var(--sp6) 0}
.footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--sp4);color:var(--muted);font-size:var(--fs-sm)}
.footer-inner nav a{color:var(--muted)}
.footer-inner nav a:hover{color:var(--accent)}
@media(max-width:900px){
  .hero-grid,.hero-mixed .mix-grid{grid-template-columns:1fr}
  .caps-grid,.steps{grid-template-columns:1fr}
  .header-inner{justify-content:center}
}