/* 区块页：沿用官网头尾，正文使用独立、可组合的版式。 */
.cms-block-page { background:#fff; color:#222; }
.cms-block-page section { box-sizing:border-box; }
.cb-hero { position:relative; min-height:640px; display:flex; align-items:center; background:#252525 center/cover no-repeat; color:#fff; padding:110px 8vw; }
.cb-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.18)); }
.cb-hero-inner { position:relative; z-index:1; width:min(760px,100%); }
.cb-eyebrow { margin-bottom:20px; font-size:12px; letter-spacing:.24em; text-transform:uppercase; opacity:.78; }
.cb-title { margin:0 0 22px; font-size:clamp(38px,5vw,72px); line-height:1.12; font-weight:400; letter-spacing:.01em; }
.cb-text { margin:0 0 26px; max-width:680px; font-size:16px; line-height:1.9; color:inherit; opacity:.88; }
.cb-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 28px; border:1px solid currentColor; color:inherit; text-decoration:none; font-size:13px; letter-spacing:.12em; transition:background .2s,color .2s; }
.cb-button:hover { background:#fff; color:#222; }
.cb-heading { padding:96px 8vw 36px; text-align:center; }
.cb-heading .cb-title, .cb-cta .cb-title { color:#222; font-size:clamp(32px,4vw,54px); }
.cb-heading .cb-eyebrow, .cb-cta .cb-eyebrow { color:#a58c6b; opacity:1; }
.cb-heading .cb-text, .cb-cta .cb-text { margin-left:auto; margin-right:auto; color:#666; }
.cb-rich { padding:32px 8vw 88px; }
.cb-rich-inner { width:min(920px,100%); margin:0 auto; color:#444; font-size:16px; line-height:2; }
.cb-rich-inner h1,.cb-rich-inner h2,.cb-rich-inner h3 { color:#222; font-weight:400; line-height:1.35; }
.cb-rich-inner img { max-width:100%; height:auto; }
.cb-split { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(40px,7vw,110px); align-items:center; padding:88px 8vw; }
.cb-split.cb-reverse { direction:rtl; }
.cb-split.cb-reverse > * { direction:ltr; }
.cb-split-media img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.cb-split-body .cb-title { color:#222; font-size:clamp(30px,3.6vw,48px); }
.cb-split-body .cb-eyebrow { color:#a58c6b; opacity:1; }
.cb-split-body .cb-text { color:#666; }
.cb-split-body .cb-button { color:#222; }
.cb-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1px; background:#e8e3dc; margin:0 8vw 88px; }
.cb-stat { background:#f7f4ef; padding:38px 24px; text-align:center; }
.cb-stat strong { display:block; color:#a58c6b; font-size:clamp(30px,3vw,46px); font-weight:400; line-height:1; }
.cb-stat span { display:block; margin-top:12px; color:#666; font-size:13px; letter-spacing:.08em; }
.cb-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:0 8vw 88px; }
.cb-gallery figure { margin:0; overflow:hidden; background:#f2efe9; }
.cb-gallery img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; transition:transform .45s; }
.cb-gallery figure:hover img { transform:scale(1.03); }
.cb-gallery figcaption { padding:10px 12px; color:#777; font-size:12px; }
.cb-cta { padding:96px 8vw; text-align:center; background:#f7f4ef; }
.cb-cta .cb-button { color:#222; }
.cb-spacer { width:100%; }
.cb-error { padding:40px 8vw; color:#999; text-align:center; }
@media (max-width: 900px) {
  .cb-hero { min-height:520px; padding:80px 6vw; }
  .cb-heading,.cb-rich,.cb-split,.cb-cta { padding-left:6vw; padding-right:6vw; }
  .cb-split { grid-template-columns:1fr; gap:32px; }
  .cb-split.cb-reverse { direction:ltr; }
  .cb-stats { grid-template-columns:repeat(2,1fr); margin-left:6vw; margin-right:6vw; }
  .cb-gallery { grid-template-columns:repeat(2,1fr); padding-left:6vw; padding-right:6vw; }
}
@media (max-width: 560px) {
  .cb-stats,.cb-gallery { grid-template-columns:1fr; }
}

/* 企业历程 */
.cb-timeline { width:min(1100px,84vw); margin:70px auto 96px; border-top:1px solid #e8e3dc; }
.cb-timeline-item { display:grid; grid-template-columns:180px 1fr; gap:40px; padding:30px 0; border-bottom:1px solid #e8e3dc; }
.cb-timeline-year { color:#a58c6b; font-size:34px; font-weight:400; line-height:1; }
.cb-timeline-body strong { display:block; color:#222; font-size:16px; font-weight:500; line-height:1.8; }
.cb-timeline-body p { margin:6px 0 0; color:#666; font-size:14px; line-height:1.9; white-space:pre-line; }
@media (max-width:700px) { .cb-timeline { width:88vw; } .cb-timeline-item { grid-template-columns:1fr; gap:10px; } .cb-timeline-year { font-size:26px; } }

/* 新闻资讯 */
.cb-news { padding:20px 8vw 90px; }
.cb-news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; width:min(1200px,100%); margin:0 auto; }
.cb-news-card { display:block; color:inherit; text-decoration:none; background:#f7f4ef; }
.cb-news-card img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.cb-news-body { padding:20px 22px 24px; }
.cb-news-body time { color:#a58c6b; font-size:12px; letter-spacing:.08em; }
.cb-news-body h3 { margin:10px 0 8px; color:#222; font-size:18px; font-weight:500; line-height:1.5; }
.cb-news-body p { margin:0; color:#777; font-size:13px; line-height:1.8; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cb-news-card:hover h3 { color:#a58c6b; }
@media (max-width:900px) { .cb-news-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .cb-news-grid { grid-template-columns:1fr; } }

/* 导航锚点与固定头部留白 */
.cms-block-page [id] { scroll-margin-top: 92px; }
html { scroll-behavior:smooth; }

/* 视频中心 */
.cb-video { padding:20px 8vw 90px; border-top:1px solid #e8e3dc; }
.cb-video-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; width:min(1200px,100%); margin:0 auto; }
.cb-video-grid figure { margin:0; background:#111; }
.cb-video-grid video { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; background:#111; }
.cb-video-grid figcaption { padding:12px 14px; color:#777; font-size:13px; background:#f7f4ef; }
@media (max-width:900px) { .cb-video-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .cb-video-grid { grid-template-columns:1fr; } }

/* 图片放大 */
.cb-gallery img, .cb-split-media img { cursor: zoom-in; }
.cb-lightbox { position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; padding:4vh 4vw; background:rgba(0,0,0,.94); }
.cb-lightbox.is-open { display:flex; }
.cb-lightbox figure { margin:0; display:flex; flex-direction:column; align-items:center; gap:14px; max-width:100%; max-height:100%; }
.cb-lightbox img { display:block; max-width:92vw; max-height:86vh; object-fit:contain; }
.cb-lightbox figcaption { color:rgba(255,255,255,.72); font-size:13px; line-height:1.6; text-align:center; }
.cb-lightbox-close { position:absolute; top:20px; right:26px; width:40px; height:40px; border:1px solid rgba(255,255,255,.35); background:transparent; color:#fff; font-size:26px; line-height:1; cursor:pointer; }
.cb-lightbox-close:hover { background:rgba(255,255,255,.12); }

/* 二维码等需要完整显示的图片 */
.cb-split.cb-contain .cb-split-media img { object-fit:contain; background:#f7f4ef; }

/* 客户案例：保留原图比例，最后一行自动铺满，不显示重复图注 */
.cb-gallery.cb-gallery-cases { display:flex; flex-wrap:wrap; gap:10px; }
.cb-gallery-cases figure { flex:1 1 calc(33.333% - 10px); min-width:240px; background:#f7f4ef; }
.cb-gallery-cases img { aspect-ratio:auto; width:100%; height:auto; object-fit:contain; }
.cb-gallery-cases figcaption { display:none; }
@media (max-width:700px) { .cb-gallery-cases figure { flex-basis:calc(50% - 10px); min-width:0; } }
@media (max-width:480px) { .cb-gallery-cases figure { flex-basis:100%; } }
