:root {
  --blue-950: #0f6470;      /* 主色深 */
  --blue-900: #0d5964;
  --blue-800: #1896a8;      /* 主色（水色） */
  --blue-700: #2fa4b5;
  --blue-500: #5cb8c7;      /* 主色亮 */
  --blue-100: #e6f4f6;      /* 水色浅 */
  --ice-50: #f2f9f8;
  --text-900: #0f6470;
  --text-700: #567068;      /* 石绿深文字 */
  --line: rgba(255, 255, 255, 0.22);
  --shadow: 0 24px 60px rgba(15, 100, 112, 0.18);
  --radius-xl: 34px;
  --radius-lg: 26px;
  --radius-md: 18px;
  --section-pad: clamp(72px, 8vw, 112px);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}

body {
  margin: 0;
  color: var(--text-900);
  background:
    radial-gradient(circle at top left, rgba(92, 184, 199, 0.16), transparent 38%),
    linear-gradient(180deg, #edf2f1 0%, #ffffff 34%, #e6f4f6 100%);
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  line-height: 1.6;
  overflow-x: hidden;
}

img,
svg {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select {
  font: inherit;
}

::selection {
  background: rgba(92, 184, 199, 0.22);
}

.page-shell {
  position: relative;
}

.section__inner {
  width: min(1200px, calc(100% - 40px));
  margin: 0 auto;
}

/* 头部导航 */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(20px);
  background: rgba(237, 242, 241, 0.68);
  border-bottom: 1px solid rgba(24, 150, 168, 0.08);
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

.site-header.is-scrolled {
  background: rgba(237, 242, 241, 0.92);
  box-shadow: 0 10px 26px rgba(15, 100, 112, 0.08);
}

.header-inner {
  width: min(1280px, calc(100% - 28px));
  margin: 0 auto;
  min-height: 84px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
}

.brand-mark {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  white-space: nowrap;
}

.brand-mark__seal {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--blue-800), var(--blue-500));
  box-shadow: 0 10px 24px rgba(24, 150, 168, 0.28);
  font-weight: 700;
}

.brand-mark__word {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  color: var(--blue-950);
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: 0.98rem;
  letter-spacing: 0.28em;
}

.site-nav {
  justify-self: center;
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  padding: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.52);
  border: 1px solid rgba(24, 150, 168, 0.08);
}

.nav-link {
  padding: 10px 16px;
  border-radius: 999px;
  color: var(--text-700);
  font-size: 0.95rem;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.nav-link:hover,
.nav-link.active {
  color: var(--blue-950);
  background: rgba(92, 184, 199, 0.16);
  transform: translateY(-1px);
}

.hotline-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  border-radius: 999px;
  border: 1px solid rgba(24, 150, 168, 0.16);
  color: var(--blue-800);
  background: rgba(255, 255, 255, 0.86);
  font-weight: 600;
}

.hotline-pill__icon {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(92, 184, 199, 0.12);
}

.menu-toggle {
  display: none;
  justify-self: end;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: inset 0 0 0 1px rgba(24, 150, 168, 0.1);
  cursor: pointer;
}

.menu-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  margin: 4px auto;
  border-radius: 999px;
  background: var(--blue-950);
}

.section {
  position: relative;
  padding: var(--section-pad) 0;
}

.section--light {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(230, 244, 246, 0.9));
}

/* 首屏Hero */
.hero {
  min-height: calc(100svh - 84px);
  display: flex;
  align-items: stretch;
  padding: 0;
  color: #fff;
  overflow: clip;
  background:
    radial-gradient(circle at 72% 18%, rgba(255, 255, 255, 0.18), transparent 18%),
    radial-gradient(circle at 12% 12%, rgba(255, 255, 255, 0.13), transparent 16%),
    linear-gradient(135deg, #0f6470 0%, #1896a8 48%, #5cb8c7 100%);
}

.hero__background {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.hero__bg-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: translate3d(calc(var(--hero-x, 0px) * 0.28), calc(var(--hero-y, 0px) * 0.24), 0) scale(1.08);
  filter: saturate(1.02) contrast(1.04) brightness(0.98);
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(15, 100, 112, 0.02) 0%, rgba(24, 150, 168, 0.02) 44%, rgba(92, 184, 199, 0.06) 100%),
    radial-gradient(circle at 72% 20%, rgba(255, 255, 255, 0.08), transparent 22%),
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.06), transparent 18%);
}

.hero__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(22px);
  background: rgba(255, 255, 255, 0.12);
  opacity: 0.8;
}

.hero__glow--one {
  top: 14%;
  left: 62%;
  width: 240px;
  height: 240px;
}

.hero__glow--two {
  top: 48%;
  right: 10%;
  width: 160px;
  height: 160px;
}

.hero__glow--three {
  bottom: 10%;
  left: 8%;
  width: 180px;
  height: 180px;
}

.hero__content {
  position: relative;
  z-index: 1;
  width: min(1280px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(34px, 6vw, 72px) 0 clamp(50px, 8vw, 90px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: flex-start;
  margin-bottom: 32px;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  letter-spacing: 0.14em;
  font-size: 0.92rem;
}

.eyebrow-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.12);
}

.hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  gap: clamp(24px, 6vw, 72px);
  align-items: center;
}

.hero__kicker {
  margin: 0 0 18px;
  color: rgba(255, 255, 255, 0.78);
  letter-spacing: 0.12em;
  font-size: 0.92rem;
}

.hero h1 {
  margin: 0;
  color: #fff;
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-weight: 700;
  font-size: clamp(3.6rem, 9vw, 7rem);
  line-height: 0.94;
  letter-spacing: 0.04em;
  text-shadow: 0 18px 40px rgba(15, 100, 112, 0.28);
}

.hero__lead {
  margin: 22px 0 0;
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(1.02rem, 1.7vw, 1.2rem);
  letter-spacing: 0.06em;
  max-width: 34em;
  line-height: 1.85;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 36px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 26px;
  border-radius: 999px;
  font-weight: 700;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button--solid {
  color: var(--blue-950);
  background: linear-gradient(135deg, #ffffff, var(--blue-100));
  box-shadow: 0 14px 30px rgba(15, 100, 112, 0.18);
}

.button--ghost {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.06);
}

.hero__highlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 44px;
}

.hero__highlights > div {
  padding: 18px 18px 20px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(12px);
}

.hero__highlights strong {
  display: block;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1;
}

.hero__highlights span {
  display: block;
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.92rem;
}

.hero__aside {
  align-self: center;
  justify-self: end;
  width: min(100%, 380px);
  padding: 28px;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.11);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 24px 56px rgba(15, 100, 112, 0.2);
  backdrop-filter: blur(16px);
  color: #fff;
}

.hero__aside-eyebrow {
  margin: 0 0 18px;
  color: #2fa4b5;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 1.2rem;
}

.hero__aside h3 {
  margin: 0;
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: clamp(1.7rem, 3vw, 2.2rem);
  line-height: 1.24;
}

.hero__aside p {
  margin: 16px 0 0;
  color: rgba(255, 255, 255, 0.84);
  line-height: 1.9;
}

.hero__aside-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.hero__aside-tags span {
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.88rem;
}

/* 通用标题 */
.section-heading {
  max-width: 760px;
  margin-bottom: 38px;
}

.section-heading__eyebrow {
  display: inline-block;
  margin: 0 0 12px;
  color: var(--blue-950);
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
}

.section-heading h2 {
  margin: 0;
  color: var(--text-900);
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: clamp(2rem, 4vw, 2.9rem);
  line-height: 1.12;
}

.section-heading p {
  margin: 14px 0 0;
  color: var(--ice-50);
  font-size: 1.04rem;
  line-height: 1.9;
}

/* 水源科技卡片 */
.feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.feature-card {
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(24, 150, 168, 0.08);
  box-shadow: 0 20px 42px rgba(15, 100, 112, 0.08);
  padding: 24px;
  min-height: 224px;
}

.feature-card__eyebrow {
  margin: 0 0 14px;
  color: var(--blue-800);
  font-size: 0.84rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
}

.feature-card h3 {
  margin: 0;
  color: var(--text-900);
}

.feature-card p {
  color: var(--text-700);
  margin: 10px 0 0;
  line-height: 1.85;
}

/* 交互卡片通用悬浮光斑 */
.interactive-card {
  position: relative;
  overflow: hidden;
  transform: translateZ(0);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.interactive-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--spot-x, 50%) var(--spot-y, 50%), rgba(92, 184, 199, 0.22), transparent 34%);
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

.interactive-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 60px rgba(15, 100, 112, 0.16);
}

.interactive-card:hover::before {
  opacity: 1;
}

.interactive-card > * {
  position: relative;
  z-index: 1;
}

/* 产品中心 */
.product-showcase {
  display: grid;
  grid-template-columns: 0.8fr 2.2fr;
  gap: 60px;
  align-items: center;
  margin-bottom: 80px;
}

.product-showcase__title {
  position: relative;
}

.art-title {
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  line-height: 1.1;
  color: var(--blue-950);
  margin: 0;
  letter-spacing: 0.1em;
}

.art-title__line {
  width: 60px;
  height: 4px;
  background: var(--blue-500);
  margin: 24px 0;
}

.art-title__en {
  font-size: 0.9rem;
  letter-spacing: 0.3em;
  color: var(--text-700);
  text-transform: uppercase;
}

/* 产品轮播 */
.product-carousel {
  position: relative;
  background: #fff;
  border-radius: var(--radius-xl);
  padding: 40px;
  box-shadow: var(--shadow);
  overflow: hidden;
}

.carousel-viewport {
  overflow: hidden;
}

.carousel-track {
  display: flex;
  transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}

.carousel-item {
  flex: 0 0 100%;
  width: 100%;
}

.carousel-item__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}

.carousel-item__image {
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: linear-gradient(135deg, #edf7f7, #dff0f1);
  aspect-ratio: 1/1;
}

.carousel-item__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 20px;
}

.product-tag {
  display: inline-block;
  padding: 6px 14px;
  background: var(--blue-100);
  color: var(--blue-800);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  margin-bottom: 20px;
}

.product-name {
  font-size: 1.8rem;
  color: var(--blue-950);
  margin: 0 0 16px;
  font-family: "Songti SC", "STSong", serif;
}

.product-desc {
  color: var(--text-700);
  line-height: 1.8;
  font-size: 1.05rem;
}

.carousel-controls {
  position: absolute;
  bottom: 40px;
  right: 40px;
  display: flex;
  gap: 12px;
}

.carousel-btn {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid var(--blue-100);
  background: #fff;
  color: var(--blue-800);
  cursor: pointer;
  display: grid;
  place-items: center;
  font-size: 1.2rem;
  transition: all 0.3s ease;
}

.carousel-btn:hover {
  background: var(--blue-800);
  color: #fff;
  transform: scale(1.1);
}

/* 场景卡片网格 */
.scene-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.product-card {
  overflow: hidden;
  border-radius: 28px;
  background: #fff;
  border: 1px solid rgba(24, 150, 168, 0.08);
  box-shadow: 0 24px 50px rgba(15, 100, 112, 0.08);
  transition: transform 0.32s ease, box-shadow 0.32s ease;
}

.product-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 28px 58px rgba(15, 100, 112, 0.16);
}

.product-card img {
  width: 100%;
  aspect-ratio: 16 / 11;
  object-fit: cover;
  background: linear-gradient(180deg, #f2f7f7, #e0f0f0);
  transition: transform 0.4s ease;
}

.product-card:hover img {
  transform: scale(1.05);
}

.product-card__body {
  padding: 22px 22px 24px;
}

.product-card__meta {
  display: inline-flex;
  margin-bottom: 12px;
  color: var(--blue-800);
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.product-card h3 {
  margin: 0;
  color: var(--text-900);
}

.product-card p {
  margin: 10px 0 16px;
  color: var(--text-700);
  line-height: 1.85;
}

/* 新闻板块 */
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.news-card {
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(24, 150, 168, 0.08);
  box-shadow: 0 20px 42px rgba(15, 100, 112, 0.08);
  padding: 24px;
}

.news-card time {
  display: inline-block;
  margin-bottom: 16px;
  color: var(--blue-800);
  font-size: 0.9rem;
  letter-spacing: 0.08em;
}

.news-card h3 {
  margin: 0;
  color: var(--text-900);
}

.news-card p {
  margin: 10px 0 0;
  color: var(--text-700);
  line-height: 1.85;
}

/* 联系我们 — 修复版 */
.contact-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.contact-card {
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(24, 150, 168, 0.08);
  box-shadow: 0 20px 42px rgba(15, 100, 112, 0.08);
  padding: 28px 24px;
  min-height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contact-card span {
  display: inline-block;
  margin-bottom: 20px;
  color: var(--blue-800);
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.contact-card strong {
  display: block;
  margin-bottom: 20px;
  font-size: 1.4rem;
  color: var(--text-900);
  text-align: center;
}

.contact-card p {
  color: var(--text-700);
  margin: 0;
  font-size: 2rem;
  text-align: center;
}

.contact-card a {
  align-items: center;
  margin-top: 6px;
  color: var(--blue-800);
  font-weight: 700;
  text-align: center;
}

.contact-card--qr {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.contact-card--qr .qr-placeholder {
  width: 120px;
  height: 120px;
  flex-shrink: 0;
  padding: 8px;
  border-radius: 18px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(24, 150, 168, 0.08);
}

.qr-placeholder img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 14px;
}

/* 页脚 */
.site-footer {
  padding: 20px 0 32px;
  font-size: 1.2rem;
  background: linear-gradient(180deg, rgba(230, 244, 246, 0.5), rgba(230, 244, 246, 0.95));
  border-top: 1px solid rgba(24, 150, 168, 0.08);
}

.site-footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  color: var(--text-700);
}

.site-footer a {
  color: var(--blue-800);
  font-weight: 700;
}

/* 滚动渐入动画 */
/* ========== 动画扩展与错落效果 ========== */
.reveal,
.reveal-left,
.reveal-right,
.reveal-zoom {
  opacity: 0;
  will-change: opacity, transform;
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

/* 默认从下往上 */
.reveal {
  transform: translateY(36px);
}

/* 从左向右滑入 */
.reveal-left {
  transform: translateX(-50px);
}

/* 从右向左滑入 */
.reveal-right {
  transform: translateX(50px);
}

/* 微缩放放大 */
.reveal-zoom {
  transform: scale(0.92);
}

/* 触发显现 */
.reveal.is-visible,
.reveal-left.is-visible,
.reveal-right.is-visible,
.reveal-zoom.is-visible {
  opacity: 1;
  transform: translate(0, 0) scale(1);
}

/* 错落延迟类 */
.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }
.delay-400 { transition-delay: 0.4s; }


/* ========== 新闻板块背景图加浅渐变 ========== */
.news-contact-wrapper {
  position: relative;
  background: 
    linear-gradient(180deg, rgba(237, 242, 241, 0.5) 0%, rgba(230, 244, 246, 0.1) 100%),
    url('../pictures/b1g.jpg') center top / cover no-repeat;
}

/* 确保包裹在内部的板块背景透明，透出容器的背景图 */
.news-contact-wrapper #news,
.news-contact-wrapper #contact {
  background: transparent;
}


/* 响应式 */
@media (max-width: 1100px) {
  .feature-grid,
  .news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero__grid {
    grid-template-columns: 1fr;
  }

  .hero__aside {
    justify-self: start;
    width: min(100%, 460px);
  }

  .product-showcase {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  
  .art-title {
    text-align: center;
  }
  
  .art-title__line {
    margin: 20px auto;
  }
  
  .art-title__en {
    text-align: center;
  }
}

@media (max-width: 860px) {
  .header-inner {
    grid-template-columns: auto auto;
    grid-template-areas:
      "brand action"
      "nav nav";
    align-items: start;
    padding: 12px 0;
  }

  .brand-mark {
    grid-area: brand;
  }

  .menu-toggle {
    display: inline-grid;
    place-items: center;
    grid-area: action;
  }

  .site-nav {
    grid-area: nav;
    justify-self: stretch;
    display: none;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    padding: 12px;
    border-radius: 24px;
  }

  .site-nav.is-open {
    display: flex;
  }

  .nav-link {
    text-align: center;
  }

  .hotline-pill {
    display: none;
  }

  .hero h1 {
    font-size: clamp(3.2rem, 15vw, 5rem);
  }

  .hero__highlights,
  .contact-grid {
    grid-template-columns: 1fr;
  }

  .feature-grid,
  .news-grid,
  .scene-grid {
    grid-template-columns: 1fr;
  }

  .contact-card--qr {
    flex-direction: column;
    align-items: flex-start;
  }

  .contact-card--qr .qr-placeholder {
    width: 120px;
    height: 120px;
  }

  .site-footer__inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .section__inner,
  .hero__content,
  .header-inner {
    width: min(100%, calc(100% - 24px));
  }

  .carousel-item__content {
    grid-template-columns: 1fr;
    text-align: center;
  }
  
  .product-carousel {
    padding: 24px;
  }
  
  .carousel-controls {
    position: relative;
    right: auto;
    bottom: auto;
    justify-content: center;
    margin-top: 30px;
  }
}

@media (max-width: 640px) {
  .section {
    padding: 64px 0;
  }

  .hero {
    min-height: auto;
  }

  .hero__content {
    padding-top: 28px;
    padding-bottom: 72px;
  }

  .hero__eyebrow {
    font-size: 0.78rem;
    letter-spacing: 0.08em;
  }

  .hero__actions {
    flex-direction: column;
  }

  .button {
    width: 100%;
  }

  .hero__aside {
    min-height: 320px;
    padding: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }
}
/* =========================================
   新增：线下体验中心板块样式
   ========================================= */
.experience-section {
  position: relative;
  background: var(--ice-50);
  overflow: hidden;
}

.experience-inner {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 64px;
  align-items: center;
}

.experience-content {
  background: rgba(255, 255, 255, 0.9);
  padding: 56px 48px;
  border-radius: var(--radius-xl);
  box-shadow: 0 24px 60px rgba(15, 100, 112, 0.08);
  border: 1px solid rgba(24, 150, 168, 0.05);
  backdrop-filter: blur(20px);
  z-index: 2;
}

.experience-content h2 {
  margin: 0;
  color: var(--text-900);
  font-family: "Songti SC", "STSong", "Noto Serif SC", serif;
  font-size: clamp(2rem, 3.5vw, 2.6rem);
  line-height: 1.2;
}

.experience-desc {
  margin: 24px 0 32px;
  color: var(--text-700);
  font-size: 1.05rem;
  line-height: 1.85;
}

.experience-features {
  list-style: none;
  padding: 0;
  margin: 0 0 40px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.experience-features li {
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--text-900);
  font-weight: 500;
  font-size: 1.02rem;
}

.experience-features span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--blue-100);
  color: var(--blue-800);
  font-size: 0.85rem;
  font-weight: 700;
}

.experience-image {
  position: relative;
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: 0 30px 60px rgba(15, 100, 112, 0.12);
  aspect-ratio: 4 / 3;
}

.experience-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}

.experience-image:hover img {
  transform: scale(1.06);
}

.experience-badge {
  position: absolute;
  bottom: 32px;
  left: 32px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  padding: 12px 24px;
  border-radius: 999px;
  font-weight: 700;
  color: var(--blue-950);
  font-size: 0.95rem;
  letter-spacing: 0.05em;
  box-shadow: 0 12px 24px rgba(15, 100, 112, 0.15);
}


/* =========================================
   修改：联系我们 - 二维码卡片样式覆盖
   ========================================= */
.contact-card--qr {
  /* 覆盖原有的 flex-start，改为整体居中 */
  align-items: center !important; 
  text-align: center;
}

.contact-card--qr span {
  margin-bottom: 20px;
}

.qr-group {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 28px;
  width: 100%;
}

.qr-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.qr-item p {
  font-size: 0.85rem !important;
  color: var(--text-700) !important;
  font-weight: 500;
  letter-spacing: 0.05em;
}

/* 移动端适配响应式补充 */
@media (max-width: 960px) {
  .experience-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  
  .experience-content {
    padding: 40px 32px;
  }

  .qr-group {
    gap: 20px;
  }
}

@media (max-width: 480px) {
  .qr-group {
    flex-direction: column; /* 手机屏幕极小时，两个二维码改为上下排列 */
    gap: 24px;
  }
}
/* =========================================
   全局高级交互：光标与磁吸
   ========================================= */
@media (pointer: fine) {
  
  .custom-cursor {
    position: fixed; top: 0; left: 0; width: 8px; height: 8px;
    background: var(--blue-800); border-radius: 50%; pointer-events: none;
    z-index: 9999; transform: translate(-50%, -50%);
    transition: background 0.2s;
  }
  .custom-cursor-follower {
    position: fixed; top: 0; left: 0; width: 40px; height: 40px;
    border: 1px solid rgba(24, 150, 168, 0.3); border-radius: 50%;
    pointer-events: none; z-index: 9998; transform: translate(-50%, -50%);
    transition: width 0.3s, height 0.3s, background 0.3s, border-color 0.3s;
  }
  body.hovering .custom-cursor { background: transparent; }
  body.hovering .custom-cursor-follower {
    width: 60px; height: 60px; background: rgba(92, 184, 199, 0.15);
    border-color: rgba(92, 184, 199, 0.5); backdrop-filter: blur(2px);
  }
}

.magnetic-wrap { display: inline-block; padding: 20px; margin: -20px; cursor: pointer; }
.magnetic-btn, .magnetic-img { transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1); will-change: transform; }
.section-actions.center { text-align: center; margin-top: 50px; }

/* =========================================
   沉浸式二级页面样式
   ========================================= */
.subpage-body { background: #fff; }
.subpage-header { background: transparent; border: none; box-shadow: none; }
.subpage-header .brand-mark { color: var(--blue-950); font-weight: 700; font-size: 1.1rem; }

.scroll-progress {
  position: fixed; top: 0; left: 0; height: 4px;
  background: var(--blue-500); width: 0%; z-index: 10000;
}

.subpage-hero {
  position: relative; height: 85vh; display: flex; align-items: center;
  justify-content: center; overflow: hidden; margin-bottom: 80px;
}
.subpage-hero__bg {
  position: absolute; inset: -10%; background-size: cover; background-position: center;
  will-change: transform;
}
.subpage-hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, rgba(255,255,255,0.2), rgba(255,255,255,1));
}
.subpage-hero__content { position: relative; z-index: 2; text-align: center; padding: 0 20px; }
.subpage-hero__content .eyebrow { color: var(--blue-800); font-weight: 700; letter-spacing: 0.2em; margin-bottom:10px; }
.subpage-hero__content h1 {
  font-family: "Songti SC", serif; font-size: clamp(3rem, 6vw, 5.5rem);
  color: var(--blue-950); line-height: 1.15; margin: 0;
}
.scroll-hint {
  position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%);
  font-size: 0.8rem; letter-spacing: 0.2em; color: var(--blue-800);
  animation: bounce 2s infinite; z-index: 2;
}
@keyframes bounce { 0%, 100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, 10px); } }

.subpage-section { padding: 80px 0; }
.sub-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.sub-grid.reverse .sub-grid__text { grid-column: 2; grid-row: 1; }
.sub-grid.reverse .sub-grid__image { grid-column: 1; grid-row: 1; }
@media (max-width: 900px) {
  .sub-grid, .sub-grid.reverse .sub-grid__text, .sub-grid.reverse .sub-grid__image {
    grid-template-columns: 1fr; grid-column: 1; grid-row: auto; text-align: center; gap: 40px;
  }
}

.huge-number {
  font-family: serif; font-size: 8rem; font-weight: 900;
  color: transparent; -webkit-text-stroke: 2px var(--blue-100);
  line-height: 0.8; margin-bottom: -20px;
}
.sub-grid__text h2 { font-family: "Songti SC", serif; font-size: 2.2rem; color: var(--blue-950); margin-bottom: 24px; }
.sub-grid__text p { color: var(--text-700); font-size: 1.1rem; line-height: 2; }
.sub-grid__image img { border-radius: var(--radius-xl); box-shadow: var(--shadow); width: 100%; }

.next-page-nav {
  display: block; text-align: center; padding: 120px 0; 
  background: var(--blue-950); color: #fff; margin-top: 80px;
}
.next-page-link p { font-size: 0.9rem; letter-spacing: 0.2em; opacity: 0.6; margin:0;}
.next-page-link h2 { font-family: "Songti SC", serif; font-size: 3rem; margin: 10px 0 0; }

/* 新闻列表独有样式 */
.news-list-item {
  display: flex; align-items: center; gap: 40px; padding: 40px;
  border-bottom: 1px solid rgba(24,150,168,0.1); transition: all 0.3s;
  background: #fff; border-radius: 20px; margin-bottom: 20px; text-decoration: none;
}
.news-list-item:hover { background: var(--ice-50); transform: translateX(10px); }
.news-list-date { font-family: serif; font-size: 2rem; color: var(--blue-800); line-height: 1; font-weight: 700;}
.news-list-date span { font-size: 1rem; opacity: 0.6; font-family: sans-serif;}
.news-list-content h3 { font-size: 1.5rem; color: var(--blue-950); margin: 0 0 10px; }
.news-list-content p { margin: 0; color: var(--text-700); }
.news-list-arrow { font-size: 2rem; color: var(--blue-500); margin-left: auto; transition: transform 0.3s;}
.news-list-item:hover .news-list-arrow { transform: translate(5px, -5px); }
@media (max-width: 600px) { .news-list-item { flex-direction: column; align-items: flex-start; gap:20px;} .news-list-arrow{display:none;} }
/* ============================================================================
   甲十川 BRAND VI 2.0 — 精细化品牌视觉覆盖
   --------------------------------------------------------------------------
   设计依据：
   1) 品牌主色：C53 M25 Y38 K0 的青灰水色
   2) 辅助色：C75 M17 Y27 K0 的青蓝色
   3) 深色：黑/深棕，用于 Logo、正文与强调线
   4) 辅助图形：山纹、水纹、中式边框
   5) 字体层级：大标宋 / 书宋 / 黑体 / 纤黑方向
   6) 页面语言：留白、细线、非圆润互联网卡片、东方秩序感
   ============================================================================ */

:root {
  --jc-sage: #89a9a0;
  --jc-sage-2: #769b91;
  --jc-sage-3: #a8c0ba;
  --jc-teal: #1da2b5;
  --jc-teal-2: #2baabd;
  --jc-ink: #241b19;
  --jc-ink-soft: #423531;
  --jc-paper: #fbfaf6;
  --jc-paper-2: #f4f5f0;
  --jc-line: rgba(36, 27, 25, .18);
  --jc-line-soft: rgba(137, 169, 160, .32);
  --jc-white-line: rgba(255,255,255,.78);
  --jc-shadow: 0 22px 60px rgba(36,27,25,.10);
  --jc-shadow-soft: 0 12px 32px rgba(36,27,25,.07);
  --jc-radius: 0px;

  /* 兼容原项目旧变量 */
  --blue-950: var(--jc-ink);
  --blue-900: var(--jc-ink-soft);
  --blue-800: var(--jc-teal);
  --blue-700: var(--jc-teal-2);
  --blue-500: var(--jc-sage);
  --blue-100: #e6eeeb;
  --ice-50: var(--jc-paper-2);
  --text-900: var(--jc-ink);
  --text-700: #645954;
  --line: var(--jc-line);
  --shadow: var(--jc-shadow);
  --radius-xl: 0px;
  --radius-lg: 0px;
  --radius-md: 0px;
}

/* =========================
   品牌图形资源（内嵌 SVG）
   ========================= */
:root {
  --mountain-white: url("../pictures/mountain_lines.svg");
  --mountain-dark: url("../pictures/mountain_lines_dark.svg");
  --water-white: url("../pictures/water_lines.svg");
  --water-dark: url("../pictures/water_lines_dark.svg");
  --vertical_frame: url("../pictures/vertical_frame.svg");
  --horizontal_frame: url("../pictures/horizontal_frame.svg");
  --horizontal_frame_dark: url("../pictures/horizontal_frame_dark.svg");
}

/* =========================
   基础画面
   ========================= */
html {
  scroll-padding-top: 88px;
}

body {
  background:
    linear-gradient(180deg, #fff 0%, var(--jc-paper) 52%, #eef2ee 100%);
  color: var(--jc-ink);
  font-family: "FZShuSong-Z01", "FZShuSong", "STSong", "Songti SC", "Noto Serif SC", "Source Han Serif SC", serif;
  letter-spacing: .02em;
  line-height: 1.8;
}

body::before {
  content: "";
  position: fixed;
  inset: auto 0 0;
  height: 220px;
  pointer-events: none;
  z-index: 0;
  opacity: .12;
  
  background-position: left bottom, left bottom 18px, left bottom;
}

.page-shell,
main,
.site-footer {
  position: relative;
  z-index: 1;
}

/* 精致的品牌分隔线 */
.section {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(36,27,25,.035);
}

.section::before {
  content: "";
  position: absolute;
  top: 20px;
  left: max(24px, calc((100vw - 1320px) / 2));
  width: 86px;
  height: 1px;
  background: var(--jc-sage);
  opacity: .8;
}

.section::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 108px;
  pointer-events: none;
  
  opacity: .14;
}

.section__inner {
  width: min(1240px, calc(100% - 48px));
  position: relative;
  z-index: 2;
}

/* =========================
   顶部：参照 VI 规范的横向标志组合
   ========================= */
.site-header {
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(36,27,25,.12);
  box-shadow: 0 8px 24px rgba(36,27,25,.035);
}

.site-header::after {
  content: "";
  display: block;
  height: 3px;
  background: linear-gradient(90deg, var(--jc-sage) 0 74%, var(--jc-teal) 74% 100%);
}

.header-inner {
  width: min(1340px, calc(100% - 40px));
  min-height: 82px;
}

.brand-mark {
  position: relative;
  gap: 0;
  padding: 14px 26px; 
  color: var(--jc-ink);
  background-image: var(--horizontal_frame_dark); 
  background-size: 100% 100%; 
  background-repeat: no-repeat;
  background-position:-7px 0;
  z-index: 1; 
}

.brand-mark::before {
  content: none; 
}

.brand-mark img {
  position: relative;
  z-index: 2; 
  height: 48px !important;
  width: auto;
  object-fit: contain;
  padding: 0; 
}

.site-nav {
  gap: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.nav-link {
  position: relative;
  padding: 23px 15px 19px;
  border-radius: 0;
  color: var(--jc-ink-soft);
  font-family: "FZLanTingHei", "FZLanTingHeiS", "Microsoft YaHei", sans-serif;
  font-size: .93rem;
  letter-spacing: .12em;
}

.nav-link::after {
  content: "";
  position: absolute;
  left: 15px;
  right: 15px;
  bottom: 9px;
  height: 1px;
  background: var(--jc-sage);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s ease;
}

.nav-link:hover,
.nav-link.active {
  color: var(--jc-ink);
  background: transparent;
  transform: none;
}

.nav-link:hover::after,
.nav-link.active::after {
  transform: scaleX(1);
}

.hotline-pill {
  padding: 9px 16px;
  border-radius: 0;
  border: 1px solid var(--jc-sage);
  color: var(--jc-ink);
  background: #fff;
  font-family: "FZLanTingHei", "Microsoft YaHei", sans-serif;
  letter-spacing: .08em;
  box-shadow: none;
}

.hotline-pill__icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--jc-sage);
  color: #fff;
}

.menu-toggle {
  border-radius: 0;
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--jc-sage);
}

.menu-toggle span { background: var(--jc-ink); }

/* =========================
   Hero：品牌大留白 + 主色场景
   ========================= */
.hero {
  min-height: calc(100svh - 85px);
  color: var(--jc-ink);
  background:
    linear-gradient(120deg, rgba(137,169,160,.94), rgba(137,169,160,.72) 58%, rgba(29,162,181,.88)),
    #90aaa2;
}

.hero__background::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 42%;
  background:
    var(--mountain-white) center bottom / auto 150px repeat-x;
    
  opacity: .74;
  mix-blend-mode: screen;
}

.hero__overlay {
  background:
    linear-gradient(90deg, rgba(137,169,160,.25), rgba(137,169,160,.2)),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(36,27,25,.14));
}

.hero__glow { display:none; }

.hero__content {
  padding: clamp(54px, 8vw, 96px) 0 clamp(76px, 10vw, 124px);
}

.hero__eyebrow {
  padding: 9px 18px;
  margin-bottom: 28px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 0;
  background: rgba(255,255,255,.06);
  color: #fff;
  letter-spacing: .32em;
  font-family: "FZLanTingHei", "Microsoft YaHei", sans-serif;
}

.eyebrow-dot {
  width: 8px;
  height: 8px;
  background: #fff;
  box-shadow: none;
  border-radius: 0;
  transform: rotate(45deg);
}

.hero__kicker,
.hero__lead,
.hero__aside p,
.hero__aside-tags span,
.hero__highlights span {
  font-family: "FZLanTingHei", "Microsoft YaHei", sans-serif;
}

.hero__kicker {
  color: rgba(255,255,255,.86);
  letter-spacing: .22em;
}

.hero h1 {
  font-family: "FZDaBiaoSong-B06", "FZDaBiaoSong-B05", "STSong", "Songti SC", serif;
  font-weight: 500;
  font-size: clamp(3.3rem, 8vw, 6.3rem);
  line-height: 1.04;
  letter-spacing: .12em;
  text-shadow: none;
}

.hero__lead {
  max-width: 42em;
  line-height: 2;
  letter-spacing: .08em;
}

.hero__actions { margin-top: 32px; }

.button {
  min-height: 52px;
  padding: 0 26px;
  border-radius: 0;
  font-family: "FZLanTingHei", "Microsoft YaHei", sans-serif;
  letter-spacing: .11em;
  box-shadow: none;
}

.button--solid {
  color: #fff;
  background: var(--jc-ink);
  border: 1px solid var(--jc-ink);
  box-shadow: 8px 8px 0 rgba(255,255,255,.15);
}

.button--solid:hover { box-shadow: 4px 4px 0 rgba(255,255,255,.15); }

.button--ghost {
  color: #fff;
  border: 1px solid rgba(255,255,255,.85);
  background: transparent;
}

.hero__highlights {
  gap: 0;
  margin-top: 44px;
}

.hero__highlights > div {
  padding: 16px 18px 18px;
  border-radius: 0;
  background: rgba(255,255,255,.07);
  border: 0;
  border-right: 1px solid rgba(255,255,255,.36);
  backdrop-filter: none;
}

.hero__highlights > div:first-child {
  border-left: 1px solid rgba(255,255,255,.36);
}

.hero__highlights strong {
  font-family: "FZDaBiaoSong-B06", "STSong", serif;
  font-weight: 500;
  letter-spacing: .08em;
}

.hero__aside {
  width: min(100%, 390px);
  padding: 32px;
  border-radius: 0;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.68);
  box-shadow: 12px 12px 0 rgba(36,27,25,.10);
  backdrop-filter: blur(6px);
}

.hero__aside::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(255,255,255,.28);
  pointer-events: none;
}

.hero__aside-eyebrow {
  position: relative;
  color: #fff;
  font-family: "FZLanTingHei", "Microsoft YaHei", sans-serif;
  letter-spacing: .24em;
}

.hero__aside h3 {
  font-family: "FZShuSong-Z01", "STSong", "Songti SC", serif;
  font-weight: 500;
  letter-spacing: .08em;
}

.hero__aside-tags span {
  border-radius: 0;
  border: 1px solid rgba(255,255,255,.42);
  background: rgba(255,255,255,.05);
}

/* =========================
   标题：完全改成 VI 的“主标题 / 副标题 / 正文”层级
   ========================= */
.section-heading { max-width: 820px; margin-bottom: 48px; }

.section-heading__eyebrow {
  position: relative;
  display: inline-block;
  margin-bottom: 18px;
  padding: 6px 18px 6px 14px;
  color: #fff;
  background: var(--jc-sage);
  font-family: "FZShuSong-Z01", "STSong", serif;
  font-size: 1.25rem;
  letter-spacing: .26em;
  text-shadow: none;
}

.section-heading__eyebrow::after {
  content: "";
  position: absolute;
  top: 0;
  right: -18px;
  width: 18px;
  height: 100%;
  background: var(--jc-sage);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.section-heading h2,
.experience-content h2 {
  font-family: "FZDaBiaoSong-B06", "STSong", "Songti SC", serif;
  font-weight: 500;
  color: var(--jc-ink);
  letter-spacing: .09em;
}

.section-heading h2::after,
.experience-content h2::after {
  content: "";
  display: block;
  width: 92px;
  height: 1px;
  margin-top: 22px;
  background: var(--jc-ink);
}

.section-heading p,
.feature-card p,
.product-card p,
.news-card p,
.contact-card p,
.experience-desc,
.product-desc {
  color: var(--text-700);
  font-family: "FZShuSong-Z01", "STSong", "Songti SC", serif;
}

/* =========================
   山纹、水纹底纹：大片留白区域的品牌背景
   ========================= */
.section--light {
  background: #f6f6f1;
}

.section--light::after {
  height: 250px;
  background:
    var(--mountain-dark) left bottom / 720px 260px no-repeat,
    var(--water-dark) right bottom / 640px 180px no-repeat;
  opacity: .20;
}

#products::after {
  background:
    var(--water-dark) right bottom / 860px 240px no-repeat,
    var(--water-dark) left bottom / 860px 240px no-repeat;
  opacity: .12;
}

#experience::after {
  background:
    
    var(--water-dark) right bottom / 800px 240px no-repeat;
  opacity: .10;
}

#news::after,
#contact::after {
  opacity: .08;
}

/* =========================
   卡片：取消大圆角，采用纸张/手册式细线边框
   ========================= */
.feature-grid,
.scene-grid,
.news-grid,
.contact-grid {
  gap: 20px;
}

.feature-card,
.news-card,
.contact-card,
.product-card,
.product-carousel,
.experience-content {
  position: relative;
  border-radius: 0;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(36,27,25,.18);
  box-shadow: var(--jc-shadow-soft);
}

.feature-card,
.news-card,
.contact-card {
  padding: 30px;
}

.feature-card::before,
.news-card::before,
.contact-card::before,
.product-card::before,
.product-carousel::before,
.experience-content::before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(137,169,160,.25);
  clip-path: polygon(4% 0,96% 0,100% 5%,100% 95%,96% 100%,4% 100%,0 95%,0 5%);
  pointer-events: none;
}

.feature-card::after,
.news-card::after,
.contact-card::after,
.product-card::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 110px;
  height: 54px;
  background: var(--water-dark) right bottom / 450px 120px no-repeat;
  opacity: .16;
  pointer-events: none;
}

.feature-card:hover,
.news-card:hover,
.contact-card:hover,
.product-card:hover {
  transform: translateY(-5px);
  box-shadow: 14px 14px 0 rgba(137,169,160,.16);
}

.feature-card__eyebrow,
.product-card__meta,
.news-card time,
.contact-card span {
  color: var(--jc-sage-2);
  font-family: "FZLanTingHei", "Microsoft YaHei", sans-serif;
  letter-spacing: .16em;
  font-weight: 600;
}

.feature-card h3,
.product-card h3,
.news-card h3,
.contact-card strong {
  color: var(--jc-ink);
  font-family: "FZShuSong-Z01", "STSong", "Songti SC", serif;
  font-weight: 600;
  letter-spacing: .06em;
}

/* =========================
   产品轮播：像 VI 手册中的展示框
   ========================= */
.product-showcase {
  gap: 56px;
}

.art-title {
  font-family: "FZDaBiaoSong-B06", "STSong", serif;
  color: var(--jc-ink);
  letter-spacing: .14em;
  font-weight: 500;
}

.art-title__line {
  position: relative;
  width: 112px;
  height: 1px;
  margin: 28px 0;
  background: var(--jc-ink);
}

.art-title__line::after {
  content: "";
  position: absolute;
  right: -22px;
  top: -3px;
  width: 7px;
  height: 7px;
  background: var(--jc-sage);
  transform: rotate(45deg);
}

.art-title__en {
  color: var(--jc-sage-2);
  font-family: "FZLanTingHei", "Microsoft YaHei", sans-serif;
  letter-spacing: .38em;
}

.product-carousel {
  padding: 34px;
  overflow: hidden;
}

.product-carousel::after {
  content: "";
  position: absolute;
  inset: auto 18px 12px;
  height: 90px;
  background:
    
    var(--water-dark) left top / 420px 200px no-repeat;
  opacity: .16;
  pointer-events: none;
}

.carousel-item__image {
  border-radius: 0;
  background: #f4f5f0;
  border: 1px solid rgba(36,27,25,.14);
  position: relative;
}

.carousel-item__image::after {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid var(--jc-sage);
  clip-path: polygon(7% 0,93% 0,100% 10%,100% 90%,93% 100%,7% 100%,0 90%,0 10%);
  pointer-events: none;
}

.product-tag {
  border-radius: 0;
  background: var(--jc-sage);
  color: #fff;
  font-family: "FZLanTingHei", "Microsoft YaHei", sans-serif;
  letter-spacing: .14em;
}

.product-name {
  font-family: "FZDaBiaoSong-B06", "STSong", serif;
  color: var(--jc-ink);
  font-weight: 500;
}

.carousel-btn {
  border-radius: 0;
  border: 1px solid var(--jc-ink);
  background: #fff;
  color: var(--jc-ink);
}

.carousel-btn:hover {
  background: var(--jc-ink);
  color: #fff;
  transform: none;
}

/* =========================
   场景图像：边框采用 VI 中式框
   ========================= */
.product-card img {
  background: #edf0ec;
}

.product-card__body {
  padding: 28px;
}

/* =========================
   体验中心
   ========================= */
.experience-section {
  background: #f1f3ee;
}

.experience-content {
  padding: 58px 48px;
  box-shadow: 14px 14px 0 rgba(137,169,160,.17);
}

.experience-image {
  border-radius: 0;
  box-shadow: 14px 14px 0 rgba(137,169,160,.17);
  border: 1px solid rgba(36,27,25,.18);
}

.experience-image::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(255,255,255,.75);
  clip-path: polygon(6% 0,94% 0,100% 7%,100% 93%,94% 100%,6% 100%,0 93%,0 7%);
  z-index: 2;
  pointer-events: none;
}

.experience-image::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 120px;
  
    
  opacity: .55;
  pointer-events: none;
}

.experience-badge {
  bottom: 24px;
  left: 24px;
  border-radius: 0;
  background: rgba(36,27,25,.88);
  color: #fff;
  border: 1px solid rgba(255,255,255,.5);
  box-shadow: none;
  font-family: "FZLanTingHei", "Microsoft YaHei", sans-serif;
}

.experience-features { gap: 16px; }

.experience-features li {
  font-family: "FZShuSong-Z01", "STSong", serif;
  border-bottom: 1px solid rgba(36,27,25,.12);
  padding-bottom: 12px;
}

.experience-features span {
  border-radius: 0;
  background: var(--jc-sage);
  color: #fff;
}

/* =========================
   新闻与联系：减少花哨，强化手册感
   ========================= */


.news-contact-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    var(--mountain-dark) right 80px / 760px 280px no-repeat;
    
  opacity: .20;
  pointer-events: none;
}

.news-card time { font-family: "FZLanTingHei", sans-serif; }

.contact-card--qr {
  align-items: center !important;
  text-align: center;
}

.qr-placeholder {
  border-radius: 0 !important;
  box-shadow: inset 0 0 0 1px rgba(36,27,25,.22) !important;
  position: relative;
}

.qr-placeholder::before {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px solid var(--jc-sage);
  clip-path: polygon(9% 0,91% 0,100% 10%,100% 90%,91% 100%,9% 100%,0 90%,0 10%);
  pointer-events: none;
  z-index: 2;
}

.contact-card--qr::after { display: none; }

/* =========================
   页脚：品牌主色块 + 水纹
   ========================= */
.site-footer {
  background: var(--jc-sage);
  color: #fff;
  border-top: 1px solid rgba(36,27,25,.22);
  padding: 30px 0 46px;
  overflow: hidden;
}

.site-footer::before {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 120px;
  background: var(--mountain-dark) center bottom / auto 122px repeat-x;
  opacity: .34;
}

.site-footer__inner,
.site-footer a,
.site-footer p {
  position: relative;
  z-index: 2;
  color: black;
}

.site-footer a { font-weight: 400; }

/* =========================
   品牌装饰：图片/图片区增加中式边框
   ========================= */
img {
  image-rendering: auto;
}

.product-card img,
.experience-image img,
.sub-grid__image img {
  outline: none;
}

.product-card,
.experience-image,
.sub-grid__image,
.carousel-item__image {
  isolation: isolate;
}

/* 在空白处增加轻量山纹，不抢主体 */
.product-showcase__title::after {
  content: "";
  position: absolute;
  left: -32px;
  right: -40px;
  bottom: -34px;
  height: 150px;
  background: var(--mountain-dark) left bottom / 420px 160px no-repeat;
  opacity: .30;
  pointer-events: none;
}

.product-showcase__title > * { position: relative; z-index: 2; }

/* =========================
   二级页面同步品牌语言
   ========================= */
.subpage-body {
  background: var(--jc-paper);
  color: var(--jc-ink);
}

.subpage-header {
  background: #fff;
  border-bottom: 1px solid rgba(36,27,25,.12);
}

.subpage-hero__overlay {
  background:
    linear-gradient(180deg, rgba(137,169,160,.10), rgba(255,255,255,.96)),
    linear-gradient(90deg, rgba(255,255,255,.34), rgba(255,255,255,.02));
}

.subpage-hero__content h1,
.sub-grid__text h2,
.next-page-link h2 {
  font-family: "FZDaBiaoSong-B06", "STSong", serif;
  color: var(--jc-ink);
  font-weight: 500;
  letter-spacing: .10em;
}

.subpage-section {
  position: relative;
  overflow: hidden;
}

.subpage-section::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 180px;
  background:
    var(--mountain-dark) right bottom / 620px 225px no-repeat,
    var(--water-dark) left top / 600px 380px no-repeat;
  opacity: .20;
  pointer-events: none;
}

.sub-grid__image img {
  border-radius: 0;
  border: 1px solid rgba(36,27,25,.18);
  box-shadow: 12px 12px 0 rgba(137,169,160,.18);
}

.next-page-nav {
  background: var(--jc-sage);
  position: relative;
  overflow: hidden;
}

.next-page-nav::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 150px;
  background: var(--water-white) 0 top/ 800px 250px repeat-x;
  opacity: .30;
  animation: waterFlow 12s linear infinite;
  pointer-events: none;
}

/* 水纹流动关键帧：向左滚动，负值背景位置=画面视觉向右流动 */
@keyframes waterFlow {
  0% {
    background-position: 0 bottom;
  }
  100% {
    background-position: -2200px bottom;
  }
}

.news-list-item {
  border-radius: 0;
  border: 1px solid rgba(36,27,25,.12);
  border-bottom: 1px solid rgba(36,27,25,.14);
  box-shadow: none;
}

.news-list-item:hover {
  background: #f1f4ef;
  transform: translateX(5px);
}

.news-list-date,
.news-list-content h3,
.news-list-arrow {
  color: var(--jc-ink);
}

/* =========================
   动画：保留原 JS 的 reveal 选择器，但动画更克制
   ========================= */
.reveal,
.reveal-left,
.reveal-right,
.reveal-zoom {
  transition-timing-function: cubic-bezier(.2,.7,.2,1);
}

.interactive-card::before {
  background: linear-gradient(135deg, rgba(137,169,160,.10), transparent 50%);
}

@media (pointer:fine) {
  .custom-cursor {
    background: var(--jc-ink);
    border-radius: 0;
  }
  .custom-cursor-follower {
    border-radius: 0;
    border-color: rgba(137,169,160,.65);
    width: 34px;
    height: 34px;
  }
  body.hovering .custom-cursor-follower {
    width: 54px;
    height: 54px;
    background: rgba(137,169,160,.12);
    border-color: var(--jc-sage);
  }
}

/* =========================
   移动端：保持品牌线条与纹样
   ========================= */
@media (max-width: 860px) {
  .site-header::after { height: 2px; }
  .brand-mark { padding: 5px 12px; }
  .brand-mark img { height: 42px !important; }
  .site-nav { border-top: 1px solid rgba(36,27,25,.10); }
  .nav-link { padding: 12px 14px; }
  .nav-link::after { display: none; }
  .hero__highlights > div { border-bottom: 1px solid rgba(255,255,255,.34); border-right: 0; }
  .hero__highlights > div:first-child { border-left: 0; }
  .section-heading__eyebrow { letter-spacing: .16em; }
}

@media (max-width: 640px) {
  .section__inner { width: min(100%, calc(100% - 28px)); }
  .section { padding: 66px 0; }
  .section::before { left: 14px; width: 52px; }
  .hero__content { width: min(100%, calc(100% - 28px)); }
  .hero h1 { font-size: clamp(2.8rem, 14vw, 4.6rem); letter-spacing: .07em; }
  .hero__lead { font-size: .98rem; }
  .button { width: 100%; }
  .feature-card,
  .news-card,
  .contact-card { padding: 24px; }
  .product-carousel { padding: 22px; }
  .experience-content { padding: 36px 24px; }
}
