* { margin:0; padding:0; box-sizing:border-box; font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Source Han Sans CN",sans-serif; }
:root { --gold:#a88b5e; --gold-light:#c4a87a; --dark:#222; --light-bg:#f8f5f0; }
body { color:#333; line-height:1.6; }
.container { max-width:1600px; margin:0 auto; padding:0 20px; }

/* ===== Header ===== */
header { background:#fff; box-shadow:0 2px 6px rgba(0,0,0,.05); position:sticky; top:0; z-index:99; }
.header-wrap { max-width:1600px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; padding:16px 20px; }
.logo { display:flex; align-items:center; gap:10px; }
.logo-text h1 { font-size:24px; color:var(--dark); font-weight:600; }
.logo-text p { font-size:14px; color:var(--gold); letter-spacing:2px; }

/* PC导航 */
nav > ul { display:flex; list-style:none; gap:36px; }
nav > ul > li { position:relative; }
nav > ul > li > a { text-decoration:none; color:#333; font-size:16px; transition:color .3s; display:block; padding:4px 0; }
nav > ul > li > a:hover { color:var(--gold); }
/* 二级下拉 */
nav .submenu { position:absolute; top:100%; left:50%; transform:translateX(-50%); background:#fff; box-shadow:0 6px 20px rgba(0,0,0,.1); border-radius:8px; padding:10px 0; min-width:180px; list-style:none; opacity:0; visibility:hidden; transition:all .3s; z-index:100; }
nav > ul > li:hover .submenu { opacity:1; visibility:visible; }
nav .submenu li a { display:block; padding:10px 20px; color:#555; text-decoration:none; font-size:14px; white-space:nowrap; transition:all .2s; }
nav .submenu li a:hover { background:var(--light-bg); color:var(--gold); padding-left:24px; }

.header-right { display:flex; align-items:center; gap:20px; }
.tel { font-size:18px; font-weight:600; display:flex; align-items:center; gap:6px; color:var(--dark); }
.tel svg { width:20px; height:20px; flex-shrink:0; }
/* 设计稿里「立即咨询」是 <button>，后台 head.html 出来的是 <a>，必须显式去下划线 */
.btn-gold,
.btn-gold:link, .btn-gold:visited, .btn-gold:hover, .btn-gold:active {
  text-decoration:none;
}
.btn-gold { background:var(--gold); color:#fff; border:none; padding:10px 24px; border-radius:6px; font-size:16px; cursor:pointer; transition:opacity .3s; display:inline-block; }
.btn-gold:hover { opacity:.85; }
.mobile-menu { display:none; font-size:24px; cursor:pointer; width:40px; height:40px; align-items:center; justify-content:center; border-radius:6px; }

/* 移动端下拉菜单 */
.mobile-nav { display:none; position:absolute; top:100%; left:0; right:0; background:#fff; box-shadow:0 4px 12px rgba(0,0,0,.1); z-index:98; max-height:calc(100vh - 80px); overflow-y:auto; }
.mobile-nav.open { display:block; }
.mobile-nav > .m-item { border-bottom:1px solid #f0f0f0; }
.mobile-nav > .m-item > a { display:flex; justify-content:space-between; align-items:center; padding:14px 24px; color:#333; text-decoration:none; font-size:16px; }
.mobile-nav > .m-item > a .arrow { transition:transform .3s; font-size:12px; color:#999; }
.mobile-nav > .m-item.open > a .arrow { transform:rotate(180deg); }
.mobile-nav .m-submenu { display:none; background:#fafafa; padding:0; }
.mobile-nav > .m-item.open .m-submenu { display:block; }
.mobile-nav .m-submenu a { display:block; padding:12px 24px 12px 40px; color:#666; text-decoration:none; font-size:14px; border-top:1px solid #f0f0f0; }
.mobile-nav .m-submenu a:hover { color:var(--gold); }

/* ===== Banner ===== */
.banner { position:relative; width:100%; height:calc(100vh - 93px); min-height:500px; overflow:hidden; }
.banner-track { display:flex; width:300%; height:100%; transition:transform .6s ease; }
.banner-slide { width:33.333%; height:100%; position:relative; }
.banner-slide img { width:100%; height:100%; object-fit:cover; display:block; }
/* 2026-09-23 客户要求：banner 图上不加任何半透明黑色图层。
   原 .banner-overlay（黑/渐变遮罩）连同 HTML 里的元素一并移除，底图保持通透。
   文字可读性改由「大标题金色 + 小标题深色 + 极轻阴影」承担。 */
/* 2026-09-23 图文分离：文字改由模板渲染后台 title/subtitle，叠加在底图上。
   同日客户要求整体上移（52% -> 30%），让文字压在底图的天空/远景段。 */
.banner-content { position:absolute; top:30%; left:50%; transform:translate(-50%,-50%); text-align:center; z-index:2; width:90%; max-width:1200px; }
/* 2026-09-24 客户要求：banner 上的文字一律不要阴影（底图已换成无字实景图，文字清爽些） */
.banner-content h2 { font-size:56px; font-weight:600; margin-bottom:20px; line-height:1.25; color:var(--gold); }
.banner-content p { font-size:26px; line-height:1.6; color:#1a1a1a; }
.banner-arrow { position:absolute; top:50%; transform:translateY(-50%); width:50px; height:50px; background:rgba(255,255,255,.3); backdrop-filter:blur(4px); border:none; color:#fff; font-size:24px; cursor:pointer; z-index:10; border-radius:50%; display:flex; align-items:center; justify-content:center; transition:background .3s; }
.banner-arrow:hover { background:rgba(255,255,255,.5); }
.banner-arrow.prev { left:30px; }
.banner-arrow.next { right:30px; }
.banner-dots { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); display:flex; gap:12px; z-index:10; }
.banner-dot { width:14px; height:14px; border-radius:50%; background:rgba(255,255,255,.4); cursor:pointer; transition:all .3s; border:none; }
.banner-dot.active { background:#fff; width:36px; border-radius:7px; }

/* ===== About ===== */
.about { background:var(--light-bg); padding:80px 0; }
.about-wrap { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.about-left .tag { color:var(--gold); font-size:18px; margin-bottom:8px; }
.about-left h3 { font-size:42px; margin-bottom:24px; }
.about-left p { font-size:16px; color:#444; margin-bottom:20px; }
.btn-more { display:inline-block; background:var(--gold); color:#fff; padding:14px 36px; border-radius:6px; text-decoration:none; margin-top:16px; transition:opacity .3s; }
.btn-more:hover { opacity:.85; }
.about-right {}
.about-right img { width:100%; display:block; }
/* 2行2列 */
.about-data { max-width:1600px; margin:40px auto 0; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; background:#fff; padding:40px; border-radius:12px; box-shadow:0 4px 20px rgba(0,0,0,.06); }
.data-item { text-align:center; padding:20px 0; }
.data-num { font-size:48px; color:var(--gold); font-weight:bold; }
.data-num span { font-size:24px; }
.data-desc { font-size:16px; color:#555; margin-top:4px; }

/* ===== Product & Business ===== */
.product-business { padding:80px 0; overflow:hidden; }
.section-title { text-align:center; font-size:42px; margin-bottom:40px; }
/* 2026-09-23 客户要求：底图铺满整屏（不再受 1400 内容区收窄），
   但金色卡片与左右切换箭头必须保留，且要和整站版心对齐。
   做法：底图 100% 宽；卡片走 .business-inner、箭头圆点走 .business-layer，
   两者都是「1400 容器 + 水平居中」的绝对定位层，叠在全屏底图上。 */
.business-carousel { position:relative; width:100%; margin:0; overflow:hidden; }
.business-track { display:flex; gap:0; transition:transform .6s ease; will-change:transform; }
.business-slide { flex:0 0 100%; position:relative; height:min(76vh,760px); min-height:460px; }
.business-slide > img { width:100%; height:100%; object-fit:cover; display:block; }
/* 卡片所在层：1400 容器居中，不拦截鼠标（只有卡片自己接管） */
.business-inner,
.business-layer { position:absolute; top:0; bottom:0; left:0; right:0; margin:0 auto; max-width:1400px; padding:0 20px; }
.business-inner { pointer-events:none; }
.business-card { position:absolute; top:50%; right:13%; transform:translateY(-50%); width:42%; max-width:600px; background:rgba(168,139,94,.95); color:#fff; padding:36px 40px; border-radius:12px; pointer-events:auto; }
.business-card h4 { font-size:28px; margin-bottom:16px; }
.business-card p { margin-bottom:12px; font-size:15px; line-height:1.75; }
.card-btn { display:inline-block; margin-top:20px; padding:12px 32px; border-radius:30px; border:none; background:#fff; color:var(--gold); font-size:16px; cursor:pointer; text-decoration:none; transition:transform .3s; }
.card-btn:hover { transform:scale(1.05); }
/* 箭头与圆点：独立图层，只对齐 1400 容器，不跟着全屏底图跑偏 */
.business-layer { pointer-events:none; z-index:6; }
.business-layer .business-arrow,
.business-layer .business-dots { pointer-events:auto; }
.business-arrow { position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; border:none; background:rgba(255,255,255,.28); backdrop-filter:blur(4px); color:#fff; font-size:22px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .3s; }
.business-arrow:hover { background:rgba(255,255,255,.5); }
.business-arrow.prev { left:20px; }
.business-arrow.next { right:20px; }
.business-dots { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); display:flex; gap:10px; }
.business-dot { width:12px; height:12px; border-radius:50%; border:none; background:rgba(255,255,255,.45); cursor:pointer; padding:0; transition:all .3s; }
.business-dot.active { background:#fff; width:30px; border-radius:6px; }

/* ===== Qualification ===== */
/* 2026-09-23 客户要求：资质荣誉 / 知识产权 各用一张独立背景图。
   2026-09-23 晚更新：客户出正式设计图，改指新文件
     .qualification            资质荣誉 -> images/rybg.jpg
     .qualification.ip-section 知识产权 -> images/zscqbg.jpg
   旧图 bg-qual.jpg / bg-ip.jpg 服务器上保留，需要回滚改回文件名即可。
   ★ 遮罩同步下调：新图是深色调设计稿，原 .66 近黑遮罩压上去整块几乎全黑、
     图案完全看不出来（实测背景亮度只剩 10）。两张图底子明暗不同，分别取值：
       rybg  底子暗（整块均亮 ≈99）-> .40
       zscqbg 底子亮（整块均亮 ≈135）-> .50
     两边调完的视觉亮度接近，白字压在图上仍清晰。 */
.qualification { background:linear-gradient(rgba(9,13,19,.40),rgba(9,13,19,.40)),#111 url(../images/rybg.jpg?v=2) center/cover no-repeat; color:#fff; padding:80px 0; }
.qualification.ip-section { background:linear-gradient(rgba(9,13,19,.50),rgba(9,13,19,.50)),#111 url(../images/zscqbg.jpg) center/cover no-repeat; }
.qual-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-bottom:30px; }
.qual-title { font-size:42px; }
.tab-group { display:flex; gap:12px; }
.tab { padding:10px 28px; border-radius:30px; border:none; cursor:pointer; transition:all .3s; background:rgba(255,255,255,.14); color:#fff; font-size:15px; font-family:inherit; line-height:1.4; }
.tab:hover { background:rgba(255,255,255,.26); }
.tab.active { background:var(--gold); color:#fff; }
.tab.active:hover { background:var(--gold); }
/* 箭头完全在证书外面：carousel无padding，track有左右margin留箭头空间 */
/* 证书：箭头完全在carousel外侧，用wrapper包裹 */
.cert-wrapper { position:relative; }
.cert-carousel { overflow:hidden; margin:0 64px; }
.cert-track { display:flex; gap:20px; transition:transform .5s ease; cursor:grab; will-change:transform; user-select:none; -webkit-user-select:none; }
.cert-track.dragging { transition:none; cursor:grabbing; }
.cert-item { flex:0 0 calc((100% - 80px) / 5); cursor:zoom-in; }
.cert-item img { width:100%; border-radius:4px; display:block; transition:transform .3s; }
.cert-item:hover img { transform:scale(1.03); }
.cert-nav { position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; background:rgba(255,255,255,.15); border:none; color:#fff; font-size:20px; cursor:pointer; z-index:10; border-radius:50%; display:flex; align-items:center; justify-content:center; transition:background .3s; }
.cert-nav:hover { background:rgba(255,255,255,.3); }
.cert-nav.prev { left:0; }
.cert-nav.next { right:0; }

/* Lightbox */
.lightbox { display:none; position:fixed; inset:0; background:rgba(0,0,0,.85); z-index:9999; align-items:center; justify-content:center; padding:40px; }
.lightbox.show { display:flex; }
.lightbox img { max-width:85%; max-height:85vh; border-radius:8px; box-shadow:0 10px 60px rgba(0,0,0,.5); object-fit:contain; }
.lightbox-close { position:absolute; top:30px; right:40px; width:50px; height:50px; border-radius:50%; background:rgba(255,255,255,.15); border:none; color:#fff; font-size:28px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .3s; z-index:2; }
.lightbox-close:hover { background:rgba(255,255,255,.3); }
.lightbox-nav { position:absolute; top:50%; transform:translateY(-50%); width:56px; height:56px; border-radius:50%; background:rgba(255,255,255,.15); border:none; color:#fff; font-size:24px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .3s; z-index:2; }
.lightbox-nav:hover { background:rgba(255,255,255,.3); }
.lightbox-nav.prev { left:40px; }
.lightbox-nav.next { right:40px; }
.lightbox-counter { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); color:#fff; font-size:16px; opacity:.8; }

/* ===== News ===== */
.news { padding:80px 0; background:#f5f5f5; }
.news-wrap { display:grid; grid-template-columns:280px 1fr; gap:40px; align-items:stretch; }
.news-left { display:flex; flex-direction:column; justify-content:space-between; }
.news-left h3 { font-size:42px; margin-bottom:12px; }
.news-left .sub { font-size:20px; color:#666; margin-bottom:40px; }
.news-pager { display:flex; align-items:center; gap:16px; margin-bottom:30px; }
.news-pager button { width:36px; height:36px; border-radius:50%; border:1px solid #ccc; background:transparent; color:#999; font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .3s; }
.news-pager button:hover { border-color:var(--gold); color:var(--gold); }
.news-pager .page-num { font-size:28px; font-weight:300; color:#333; }
.news-pager .page-num span { font-size:18px; color:#999; }
.news-explore { display:inline-flex; align-items:center; gap:12px; background:linear-gradient(135deg,var(--gold),var(--gold-light)); color:#fff; padding:16px 36px; border-radius:8px; text-decoration:none; font-size:18px; transition:opacity .3s; align-self:flex-start; }
.news-explore:hover { opacity:.9; }
.news-right { overflow:hidden; position:relative; }
.news-track { display:flex; gap:24px; transition:transform .6s ease; }
.news-card { flex:0 0 calc((100% - 48px)/3); background:#fff; border-radius:4px; overflow:hidden; display:flex; flex-direction:column; border-bottom:4px solid transparent; transition:border-color .3s; }
.news-card.active { border-bottom-color:var(--gold); }
.news-date { padding:24px 24px 0; color:var(--gold); font-size:16px; font-weight:500; }
.news-card h4 { padding:12px 24px; font-size:20px; line-height:1.5; flex:1; }
/* h4 本身是 display:flex，<a> 作为 flex 子项必须 flex:1 + min-width:0 才会正常换行 */
.news-card h4 a { flex:1; min-width:0; color:inherit; text-decoration:none; display:block; transition:color .3s; }
.news-card h4 a:hover { color:var(--gold); }
.news-thumb { display:block; text-decoration:none; }
.news-card img { width:calc(100% - 48px); margin:0 24px; display:block; border-radius:4px; aspect-ratio:5/3; object-fit:cover; background:#f2ede3; transition:transform .5s ease; }
.news-card:hover img { transform:scale(1.03); }
.news-card .card-arrow { margin:24px; width:52px; height:52px; border-radius:50%; background:linear-gradient(135deg,var(--gold),var(--gold-light)); color:#fff; border:none; cursor:pointer; font-size:20px; display:flex; align-items:center; justify-content:center; transition:transform .3s; align-self:flex-start; text-decoration:none; }
.news-card .card-arrow:hover { transform:scale(1.1); }

/* ===== Partner ===== */
.partner { padding:80px 0; }
.partner h3 { text-align:center; font-size:42px; margin-bottom:40px; }
/* 2026-09-23：客户反馈「合作伙伴的框太大、尤其太宽」→ 整体收窄 */
.partner-logo-wrap { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; max-width:1040px; margin:0 auto; }
/* 2026-09-24：客户要求「框不变、logo 再放大一点」。
   ① 框高固定 104px = 原来 padding 30×2 + logo 44 + 边框，视觉尺寸一点没变；
      改 flex 居中，这样放大 logo 也不会把框顶高。
   ② logo 用【固定 height:60px】而不是 max-height：这些 logo 图本身固有高度只有
      40~50px，max-height 只是上限、光提上限它们根本不会变大（"看着没变"的原因），
      必须固定高度 + max-height:none（否则被别处的 max-height 压回去，踩过）。
      宽度按原比例、上限 92% 防横版 logo 溢出框体。
   ⚠️ 别再在文件后面另写一组 .logo-box img 覆盖——同名同权重会互相打架。 */
.logo-box { background:#fff; border:1px solid #e6e0d5; border-radius:5px; height:104px; display:flex; align-items:center; justify-content:center; padding:0 18px; overflow:hidden; transition:box-shadow .3s,border-color .3s; }
.logo-box:hover { box-shadow:0 4px 16px rgba(0,0,0,.08); }
.logo-box img { height:60px; max-height:none; width:auto; max-width:92%; object-fit:contain; flex:0 0 auto; transition:transform .4s ease; }
.logo-box:hover img { transform:scale(1.12); }

/* ===== Footer ===== */
footer { background:#333; color:#ddd; padding:60px 0 30px; }
.footer-wrap { max-width:1600px; margin:0 auto; display:grid; grid-template-columns:1.2fr repeat(5,1fr); gap:30px; padding:0 20px; }
.footer-logo h3 { color:#fff; font-size:24px; margin:8px 0 16px; }
.footer-logo p { margin:8px 0; font-size:14px; }
.footer-col h4 { color:#fff; font-size:20px; margin-bottom:20px; }
.footer-col ul { list-style:none; }
.footer-col li { margin-bottom:10px; }
.footer-col a { color:#ccc; text-decoration:none; font-size:14px; transition:color .3s; }
.footer-col a:hover { color:var(--gold); }
.copyright { max-width:1600px; margin:40px auto 0; padding:20px 20px 0; border-top:1px solid #444; display:flex; justify-content:space-between; font-size:14px; }

/* ===== Responsive ===== */
@media(max-width:1200px){
  .about-wrap { grid-template-columns:1fr; }
  .partner-logo-wrap { grid-template-columns:repeat(2,1fr); }
  .banner-content h2 { font-size:38px; }
  .business-slide { flex:0 0 100%; height:min(70vh,560px); }
  .business-card { padding:28px 30px; }
  .business-card h4 { font-size:24px; }
  .business-arrow { width:44px; height:44px; font-size:18px; }
  .business-arrow.prev { left:16px; }
  .business-arrow.next { right:16px; }
  .news-wrap { grid-template-columns:1fr; }
  .news-left { flex-direction:row; flex-wrap:wrap; align-items:flex-end; }
  .news-card { flex:0 0 calc((100% - 24px)/2); }
}
@media(max-width:768px){
  nav { display:none; }
  .mobile-menu { display:flex; }
  .header-right .tel { display:none; }
  .btn-gold { padding:8px 16px; font-size:14px; }
  .banner { height:60vh; min-height:380px; }
  .banner-content h2 { font-size:26px; }
  .banner-content p { font-size:15px; }
  .banner-arrow { width:40px; height:40px; font-size:18px; }
  .banner-arrow.prev { left:12px; }
  .banner-arrow.next { right:12px; }
  .section-title, .about-left h3, .qual-title, .news-left h3, .partner h3 { font-size:30px; }
  /* 产品与业务手机端：底图固定 220px + cover。
     卡片与左右箭头都是叠在图片上的绝对定位层，图片高度自适应时算不出
     箭头该落在哪，箭头就会跑到中间、压在下面的卡片文字上。
     定高之后箭头锚在「图片区正中」，圆点留在卡片底部，互不打架。 */
  .business-slide { flex:0 0 100%; height:auto; min-height:0; }
  .business-slide > img { height:220px; object-fit:cover; }
  .business-inner { position:static; max-width:none; padding:0 16px; margin-top:-40px; }
  .business-card { position:relative; top:auto; right:auto; transform:none; width:100%; max-width:none; padding:24px 22px; }
  .business-card h4 { font-size:22px; }
  .business-card p { font-size:14px; line-height:1.7; }
  .card-btn { margin-top:16px; padding:10px 26px; font-size:15px; }
  .business-layer { top:0; bottom:0; }
  .business-arrow { top:90px; transform:translateY(-50%); width:38px; height:38px; font-size:16px; }
  .business-arrow.prev { left:8px; }
  .business-arrow.next { right:8px; }
  .business-dots { bottom:14px; }
  /* 证书手机端：carousel margin留箭头空间，track无margin，2张完整 */
  .cert-carousel { margin:0 52px; }
  .cert-track { gap:16px; }
  .cert-item { flex:0 0 calc((100% - 16px) / 2); }
  .cert-nav { width:40px; height:40px; font-size:16px; }
  .cert-nav.prev { left:4px; }
  .cert-nav.next { right:4px; }
  /* 数据手机端2行2列 */
  .about-data { grid-template-columns:repeat(2,1fr); }
  /* 底部菜单手机端隐藏 */
  .footer-col { display:none; }
  .footer-wrap { grid-template-columns:1fr; }
  /* 新闻手机端 */
  .news-left { flex-direction:column; align-items:flex-start; }
  .news-card { flex:0 0 100%; }
  /* 合作伙伴手机端：4行2列。框高沿用 104px，logo 略缩到 52px（同样要 max-height:none） */
  .partner-logo-wrap { grid-template-columns:repeat(2,1fr); gap:16px; }
  .logo-box { padding:0 14px; }
  .logo-box img { height:52px; max-height:none; }
  .copyright { flex-direction:column; gap:8px; }
  .lightbox-nav { width:44px; height:44px; font-size:18px; }
  .lightbox-nav.prev { left:12px; }
  .lightbox-nav.next { right:12px; }
  .lightbox-close { top:20px; right:20px; width:44px; height:44px; }
}

/* ================= 康城站通用补丁 ================= */
:root{ --kc-gold:#a88b5e; --kc-gold-l:#c9ad7f; --kc-dark:#2f2a20; }
html{ -webkit-text-size-adjust:100%; }
body{ font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Source Han Sans CN",sans-serif !important; }

/* 无图兜底：容器显示品牌渐变，图片缺失时隐藏 */
.product-img,.news-img,.article-img,.case-img,.video-img,.job-img,
.about-right,.banner-slide,.page-banner,.business-slide,.cert-item{
  background-color:#efe9dd;
}
.banner-slide{ background:linear-gradient(135deg,#2f2a20 0%,#4a3f2f 45%,#a88b5e 100%); }
.page-banner{ background:linear-gradient(135deg,#2f2a20 0%,#4a3f2f 45%,#a88b5e 100%);
  background-size:cover; background-position:center; }
img{ max-width:100%; }
img[data-empty="1"]{ display:none !important; }
/* 🔴 兜底规则必须排除 .lightbox（全屏浮层，position:fixed;inset:0;z-index:9999），
   否则会给它加上 display:flex + 浅色渐变，导致整屏遮罩关不掉。详见 about.css 同段注释。 */
.no-pic:not(.lightbox){ background:linear-gradient(135deg,#f2ede3 0%,#e4dac6 100%);
  display:flex; align-items:center; justify-content:center; min-height:160px; }
.no-pic:not(.lightbox)::after{ content:""; width:56px; height:56px; opacity:.32;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M10 50L30 10H70L90 50L70 90H30L10 50Z' stroke='%23a88b5e' stroke-width='6' fill='none'/%3E%3Cpath d='M35 25L55 50L40 75' stroke='%23a88b5e' stroke-width='6' fill='none'/%3E%3Cpath d='M55 25L40 50L60 75' stroke='%23a88b5e' stroke-width='6' fill='none'/%3E%3C/svg%3E"); }

/* 🔴 全屏浮层防污染锁定 */
.lightbox,.lightbox.no-pic{ display:none; background:rgba(0,0,0,.85); min-height:0; }
.lightbox.no-pic{ display:none !important; background:rgba(0,0,0,.85) !important; min-height:0 !important; padding:40px !important; }
.lightbox.no-pic::after{ content:none !important; }
.lightbox.show,.lightbox.show.no-pic{ display:flex !important; }

/* 证书墙：统一高度，不变形；2026-09-23 客户要求去掉证书四周的白色底色 */
.cert-item img{ height:320px; object-fit:contain; background:transparent; padding:0; }
.cert-item{ background:transparent; }

/* 🔴 2026-09-23 客户反馈：「资质荣誉的文字，不能放到证书下面点吗，现在空太远了」。
   根因：证书一律固定 320px 高 + object-fit:contain。
   企业资质那一组全是横版牌匾（宽高比约 1.35:1），
   按列宽缩放后实际只有 ~170px 高，剩下的 ~150px 全变成图片下方的死空白，
   说明文字就被顶到了很远的地方。
   处理：企业资质（#qualBlock）改成高度自适应，文字紧贴证书下缘；
   企业荣誉（#honorBlock）里有 A4 竖版证书，必须保持固定高度才能让下方文字对齐 ——
   客户明确说「企业荣誉就先不改了」，所以用 ID 限定，不误伤。 */
#qualBlock .cert-track{ align-items:flex-start; }
#qualBlock .cert-item img{ height:auto; max-height:320px; }

/* 证书下方文字说明（2026-09-23 客户要求：每张图片下加各自的说明文字）
   文字取自后台条目标题 [list:title]，沿用深色底上的白字 */
.cert-caption{ text-align:center; font-size:14px; line-height:1.5; color:#fff; margin-top:10px; padding:0 8px; }

/* 首页关于我们右侧：设计稿为真实照片（.about-right > img），已移除自绘 SVG 视觉块 */

/* 查看全部链接 */
.qual-more{ float:right; color:var(--kc-gold,#a88b5e); font-size:15px; margin-top:14px; text-decoration:none; }
.qual-more:hover{ text-decoration:underline; }
.qual-header{ overflow:hidden; }

/* 新闻卡片高度一致 */
.news-card{ min-height:230px; }
.news-card h4{ display:flex; align-items:center; }

/* 按钮当链接用 */
a.card-btn, a.btn-more{ display:inline-block; text-decoration:none; cursor:pointer; }

@media (max-width:768px){
  .cert-item img{ height:220px; }
  /* 企业资质手机端同样走自适应（#id 权重较高，必须在这里显式覆盖） */
  #qualBlock .cert-item img{ height:auto; max-height:220px; }
  .news-card{ min-height:200px; }
}


/* ===== 共用：头部 / 页脚 LOGO 尺寸 =====
   依据设计稿（1920 视图 1x 实测）：
   头部 logo 234x69，页脚 logo 233x68，header 总高 93px
   logo.png 原图 1760x517（宽高比 3.404），锁高度、宽度自适应，比例不变形。
   69px 高 -> 宽约 235px，与设计稿实测 234x69 一致 */
.site-logo { height:69px; width:auto; display:block; }
.footer-logo-img { height:68px; width:auto; display:block; margin-bottom:22px; }
@media (min-width:769px) {
  .header-wrap { padding:12px 20px; }
}
@media (max-width:768px) {
  .header-wrap { padding:10px 16px; }
  .site-logo { height:44px; }
  .footer-logo-img { height:48px; margin-bottom:16px; }
}
