:root{
  --ink:#152430;
  --ink-soft:#3d5262;
  --paper:#f4f7f6;
  --panel:#ffffff;
  --blue:#12507b;
  --blue-deep:#0c3a5c;
  --line:#c4d3d6;
  --accent:#1f7a8c;
  --mono:"Courier New",ui-monospace,monospace;
  --sans:"PingFang SC","Microsoft YaHei",sans-serif;
  --s-sm:12px;--s-md:16px;--s-lg:24px;--s-xl:32px;--s-2xl:48px;--s-3xl:64px;
  --fs-1:14px;--fs-2:17px;--fs-3:22px;--fs-4:30px;--fs-5:42px;--fs-6:60px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--sans);font-size:var(--fs-2);line-height:1.75;color:var(--ink);background:var(--paper)}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--s-lg)}
a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--accent)}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1{font-size:var(--fs-6);font-weight:700;line-height:1.2;letter-spacing:.02em}
h2{font-size:var(--fs-4);font-weight:700;border-left:6px solid var(--blue);padding-left:var(--s-md);letter-spacing:.04em;margin-bottom:var(--s-lg)}
h3{font-size:var(--fs-3);font-weight:600}
img{max-width:100%;height:auto}
/* header */
.site-head{background:var(--blue-deep);color:#fff;border-bottom:4px solid var(--accent)}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-md);padding-top:var(--s-md);padding-bottom:var(--s-md);flex-wrap:wrap}
.site-head nav a{color:#dcebf0;margin-right:var(--s-md);font-size:var(--fs-1);letter-spacing:.12em;text-decoration:none;padding-bottom:4px;border-bottom:2px solid transparent}
.site-head nav a:hover{color:#fff;border-bottom-color:#fff}
.site-head nav a[aria-current]{color:#fff;border-bottom-color:var(--accent)}
/* hero: 左右分栏，深色块+细网格 */
.hero-index{background:var(--blue-deep) repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 64px);color:#fff;padding:var(--s-3xl) 0}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--s-2xl);align-items:center}
.kicker{font-family:var(--mono);font-size:var(--fs-1);letter-spacing:.3em;color:#8fc3d4;margin-bottom:var(--s-md)}
.hero-copy h1{color:#fff;font-size:var(--fs-5);margin-bottom:var(--s-lg)}
.lede{color:var(--ink-soft);max-width:66ch}
.hero-copy .lede{color:#d8e6ec}
.hero-cta{margin-top:var(--s-lg);display:flex;gap:var(--s-md);flex-wrap:wrap}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:var(--s-sm) var(--s-lg);text-decoration:none;font-size:var(--fs-1);letter-spacing:.12em;border:1px solid var(--accent)}
.btn:hover{background:#17606f;color:#fff}
.btn.ghost{background:transparent;border:1px solid #8fc3d4;color:#dcebf0}
.btn.ghost:hover{border-color:#fff;color:#fff}
.hero-fig img{display:block;width:100%;border:1px solid rgba(255,255,255,.25)}
/* 内页顶部：满屏色块变体 */
.page-top{background:linear-gradient(0deg,var(--blue-deep),var(--blue-deep)) var(--blue-deep);color:#fff;padding:var(--s-2xl) 0;border-bottom:4px solid var(--accent)}
.page-top h1{font-size:var(--fs-5);margin:var(--s-md) 0}
.page-top .lede{color:#d8e6ec}
.breadcrumb{font-size:12px;letter-spacing:.12em;color:#9db6c2}
.breadcrumb a{color:#b9d2dc;text-decoration:none}
.breadcrumb a:hover{color:#fff}
.breadcrumb span{margin:0 6px}
.contact-top,.about-top{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}
.contact-top h1,.about-top h1{color:var(--blue-deep)}
.contact-top .breadcrumb a,.about-top .breadcrumb a{color:var(--ink-soft)}
.contact-top .breadcrumb span,.about-top .breadcrumb span{color:var(--line)}
.contact-grid,.about-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--s-2xl);align-items:center}
.about-fig img,.contact-fig img{width:100%;display:block;border:1px solid var(--line)}
.mail{margin-top:var(--s-md);font-family:var(--mono);font-size:var(--fs-3)}
/* 能力 */
.caps{padding:var(--s-3xl) 0}
.cap-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-lg)}
.cap{border-top:3px solid var(--blue);padding-top:var(--s-md);background:var(--panel);padding:var(--s-md)}
.cap h3{margin-bottom:var(--s-sm);color:var(--blue-deep)}
.cap p{font-size:var(--fs-1);color:var(--ink-soft)}
/* 九宫格 */
.items-sec{padding:var(--s-3xl) 0;background:var(--panel);border-top:1px solid var(--line)}
.sec-note{color:var(--ink-soft);font-size:var(--fs-1);margin-bottom:var(--s-lg)}
.items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.item{background:var(--paper);border:1px solid var(--line);padding-bottom:var(--s-md)}
.item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;border-bottom:1px solid var(--line)}
.item h2,.item h3{font-size:var(--fs-2);padding:var(--s-sm) var(--s-md) 0;color:var(--blue-deep)}
.item p{font-size:var(--fs-1);color:var(--ink-soft);padding:0 var(--s-md)}
.item ul{margin:var(--s-sm) var(--s-md) 0;padding-left:1.2em;font-size:var(--fs-1);color:var(--ink-soft)}
.item li{margin-bottom:4px}
@media(max-width:760px){.items{grid-template-columns:minmax(0,1fr)}}
/* 流程 */
.process{padding:var(--s-3xl) 0}
.steps{list-style:none;counter-reset:st}
.steps li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--s-md);padding:var(--s-md) 0;border-bottom:1px solid var(--line)}
.steps .num{font-family:var(--mono);font-size:var(--fs-4);color:var(--accent)}
.steps h3{margin-bottom:var(--s-sm)}
.steps p{color:var(--ink-soft);max-width:70ch}
/* FAQ */
.faq-mini,.contact-faq{padding:var(--s-3xl) 0;background:var(--panel);border-top:1px solid var(--line)}
.faq-mini dl,.contact-faq dl,.faq-list dl{margin-top:var(--s-md)}
dt{font-weight:600;color:var(--blue-deep);margin-top:var(--s-md);padding-left:var(--s-md);border-left:3px solid var(--accent)}
dd{color:var(--ink-soft);font-size:var(--fs-1);padding:var(--s-sm) 0 0 var(--s-md);border-left:3px solid var(--line);max-width:70ch}
.more-link{margin-top:var(--s-lg);font-size:var(--fs-1)}
/* 正文 */
.prose{padding:var(--s-3xl) 0}
.prose h2{margin-top:var(--s-2xl)}
.prose p{color:var(--ink-soft);max-width:68ch;margin-bottom:var(--s-md)}
.prose table{width:100%;border-collapse:collapse;margin:var(--s-lg) 0;font-size:var(--fs-1)}
.cmp caption{font-family:var(--mono);text-align:left;letter-spacing:.15em;color:var(--accent);padding-bottom:var(--s-sm)}
.cmp th,.cmp td{border:1px solid var(--line);padding:var(--s-sm) var(--s-md);text-align:left}
.cmp th{background:var(--blue-deep);color:#fff;font-weight:600}
.cmp tr:nth-child(even) td{background:var(--paper)}
/* CTA */
.cta{background:var(--accent);color:#fff;padding:var(--s-2xl) 0}
.cta h2{color:#fff;border-left-color:#fff}
.cta p{max-width:66ch}
.cta a{color:#dff3f7}
/* footer */
.site-foot{background:var(--blue-deep);color:#9db6c2;padding:var(--s-lg) 0;font-size:var(--fs-1)}
.foot-row{display:flex;justify-content:space-between;gap:var(--s-md);flex-wrap:wrap}
.site-foot nav a{color:#b9d2dc;text-decoration:none}
.site-foot nav a:hover{color:#fff}
/* 响应式 */
@media(max-width:900px){
  .hero-grid,.contact-grid,.about-grid{grid-template-columns:minmax(0,1fr)}
  .cap-row{grid-template-columns:minmax(0,1fr)}
  h1{font-size:var(--fs-5)}
  .hero-copy h1,.page-top h1{font-size:var(--fs-4)}
}