* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --main-color: #2b6e48;
  --text-dark: #333;
  --text-gray: #666;
  --bg-light: #f7f7f7;
}

body {
  font-family: 'PingFang SC', 'Microsoft YaHei', 'Segoe UI', system-ui, -apple-system, 'Roboto', sans-serif;
  background-color: #ffffff;
  color: #1e2a32;
  line-height: 1.5;
  scroll-behavior: smooth;
}

a { color: inherit; text-decoration: none; }
li { list-style: none; }
img { max-width: 100%; display: block; }

.container {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ---------- 顶部导航 ---------- */
.header {
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.03), 0 2px 4px rgba(0, 0, 0, 0.02);
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid #eef2f0;
}

.navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 16px 0;
}

.logo h1 {
  font-size: 1.8rem;
  font-weight: 700;
  background: linear-gradient(135deg, #1F6E43, #2b9e5c);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  letter-spacing: -0.3px;
}

.logo span {
  font-size: 1rem;
  font-weight: 400;
  color: #2b6e48;
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
}

.nav-links {
  display: flex;
  gap: 32px;
  align-items: center;
  list-style: none;
}

.nav-links a {
  text-decoration: none;
  font-weight: 500;
  color: #1e2f3a;
  transition: 0.3s;
  font-size: 1rem;
}

.nav-links a:hover { color: #1f8a4c; }

.contact-header {
  background: #f0f7f2;
  padding: 8px 18px;
  border-radius: 40px;
  font-weight: 600;
  color: #1f6e43;
  display: flex;
  align-items: center;
  gap: 8px;
}

.contact-header a { color: #1f6e43; text-decoration: none; }

/* ---------- 城市分站切换条（分站功能核心入口） ---------- */
.station-bar {
  background: #f4f8f5;
  border-bottom: 1px solid #e6efe9;
  padding: 30px 0;
}

.station-inner {
  /*display: flex;*/
  display:block;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  font-size: 0.95rem;
}

.station-inner .station-list { display:block; padding:0 0 20px 0; overflow:hidden; }
.station-inner .station-list .station-label { float:left; width:5%; overflow:hidden; }
.station-inner .station-list .station-label a{ line-height:32px; color: #1f543e; font-weight: 600; }
.station-inner .station-list .station-label a:hover{ color:#1e2f3a; }
.station-inner .station-list .station-qu { float:left; width:95%; overflow:hidden; }
.station-inner .station-list .station-qu a {
  display: inline-block;
  padding: 3px 15px; margin:1px 0;
  border: 1px solid #d7e6dc;
  border-radius: 30px;
  background: #fff;
  color: #1f6e43;
  font-weight: 500;
  transition: 0.2s;
}
.station-inner .station-list .station-qu a:hover { background: #2c8c57; color: #fff; border-color: #2c8c57; }

/* ---------- Banner ---------- */
.hero {
  background: linear-gradient(125deg, #eef6f0 0%, #d9eade 100%);
  padding: 80px 0 90px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.hero:before {
  content: "";
  position: absolute;
  top: -30%;
  left: -20%;
  width: 150%;
  height: 150%;
  background: radial-gradient(circle, rgba(80, 160, 110, 0.08) 0%, rgba(255, 255, 255, 0) 70%);
  pointer-events: none;
}

.hero-content { position: relative; z-index: 2; }

.hero-badge {
  display: inline-block;
  background: rgba(31, 110, 67, 0.1);
  padding: 6px 18px;
  border-radius: 50px;
  font-size: 0.9rem;
  font-weight: 500;
  color: #1f6e43;
  margin-bottom: 20px;
  letter-spacing: 1px;
}

.hero h2 {
  font-size: 3.2rem;
  font-weight: 800;
  color: #1a3a2a;
  margin-bottom: 20px;
  line-height: 1.2;
}

.hero .highlight {
  background: linear-gradient(120deg, #1f6e43, #33b26b);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.hero p {
  font-size: 1.2rem;
  color: #2a4b3a;
  max-width: 865px;
  margin: 0 auto 32px;
  opacity: 0.92;
  text-align: left;
}

.hero-stats {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 36px;
}

.stat-item {
  background: rgba(255, 255, 255, 0.75);
  padding: 10px 24px;
  border-radius: 60px;
  font-weight: 600;
  font-size: 1.05rem;
  color: #1e5a3b;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

.animate-text { animation: fadeUp 0.8s ease-out; }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ---------- 通用板块 ---------- */
.section { padding: 55px 0; }

.section-title {
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 20px;
  color: #1f2f2a;
  position: relative;
}

/* ---------- 关于我们 ---------- */
.about-wrapper {
  display: flex;
  gap: 48px;
  align-items: center;
  flex-wrap: wrap;
}

.about-text { flex: 1; }

.about-text p {
  margin-bottom: 18px;
  color: #2d3e3a;
  font-size: 1.02rem;
  line-height: 1.85;
}

.about-image { flex: 0.9; text-align: center; }

.about-image img {
  width: 100%;
  max-width: 600px;
  height: auto;
  border-radius: 28px;
  box-shadow: 0 20px 35px -12px rgba(0, 0, 0, 0.12);
  transition: transform 0.3s;
}

.about-image img:hover { transform: scale(1.01); }

.contact-inline {
  background: #eff7f0;
  padding: 10px 18px;
  border-radius: 40px;
  display: inline-flex;
  font-weight: 600;
  color: #1f6e43;
  margin: 12px 0 6px;
  align-items: center;
  gap: 6px;
}

/* ---------- 核心产品 ---------- */
.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 32px;
  margin-top: 20px;
}

.product-card {
  background: #ffffff;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 12px 24px -8px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  border: 1px solid #f0f2ef;
}

.product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 32px -12px rgba(30, 110, 67, 0.2);
}

.product-img {
  aspect-ratio: 4 / 3;
  width: 100%;
  object-fit: cover;
  display: block;
  background: #f8faf6;
}

.product-info { padding: 18px 16px 22px; text-align: center; }

.product-name {
  font-weight: 700;
  font-size: 1.1rem;
  color: #1f4536;
  word-break: break-word;
}

/* ---------- 我的优势 ---------- */
.advantages-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  margin: 40px 0 20px;
}

.advantage-card {
  background: #fefefe;
  padding: 30px 24px;
  border-radius: 32px;
  transition: 0.2s;
  border: 1px solid #e6ede8;
  text-align: center;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.02);
}

.advantage-card:hover {
  border-color: #bcdcc8;
  box-shadow: 0 16px 32px -14px rgba(30, 110, 67, 0.18);
}

.advantage-card .adv-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: #eaf4ee;
  color: #2c8c57;
  font-size: 1.5rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.advantage-card h4 {
  font-size: 1.35rem;
  margin-bottom: 12px;
  font-weight: 700;
  color: #1f543e;
}

.advantage-card p { color: #4c6a5e; line-height: 1.8; }

/* ---------- zdfl ---------- */
.zdfl-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(327px, 1fr));
  gap: 24px;
  margin-top: 34px;
}

.info-card {
  background: #fff;
  border-radius: 24px;
  padding: 28px 24px;
  height: 100%;
  border: 1px solid #eef2ef;
  transition: 0.25s;
  box-shadow: 0 4px 12px rgb(0 0 0 / 4%);
}

.info-card:hover {
  border-color: var(--main-color);
  transform: translateY(-4px);
  box-shadow: 0 16px 32px -12px rgba(14, 165, 122, 0.12);
}

.info-card h5 {
  font-weight: 700;
  margin-bottom: 10px;
  font-size: 1.05rem;
  color: #1f543e;
}

.info-card p {
  color: #4c6a5e;
  font-size: 1rem;
  line-height: 1.7;
  word-break: break-all;
}

.info-card p a { color: #1f6e43; font-weight: 600; }

/* ---------- cgzl ---------- */
.cgzl-grid { display:block; list-style:none; overflow:hidden; }
.cgzl-grid li{ float:left; }
.cgzl-grid li a{ background: #eff7f0; padding: 10px 25px; border-radius: 40px; display: inline-flex; font-weight: 600; color: #1f6e43; margin: 10px; align-items: center; gap: 6px; }
.cgzl-grid li a:hover{ background: #1f6e43; color: #eff7f0; }

.news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(327px, 1fr));
  gap: 24px;
  margin-top: 34px;
}
.news-grid ul { display:block; }
.news-grid ul li{ display:block; padding:5px 0; }
.news-grid ul li a{ display:block; }
.news-grid ul li a:hover{ color: #1f6e43; }

.news_more { text-align:center; margin:20px 0 0 0; }
.news_more a{ background: #eff7f0; padding: 10px 25px; border-radius: 40px; display: inline-flex; font-weight: 600; color: #1f6e43; margin: 10px; align-items: center; gap: 6px; }
.news_more a:hover{ background: #1f6e43; color: #eff7f0; }

.news-list { display:block; }
.news-list li{ display:block; padding:20px 0; border-bottom:#4c6a5e 1px solid; overflow:hidden; }
.news-list li a{ display:block; }
.news-list li .tits{ display:block; width:100%; padding:5px 0; overflow:hidden; }
.news-list li .tits h2{ float:left; width:70%; color:#1f543e; font-size:18px; line-height:25px; }
.news-list li .tits span{ float:right; color:#4c6a5e; }
.news-list li .desc{ display:block; color:#4c6a5e; }
.page_date { text-align:center; color:#4c6a5e; padding:0 0 20px 0; }


/* ---------- 联系方式 ---------- */
.contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
  margin-top: 34px;
}

.info-card {
  background: #fff;
  border-radius: 24px;
  padding: 28px 24px;
  height: 100%;
  border: 1px solid #eef2ef;
  transition: 0.25s;
  box-shadow: 0 4px 12px rgb(0 0 0 / 4%);
}

.info-card:hover {
  border-color: var(--main-color);
  transform: translateY(-4px);
  box-shadow: 0 16px 32px -12px rgba(14, 165, 122, 0.12);
}

.info-card h5 {
  font-weight: 700;
  margin-bottom: 10px;
  font-size: 1.05rem;
  color: #1f543e;
}

.info-card p {
  color: #4c6a5e;
  font-size: 1rem;
  line-height: 1.7;
  word-break: break-all;
}

.info-card p a { color: #1f6e43; font-weight: 600; }

/* ---------- 底部版权 ---------- */
.footer {
  background: #0f2a20;
  color: #cbdcd2;
  padding: 40px 0 24px;
  text-align: center;
}

.footer p { font-size: 1rem; line-height: 1.8; }
.footer a { color: #9fd0b3; }

#render-box {
  margin-top: 14px;
  font-size: 0.92rem;
  color: #8fae9d;
}

/* ---------- 移动端悬浮拨号 ---------- */
.float-phone {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background: #2c8c57;
  color: #fff;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
  z-index: 999;
  transition: 0.2s;
  text-decoration: none;
}

.float-phone:hover { background: #1b6b44; transform: scale(1.05); }

/* ---------- 站群入口页 ---------- */
.hub-hero {
  background: linear-gradient(125deg, #eef6f0 0%, #d9eade 100%);
  padding: 70px 0 60px;
  text-align: center;
}

.hub-hero h2 {
  font-size: 2.6rem;
  font-weight: 800;
  color: #1a3a2a;
  margin-bottom: 14px;
}

.hub-hero p {
  font-size: 1.1rem;
  color: #2a4b3a;
  max-width: 780px;
  margin: 0 auto;
}

.hub-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 26px;
  margin-top: 10px;
}

.hub-card {
  display: block;
  background: #fff;
  border: 1px solid #e6ede8;
  border-radius: 22px;
  padding: 26px 24px;
  box-shadow: 0 8px 20px -10px rgba(0, 0, 0, 0.1);
  transition: 0.25s;
}

.hub-card:hover {
  transform: translateY(-5px);
  border-color: #bcdcc8;
  box-shadow: 0 20px 34px -14px rgba(30, 110, 67, 0.22);
}

.hub-card .city {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1f543e;
  margin-bottom: 6px;
}

.hub-card .url {
  display: inline-block;
  font-size: 0.92rem;
  color: #2c8c57;
  background: #eef7f1;
  border-radius: 30px;
  padding: 3px 12px;
  margin-bottom: 14px;
  font-family: Consolas, Monaco, monospace;
}

.hub-card .meta {
  font-size: 0.94rem;
  color: #5a6e66;
  line-height: 1.8;
}

/* ---------- 响应式 ---------- */
@media (max-width: 900px) {
  .navbar { flex-direction: column; gap: 12px; }
  .nav-links { gap: 20px; flex-wrap: wrap; padding: 0; justify-content: center; }
  .hero h2 { font-size: 2.3rem; }
  .about-wrapper { flex-direction: column; }
  .section-title { font-size: 1.9rem; }
}

@media (max-width: 650px) {
  .hero { padding: 45px 0; }
  .hero h2 { font-size: 1.8rem; }
  .hero p { font-size: 1rem; }
  .product-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .advantage-card { padding: 20px 15px; border-radius: 14px; }
  .about-image img { border-radius: 12px; }
  .product-card { border-radius: 10px; }
  .product-info { padding: 10px; }
  .hero-stats { gap: 10px; }
  .stat-item { font-size: 0.9rem; padding: 6px 16px; }
  .hub-hero h2 { font-size: 1.8rem; }
  
  .station-inner .station-list .station-label, .station-inner .station-list .station-qu { float:none; width:100%; display:block; }
}

/*page*/
.pager { display:block; width:100%; text-align:center; padding:20px 0; overflow:hidden; }
.pager .jogger { MARGIN: 2px; }
.pager .jogger A { display:inline-block; PADDING: 3px 10px; MARGIN:1px; COLOR: #404040; BACKGROUND-COLOR: #f7f7f7; TEXT-DECORATION: none; border:#eaeaea 1px solid; border-radius:6px; }
.pager .jogger A:hover { PADDING: 3px 10px; MARGIN: 1px; COLOR: #fff; BACKGROUND-COLOR: #1f543e; border:#1f543e 1px solid; border-radius:6px;}
.pager .jogger A:active { PADDING: 3px 10px; MARGIN: 1px; COLOR: #fff; BACKGROUND-COLOR: #1f543e; border:#1f543e 1px solid; border-radius:6px;}
.pager .jogger SPAN.current { PADDING: 4px 10px; MARGIN: 1px; COLOR: #fff; BACKGROUND-COLOR: #1f543e; border:#1f543e 1px solid; border-radius:6px; }
.pager .jogger SPAN.disabled {	DISPLAY: none; }