  :root{
    --paper-0:#FAF8F3; --paper-100:#F1ECE0; --forest-800:#173B5E; --forest-900:#0E2844;
    --seal-red:#B5342E; --seal-red-dark:#8C2621; --ink-900:#20261F; --ink-600:#5F6659; --line:#E4DFD0;
    /* 字体栈说明：全部使用系统自带字体，不加载任何网络字体。
       中文网络字体动辄 3-8MB（字符集庞大），在国内加载会严重拖慢首屏。
       Windows 用 微软雅黑、Mac 用 苹方，都是系统预装，零加载成本。
       标题的 serif 栈里把 微软雅黑 放在 SimSun 之前，因为宋体在大字号标题上
       渲染效果较差，宁可退回黑体也不用宋体。 */
    --serif:"Noto Serif SC","Source Han Serif SC","Songti SC","PingFang SC","Microsoft YaHei",Georgia,serif;
    --sans:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Heiti SC","WenQuanYi Micro Hei",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    --mono:"SF Mono",Consolas,"Liberation Mono",Menlo,monospace;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  body{font-family:var(--sans);background:var(--paper-0);color:var(--ink-900);line-height:1.65;}
  [data-en]{display:none;} html[data-lang="en"] [data-zh]{display:none;} html[data-lang="en"] [data-en]{display:inline;}
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}

  header{position:sticky;top:0;z-index:100;background:rgba(250,248,243,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);}
  .header-inner{display:flex;align-items:center;justify-content:space-between;height:80px;}
  .logo{display:flex;align-items:center;}
  .logo img,.logo-img{height:42px;width:auto;max-width:220px;object-fit:contain;display:block;}
  .nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:30px;height:30px;background:transparent;border:none;cursor:pointer;padding:0;}
  .nav-toggle span{display:block;height:2px;width:100%;background:var(--forest-900);border-radius:2px;}
  .mobile-nav{display:none;flex-direction:column;background:var(--paper-0);border-bottom:1px solid var(--line);padding:6px 24px 14px;}
  .mobile-nav a{padding:13px 0;font-size:15px;color:var(--ink-900);font-weight:500;border-bottom:1px solid var(--line);}
  .mobile-nav.open{display:flex;}
  nav{display:flex;align-items:center;gap:30px;}
  .navlinks{display:flex;gap:26px;}
  .navlink{color:var(--ink-600);font-size:15px;font-weight:500;}
  .navlink:hover{color:var(--forest-800);}
  .header-actions{display:flex;align-items:center;gap:16px;}
  .lang-toggle{border:1px solid var(--line);color:var(--ink-600);font-family:var(--mono);font-size:11px;padding:6px 12px;border-radius:20px;cursor:pointer;background:transparent;}
  .lang-toggle:hover{border-color:var(--seal-red);color:var(--seal-red);}
  .btn-primary{background:var(--seal-red);color:#fff;font-weight:700;padding:12px 26px;border-radius:24px;font-size:14px;}
  .btn-primary:hover{background:var(--seal-red-dark);}
  .btn-outline{border:1px solid var(--forest-800);color:var(--forest-800);padding:12px 26px;border-radius:24px;font-size:14px;font-weight:600;}

  .hero{padding:76px 0 0;position:relative;overflow:hidden;}
  .hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:center;}
  .eyebrow{font-family:var(--sans);font-size:12px;color:var(--forest-800);letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;display:block;}
  h1{font-family:var(--serif);font-size:42px;line-height:1.4;color:var(--forest-900);margin-bottom:20px;}
  .hero-sub{color:var(--ink-600);font-size:16px;max-width:480px;margin-bottom:30px;}
  .hero-ctas{display:flex;gap:14px;margin-bottom:46px;}

  /* stamp signature element */
  .stamp-wrap{position:relative;width:100%;display:flex;align-items:center;justify-content:center;}
  .paper-card{position:absolute;width:320px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 24px 50px rgba(31,77,63,.12);padding:28px;}
  .paper-card h4{font-family:var(--serif);font-size:15px;color:var(--forest-900);border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px;}
  .paper-row{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-600);padding:7px 0;}
  .paper-row b{color:var(--ink-900);}
  .stamp{position:absolute;bottom:-18px;right:-18px;width:118px;height:118px;border-radius:50%;border:3px solid var(--seal-red);color:var(--seal-red);display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--serif);font-size:13px;font-weight:700;transform:rotate(-14deg);line-height:1.3;background:rgba(181,52,46,.03);}

  .ledger{display:flex;flex-wrap:wrap;gap:12px;padding:30px 0 40px;}
  .ledger .pill{background:var(--paper-100);border:1px solid var(--line);border-radius:20px;padding:9px 18px;font-size:13px;color:var(--forest-900);font-weight:600;}
  .ledger .pill span.sub{color:var(--ink-600);font-weight:400;margin-left:6px;}

  .stats{background:var(--forest-900);color:#fff;}
  .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);}
  .stat{padding:34px 20px;text-align:center;border-right:1px solid rgba(255,255,255,.12);}
  .stat:last-child{border-right:none;}
  .stat .num{font-family:var(--serif);font-size:30px;font-weight:700;color:#E8C77A;}
  .stat .label{font-size:13px;color:rgba(255,255,255,.72);margin-top:6px;}

  section{padding:86px 0;}
  .section-head{max-width:620px;margin-bottom:48px;}
  .section-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-size:17px;font-weight:700;color:var(--seal-red);letter-spacing:.5px;}
  .eyebrow-icon{width:26px;height:26px;color:var(--seal-red);flex-shrink:0;}
  h2.section-title{font-family:var(--serif);font-size:31px;margin:12px 0 12px;color:var(--forest-900);}
  .section-desc{color:var(--ink-600);font-size:15px;}

  .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .service-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px 26px;position:relative;transition:box-shadow .2s,transform .2s;}
  .service-card:hover{box-shadow:0 16px 34px rgba(31,77,63,.1);transform:translateY(-3px);}
  .service-card .badge{position:absolute;top:20px;right:20px;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--seal-red);color:var(--seal-red);font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:700;transform:rotate(-10deg);}
  .service-card h3{font-family:var(--serif);font-size:19px;margin:6px 0 10px;color:var(--forest-900);padding-right:36px;}
  .service-card p{font-size:14px;color:var(--ink-600);margin-bottom:16px;min-height:64px;}
  .more{font-size:13px;font-weight:700;color:var(--forest-800);}

  .industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .industry-card{background:var(--paper-100);border-radius:10px;padding:30px 26px;border-left:4px solid var(--seal-red);}
  .industry-card .tag{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--forest-800);letter-spacing:.5px;}
  .industry-card h3{font-family:var(--serif);font-size:23px;margin:10px 0 12px;color:var(--forest-900);}
  .industry-card p{font-size:15px;color:var(--ink-600);}

  .accred{background:var(--paper-100);padding:46px 0;}
  .accred-row{display:flex;flex-wrap:wrap;gap:16px;}
  .accred-badge{background:#fff;border:1px solid var(--line);border-radius:12px;font-family:var(--serif);font-size:14px;font-weight:700;color:var(--forest-900);padding:20px 24px;text-align:center;min-width:140px;}

  .news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .news-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;}
  .news-img{height:150px;background:linear-gradient(135deg,var(--forest-800),var(--forest-900));}
  .news-body{padding:22px 24px;}
  .news-date{font-family:var(--mono);font-size:11px;color:var(--ink-600);}
  .news-card h4{font-family:var(--serif);font-size:16px;margin:8px 0 10px;color:var(--forest-900);}
  .news-card p{font-size:13px;color:var(--ink-600);}

  .cta-band{background:var(--forest-900);color:#fff;padding:66px 0;position:relative;}
  .cta-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;}
  .cta-inner h2{font-family:var(--serif);font-size:27px;}
  .cta-inner p{color:rgba(255,255,255,.72);margin-top:6px;font-size:14px;}
  .cta-inner .btn-primary{background:var(--seal-red);}

  footer{background:var(--paper-0);border-top:1px solid var(--line);padding:56px 0 26px;font-size:13px;color:var(--ink-600);}
  .footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:30px;margin-bottom:36px;}
  .footer-col h5{color:var(--forest-900);font-size:14px;margin-bottom:14px;font-family:var(--serif);}
  .footer-col a{display:block;margin-bottom:9px;}
  .footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

  @media(max-width:1100px){
    .industry-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media(max-width:900px){
    .hero-grid{grid-template-columns:1fr;} .stamp-wrap{display:none;}
    .services-grid,.industry-grid,.news-grid{grid-template-columns:1fr;}
    .stats-grid{grid-template-columns:repeat(2,1fr);} .footer-grid{grid-template-columns:1fr 1fr;}
    .navlinks{display:none;} .nav-toggle{display:flex;} h1{font-size:30px;}
    .header-actions{gap:10px;}
  }
  @media(max-width:480px){
    .header-inner{height:64px;}
    .logo-img{height:32px;}
    .btn-primary{padding:9px 14px;font-size:12px;}
    .lang-toggle{padding:5px 9px;font-size:10px;}
    h1{font-size:24px;}
    .hero-sub{font-size:14px;}
    .section-title{font-size:24px;}
    .wrap{padding:0 16px;}
    .footer-grid{grid-template-columns:1fr;}
    .stats-grid{grid-template-columns:repeat(2,1fr);}
    .stat .num{font-size:24px;}
  }


/* ===== 资讯卡片链接态 ===== */
a.news-card{color:inherit;transition:box-shadow .2s,transform .2s;}
a.news-card:hover{box-shadow:0 14px 30px rgba(14,40,68,.1);transform:translateY(-3px);}
.news-img img{width:100%;height:100%;object-fit:cover;display:block;}

/* ===== 分页 ===== */
.pagination{display:flex;gap:8px;flex-wrap:wrap;}
.pagination .page-numbers{padding:8px 14px;border:1px solid var(--line);border-radius:6px;font-size:14px;color:var(--ink-600);background:#fff;}
.pagination .page-numbers.current{background:var(--forest-900);color:#fff;border-color:var(--forest-900);}
.pagination .page-numbers:hover:not(.current){border-color:var(--seal-red);color:var(--seal-red);}

/* ===== Banner动效A：全球认证网络 ===== */
.map-visual{position:relative;height:340px;}
.map-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;font-family:var(--serif);font-size:14px;color:var(--forest-900);font-weight:700;padding-top:8px;}
.globe-outline{fill:none;stroke:var(--line);stroke-width:1.5;}
.grid-line{fill:none;stroke:var(--line);stroke-width:1;}
.flight-path{fill:none;stroke:var(--seal-red);stroke-width:1.5;stroke-dasharray:5 6;animation:dashflow 1.2s linear infinite;opacity:.75;}
@keyframes dashflow{to{stroke-dashoffset:-22;}}
.node-pulse{fill:none;stroke:var(--seal-red);stroke-width:2;transform-origin:center;transform-box:fill-box;animation:pulseRing 2.4s ease-out infinite;}
@keyframes pulseRing{0%{r:7;opacity:.7;}100%{r:24;opacity:0;}}
.node-dot{fill:var(--forest-800);}
.node-dot.origin{fill:var(--seal-red);}
.node-label{font-family:var(--mono);font-size:11px;fill:var(--ink-600);font-weight:600;}
.node-label.origin{fill:var(--seal-red);font-weight:700;}

/* ===== Banner动效B：检测认证流水线 ===== */
.pipeline-visual{position:relative;height:300px;padding-top:60px;}
.pipe-track{position:absolute;left:4%;right:4%;top:150px;height:2px;background:var(--line);}
.pipe-gate{position:absolute;top:126px;width:52px;height:52px;border-radius:50%;background:#fff;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;font-weight:700;color:var(--ink-600);text-align:center;}
.pipe-gate .g-label{position:absolute;top:60px;font-family:var(--sans);font-size:12px;color:var(--ink-600);white-space:nowrap;left:50%;transform:translateX(-50%);}
.pipe-check{position:absolute;top:-9px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--seal-red);color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.4);}
.pipe-mover{position:absolute;top:130px;width:44px;height:44px;background:var(--forest-900);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;animation:moveBox 6s linear infinite;box-shadow:0 8px 16px rgba(14,40,68,.25);}
@keyframes moveBox{0%{left:2%;}100%{left:93%;}}
@keyframes checkPop{0%,14%{opacity:0;transform:scale(.4);}16%,100%{opacity:1;transform:scale(1);}}
.pipe-check.c1{animation:checkPop 6s linear infinite;}
@keyframes checkPop2{0%,39%{opacity:0;transform:scale(.4);}41%,100%{opacity:1;transform:scale(1);}}
.pipe-check.c2{animation:checkPop2 6s linear infinite;}
@keyframes checkPop3{0%,63%{opacity:0;transform:scale(.4);}65%,100%{opacity:1;transform:scale(1);}}
.pipe-check.c3{animation:checkPop3 6s linear infinite;}
@keyframes checkPop4{0%,86%{opacity:0;transform:scale(.4);}88%,100%{opacity:1;transform:scale(1);}}
.pipe-check.c4{animation:checkPop4 6s linear infinite;}
.pipeline-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;font-family:var(--serif);font-size:14px;color:var(--forest-900);font-weight:700;}

/* 尊重用户的"减少动效"系统偏好（无障碍与部分用户体验考虑） */
@media(prefers-reduced-motion:reduce){
  .flight-path,.node-pulse,.pipe-mover,.pipe-check{animation:none;}
  .pipe-check{opacity:1;transform:scale(1);}
}

@media(max-width:900px){
  .map-visual,.pipeline-visual{display:none;}
}

/* ===== Banner动效D：轮播图自动切换（纯CSS实现，不依赖JS） ===== */
.banner-slideshow{position:relative;width:100%;height:380px;border-radius:8px;overflow:hidden;background:var(--forest-900);}
.banner-slideshow img{
  position:absolute; top:0; left:0; width:100%; height:100%;
  object-fit:contain; opacity:0;
  animation-name:bannerFade;
  /* animation-duration 和 animation-delay 由模板按图片数量动态计算并内联写入，
     这里不写死具体秒数，只提供动画名称和其他公共属性 */
  animation-iteration-count:infinite;
  animation-timing-function:ease-in-out;
}
/* 每张图淡入停留后淡出，循环周期内依次错开显示 */
@keyframes bannerFade{
  0%   { opacity:0; }
  4%   { opacity:1; }
  28%  { opacity:1; }
  33%  { opacity:0; }
  100% { opacity:0; }
}
/* 尊重"减少动态效果"系统偏好：只静态显示第一张图，不播放动画 */
@media(prefers-reduced-motion:reduce){
  .banner-slideshow img{ animation:none; opacity:0; }
  .banner-slideshow img:first-child{ opacity:1; }
}
@media(max-width:900px){
  .banner-slideshow{display:none;}
}

/* 页脚联系方式里的纯文本项（地址/工作时间），跟链接项保持一致的间距和颜色，但不可点击 */
.footer-text-item{display:block;margin-bottom:9px;color:var(--ink-600);}
