/* ==========================================
   PAGE NAVIGATION
========================================== */

.page-nav {

  position: sticky;

  top: 72px;

  background: #fff;

  border-bottom: 1px solid #e8edf3;

  z-index: 100;

}

.page-nav-links {

  display: flex;

  justify-content: center;

  align-items: center;

  gap: 36px;

  padding: 18px 0;

  flex-wrap: wrap;

}

.page-nav-links a {

  position: relative;

  color: #666;

  text-decoration: none;

  font-size: 15px;

  font-weight: 600;

  transition: .3s ease;

}

.page-nav-links a:hover {

  color: #0A2463;

}

.page-nav-links a::after {

  content: "";

  position: absolute;

  left: 0;

  bottom: -6px;

  width: 0;

  height: 2px;

  background: #0A2463;

  transition: .3s ease;

}



.page-nav-links a:hover::after {

  width: 100%;

}


/* 二级导航ACTIVE */

.page-nav-links a.active {

  color: #0A2463;

}


.page-nav-links a.active::after {

  width: 100%;

}

/* 页面平滑滚动 */

html {

  scroll-behavior: auto;

}

/* 防止固定导航遮挡锚点 */

.company-intro,
.glance-section,
.expertise-section,
.brands-section,
.mission-section {

  scroll-margin-top: 120px;

}

@media(max-width:768px) {

  .page-nav {

    top: 64px;

  }

  .page-nav-links {

    gap: 18px;

    padding: 14px 0;

  }

  .page-nav-links a {

    font-size: 14px;

  }

}

/* ==========================================
   COMPANY INTRO
========================================== */


.company-intro {

  padding: 40px 0;

  background: #fff;

}


.company-grid {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 70px;

  align-items: center;

}



.section-tag {

  font-size: 13px;

  font-weight: 700;

  letter-spacing: .15em;

  color: #1b5ebc;

}



.company-text h2 {

  font-size: 40px;

  color: #0A2463;

  margin: 15px 0 25px;

  line-height: 1.25;

}



.company-text p {

  font-size: 17px;

  color: #444;

  line-height: 1.8;

  margin-bottom: 18px;

}



.company-image img {

  width: 100%;

  border-radius: 14px;

  display: block;

}



.text-link {

  color: #0A2463;

  font-weight: 600;

  text-decoration: none;

}


/* ==========================================
   SECTION TITLE
========================================== */

.section-title {

  text-align: center;

  max-width: 760px;

  margin: 0 auto 50px;

}


.section-title h2 {

  font-size: 38px;

  color: #0A2463;

  margin-bottom: 15px;

}


.section-title p {

  font-size: 17px;

  color: #555;

  line-height: 1.8;

}


/* ==========================================
   AT A GLANCE
========================================== */

.glance-section {

  padding: 40px 0;

  background: #f7f9fc;

}


/* ==========================================
   GLANCE GRID
========================================== */

.glance-grid {

  display: grid;

  grid-template-columns: repeat(4, 1fr);

  max-width: 1100px;

  margin: 0 auto;

}


/* ==========================================
   GLANCE ITEM
========================================== */

.glance-card {

  position: relative;

  padding: 10px 35px 15px;

  background: transparent;

  border: none;

  border-radius: 0;

  text-align: center;

  transition: transform .3s ease;

}


/* ==========================================
   VERTICAL DIVIDER
========================================== */

.glance-card:not(:last-child)::after {

  content: "";

  position: absolute;

  top: 5px;

  right: 0;

  width: 1px;

  height: 75px;

  background: #dbe2ea;

}


/* ==========================================
   MAIN VALUE
========================================== */

.glance-card span {

  display: block;

  color: #0A2463;

  font-size: 28px;

  font-weight: 700;

  line-height: 1.2;

  margin-bottom: 10px;

}


/* ==========================================
   LABEL
========================================== */

.glance-card h3 {

  color: #1b5ebc;

  margin: 0 0 8px;

  font-size: 14px;

  font-weight: 600;

  letter-spacing: .08em;

  text-transform: uppercase;

}


/* ==========================================
   DESCRIPTION
========================================== */

.glance-card p {

  margin: 0;

  color: #555;

  font-size: 15px;

  line-height: 1.6;

}


/* ==========================================
   HOVER
========================================== */

.glance-card:hover {

  transform: translateY(-3px);

}


/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:992px) {

  .glance-grid {

    grid-template-columns: repeat(2, 1fr);

    row-gap: 35px;

  }


  .glance-card:nth-child(2)::after {

    display: none;

  }

}


@media(max-width:600px) {

  .glance-grid {

    grid-template-columns: 1fr;

    row-gap: 30px;

  }


  .glance-card {

    padding: 5px 20px 25px;

  }


  .glance-card:not(:last-child)::after {

    top: auto;

    right: 15%;

    bottom: 0;

    width: 70%;

    height: 1px;

  }


  .glance-card span {

    font-size: 26px;

  }

}




/* ==========================================
   EXPERTISE
========================================== */

.expertise-section {

  padding: 50px 0;

  background: #fff;

}


.expertise-grid {

  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 24px;

}


.expertise-card {

  position: relative;

  padding: 30px 26px 28px;

  background: #fff;

  border: 1px solid #e8edf3;

  border-radius: 12px;

  transition:
    transform .3s ease,
    box-shadow .3s ease,
    border-color .3s ease;

  overflow: hidden;

}


.expertise-card:hover {

  transform: translateY(-6px);

  border-color: #d6e2f2;

  box-shadow: 0 14px 32px rgba(13, 34, 64, .08);

}


/* 左侧强调线 */

.expertise-line {

  width: 38px;

  height: 3px;

  background: #1b5ebc;

  margin-bottom: 22px;

  transition: width .3s ease;

}


.expertise-card:hover .expertise-line {

  width: 60px;

}


.expertise-card h3 {

  font-size: 20px;

  font-weight: 700;

  color: #0A2463;

  line-height: 1.35;

  margin: 0 0 13px;

}


.expertise-card p {

  margin: 0;

  font-size: 15px;

  color: #444;

  line-height: 1.75;

}


/* Responsive */

@media(max-width:992px) {

  .expertise-grid {

    grid-template-columns: repeat(2, 1fr);

  }

}


@media(max-width:600px) {

  .expertise-grid {

    grid-template-columns: 1fr;

  }

}



/* ==========================================
   BRANDS / BRAND PARTNERS
========================================== */


.brands-section {

  padding: 40px 0;

  background: var(--bg-light);

}



/* Brand Grid */

.brands-grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 28px;

  align-items: stretch;

}



/* Brand Card */

.brand-card {

  background: #fff;

  border-radius: 10px;

  padding: 32px 28px;

  box-shadow: var(--shadow);

  border-top: 4px solid transparent;

  transition:
    transform .24s,
    box-shadow .24s,
    border-top-color .24s;

  display: flex;

  flex-direction: column;

  height: 100%;

  position: relative;

  overflow: hidden;

}



.brand-card:hover {

  transform: translateY(-5px);

  box-shadow:
    0 14px 40px rgba(13, 34, 64, .13);

}




/* Brand Color */

.brand-card.weg-card {

  border-top-color: var(--weg);

}


.brand-card.vem-card {

  border-top-color: var(--vem);

}


.brand-card.xylem-card {

  border-top-color: var(--xylem);

}




/* Logo Area */

.brand-logo-area {

  display: flex;

  align-items: center;

  gap: 14px;

  margin-bottom: 20px;

}




.brand-badge {

  width: 90px;

  height: 50px;

  display: flex;

  align-items: center;

  justify-content: center;

  flex-shrink: 0;

  background: transparent;

  border-radius: 0;

}



.brand-badge img {

  width: 100%;

  height: 100%;

  object-fit: contain;

  display: block;

}




/* Brand Text */

.brand-card-name {

  font-size: 1.05rem;

  font-weight: 800;

  color: var(--text-dark);

}



.brand-card-origin {

  font-size: .75rem;

  color: var(--text-muted);

  margin-top: 2px;

}




/* Description */

.brand-card-desc {

  font-size: .875rem;

  color: var(--text-mid);

  line-height: 1.68;

}




/* Tags */

.brand-tags {

  display: flex;

  flex-wrap: wrap;

  gap: 6px;

  margin-top: 16px;

}



.b-tag {

  font-size: .7rem;

  font-weight: 600;

  padding: 4px 10px;

  border-radius: 99px;

}



.b-tag.weg {

  background: rgba(230, 126, 34, .12);

  color: #b7611a;

}


.b-tag.vem {

  background: rgba(26, 68, 119, .12);

  color: #1a4477;

}


.b-tag.xylem {

  background: rgba(30, 132, 73, .12);

  color: #186a3b;

}




/* Buttons */

.brand-actions {

  margin-top: auto;

  padding-top: 20px;

}



.brand-btn {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding: 8px 14px;

  font-size: .78rem;

  border-radius: 6px;

  border: 1px solid var(--border);

  background: #fff;

  color: var(--text-mid);

  font-weight: 600;

  transition: .2s;

}



.brand-btn:hover {

  transform: translateY(-2px);

  border-color: var(--blue-mid);

  color: var(--blue-mid);

}



.brand-btn.primary {

  background: var(--blue-mid);

  border-color: var(--blue-mid);

  color: #fff;

}



.brand-btn.primary:hover {

  background: var(--blue-dark);

  color: #fff;

}




/* Responsive */

@media(max-width:900px) {


  .brands-grid {

    grid-template-columns: 1fr;

  }


}



/* ==========================================
   MISSION & VISION
========================================== */

.mission-section {
  padding: 50px 0 70px;
  background: #fff;
}


/* ==========================================
   GRID
========================================== */

.mission-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 36px;
}


/* ==========================================
   CARD
========================================== */

.mission-block {
  position: relative;

  padding: 42px 42px 40px;

  background: #fff;

  border: 1px solid #e1e7ef;
  border-radius: 14px;

  text-align: center;

  box-shadow: 0 6px 24px rgba(10, 36, 99, 0.04);

  transition:
    transform .3s ease,
    box-shadow .3s ease,
    border-color .3s ease;
}


.mission-block:hover {
  transform: translateY(-5px);

  border-color: #cbd7e6;

  box-shadow: 0 14px 32px rgba(10, 36, 99, 0.08);
}


/* ==========================================
   SMALL LABEL
========================================== */

.mission-label {
  display: inline-block;

  font-size: 12px;
  font-weight: 700;

  letter-spacing: .16em;

  color: #1b5ebc;

  margin-bottom: 12px;
}


/* ==========================================
   DECORATIVE LINE
========================================== */

.mission-accent {
  width: 42px;
  height: 3px;

  margin: 0 auto 22px;

  background: #1b5ebc;

  border-radius: 2px;
}


/* ==========================================
   H2
========================================== */

.mission-block h2 {
  margin: 0 0 18px;

  font-size: 32px;
  font-weight: 700;

  line-height: 1.25;

  color: #0A2463;
}


/* ==========================================
   DESCRIPTION
========================================== */

.mission-block p {
  max-width: 520px;

  margin: 0 auto;

  font-size: 17px;

  color: #444;

  line-height: 1.85;
}


/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 768px) {

  .mission-section {
    padding: 40px 0 60px;
  }

  .mission-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .mission-block {
    padding: 35px 25px;
  }

  .mission-block h2 {
    font-size: 28px;
  }

  .mission-block p {
    font-size: 16px;
  }

}


/* ==========================================
   OUR VALUES
========================================== */

.about-values {
  padding: 55px 0 75px;
  background: #f7f9fc;
}


/* ==========================================
   VALUES GRID
========================================== */

.values-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}


/* ==========================================
   VALUE CARD
========================================== */

.value-card {
  position: relative;

  min-height: 230px;

  padding: 32px 28px 30px;

  background: #fff;

  border: 1px solid #dfe6ee;
  border-radius: 4px;

  overflow: hidden;

  transition:
    transform .3s ease,
    box-shadow .3s ease,
    border-color .3s ease;
}


/* ==========================================
   TECHNICAL CORNER DETAILS
========================================== */

/* 左上角 */

.value-card::before {
  content: "";

  position: absolute;

  top: 0;
  left: 0;

  width: 28px;
  height: 28px;

  border-top: 3px solid #1b5ebc;
  border-left: 3px solid #1b5ebc;
}


/* 右下角 */

.value-card::after {
  content: "";

  position: absolute;

  right: 0;
  bottom: 0;

  width: 28px;
  height: 28px;

  border-right: 3px solid #d7e0eb;
  border-bottom: 3px solid #d7e0eb;
}


/* ==========================================
   NUMBER
========================================== */

.value-number {
  position: relative;

  color: #1b5ebc;

  font-size: 13px;
  font-weight: 700;

  letter-spacing: .14em;

  margin-bottom: 28px;
}


/* ==========================================
   TITLE
========================================== */

.value-card h3 {
  margin: 0 0 14px;

  color: #0A2463;

  font-size: 21px;
  font-weight: 700;

  line-height: 1.35;
}


/* ==========================================
   DESCRIPTION
========================================== */

.value-card p {
  margin: 0;

  color: #444;

  font-size: 15px;

  line-height: 1.75;
}


/* ==========================================
   HOVER
========================================== */

.value-card:hover {
  transform: translateY(-6px);

  border-color: #c8d5e4;

  box-shadow: 0 14px 32px rgba(10, 36, 99, .08);
}


/* Hover: corner accents */

.value-card:hover::before {
  width: 36px;
  height: 36px;
}

.value-card:hover::after {
  width: 36px;
  height: 36px;
}


/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 992px) {

  .values-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
  }

}


@media (max-width: 768px) {

  .about-values {
    padding: 45px 0 60px;
  }

  .values-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .value-card {
    min-height: auto;
    padding: 30px 25px;
  }

}