/* 编辑杂志网格方向：衬线大标题、细分割线、混合栏宽、克制两色 */
:root{
--paper:#f7f3ec;      /* 米白纸张底色 */
--ink:#1d1c1a;        /* 墨黑 */
--accent:#1f4e45;     /* 深青绿，取自油墨叠印的沉稳主色 */
--accent-2:#b0642f;   /* 低饱和赭石，辅助强调 */
--muted:#6b655c;
--line:#d8d1c4;
--fs-hero:clamp(2.4rem,6vw,4.2rem);
--fs-h1:clamp(1.9rem,4vw,2.8rem);
--fs-h2:1.5rem;
--fs-h3:1.125rem;
--fs-body:1rem;
--fs-small:.8125rem;
--sp-4:4px;--sp-8:8px;--sp-12:12px;--sp-16:16px;--sp-24:24px;--sp-32:32px;--sp-48:48px;--sp-64:64px;
--serif:"Songti SC","Noto Serif SC","Source Han Serif SC",Georgia,serif;
--sans:"PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);line-height:1.8}
.container{max-width:1280px;margin:0 auto;padding:0 var(--sp-24)}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--accent-2)}
a:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}
img{max-width:100%}
h1,h2,h3,.lede{font-family:var(--serif);font-weight:700;letter-spacing:.02em}
/* header */
.site-header{border-bottom:2px solid var(--ink);background:var(--paper)}
.header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-16);padding-top:var(--sp-16);padding-bottom:var(--sp-16)}
.brand img{display:block}
.site-nav{display:flex;flex-wrap:wrap;gap:var(--sp-24);font-size:var(--fs-small);letter-spacing:.08em}
.site-nav a{color:var(--ink);text-decoration:none;padding:var(--sp-4) 0;border-bottom:2px solid transparent}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--accent);border-bottom-color:var(--accent)}
/* breadcrumb */
.breadcrumb{font-size:12px;letter-spacing:.06em;color:var(--muted);padding-top:var(--sp-16)}
.breadcrumb span{margin:0 var(--sp-8)}
/* hero：图文错位 */
.hero-grid{display:grid;grid-template-columns:7fr 5fr;gap:var(--sp-48);align-items:start;padding-top:var(--sp-64);padding-bottom:var(--sp-64)}
.kicker{font-size:var(--fs-small);letter-spacing:.24em;text-transform:uppercase;color:var(--accent-2);border-top:1px solid var(--line);padding-top:var(--sp-12);margin-bottom:var(--sp-16)}
.hero-text h1{font-size:var(--fs-hero);line-height:1.15;margin-bottom:var(--sp-24);letter-spacing:.01em}
.lede{font-size:1.0625rem;line-height:1.9;margin-bottom:var(--sp-24)}
.hero-fig{margin-top:var(--sp-64);border-top:3px solid var(--ink)}
.hero-fig img{display:block;width:100%;height:auto}
/* buttons */
.btn{display:inline-block;font-family:var(--sans);font-size:var(--fs-small);letter-spacing:.12em;padding:var(--sp-12) var(--sp-24);background:var(--accent);color:#fff;text-decoration:none;border:1px solid var(--accent)}
.btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}
.btn-inverse{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn-inverse:hover{background:#fff;border-color:#fff;color:var(--accent)}
/* bands */
.band{background:#efe9de;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--sp-48) 0;margin:var(--sp-32) 0}
.sec{padding:var(--sp-32) 0}
.sec-title{font-size:var(--fs-h1);margin-bottom:var(--sp-32)}
.sec-head{max-width:44em;margin-bottom:var(--sp-32)}
.sec-head h2{font-size:var(--fs-h1)}
.sec-head p{color:var(--muted);margin-top:var(--sp-8)}
/* capabilities: 一条主叙述加两条侧注的变体 */
.cap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-32)}
.cap{border-top:2px solid var(--ink);padding-top:var(--sp-16)}
.cap h3{font-size:var(--fs-h3);color:var(--accent);margin-bottom:var(--sp-12)}
.cap p{font-size:.9375rem}
/* 9 items 九宫格契约 */
.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}
.item{border-top:1px solid var(--line);padding-top:var(--sp-12)}
.item h2{font-size:var(--fs-h3);margin:var(--sp-12) 0 var(--sp-8)}
.item p{font-size:.9375rem;margin-bottom:var(--sp-12)}
.item ul{list-style:none;font-size:var(--fs-small);color:var(--muted)}
.item li{padding:var(--sp-4) 0;border-top:1px dotted var(--line)}
/* process */
.process{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-24);counter-reset:step}
.process li{border-left:2px solid var(--accent);padding-left:var(--sp-16)}
.step-no{font-family:var(--serif);font-size:1.75rem;color:var(--accent-2)}
.process h3{font-size:var(--fs-h3);margin:var(--sp-8) 0}
.process p{font-size:.9375rem}
/* faq */
.faq-cols{display:grid;grid-template-columns:4fr 8fr;gap:var(--sp-48)}
.faq-list details{border-top:1px solid var(--line);padding:var(--sp-16) 0}
.faq-list summary{cursor:pointer;font-family:var(--serif);font-weight:700;font-size:1.0625rem;list-style-position:outside}
.faq-list summary:hover{color:var(--accent)}
.faq-list p{margin-top:var(--sp-12);max-width:68ch}
.faq-list.wide{max-width:none}
.more-link{margin-top:var(--sp-32);border-top:2px solid var(--ink);padding-top:var(--sp-16)}
/* cta */
.cta{background:var(--accent);color:#fff;padding:var(--sp-64) 0;margin-top:var(--sp-32)}
.cta h2{font-size:var(--fs-h1);margin-bottom:var(--sp-16)}
.cta p{margin-bottom:var(--sp-16)}
/* footer */
.site-footer{border-top:2px solid var(--ink);margin-top:var(--sp-64);padding:var(--sp-32) 0}
.footer-grid{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--sp-16)}
.site-footer nav{display:flex;flex-wrap:wrap;gap:var(--sp-16);font-size:var(--fs-small)}
.site-footer nav a{color:var(--ink);text-decoration:none}
.site-footer nav a:hover{color:var(--accent)}
.copy{font-size:var(--fs-small);color:var(--muted);width:100%}
/* services 页首屏：满幅色带 + 图文对置 */
.page-intro.full{background:var(--accent);color:#fff;padding:var(--sp-48) 0}
.page-intro.full .lede{color:#fff;max-width:70ch}
.page-intro.full h1{font-size:var(--fs-h1);margin-bottom:var(--sp-16)}
.intro-grid{display:grid;grid-template-columns:7fr 5fr;gap:var(--sp-48);align-items:center}
.intro-fig img{display:block;border:3px solid #fff}
.note-band{border-top:2px solid var(--ink);margin-top:var(--sp-48);padding-top:var(--sp-24)}
/* about 章节页首屏 */
.chapter{padding-top:var(--sp-32)}
.chapter-no{font-size:var(--fs-small);letter-spacing:.24em;color:var(--accent-2);margin-bottom:var(--sp-8)}
.chapter-head h1{font-size:var(--fs-hero);border-bottom:3px solid var(--ink);padding-bottom:var(--sp-16)}
.chapter-fig{margin:var(--sp-32) 0}
.chapter-fig img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.article-body h2{font-size:var(--fs-h2);margin:var(--sp-48) 0 var(--sp-16);border-left:4px solid var(--accent);padding-left:var(--sp-16)}
.article-body p{max-width:70ch;margin-bottom:var(--sp-16)}
/* contact 分栏 */
.contact-hero{display:grid;grid-template-columns:5fr 7fr;gap:var(--sp-48);padding-top:var(--sp-32);padding-bottom:var(--sp-32)}
.contact-hero h1{font-size:var(--fs-h1);margin-bottom:var(--sp-16)}
.contact-fig img{display:block;border-top:3px solid var(--ink);padding-top:var(--sp-12)}
.contact-right h2{font-size:var(--fs-h2);margin-bottom:var(--sp-24)}
.steps{list-style:none}
.steps li{border-top:1px solid var(--line);padding:var(--sp-16) 0}
.steps h3{font-size:var(--fs-h3);color:var(--accent)}
.steps p{font-size:.9375rem;margin-top:var(--sp-8);max-width:64ch}
/* guide / faq 头部变体 */
.guide-head{padding-top:var(--sp-32)}
.guide-head h1{font-size:var(--fs-hero);margin-bottom:var(--sp-16)}
.guide-head .lede{max-width:70ch}
.guide-fig{margin:var(--sp-32) 0}
.guide-fig img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.faq-hero{border-bottom:3px solid var(--ink);padding:var(--sp-48) 0;margin-bottom:var(--sp-32)}
.faq-hero h1{font-size:var(--fs-hero);margin-bottom:var(--sp-16)}
.faq-hero .lede{max-width:68ch}
/* 表格 */
.cmp{width:100%;border-collapse:collapse;margin:var(--sp-24) 0;font-size:.9375rem}
.cmp th,.cmp td{border:1px solid var(--line);padding:var(--sp-12);text-align:left;vertical-align:top}
.cmp thead th{background:var(--accent);color:#fff;font-family:var(--serif)}
.cmp tbody tr:nth-child(even){background:#efe9de}
/* responsive */
@media(max-width:900px){
.hero-grid,.cap-grid,.faq-cols,.intro-grid,.contact-hero{grid-template-columns:minmax(0,1fr)}
.process{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero-fig{margin-top:0}
}
@media(max-width:760px){
.items{grid-template-columns:minmax(0,1fr)}
.process{grid-template-columns:minmax(0,1fr)}
}