/* 建筑蓝图方向：细线、网格、标注、蓝青主色（源自晒图蓝） */
:root{
  --paper:#f2f6f8;        /* 晒图纸底色 */
  --ink:#12232e;          /* 图纸墨线 */
  --line:#c3d3dc;         /* 细网格线 */
  --blue:#0e5a8a;         /* 晒图蓝：主色，源自蓝图晒印工艺 */
  --blue-deep:#0a3d5e;
  --muted:#4a6070;
  --mono:"Courier New",ui-monospace,monospace;
  --sans:"PingFang SC","Microsoft YaHei",sans-serif;
  --s1:.8125rem;--s2:1rem;--s3:1.375rem;--s4:2rem;--s5:2.875rem;--s6:clamp(2.6rem,7vw,4.5rem);
  --sp1:4px;--sp2:8px;--sp3:12px;--sp4:16px;--sp5:24px;--sp6:32px;--sp7:48px;--sp8:64px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:var(--s2);line-height:1.8}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--sp5)}
.wrap-narrow{max-width:820px;margin:0 auto;padding:0 var(--sp5)}
a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--blue-deep);text-decoration-thickness:2px}
a:focus-visible,summary:focus-visible,.btn:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
img{max-width:100%}

/* 页头：图纸标题栏式 */
.site-head{border-bottom:2px solid var(--ink);background:var(--paper)}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp5);padding-top:var(--sp4);padding-bottom:var(--sp4);flex-wrap:wrap}
.site-head nav a{font-family:var(--mono);font-size:var(--s1);letter-spacing:.12em;color:var(--ink);text-decoration:none;margin-left:var(--sp4);padding-bottom:2px;border-bottom:2px solid transparent}
.site-head nav a:hover{border-bottom-color:var(--blue);color:var(--blue)}
.site-head nav a:focus-visible{outline-offset:6px}

/* 面包屑 */
.breadcrumb{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--muted);padding:var(--sp4) var(--sp5) 0}
.wrap .breadcrumb,.breadcrumb{max-width:1280px;margin:0 auto}
.breadcrumb a{color:var(--muted)}
.breadcrumb span{margin:0 var(--sp2)}

.kicker{font-family:var(--mono);font-size:var(--s1);letter-spacing:.28em;color:var(--blue);text-transform:uppercase;margin-bottom:var(--sp3)}
h1{font-size:var(--s6);line-height:1.15;font-weight:800;letter-spacing:-.01em}
h2{font-size:var(--s4);font-weight:700;line-height:1.3}
h3{font-size:var(--s3);font-weight:700}
.sec-title{border-left:6px solid var(--blue);padding-left:var(--sp4);margin-bottom:var(--sp4)}
.sec-sub{color:var(--muted);margin-bottom:var(--sp6)}
p{max-width:68ch}
p.lead{max-width:60ch}

/* 按钮：图纸标注方块 */
.btn{display:inline-block;font-family:var(--mono);font-size:var(--s2);letter-spacing:.1em;color:#fff;background:var(--blue);border:2px solid var(--blue-deep);padding:var(--sp3) var(--sp5);text-decoration:none}
.btn:hover{background:var(--blue-deep);color:#fff}
.btn.ghost{background:transparent;color:var(--blue)}
.btn.ghost:hover{background:var(--blue);color:#fff}

/* 首屏：左右分栏 + 图框 */
.hero-index{padding:var(--sp8) 0;border-bottom:1px solid var(--line);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;background-position:center}
.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--sp8);align-items:center}
.hero-copy .lead{margin:var(--sp5) 0}
.hero-cta{display:flex;gap:var(--sp4);flex-wrap:wrap}
.hero-fig{border:2px solid var(--ink);padding:var(--sp3);background:#fff}
.hero-fig figcaption{font-family:var(--mono);font-size:var(--s1);color:var(--muted);padding-top:var(--sp2)}
.hero-fig img{display:block;width:100%;height:auto}

/* 能力三栏：带序号边框块 */
.blocks{padding:var(--sp8) 0}
.cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp6)}
.block{border-top:3px solid var(--ink);padding-top:var(--sp4);counter-increment:block}
.block h2{font-size:var(--s3);margin-bottom:var(--sp3)}
.block h2::before{content:attr(data-n)}
.block p{color:#263a46}

/* 九宫格（契约结构） */
.items-sec{padding:var(--sp8) 0;border-top:1px solid var(--line)}
.items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:var(--sp6)}
.item{border:1px solid var(--ink);background:#fff}
.item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;border-bottom:1px solid var(--ink)}
.item h2{font-size:var(--s3);padding:var(--sp4) var(--sp4) 0}
.item p{padding:var(--sp2) var(--sp4) 0;font-size:var(--s1);color:var(--muted);line-height:1.7}
.item ul{list-style:none;padding:var(--sp3) var(--sp4) var(--sp4)}
.item li{font-size:var(--s1);padding-left:var(--sp4);position:relative;color:#263a46;margin-top:var(--sp1)}
.item li::before{content:"—";position:absolute;left:0;color:var(--blue)}
@media(max-width:760px){.items{grid-template-columns:minmax(0,1fr)}}

/* 流程 */
.process{padding:var(--sp8) 0;border-top:1px solid var(--line)}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp6);margin-top:var(--sp5)}
.steps li{border:1px solid var(--ink);padding:var(--sp4);background:#fff}
.steps li>span,.steps.rows li>span{font-family:var(--mono);font-size:var(--s4);color:var(--blue);display:block;font-weight:700}
.steps h3{font-size:var(--s2);margin:var(--sp2) 0}
.steps p{font-size:var(--s1);color:#263a46}
.steps.rows{grid-template-columns:1fr;max-width:820px}
.steps.rows li{display:grid;grid-template-columns:80px minmax(0,1fr);gap:var(--sp5);align-items:start}

/* 首页 FAQ */
.faq-home{padding:var(--sp8) 0;border-top:1px solid var(--line)}
.qa details{border-bottom:1px solid var(--line)}
.qa summary{cursor:pointer;font-weight:700;padding:var(--sp4) 0;font-size:var(--s3);list-style:none;position:relative;padding-right:var(--sp6)}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";position:absolute;right:0;top:var(--sp3);font-family:var(--mono);color:var(--blue);font-size:var(--s3)}
.qa details[open] summary::after{content:"−"}
.qa p{padding-bottom:var(--sp4);color:#263a46}
.more-link{margin-top:var(--sp5);color:var(--muted);font-size:var(--s1)}

/* CTA：满幅色块 */
.cta{background:var(--blue-deep);color:#eaf3f8;padding:var(--sp8) 0}
.cta-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp5);flex-wrap:wrap}
.cta h2{color:#fff;font-size:var(--s4)}
.cta a{color:#fff}
.cta .btn{border-color:#fff;background:#fff;color:var(--blue-deep)}
.cta .btn:hover{background:var(--paper)}

/* 内页 hero 变体 */
.sub-hero{padding:var(--sp7) 0 var(--sp6);border-bottom:1px solid var(--line)}
.sub-hero h1{font-size:var(--s5)}
.sub-hero .lead{margin-top:var(--sp4)}
.band-hero{background-image:repeating-linear-gradient(-45deg,transparent 0 14px,rgba(14,90,138,.06) 14px 15px)}
.split-hero .split{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:var(--sp8);align-items:center}
.split-hero figure{border:2px solid var(--ink);padding:var(--sp3);background:#fff}

/* 文章 */
.prose{padding:var(--sp7) 0}
.prose h2{margin:var(--sp7) 0 var(--sp4);border-bottom:1px solid var(--ink);padding-bottom:var(--sp2)}
.prose p{margin-bottom:var(--sp4)}
.article-meta{font-family:var(--mono);font-size:var(--s1);color:var(--muted);margin-top:var(--sp3);letter-spacing:.06em}
.cmp{width:100%;border-collapse:collapse;margin:var(--sp5) 0;font-size:var(--s1)}
.cmp caption{text-align:left;font-family:var(--mono);color:var(--muted);padding-bottom:var(--sp2);caption-side:top}
.cmp th,.cmp td{border:1px solid var(--ink);padding:var(--sp3) var(--sp4);text-align:left;vertical-align:top}
.cmp thead th{background:var(--blue);color:#fff;font-family:var(--mono);letter-spacing:.05em}
.cmp tbody tr:nth-child(even){background:#e6eef3}

/* 页脚 */
.site-foot{border-top:2px solid var(--ink);margin-top:var(--sp8);padding:var(--sp6) 0}
.foot-row{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr);gap:var(--sp5);align-items:start}
.foot-row nav{display:flex;flex-wrap:wrap;gap:var(--sp3) var(--sp4)}
.foot-row nav a{font-family:var(--mono);font-size:var(--s1);letter-spacing:.08em;color:var(--ink)}
.foot-note{font-size:var(--s1);color:var(--muted);margin-top:var(--sp3)}

.contact-qa{border-top:1px solid var(--line)}

/* 响应式 */
@media(max-width:900px){
  .hero-grid,.split-hero .split,.cols-3,.foot-row{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  h1{font-size:var(--s5)}
  .sub-hero h1{font-size:var(--s4)}
}
@media(max-width:760px){
  .steps{grid-template-columns:minmax(0,1fr)}
  .head-row{justify-content:center;text-align:center}
  .site-head nav a{margin:0 var(--sp2)}
  .cta-row{flex-direction:column;align-items:flex-start}
} 