/* Homepage Redesign CSS - 首页重新设计样式 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* ===== Loading页面样式 ===== */
.loading-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #7028AA;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.loading-screen.hidden {
    opacity: 0;
    visibility: hidden;
}

.loading-content {
    width: 341px;
    max-width: 80vw;
    min-height: 240px;
    display: flex;
    flex-direction: column;
}

.loading-logo-area {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.loading-logo {
    max-width: 90px;
    height: auto;
    animation: logoFadeIn 1s ease-in-out;
    margin-top: 12px;
}

.loading-bar-container {
    width: 100%;
    height: 1px;
}

.loading-bar-svg {
    display: block;
    width: 100%;
    height: 100%;
}

.loading-text {
    display: flex;
    justify-content: center;
    line-height: 0;
    margin-top: 64px;
}

.loading-text-svg {
    display: block;
    width: 48px;
    max-width: 58vw;
    height: auto;
    transform: translateY(-44px);
}

.loading-bar-track {
    opacity: 0.5;
}

.loading-bar-fill {
    d: path("M0 0.5H0");
}

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

/* ===== 自定义字体 ===== */

/* 默认正文字体 - 思源黑体 */
@font-face {
    font-family: 'SourceHanSans';
    src: url('fonts/maintext/SourceHanSansCN-Regular.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'SourceHanSans';
    src: url('fonts/maintext/SourceHanSansCN-Light.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'SourceHanSans';
    src: url('fonts/maintext/SourceHanSansCN-Medium.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'SourceHanSans';
    src: url('fonts/maintext/SourceHanSansCN-Bold.otf') format('opentype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'SourceHanSans';
    src: url('fonts/maintext/SourceHanSansCN-Heavy.otf') format('opentype');
    font-weight: 900;
    font-style: normal;
}

/* 英文副标题字体 - Roboto */
@font-face {
    font-family: 'RobotoEnglish';
    src: url('fonts/english/Roboto-Regular-14.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'RobotoEnglish';
    src: url('fonts/english/Roboto-Thin-15.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'RobotoEnglish';
    src: url('fonts/english/Roboto Bold字体_爱给网_aigei_com.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

/* 中文主标题字体 */
@font-face {
    font-family: 'Swei Spring CJK SC';
    src: url('fonts/title/SweiSpringCJKtc-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Swei Spring CJK SC';
    src: url('fonts/title/SweiSpringCJKtc-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'SweiSpringSugar';
    src: url('fonts/title/SweiSpringSugarCJKtc-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'SweiSpringSugar';
    src: url('fonts/title/SweiSpringSugarCJKtc-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'SweiSpringSugar';
    src: url('fonts/title/SweiSpringSugarCJKtc-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

/* ===== 全局重置样式 ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    font-family: 'SourceHanSans', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    background: #fff;
    overflow-x: hidden;
    /* 移除scroll-behavior，由JavaScript控制滚动 */
}

/* 禁用CSS滚动吸附，完全由JavaScript控制 */
html {
    scroll-snap-type: none;
}

/* 移除section的滚动吸附 */
section {
    scroll-snap-align: none;
}

/* ===== 屏幕导航指示器 ===== */
.screen-navigator {
    position: fixed;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10000; /* 提高z-index，确保在所有元素之上 */
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.nav-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    border: 2px solid #7028aa;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

.nav-dot:hover {
    background: rgba(255, 255, 255, 0.8);
    border-color: #7028aa;
    transform: scale(1.2);
}

.nav-dot.active {
    background: #7028aa;
    border-color: #7028aa;
    box-shadow: 0 0 10px rgba(112, 40, 170, 0.5);
}

/* 导航点提示文字 */
.nav-dot::after {
    content: attr(title);
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    pointer-events: none;
}

.nav-dot:hover::after {
    opacity: 1;
    visibility: visible;
}

.desktop-homepage-shell[data-screen="3"] .screen-navigator {
    opacity: 0;
    pointer-events: none;
}

.desktop-homepage-shell[data-screen="3"] .nav-item:nth-child(3) .nav-link {
    color: #7028aa;
}

.desktop-homepage-shell[data-screen="3"] .nav-item:nth-child(3) .nav-underline {
    width: 100%;
}

.homepage-redesign {
    position: relative;
    width: 100%;
    min-height: 100vh;
    overflow-x: hidden;
    --homepage-nav-width: min(100%, 1200px); /* 与 nav-logo 左缘共享的横向基准 */
}

/* ===== 轮播图区域样式 ===== */
.carousel-section {
    position: relative;
    width: 100%;
    height: 100vh; /* 占满整个视口高度 */
    background: #fff;
    margin-top: 0; /* 轮播图从顶部开始，菜单栏悬浮在上方 */
}

.carousel-container {
    width: 100%;
    height: 100%; /* 占满整个轮播图区域 */
    position: relative;
    overflow: hidden;
}

.carousel-wrapper {
    width: 100%;
    height: 100%;
    position: relative;
}

.carousel-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    z-index: 1;
}

.carousel-slide.active {
    opacity: 1;
    z-index: 2;
}

.carousel-main-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* 轮播图指示器 */
.carousel-indicators {
    position: absolute;
    bottom: 120px; /* 调整位置，避免与统计区域重叠 */
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 100;
}

.carousel-indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.5);
    background: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
}

.carousel-indicator.active,
.carousel-indicator:hover {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(255, 255, 255, 0.9);
}

/* 轮播图导航按钮 */
.carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.2);
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    color: white;
    font-size: 24px;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-nav:hover {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-50%) scale(1.1);
}

.carousel-prev {
    left: 20px;
}

.carousel-next {
    right: 20px;
}

/* ===== 轮播图主视觉布局 ===== */
.hero-main-layout {
    position: absolute;
    top: calc((100vh - clamp(220px, 31vh, 420px)) * 0.52);
    left: 50%;
    transform: translate(-50%, -50%);
    width: clamp(1280px, 67vw, 1900px);
    display: grid;
    grid-template-columns: minmax(620px, 0.92fr) minmax(520px, 1.08fr);
    gap: clamp(56px, 4vw, 110px);
    align-items: center;
    z-index: 150; /* 提高z-index，确保在轮播图之上 */
    pointer-events: none;
    overflow: visible;
    isolation: isolate;
}

/* ===== 轮播图文字覆盖层 ===== */
.carousel-text-overlay {
    width: 140%;
    max-width: 1720px;
    text-align: left; /* 左对齐 */
}

.carousel-main-title {
    
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.18;
    margin-bottom: 6px;
    color: #2c2c2c; /* 深灰色，更明显 */
    font-family: 'Swei Spring CJK SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
    position: relative;
    z-index: 2;
}

.carousel-subtitle {
    font-size: 1.49rem;
    color: #666; /* 深一点的灰色 */
    font-weight: 400;
    margin-top: 18px;
    margin-bottom: 50px;
    font-family: 'RobotoEnglish', 'SourceHanSans', sans-serif;
    transform: translateY(-12px);
    position: relative;
    z-index: 2;
}

.carousel-description-box {
    background: transparent;
    max-width: 500px;
    color: white;
    font-family: 'SweiSpringSugar', 'PingFang SC', 'Microsoft YaHei', sans-serif;
    box-shadow: none;
    font-feature-settings: "halt" 0, "vhal" 0, "vert" 0, "vrt2" 0;
    -webkit-font-feature-settings: "halt" 0, "vhal" 0, "vert" 0, "vrt2" 0;
    -moz-font-feature-settings: "halt" 0, "vhal" 0, "vert" 0, "vrt2" 0;
    font-variant-east-asian: normal;
    writing-mode: horizontal-tb;
    transform: translateY(-15px);
    position: relative;
    z-index: 2;
}

/* 只针对中文标点符号进行特殊处理 */
.carousel-description-box p {
    margin: 0;
    padding: 0;
    font-feature-settings: inherit;
    -webkit-font-feature-settings: inherit;
    -moz-font-feature-settings: inherit;
}

/* 使用CSS来调整中文标点符号的显示 */
.carousel-description-box p::after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    font-size: 0;
    line-height: 0;
}

/* 针对包含标点符号的文本进行微调 */
.carousel-description-box {
    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* 为中文标点符号定义专门的字体 */
@font-face {
    font-family: 'PunctuationFix';
    src: local('PingFang SC'), local('Hiragino Sans GB'), local('Microsoft YaHei'), local('SimHei'), local('Arial');
    unicode-range: U+3000-303F, U+FF00-FFEF; /* 中文标点符号范围 */
    font-feature-settings: normal;
}

.desc-motto-group {
    color: #7028aa;
    margin-bottom: 20px;
    font-family: 'PunctuationFix', 'SourceHanSans', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

.desc-motto-group-value {
    margin-bottom: 64px;
}

.desc-heading-row {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 20px;
}

.desc-heading {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.35;
}

.desc-heading-line {
    flex: 0 0 auto;
    width: 65px;
    height: 6px;
    display: block;
}

.desc-value {
    font-size: 0.95rem;
    font-weight: 300;
    line-height: 1.45;
    margin-top: 2px;
    letter-spacing: 0;
}

.desc-text {
    font-size: 0.85rem;
    line-height: 1.8;
    margin-bottom: 5px;
    opacity: 0.95;
    color: #acaab0; /* 浅灰色 */
    font-family: 'PunctuationFix', 'SweiSpringSugar', 'PingFang SC', 'Microsoft YaHei', sans-serif;

    transform: translateY(25px);
}

.text-purple {
    color: #7028aa; /* 紫色高亮 */
}

.desc-emphasis {
    font-size: 0.9rem;
    font-weight: 600;
    margin-top: 15px;
    margin-bottom: 0;
    line-height: 1.6;
}

/* ===== 底部统计数据区域 ===== */
.bottom-stats-section {
    --bottom-bg-image: none;
    background-color: #22003d; /* 填充底部 15px 的透明缝隙，与 SVG 渐变底色保持一致 */
    background-image: var(--bottom-bg-image);
    background-size: 100% 100%;
    background-position: center top;
    background-repeat: no-repeat;
    height: 16.875vw;
    padding: 0;
    color: white;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    overflow: hidden;
    border-radius: min(29px, 1.510417vw) min(29px, 1.510417vw) 0 0;
}

/* 左上方文字 */
.bottom-slogan {
    position: absolute;
    top: 9.9%;
    left: 0;
    right: 0;
    width: var(--homepage-nav-width, min(100%, 1200px));
    max-width: none; /* 复用导航宽度，让文字左缘和 logo/首屏标题对齐 */
    margin: 0 auto; /* 居中 */
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-family: 'SweiSpringSugar', 'PingFang SC', 'Microsoft YaHei', sans-serif;
    z-index: 11;
}

.bottom-slogan::before {
    content: '';
    position: absolute;
    left: -15px;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #7028aa; /* 紫色竖线 */
}

.slogan-line {
    color: #B3B3B3;
    font-size: 1.2rem;
    line-height: 1.5;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    padding-left: 0;
}

.bottom-stats-section .stats-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 0 40px;
    position: absolute;
    left: 0;
    right: 0;
    top: 38%;
}

.bottom-stats-section .stat-item {
    text-align: center;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.bottom-stats-section .stat-number-wrapper {
    display: flex;
    align-items: baseline;
    justify-content: center;
}

.bottom-stats-section .stat-number {
    font-size: 3rem;
    font-weight: bold;
    color: #fff;
    font-family: 'Swei Spring CJK SC', 'PingFang SC', 'Microsoft YaHei', sans-serif; /* 使用自定义字体 */
}

.bottom-stats-section .stat-suffix {
    font-size: 3rem;
    font-weight: bold;
    color: #fff;
    margin-left: 5px;
    font-family: 'Swei Spring CJK SC', 'PingFang SC', 'Microsoft YaHei', sans-serif; /* 使用自定义字体 */
}

.bottom-stats-section .stat-label {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.9);
    margin-top: 10px;
    font-weight: 300;
    font-family: 'SweiSpringSugar', 'PingFang SC', 'Microsoft YaHei', sans-serif; /* 使用自定义字体 */
    position: relative;
    padding-top: 10px; /* 为上横线留出空间 */
    display: inline-block; /* 让元素宽度适应内容 */
}

.bottom-stats-section .stat-label::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; /* 现在100%是相对于inline-block的宽度，即文字宽度 */
    height: 2px;
    background: #7028aa; /* 紫色横线 */
}

/* 主视觉Logo - 跟随轮播文案定位 */
.floating-logo {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    pointer-events: none;
}

.logo-floating {
    width: min(100%, clamp(520px, 32vw, 1080px));
    max-width: none;
    max-height: min(54vh, calc(100vh - 380px));
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
    transition: all 0.3s ease;
    cursor: pointer;
    opacity: 0.9;
}

.logo-floating:hover {
    transform: scale(1.1);
    opacity: 1;
    filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.4));
}

/* Logo悬浮动画效果 */
@keyframes logoFloat {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-8px);
    }
}

.logo-floating {
    animation: logoFloat 3s ease-in-out infinite;
}

/* 数字滚动效果 */
.stats-section {
    position: absolute;
    bottom: 50px;
    right: 50px;
    z-index: 3;
}

.stats-container {
    display: flex;
    gap: 40px;
}

.stat-item {
    text-align: center;
    color: white;
}

.stat-number {
    font-size: 3rem;
    font-weight: bold;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    display: inline-block;
}

.stat-suffix {
    font-size: 2rem;
    font-weight: bold;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    display: inline-block;
}

.stat-label {
    font-size: 0.9rem;
    margin-top: 5px;
    opacity: 0.9;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.counter-animation {
    animation: countUp 2s ease-out forwards;
}

@keyframes countUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===== 悬浮菜单栏样式 ===== */
.floating-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: transparent; /* 完全透明背景 */
    backdrop-filter: none; /* 移除模糊效果 */
    z-index: 9999; /* 提高z-index确保菜单栏始终在最上方 */
    box-shadow: none; /* 移除阴影效果 */
    --nav-link-color: #3e3a3a;
    --nav-hover-color: #512587;
    --nav-text-shadow: none;
    --nav-underline-bg: linear-gradient(90deg, #8B5CF6, #A855F7);
    transition: all 0.3s ease;
}

/* 非首页使用白色导航底纹，首页保持透明悬浮效果 */
.desktop-page-shell .floating-nav {
    background: #ffffff;
}

.desktop-page-shell .nav-submenu {
    background: #ffffff;
}

.desktop-page-shell .nav-submenu a:hover {
    background: rgba(112, 40, 170, 0.06);
}

/* 第三屏时移除半透明背景 */
.floating-nav.services-screen {
    background: transparent;
    backdrop-filter: none;
}

/* 第三屏时导航文字为白色 */
.floating-nav.services-screen .nav-link {
    color: #ffffff !important;
}

/* 第三屏时二级菜单样式 */
.floating-nav.services-screen .nav-submenu {
    background: transparent !important;
    backdrop-filter: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.floating-nav.services-screen .nav-submenu a {
    color: #ffffff !important; /* 白色文字 */
    background: transparent !important;
}

.floating-nav.services-screen .nav-submenu a:hover {
    color: #8B5CF6 !important; /* 悬浮时紫色 */
    background: rgba(139, 92, 246, 0.1) !important; /* 悬浮时淡紫色背景 */
}

.nav-container {
    width: var(--homepage-nav-width, min(100%, 1200px));
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 70px;
}

.nav-logo {
    flex-shrink: 0;
    width: 120px;
}

.nav-logo img {
    max-width: 100%;
    height: auto;
    object-fit: contain; /* 确保不变形 */
}

@media (min-width: 1025px) {
    .homepage-redesign,
    .floating-nav {
        --homepage-nav-width: 62.5vw;                             /* 1920宽时1200px */
    }

    .homepage-redesign .nav-container,
    .floating-nav .nav-container {
        width: var(--homepage-nav-width, 62.5vw);
        max-width: none;
        height: 3.645833vw;                                        /* 1920宽时70px */
    }

    .homepage-redesign .nav-logo,
    .floating-nav .nav-logo {
        width: 6.25vw;                                             /* 1920宽时120px */
    }

    .homepage-redesign .nav-logo img,
    .floating-nav .nav-logo img {
        margin-top: 0.520833vw !important;                         /* 1920宽时10px */
    }

    .homepage-redesign .nav-menu,
    .floating-nav .nav-menu {
        gap: 6.510417vw;                                           /* 1920宽时125px */
    }

    .homepage-redesign .nav-link,
    .floating-nav .nav-link {
        font-size: 0.9375vw;                                       /* 1920宽时18px */
    }

    .homepage-redesign .nav-submenu,
    .floating-nav .nav-submenu {
        min-width: 10.416667vw;                                    /* 1920宽时200px */
        padding: 0.520833vw 0;                                     /* 1920宽时10px */
    }

    .homepage-redesign .nav-submenu a,
    .floating-nav .nav-submenu a {
        padding: 0.260417vw 1.041667vw;                            /* 1920宽时5px 20px */
        font-size: 0.677083vw;                                     /* 1920宽时13px */
    }

    .homepage-redesign .hero-main-layout {
        left: calc((100vw - var(--homepage-nav-width, 62.5vw)) / 2);
        transform: translateY(-50%);
    }
}

.nav-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 125px;
    transform: translateX(0px);
}

.nav-item {
    position: relative;
}

.nav-link {
    display: block;
    padding: 0px 4px;
    color: var(--nav-link-color, #3e3a3a); /* 根据背景动态切换 */
    text-decoration: none;
    font-weight: normal; /* 使用思源黑体normal粗细 */
    font-size: 18px;
    text-shadow: var(--nav-text-shadow, none);
    transition: color 0.25s ease, text-shadow 0.25s ease, transform 0.3s ease;
    position: relative;
}

/* 按钮悬浮效果 - 紫色变化 */
.nav-link:hover {
    color: var(--nav-hover-color, #8B5CF6);
    transform: translateY(-2px);
}

/* 动态下划线效果 */
.nav-underline {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--nav-underline-bg, linear-gradient(90deg, #8B5CF6, #A855F7));
    transition: width 0.4s ease;
}

.nav-item:hover .nav-underline {
    width: 100%;
}

/* 二级菜单 */
.nav-submenu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-10px); /* 水平居中 + 初始向上偏移 */
    background: transparent; /* 透明背景 */
    min-width: 200px;
    box-shadow: none; /* 去掉阴影 */
    border-radius: 0; /* 去掉圆角 */
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 1001;
    padding: 10px 0;
}

.nav-item:hover .nav-submenu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0); /* 保持水平居中，垂直归位 */
}

.nav-submenu a {
    display: block;
    padding: 5px 20px;
    color: var(--nav-link-color, #3e3a3a); /* 和一级菜单颜色一致 */
    text-decoration: none;
    font-size: 13px;
    text-shadow: var(--nav-text-shadow, none);
    transition: color 0.25s ease, text-shadow 0.25s ease, background 0.2s ease;
    border-bottom: none; /* 去掉分隔线 */
    background: transparent; /* 透明背景 */
    text-align: center; /* 文字水平居中 */
}

.nav-submenu a:last-child {
    border-bottom: none;
}

.nav-submenu a:hover {
    color: var(--nav-hover-color, #8B5CF6); /* 悬浮时根据背景调整 */
    background: transparent; /* 悬浮时也保持透明 */
}

/* 二级菜单选中状态 */
.nav-submenu a.active {
    color: #7028aa; /* 选中时紫色 */
    font-weight: 600; /* 加粗 */
}

/* ===== 响应式设计 ===== */

/* 平板设备 */
@media (max-width: 1024px) {
    .carousel-section {
        height: 100vh;
    }
    
    /* 品牌设计区域响应式 */
    .brand-design-section {
        --brand-text-left: 15px;
        --brand-text-width: clamp(165px, 24vw, 220px);
        --brand-text-lift: 34%;
        --panel-w: 70vw;
        --slot: 28vw;
        --gap: 28vw;
        --tab: 14vw;
    }

    .brand-design-section .col-left {
        flex: 0 0 320px;
        padding: 0 0 0 30px;
    }

    .brand-title {
        font-size: clamp(1.4rem, 2.2vw, 1.65rem);
    }

    .brand-subtitle {
        font-size: clamp(0.68rem, 1vw, 0.78rem);
    }

    .circular-showcase {
        width: 100%;
        max-width: none;
        height: 100%;
        margin-left: 0;
    }
    
    .hero-main-layout {
        width: min(88vw, 980px);
        grid-template-columns: minmax(320px, 0.9fr) minmax(300px, 1.1fr);
        gap: clamp(28px, 4vw, 56px);
        top: calc((100vh - clamp(180px, 28vh, 320px)) * 0.52);
    }

    .floating-logo {
        top: auto;
        left: auto;
        right: auto;
        transform: none;
        opacity: 0.9;
    }
    
    .logo-floating {
        width: min(100%, clamp(320px, 34vw, 520px));
        max-height: min(46vh, calc(100vh - 320px));
    }
    
    .main-title {
        font-size: 3rem;
    }
    
    .stats-section {
        bottom: 30px;
        right: 30px;
    }
    
    .stats-container {
        gap: 30px;
    }
    
    .stat-number {
        font-size: 2.5rem;
    }
    
    .nav-container {
        padding: 0 15px;
        height: 60px;
    }

    .bottom-stats-section {
        height: 250px;
        background-size: cover;
        background-position: center top;
    }

    .bottom-slogan {
        left: 15px;
        right: 15px;
        width: auto;
    }

    .nav-item {
        margin: 0 15px;
    }
    
    .row {
        gap: 40px;
    }
    
    .services-grid {
        gap: 30px;
    }
    
    .cases-grid {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 25px;
    }
}

/* 移动设备 */
@media (max-width: 768px) {
    .carousel-section {
        height: 100vh;
    }
    
    /* 品牌设计区域移动端适配 */
    .brand-design-section {
        --brand-text-left: 10px;
        --brand-text-width: min(38vw, 180px);
        --brand-text-top: 52%;
        --brand-text-lift: 38%;
        --panel-w: 84vw;
        --slot: 35vw;
        --gap: 35vw;
        --tab: 17vw;
    }

    .brand-design-section .row {
        flex-direction: column;
        gap: 40px;
    }
    
    .brand-design-section .col-left {
        flex: 1;
        width: 100%;
        padding: 40px 30px;
        margin-left: 0;
    }
    
    .brand-title {
        font-size: clamp(1.25rem, 4vw, 1.55rem);
    }
    
    .brand-subtitle {
        font-size: clamp(0.62rem, 2vw, 0.72rem);
    }
    
    .brand-description p {
        font-size: clamp(0.68rem, 2.1vw, 0.78rem);
        line-height: 1.65;
    }
    
    .circular-showcase {
        width: 100%;
        max-width: none;
        height: 100%;
        padding-right: 0;
        margin-left: 0;
    }
    
    /* 移动端屏幕导航指示器调整 */
    .screen-navigator {
        right: 15px;
        gap: 12px;
    }
    
    .nav-dot {
        width: 10px;
        height: 10px;
    }
    
    .nav-dot::after {
        right: 20px;
        font-size: 11px;
        padding: 4px 8px;
    }
    
    /* 移动端轮播图导航按钮调整 */
    .carousel-nav {
        width: 40px;
        height: 40px;
        font-size: 20px;
    }
    
    .carousel-prev {
        left: 10px;
    }
    
    .carousel-next {
        right: 10px;
    }
    
    /* 移动端指示器调整 */
    .carousel-indicators {
        bottom: 100px; /* 移动端也要避开统计区域 */
    }
    
    .carousel-indicator {
        width: 10px;
        height: 10px;
    }

    .hero-main-layout {
        top: calc((100vh - clamp(150px, 24vh, 260px)) * 0.48);
        width: 84%;
        max-width: 560px;
        display: block;
    }

    .carousel-text-overlay {
        width: 100%;
        max-width: 560px;
    }

    .carousel-main-title {
        font-size: clamp(1.7rem, 5.8vw, 2.2rem);
        line-height: 1.2;
        width: min(14em, 100%);
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-all;
    }

    .carousel-subtitle {
        font-size: clamp(0.78rem, 3vw, 1rem);
        line-height: 1.35;
        margin-bottom: 32px;
        width: min(32em, 100%);
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .carousel-description-box {
        max-width: 100%;
        transform: translateY(-8px);
    }

    .desc-heading,
    .desc-value {
        font-size: 0.82rem;
    }

    .desc-motto-group {
        margin-bottom: 14px;
    }

    .desc-motto-group-value {
        margin-bottom: 24px;
    }

    .desc-text {
        font-size: 0.76rem;
        line-height: 1.7;
        transform: translateY(14px);
    }
    
    /* 移动端统计区域调整 */
    .bottom-stats-section {
        height: auto;
        min-height: 210px;
        padding: 22px 0 20px;
        background-size: cover;
        background-position: center top;
    }

    .bottom-slogan {
        top: 14px;
        left: 24px;
        right: 24px;
        width: auto;
        max-width: none;
        padding: 0;
    }

    .slogan-line {
        font-size: 0.82rem;
        line-height: 1.35;
    }

    .bottom-stats-section .stats-container {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 8px;
        margin-top: 58px;
        padding: 0 18px;
        justify-content: stretch;
        align-items: center;
        position: relative;
        top: auto;
        width: auto;
    }

    .bottom-stats-section .stat-item,
    .bottom-stats-section .stat-number-wrapper {
        min-width: 0;
    }

    .bottom-stats-section .stat-number,
    .bottom-stats-section .stat-suffix {
        font-size: 1.8rem;
    }

    .bottom-stats-section .stat-label {
        font-size: 0.72rem;
        margin-top: 4px;
        padding-top: 6px;
    }
    
    .floating-logo {
        position: absolute;
        top: 52%;
        left: auto;
        right: -18vw;
        transform: translateY(-50%);
        opacity: 0.18;
    }
    
    .logo-floating {
        width: min(58vw, 360px);
        max-height: 34vh;
    }
    
    .main-title {
        font-size: 2.5rem;
    }
    
    .sub-title {
        font-size: 1.2rem;
    }
    
    .description {
        font-size: 1rem;
    }
    
    .stats-section {
        bottom: 20px;
        right: 20px;
    }
    
    .stats-container {
        flex-direction: column;
        gap: 20px;
    }
    
    .stat-number {
        font-size: 2rem;
    }
    
    /* 移动端菜单 */
    .floating-nav {
        background: transparent; /* 移动端也保持透明 */
    }
    
    .nav-container {
        height: 50px;
        padding: 0 10px;
    }
    
    .nav-menu {
        display: none; /* 隐藏桌面菜单，需要实现移动端汉堡菜单 */
    }
    
    /* 移动端汉堡菜单按钮 */
    .mobile-menu-toggle {
        display: block;
        background: none;
        border: none;
        font-size: 24px;
        color: #333;
        cursor: pointer;
    }
    
    /* 移动端菜单展开状态 */
    .nav-menu.mobile-open {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: rgba(255, 255, 255, 0.95); /* 展开菜单保持半透明背景 */
        backdrop-filter: blur(10px);
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
        padding: 20px 0;
    }
    
    .nav-menu.mobile-open .nav-item {
        margin: 0;
        width: 100%;
    }
    
    .nav-menu.mobile-open .nav-link {
        padding: 15px 20px;
        border-bottom: 1px solid #f0f0f0;
    }
    
    /* 页面区域响应式 */
    .section-title {
        font-size: 2rem;
    }
    
    .services-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .cases-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .process-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .competitiveness-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .contact-info {
        flex-direction: column;
        gap: 30px;
    }
    
    .section-watermark {
        font-size: 4rem;
    }
}

/* 小屏幕移动设备 */
@media (max-width: 480px) {
    .carousel-section {
        height: 100vh; /* 小屏幕也占满屏幕 */
    }

    .hero-main-layout {
        top: calc((100vh - clamp(130px, 22vh, 220px)) * 0.5);
        width: 82%;
    }

    .carousel-main-title {
        font-size: 1.65rem;
        width: 9em;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-all;
    }

    .carousel-subtitle {
        font-size: 0.76rem;
        margin-bottom: 28px;
        width: 22em;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
    
    .floating-logo {
        display: none;
    }
    
    .logo-floating {
        width: min(58vw, 320px);
    }
    
    .main-title {
        font-size: 2rem;
    }
    
    .sub-title {
        font-size: 1rem;
    }
    
    .stat-number {
        font-size: 1.5rem;
    }
    
    .nav-container {
        height: 45px;
    }
    
    .container {
        padding: 0 15px;
    }
    
    .section-title {
        font-size: 1.8rem;
    }
    
    .about-section,
    .services-section,
    .cases-section,
    .process-section,
    .competitiveness-section,
    .contact-section {
        padding: 60px 0;
    }
    
    .section-watermark {
        font-size: 3rem;
    }
    
    /* 小屏幕统计区域调整 */
    .bottom-stats-section {
        padding: 18px 0 18px;
        min-height: 194px;
    }

    .bottom-stats-section .stats-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 6px;
        margin-top: 52px;
        padding: 0 14px;
    }

    .bottom-stats-section .stat-number,
    .bottom-stats-section .stat-suffix {
        font-size: 1.7rem;
    }

    .bottom-stats-section .stat-label {
        font-size: 0.68rem;
    }
    
    /* 小屏幕指示器调整 */
    .carousel-indicators {
        bottom: 80px; /* 小屏幕进一步调整 */
    }
}

/* 窄屏手机：进一步收紧，避免横向裁切 */
@media (max-width: 600px) {
    .carousel-main-title {
        width: 9em;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-all;
    }

    .carousel-subtitle {
        width: 22em;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .bottom-stats-section .stats-container {
        grid-template-columns: repeat(2, 44%);
        justify-content: start;
        gap: 8px 2px;
        margin-top: 48px;
        padding: 0 8px;
    }

    .bottom-stats-section .stat-number,
    .bottom-stats-section .stat-suffix {
        font-size: 1.35rem;
    }

    .bottom-stats-section .stat-label {
        font-size: 0.62rem;
    }
}

/* 矮屏和超扁窗口：优先避免主视觉Logo撞到底部统计区（画布模式下由等比缩放处理，此流式补丁在此注释掉，避免冲突）
@media (min-width: 769px) and (max-height: 760px) {
    .hero-main-layout {
        top: 76px;
        transform: translateX(-50%);
        width: min(86vw, 1120px);
        grid-template-columns: minmax(520px, 1fr) minmax(220px, 0.6fr);
        gap: 24px;
        align-items: start;
    }

    .floating-logo {
        top: auto;
        left: auto;
        transform: none;
    }

    .logo-floating {
        width: min(100%, 260px);
        max-height: 30vh;
    }

    .carousel-main-title {
        font-size: 2rem;
        line-height: 1.15;
    }

    .carousel-subtitle {
        font-size: 1rem;
        line-height: 1.25;
        margin-bottom: 18px;
    }

    .desc-heading,
    .desc-value {
        font-size: 0.8rem;
    }

    .desc-motto-group,
    .desc-motto-group-value {
        margin-bottom: 0;
    }

    .desc-text {
        display: none;
    }
}
*/

/* ===== 图片优化 ===== */
.optimized-image {
    max-width: 100%;
    height: auto;
    transition: opacity 0.3s ease;
}

.optimized-image.loading {
    opacity: 0.7;
}

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

/* 图片占位符 */
.image-placeholder {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
}

@keyframes loading {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

/* ===== 性能优化 ===== */
.homepage-redesign * {
    box-sizing: border-box;
}

/* GPU加速 */
.carousel-section,
.logo-new,
.floating-menu,
.menu-link {
    will-change: transform;
    transform: translateZ(0);
}

/* 减少重绘 */
.menu-link::after,
.submenu {
    will-change: width, opacity, transform;
}

/* ===== 辅助功能 ===== */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* 焦点样式 */
.menu-link:focus,
.submenu-link:focus {
    outline: 2px solid #8B5CF6;
    outline-offset: 2px;
}

/* ===== 打印样式 ===== */
@media print {
    .floating-menu,
    .carousel-section {
        display: none;
    }
    
    .homepage-redesign {
        background: white;
        color: black;
    }
}

/* ===== 页面区域样式 ===== */

/* 品牌设计区域 - 第二屏 */
.brand-design-section {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    scroll-snap-align: start;
    background: #ffffff; /* 纯白色背景 */
    --brand-stage-width: min(100vw, 1800px);
    --brand-stage-left: max(0px, calc((100vw - var(--brand-stage-width)) / 2));
    --brand-text-left: 18.75vw;                                      /* 1920宽时360px，对齐比例化后的导航 logo 左缘 */
    --brand-text-width: clamp(190px, 12.5vw, 480px);                  /* 1920宽时240px，4K宽时480px */
    --brand-text-top: 51%;
    --brand-text-lift: 45%;
    --brand-text-offset-y: clamp(-96px, -2.5vw, -24px);                /* 1920宽时-48px，正数向下，负数向上 */
    /* 弧形面板尺寸 - 面板比"默认每格"宽很多，前一张能盖住后一张弧线在顶/底的内缩空隙 */
    --panel-w: 60vw;                                         /* 单张面板宽度 */
    --panel-h: max(115vh, 73vw);                            /* 至少 115vh，否则 74vw（保证弧线 E 在预算内） */
    --slot: 21vw;                                            /* 控制最左面板的左缘位置：left = 100vw - 3 × slot */
    --gap: 11vw;                                             /* 默认状态下相邻板块间距：缩小则板块 1、2 向左挤 */
    --tab: 6vw;                                           /* hover 收起后弧带宽度 */
}

/* 左侧内容区 - 40% */
.brand-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent; /* 透明背景 */
    z-index: 10; /* 在图片之上 */
    padding: 0;
    pointer-events: none; /* 让鼠标事件穿透到下层图片 */
}

.brand-content {
    position: absolute;
    top: var(--brand-text-top);
    left: var(--brand-text-left);
    width: var(--brand-text-width);
    transform: translateY(calc(var(--brand-text-lift) * -1)) translateY(var(--brand-text-offset-y));
    color: #333;
    display: flex;
    flex-direction: column;
    pointer-events: auto; /* 恢复内容区的鼠标事件 */
}

@media (max-width: 1024px) {
    .brand-design-section {
        --brand-text-left: 15px;                                      /* 对齐导航栏 padding 后的 logo 左缘 */
    }
}

@media (max-width: 768px) {
    .brand-design-section {
        --brand-text-left: 10px;                                      /* 对齐移动端导航栏 logo 左缘 */
    }
}

/* 右侧图片展示区 - 覆盖整屏，位于导航和左侧文字下方 */
.brand-showcase-area {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 1; /* 在内容区之下 */
    pointer-events: none;
}

.brand-title {
    font-size: clamp(26px, 1.763542vw, 68px); /* 1920宽时约33.86px，4K宽时约67.72px */
    font-weight: bold;
    color: #7028aa;
    line-height: 1.2;
    text-align: left;
    margin-bottom: 0;
    font-family: 'Swei Spring CJK SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

.brand-subtitle {
    font-size: clamp(14px, 0.95vw, 37px); /* 1920宽时18.24px，4K宽时约36.48px */
    color: #7028aa;
    margin-bottom: clamp(4px, 2vh, 50px); /* 和第一屏一样 */
    margin-top: 0;
    font-weight: 100;
    text-align: left;
    font-family: 'RobotoEnglish', 'SourceHanSans', sans-serif;
}

/* 为中文标点符号定义专门的字体 */
@font-face {
    font-family: 'PunctuationFix';
    src: local('PingFang SC'), local('Hiragino Sans GB'), local('Microsoft YaHei'), local('SimHei'), local('Arial');
    unicode-range: U+3000-303F, U+FF00-FFEF; /* 中文标点符号范围 */
    font-feature-settings: normal;
}

.brand-description {
    margin-top: 0;
    margin-bottom: clamp(28px, 11.5vh, 250px);
    text-align: left;
    /* 使用原字体，但为标点符号添加专门的字体 */
    font-family: 'PunctuationFix', 'SweiSpringSugar', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

.brand-description p {
    font-size: clamp(12.48px, 0.6771vw, 26px); /* 1920宽时约13px，4K宽时约26px */
    line-height: 1.5; /* 和第一屏一样 */
    color: #acaab0; /* 和第一屏一样的浅灰色 */
    text-align: left;
    margin: 0;
    opacity: 0.95;
    /* iOS Chrome 中文标点符号修复 */
    -webkit-text-orientation: mixed;
    text-orientation: mixed;
    -webkit-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* 第一段紫色高亮文字 */
.brand-description p:first-child {
    font-size: clamp(12.48px, 0.6771vw, 26px); /* 1920宽时约13px，4K宽时约26px */
    font-weight: 300;
    color: #7028aa; /* 紫色 */
    margin-bottom: 0; 
    line-height: 1;
}

.more-cases-button {
    display: inline-flex;
    align-items: center;
    padding: 0;
    background: transparent;
    color: #7028aa;
    text-decoration: none;
    border: none;
    font-weight: 600;
    font-size: clamp(14px, 0.75vw, 29px);
    transition: all 0.3s ease;
    gap: clamp(20px, 1.041667vw, 40px);
    position: relative;
    z-index: 10;
    font-family: 'SweiSpringSugar', 'PingFang SC', 'Microsoft YaHei', sans-serif;
    align-self: flex-end; /* 居右对齐 */
}

/* 左侧横线 - 初始灰色 */
.more-cases-button::before {
    content: '';
    width: clamp(60px, 3.125vw, 120px);
    height: 2px;
    background: #999;
    transition: all 0.3s ease;
}

.more-cases-button:hover {
    color: #8B5CF6;
}

.more-cases-button:hover::before {
    background: #7028aa;
    width: clamp(80px, 4.166667vw, 160px);
}

.button-arrow {
    display: none;
}

/* 圆形展示区域 */
.circular-showcase {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end; /* 居右对齐 */
}

.showcase-circle {
    position: relative;
    width: 100%;
    height: 100%;
    background: transparent;
    overflow: visible;
    display: flex;
    justify-content: flex-end; /* 居右对齐 */
}

/* 三张图容器 - 占据整个右侧区域，捕获 mouseleave 事件 */
/* 三张图容器 - 占据右侧整片区域，作为鼠标交互的容器 */
.showcase-items {
    position: absolute;
    inset: 0;
    pointer-events: none; /* 容器本身透明，事件由内部 item 接收 */
}

/* 单张图基础样式：横向矩形（宽 < 高），左缘弧形 */
.showcase-item {
    position: absolute;
    top: 50%;
    width: var(--panel-w);
    height: var(--panel-h);
    border-radius: 50% 0 0 50%;     /* ←关键：让事件命中范围裁剪到弧形之内（弧外圆角白边不触发该板块） */
    transform: translateY(-50%) translateX(150%); /* 初始在视口外右边 */
    /* opacity: 0.001 而非 0：Safari 会跳过对 opacity:0 元素的 will-change 预合成，
       导致动画第一帧才上传纹理（3张×~3MB = 卡顿）；0.001 肉眼不可见但让 Safari 提前建层 */
    opacity: 0.001;
    will-change: transform, opacity;
    /* backface-visibility: hidden 是 Safari 强制 GPU 提前合成层的可靠手段 */
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.5s ease;
    background: transparent;
    pointer-events: none; /* 滑入完成前不响应鼠标 */
    cursor: pointer;
}

/* 暗化遮罩：用 opacity 替代 filter: brightness()，避免 Safari 软件渲染 */
.showcase-item::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50% 0 0 50%;
    background: rgba(0, 0, 0, 0.34); /* 等效 brightness(0.68) 的暗化程度 */
    opacity: 1;
    transition: opacity 0.35s ease;
    pointer-events: none;
}

/* 默认位置：panel 0 left = 100 - 3×slot；panel 1, 2 在 panel 0 基础上各加 1×gap、2×gap 向右偏移 */
.showcase-item[data-index="0"] {
    right: calc(var(--slot) * 3 - var(--panel-w));                        /* panel 0 锚定 */
    z-index: 1;
}

.showcase-item[data-index="1"] {
    right: calc(var(--slot) * 3 - var(--gap) - var(--panel-w));           /* = panel 0 right - gap → 向右偏 1×gap */
    z-index: 2;
}

.showcase-item[data-index="2"] {
    right: calc(var(--slot) * 3 - var(--gap) * 2 - var(--panel-w));       /* = panel 0 right - 2×gap → 向右偏 2×gap */
    z-index: 3;
}

/* 滑入完成态：到位 + 启用鼠标事件；hover 时由 --tx 控制水平位移 */
.showcase-items.is-shown .showcase-item {
    transform: translateY(-50%) translateX(var(--tx, 0));
    opacity: 1;
    pointer-events: auto;
}

/* 错峰入场（仅首次滑入时启用） */
.showcase-items.is-entering .showcase-item[data-index="2"] { transition-delay: 0s; }
.showcase-items.is-entering .showcase-item[data-index="1"] { transition-delay: 0.1s; }
.showcase-items.is-entering .showcase-item[data-index="0"] { transition-delay: 0.2s; }

/* 默认情况下，最右边（index 2）的遮罩为透明（原色高亮） */
.showcase-item[data-index="2"]::after {
    opacity: 0;
}

/* 悬浮在左侧或中间板块时，最右边板块变暗（变灰） */
.showcase-items[data-hover="0"] .showcase-item[data-index="2"]::after,
.showcase-items[data-hover="1"] .showcase-item[data-index="2"]::after {
    opacity: 1;
}

/* 悬浮在各自板块上时，对应板块的黑色滤镜/暗化遮罩消失，恢复原色 */
.showcase-items[data-hover="0"] .showcase-item[data-index="0"]::after,
.showcase-items[data-hover="1"] .showcase-item[data-index="1"]::after,
.showcase-items[data-hover="2"] .showcase-item[data-index="2"]::after {
    opacity: 0;
}

/* Hover 三态：父容器 data-hover 控制每张图的 --tx 平移量 */
/* 图 0 永远不动（--tx = 0 默认） */

/* Hover 平移公式（基于 slot/gap/tab 推导，使 active panel 完整显示，左右各留 tab 宽弧带） */
/* 公式：panel I 在 hover K 状态下的目标位置 - 默认位置（默认 = X + I × gap，X = 100 - 3 × slot） */

/* 悬浮在图 0：图 1、2 滑到右边成弧带 */
.showcase-items[data-hover="0"] .showcase-item[data-index="1"] {
    --tx: calc(var(--slot) * 3 - var(--tab) * 2 - var(--gap));            /* gap=slot 时 = slot */
}
.showcase-items[data-hover="0"] .showcase-item[data-index="2"] {
    --tx: calc(var(--slot) * 3 - var(--tab) - var(--gap) * 2);            /* gap=slot 时 = tab */
}

/* 悬浮在图 1：图 0 不动，图 1 收向左变 active，图 2 滑去右边 */
.showcase-items[data-hover="1"] .showcase-item[data-index="1"] {
    --tx: calc(var(--tab) - var(--gap));                                  /* gap=slot 时 = -tab */
}
.showcase-items[data-hover="1"] .showcase-item[data-index="2"] {
    --tx: calc(var(--slot) * 3 - var(--tab) - var(--gap) * 2);            /* gap=slot 时 = tab */
}

/* 悬浮在图 2：图 1、2 都向左挤压，图 2 变 active */
.showcase-items[data-hover="2"] .showcase-item[data-index="1"] {
    --tx: calc(var(--tab) - var(--gap));                                  /* gap=slot 时 = -tab */
}
.showcase-items[data-hover="2"] .showcase-item[data-index="2"] {
    --tx: calc((var(--tab) - var(--gap)) * 2);                            /* gap=slot 时 = -slot */
}

/* 图片样式 - 左侧固定半圆弧，绝不变形 */
.showcase-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    border-radius: 50% 0 0 50%;
    /* box-shadow 移除：在大尺寸 GPU 纹理（~3MB/张）上绘制复杂弧形 box-shadow 会显著增加首帧绘制时间 */
    background: transparent;
    display: block;
}

@media (max-width: 768px) {
    .brand-overlay::before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: min(60vw, 300px);
        background: linear-gradient(90deg, #fff 0%, #fff 62%, rgba(255, 255, 255, 0) 100%);
    }

    .brand-content {
        z-index: 1;
    }
}

/* 关于我们区域 */
.about-section {
    padding: 0;
    background: #f8f9fa;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    scroll-snap-align: start;
}

/* 服务项目区域 */
/* 服务项目区域 - 第三屏 */
.services-section {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    scroll-snap-align: start;
}

/* 背景轮播图 */
.services-carousel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1; /* 最底层 */
}

.services-carousel-wrapper {
    width: 100%;
    height: 100%;
    position: relative;
}

.services-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
    z-index: 1;
}

.services-slide.active {
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2 !important;
}

.services-bg-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 轮播图导航点 */
.services-indicators {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 100; /* 确保在最上层 */
}

.services-indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.5);
    background: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
}

.services-indicator.active,
.services-indicator:hover {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(255, 255, 255, 0.9);
}

/* 左侧紫色蒙版内容区 */
.services-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: 100%;
    background: rgba(112, 40, 170, 0.8);
    z-index: 10; /* 在轮播图之上 */
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 60px 60px 60px calc((100vw - var(--homepage-nav-width, min(100%, 1200px))) / 2); /* 左侧padding计算：和导航栏logo对齐 */
}

.services-content {
    color: white;
    max-width: 500px;
    display: flex;
    flex-direction: column;
    /* 借鉴第一屏的处理方式 - 禁用可能导致标点符号居中的字体特性 */
    font-feature-settings: "halt" 0, "vhal" 0, "vert" 0, "vrt2" 0;
    -webkit-font-feature-settings: "halt" 0, "vhal" 0, "vert" 0, "vrt2" 0;
    -moz-font-feature-settings: "halt" 0, "vhal" 0, "vert" 0, "vrt2" 0;
    font-variant-east-asian: normal;
    writing-mode: horizontal-tb;
    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.services-main-title {
    font-size: clamp(26px, 1.763542vw, 68px); /* 统一标题大小 */
    font-weight: bold;
    margin-bottom: 0;
    line-height: 1.2;
    font-family: 'Swei Spring CJK SC', 'PingFang SC', 'Microsoft YaHei', sans-serif; /* 使用自定义字体 */
}

.services-sub-title {
    font-size: clamp(14px, 0.95vw, 37px); /* 统一副标题大小 */
    opacity: 0.8;
    margin-bottom: 0;
    margin-top: 0;
    letter-spacing: 2px;
    font-family: 'RobotoEnglish', 'SourceHanSans', sans-serif;
}

.services-description {
    margin-top: 30px; /* 和标题副标题的间距 */
    margin-bottom: 50px;
    line-height: 2;
    /* 借鉴第一屏的处理方式 - 禁用可能导致标点符号居中的字体特性 */
    font-feature-settings: "halt" 0, "vhal" 0, "vert" 0, "vrt2" 0;
    -webkit-font-feature-settings: "halt" 0, "vhal" 0, "vert" 0, "vrt2" 0;
    -moz-font-feature-settings: "halt" 0, "vhal" 0, "vert" 0, "vrt2" 0;
    font-variant-east-asian: normal;
    writing-mode: horizontal-tb;
}

.services-description p {
    font-size: clamp(12.48px, 0.6771vw, 26px); /* 统一描述文字大小 */
    margin-bottom: 10px;
    opacity: 0.95;
    /* 使用和第一屏相同的字体栈，包括 PunctuationFix */
    font-family: 'PunctuationFix', 'SweiSpringSugar', 'PingFang SC', 'Microsoft YaHei', sans-serif;
    /* 继承父元素的字体特性设置 */
    margin: 0;
    padding: 0;
    font-feature-settings: inherit;
    -webkit-font-feature-settings: inherit;
    -moz-font-feature-settings: inherit;
}

/* 使用CSS来调整中文标点符号的显示 */
.services-description p::after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    font-size: 0;
    line-height: 0;
}

.more-cases-btn {
    display: inline-flex;
    align-items: center;
    padding: 0;
    background: transparent;
    color: white;
    text-decoration: none;
    border: none;
    font-weight: 600;
    font-size: clamp(14px, 0.75vw, 29px);
    transition: all 0.3s ease;
    gap: 20px; /* 横线和文字之间的间距 */
    align-self: flex-end;
    position: relative;
    font-family: 'SweiSpringSugar', 'PingFang SC', 'Microsoft YaHei', sans-serif; /* 使用自定义字体 */
}

/* 左侧横线 - 初始白色 */
.more-cases-btn::before {
    content: '';
    width: 60px; /* 横线长度 */
    height: 2px;
    background: white; /* 白色横线 */
    transition: all 0.3s ease;
}

.more-cases-btn:hover {
    color: rgba(255, 255, 255, 0.8);
}

.more-cases-btn:hover::before {
    width: 80px; /* 悬浮时横线变长 */
}

@media (max-width: 1024px) {
    .services-overlay {
        padding-left: 15px;
    }
}

/* 右侧图片 */
.services-right-image {
    position: absolute;
    top: 20%; /* 上方2/5处 */
    left: 70%; /* 在右侧60%区域内居中（40% + 60%/2 = 70%） */
    transform: translateX(-50%);
    z-index: 15; /* 在蒙版之上 */
    width: 40%;
    max-width: 500px;
}

.services-right-image img {
    width: 100%;
    height: auto;
    display: block;
}

/* 案例展示区域 - 第四屏 */
.cases-showcase-section {
    position: relative;
    width: 100%;
    height: 100vh;
    background: #ffffff;
    --screen4-purple: #7028aa;
    display: flex;
    align-items: center;
    justify-content: center;
    scroll-snap-align: start;
    overflow: hidden;
}

.cases-container {
    max-width: none;
    width: var(--homepage-nav-width, min(100%, 1200px));
    padding: 0;
    margin: 0 auto;
    display: block;
    height: 100%;
    position: relative;
}

/* 顶部图片区域 */
.cases-showcase-section .cases-header {
    position: absolute;
    top: 130px;
    left: 0;
    width: 100%;
    height: 120px;
    margin: 0;
    z-index: 3;
}

.cases-showcase-section .header-left {
    position: absolute;
    left: 0;
    top: 0;
    width: 190px;
    height: 78px;
}

.cases-showcase-section .cases-title-image {
    width: 190px;
    height: auto;
    display: block;
}

.cases-showcase-section .header-right {
    position: absolute;
    right: 0;
    top: 8px;
    width: 20px;
    height: 146px;
}

.cases-showcase-section .header-left img,
.cases-showcase-section .header-right img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.cases-main-title {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.cases-sub-title {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

/* 案例网格 */
.cases-showcase-section .cases-grid {
    position: absolute;
    left: 0;
    right: 0;
    top: 295px;
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    grid-template-rows: repeat(2, 430px) !important;
    gap: 30px !important;
    min-height: 0;
    margin: 0;
    z-index: 2;
}

.cases-showcase-section .cases-grid > * {
    min-width: 0;
}

/* 案例卡片 - 严格限定在最新动态第四屏作用域内 */
.cases-showcase-section .case-card-wrapper {
    position: relative;
    display: block;
    width: var(--case-w);
    height: var(--case-h);
    justify-self: var(--case-justify, center);
    align-self: start;
    transform: translateY(var(--case-y, 0)) scale(var(--case-scale, 1));
    transform-origin: center center;
    transition: transform 0.3s ease;
    cursor: pointer;
    z-index: 2;
}

.cases-showcase-section .card-visual-container {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.35s ease, filter 0.35s ease;
}

.cases-showcase-section .case-card {
    position: relative;
    background: transparent;
    border-radius: 0;
    overflow: visible;
    cursor: pointer;
    transition: filter 0.3s ease;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.cases-showcase-section .cases-grid > *:nth-child(1) {
    --case-w: 182px;
    --case-h: 226px;
    --case-y: 0px;
    --case-justify: start;
}

.cases-showcase-section .cases-grid > *:nth-child(2) {
    --case-w: 226px;
    --case-h: 182px;
    --case-y: 15px;
    --case-justify: center;
}

.cases-showcase-section .cases-grid > *:nth-child(3) {
    --case-w: 182px;
    --case-h: 226px;
    --case-y: -20px;
    --case-justify: center;
}

.cases-showcase-section .cases-grid > *:nth-child(4) {
    --case-w: 200px;
    --case-h: 256px;
    --case-y: 20px;
    --case-justify: end;
}

.cases-showcase-section .cases-grid > *:nth-child(5) {
    --case-w: 226px;
    --case-h: 182px;
    --case-y: 0px;
    --case-justify: start;
}

.cases-showcase-section .cases-grid > *:nth-child(6) {
    --case-w: 182px;
    --case-h: 226px;
    --case-y: -30px;
    --case-justify: center;
}

.cases-showcase-section .cases-grid > *:nth-child(7) {
    --case-w: 300px;
    --case-h: 190px;
    --case-y: -10px;
    --case-scale: 1.15;
    --case-justify: center;
    cursor: default;
    pointer-events: none;
}

.cases-showcase-section .cases-grid > *:nth-child(8) {
    --case-w: 206px;
    --case-h: 206px;
    --case-y: 10px;
    --case-justify: end;
}

.cases-showcase-section .cases-grid > *:nth-child(6) .card-visual-container::before {
    content: '';
    position: absolute;
    left: -12px;
    top: -18px;
    width: 100%;
    height: 100%;
    border: 2px solid var(--screen4-purple);
    z-index: 0;
    pointer-events: none;
}

/* 提升悬浮层级 */
.cases-showcase-section .case-card-wrapper:hover {
    z-index: 10;
    transform: translateY(var(--case-y, 0)) scale(var(--case-scale, 1));
}

.cases-showcase-section .case-card-wrapper:hover .card-visual-container {
    transform: translateY(-4px) scale(1.03);
    filter: drop-shadow(0 16px 24px rgba(112, 40, 170, 0.12));
}

.cases-showcase-section .decoration-wrapper:hover .card-visual-container {
    transform: none;
    filter: none;
}

/* 装饰卡片完全不要悬浮效果 */
.cases-showcase-section .case-card.decoration {
    cursor: default !important;
    pointer-events: none !important; /* 完全不响应鼠标事件 */
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    padding: 0;
    transform: none !important; /* 强制不应用任何transform */
    transition: none !important; /* 移除过渡效果 */
    box-shadow: none !important;
    opacity: 1;
}

.cases-showcase-section .case-card.decoration img {
    pointer-events: none !important; /* 图片也不响应鼠标事件 */
    object-fit: contain;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    transform: none !important; /* 图片也不应用transform */
}

/* 案例卡片图片 - 悬浮时放大 */
.cases-showcase-section .case-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: none;
    transition: none;
}

.cases-showcase-section .case-card-wrapper:hover .case-card img {
    transform: none;
}

.cases-showcase-section .case-card-wrapper--composed-fallback .case-card img {
    object-fit: contain;
}

/* 案例编号 - 宋体大数字，配合非对称美感 */
.cases-showcase-section .case-number {
    position: absolute;
    top: -56px;
    left: -18px;
    z-index: 3;
    color: var(--screen4-purple);
    font-size: 84px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    font-family: 'Songti SC', 'STSong', 'SimSun', serif;
    font-style: italic;
    pointer-events: none;
    user-select: none;
}

/* 案例标题 */
.cases-showcase-section .case-title {
    display: none; /* 首页不显示 case-title 容器 */
}

/* 案例交错描述 */
.cases-showcase-section .case-desc {
    position: absolute;
    left: 50%;
    width: 320px;
    color: #9a9a9a;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transform: translateX(-50%);
    transition: color 0.3s ease;
}

.cases-showcase-section .case-card-wrapper--composed-fallback .case-number,
.cases-showcase-section .case-card-wrapper--composed-fallback .case-desc {
    display: none;
}

.cases-showcase-section .cases-grid > *:nth-child(1) .case-desc,
.cases-showcase-section .cases-grid > *:nth-child(3) .case-desc,
.cases-showcase-section .cases-grid > *:nth-child(5) .case-desc,
.cases-showcase-section .cases-grid > *:nth-child(6) .case-desc {
    top: 100%;
    margin-top: 15px;
}

.cases-showcase-section .cases-grid > *:nth-child(2) .case-desc,
.cases-showcase-section .cases-grid > *:nth-child(4) .case-desc,
.cases-showcase-section .cases-grid > *:nth-child(8) .case-desc {
    bottom: 100%;
    margin-bottom: 15px;
}

.cases-showcase-section .case-card-wrapper:hover .case-desc {
    color: var(--screen4-purple);
}

/* 翻页导航 */
.cases-pagination {
    display: none !important; /* 隐藏翻页导航 */
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 20px; /* 减小顶部间距 */
    padding: 15px 0; /* 减小内边距 */
    background: rgba(139, 92, 246, 0.1);
    border-radius: 10px;
}

.pagination-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid #8B5CF6;
    background: transparent;
    color: #8B5CF6;
    font-size: 24px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pagination-btn:hover {
    background: #8B5CF6;
    color: white;
}

.pagination-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.pagination-dots {
    display: flex;
    gap: 10px;
}

.pagination-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ddd;
    cursor: pointer;
    transition: all 0.3s ease;
}

.pagination-dot.active {
    background: #8B5CF6;
    width: 30px;
    border-radius: 5px;
}

@media (min-width: 1921px) {
    .cases-showcase-section .header-left img,
    .cases-showcase-section .header-right img {
        max-height: none;
        max-width: none;
    }
}

/* 响应式设计 */
@media (max-width: 1024px) {
    .cases-showcase-section .cases-container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .cases-showcase-section .cases-grid {
        position: relative;
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 26px 20px !important;
        padding-top: 170px;
    }

    .cases-showcase-section .case-card-wrapper {
        position: relative;
        left: auto !important;
        top: auto !important;
        width: 100%;
        --case-w: auto;
        --case-h: 240px;
    }

    .cases-showcase-section .cases-grid > *:nth-child(7) {
        display: none;
    }

    .cases-showcase-section .case-desc {
        position: static !important;
        width: 100% !important;
        margin-top: 10px !important;
        transform: none !important;
        text-align: center !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 768px) {
    .cases-showcase-section .cases-container {
        padding-left: 10px;
        padding-right: 10px;
    }

    .cases-showcase-section .cases-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    
    .cases-showcase-section .cases-header {
        flex-direction: column;
        gap: 20px;
        margin-bottom: 30px;
    }
}

/* 案例展示区域 */
.cases-section {
    padding: 0; /* 移除padding，使用flexbox居中 */
    background: white;
    height: 100vh; /* 设置为全屏高度 */
    display: flex;
    align-items: center;
    justify-content: center;
    scroll-snap-align: start; /* 滚动吸附 */
}

/* 合作伙伴区域 */
.partners-section {
    padding: 0; /* 移除padding，使用flexbox居中 */
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    text-align: center;
    height: 100vh; /* 设置为全屏高度 */
    display: flex;
    align-items: center;
    justify-content: center;
    scroll-snap-align: start; /* 滚动吸附 */
}

/* 合作伙伴/联系我们区域 - 第五屏 */
.partners-contact-section {
    position: relative;
    width: 100%;
    height: 100vh;
    background: #ffffff;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
}

/* 上半部分 - 合作伙伴展示 */
.partners-showcase {
    flex: 1;
    background: #ffffff;
    padding: 110px 0 40px 0;
    overflow: hidden;
    position: relative;
}

/* 标题和按钮容器 */
.partners-header {
    max-width: none;
    width: var(--homepage-nav-width, min(100%, 1200px));
    margin: 0 auto 30px auto;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* 标题文字 */
.partners-title-img {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}

.partners-main-title {
    font-size: clamp(26px, 1.5vw, 68px);
    font-weight: bold;
    color: #7028aa;
    line-height: 1.2;
    margin: 0;
    font-family: 'Swei Spring CJK SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
    margin-top: 60px;
}

.partners-sub-title {
    font-size: clamp(14px, 0.95vw, 37px);
    color: #7028aa;
    margin: 0;
    font-weight: 100;
    letter-spacing: 2px;
    font-family: 'RobotoEnglish', 'SourceHanSans', sans-serif;
}

@media (max-width: 1024px) {
    .partners-header {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 768px) {
    .partners-header {
        padding-left: 10px;
        padding-right: 10px;
    }
}

/* 咨询按钮容器 */
.consultation-button-wrapper {
    margin: 0;
    padding: 0;
}

/* 咨询按钮 */
.consultation-button {
    display: inline-block;
    padding: 15px 40px;
    background: #7028aa; /* 初始颜色 */
    color: white;
    text-decoration: none;
    border-radius: 50px; /* 全圆角 */
    font-size: 1.1rem;
    font-weight: 600;
    font-family: 'SweiSpringSugar', 'PingFang SC', 'Microsoft YaHei', sans-serif;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(112, 40, 170, 0.3);
    white-space: nowrap;
    margin-top: 60px;
}

.consultation-button:hover {
    background: #8B5CF6; /* 悬浮时颜色 */
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(139, 92, 246, 0.4);
}

/* Logo网格容器 - 5x3布局 */
.partners-grid-container {
    width: 100%;
    max-width: 1320px; /* 与导航栏对齐 */
    margin: 40px auto;
    position: relative;
    padding: 0; /* 去掉padding */
    box-sizing: border-box;
}

.partners-grid-wrapper {
    width: 100%;
    overflow: hidden;
    height: 27vh; /* 保持原高度 */
    position: relative;
    border: none; /* 去掉红色边框 */
    padding: 20px 0; /* 只保留上下padding */
    box-sizing: border-box;
    background: white;
}

.partners-grid-inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px 30px; /* 垂直间距10px，水平间距30px */
    width: 100%;
}

.partner-grid-item {
    width: 100%;
    height: 60px; /* 缩小高度以容纳5行 */
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
    border-radius: 8px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden;
}

.partner-grid-item:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(112, 40, 170, 0.2);
    border-color: #7028aa;
}

.partner-grid-item img {
    max-width: 50%; /* 缩小到50% */
    max-height: 50%; /* 缩小到50% */
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

/* 右下角文字 - 在红色边框外面的右下角 */
.partners-note {
    position: absolute;
    bottom: -166px;
    right: 50px;
    display: flex;
    align-items: flex-end;
    gap: 8px;
    font-size: 14px;
    color: #7028aa;
}

.note-text {
    font-weight: normal;
    color: #7028aa;
    line-height: 1.5;
    transform: translateY(-16px); /* 向上移动圆点的高度 */
}

.note-divider-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
}

.note-divider {
    width: 1px;
    height: 120px;
    background-color: #7028aa;
    display: block;
}

.note-dot {
    font-size: 16px;
    color: #7028aa;
    line-height: 1;
    display: block;
    margin-top: -2px;
    text-align: center;
    transform: translateX(5px); /* 向右移动5px */
}

/* 联系我们区域 */
.contact-section {
    padding: 0; /* 移除padding，使用flexbox居中 */
    background: #333;
    color: white;
    text-align: center;
    height: 100vh; /* 设置为全屏高度 */
    display: flex;
    align-items: center;
    justify-content: center;
    scroll-snap-align: start; /* 滚动吸附 */
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.row {
    display: flex;
    align-items: center;
    gap: 60px;
}

.col-left, .col-right {
    flex: 1;
}

.section-subtitle {
    font-size: 1.2rem;
    color: #8B5CF6;
    margin-bottom: 20px;
    line-height: 1.4;
}

.section-title {
    font-size: 2.5rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 30px;
    line-height: 1.2;
}

.cta-button {
    display: inline-flex;
    align-items: center;
    padding: 15px 30px;
    background: #8B5CF6;
    color: white;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 500;
    transition: all 0.3s ease;
    gap: 10px;
}

.cta-button:hover {
    background: #7C3AED;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(139, 92, 246, 0.3);
}

.cta-button.white {
    background: white;
    color: #333;
}

.cta-button.white:hover {
    background: #f8f9fa;
    color: #8B5CF6;
}

.button-icon img {
    width: 16px;
    height: 16px;
}

.about-content {
    position: relative;
}

.about-content p {
    font-size: 1rem;
    line-height: 1.8;
    color: #666;
    margin-bottom: 20px;
}

.about-watermark {
    position: absolute;
    bottom: -20px;
    right: 0;
    font-size: 6rem;
    font-weight: bold;
    color: rgba(139, 92, 246, 0.1);
    z-index: 1;
}

/* 服务项目区域 */
.services-section {
    padding: 100px 0;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

.services-background {
    position: relative;
}

.services-description p {
    font-size: clamp(12.48px, 0.6771vw, 26px);
    line-height: 1.8;
    margin-bottom: 0;
    opacity: 0.9;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

.service-item {
    text-align: center;
    padding: 30px 20px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 15px;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.service-item:hover {
    transform: translateY(-10px);
    background: rgba(255, 255, 255, 0.2);
}

.service-icon {
    margin-bottom: 20px;
}

.service-icon img {
    width: 60px;
    height: 60px;
}

.service-title {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 10px;
}

.service-subtitle {
    font-size: 0.9rem;
    opacity: 0.8;
}

/* 案例展示区域 */
.cases-section {
    padding: 100px 0;
    background: white;
}

.section-header {
    text-align: center;
    margin-bottom: 60px;
    position: relative;
}

.section-watermark {
    font-size: 8rem;
    font-weight: bold;
    color: rgba(139, 92, 246, 0.05);
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.cases-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-bottom: 60px;
}

.case-item {
    background: white;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

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

.case-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.case-image {
    position: relative;
    overflow: hidden;
    height: 200px;
}

.case-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.case-item:hover .case-image img {
    transform: scale(1.1);
}

.case-content {
    padding: 25px;
}

.case-title {
    font-size: 1.2rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 10px;
}

.case-category {
    font-size: 0.9rem;
    color: #8B5CF6;
    font-weight: 500;
}

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

.more-button {
    display: inline-flex;
    align-items: center;
    padding: 15px 40px;
    background: transparent;
    color: #8B5CF6;
    text-decoration: none;
    border: 2px solid #8B5CF6;
    border-radius: 50px;
    font-weight: 500;
    transition: all 0.3s ease;
    gap: 10px;
}

.more-button:hover {
    background: #8B5CF6;
    color: white;
    transform: translateY(-2px);
}

/* 合作伙伴区域 */
.partners-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    text-align: center;
}

.partners-title {
    font-size: 2.5rem;
    font-weight: bold;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

/* 合作流程区域 */
.process-section {
    padding: 100px 0;
    background: #f8f9fa;
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.process-item {
    text-align: center;
    padding: 40px 20px;
    background: white;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.process-item:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.process-number {
    font-size: 3rem;
    font-weight: bold;
    color: #8B5CF6;
    margin-bottom: 20px;
}

.process-title {
    font-size: 1.5rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 15px;
}

.process-description {
    font-size: 1rem;
    color: #666;
    line-height: 1.6;
}

/* 客户展示区域 */
.clients-section {
    padding: 100px 0;
    background: white;
}

.clients-subtitle {
    text-align: center;
    font-size: 1.2rem;
    color: #666;
    margin-bottom: 50px;
}

.clients-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
}

.client-item {
    text-align: center;
    padding: 30px 20px;
    background: #f8f9fa;
    border-radius: 15px;
    transition: all 0.3s ease;
}

.client-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.client-item img {
    width: 80px;
    height: 80px;
    object-fit: contain;
    margin-bottom: 15px;
}

.client-item h3 {
    font-size: 1rem;
    color: #333;
    font-weight: 500;
}

/* 核心竞争力区域 */
.competitiveness-section {
    padding: 100px 0;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

.competitiveness-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
    margin-top: 60px;
}

.competitiveness-item {
    text-align: center;
    padding: 40px 30px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 15px;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.competitiveness-item:hover {
    transform: translateY(-10px);
    background: rgba(255, 255, 255, 0.2);
}

.competitiveness-icon {
    margin-bottom: 25px;
}

.competitiveness-icon img {
    width: 80px;
    height: 80px;
}

.competitiveness-title {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 20px;
}

.competitiveness-description {
    font-size: 1rem;
    line-height: 1.8;
    opacity: 0.9;
}

/* 联系我们区域 */
.contact-section {
    padding: 100px 0;
    background: #333;
    color: white;
    text-align: center;
}

.contact-title {
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 20px;
}

.contact-description {
    font-size: 1.2rem;
    margin-bottom: 40px;
    opacity: 0.9;
}

.contact-info {
    display: flex;
    justify-content: center;
    gap: 60px;
}

/* ===== 桌面端 1920 x 1080 固定设计画布 ===== */
:root {
    --desktop-canvas-scale: 1;
    --desktop-canvas-x: calc((100vw - 1920px * var(--desktop-canvas-scale)) / 2);
    --desktop-canvas-y: calc((100vh - 1080px * var(--desktop-canvas-scale)) / 2);
    --desktop-canvas-zoom-x: calc(var(--desktop-canvas-x) / var(--desktop-canvas-scale));
    --desktop-canvas-zoom-y: calc(var(--desktop-canvas-y) / var(--desktop-canvas-scale));
}

@media (min-width: 769px) {
    html:has(.desktop-homepage-shell),
    body:has(.desktop-homepage-shell),
    html:has(.desktop-page-shell),
    body:has(.desktop-page-shell) {
        overflow: hidden;
    }

    .desktop-homepage-shell,
    .desktop-page-shell {
        position: fixed;
        inset: 0;
        overflow: hidden;
        background: #fff;
    }

    .desktop-homepage-shell::before,
    .desktop-homepage-shell::after,
    .desktop-page-shell:has(.contact-page)::before,
    .desktop-page-shell:has(.contact-page)::after {
        content: '';
        position: absolute;
        pointer-events: none;
        z-index: 0;
    }

    .desktop-homepage-shell::before,
    .desktop-homepage-shell::after {
        content: none;
    }

    .desktop-homepage-shell[data-screen="0"]::before {
        content: '';
        inset: 0;
        background: #fff url('/images/newimgs/index/one/hero-purple-wash.png') center center / auto calc(1080px * var(--desktop-canvas-scale)) no-repeat;
    }

    .desktop-homepage-shell[data-screen="0"] .carousel-main-image.optimized-image {
        opacity: 0;
    }

    .desktop-homepage-shell .desktop-design-canvas,
    .desktop-homepage-shell .homepage-redesign,
    .desktop-homepage-shell .desktop-screen-track > .carousel-section,
    .desktop-homepage-shell .carousel-container,
    .desktop-homepage-shell .carousel-wrapper,
    .desktop-homepage-shell .carousel-slide {
        background: transparent;
        overflow: visible;
    }

    .desktop-design-canvas {
        position: absolute;
        top: var(--desktop-canvas-y);
        left: var(--desktop-canvas-x);
        width: 1920px;
        height: 1080px;
        margin: 0;
        transform-origin: top left;
        transform: scale(var(--desktop-canvas-scale));
        overflow: hidden;
        background: #fff;
        z-index: 1;
    }

    .desktop-canvas-safari .desktop-design-canvas {
        /* Safari 缩小时不用 zoom，避免绝对定位元素错位叠压。 */
        top: var(--desktop-canvas-y);
        left: var(--desktop-canvas-x);
        transform: scale(var(--desktop-canvas-scale));
        zoom: 1;
        will-change: transform;
    }

    .desktop-canvas-safari.desktop-canvas-zoom .desktop-design-canvas {
        /* Safari 放大时用 zoom 重新栅格化，避免 transform 放大导致文字和图片发虚。 */
        top: var(--desktop-canvas-zoom-y);
        left: var(--desktop-canvas-zoom-x);
        transform: none;
        zoom: var(--desktop-canvas-scale);
        will-change: auto;
    }

    .desktop-homepage-shell .homepage-redesign,
    .desktop-page-shell .desktop-page-content {
        position: relative;
        width: 1920px;
        height: 1080px;
        min-height: 0;
        overflow: hidden;
        --homepage-nav-width: 1200px;
    }

    .desktop-page-shell .desktop-scroll-page {
        overflow-x: hidden;
        overflow-y: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .desktop-page-shell .desktop-scroll-page::-webkit-scrollbar {
        width: 0;
        height: 0;
    }

    .desktop-screen-track {
        position: absolute;
        inset: 0;
        width: 1920px;
        height: 5400px;
        transform: translate3d(0, var(--desktop-track-y, 0), 0);
        transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
        will-change: transform;
    }

    .desktop-screen-track > section {
        position: relative;
        width: 1920px;
        height: 1080px !important;
        min-height: 1080px;
        overflow: hidden;
    }

    .desktop-design-canvas .screen-navigator {
        position: fixed;
        right: 120px;
        top: 540px;
        transform: translateY(-50%);
    }

    .desktop-design-canvas .floating-nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 1920px;
    }

    .desktop-canvas-safari .desktop-design-canvas .floating-nav {
        top: 0;
        left: 0;
    }

    .desktop-canvas-safari.desktop-canvas-zoom .desktop-design-canvas .floating-nav {
        top: var(--desktop-canvas-zoom-y);
        left: var(--desktop-canvas-zoom-x);
    }

    .desktop-design-canvas .nav-container {
        width: 1200px;
        max-width: none;
        height: 70px;
        padding: 0;
    }

    .desktop-design-canvas .nav-logo {
        width: 120px;
    }

    .desktop-design-canvas .nav-logo img {
        margin-top: 10px !important;
    }

    .desktop-design-canvas .nav-menu {
        gap: 125px;
    }

    .desktop-design-canvas .nav-link {
        font-size: 18px;
    }

    .desktop-design-canvas .nav-submenu {
        min-width: 200px;
        padding: 10px 0;
    }

    .desktop-design-canvas .nav-submenu a {
        padding: 5px 20px;
        font-size: 13px;
    }

    .desktop-page-shell .brand-visual-page,
    .desktop-page-shell .conference-page,
    .desktop-page-shell .news-page,
    .desktop-page-shell .contact-page,
    .desktop-page-shell .ppt-design-page,
    .desktop-page-shell .brand-visual-identity-page,
    .desktop-page-shell .brand-space-design-page,
    .desktop-page-shell .brand-image-design-page,
    .desktop-page-shell .brand-packaging-design-page {
        width: 1920px;
        max-width: none;
        height: 1080px;
        min-height: 1080px;
        box-sizing: border-box;
    }

    .desktop-page-shell .brand-visual-page .title-container,
    .desktop-page-shell .brand-visual-page .category-container,
    .desktop-page-shell .brand-visual-page .cases-container,
    .desktop-page-shell .conference-page .title-container,
    .desktop-page-shell .conference-page .category-container,
    .desktop-page-shell .conference-page .cases-container,
    .desktop-page-shell .news-page .title-container,
    .desktop-page-shell .news-page .news-container,
    .desktop-page-shell .ppt-design-page .title-container,
    .desktop-page-shell .ppt-design-page .cases-container,
    .desktop-page-shell .brand-visual-identity-page .content-container,
    .desktop-page-shell .brand-space-design-page .content-container,
    .desktop-page-shell .brand-image-design-page .content-container,
    .desktop-page-shell .brand-packaging-design-page .content-container {
        width: 1200px;
        max-width: none;
        margin-left: auto;
        margin-right: auto;
    }

    .desktop-page-shell .desktop-scroll-page .cases-section,
    .desktop-page-shell .desktop-scroll-page .news-list-section {
        flex: 0 0 auto;
        min-height: 0;
    }

    .desktop-page-shell .contact-info-section {
        width: 1920px;
        padding: 22px 0 32px;
        flex-shrink: 0;
    }

    .desktop-page-shell:has(.contact-page)::before {
        left: 50%;
        top: calc(50% - (25.5px * var(--desktop-canvas-scale)));
        width: 2062px;
        height: 789px;
        margin-left: -1031px;
        margin-top: -394.5px;
        transform: scale(var(--desktop-canvas-scale));
        transform-origin: center center;
        background: #fff url('/images/newimgs/contact/background.png') center center / 100% 100% no-repeat;
    }

    .desktop-page-shell:has(.contact-page)::after {
        content: none;
    }

    .desktop-page-shell:has(.contact-page) .desktop-design-canvas,
    .desktop-page-shell .contact-page {
        background: transparent;
        overflow: visible;
    }

    .desktop-page-shell .contact-page .contact-main-section,
    .desktop-page-shell .contact-page .contact-info-section,
    .desktop-page-shell .contact-page .contact-content {
        background: transparent;
    }

    .desktop-design-canvas .contact-content {
        width: 1761px;
        max-width: none;
    }

    .desktop-page-shell .contact-page {
        --contact-floating-logo-width: 422.4px;
        --contact-floating-logo-right: -380px;
        --contact-floating-logo-bottom: -180px;
        --contact-bg-y: calc(100% + 120px);
    }

    .desktop-page-shell .contact-page .contact-main-section {
        padding: 80px 0 40px;
    }

    .desktop-page-shell .contact-page .contact-main-container {
        width: 1200px;
        max-width: none;
        border-radius: 24.65px;
    }

    .desktop-page-shell .contact-page .page-title {
        font-size: 33.6px;
        margin-bottom: 8.6px;
    }

    .desktop-page-shell .contact-page .page-subtitle {
        font-size: 16.4px;
    }

    .desktop-page-shell .contact-page .info-section {
        gap: 42px;
    }

    .desktop-page-shell .contact-page .card-icon {
        height: 33px;
        margin-bottom: 8px;
    }

    .desktop-page-shell .contact-page .card-icon img {
        width: 33px;
        height: 33px;
    }

    .desktop-page-shell .contact-page .card-divider {
        margin-bottom: 12px;
    }

    .desktop-page-shell .contact-page .card-content {
        gap: 6px;
    }

    .desktop-page-shell .contact-page .card-text,
    .desktop-page-shell .contact-page .qrcode-text {
        font-size: 13px;
    }

    .desktop-page-shell .contact-page .qrcode-large {
        width: 150px;
        height: 150px;
        border-radius: 8px;
        margin-bottom: 10px;
    }

    .desktop-page-shell .brand-visual-identity-page .content-section,
    .desktop-page-shell .brand-space-design-page .content-section,
    .desktop-page-shell .brand-image-design-page .content-section,
    .desktop-page-shell .brand-packaging-design-page .content-section,
    .desktop-page-shell .ppt-design-page .cases-display-section {
        height: 1080px;
        min-height: 0;
    }

    .desktop-page-shell .brand-visual-identity-page .case-image {
        max-height: 648px;
    }

    .desktop-page-shell .brand-space-design-page .content-container {
        max-height: 756px;
    }

    .desktop-page-shell .brand-space-design-page .images-area,
    .desktop-page-shell .brand-space-design-page .right-area {
        height: 702px;
    }

    .desktop-page-shell .brand-space-design-page .case-image-small {
        max-height: 324px;
    }

    .desktop-page-shell .brand-image-design-page .case-image {
        max-height: 540px;
    }

    .desktop-page-shell .brand-packaging-design-page .case-image {
        max-height: 594px;
    }

    .desktop-page-shell .ppt-design-page .case-large .case-image {
        max-height: 378px;
    }

    .desktop-page-shell .ppt-design-page .case-small .case-image {
        max-height: 270px;
    }

    .carousel-section,
    .brand-design-section,
    .services-section,
    .cases-showcase-section,
    .partners-contact-section {
        width: 1920px;
        height: 1080px !important;
    }

    .carousel-main-image.optimized-image {
        position: absolute;
        top: 50%;
        left: 50%;
        width: auto;
        min-width: 100%;
        max-width: none;
        height: 100%;
        transform: translate(-50%, -50%);
        object-fit: contain;
        object-position: center center;
    }

    .hero-main-layout {
        top: 388px !important;
        left: 360px !important;
        width: 1286px;
        gap: 77px;
        transform: translateY(-50%) !important;
    }

    .logo-floating {
        width: 614px;
        max-height: 583px;
    }

    .bottom-stats-section {
        height: 324px;
        border-radius: 29px 29px 0 0;
    }

    .bottom-slogan {
        width: 1200px;
    }

    .brand-design-section {
        --brand-stage-width: 1800px;
        --brand-stage-left: 60px;
        --brand-text-left: 360px;
        --brand-text-width: 240px;
        --brand-text-offset-y: -48px;
        --panel-w: 1152px;
        --panel-h: 1402px;
        --slot: 403px;
        --gap: 211px;
        --tab: 115px;
    }

    .brand-title,
    .services-main-title,
    .cases-main-title {
        font-size: 34px;
    }

    .brand-subtitle,
    .services-sub-title,
    .cases-sub-title {
        font-size: 18px;
    }

    .brand-subtitle {
        margin-bottom: 22px;
    }

    .brand-description {
        margin-bottom: 124px;
    }

    .brand-description p,
    .brand-description p:first-child,
    .services-description p {
        font-size: 13px;
    }

    .more-cases-button,
    .more-cases-btn {
        font-size: 14px;
        gap: 20px;
    }

    .more-cases-button::before,
    .more-cases-btn::before {
        width: 60px;
    }

    .more-cases-button:hover::before,
    .more-cases-btn:hover::before {
        width: 80px;
    }

    .desktop-screen-track > .services-section {
        padding: 0;
        background: transparent;
    }

    .services-overlay {
        width: 768px;
        padding: 60px 60px 60px 360px;
    }

    .cases-showcase-section {
        --screen4-purple: #7028aa;
    }

    .cases-container {
        width: var(--homepage-nav-width, 1200px);
        height: 100%;
        padding: 0;
    }

    .cases-showcase-section .header-left img,
    .cases-showcase-section .header-right img {
        max-height: none;
        max-width: none;
    }

    .partners-showcase {
        padding: 110px 0 40px;
    }

    .partners-header {
        width: 1200px;
        padding: 0;
    }

    .partners-main-title {
        font-size: 29px;
    }

    .partners-sub-title {
        font-size: 18px;
    }

    .partners-grid-wrapper {
        height: 292px;
    }

    .partners-contact-section .contact-info-section {
        padding: 22px 0 32px;
    }

    .partners-contact-section .contact-content {
        width: 1751px;
    }
}

@media (min-width: 769px) and (max-aspect-ratio: 17/9) {
    .desktop-page-shell:has(.contact-page)::before,
    .desktop-page-shell:has(.contact-page)::after {
        content: none;
    }

    .desktop-page-shell:has(.contact-page) .desktop-design-canvas,
    .desktop-page-shell .contact-page {
        background: #fff;
    }

    .desktop-page-shell .contact-page .contact-main-section {
        background: #fff url('/images/newimgs/contact/background.png') center var(--contact-bg-y) / cover no-repeat;
    }

    .desktop-page-shell .contact-page .contact-info-section {
        background: #fff;
    }
}
