.elementor-kit-6{--e-global-color-primary:#D75F28;--e-global-color-secondary:#F5F7FA;--e-global-color-text:#1A1A1A;--e-global-color-accent:#284ED7;--e-global-color-cd473b6:#E0E6ED;--e-global-color-ca7465e:#4A5568;--e-global-color-d74e3eb:#FFFFFF;--e-global-color-d40c762:#4A55689C;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-1f847b7-font-family:"source-han-sans-simplified-c";--e-global-typography-1f847b7-font-size:clamp(2rem, 5vw + 1rem, 3rem);--e-global-typography-1f847b7-font-weight:700;--e-global-typography-0060958-font-family:"source-han-sans-simplified-c";--e-global-typography-0060958-font-size:clamp(1.75rem, 4vw + 1rem, 2.5rem);--e-global-typography-0060958-font-weight:700;--e-global-typography-59ce8cf-font-family:"source-han-sans-simplified-c";--e-global-typography-59ce8cf-font-size:clamp(1.5rem, 3vw + 1rem, 2rem);--e-global-typography-59ce8cf-font-weight:700;--e-global-typography-7f8b9de-font-family:"source-han-sans-simplified-c";--e-global-typography-7f8b9de-font-size:clamp(1.25rem, 2vw + 1rem, 1.5rem);--e-global-typography-7f8b9de-font-weight:700;--e-global-typography-06dd364-font-family:"source-han-sans-simplified-c";--e-global-typography-06dd364-font-size:clamp(1.125rem, 1vw + 1rem, 1.25rem);--e-global-typography-06dd364-font-weight:700;--e-global-typography-7b4dc5e-font-family:"source-han-sans-simplified-c";--e-global-typography-7b4dc5e-font-size:clamp(1rem, 0.5vw + 1rem, 1.125rem);--e-global-typography-7b4dc5e-font-weight:600;--e-global-typography-bc61536-font-family:"source-han-serif-sc";--e-global-typography-bc61536-font-size:14px;--e-global-typography-bc61536-font-weight:500;--e-global-typography-f25cbd9-font-family:"source-han-serif-sc";--e-global-typography-f25cbd9-font-size:clamp(1rem, 0.2vw + 1rem, 1.06rem)；;--e-global-typography-f25cbd9-font-weight:400;--e-global-typography-f25cbd9-line-height:1.25lh;--e-global-typography-988fedc-font-family:"source-han-serif-sc";--e-global-typography-988fedc-font-size:clamp(0.8125rem, 0.1vw + 0.8rem, 0.875rem);}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 h1{font-family:var( --e-global-typography-1f847b7-font-family ), Sans-serif;font-size:var( --e-global-typography-1f847b7-font-size );font-weight:var( --e-global-typography-1f847b7-font-weight );}.elementor-kit-6 h2{font-family:var( --e-global-typography-0060958-font-family ), Sans-serif;font-size:var( --e-global-typography-0060958-font-size );font-weight:var( --e-global-typography-0060958-font-weight );}.elementor-kit-6 h3{font-family:var( --e-global-typography-59ce8cf-font-family ), Sans-serif;font-size:var( --e-global-typography-59ce8cf-font-size );font-weight:var( --e-global-typography-59ce8cf-font-weight );}.elementor-kit-6 h4{font-family:var( --e-global-typography-7f8b9de-font-family ), Sans-serif;font-size:var( --e-global-typography-7f8b9de-font-size );font-weight:var( --e-global-typography-7f8b9de-font-weight );}.elementor-kit-6 h5{font-family:var( --e-global-typography-06dd364-font-family ), Sans-serif;font-size:var( --e-global-typography-06dd364-font-size );font-weight:var( --e-global-typography-06dd364-font-weight );}.elementor-kit-6 h6{font-family:var( --e-global-typography-7b4dc5e-font-family ), Sans-serif;font-size:var( --e-global-typography-7b4dc5e-font-size );font-weight:var( --e-global-typography-7b4dc5e-font-weight );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-family:var( --e-global-typography-f25cbd9-font-family ), Sans-serif;font-size:var( --e-global-typography-f25cbd9-font-size );font-weight:var( --e-global-typography-f25cbd9-font-weight );line-height:var( --e-global-typography-f25cbd9-line-height );border-radius:8px 8px 8px 8px;padding:15px 30px 15px 30px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6 h1{font-size:var( --e-global-typography-1f847b7-font-size );}.elementor-kit-6 h2{font-size:var( --e-global-typography-0060958-font-size );}.elementor-kit-6 h3{font-size:var( --e-global-typography-59ce8cf-font-size );}.elementor-kit-6 h4{font-size:var( --e-global-typography-7f8b9de-font-size );}.elementor-kit-6 h5{font-size:var( --e-global-typography-06dd364-font-size );}.elementor-kit-6 h6{font-size:var( --e-global-typography-7b4dc5e-font-size );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-f25cbd9-font-size );line-height:var( --e-global-typography-f25cbd9-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6 h1{font-size:var( --e-global-typography-1f847b7-font-size );}.elementor-kit-6 h2{font-size:var( --e-global-typography-0060958-font-size );}.elementor-kit-6 h3{font-size:var( --e-global-typography-59ce8cf-font-size );}.elementor-kit-6 h4{font-size:var( --e-global-typography-7f8b9de-font-size );}.elementor-kit-6 h5{font-size:var( --e-global-typography-06dd364-font-size );}.elementor-kit-6 h6{font-size:var( --e-global-typography-7b4dc5e-font-size );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-f25cbd9-font-size );line-height:var( --e-global-typography-f25cbd9-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --Primary:#D75F28; --White:#ffffff; --Secondary:#F5F7FA; --Accent:#284ED7; --Text:#1A1A1A; --Title_han_sans:source-han-sans-simplified-c; --H4:clamp(1.25rem, 2vw + 1rem, 1.5rem); --H5:clamp(1.125rem, 1vw + 1rem, 1.25rem); --P-han-serif:source-han-serif-sc; --H6:clamp(1rem, 0.5vw + 1rem, 1.125rem); --H3:clamp(1.5rem, 3vw + 1rem, 2rem); --H2:clamp(1.75rem, 4vw + 1rem, 2.5rem); --H1:clamp(2rem, 5vw + 1rem, 3rem); --H7:14px; --P:clamp(1rem, 0.2vw + 1rem, 1.06rem); --Small:clamp(0.8125rem, 0.1vw + 0.8rem, 0.875rem); }
/* Start custom CSS *//* Improved Animations Stylesheet from https://element.how/elementor-improve-entrance-animations/ , works for the 'fade' animations */

@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translate3d(0,-30px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInDown {
    animation-name: fadeDown
}

@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translate3d(-30px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInLeft {
    animation-name: fadeLeft
}

@keyframes fadeRight {
    from {
        opacity: 0;
        transform: translate3d(30px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInRight {
    animation-name: fadeRight
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translate3d(0,30px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInUp {
    animation-name: fadeUp
}

html,
body{
  width:100%;
  overflow-x:hidden;
}


:root {
    --space-3xs: clamp(0.25rem, 0.2319rem + 0.0806vw, 0.3125rem);
    --space-2xs: clamp(0.5rem, 0.4456rem + 0.2419vw, 0.6875rem);
    --space-xs: clamp(0.75rem, 0.6774rem + 0.3226vw, 1rem);				    
    --space-s: clamp(1rem, 0.9093rem + 0.4032vw, 1.3125rem);
    --space-s-2xl: clamp(1rem, -0.2339rem + 5.4839vw, 5.25rem);
    --space-m: clamp(1.5rem, 1.3548rem + 0.6452vw, 2rem); 
    --space-l: clamp(2rem, 1.8185rem + 0.8065vw, 2.625rem);		
    --space-xl: clamp(3rem, 2.7278rem + 1.2097vw, 3.9375rem);
    --space-2xl: clamp(4rem, 3.6371rem + 1.6129vw, 5.25rem);	
    --space-3xl: clamp(6rem, 5.4556rem + 2.4194vw, 7.875rem);		
    --space-3xs-2xs: clamp(0.25rem, 0.123rem + 0.5645vw, 0.6875rem);
    --space-2xs-xs: clamp(0.5rem, 0.3548rem + 0.6452vw, 1rem);
    --space-xs-s: clamp(0.75rem, 0.5867rem + 0.7258vw, 1.3125rem);
    --space-s-m: clamp(1rem, 0.7097rem + 1.2903vw, 2rem);
    --space-m-l: clamp(1.5rem, 1.1734rem + 1.4516vw, 2.625rem);
    --space-l-xl: clamp(2rem, 1.4375rem + 2.5vw, 3.9375rem);
    --space-xl-2xl: clamp(3rem, 2.3468rem + 2.9032vw, 5.25rem);
    --space-2xl-3xl: clamp(4rem, 2.875rem + 5vw, 7.875rem); 
    --space-s-l: clamp(1rem, 0.5282rem + 2.0968vw, 2.625rem);
    --space-4xl: clamp(8rem, 7.2742rem + 3.2258vw, 10.5rem);
    --space-button-top: clamp(0.875rem, 0.7774rem + 0.3226vw, 1.125rem);
    --space-button-bottom: clamp(0.75rem, 0.8774rem + 0.3726vw, 1.25rem);
    --container-max-width: 1400px;
    /* Your existing variables (--space-3xs, etc) */
    --header-height: 80px; /* Default fallback value */
}

.hero-container {
    width: 100vm;
    padding-top: var(--space-s-2xl);
    padding-bottom: var(--space-s-2xl);
    padding-left: var(--space-s-2xl);  /* Assuming you meant --space-s-l */
    padding-right: var(--space-s-2xl);
    box-sizing: border-box; /* Ensures padding doesn’t affect width */
    overflow: hidden; /* Prevents unwanted horizontal scroll */
}

.hero-container > .elementor-container {
    width: min(100%, var(--container-max-width, 1400px));
    margin-left: auto;
    margin-right: auto;
}

.top-container {
    width: 100vm;
    padding-top: var(--space-2xl);
    padding-bottom: var(--space-s-2xl);
    padding-left: var(--space-s-2xl);  /* Assuming you meant --space-s-l */
    padding-right: var(--space-s-2xl);
    box-sizing: border-box; /* Ensures padding doesn’t affect width */
    overflow: hidden; /* Prevents unwanted horizontal scroll */
}

.bottom-container {
    width: 100vm;
    padding-left: var(--space-s-2xl);  /* Assuming you meant --space-s-l */
    padding-right: var(--space-s-2xl);
    box-sizing: border-box; /* Ensures padding doesn’t affect width */
    overflow: hidden; /* Prevents unwanted horizontal scroll */
}

@media (max-width: 768px) { /* Adjusts for mobile view */
    .top-container {
        padding-top: 20px;
    }
}

.top-container > .elementor-container {
    width: min(100%, var(--container-max-width, 1400px));
    margin-left: auto;
    margin-right: auto;
}

.bottom-container > .elementor-container {
    width: min(100%, var(--container-max-width, 1400px));
    margin-left: auto;
    margin-right: auto;
}

.inner-container {
    width: 100vm;
    padding-left: var(--space-s-2xl);  /* Assuming you meant --space-s-l */
    padding-right: var(--space-s-2xl);
    box-sizing: border-box; /* Ensures padding doesn’t affect width */
    overflow: hidden; /* Prevents unwanted horizontal scroll */
}

.inner-container > .elementor-container {
    width: min(100%, var(--container-max-width, 1400px));
    margin-left: auto;
    margin-right: auto;
}

.square-container {
  aspect-ratio: 1 / 1; /* Ensures a perfect square */
}

/* 针对 global-big-button 类的全局样式定义 */
/* 1. 确保按钮容器自适应内容（防止拉伸） */
.global-big-button {
    display: inline-block !important;
    width: auto !important;
}

/* 2. 按钮主体：初始背景为 Primary Color */
.global-big-button .elementor-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    position: relative;
    overflow: hidden;
    
    /* 你的参数：圆角 8px, 间距 10/30 */
    padding: 10px 30px !important;
    border-radius: 8px !important;
    
    /* 颜色：初始为主色 */
    background-color: var(--e-global-color-primary) !important;
    
    /* 字体：全局字体 P */
    font-family: var(--e-global-typography-p-font-family), Sans-serif !important;
    font-weight: var(--e-global-typography-p-font-weight) !important;
}

/* 3. 鼠标追踪遮罩层：悬停色为 Accent Color */
.global-big-button .elementor-button::before {
    content: '';
    position: absolute;
    left: var(--x, 50%);
    top: var(--y, 50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border-radius: 50%;
    
    /* 颜色：悬停扩散色为强调色 */
    background-color: var(--e-global-color-accent) !important;
    
    /* 核心修改：2.5秒超慢扩散，配合平滑的贝塞尔曲线 */
    transition: width 2.5s cubic-bezier(0.1, 0.5, 0.1, 1), 
                height 2.5s cubic-bezier(0.1, 0.5, 0.1, 1);
    z-index: 0;
}

/* 4. Hover 状态：扩大到足以覆盖任何比例的按钮 */
.global-big-button .elementor-button:hover::before {
    width: 500%; 
    padding-bottom: 500%; 
}

/* 5. 确保文字始终在遮罩层之上 */
.global-big-button .elementor-button .elementor-button-content-wrapper,
.global-big-button .elementor-button span {
    position: relative;
    z-index: 1;
}

/* 1. 基础布局稳定 */
.expand-card-parent {
    display: flex !important;
    align-items: stretch;
    gap: 20;
}

.expand-card {
    flex: 1 !important;
    /* 设置固定高度 */
    height: 400px !important; 
    
    transition: flex 1s cubic-bezier(0.25, 1, 0.3, 1) !important;
    overflow: hidden !important;
    min-width: 0 !important;
    cursor: pointer;
    
    /* 确保内部元素可以相对于卡片定位 */
    position: relative !important;
}

/* 2. 核心逻辑：只有拥有 .active 类的卡片才会展开 */
/* 初始状态通过 JS 或 HTML 手动给第一个卡片添加 .active */
.expand-card.active {
    flex: 2.5 !important;
}

/* 3. 内容显示逻辑 */
.expand-card .hide-on-squeeze {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.75s ease;
}

.expand-card.active .hide-on-squeeze {
    opacity: 1;
    visibility: visible;
}

/* --- 简化内容控制 --- */

/* 1. 展开时才显示的内容 (如：详细描述、按钮) */
.hide-on-squeeze {
    opacity: 0;
    visibility: hidden;
    max-height: 0; /* 关键：收缩时不占高度 */
    margin: 0;     /* 消除外边距占位 */
    overflow: hidden;
    transition: all 0.75s ease;
}

/* 当父级卡片激活时显示 */
.expand-card.active .hide-on-squeeze {
   opacity: 1;
    visibility: visible;
    max-height: 300px; /* 设置一个足够大的数值 */
    margin-top: 0px;
    transition-delay: 0.3s;
}

/* 2. 收缩时才显示的内容 (如：垂直标题、小图标) */
.show-on-squeeze {
    opacity: 1;
    visibility: visible;
    transition: all 0.75s ease;
    
    /* 取消之前的绝对居中定位 */
    position: absolute;
    top: 0;           /* 改为顶部对齐 */
    left: 0;
    transform: none;  /* 取消偏移 */
    
    width: 100%;
    /* 核心：设置和展开内容完全一样的 Padding */
    padding: 50px 0px 0px 0px !important; 
    
    box-sizing: border-box;
    text-align: left;
}

/* 当父级卡片激活时隐藏 */
.expand-card.active .show-on-squeeze {
    opacity: 0;
    visibility: hidden;
}/* End custom CSS */