/* ============================================
   Borlle Website - Global Stylesheet
   堡丽官网 - 全局样式
   ============================================ */

/* ---------- 防语言闪烁：默认隐藏页面，等JS应用语言后再显示 ---------- */
/* 默认语言为英文，防止先显示中文再切换 */
body {
  visibility: hidden;
}
html[lang="en"] body,
html[lang="zh-CN"] body {
  visibility: visible;
}

/* ---------- CSS Variables / CSS变量 ---------- */
:root {
  /* Colors / 配色 */
  --color-bg: #faf8f5; /* 暖白背景 */
  --color-bg-dark: #3b2f2f; /* 深棕深色背景 */
  --color-primary: #3b2f2f; /* 深棕主色 */
  --color-accent: #b89968; /* 哑金强调色 */
  --color-text: #3b2f2f; /* 正文文字 */
  --color-text-light: #6b5b5b; /* 次要文字 */
  --color-text-on-dark: #faf8f5; /* 深色背景上的文字 */
  --color-border: #e8e4df; /* 边框色 */
  --color-white: #ffffff;

  /* Typography / 字体 */
  --font-serif-en: "Cormorant Garamond", Georgia, serif;
  --font-serif-cn: "Noto Serif SC", "Songti SC", serif;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --font-heading: "Cormorant Garamond", "Noto Serif SC", Georgia, "Songti SC", serif;

  /* Spacing / 间距 */
  --spacing-xs: 0.5rem;
  --spacing-sm: 1rem;
  --spacing-md: 2rem;
  --spacing-lg: 4rem;
  --spacing-xl: 6rem;

  /* Container / 容器 */
  --container-max: 1280px;
  --container-padding: 5%;

  /* Transitions / 过渡 */
  --transition-fast: 0.2s ease;
  --transition-normal: 0.3s ease;
  --transition-slow: 0.5s ease;
}

/* ---------- Reset / 重置 ---------- */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: var(--font-sans);
  background-color: var(--color-bg);
  color: var(--color-text);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition-fast);
}

a:hover {
  color: var(--color-accent);
}

ul,
ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

li {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* ---------- Typography / 排版 ---------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-serif-en), var(--font-serif-cn);
  font-weight: 500;
  line-height: 1.3;
  color: var(--color-primary);
}

h1 {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

h2 {
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 500;
  margin-bottom: var(--spacing-md);
  line-height: 1.25;
}

h3 {
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 600;
  margin-bottom: var(--spacing-sm);
  line-height: 1.4;
}

h4 {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: var(--spacing-xs);
  line-height: 1.5;
}

p {
  margin-bottom: 1.25rem;
  color: var(--color-text-light);
  font-size: 1rem;
  line-height: 1.8;
}

.lead {
  font-size: 1.15rem;
  line-height: 1.9;
  color: var(--color-text);
  font-weight: 400;
}

/* ---------- Utility Classes / 工具类 ---------- */
.container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-padding);
}

.section {
  padding: var(--spacing-xl) 0;
}

.section-sm {
  padding: var(--spacing-lg) 0;
}

/* 第一个内容板块减小顶部间距，与Hero衔接更紧凑 */
.hero + section,
.page-hero + section {
  padding-top: var(--spacing-md);
}

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

.text-accent {
  color: var(--color-accent);
}

.text-light {
  color: var(--color-text-light);
}

.bg-dark {
  background-color: var(--color-bg-dark);
  color: var(--color-text-on-dark);
}

.bg-dark h1,
.bg-dark h2,
.bg-dark h3,
.bg-dark h4 {
  color: var(--color-text-on-dark);
}

.bg-dark p {
  color: rgba(250, 248, 245, 0.7);
}

/* ---------- Buttons / 按钮 ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 2rem;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all var(--transition-normal);
  text-decoration: none;
  white-space: nowrap;
}

.btn-primary {
  background-color: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}

.btn-primary:hover {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
  color: var(--color-white);
}

.btn-outline {
  background-color: transparent;
  color: var(--color-primary);
  border-color: var(--color-primary);
}

.btn-outline:hover {
  background-color: var(--color-primary);
  color: var(--color-white);
}

#img1{
  width:100%;
  position: absolute;
  left:0;
  top:0;
  z-index: 0;
}
#word{
  z-index: 1;
  position: relative;
}

.btn-light {
  background-color: transparent;
  color: var(--color-text-on-dark);
  border-color: var(--color-text-on-dark);
}

.btn-light:hover {
  background-color: var(--color-text-on-dark);
  color: var(--color-primary);
}

.btn-accent {
  background-color: var(--color-accent);
  color: var(--color-white);
  border-color: var(--color-accent);
}

.btn-accent:hover {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.btn-link {
  padding: 0;
  background: none;
  border: none;
  color: var(--color-primary);
  font-weight: 500;
}

.btn-link:hover {
  color: var(--color-accent);
}

.btn-link::after {
  content: " →";
  transition: transform var(--transition-fast);
  display: inline-block;
}

.btn-link:hover::after {
  transform: translateX(3px);
}

/* ---------- Image Placeholder / 图片占位 ---------- */

.img-placeholder {
  width: 100%;
  background-color: var(--color-border);
  border: 1px dashed var(--color-text-light);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-light);
  font-size: 0.9rem;
  aspect-ratio: 16/9;
  position: relative;
  overflow: hidden;
}

.img-placeholder::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  animation: shimmer 2s infinite;
}

/* 图片已加载状态 - 移除占位符样式 */
.img-placeholder.img-loaded {
  border: none;
  background: none;
  color: transparent;
}

.img-placeholder.img-loaded::before {
  display: none;
}

/* 【全局修复】当img标签直接使用img-placeholder类时，移除所有占位符样式 */
/* 因为img标签本身就是图片，不需要占位符的背景、边框、动画等 */
img.img-placeholder {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: transparent !important;
}

img.img-placeholder::before {
  display: none !important;
  content: none !important;
  animation: none !important;
}

/* ========== 统一卡片图片尺寸和裁剪 ========== */
/* 行业解决方案卡片 - 统一4:3比例 */
.solution-card img {
  width: 100% !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 0 !important;
}

.solution-card {
  overflow: hidden;
}

/* 案例/场景卡片 - 统一3:2比例 */
.case-card img {
  width: 100% !important;
  aspect-ratio: 3/2 !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 0 !important;
}

.case-card {
  overflow: hidden;
}

/* 产品卡片（首页智能家居场景等）- 统一1:1正方形比例 */
.product-card img {
  width: 100% !important;
  aspect-ratio: 1/1 !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 0 !important;
}

.product-card {
  overflow: hidden;
}

@keyframes shimmer {
  100% {
    left: 100%;
  }
}

.img-placeholder-square {
  aspect-ratio: 1/1;
}

.img-placeholder-portrait {
  aspect-ratio: 3/4;
}

/* ---------- Image Auto-fit / 图片自适应 ---------- */
.cms-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  border: none;
  opacity: 0;
  transition: opacity 0.5s ease;
}

.cms-image.loaded {
  opacity: 1;
}

.cms-image-contain {
  object-fit: contain;
}

.cms-image-fill {
  object-fit: fill;
}

.cms-image-top {
  object-position: top;
}

.cms-image-bottom {
  object-position: bottom;
}

/* 产品图片默认使用contain，完整显示产品 */
.product-card .cms-image,
.product-list-item .cms-image,
.product-hero .cms-image {
  object-fit: contain;
  padding: 1rem;
  background: var(--color-bg);
}

/* 案例和背景图默认使用cover，视觉效果更好 */
.case-card .cms-image,
.case-mosaic-item .cms-image,
.solution-card .cms-image,
.hero .cms-image {
  object-fit: cover;
}

/* 确保图片容器有明确的尺寸 */
.card-image-wrapper {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  position: relative;
}

.card-image-wrapper-square {
  aspect-ratio: 1/1;
}

.card-image-wrapper-portrait {
  aspect-ratio: 3/4;
}

.card-image-wrapper-4-3 {
  aspect-ratio: 4/3;
}

/* ---------- Navigation / 导航栏 ---------- */
.navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: rgba(250, 248, 245, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--color-border);
  transition: all var(--transition-normal);
}

.navbar.scrolled {
  box-shadow: 0 2px 20px rgba(59, 47, 47, 0.08);
}

.navbar-inner {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 1.25rem var(--container-padding);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.navbar-logo {
  font-family: var(--font-serif-en), var(--font-serif-cn);
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--color-primary);
  letter-spacing: 0.05em;
}

.navbar-logo sup {
  font-size: 0.6em;
  vertical-align: super;
}

.navbar-links {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}

.navbar-links a {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--color-text);
  position: relative;
  padding: 0.5rem 0;
}

.navbar-links a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: var(--color-accent);
  transition: width var(--transition-normal);
}

.navbar-links a:hover::after,
.navbar-links a.active::after {
  width: 100%;
}

.navbar-links a:hover,
.navbar-links a.active {
  color: var(--color-primary);
}

.navbar-right {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

/* Language Switcher / 语言切换 */
.lang-switcher {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.85rem;
}

.lang-btn {
  padding: 0.35rem 0.75rem;
  border: 1px solid transparent;
  background: none;
  cursor: pointer;
  font-size: 0.85rem;
  color: var(--color-text-light);
  transition: all var(--transition-fast);
  border-radius: 2px;
}

.lang-btn:hover {
  color: var(--color-primary);
}

.lang-btn.active {
  color: var(--color-primary);
  border-color: var(--color-accent);
  background-color: rgba(184, 153, 104, 0.1);
}

/* Mobile Menu Toggle / 移动端菜单 */
.mobile-menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 0.5rem;
}

.mobile-menu-toggle span {
  width: 24px;
  height: 2px;
  background-color: var(--color-primary);
  transition: all var(--transition-fast);
}

/* ---------- Hero Section / 首屏区域 ---------- */

.hero {
    min-height: 80vh;
    display: flex;
    align-items: center;
    padding: 80px 0 3rem;
    position: relative;
    overflow: hidden;
}

/* Hero Slider / 轮播图 */
.hero-slider {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hero-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1s ease-in-out;
    pointer-events: none;
}

.hero-slide.active {
    opacity: 1;
    pointer-events: auto;
}

.hero-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* 图片暗色遮罩，保证文字可读性 */
.hero-slide-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(59, 47, 47, 0.7) 0%, rgba(59, 47, 47, 0.4) 100%);
    z-index: 1;
}

/* 文字内容容器 - 居中显示 */
.hero-slide-content {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

/* 文字包装器 - 控制宽度和居中 */
.hero-text-wrapper {
    max-width: 700px;
    width: 100%;
    text-align: center;
    padding: 0 20px;
}

/* 1. eyebrow - 在最上面 */
.hero-eyebrow {
    font-size: 0.85rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--color-accent);
    margin-bottom: 1rem;
    font-weight: 500;
}

/* 2. 主标题 - 在 eyebrow 下面 */
.hero-title {
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 1.5rem;
    color: #fff;
}

.hero-title em {
    font-style: italic;
    color: var(--color-accent);
}

/* 3. 副标题 - 在主标题下面 */
.hero-subtitle {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 2.5rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.8;
}

/* 4. 按钮组 - 在副标题最下面 */
.hero-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;
}

/* Slider Dots / 轮播指示器 */
.hero-slider-dots {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 0.75rem;
    z-index: 3;
}

.hero-slider-dots .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.3s ease;
}

.hero-slider-dots .dot.active {
    background-color: var(--color-accent);
    width: 30px;
    border-radius: 5px;
}

.hero-slider-dots .dot:hover {
    background-color: rgba(255, 255, 255, 0.8);
}

/* ---------- Responsive / 响应式 ---------- */

/* 平板端（1024px 以下） */
@media (max-width: 1024px) {
    .hero-title {
        font-size: clamp(2rem, 4vw, 3rem);
    }
    .hero-subtitle {
        font-size: 1rem;
    }
}

/* 移动端（768px 以下）- 图片在上，文字在下 */
/* 平板及移动端（1024px 以下）- 图片在上，文字在下，避免缩小过程中遮挡 */
@media (max-width: 1024px) {
    .hero {
        min-height: auto;
        padding-top: 60px; /* 避开固定导航栏 */
        padding-bottom: 0;
        display: block;
    }

    .hero-slider {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100% !important;
        height: auto !important;
        z-index: 1;
    }

    .hero-slide {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100% !important;
        height: auto !important;
        opacity: 0;
        display: none;
        flex-direction: column;
        pointer-events: none;
        transition: opacity 0.3s ease;
        overflow: hidden;
    }

    /* 修复：确保第一张默认显示 */
    .hero-slide.active {
        opacity: 1 !important;
        display: flex !important;
        pointer-events: auto;
    }

    /* 图片 - 在上面，z-index更高确保不被遮挡 */
    .hero-slide img {
        position: relative !important;
        width: 100% !important;
        height: auto !important;
        max-height: 55vh;
        min-height: 220px;
        object-fit: cover;
        object-position: center center;
        display: block !important;
        order: 1;
        z-index: 2;
    }

    /* 移动端隐藏暗色遮罩 */
    .hero-slide-overlay {
        display: none !important;
    }

    /* 文字内容 - 在下面 */
    .hero-slide-content {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100% !important;
        height: auto !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        padding: 1.5rem 0 3rem;
        background: var(--color-bg);
        order: 2;
        z-index: 1;
    }

    .hero-text-wrapper {
        max-width: 100%;
        padding: 0 20px;
    }

    /* 文字大小自适应缩小 */
    .hero-eyebrow {
        font-size: 0.75rem;
        margin-bottom: 0.75rem;
    }

    .hero-title {
        font-size: 1.75rem;
        margin-bottom: 1rem;
        line-height: 1.3;
        color: var(--color-primary);
    }

    .hero-subtitle {
        font-size: 0.95rem;
        margin-bottom: 1.5rem;
        color: var(--color-text-light);
        line-height: 1.7;
    }

    .hero-actions {
        gap: 0.75rem;
    }

    .btn {
        padding: 0.7rem 1.5rem;
        font-size: 0.9rem;
    }

    /* 轮播指示器 - 在图片下方、文字上方 */
    .hero-slider-dots {
        position: relative;
        bottom: auto;
        left: auto;
        top: auto;
        transform: none;
        justify-content: center;
        margin-top: -1.5rem; /* 往上偏移，叠在图片底部边缘 */
        margin-bottom: 0;
        z-index: 10;
    }

    .hero-slider-dots .dot {
        width: 8px;
        height: 8px;
        background-color: rgba(255, 255, 255, 0.8);
    }

    .hero-slider-dots .dot.active {
        width: 24px;
        background-color: var(--color-accent);
    }
}

/* 小屏手机（480px 以下） */
@media (max-width: 480px) {
    .hero-slide-content {
        padding: 1rem 0 2rem;
    }

    .hero-title {
        font-size: 1.5rem;
    }

    .hero-subtitle {
        font-size: 0.9rem;
        margin-bottom: 1.25rem;
    }

    .hero-actions {
        flex-direction: column;
        gap: 0.75rem;
    }

    .hero-actions .btn {
        width: 100%;
        justify-content: center;
    }

    /* 小屏手机调整指示器位置 */
    .hero-slider-dots {
        margin-top: -1.25rem;
    }
}

/* Tech Sections / 技术介绍区块 */
.tech-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
  margin-bottom: 6rem;
}

.tech-section:last-child {
  margin-bottom: 0;
}

.tech-content {
  max-width: 520px;
}

.tech-tag {
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: 1rem;
  font-weight: 500;
}

.tech-title {
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 1.25rem;
  line-height: 1.3;
}

.tech-desc {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--color-text-light);
  margin-bottom: 1.5rem;
}

.tech-features {
  list-style: none;
  padding: 0;
  margin: 0;
}

.tech-features li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.75rem;
  font-size: 0.95rem;
  color: var(--color-text);
  line-height: 1.6;
}

.tech-features li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6rem;
  width: 8px;
  height: 8px;
  background: var(--color-accent);
  border-radius: 50%;
}

.tech-visual {
  height: 360px;
}

.tech-visual .img-placeholder {
  height: 100%;
  border-radius: 8px;
}

@media (max-width: 1024px) {
  .tech-section {
    gap: 3rem;
  }

  .tech-title {
    font-size: 1.75rem;
  }

  /* 1024px下所有page-hero都切换为上下布局，优先级高于带图片的hero */
  .page-hero .container,
  .page-hero-with-image .container {
    flex-direction: column !important;
    text-align: center;
    gap: 2rem;
  }

  .page-hero-content,
  .page-hero-with-image .page-hero-content {
    text-align: center !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    order: 2;
  }

  .page-hero .hero-visual,
  .page-hero-with-image .hero-visual {
    max-width: 100% !important;
    width: 100% !important;
    order: 1;
  }

  .tech-visual {
    height: 300px;
  }
  
  /* 1024px以下就移除page-hero渐变遮罩 */
  .page-hero::before {
    display: none !important;
    background: none !important;
    opacity: 0 !important;
  }

  /* 1024px以下移除所有图片上的shimmer动画层 */
  .img-placeholder::before {
    display: none !important;
    animation: none !important;
    opacity: 0 !important;
  }
  
  /* 移除图片占位符背景色、边框、阴影，确保图片清晰显示 */
  .img-placeholder {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    filter: none !important;
    opacity: 1 !important;
  }
  
  /* 确保hero图片清晰，没有任何覆盖层 */
  .page-hero-with-image .hero-visual,
  .page-hero-with-image .hero-visual img {
    background: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    filter: none !important;
    opacity: 1 !important;
  }
  
  /* 移除所有可能的半透明覆盖 */
  .page-hero * {
    filter: none !important;
  }
}

@media (max-width: 768px) {
  .tech-section {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-bottom: 4rem;
  }

  .tech-section:nth-child(even) .tech-visual {
    order: -1;
  }

  .tech-content {
    max-width: 100%;
  }

  .tech-title {
    font-size: 1.5rem;
  }

  .tech-visual {
    height: 240px;
  }
}

/* Page Hero / 内页Hero */
.page-hero {
  padding: 10rem 0 3rem;
  position: relative;
  overflow: hidden;
  text-align: center;
}

.page-hero .container {
  position: relative;
  z-index: 1;
}

.page-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(59, 47, 47, 0.02) 0%, transparent 100%);
}

.page-hero-content {
  position: relative;
  z-index: 1;
  max-width: 700px;
  margin: 0 auto;
}

/* 带图片的内页Hero（左右布局） */
.page-hero-with-image .container {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: space-between;
  gap: 4rem;
  text-align: left;
}

.page-hero-with-image .page-hero-content {
  flex: 1;
  max-width: 600px;
  margin: 0;
  text-align: left;
}

.page-hero-with-image .hero-visual {
  position: relative !important;
  flex: 1;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  width: auto;
  max-width: 500px;
  height: auto;
  max-height: none;
  z-index: 1;
  display: block;
}

/* 确保内页Hero只有一个图片占位符显示 */
.page-hero > .img-placeholder,
.page-hero > .container > .img-placeholder,
.page-hero .page-hero-content .img-placeholder {
  display: none !important;
}

.page-hero-with-image .hero-visual .img-placeholder {
  display: flex !important;
  height: auto;
  min-height: auto;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(59, 47, 47, 0.15);
}

/* 【重要防护】Hero 区域只保留第一个图片占位符，隐藏其他的 */
/* 防止因为重复处理导致多个占位符重叠显示 */
.page-hero-with-image .hero-visual .img-placeholder ~ .img-placeholder {
  display: none !important;
}

/* 【重要防护】确保 .hero-visual 容器本身不会显示虚线边框 */
.hero-visual {
  border: none !important;
  background: none !important;
}

.page-hero h1 {
    margin-bottom: var(--spacing-sm);
}

.page-hero h1 em {
    font-style: italic;
    color: var(--color-accent);
}

.page-hero p {
    font-size: 1.1rem;
    color: var(--color-text-light);
}
/* 移动端内页 Hero 自适应 */
@media (max-width: 768px) {
    .page-hero {
        padding: 6rem 0 2rem;
    }

    .page-hero h1 {
        font-size: 1.75rem;
        line-height: 1.3;
    }

    .page-hero p {
        font-size: 0.95rem;
        line-height: 1.7;
    }

    /* 带图片的内页 Hero - 上下结构 */
    .page-hero-with-image .container {
        flex-direction: column !important;
        gap: 2rem;
        text-align: center;
    }

    .page-hero-with-image .page-hero-content {
        text-align: center !important;
        max-width: 100% !important;
        margin: 0 auto;
        order: 2;
    }

    .page-hero-with-image .hero-visual {
        max-width: 100% !important;
        width: 100% !important;
        order: 1;
    }

    .page-hero-with-image .hero-visual .img-placeholder {
        max-height: 250px;
        /* 移动端移除图片阴影和圆角 */
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    /* 移动端移除page-hero渐变遮罩 */
    .page-hero::before {
        display: none !important;
    }

    /* 移动端移除所有图片上的shimmer动画层 */
    .img-placeholder::before {
        display: none !important;
    }

    /* 移除产品卡片阴影 */
    .product-card {
        box-shadow: none !important;
        border-radius: 0 !important;
    }
}

/* 小屏手机进一步缩小 */
@media (max-width: 480px) {
    .page-hero {
        padding: 5rem 0 1.5rem;
    }

    .page-hero h1 {
        font-size: 1.5rem;
    }

    .page-hero p {
        font-size: 0.9rem;
    }
}

/* ---------- Section Header / 区块标题 ---------- */
.section-header {
  text-align: center;
  margin-bottom: var(--spacing-lg);
}

.section-eyebrow {
  font-size: 0.8rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: 0.75rem;
  font-weight: 500;
}

.section-title {
  margin-bottom: 1rem;
}

.section-title em {
  font-style: italic;
  color: var(--color-accent);
}

.section-subtitle {
  max-width: 600px;
  margin: 0 auto;
  color: var(--color-text-light);
  font-size: 1.05rem;
}

/* ---------- Feature Grid / 特性网格 ---------- */
.feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
}

/* CMS 动态列数支持 - 覆盖默认的 auto-fit */
.cms-columns-3 {
  grid-template-columns: repeat(3, 1fr) !important;
}

.cms-columns-4 {
  grid-template-columns: repeat(4, 1fr) !important;
}

.cms-columns-5 {
  grid-template-columns: repeat(5, 1fr) !important;
}

/* 响应式列数适配 */
@media (max-width: 1024px) {
  .cms-columns-5 {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .cms-columns-4,
  .cms-columns-5 {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 480px) {
  .cms-columns-3,
  .cms-columns-4,
  .cms-columns-5 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 360px) {
  .cms-columns-3,
  .cms-columns-4,
  .cms-columns-5 {
    grid-template-columns: 1fr !important;
  }
}

.feature-card {
  padding: 2.5rem;
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  transition: all var(--transition-normal);
}

/* 卡片类型样式 */
.card-type-image {
  overflow: hidden;
  padding: 0;
  border-radius: 8px;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 8px rgba(59, 47, 47, 0.06);
}

.card-type-image:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(59, 47, 47, 0.12);
  border-color: var(--color-accent);
}

.card-type-image .card-image-wrapper {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  position: relative;
}

.card-type-image .card-image-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom, transparent 60%, rgba(59, 47, 47, 0.1));
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.card-type-image:hover .card-image-wrapper::after {
  opacity: 0;
}

.card-type-image .card-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.card-type-image:hover .card-image-wrapper img {
  transform: scale(1.08);
}

.card-type-image .card-content {
  padding: 1.5rem;
}

.card-type-image h3 {
  margin-top: 0;
  margin-bottom: 0.75rem;
  font-size: 1.125rem;
  line-height: 1.4;
}

.card-type-image p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--color-text-light);
}

.card-type-image .card-icon {
  display: none;
}

/* 深色背景上的图文卡片 */
.bg-dark .card-type-image {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
}

.bg-dark .card-type-image:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--color-accent);
}

.bg-dark .card-type-image h3 {
  color: var(--color-text-on-dark);
}

.bg-dark .card-type-image p {
  color: rgba(250, 248, 245, 0.7);
}

/* 文字卡片样式 */
.card-type-text .img-placeholder {
  display: none;
}

.feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(59, 47, 47, 0.08);
  border-color: var(--color-accent);
}

.feature-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 1.5rem;
  color: var(--color-accent);
}

.feature-card h3 {
  margin-bottom: 0.75rem;
}

.feature-card p {
  margin-bottom: 0;
  font-size: 0.95rem;
}

/* ---------- Stats / 数据统计 ---------- */
.stats-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 2rem;
  text-align: center;
}

.stat-item {
  padding: 1.5rem;
}

.stat-number {
  font-family: var(--font-serif-en), var(--font-serif-cn);
  font-size: 3rem;
  font-weight: 400;
  color: var(--color-accent);
  line-height: 1;
  margin-bottom: 0.5rem;
}

.stat-label {
  font-size: 0.9rem;
  color: var(--color-text-light);
  letter-spacing: 0.05em;
}

/* ---------- Logo Cloud / 合作伙伴 ---------- */
.logo-cloud {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2.5rem;
  opacity: 0.6;
}

.logo-item {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--color-text);
  letter-spacing: 0.05em;
  white-space: nowrap;
}

/* ---------- Logo Marquee / 合作伙伴轮播 ---------- */
.logo-marquee {
    overflow: hidden;
    width: 100%;
    margin-top: 2rem;
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}

.logo-marquee-track {
    display: flex;
    align-items: center;
    gap: 3rem;
    padding: 1.5rem 0;
    animation: logo-scroll 30s linear infinite;
    width: max-content;
}

.logo-item-img {
    flex-shrink: 0;
    width: 120px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo-item-img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    filter: brightness(0) invert(1); /* 白色 logo 效果 */
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.logo-item-img img:hover {
    opacity: 1;
}

@keyframes logo-scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

/* 鼠标悬停暂停 */
.logo-marquee:hover .logo-marquee-track {
    animation-play-state: paused;
}

/* ---------- Solution Cards / 解决方案卡片 ---------- */
.solution-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
}

.solution-card {
  position: relative;
  overflow: hidden;
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  transition: all var(--transition-normal);
}

.solution-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(59, 47, 47, 0.1);
}

.solution-card .img-placeholder {
  aspect-ratio: 4/3;
  border: none;
}

.solution-card-content {
  padding: 1.5rem;
}

.solution-card h3 {
  margin-bottom: 0.5rem;
  color: var(--color-primary);
  font-size: 1.15rem;
}

.solution-card .solution-tag {
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  color: var(--color-accent);
  margin-bottom: 0.75rem;
  text-transform: uppercase;
}

.solution-card p {
  margin-bottom: 1.25rem;
  font-size: 0.875rem;
  color: var(--color-text);
  line-height: 1.6;
}

/* ---------- Product Grid / 产品网格 ---------- */
.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 2rem;
}

/* Smart Systems页面 - Residential部分桌面端4个一行 */
#residential .product-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

#residential .product-card {
  padding: 1.5rem 1rem;
}

#residential .product-card h3 {
  font-size: 1rem;
  margin: 0.75rem 0 0.5rem;
}

#residential .product-card p {
  font-size: 0.8rem;
  line-height: 1.5;
  margin: 0;
}

.product-card {
  text-align: center;
  padding: 2.5rem 1.5rem;
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  transition: all var(--transition-normal);
}

.product-card:hover {
  border-color: var(--color-accent);
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(59, 47, 47, 0.08);
}

.product-card .img-placeholder {
  aspect-ratio: 1/1;
  margin-bottom: 1.5rem;
  border-radius: 4px;
  border: none;
  background-color: var(--color-bg);
}

.product-card h3 {
  margin-bottom: 0.5rem;
  font-size: 1.2rem;
}

.product-card p {
  margin-bottom: 1.5rem;
  font-size: 0.9rem;
}

/* ---------- Case Studies / 案例展示 ---------- */
.case-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 2rem;
}

.case-card {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
}

.case-card .img-placeholder {
  aspect-ratio: 3/2;
  border: none;
}

.case-card-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 2rem;
  background: linear-gradient(transparent, rgba(59, 47, 47, 0.9));
  color: var(--color-text-on-dark);
}

.case-card-overlay h3 {
  color: var(--color-text-on-dark);
  margin-bottom: 0.25rem;
}

.case-card-overlay .case-location {
  font-size: 0.85rem;
  opacity: 0.8;
  margin-bottom: 0.5rem;
}

.case-card-overlay .case-meta {
  font-size: 0.85rem;
  opacity: 0.7;
}

/* Case Mosaic / 案例拼图 */
.case-mosaic {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  grid-template-rows: 240px 200px 240px;
  gap: 1.25rem;
}

.case-mosaic-item {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  background: var(--color-dark);
  transition:
    transform 0.4s ease,
    box-shadow 0.4s ease;
}

.case-mosaic-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

.case-mosaic-item.tall {
  grid-row: span 2;
}

.case-mosaic-item.short {
  grid-row: span 1;
}

.case-mosaic-item .img-placeholder {
  width: 100%;
  height: 100%;
  border-radius: 0;
}

.case-mosaic-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.75rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 50%, transparent 100%);
  color: var(--case-text-color, var(--color-light));
  z-index: 2;
}

.case-mosaic-overlay .case-title {
  color: var(--case-title-color, inherit);
}

.case-mosaic-overlay .case-location {
  color: var(--case-location-color, inherit);
  opacity: var(--case-location-opacity, 0.8);
}

.case-mosaic-overlay .case-tag {
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: 0.5rem;
  font-weight: 500;
}

.case-mosaic-overlay .case-title {
  font-family: var(--font-heading);
  color:#e8e4df;
  font-size: 1.15rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
  line-height: 1.3;
}

.case-mosaic-overlay .case-desc {
  font-size: 0.85rem;
  opacity: 0.8;
}

.case-mosaic-overlay .case-location {
  font-size: 0.8rem;
  opacity: 0.8;
    color:#b89968;
  margin-top: 0.25rem;
  letter-spacing: 0.05em;
}

.case-mosaic-item.tall .case-mosaic-overlay .case-title {
  font-size: 1.5rem;
}

.case-mosaic-item.tall .case-mosaic-overlay {
  padding: 2rem;
}

@media (max-width: 1024px) {
  .case-mosaic {
    grid-template-rows: 200px 180px 200px;
  }

  /* 1024px及以下，residential部分恢复响应式布局，不强制4列 */
  #residential .product-grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
  }

  #residential .product-card {
    padding: 1.25rem 0.75rem;
  }
}

@media (max-width: 768px) {
  /* 768px下项目案例改为1列垂直排列，所有图片大小一致 */
  .case-mosaic {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 1rem;
  }

  .case-mosaic-item.tall,
  .case-mosaic-item.short {
    grid-row: span 1;
    grid-column: span 1;
    height: 220px;
  }

  /* 统一案例图片大小和裁剪 */
  .case-mosaic-item img {
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    object-position: center;
  }

  .case-mosaic-item.tall .case-mosaic-overlay .case-title {
    font-size: 1.15rem;
  }

  .case-mosaic-overlay {
    padding: 1.5rem;
  }
}

@media (max-width: 480px) {
  .case-mosaic {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .case-mosaic-item.tall,
  .case-mosaic-item.short {
    grid-column: span 1;
    height: 200px;
  }

  .case-mosaic-overlay {
    padding: 1.25rem;
  }

  .case-mosaic-overlay .case-title {
    font-size: 1rem;
  }
}

/* ---------- Process Steps / 流程步骤 ---------- */
.steps-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5rem;
  counter-reset: step;
}

.step-item {
  text-align: center;
  padding: 2rem 1.5rem;
  position: relative;
}

.step-number {
  font-family: var(--font-serif-en);
  font-size: 3rem;
  font-weight: 300;
  color: var(--color-accent);
  opacity: 0.3;
  margin-bottom: 0.5rem;
}

.step-item h3 {
  position: relative;
  z-index: 1;
  margin-bottom: 0.75rem;
}

.step-item p {
  position: relative;
  z-index: 1;
  font-size: 0.9rem;
  margin-bottom: 0;
}

/* ---------- Contact Info / 联系信息 ---------- */
.contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
}

.contact-card {
  padding: 2rem;
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
}

.contact-card h3 {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--color-border);
}

.contact-item {
  margin-bottom: 1rem;
}

.contact-item:last-child {
  margin-bottom: 0;
}

.contact-item-label {
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: 0.25rem;
}

.contact-item-value {
  color: var(--color-text);
  font-size: 0.95rem;
}

/* ---------- CTA Section / 行动召唤 ---------- */
.cta-section {
  text-align: center;
  padding: var(--spacing-xl) 0;
  background: linear-gradient(135deg, var(--color-bg-dark) 0%, #2a2121 100%);
  color: var(--color-text-on-dark);
}

.cta-section h2 {
  color: var(--color-text-on-dark);
  margin-bottom: 1rem;
}

.cta-section p {
  color: rgba(250, 248, 245, 0.7);
  max-width: 600px;
  margin: 0 auto 2rem;
}

.cta-section .btn {
  margin: 0 0.5rem;
}

/* ---------- Footer / 页脚 ---------- */
.footer {
  background-color: var(--color-bg-dark);
  color: var(--color-text-on-dark);
  padding: var(--spacing-lg) 0 var(--spacing-md);
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 3rem;
  margin-bottom: 3rem;
}

.footer-brand h3 {
  color: var(--color-text-on-dark);
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

.footer-brand p {
  color: rgba(250, 248, 245, 0.6);
  font-size: 0.9rem;
  max-width: 300px;
}

.footer-col h4 {
  color: var(--color-text-on-dark);
  font-size: 0.95rem;
  margin-bottom: 1.5rem;
  font-weight: 600;
  font-family: var(--font-sans);
}

.footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-col ul li {
  list-style: none;
  margin-bottom: 0.75rem;
  padding: 0;
}

.footer-col ul li a {
  color: rgba(250, 248, 245, 0.6);
  font-size: 0.9rem;
  transition: color var(--transition-fast);
}

.footer-col ul li a:hover {
  color: var(--color-accent);
}

.footer-bottom {
  padding-top: 2rem;
  border-top: 1px solid rgba(250, 248, 245, 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.footer-bottom p {
  color: rgba(250, 248, 245, 0.5);
  font-size: 0.85rem;
  margin-bottom: 0;
}

.footer-lang {
  display: flex;
  gap: 1rem;
}

.footer-lang button {
  background: none;
  border: none;
  color: rgba(250, 248, 245, 0.5);
  cursor: pointer;
  font-size: 0.85rem;
  transition: color var(--transition-fast);
}

.footer-lang button:hover,
.footer-lang button.active {
  color: var(--color-accent);
}

/* ---------- Responsive / 响应式 ---------- */
@media (max-width: 1024px) {
  .hero-visual {
    width: 40%;
    opacity: 0.3;
  }

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

@media (max-width: 768px) {
  :root {
    --spacing-lg: 3rem;
    --spacing-xl: 4rem;
  }

  /* 移动端导航栏调整 */
  .navbar {
    height: auto;
  }
  
  .navbar-inner {
    padding: 0.875rem 5%;
    height: 60px;
    display: flex;
    align-items: center;
  }

  .navbar-links {
    display: none !important;
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    width: 100%;
    height: calc(100vh - 60px);
    /* 确保不透明背景，防止内容重叠 */
    background: var(--color-bg);
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    padding: 2rem 5%;
    z-index: 9999;
    overflow-y: auto;
    border-top: 1px solid var(--color-border);
    margin: 0;
  }

  .navbar-links.active {
    display: flex !important;
  }

  .navbar-links a {
    display: block;
    width: 100%;
    text-align: left;
    font-size: 1.15rem;
    color: var(--color-text);
    padding: 1.1rem 0;
    border-bottom: 1px solid var(--color-border);
    font-weight: 500;
    line-height: 1.4;
  }

  .mobile-menu-toggle {
    display: flex;
  }

  .mobile-menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
  }

  .mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0;
  }

  .mobile-menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
  }

  /* 移除冲突的旧hero样式，使用前面定义的hero-slider移动端样式 */
  
  .footer-grid {
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 1.25rem;
    text-align: left;
  }

  .footer-brand p {
    max-width: 100%;
  }

  .footer-bottom {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    gap: 0.75rem;
    padding-top: 1.25rem;
    flex-wrap: wrap;
  }

  /* 移动端缩小页脚字体和间距 */
  .footer {
    padding: 2rem 0 1.25rem;
  }

  .footer-brand h3 {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
  }

  .footer-brand p {
    font-size: 0.8rem;
  }

  .footer-col h4 {
    font-size: 0.8rem;
    margin-bottom: 0.75rem;
  }

  .footer-col ul li {
    margin-bottom: 0.4rem;
  }

  .footer-col ul li a {
    font-size: 0.75rem;
  }

  .footer-bottom p {
    font-size: 0.7rem;
  }

  .footer-lang button {
    font-size: 0.7rem;
  }

  .case-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }

  .stats-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
  
  .product-list-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  
  /* feature-grid默认2列（适合4个卡片双数） */
  .feature-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  
  /* 正好3个卡片的feature-grid（单数）- 3列 */
  .feature-grid:has(> .feature-card:first-child:nth-last-child(3)) {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
  
  /* about页面value部分（深色背景3个卡片）- 1个一行 */
  .bg-dark .feature-grid:has(> .feature-card:first-child:nth-last-child(3)) {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  
  /* 768px下卡片文字缩小 */
  .feature-card {
    padding: 1.25rem 1rem;
  }
  
  .feature-card h3 {
    font-size: 1.1rem;
    margin-bottom: 0.4rem;
  }
  
  .feature-card p {
    font-size: 0.8rem;
    line-height: 1.5;
  }
  
  .feature-card .text-accent {
    font-size: 0.7rem;
    margin-bottom: 0.5rem;
  }
  
  /* steps-grid 2列 */
  .steps-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}

@media (max-width: 480px) {
  /* 卡片布局：单数3列，双数2列 */
  /* feature-grid默认2列（适合4个卡片双数） */
  .feature-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }
  
  /* 正好3个卡片的feature-grid（单数）- 3列 */
  .feature-grid:has(> .feature-card:first-child:nth-last-child(3)) {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
  }
  
  /* about页面value部分（深色背景3个卡片）- 1个一行 */
  .bg-dark .feature-grid:has(> .feature-card:first-child:nth-last-child(3)) {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  
  /* product-list-grid: 产品卡片(双数多) - 2列 */
  .product-list-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  
  /* product-grid: 产品网格 - 2列 */
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  
  /* case-grid: 案例卡片 - 2列 */
  .case-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  
  /* stats-row: 数据统计(4个双数) - 2列 */
  .stats-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }
  
  /* solution-grid: 解决方案 - 2列 */
  .solution-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  
  /* steps-grid: 步骤卡片 - 2个一行 */
  .steps-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }
  
  /* contact-grid: 联系信息 - 2列 */
  .contact-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  
  /* gallery-grid: 图片库 - 3列 */
  .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.4rem;
  }
  
  /* cms-columns-3: 3列布局保持3列 */
  .cms-columns-3 {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0.4rem;
  }
  
  /* cms-columns-4/5: 多列改为2列 */
  .cms-columns-4,
  .cms-columns-5 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.5rem;
  }

  .btn {
    padding: 0.5rem 1rem;
    font-size: 0.75rem;
  }
  
  /* 卡片内容文字进一步缩小，减少占比 */
  .feature-card {
    padding: 0.75rem 0.5rem;
  }
  
  .feature-card h3 {
    font-size: 0.8rem;
    margin-bottom: 0.2rem;
    line-height: 1.2;
  }
  
  .feature-card p {
    font-size: 0.6rem;
    line-height: 1.4;
    margin-bottom: 0;
  }
  
  .feature-card .text-accent {
    font-size: 0.55rem;
    margin-bottom: 0.2rem;
    letter-spacing: 0.03em;
  }
  
  .product-card-content {
    padding: 0.5rem 0.4rem;
  }
  
  .product-card-series {
    font-size: 0.5rem;
    margin-bottom: 0.15rem;
    letter-spacing: 0.03em;
  }
  
  .product-card-title {
    font-size: 0.7rem;
    margin-bottom: 0.2rem;
    line-height: 1.2;
  }
  
  .product-card-desc {
    font-size: 0.55rem;
    line-height: 1.3;
    margin-bottom: 0.3rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  
  .product-card-link {
    font-size: 0.6rem;
  }
  
  .case-card-content {
    padding: 0.5rem;
  }
  
  .case-card-title {
    font-size: 0.7rem;
    margin-bottom: 0.2rem;
  }
  
  .case-card-desc {
    font-size: 0.55rem;
    line-height: 1.3;
  }
  
  .solution-card {
    padding: 0.75rem 0.5rem;
  }
  
  .solution-card h3 {
    font-size: 0.75rem;
    margin-bottom: 0.2rem;
  }
  
  .solution-card p {
    font-size: 0.6rem;
    line-height: 1.3;
  }
  
  .stats-item .stat-number {
    font-size: 1.2rem;
    line-height: 1;
  }
  
  .stats-item .stat-label {
    font-size: 0.6rem;
  }
  
  .step-item {
    padding: 0.75rem 0.5rem;
  }
  
  .step-number {
    font-size: 1rem;
    width: 1.5rem;
    height: 1.5rem;
    margin-bottom: 0.3rem;
  }
  
  .step-item h3 {
    font-size: 0.75rem;
    margin-bottom: 0.2rem;
    line-height: 1.2;
  }
  
  .step-item p {
    font-size: 0.55rem;
    line-height: 1.4;
    margin-bottom: 0;
  }
  
  .step-item .text-accent {
    font-size: 0.5rem;
    margin-bottom: 0.2rem;
  }
  
  .section {
    padding: 1.5rem 0;
  }
  
  .section-sm {
    padding: 1rem 0;
  }
  
  .section-title {
    font-size: 1.25rem;
    margin-bottom: 0.6rem;
    line-height: 1.3;
  }
  
  .section-subtitle {
    font-size: 0.65rem;
    line-height: 1.6;
    margin-bottom: 0.8rem;
  }
  
  .section-eyebrow {
    font-size: 0.6rem;
    margin-bottom: 0.3rem;
    letter-spacing: 0.1em;
  }
  
  /* 正文内容文字缩小 */
  .section p {
    font-size: 0.7rem;
    line-height: 1.6;
  }
  
  .container {
    padding: 0 4%;
  }
  
  /* tech-section 文字缩小 */
  .tech-section {
    gap: 1rem;
    margin-bottom: 2rem;
  }
  
  .tech-tag {
    font-size: 0.6rem;
    margin-bottom: 0.3rem;
  }
  
  .tech-content h2 {
    font-size: 1rem;
    margin-bottom: 0.5rem;
    line-height: 1.3;
  }
  
  .tech-content p {
    font-size: 0.7rem;
    line-height: 1.5;
    margin-bottom: 0.5rem;
  }
  
  .tech-visual {
    height: auto;
  }
  
  .tech-visual .img-placeholder {
    aspect-ratio: 4/3;
  }

  /* 小屏手机页脚进一步缩小 - 2列布局 */
  .footer {
    padding: 1.5rem 0 1rem;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    text-align: left;
    margin-bottom: 1.25rem;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }

  .footer-brand h3 {
    font-size: 1rem;
    margin-bottom: 0.4rem;
  }

  .footer-brand p {
    font-size: 0.75rem;
  }

  .footer-col h4 {
    font-size: 0.75rem;
    margin-bottom: 0.5rem;
  }

  .footer-col ul li {
    margin-bottom: 0.3rem;
  }

  .footer-col ul li a {
    font-size: 0.7rem;
  }

  .footer-bottom {
    padding-top: 0.75rem;
    gap: 0.5rem;
    flex-direction: column;
    text-align: center;
  }

  .footer-bottom p {
    font-size: 0.65rem;
  }

  .footer-lang button {
    font-size: 0.65rem;
  }

  /* 小屏手机导航栏调整 */
  .navbar-inner {
    padding: 0.75rem var(--container-padding);
    height: 56px;
  }

  .navbar-links {
    top: 56px;
    height: calc(100vh - 56px);
    padding: 1rem 5%;
  }

  .navbar-links a {
    font-size: 1rem;
    padding: 0.875rem 0;
  }
}

/* ---------- Animations / 动画 ---------- */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.6s ease,
    transform 0.6s ease;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ---------- Product Detail Pages / 产品详情页 ---------- */
.product-hero {
  padding-top: 120px;
  padding-bottom: 80px;
}

.breadcrumb {
  margin-bottom: 2rem;
}

.breadcrumb a {
  color: var(--color-primary);
  text-decoration: none;
  font-size: 0.9rem;
  transition: color 0.3s ease;
}

.breadcrumb a:hover {
  color: var(--color-accent);
}

.product-hero-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}

.product-hero-text {
  max-width: 560px;
}

.product-title {
  font-family: "Cormorant Garamond", "Noto Serif SC", serif;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.2;
  margin: 0.5rem 0 1rem;
  color: var(--color-primary);
}

.product-tagline {
  font-size: 1.25rem;
  color: var(--color-accent);
  margin-bottom: 1.5rem;
  font-weight: 500;
}

.product-description {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--color-text-secondary);
  margin-bottom: 2rem;
}

.product-cta {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.product-main-image {
  aspect-ratio: 4/3;
  font-size: 1.2rem;
}

.product-main-image small {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.85rem;
  opacity: 0.7;
}

/* Product Features / 产品特点 */
.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}

.feature-item {
  display: flex;
  gap: 1.25rem;
  padding: 1.5rem;
  background: var(--color-white);
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(59, 47, 47, 0.06);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.feature-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(59, 47, 47, 0.1);
}

.feature-number {
  font-family: "Cormorant Garamond", serif;
  font-size: 2rem;
  font-weight: 600;
  color: var(--color-accent);
  line-height: 1;
  min-width: 40px;
}

.feature-text {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-text-primary);
  padding-top: 0.25rem;
}

/* Product Specs / 技术参数 */
.specs-table-wrapper {
  max-width: 800px;
  margin: 3rem auto 0;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.specs-table {
  width: 100%;
  border-collapse: collapse;
}

.specs-table tr {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.specs-table tr:last-child {
  border-bottom: none;
}

.specs-table td {
  padding: 1rem 1.5rem;
  color: var(--color-text-light);
}

.specs-table td:first-child {
  width: 40%;
  font-weight: 500;
  color: var(--color-accent);
  background: rgba(255, 255, 255, 0.02);
}

/* Product Gallery / 产品展示 */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}

.gallery-item {
  border-radius: 12px;
  overflow: hidden;
}

.gallery-item .img-placeholder {
  aspect-ratio: 4/3;
}

/* Related Products / 相关产品 */
.related-products .product-grid {
  margin-top: 3rem;
}

/* ---------- Product Category Sections / 产品分类区块 ---------- */
.product-category-section {
  padding: 6rem 0;
}

.product-category-section:nth-child(even) {
  background: var(--color-white);
}

.product-category-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 3rem;
  flex-wrap: wrap;
  gap: 1.5rem;
}

.product-category-info {
  max-width: 600px;
}

.product-category-count {
  display: none;
}

.product-category-title {
  font-family: "Cormorant Garamond", "Noto Serif SC", serif;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 1rem;
  color: var(--color-primary);
}

.product-category-desc {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--color-text-secondary);
}

.product-list-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 2rem;
}

.product-card {
  background: var(--color-white);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(59, 47, 47, 0.06);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
}

.product-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 32px rgba(59, 47, 47, 0.12);
}

.product-card-image {
  position: relative;
  overflow: hidden;
}

.product-card-image .img-placeholder {
  aspect-ratio: 1/1;
  border-radius: 0;
}

.product-card-content {
  padding: 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.product-card-series {
  font-size: 0.8rem;
  color: var(--color-accent);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}
.M31{
  color: #2a2121;
}
.product-card-title {
  font-family: "Cormorant Garamond", "Noto Serif SC", serif;
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 0.75rem;
  color: #2a2121;
}

.product-card-desc {
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--color-text-secondary);
  margin-bottom: 1.25rem;
  flex: 1;
}

.product-card-link {
  color: var(--color-accent);
  text-decoration: none;
  font-weight: 500;
  font-size: 0.9rem;
  transition: color 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.product-card-link:hover {
  color: var(--color-primary);
}

/* Dark section product cards / 深色区块产品卡片 */
.section-dark .product-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.section-dark .product-card:hover {
  background: rgba(255, 255, 255, 0.08);
}

.section-dark .product-card-title {
  color: var(--color-white);
}

.section-dark .product-card-desc {
  color: rgba(255, 255, 255, 0.7);
}

/* ---------- Responsive / 响应式 ---------- */
@media (max-width: 1024px) {
  .product-hero-inner {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .product-hero-text {
    max-width: 100%;
    order: 2;
  }

  .product-hero-image {
    order: 1;
    max-width: 500px;
    margin: 0 auto;
  }

  .product-title {
    font-size: 2.5rem;
  }

  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .product-category-title {
    font-size: 2rem;
  }
}

@media (max-width: 768px) {
  .product-hero {
    padding-top: 100px;
    padding-bottom: 60px;
  }

  .product-title {
    font-size: 2rem;
  }

  .product-tagline {
    font-size: 1.1rem;
  }

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

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

  .specs-table td {
    padding: 0.875rem 1rem;
    font-size: 0.9rem;
  }

  .product-category-section {
    padding: 4rem 0;
  }

  .product-category-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .product-category-title {
    font-size: 1.75rem;
  }

  .product-list-grid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1.5rem;
  }
}

@media (max-width: 480px) {
  .product-title {
    font-size: 1.75rem;
  }

  .product-cta {
    flex-direction: column;
  }

  .product-cta .btn {
    width: 100%;
    text-align: center;
  }

  .product-list-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }
}

/* ---------- Chinese Text Adjustments / 中文排版优化 ---------- */
[lang="zh-CN"] h1,
[lang="zh-CN"] h2,
[lang="zh-CN"] h3,
[lang="zh-CN"] h4 {
  font-family: var(--font-serif-cn), var(--font-serif-en);
  letter-spacing: 0.02em;
}

[lang="zh-CN"] .hero-eyebrow,
[lang="zh-CN"] .section-eyebrow {
  letter-spacing: 0.3em;
}

/* Hero 中文排版优化，与英文视觉间距保持一致 */
[lang="zh-CN"] .hero-title {
  line-height: 1.5;
  letter-spacing: 0.01em;
}

[lang="zh-CN"] .hero-subtitle {
  line-height: 1.9;
}

.product-hero-image {
  width: 100%;
  max-width: 520px;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 12px;
  margin: 0 auto;
}

.product-hero-image .img-placeholder,
.product-hero-image .product-main-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.product-hero .product-hero-image .product-main-image.img-placeholder {
  display: block !important;
  border: 0 none;
}

@media (max-width: 1024px) {
  .product-hero-image {
    max-width: 420px;
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 768px) {
  .product-hero-image {
    max-width: 360px;
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 480px) {
  .product-hero-image {
    max-width: 100%;
    aspect-ratio: 4 / 3;
  }
}
