/* ===========================================
   Index.php 专用样式文件 - 现代化响应式版本
   使用 clamp() 和 rem/vw/vh 单位实现响应式设计
   =========================================== */

/* ===========================================
   基础样式 - 现代化响应式
   =========================================== */

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: "Segoe UI", sans-serif;
    overflow: hidden; /* 禁止默认滚动，交给 Swiper 控制 */
}

body {
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}

body::-webkit-scrollbar {
  display: none; /* Chrome/Safari */
}

/* ===========================================
   Swiper 相关样式 - 现代化响应式
   =========================================== */
.swiper {
    width: 100%;
    height: 100vh;
}

.swiper-wrapper {
    /* Swiper 内部容器 - 样式由 Swiper 库自动处理 */
    position: relative;
}

.swiper-slide {
    background-color: #2F2F2F;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    height: 100vh;
    overflow-y: auto; /* 允许每页内容内部滚动 */
    padding-top: 0; /* 给 navbar 留空间 */
    overflow: hidden;
}

/* ===========================================
   动画相关样式 (来自 animation.css)
   =========================================== */

/* 确保所有动画元素初始状态都是隐藏的 */
.animate-on-scroll {
  opacity: 0;
}

/* 渐显向上动画 */
.fade-in-up {
  opacity: 0;
  transform: translateY(clamp(1.5rem, 2vw, 2rem));
  animation: fadeInUp 0.4s ease-out forwards;
}

/* 动画延迟 - 保持原设置 */
.delay-1 { animation-delay: 0.1s; }
.delay-2 { animation-delay: 0.3s; }
.delay-3 { animation-delay: 0.5s; }
.delay-4 { animation-delay: 0.7s; }
.delay-5 { animation-delay: 0.9s; }
.delay-6 { animation-delay: 1.1s; }
.delay-7 { animation-delay: 1.3s; }
.delay-8 { animation-delay: 1.5s; }

/* 向上淡入关键帧 */
@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 初始隐藏状态 - 修复：排除所有特定动画类，避免冲突 */
.animate-on-scroll:not(.scale-fade-in):not(.slide-in-left):not(.slide-in-right):not(.fade-in-down):not(.rotate-3d):not(.flip-3d):not(.spin-3d):not(.card-tilt-in-left):not(.text-zoom-in-right):not(.rotate-3d-full) {
  opacity: 0;
  transform: translateY(clamp(1rem, 1.5vw, 1.5rem));
  transition: all 0.8s ease-out;
}

.animate-on-scroll.visible:not(.scale-fade-in):not(.slide-in-left):not(.slide-in-right):not(.fade-in-down):not(.rotate-3d):not(.flip-3d):not(.spin-3d):not(.card-tilt-in-left):not(.text-zoom-in-right):not(.rotate-3d-full) {
  opacity: 1;
  transform: translateY(0);
}

/* 向左滑入动画 - 修改为更慢的动画 */
.slide-in-left {
  opacity: 0 !important;
  transform: translateX(clamp(-15rem, -20vw, -20rem)) !important;
  transition: all 0.8s ease-out;
  animation: none !important; /* 确保没有其他动画干扰 */
}

.slide-in-left.visible {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

/* 为slide-in-left添加延迟类支持 */
.slide-in-left.delay-1 { transition-delay: 0.6s; }
.slide-in-left.delay-2 { transition-delay: 0.8s; }
.slide-in-left.delay-3 { transition-delay: 1.0s; }
.slide-in-left.delay-4 { transition-delay: 1.0s; }
.slide-in-left.delay-5 { transition-delay: 1.2s; }

/* 重置延迟 - 当不可见时移除延迟 */
.slide-in-left:not(.visible) {
  transition-delay: 0s !important;
}

/* 向右滑入动画 - 保持原速度 */
.slide-in-right {
  opacity: 0 !important;
  transform: translateX(clamp(15rem, 20vw, 20rem)) !important;
  transition: all 0.4s ease-out;
  animation: none !important;
}

.slide-in-right.visible {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

.slide-in-right:not(.visible) {
  transition-delay: 0s !important;
}

/* 修复:给 scale-fade-in 元素单独设置,避免继承 translateY */
.scale-fade-in {
  opacity: 0;
  transform: scale(0.8);
  animation: scaleFadeIn 1.6s ease forwards;
  animation-play-state: paused;
}

/* 当父容器可见时,启动动画 */
.animate-on-scroll.visible .scale-fade-in {
  animation-play-state: running;
}

/* 当父容器不可见时,重置动画 */
.animate-on-scroll:not(.visible) .scale-fade-in {
  animation-play-state: paused;
  opacity: 0;
  transform: scale(0.8);
}

@keyframes scaleFadeIn {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* 首页所有元素统一,延迟0.3秒后开始1.6s动画 */
.home-content .scale-fade-in {
  animation-delay: 0.15s;
}

/* 装饰线条也使用相同的0.3秒延迟 */
.home-content .decor-line.scale-fade-in {
  animation-delay: 0.15s;
}

/* 装饰线条使用相同的从中间放大效果 */
.decor-line.scale-fade-in {
  opacity: 0;
  transform: scale(0.8);
  animation: scaleFadeIn 1.6s ease forwards;
  animation-play-state: paused;
}

.animate-on-scroll.visible .decor-line.scale-fade-in {
  animation-play-state: running;
}

.animate-on-scroll:not(.visible) .decor-line.scale-fade-in {
  animation-play-state: paused;
  opacity: 0;
  transform: scale(0.8);
}

/* 向下滑入动画 */
.fade-in-down {
  opacity: 0 !important;
  transform: translateY(clamp(-2rem, -3vw, -3rem)) !important;
  transition: all 0.8s ease-out;
  animation: none !important;
}

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

.fade-in-down:not(.visible) {
  transition-delay: 0s !important;
}

.scale-out {
  opacity: 0 !important;
  transform: scale(0.3) !important;
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  animation: none !important;
}

.scale-out.visible {
  opacity: 1 !important;
  transform: scale(1) !important;
}

.scale-out:not(.visible) {
  transition-delay: 0s !important;
}

/* ========== Culture 特效（新增） ========== */
/* 左卡片组整体进入：带倾斜翻转 + 缩放 */
.card-tilt-in-left {
  opacity: 0 !important;
  transform: perspective(clamp(50rem, 60vw, 80rem)) translateX(clamp(-6rem, -8vw, -8rem)) rotateY(25deg) scale(0.9) !important;
  transform-origin: left center;
  transition: all 1.2s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.card-tilt-in-left.visible {
  opacity: 1 !important;
  transform: perspective(clamp(50rem, 60vw, 80rem)) translateX(0) rotateY(0deg) scale(1) !important;
}

/* 卡片单独延迟进入 */
.culture-card {
  opacity: 0;
  transform: translateY(clamp(1.5rem, 2vw, 2rem));
  transition: all 0.8s ease-out;
}

.card-tilt-in-left.visible .culture-card:nth-child(1) {
  transition-delay: 0.2s;
  opacity: 1;
  transform: translateY(0);
}

.card-tilt-in-left.visible .culture-card:nth-child(2) {
  transition-delay: 0.4s;
  opacity: 1;
  transform: translateY(0);
}

.card-tilt-in-left.visible .culture-card:nth-child(3) {
  transition-delay: 0.6s;
  opacity: 1;
  transform: translateY(0);
}

.card-tilt-in-left.visible .culture-card:nth-child(4) {
  transition-delay: 0.8s;
  opacity: 1;
  transform: translateY(0);
}

/* 右侧文字缩放滑入 */
.text-zoom-in-right {
  opacity: 0 !important;
  transform: translateX(clamp(5rem, 6vw, 8rem)) translateY(clamp(1.5rem, 2vw, 2rem)) scale(0.8) !important;
  transition: all 1.2s cubic-bezier(0.23, 1, 0.32, 1);
}

.text-zoom-in-right.visible {
  opacity: 1 !important;
  transform: translateX(0) translateY(0) scale(1) !important;
}

.text-zoom-in-right.delay-1 {
  transition-delay: 0.3s;
}

.text-zoom-in-right.delay-2 {
  transition-delay: 0.6s;
}

.text-zoom-in-right.delay-3 {
  transition-delay: 0.9s;
}

/* ========== Culture 内容缩放渐显特效（类似 home 的 scale-fade-in） ========== */
.culture-scale-fade {
  opacity: 0 !important;
  transform: scale(0.8) !important;
  transition: all 1.6s ease;
  animation: none !important;
}

.culture-scale-fade.visible {
  opacity: 1 !important;
  transform: scale(1) !important;
}

.culture-scale-fade:not(.visible) { 
  transition-delay: 0s !important; 
}

/* 为 culture 标题和描述添加渐进延迟 - 精确控制 */
.culture-scale-fade.delay-1.visible {
  transition-delay: 0.1s !important;
}

.culture-scale-fade.delay-2.visible {
  transition-delay: 0.2s !important;
}

.culture-scale-fade.delay-3.visible {
  transition-delay: 0.3s !important;
}

.culture-scale-fade.delay-4.visible {
  transition-delay: 0.4s !important;
}

.culture-scale-fade.delay-5.visible {
  transition-delay: 0.5s !important;
}

.culture-scale-fade.delay-6.visible {
  transition-delay: 0.6s !important;
}

.culture-scale-fade.delay-7.visible {
  transition-delay: 0.7s !important;
}

.culture-scale-fade.delay-8.visible {
  transition-delay: 0.8s !important;
}

.culture-scale-fade.delay-9.visible {
  transition-delay: 0.9s !important;
}

.culture-scale-fade.delay-10.visible {
  transition-delay: 1.0s !important;
}

/* 360度3D旋转进场 */
.rotate-3d-full {
  opacity: 0 !important;
  transform: perspective(clamp(50rem, 60vw, 80rem)) rotateY(360deg) scale(0.6) !important;
  transition: all 1s cubic-bezier(0.25, 0.8, 0.25, 1);
  transform-origin: center;
  transform-style: preserve-3d;
}

.rotate-3d-full.visible {
  opacity: 1 !important;
  transform: perspective(clamp(50rem, 60vw, 80rem)) rotateY(0deg) scale(1) !important;
}

.rotate-3d-full:not(.visible) { 
  transition-delay: 0s !important; 
}

.rotate-3d-full.delay-1 { transition-delay: 0.2s; }
.rotate-3d-full.delay-2 { transition-delay: 0.4s; }
.rotate-3d-full.delay-3 { transition-delay: 0.6s; }

/* ===========================================
   通用状态类
   =========================================== */
.hidden {
  display: none;
}

.visible {
  opacity: 1;
  visibility: visible;
}

.active {
  /* 激活状态样式 - 具体样式在各组件中定义 */
  opacity: 1;
}

/* ===========================================
   首页样式
   =========================================== */
.home {
  position: relative;
  height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}

/* 视频全屏背景 */
.background-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}

.home-content {
    text-align: center;
    height: auto; /* 允许高度自适应 */
    z-index: 1;
}

.home h1 {
    font-family: 'Source Sans Pro', sans-serif;
    /* 字体大小在1920保持100px，1281缩小到70px */
    font-size: clamp(40px, 4.17vw, 80px);
    font-weight: bold;
    margin-bottom: clamp(20px, 2vw, 40px);
    line-height: 140%;
    text-shadow:
        10px 10px 12px rgba(0, 0, 0, 0.5),
        4px 4px 20px rgba(0, 0, 0, 0.5);
}

.home p {
    /* 字体大小响应式缩小 */
    font-size: clamp(18px, 1.25vw, 24px);
    font-weight: normal;
    letter-spacing: 0.5px;
    line-height: 165%;
    margin-top: 0px;
    margin-bottom: clamp(30px, 4.7vw, 90px);
    text-shadow:
        10px 10px 12px rgba(0, 0, 0, 0.5),
        4px 4px 20px rgb(0, 0, 0, 0.5);
}

.decor-line {
    width: clamp(650px, 60vw, 1200px);
    height: 2px;
    margin: clamp(14px, 2.08vw, 40px) auto clamp(20px, 2.6vw, 50px);
    margin-left: calc(50% - clamp(315px, 30vw, 600px) + -10px);
    background: linear-gradient(to right,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.4) 25%,
        rgba(255,255,255,1) 50%,
        rgba(255,255,255,0.4) 75%,
        rgba(255,255,255,0) 100%);
    position: relative;
}

/* ===========================================
   公司简介区域样式
   =========================================== */
.about-section {
    background: url('../../images/images/背景3.jpg') no-repeat center center/cover;
    height: 100vh;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 80px 0; /* 预留 navbar 高度 */
    background-color: white;
}

.comprofile-section {
    height: 80%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: clamp(40px, 6vw, 80px) clamp(46px, 4.17vw, 80px) 0; /* 上左右内边距响应 */
    box-sizing: border-box;
    width: clamp(880px, 87.5vw, 1680px);
    margin: 0 auto;
    flex-wrap: nowrap;
    gap: clamp(60px, 8vw, 160px); /* 子元素间距响应 */
}

.comprofile-text {
    flex: 1 1 0;
    min-width: 200px; /* 最小宽度缩小一点 */
}

.comprofile-subtitle {
    display: flex;
    align-items: center;
    height: clamp(36px, 3vw, 56px); /* 高度响应 */
    color: black;
    font-size: clamp(14px, 1.5vw, 25px); /* 字号响应 */
    font-weight: bold;
    margin-bottom: clamp(-5px, -1vw, -10px); /* 下边距响应 */
}

.circle {
    width: clamp(18px, 1.8vw, 28px); /* 圆形大小响应 */
    height: clamp(18px, 1.8vw, 28px);
    border-radius: 50%;
    background-color: #ff5c00;
    margin-right: clamp(5px, 1vw, 10px);
    margin-left: clamp(2px, 0.5vw, 5px);
}

.comprofile-title {
    font-size: clamp(30px, 3.25vw, 72px); /* 标题响应 */
    color: #ff5c00;
    margin: 0px 0 clamp(5px, 1vw, 10px) 0;
}

.comprofile-description {
    width: 100%;
    max-width: 780px;
    height: clamp(80px, 8vw, 170px); /* 高度响应 */
    font-size: clamp(9px, 1.04vw, 20px); /* 字号响应 */
    font-weight: normal;
    font-family: 'Source Sans Pro', sans-serif;
    color: #888888;
    line-height: 1.6;
    margin-left: clamp(2px, 0.5vw, 4px);
}

.comprofile-image {
    flex: 0 0 auto;
    width: clamp(330px, 30vw, 600px); /* 图片宽度响应 */
    max-width: 50vw;
    aspect-ratio: 884 / 639;
    padding: clamp(40px, 6vw, 80px) 0; /* 上下内边距响应 */
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: clamp(8px, 1vw, 16px); /* 圆角响应 */
    overflow: hidden;
}

.comprofile-image img {
    width: clamp(200px, 21.88vw, 420px);
    height: clamp(200px, 21.88vw, 420px);
    object-fit: contain;
    background-color: transparent;
}

.stats-section {
    height: 20%;
    background: url('../../images/images/背景4.webp') no-repeat center center/cover;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(20px, 5vh, 60px);
    color: white;
    padding: 0 clamp(20px, 10vw, 257px);
    flex-wrap: nowrap;
    margin-bottom: -80px;
}

 .stat-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex: 1 1 0;
    min-width: 100px;
}

.stat-number {
    /* 1920px=60px，1281px=40px，屏幕变窄会早缩小 */
    font-size: clamp(24px, 3.125vw, 60px);
    font-weight: bold;
    font-family: 'Inter', sans-serif;
    line-height: 1.2;
    white-space: nowrap;
}

.stat-label {
    /* 1920px=20px，1281px=14px */
    font-size: clamp(10px, 1.04vw, 20px);
    font-family: 'Inter', sans-serif;
    line-height: 1.2;
    white-space: nowrap;
}

.divider {
    width: 2px;
    height: clamp(30px, 4.5vh, 80px);
    background-color: white;
    flex-shrink: 0;
}

/* ===========================================
   公司文化区域样式
   =========================================== */
.culture-section {
    padding-top: clamp(40px, 8vh, 80px); /* 预留navbar高度 */
    margin: 0 auto;
    box-sizing: border-box;
    height: 100vh;
    width: 100%;
    padding-bottom: clamp(16px, 4vh, 32px);
    display: flex;
    justify-content: center;
    align-items: center;
    background: url('../../images/images/背景4.webp') no-repeat center center/cover;
    color: #000;
    gap: clamp(0px, 2.76vw, 53px);
    flex-wrap: nowrap;
}

.culture-left {
    display: grid;
    grid-template-columns: repeat(2, clamp(140px, 18vw, 350px));
    grid-gap: clamp(10px, 1.67vw, 32px); /* 📌 响应式gap */
    margin-top: 60px;
    margin-left: 32px;
}

.culture-card {
    width: clamp(140px, 18vw, 350px);  /* 卡片宽度更小 */
    height: clamp(140px, 18vw, 350px); /* 卡片高度更小 */
    background-color: #FFF1E5;
    padding: clamp(10px, 1.8vw, 24px) clamp(8px, 1.2vw, 16px); /* 内边距略缩小 */
    border-radius: 16px;
    text-align: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.culture-icon {
    width: clamp(32px, 5vw, 124px);  /* 图标更小 */
    height: clamp(32px, 5vw, 124px);
    margin-top: clamp(8px, 1.8vw, 60px); /* 上间距缩小 */
}

.culture-card h3 {
    font-size: clamp(14px, 2vw, 38px); /* 标题更小 */
    font-weight: bold;
    font-family: 'Source Sans Pro', sans-serif;
    line-height: 140%;
    margin-bottom: 0;
}

.culture-card p {
    width: clamp(120px, 15vw, 320px); /* 描述文字区域缩小 */
    font-size: clamp(9px, 1.04vw, 20px); /* 描述文字更小 */
    font-weight: normal;
    color: #888888;
    line-height: 140%;
    padding: 0 clamp(8px, 1.8vw, 28px);
    margin-bottom: clamp(12px, 3vw, 40px);
}

.culture-right {
    width: clamp(320px, 31.25vw, 600px); /* 最大宽度保持 */
    height: clamp(250px, 35vw, 550px); /* 右边高度响应式缩小 */
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: clamp(16px, 3vw, 48px);
    box-sizing: border-box;
}

.culture-title {
    font-size: clamp(20px, 2.5vw, 70px); /* 标题字体响应式缩小 */
    color: white;
    font-weight: bold;
    margin-top: clamp(24px, 1.67vh, 32px);
    margin-bottom: clamp(8px, 1.25vh, 24px);
}

.culture-description {
    font-size: clamp(10px, 1.2vw, 20px); /* 描述文字更小 */
    color: white;
    margin-bottom: clamp(24px, 4vh, 48px);
    line-height: 140%;
    word-break: break-word;
    max-width: 100%;
}

.culture-button {
    background-color: white;
    width: clamp(60px, 6.1vw, 117px);
    height: clamp(14px, 1.56vw, 30px);
    padding: clamp(4px, 0.7vw, 7px) clamp(12px, 1.4vw, 18px);
    display: flex; /* ✅ 改成 flex */
    align-items: center; /* 垂直居中 */
    border: 2px solid white;
    border-radius: clamp(6px, 0.8vw, 14px);
    font-size: clamp(9px, 1.04vw, 20px);
    color: #ff5c00;
    font-family: 'Source Sans Pro', sans-serif;
    line-height: 140%;
    text-decoration: none;
    margin-bottom: clamp(12px, 2vw, 32px);
    transition: background-color 0.3s ease, color 0.3s ease;
}

.culture-button:hover {
    background-color: white;
    color: #FF5C00;
}

