/* 首页公司荣誉：品牌化 Apple 风格，强调证据、节奏与克制交互。 */
body.stack-home #honors.home-honor-showcase{
  position:relative;
  overflow:hidden;
  scroll-margin-top:112px;
  padding:clamp(90px,7vw,116px) 0 clamp(92px,7.5vw,122px)!important;
  background:linear-gradient(180deg,#f7f9f8 0%,#f2f5f4 100%)!important;
  color:#173229;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","PingFang SC","Helvetica Neue",sans-serif;
}

body.stack-home #honors.home-honor-showcase::before{
  position:absolute;
  top:-260px;
  right:-210px;
  width:620px;
  height:620px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(18,161,130,.075) 0%,rgba(18,161,130,0) 70%);
  content:"";
  pointer-events:none;
}

body.stack-home #honors.home-honor-showcase>.w{
  position:relative;
  z-index:1;
  width:min(1240px,calc(100% - 48px));
  max-width:1240px;
}

.honor-showcase-head{
  display:grid;
  grid-template-columns:minmax(0,760px) auto;
  gap:48px;
  align-items:end;
  padding:0;
}

.honor-showcase-heading h2{
  margin:0;
  color:#173229;
  font-size:clamp(40px,4.1vw,58px);
  font-weight:650;
  letter-spacing:-.045em;
  line-height:1.08;
}

.honor-showcase-heading p{
  max-width:620px;
  margin:22px 0 0;
  color:#65736e;
  font-size:clamp(16px,1.35vw,19px);
  font-weight:400;
  letter-spacing:.005em;
  line-height:1.75;
}

.honor-showcase-all{
  display:inline-flex;
  align-items:center;
  justify-self:end;
  gap:8px;
  padding:12px 0;
  color:#0b8064;
  font-size:15px;
  font-weight:560;
  letter-spacing:.01em;
  line-height:1;
  transition:color .25s ease,gap .35s cubic-bezier(.16,1,.3,1);
}

.honor-showcase-all svg{
  width:17px;
  height:17px;
  transition:transform .35s cubic-bezier(.16,1,.3,1);
}

.honor-showcase-all:hover,
.honor-showcase-all:focus-visible{
  color:#12a182;
  gap:12px;
}

.honor-showcase-all:hover svg,
.honor-showcase-all:focus-visible svg{transform:translateX(2px)}

.honor-showcase-all:focus-visible{
  border-radius:6px;
  outline:3px solid rgba(18,161,130,.2);
  outline-offset:4px;
}

.honor-stat-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin-top:clamp(52px,5.6vw,76px);
  padding:0;
  border-top:1px solid rgba(23,50,41,.11);
  border-bottom:1px solid rgba(23,50,41,.11);
}

.honor-stat-row a{
  position:relative;
  display:flex;
  min-width:0;
  min-height:202px;
  align-items:flex-start;
  flex-direction:column;
  justify-content:center;
  gap:0;
  padding:34px clamp(20px,2.4vw,34px) 32px;
  color:#33473f;
  text-align:left;
  transition:background-color .35s ease,transform .4s cubic-bezier(.16,1,.3,1);
}

.honor-stat-row a::before{
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.38);
  content:"";
  opacity:0;
  transition:opacity .35s ease;
  pointer-events:none;
}

.honor-stat-row a:not(:last-child)::after{
  display:none;
  position:absolute;
  top:20%;
  right:0;
  width:1px;
  height:60%;
  background:rgba(23,50,41,.1);
  content:"";
}

.honor-stat-row a:hover,
.honor-stat-row a:focus-visible{transform:translateY(-3px)}

.honor-stat-row a:hover::before,
.honor-stat-row a:focus-visible::before{opacity:1}

.honor-stat-row a:focus-visible{
  z-index:2;
  border-radius:6px;
  outline:3px solid rgba(18,161,130,.22);
  outline-offset:-3px;
}

.honor-stat-row strong,
.honor-stat-row span,
.honor-stat-row svg{position:relative;z-index:1}

.honor-stat-row strong{
  color:#173a30;
  font-size:clamp(44px,4.4vw,60px);
  font-weight:350;
  letter-spacing:-.07em;
  line-height:.95;
  font-variant-numeric:tabular-nums;
  transition:color .3s ease,transform .4s cubic-bezier(.16,1,.3,1);
}

.honor-stat-row strong em{font-style:normal}

.honor-stat-row a:hover strong,
.honor-stat-row a:focus-visible strong{
  color:#0a9674;
  transform:translateY(-2px);
}

.honor-stat-label{
  margin-top:17px;
  color:#34463f;
  font-size:clamp(16px,1.3vw,18px);
  font-weight:570;
  letter-spacing:-.01em;
  line-height:1.45;
}

.honor-stat-note{
  margin-top:8px;
  color:#7a8782;
  font-size:12px;
  font-weight:430;
  letter-spacing:.04em;
  line-height:1.5;
}

.honor-stat-arrow{
  position:absolute!important;
  top:27px;
  right:26px;
  width:17px;
  height:17px;
  color:#0b8064;
  opacity:0;
  transform:translate(-4px,4px);
  transition:opacity .3s ease,transform .4s cubic-bezier(.16,1,.3,1);
}

.honor-stat-row a:hover .honor-stat-arrow,
.honor-stat-row a:focus-visible .honor-stat-arrow{
  opacity:1;
  transform:none;
}

.honor-marquee-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:24px;
  margin-top:clamp(52px,5vw,72px);
}

.honor-marquee-head h3{
  margin:0;
  color:#213c32;
  font-size:clamp(19px,1.65vw,23px);
  font-weight:600;
  letter-spacing:-.025em;
  line-height:1.35;
}

.honor-marquee-head span{
  color:#85918c;
  font-size:12px;
  font-weight:450;
  letter-spacing:.04em;
}

.honor-marquee{
  --marquee-gap:18px;
  --marquee-half-gap:9px;
  margin-top:20px;
}

.honor-marquee-window{
  position:relative;
  width:100%;
  overflow:hidden;
  padding:8px 0 30px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
}

.honor-marquee-track{
  display:flex;
  width:max-content;
  gap:var(--marquee-gap);
  will-change:transform;
}

.honor-marquee.is-ready .honor-marquee-track{
  animation:honor-marquee-right 52s linear infinite;
}

.honor-marquee:hover .honor-marquee-track,
.honor-marquee:focus-within .honor-marquee-track{animation-play-state:paused}

.honor-marquee-group{
  display:flex;
  flex:none;
  gap:var(--marquee-gap);
}

.honor-card{
  position:relative;
  display:flex;
  width:242px;
  height:330px;
  flex:none;
  overflow:hidden;
  flex-direction:column;
  padding:11px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(23,50,41,.08);
  border-radius:18px;
  box-shadow:0 20px 46px -34px rgba(17,59,43,.38);
  color:#172a21;
  transform:translateZ(0);
  transition:border-color .35s ease,box-shadow .35s ease,transform .4s cubic-bezier(.16,1,.3,1);
}

.honor-card:hover,
.honor-card:focus-visible{
  z-index:3;
  border-color:rgba(18,161,130,.28);
  box-shadow:0 28px 56px -30px rgba(17,59,43,.38);
  outline:none;
  transform:translateY(-6px);
}

.honor-card:focus-visible{
  box-shadow:0 0 0 4px rgba(18,161,130,.17),0 28px 56px -30px rgba(17,59,43,.38);
}

.honor-card-image{
  position:relative;
  display:flex;
  height:238px;
  flex:none;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:11px;
  background:linear-gradient(145deg,#fafbf9,#f0f4f1);
  border-radius:11px;
}

.honor-card-image::after{
  position:absolute;
  inset:0;
  border:1px solid rgba(26,66,50,.055);
  border-radius:inherit;
  content:"";
  pointer-events:none;
}

.honor-card-image img{
  display:block;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  background:#fff;
  box-shadow:0 12px 28px -18px rgba(30,54,44,.38);
  transition:transform .45s cubic-bezier(.16,1,.3,1);
}

.honor-card.is-landscape .honor-card-image img{width:100%;height:auto}
.honor-card:hover .honor-card-image img,
.honor-card:focus-visible .honor-card-image img{transform:scale(1.025)}

.honor-card-copy{
  display:flex;
  min-height:68px;
  flex:1;
  flex-direction:column;
  justify-content:center;
  padding:11px 7px 4px;
}

.honor-card-copy b{
  overflow:hidden;
  color:#20372d;
  display:-webkit-box;
  font-size:14px;
  font-weight:620;
  letter-spacing:.005em;
  line-height:1.4;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.honor-card-copy em{
  display:block;
  margin-top:4px;
  color:#89948f;
  font-size:10px;
  font-style:normal;
  font-weight:500;
  letter-spacing:.12em;
  line-height:1.4;
}

/* 证书区只保留真实证据图，卡片高度随图片收紧，避免留下空的文字栏。 */
.stack-home .honor-card-copy{display:none}
.stack-home .honor-card{height:274px}
.stack-home .honor-card-image{height:250px;flex:1}

@keyframes honor-marquee-right{
  from{transform:translate3d(calc(-50% - var(--marquee-half-gap)),0,0)}
  to{transform:translate3d(0,0,0)}
}

@media(max-width:760px){
  body.stack-home #honors.home-honor-showcase{padding:72px 0 78px!important;scroll-margin-top:92px}
  body.stack-home #honors.home-honor-showcase::before{top:-260px;right:-320px}
  body.stack-home #honors.home-honor-showcase>.w{width:calc(100% - 28px)}

  .honor-showcase-head{
    display:block;
    padding:0 6px;
  }

  .honor-showcase-heading h2{font-size:38px}
  .honor-showcase-heading p{margin-top:16px;font-size:15px;line-height:1.7}
  .honor-showcase-all{justify-self:auto;margin-top:17px;font-size:14px}

  .honor-stat-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-top:38px;
  }

  .honor-stat-row a{
    min-height:170px;
    padding:25px 18px 23px;
  }

  .honor-stat-row a::after{display:none}
  .honor-stat-row a:nth-child(-n+2){border-bottom:1px solid rgba(23,50,41,.1)}
  .honor-stat-row a:nth-child(odd){border-right:0}
  .honor-stat-row strong{font-size:42px}
  .honor-stat-label{margin-top:13px;font-size:15px}
  .honor-stat-note{margin-top:6px;font-size:11px;letter-spacing:.02em}
  .honor-stat-arrow{top:20px;right:16px;width:15px;height:15px}

  .honor-marquee-head{align-items:flex-end;margin-top:46px;padding:0 6px}
  .honor-marquee-head h3{max-width:12em;font-size:19px}
  .honor-marquee-head span{font-size:10px}

  .honor-marquee{
    --marquee-gap:12px;
    --marquee-half-gap:6px;
    margin-top:16px;
  }

  .honor-marquee-window{
    width:calc(100% + 28px);
    margin-left:-14px;
    overflow-x:auto;
    padding:6px 14px 22px;
    scroll-padding-left:14px;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-mask-image:none;
    mask-image:none;
  }

  .honor-marquee-window::-webkit-scrollbar{display:none}
  .honor-marquee.is-ready .honor-marquee-track{animation:none}
  .honor-marquee-group[aria-hidden="true"]{display:none}
  .honor-card{width:206px;height:220px;padding:9px;border-radius:15px;scroll-snap-align:start}
  .honor-card-image{height:202px;padding:9px;border-radius:9px}
  .honor-card-copy{min-height:64px;padding:10px 5px 3px}
  .honor-card-copy b{font-size:12px}
  .honor-card-copy em{font-size:9px}
}

@media(max-width:390px){
  .honor-stat-row a{min-height:164px;padding:23px 14px 21px}
  .honor-stat-row strong{font-size:39px}
  .honor-stat-label{font-size:14px}
  .honor-stat-note{font-size:10px}
}

@media(prefers-reduced-motion:reduce){
  .honor-marquee-window{
    overflow-x:auto;
    -webkit-mask-image:none;
    mask-image:none;
    scrollbar-width:thin;
  }

  .honor-marquee-track{animation:none!important}
  .honor-marquee-group[aria-hidden="true"]{display:none}
  .honor-card,
  .honor-card-image img,
  .honor-showcase-all,
  .honor-showcase-all svg,
  .honor-stat-row a,
  .honor-stat-row strong,
  .honor-stat-arrow{transition:none!important}
}

/* 截图版“公司荣誉”恢复：宽幅留白、纯数据横排与证书展陈。 */
@media(min-width:1200px){
  body.stack-home #honors.home-honor-showcase{
    padding:88px 0 96px!important;
    background:#f1f5f3!important;
  }

  body.stack-home #honors.home-honor-showcase::before{display:none}

  body.stack-home #honors.home-honor-showcase>.w{
    width:calc(100% - 80px);
    max-width:1548px;
  }

  .honor-showcase-head{display:block}
  .stack-home .honor-showcase-heading h2{
    color:#102d24;
    font-size:clamp(42px,3.1vw,58px);
    font-weight:650;
    letter-spacing:-.06em;
    line-height:1.1;
  }

  .stack-home .honor-stat-row{
    margin-top:166px;
    border:0;
  }

  .stack-home .honor-stat-row a{
    min-height:210px;
    align-items:center;
    justify-content:flex-start;
    padding:0 28px;
    text-align:center;
    transform:none!important;
  }

  .stack-home .honor-stat-row a::before{display:none}
  .stack-home .honor-stat-row a:not(:last-child)::after{
    display:none;
  }

  .stack-home .honor-stat-row strong{
    color:#0fa985;
    font-size:clamp(60px,4.2vw,78px);
    font-weight:560;
    letter-spacing:-.08em;
    line-height:.94;
  }

  .stack-home .honor-stat-label{
    margin-top:19px;
    color:#53635c;
    font-size:clamp(20px,1.25vw,28px);
    font-weight:600;
    letter-spacing:-.025em;
    line-height:1.3;
  }

  .stack-home .honor-stat-arrow{display:none}

  .honor-marquee-head{display:none}

  .honor-marquee{
    --marquee-gap:30px;
    --marquee-half-gap:15px;
    margin-top:157px;
  }

  .honor-marquee-window{
    padding:8px 0 44px;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
  }

  .stack-home .honor-card{
    width:368px;
    height:450px;
    padding:13px;
    border-radius:24px;
    background:#fff;
    box-shadow:0 22px 45px -30px rgba(17,59,43,.34);
  }

  .honor-card-image,
  .stack-home .honor-card-image{
    height:auto;
    flex:1;
    padding:14px;
    border-radius:16px;
  }
}

@media(min-width:1800px){
  body.stack-home #honors.home-honor-showcase>.w{
    width:calc(100% - 500px);
    max-width:1994px;
  }
}

/* 窄桌面 / Retina 屏幕按宽度同比收紧，避免证书卡片和数字显得过大。 */
@media(min-width:1200px) and (max-width:1799px){
  body.stack-home #honors.home-honor-showcase{
    padding:64px 0 72px!important;
  }

  body.stack-home #honors.home-honor-showcase>.w{
    width:80%;
    max-width:none;
  }

  .stack-home .honor-showcase-heading h2{
    font-size:clamp(38px,3.1vw,50px);
  }

  .stack-home .honor-stat-row{
    margin-top:clamp(112px,6.7vw,138px);
  }

  .stack-home .honor-stat-row a{
    min-height:clamp(148px,8.4vw,180px);
    padding:0 18px;
  }

  .stack-home .honor-stat-row strong{
    font-size:clamp(50px,3.1vw,60px);
  }

  .stack-home .honor-stat-label{
    margin-top:14px;
    font-size:clamp(16px,1.1vw,21px);
  }

  .honor-marquee{
    --marquee-gap:22px;
    --marquee-half-gap:11px;
    margin-top:clamp(110px,6.3vw,126px);
  }

  .stack-home .honor-card{
    width:clamp(250px,14.75vw,300px);
    height:clamp(306px,18.05vw,366px);
    padding:10px;
    border-radius:20px;
  }

  .honor-card-image,
  .stack-home .honor-card-image{
    padding:10px;
    border-radius:13px;
  }
}

@media(max-width:1199px){
  body.stack-home #honors.home-honor-showcase::before{display:none}
  .honor-showcase-heading h2{color:#102d24}
  .honor-stat-row strong{color:#0fa985}
  .honor-stat-arrow{display:none}
  .honor-marquee-head{display:none}
}

@media(min-width:1200px){
  /* 首屏从专利证书段落开始，右侧自然衔接横向资质证书。 */
  @keyframes honor-marquee-right{
    from{transform:translate3d(calc(-30% - var(--marquee-half-gap)),0,0)}
    to{transform:translate3d(0,0,0)}
  }
}
