/* 字体引入：思源黑体作为中文首选 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@100;300;400;500;700&display=swap');

/* 全局基础设置 */
:root {
  --color-dark: #0f172a;   /* 辅助深海蓝 */
  --color-earth: #5d4037;  /* 辅助矿物褐 */
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Helvetica Neue', 'Noto Sans SC', sans-serif;
  -webkit-font-smoothing: antialiased; /* 字体抗锯齿 */
  -moz-osx-font-smoothing: grayscale;
  background-color: #ffffff;
  color: #1a1a1a;
  overflow-x: hidden; /* 防止横向溢出 */
}

/* 自定义滚动条 - 极简风格 */
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.15);
  border-radius: 3px;
}

/* 导航栏磨砂玻璃效果 */
.glass-nav {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.03);
  transition: all 0.3s ease;
}

/* 链接悬停下划线动画 */
.nav-link {
  position: relative;
  display: inline-block;
}
.nav-link::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: -4px;
  left: 0;
  background-color: currentColor;
  transform-origin: bottom right;
  transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}
.nav-link:hover::after,
.nav-link.active::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

/* 图片加载模糊过渡机制 */
.blur-load {
  filter: blur(20px);
  transform: scale(1.02); /* 防止模糊边缘露白 */
  transition: filter 0.8s ease-out, transform 0.8s ease-out;
}
.blur-load.loaded {
  filter: blur(0);
  transform: scale(1);
}

/* 轮播图淡入淡出 */
.carousel-fade {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
  z-index: 0;
}
.carousel-fade.active {
  opacity: 1;
  z-index: 1;
}

/* 视差滚动容器 - 纯CSS实现 */
.parallax-bg {
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* 通用动画关键帧 */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 元素进入视口时的动画类 */
.reveal-text {
  opacity: 0;
  transform: translateY(30px);
  transition: all 1s cubic-bezier(0.215, 0.610, 0.355, 1.000); /* easeOutCubic */
}
.reveal-text.visible {
  opacity: 1;
  transform: translateY(0);
}

/* 极简网格布局辅助 */
.border-grid {
  border-right: 1px solid rgba(0,0,0,0.06);
}
.border-grid:last-child {
  border-right: none;
}
@media (max-width: 768px) {
  .border-grid { border-right: none; border-bottom: 1px solid rgba(0,0,0,0.06); }
  .border-grid:last-child { border-bottom: none; }
}

/* 单品悬停微动效 */
.item-card {
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.item-card:hover {
  transform: translateY(-8px);
}
.item-card img {
  transition: transform 0.7s ease;
}
.item-card:hover img {
  transform: scale(1.03);
}

/* 场景页面的视频背景层 */
.video-bg-layer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
  opacity: 0.15; /* 极简风格，降低视频干扰 */
  pointer-events: none;
}