:root{
  --green:#1b9a52;
  --green2:#128845;
  --ink:#0c1420;
  --muted:#6b7a90;
  --bg:#ffffff;
  --shadow: 0 20px 50px rgba(0,0,0,.20);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family: Arial, Helvetica, sans-serif;
  color:var(--ink);
  background:var(--bg);
}
a{color:inherit;text-decoration:none}
.wrap{
  width:min(1200px, 92vw);
  margin-inline:auto;
}

/* ====== 顶部导航 ====== */
.topbar{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  border-bottom:1px solid rgba(12,20,32,.08);
}
.topbar__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
  gap:16px;
}
.brand{display:flex; flex-direction:column; line-height:1}
.brand__name{font-weight:800; letter-spacing:.18em; font-size:18px}
.brand__sub{font-weight:700; letter-spacing:.08em; font-size:12px; color:var(--muted); margin-top:4px}

.nav{display:flex; gap:18px; align-items:center; flex-wrap:wrap; justify-content:center}
.nav a{
  font-size:14px;
  color:#122033;
  opacity:.9;
  padding:10px 10px;
  border-radius:10px;
  transition: all .2s ease;
}
.nav a:hover{
  background:rgba(27,154,82,.10);
  color:var(--green2);
}

.topbar__cta{
  background:var(--green2);
  color:#fff;
  padding:10px 14px;
  border-radius:12px;
  font-weight:700;
  box-shadow: 0 10px 20px rgba(18,136,69,.25);
  transition:transform .18s ease, filter .18s ease;
}
.topbar__cta:hover{transform:translateY(-1px); filter:brightness(1.05)}

/* ====== Loading ====== */
#loading{
  position:fixed; inset:0;
  display:flex; align-items:center; justify-content:center;
  flex-direction:column;
  gap:14px;
  background:rgba(255,255,255,.92);
  z-index:9999;
}
.spinner{
  width:56px;height:56px;border-radius:50%;
  border:6px solid rgba(27,154,82,.15);
  border-top-color: var(--green2);
  animation:spin 1s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}


.hero{
  position:relative;
  height:min(78vh, 720px);
  overflow:hidden;
}
.hero__slides{
  height:100%;
  position:relative;
}
.hero__slide{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform: scale(1.04);
  transition: opacity 1.2s ease, transform 8s ease;
}
.hero__slide.is-active{
  opacity:1;
  transform: scale(1.00);
}
.hero__overlay{
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(12,20,32,.72), rgba(12,20,32,.25) 55%, rgba(12,20,32,.10));
}
.hero__content{
  position:absolute; inset:0;
  display:flex; align-items:center;
}
.hero__inner{
  width:min(820px, 92vw);
  color:#fff;
  padding: 0 0 0 0;
}
.hero__kicker{
  display:inline-flex;
  gap:10px;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.hero__title{
  font-size: clamp(34px, 4vw, 58px);
  font-weight:900;
  letter-spacing:.02em;
  line-height:1.06;
  text-shadow: 0 12px 30px rgba(0,0,0,.35);
}
.hero__desc{
  margin-top:16px;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height:1.7;
  max-width: 720px;
  color: rgba(255,255,255,.92);
}
.hero__actions{
  display:flex; gap:12px; flex-wrap:wrap;
  margin-top:26px;
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px;
  padding:12px 18px;
  border-radius:14px;
  font-weight:800;
  transition: transform .18s ease, filter .18s ease, background .18s ease;
}
.btn--primary{
  background:var(--green2);
  color:#fff;
  box-shadow: 0 18px 40px rgba(18,136,69,.35);
}
.btn--primary:hover{transform:translateY(-1px); filter:brightness(1.05)}
.btn--ghost{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
}
.btn--ghost:hover{transform:translateY(-1px); background:rgba(255,255,255,.16)}

.hero__arrow{
  position:absolute; top:50%;
  transform:translateY(-50%);
  width:44px;height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.26);
  background:rgba(12,20,32,.35);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition: background .18s ease, transform .18s ease;
  user-select:none;
}
.hero__arrow:hover{background:rgba(12,20,32,.55); transform:translateY(-50%) scale(1.03)}
.hero__arrow--left{left:18px}
.hero__arrow--right{right:18px}

.hero__dots{
  position:absolute; left:50%; bottom:16px;
  transform:translateX(-50%);
  display:flex; gap:10px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(12,20,32,.35);
  border:1px solid rgba(255,255,255,.14);
}
.hero__dot{
  width:10px;height:10px;border-radius:50%;
  background:rgba(255,255,255,.35);
  cursor:pointer;
}
.hero__dot.is-active{background:#fff}


.section{
  padding: 72px 0;
}
.section__title{
  font-size:34px;
  font-weight:900;
  letter-spacing:.02em;
  text-align:center;
}
.section__sub{
  text-align:center;
  color:var(--muted);
  margin-top:10px;
  line-height:1.8;
}

.aboutGrid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:26px;
  margin-top:34px;
  align-items:stretch;
}
.card{
  background:#fff;
  border:1px solid rgba(12,20,32,.08);
  border-radius:18px;
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
  padding:24px;
}
.card p{color:#1d2b3e; line-height:1.9; margin-top:10px}
.badges{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:16px;
}
.badge{
  border-radius:16px;
  padding:16px;
  background: linear-gradient(180deg, rgba(27,154,82,.10), rgba(27,154,82,.04));
  border:1px solid rgba(27,154,82,.18);
}
.badge__t{font-weight:900}
.badge__d{margin-top:6px; color:var(--muted); line-height:1.6; font-size:13px}

.industry{
  margin-top:22px;
  display:flex; gap:10px; flex-wrap:wrap;
}
.pill{
  border:1px solid rgba(12,20,32,.10);
  color:#122033;
  border-radius:999px;
  padding:10px 12px;
  font-weight:800;
  background:#fff;
}

/* ====== 页脚（大绿底） ====== */
.footer{
  background:var(--green);
  color:#fff;
  margin-top:60px;
}
.footer__grid{
  display:grid;
  grid-template-columns: 1.1fr 1fr 1fr;
  gap:34px;
  padding: 56px 0 36px;
  align-items:start;
}
.footer__brandName{
  font-size:44px;
  font-weight:1000;
  letter-spacing:.06em;
  line-height:1;
}
.footer__brandSub{
  font-weight:900;
  letter-spacing:.12em;
  margin-top:8px;
  opacity:.95;
}
.footer__desc{
  margin-top:16px;
  opacity:.92;
  line-height:1.9;
  max-width: 420px;
}
.footer__title{
  font-weight:1000;
  letter-spacing:.08em;
  margin-bottom:14px;
}
.footer__title--spaced{margin-top:22px}
.footer__links{
  display:grid;
  gap:10px;
}
.footer__links a{opacity:.92}
.footer__links a:hover{opacity:1; text-decoration:underline}

.footer__certs{
  display:flex;
  gap:16px;
  align-items:center;
  margin-top:8px;
}
.footer__certs img{
  width:92px;height:92px;
  border-radius:12px;
  object-fit:cover;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
}
.footer__certNote{
  margin-top:10px;
  font-size:12px;
  opacity:.9;
}

.footer__contact .footer__phone{
  font-size:30px;
  font-weight:1000;
  letter-spacing:.02em;
  text-align:right;
}
.footer__line{
  height:1px;
  background:rgba(255,255,255,.35);
  margin:16px 0;
}
.footer__contactBlock{
  text-align:right;
}
.footer__contactLabel{
  font-weight:1000;
  letter-spacing:.06em;
  opacity:.95;
}
.footer__contactText{
  margin-top:8px;
  opacity:.92;
  line-height:1.7;
}
.footer__mail{
  display:block;
  text-align:right;
  margin-top:10px;
  font-weight:900;
  text-decoration:underline;
}
.footer__social{
  margin-top:14px;
  display:flex;
  gap:10px;
  justify-content:flex-end;
}
.footer__social a{
  width:36px;height:36px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.22);
  font-weight:1000;
}
.footer__social a:hover{background:rgba(255,255,255,.26)}
.footer__bottom{
  border-top:1px solid rgba(255,255,255,.28);
  padding:18px 0;
  opacity:.92;
  font-weight:700;
}

/* ====== 滚动进入动画 ====== */
.reveal{
  opacity:0;
  transform: translateY(24px);
  transition: opacity .7s ease, transform .7s ease;
}
.reveal.is-in{
  opacity:1;
  transform: translateY(0);
}

/* ====== 响应式 ====== */
@media (max-width: 980px){
  .aboutGrid{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr; gap:26px}
  .footer__contact .footer__phone,
  .footer__contactBlock,
  .footer__mail{ text-align:left }
  .footer__social{justify-content:flex-start}
  .nav{display:none}
}
/* ====== Page Hero (inner pages) ====== */
.pageHero{
  position:relative;
  height: min(46vh, 520px);
  overflow:hidden;
}
.pageHero__bg{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  transform: scale(1.03);
}
.pageHero__overlay{
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(12,20,32,.78), rgba(12,20,32,.35) 55%, rgba(12,20,32,.18));
}
.pageHero__inner{
  position:relative;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#fff;
  padding-top: 24px;
}
.pageHero__kicker{
  display:inline-flex;
  width:fit-content;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  letter-spacing:.14em;
  font-size:12px;
  font-weight:900;
}
.pageHero__title{
  margin-top:16px;
  font-weight:1000;
  line-height:1.08;
  font-size: clamp(30px, 3.6vw, 52px);
  text-shadow: 0 12px 30px rgba(0,0,0,.35);
}
.pageHero__desc{
  margin-top:14px;
  max-width: 860px;
  line-height:1.7;
  color: rgba(255,255,255,.92);
  font-size: clamp(14px, 1.1vw, 17px);
}
.pageHero__crumbs{
  margin-top:18px;
  display:flex;
  gap:10px;
  align-items:center;
  color: rgba(255,255,255,.85);
  font-weight:800;
}
.pageHero__crumbs a{ text-decoration:underline; }

/* ====== About layout ====== */
.aboutSplit{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:26px;
  margin-top:34px;
}
.h3{
  font-size:20px;
  font-weight:1000;
  letter-spacing:.02em;
}
.pillRow{
  margin-top:18px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* metrics */
.metricGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:16px;
}
.metric{
  border-radius:16px;
  padding:16px;
  background: linear-gradient(180deg, rgba(27,154,82,.10), rgba(27,154,82,.04));
  border:1px solid rgba(27,154,82,.18);
}
.metric__num{
  font-weight:1000;
  font-size:26px;
  letter-spacing:.02em;
}
.metric__label{
  margin-top:8px;
  color:var(--muted);
  font-weight:800;
  font-size:13px;
  line-height:1.5;
}

/* soft box */
.softBox{
  margin-top:18px;
  border-radius:18px;
  padding:18px;
  border:1px solid rgba(12,20,32,.10);
  background: rgba(12,20,32,.03);
}
.softBox__title{
  font-weight:1000;
  letter-spacing:.06em;
  margin-bottom:10px;
}
.list{
  padding-left:18px;
  display:grid;
  gap:10px;
  color:#1d2b3e;
  line-height:1.7;
}

/* alt section background */
.section--alt{
  background: linear-gradient(180deg, rgba(18,136,69,.06), rgba(255,255,255,1));
}

/* timeline */
.timeline{
  margin-top:34px;
  position:relative;
  padding-left:18px;
}
.timeline:before{
  content:"";
  position:absolute;
  left:8px; top:0; bottom:0;
  width:2px;
  background: rgba(18,136,69,.25);
}
.timeline__item{
  position:relative;
  padding-left:26px;
  margin: 0 0 22px 0;
}
.timeline__dot{
  position:absolute;
  left:1px; top:6px;
  width:16px;height:16px;
  border-radius:999px;
  background: var(--green2);
  box-shadow: 0 10px 20px rgba(18,136,69,.35);
  border:3px solid rgba(255,255,255,.85);
}
.timeline__content{
  background:#fff;
  border:1px solid rgba(12,20,32,.08);
  border-radius:18px;
  box-shadow: 0 12px 30px rgba(0,0,0,.07);
  padding:18px;
}
.timeline__year{
  font-weight:1000;
  letter-spacing:.06em;
  color: var(--green2);
}
.timeline__title{
  margin-top:8px;
  font-weight:1000;
  font-size:18px;
}
.timeline__text{
  margin-top:8px;
  color:#1d2b3e;
  line-height:1.8;
}

/* certificate cards */
.certRow{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  margin-top:34px;
}
.certCard{
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(12,20,32,.08);
  background:#fff;
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
}
.certCard__img{
  height:180px;
  background-size:cover;
  background-position:center;
}
.certCard__body{
  padding:18px;
}
.certCard__title{
  font-weight:1000;
  font-size:18px;
}
.certCard__text{
  margin-top:10px;
  color:#1d2b3e;
  line-height:1.8;
}
.certCard__link{
  display:inline-block;
  margin-top:12px;
  font-weight:1000;
  color: var(--green2);
}
.certCard__link:hover{ text-decoration:underline; }

/* CTA */
.cta{
  padding: 56px 0;
  background: linear-gradient(90deg, rgba(18,136,69,.12), rgba(18,136,69,.06));
}
.cta__inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding: 22px;
  border-radius:18px;
  border:1px solid rgba(12,20,32,.08);
  background:#fff;
  box-shadow: 0 12px 30px rgba(0,0,0,.07);
}
.cta__title{
  font-size:22px;
  font-weight:1000;
}
.cta__text{
  margin-top:8px;
  color:var(--muted);
  line-height:1.7;
}
.cta__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.btn--ghostDark{
  background: rgba(12,20,32,.06);
  border:1px solid rgba(12,20,32,.12);
  color:#122033;
}
.btn--ghostDark:hover{ background: rgba(12,20,32,.08); transform:translateY(-1px); }

@media (max-width: 980px){
  .aboutSplit{ grid-template-columns:1fr; }
  .certRow{ grid-template-columns:1fr; }
  .cta__inner{ flex-direction:column; align-items:flex-start; }
}


.prodTitle{
  text-align:center;
  font-weight:1000;
  font-size:28px;
  margin: 10px 0 4px;
  letter-spacing:.03em;
}


.prodGrid{
  margin-top: 26px;
  display:grid;
  grid-template-columns: repeat(6, 1fr);
  gap:24px;
  align-items:stretch;
}

/* 卡片统一高度 & 比例 */
.prodCard{
  background:#fff;
  border:1px solid rgba(12,20,32,.10);
  border-radius: 12px;
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  overflow:hidden;

  display:flex;
  flex-direction:column;   /* 保证上下结构一致 */
  height:100%;

  transition: transform .22s ease, box-shadow .22s ease;
}
.prodCard:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 38px rgba(0,0,0,.14);
}

/* 图片区：高度固定 + 居中 */
.prodMedia{
  height:260px;
  padding: 18px;
  background: linear-gradient(
    180deg,
    rgba(27,154,82,.55),
    rgba(27,154,82,.10)
  );

  display:flex;
  align-items:center;
  justify-content:center;
}

.prodMedia img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter: drop-shadow(0 16px 26px rgba(0,0,0,.20));
}

/* 文案区 */
.prodBody{
  flex:1;
  padding: 16px 18px 20px;
  text-align:center;

  display:flex;
  flex-direction:column;
}

.prodName{
  font-weight:1000;
  font-size:15px;
  line-height:1.3;
  margin-top: 6px;
}

.prodText{
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.75;
  color: rgba(12,20,32,.72);

  flex:1;
}

@media (min-width: 1200px){
  .prodCard--centerRow:nth-of-type(7){
    grid-column: 3 / span 2;
  }
  .prodCard--centerRow:nth-of-type(8){
    grid-column: 5 / span 2;
  }
}

/* ===== 响应式 ===== */
@media (max-width: 1200px){
  .prodGrid{
    grid-template-columns: repeat(3, 1fr);
    gap:22px;
  }
  .prodMedia{ height:240px; }
  .prodCard--centerRow:nth-of-type(7),
  .prodCard--centerRow:nth-of-type(8){
    grid-column:auto;
  }
}

@media (max-width: 720px){
  .prodGrid{
    grid-template-columns: 1fr;
    gap:20px;
  }
  .prodMedia{ height:260px; }
}

/* ===== Certifications Grid ===== */
.certGrid{
  margin-top: 28px;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:18px;
}

.certTile{
  background:#fff;
  border:1px solid rgba(12,20,32,.10);
  border-radius: 14px;
  overflow:hidden;
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
  cursor:pointer;
  transition: transform .22s ease, box-shadow .22s ease;
}
.certTile:hover{
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(0,0,0,.12);
}

.certTile__img{
  background: linear-gradient(180deg, rgba(27,154,82,.40), rgba(27,154,82,.06));
  padding: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.certTile__img img{
  width:100%;
  height: 220px;
  object-fit: contain;
  filter: drop-shadow(0 18px 26px rgba(0,0,0,.18));
}

.certTile__body{
  padding: 14px 14px 16px;
}
.certTile__title{
  font-weight:1000;
  font-size: 15px;
}
.certTile__text{
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.7;
  color: rgba(12,20,32,.72);
}
.certTile__meta{
  margin-top: 12px;
  display:flex;
  justify-content:space-between;
  font-size: 11px;
  font-weight: 900;
  color: rgba(18,136,69,.95);
  opacity: .95;
}

.certNote{
  margin-top: 16px;
  color: rgba(12,20,32,.70);
  line-height: 1.8;
  font-size: 13px;
}
.certNote code{
  background: rgba(12,20,32,.06);
  padding: 2px 6px;
  border-radius: 8px;
  border:1px solid rgba(12,20,32,.08);
}

/* ===== Modal (Certificate Preview) ===== */
.certModal{
  position:fixed;
  inset:0;
  display:none;
  z-index: 9999;
}
.certModal.is-open{ display:block; }

.certModal__backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(2px);
}
.certModal__panel{
  position:relative;
  width:min(980px, 92vw);
  margin: 6vh auto 0;
  background:#fff;
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.25);
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
  overflow:hidden;
  animation: certPop .18s ease;
}
@keyframes certPop{
  from{ transform: translateY(12px); opacity:.8; }
  to{ transform: translateY(0); opacity:1; }
}
.certModal__close{
  position:absolute;
  top:10px;
  right:10px;
  width:38px;
  height:38px;
  border-radius: 999px;
  border:1px solid rgba(12,20,32,.10);
  background: rgba(255,255,255,.92);
  cursor:pointer;
  font-weight: 1000;
}
.certModal__close:hover{ filter: brightness(0.98); }

.certModal__img{
  width:100%;
  height: min(78vh, 760px);
  object-fit: contain;
  background: #fff;
}

/* Responsive */
@media (max-width: 1100px){
  .certGrid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px){
  .certGrid{ grid-template-columns: 1fr; }
  .certTile__img img{ height: 240px; }
}
/* ===== Factory Tour ===== */
.factoryStats{
  margin-top: 28px;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:14px;
}
.fStat{
  border-radius:16px;
  padding:16px;
  background: linear-gradient(180deg, rgba(27,154,82,.10), rgba(27,154,82,.04));
  border:1px solid rgba(27,154,82,.18);
}
.fStat__num{
  font-weight:1000;
  font-size:26px;
}
.fStat__label{
  margin-top:8px;
  color:var(--muted);
  font-weight:800;
  font-size:13px;
  line-height:1.5;
}

.factorySplit{
  margin-top: 26px;
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:26px;
  align-items:start;
}

.processList{
  margin-top:14px;
  display:grid;
  gap:12px;
}
.processItem{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.processItem__icon{
  width:44px;
  height:44px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:1000;
  color: var(--green2);
  background: rgba(18,136,69,.10);
  border: 1px solid rgba(18,136,69,.18);
}
.processItem__title{
  font-weight:1000;
}
.processItem__text{
  margin-top:6px;
  color:var(--muted);
  line-height:1.7;
  font-size:13px;
}

.heroPhoto{
  margin-top:14px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(12,20,32,.10);
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
  position:relative;
  cursor:pointer;
}
.heroPhoto img{
  width:100%;
  height: 280px;
  object-fit: cover;
  display:block;
  transform: scale(1.02);
  transition: transform .6s ease;
}
.heroPhoto:hover img{ transform: scale(1.06); }
.heroPhoto__badge{
  position:absolute;
  right:12px;
  bottom:12px;
  padding:8px 10px;
  border-radius:999px;
  background: rgba(12,20,32,.55);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-weight:900;
  font-size:12px;
}

.galleryGrid{
  margin-top: 28px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:16px;
}
.gItem{
  margin:0;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(12,20,32,.10);
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
  background:#fff;
  cursor:pointer;
}
.gItem img{
  width:100%;
  height: 210px;
  object-fit: cover;
  display:block;
  transition: transform .6s ease;
}
.gItem:hover img{ transform: scale(1.06); }
.gItem figcaption{
  padding: 10px 12px;
  font-weight:1000;
  font-size:12px;
  color: rgba(12,20,32,.75);
}

/* mini slider */
.miniSlider{
  margin-top: 26px;
  border-radius: 18px;
  border:1px solid rgba(12,20,32,.10);
  background:#fff;
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
  overflow:hidden;
}
.miniSlider__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 14px 10px;
}
.miniSlider__title{
  font-weight:1000;
  letter-spacing:.02em;
}
.miniSlider__controls{
  display:flex;
  gap:10px;
}
.miniBtn{
  width:40px;
  height:40px;
  border-radius:12px;
  border:1px solid rgba(12,20,32,.10);
  background: rgba(12,20,32,.03);
  cursor:pointer;
  font-weight:1000;
}
.miniBtn:hover{ background: rgba(12,20,32,.06); }

.miniSlider__viewport{
  overflow:hidden;
}
.miniSlider__track{
  display:flex;
  transition: transform .35s ease;
}
.miniSlide{
  min-width:100%;
  cursor:pointer;
}
.miniSlide img{
  width:100%;
  height: 380px;
  object-fit: cover;
  display:block;
}

/* Photo modal */
.photoModal{
  position:fixed;
  inset:0;
  display:none;
  z-index: 9999;
}
.photoModal.is-open{ display:block; }
.photoModal__backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(2px);
}
.photoModal__panel{
  position:relative;
  width:min(1100px, 92vw);
  margin: 6vh auto 0;
  background:#fff;
  border-radius: 16px;
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
  overflow:hidden;
  animation: pop .18s ease;
}
@keyframes pop{
  from{ transform: translateY(12px); opacity:.85; }
  to{ transform: translateY(0); opacity:1; }
}
.photoModal__close{
  position:absolute;
  top:10px;
  right:10px;
  width:38px;
  height:38px;
  border-radius: 999px;
  border:1px solid rgba(12,20,32,.10);
  background: rgba(255,255,255,.92);
  cursor:pointer;
  font-weight: 1000;
}
.photoModal__img{
  width:100%;
  height: min(80vh, 820px);
  object-fit: contain;
  background:#fff;
}

/* responsive */
@media (max-width: 1100px){
  .factoryStats{ grid-template-columns: 1fr 1fr; }
  .factorySplit{ grid-template-columns: 1fr; }
  .galleryGrid{ grid-template-columns: 1fr 1fr; }
  .miniSlide img{ height: 320px; }
}
@media (max-width: 640px){
  .factoryStats{ grid-template-columns: 1fr; }
  .galleryGrid{ grid-template-columns: 1fr; }
  .miniSlide img{ height: 260px; }
}
/* ===== Simple News ===== */
.newsSimple{
  display:grid;
  gap:22px;
  margin-top: 10px;
}

.newsSimpleCard{
  display:grid;
  grid-template-columns: 340px 1fr;
  background:#fff;
  border-radius: 18px;
  border:1px solid rgba(12,20,32,.10);
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
  overflow:hidden;
}

.newsSimpleCard--noImg{
  grid-template-columns: 1fr;
}

.newsSimpleImg{
  background-size: cover;
  background-position: center;
  min-height: 220px;
}

.newsSimpleBody{
  padding: 18px;
}

.newsDate{
  font-size: 13px;
  font-weight: 900;
  color: rgba(12,20,32,.55);
}

.newsTitle{
  margin-top: 8px;
  font-size: 20px;
  font-weight: 1000;
}

.newsText{
  margin-top: 10px;
  line-height: 1.8;
  color: rgba(12,20,32,.75);
}

/* Responsive */
@media (max-width: 900px){
  .newsSimpleCard{
    grid-template-columns: 1fr;
  }
  .newsSimpleImg{
    min-height: 240px;
  }
}
/* ===== Contact Page ===== */
.contactCards{
  margin-top: 22px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:16px;
}

.cCard{
  background:#fff;
  border:1px solid rgba(12,20,32,.10);
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
  padding: 16px;
}
.cIcon{
  width:48px;
  height:48px;
  border-radius: 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 1000;
  background: rgba(18,136,69,.10);
  border: 1px solid rgba(18,136,69,.18);
  color: var(--green2);
}
.cTitle{
  margin-top: 12px;
  font-weight: 1000;
  font-size: 16px;
}
.cText{
  margin-top: 10px;
  color: rgba(12,20,32,.78);
  line-height: 1.75;
  font-size: 13px;
}
.cLink{
  font-weight: 1000;
}
.cMini{
  margin-top: 10px;
  font-size: 12px;
  color: rgba(12,20,32,.58);
}

.contactGrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  margin-top: 10px;
}

.contactPanel{
  background:#fff;
  border:1px solid rgba(12,20,32,.10);
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
  padding: 16px;
}
.panelTitle{
  font-weight: 1000;
  font-size: 18px;
}
.panelSub{
  margin-top: 10px;
  color: rgba(12,20,32,.68);
  line-height: 1.75;
  font-size: 13px;
}

/* form */
.inquiryForm{ margin-top: 14px; }
.fieldRow{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
.field{ margin-top: 12px; }
.field label{
  display:block;
  font-weight: 1000;
  font-size: 12px;
  color: rgba(12,20,32,.70);
}
.field input, .field select, .field textarea{
  width:100%;
  margin-top: 8px;
  padding: 12px 12px;
  border-radius: 14px;
  border:1px solid rgba(12,20,32,.12);
  background:#fff;
  outline:none;
}
.field textarea{ resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus{
  border-color: rgba(18,136,69,.45);
  box-shadow: 0 10px 24px rgba(18,136,69,.12);
}

.formActions{
  margin-top: 14px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.formHint{
  margin-top: 10px;
  color: rgba(12,20,32,.60);
  line-height: 1.8;
  font-size: 12px;
}
.formMsg{
  margin-top: 10px;
  font-weight: 900;
  font-size: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  border:1px solid rgba(12,20,32,.10);
  background: rgba(12,20,32,.03);
  display:none;
}
.formMsg.is-ok{
  display:block;
  border-color: rgba(18,136,69,.20);
  background: rgba(18,136,69,.10);
  color: rgba(18,136,69,.95);
}
.formMsg.is-err{
  display:block;
  border-color: rgba(220,53,69,.20);
  background: rgba(220,53,69,.08);
  color: rgba(180,25,40,.95);
}

/* map */
.mapBox{
  margin-top: 14px;
  border-radius: 18px;
  overflow:hidden;
  border:1px solid rgba(12,20,32,.10);
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
}
.mapBox iframe{
  width:100%;
  height: 320px;
  border:0;
  display:block;
}

.quickActions{
  margin-top: 12px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.qaBtn{
  padding: 10px 12px;
  border-radius: 14px;
  border:1px solid rgba(12,20,32,.12);
  background: rgba(12,20,32,.03);
  font-weight: 1000;
}
.qaBtn:hover{
  background: rgba(12,20,32,.06);
}

/* responsive */
@media (max-width: 1100px){
  .contactCards{ grid-template-columns: 1fr; }
  .contactGrid{ grid-template-columns: 1fr; }
}




/* ===== Navbar ===== */
.navbar{
  position: sticky;
  top: 0;
  z-index: 999;
  background: #fff;
  border-bottom: 1px solid rgba(12,20,32,.08);
}

.navInner{
  height: 72px;
  display: flex;
  align-items: center;
  gap: 28px;
}

/* Brand */
.navBrand{
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  white-space: nowrap;
}

.brandLogoInline{
  height: 50px;
  width: auto;
  object-fit: contain;
  opacity: .95;
}

.brandText{
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.brandName{
  font-size: 20px;
  font-weight: 1000;
  letter-spacing: 2px;
  color: rgba(12,20,32,.95);
}

.brandSub{
  margin-top: 4px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 2px;
  color: rgba(12,20,32,.65);
}

/* Links */
.navLinks{
  display: flex;
  align-items: center;
  gap: 26px;
  margin-left: auto;
  white-space: nowrap;
}

.navLinks a{
  font-weight: 700;
  font-size: 14px;
  color: rgba(12,20,32,.82);
  position: relative;
}

.navLinks a:hover{
  color: var(--green2);
}

/* CTA */
.navActions{
  margin-left: 18px;
}

.navCta{
  padding: 10px 18px;
  border-radius: 999px;
  font-weight: 1000;
}

/* Responsive */
@media (max-width: 980px){
  .navLinks{
    gap: 18px;
  }
}

@media (max-width: 860px){
  .brandLogoInline{
    height: 22px;
  }
  .brandName{
    font-size: 18px;
  }
}

@media (max-width: 760px){
  .navLinks{
    display: none;
  }
}




/*!* ===== Footer logo after MEIAO text ===== *!*/

/*.footer__brandName--withLogo{*/
/*  display: inline-flex;*/
/*  align-items: center;*/
/*  gap: 55px;
/*}*/

/*.footer__brandTextMain{*/
/*  display: inline-block;*/
/*}*/

/*!* logo 跟文字走，不抢空间 *!*/
/*.footer__logoAfterText{*/
/*  height: 110px;
/*  width: auto;*/
/*  object-fit: contain;*/
/*  opacity: .95;*/
/*  transform: translateY(30px);
/*}*/

/*!* 响应式 *!*/
/*@media (max-width: 768px){*/
/*  .footer__logoAfterText{*/
/*    height: 26px;*/
/*  }*/
/*}*/


/* ===== Footer Section ===== */
.footer__certs{
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3个一行 */
  gap: 20px;
  margin-top: 20px;
}

.footer__certImage{
  width: 100%;
  height: auto;
  max-width: 130px; /
  object-fit: contain;
}


@media (max-width: 900px){
  .footer__certs{
    grid-template-columns: repeat(2, 1fr);
  }
}


@media (max-width: 600px){
  .footer__certs{
    grid-template-columns: 1fr;
  }
}

/* ===== Footer layout adjustments ===== */
.footer__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

/* Responsive adjustments for smaller screens */
@media (max-width: 900px){
  .footer__grid{
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px){
  .footer__grid{
    grid-template-columns: 1fr;
  }
}

/* ===== Footer Typography ===== */
.footer__brandName{
  font-size: 48px;
  font-weight: bold;
  letter-spacing: 2px;
}

.footer__brandSub{
  font-size: 18px;
  font-weight: normal;
  margin-top: 4px;
  letter-spacing: 2px;
}

.footer__desc{
  font-size: 14px;
  line-height: 1.6;
  margin-top: 12px;
}
