/* 首页首屏：轻量压缩垂直空间 */
.hero.hero-carousel {
    min-height: 92vh;      /* 从 100vh 下调，整体更紧凑 */
    min-height: 92svh;     /* 兼容移动端可视高度 */
    min-height: 92dvh;     /* 兼容动态视口高度 */
    padding-bottom: calc(56px + 5vh);  /* 仍为圆点预留空间，但略缩小 */
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff; /* 深色渐变背景 */
    overflow: hidden;
    padding-bottom: 72px; /* 预留底部空间用于显示圆点导航 */
}

.hero.hero-carousel::before {
    content: '';
    position: absolute;
    inset: -10%;
    background:
      radial-gradient(600px 300px at 90% 90%, #4E23DC, transparent 70%),
      radial-gradient(800px 400px at 20% 30%, #4E23DC, transparent 50%),
      radial-gradient(600px 300px at 80% 60%, rgba(141, 135, 253, 0.08), transparent 70%);
    pointer-events: none;
}
.hero.hero-carousel::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: linear-gradient(transparent 98%, rgba(255,255,255,0.08) 100%),
                      radial-gradient(circle at center, rgba(255,255,255,0.03) 0, transparent 60%);
    opacity: 0.4;
    pointer-events: none;
}
 .hero.hero-carousel .slides {
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(calc(-10vh - 20px)); /* 保持你的居中定位 */
    z-index: 1; /* 确保下面的导航层级更高可覆盖 */
}
@media (max-width: 768px) {
    .hero.hero-carousel .slides { transform: translateY(calc(-5vh - 10px)); }
}

.hero .container { padding: 0px 0px; }

.slides { position: relative; width: 100%; }
.slide {
    position: absolute; inset: 0;
    opacity: 0; transform: translateY(10px) scale(0.98);
    transition: opacity 560ms ease, transform 560ms ease;
    pointer-events: none;
    z-index: 1; /* 让原点与箭头在视觉上覆盖内容 */
}
.slide.active { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.slide.enter .slide-text > * { animation: pop-in 480ms ease both; }
.slide.enter .slide-text > *:nth-child(2) { animation-delay: 80ms; }
.slide.enter .slide-text > *:nth-child(3) { animation-delay: 160ms; }
.slide.enter .slide-text > *:nth-child(4) { animation-delay: 240ms; }
@keyframes pop-in {
    from { opacity: 0; transform: translateY(12px) scale(0.96); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

.slide-text {
    text-align: left;
    max-width: 600px;
    z-index: 2;
}

.slide-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 40px; align-items: center; }
.slide-text h1 { font-family: var(--font-family-heading); font-size: 3rem; line-height: 1.1; margin-bottom: 16px; color: #F0F4FA; text-shadow: 0 4px 8px rgba(78, 35, 220, 0.3); }
.slide-text p { font-size: 1.1rem; color: #AEB7C4; margin-bottom: 20px; }

.badge-group { display: flex; gap: 10px; margin-bottom: 14px; }
.badge, .chip {
    background: rgba(78, 35, 220, 0.15); /* 浅品牌紫半透明填充 */
    /* border: 1px solid rgba(78, 35, 220, 0.3); */
    box-shadow: 0 4px 15px rgba(78, 35, 220, 0.2); /* 边框颜色 */
    padding: 6px 12px;
    border-radius: 999px;
    backdrop-filter: blur(6px);
    color: #FFFFFF; /* 白色文字 */
    font-size: 0.85rem;
}
.chip-row { display: flex; gap: 10px; flex-wrap: wrap; }
.chip.small { font-size: 0.78rem; padding: 5px 10px; background: rgba(78, 35, 220, 0.1); border-radius: 6px; }

/* 暗色玻璃拟态卡片 + 呼吸动画 */
.glass-card {
    background: rgba(11, 14, 18, 0.7); /* 半透明深色底 */
    border: 1px solid rgba(255,255,255,0.1);
    box-shadow: 0 10px 30px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.03);
    border-radius: 16px;
    padding: 22px 24px;
    backdrop-filter: blur(12px); /* 轻微模糊质感 */
    color: #E8ECF3; /* 浅灰白色调 */
}
.glass-card h3 { margin-bottom: 10px; color: #F0F4FA; }
.glass-card p { color: #AEB7C4; margin-bottom: 10px; }

.breathing { animation: breathe 3.2s ease-in-out infinite; }
@keyframes breathe {
    0%   { transform: translateY(0) scale(1); box-shadow: 0 0 0 rgba(78,35,220,0); }
    50%  { transform: translateY(-3px) scale(1.03); box-shadow: 0 0 18px rgba(108,99,255,0.25); }
    100% { transform: translateY(0) scale(1); box-shadow: 0 0 0 rgba(78,35,220,0); }
}

/* 左右箭头 */
.arrow {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 42px; height: 42px; border-radius: 50%;
    background: rgba(78, 35, 220, 0.15); /* 品牌紫半透明圆形背景 */
    /* border: 1px solid rgba(78, 35, 220, 0.3); */
    box-shadow: 0 4px 15px rgba(78, 35, 220, 0.2);
    /* backdrop-filter: blur(6px); */
    cursor: pointer;
    transition: transform 200ms ease, background 200ms ease, box-shadow 200ms ease;
    z-index: 3; /* 提升箭头层级，避免被内容遮挡 */
}
.arrow.left  { left: 24px; }
.arrow.right { right: 24px; }
.arrow:hover {
    transform: translateY(-50%) scale(1.06);
    background: rgba(78, 35, 220, 0.3); /* 鼠标悬浮时背景透明度加深 */
    /* box-shadow: 0 6px 20px rgba(0,0,0,0.35); */
}
.arrow::before {
    content: ''; display: block; width: 10px; height: 10px;
    border-right: 2px solid #FFFFFF; border-bottom: 2px solid #FFFFFF;
    transform: rotate(-45deg); margin: 16px auto;
}
.arrow.left::before { transform: rotate(135deg); }

/* 原点导航 */
.dots {
    position: absolute; bottom: 26px; left: 50%;
    transform: translateX(-50%);
    display: flex; gap: 10px;
    z-index: 4;
}
.dot {
    width: 10px; height: 10px; border-radius: 50%;
    background: rgba(255,255,255,0.2); /* 低透明度白色 */
    border: 1px solid rgba(255,255,255,0.3);
    cursor: pointer;
    transition: transform 200ms ease, background 200ms ease, box-shadow 200ms ease;
}
.dot:hover { transform: scale(1.2); background: rgba(255,255,255,0.6); }
.dot.active {
    transform: scale(1.35);
    background: #4E23DC; /* 品牌主色 */
    box-shadow: 0 0 12px rgba(78, 35, 220, 0.6);
}
.slide-text strong,
.slide-text em {
    color: #FFFFFF;
    text-shadow: 0 0 12px rgba(108,99,255,0.22);
    font-weight: 800;
}
@media (max-width: 768px) {
    .slide-text h1 { font-size: 2.4rem; line-height: 1.12; }
    .slide-text p { font-size: 1.12rem; }
    .glass-card h3 { font-size: 1.15rem; }
    .badge, .chip { font-size: 0.9rem; }
}
/* 针对短屏进一步压缩（高度较小的显示器） */
@media (max-height: 700px) {
    .hero.hero-carousel {
        min-height: 88vh;
        min-height: 88svh;
        min-height: 88dvh;
        padding-bottom: calc(48px + 3vh);
    }
    .slide-grid { gap: 22px; }
    .slide-text h1 { margin-bottom: 8px; }
    .slide-text p  { margin-bottom: 14px; }
    .glass-card { padding: 14px 16px; }
}