/*
Author       : Theme-Family
Template Name: Zaahir -  IT Solution & Technology Business Service Website Template
Version      : 1.0
*/
/*=============================================================
    CSS INDEX
    =============================
    00. LARGE SCREEN OPTIMIZATION (Container width adjustments for big screens)
    01. GENERAL STYLE (body, link color, SECTION TITLE, PRELOADER, BTN, SECTION PADDING, SCROLL etc)
    02. START BOOTSTRAP NAVIGATION OVERRIDES
    03. START HOME DESIGN
		--START HOME DEFALT
		--START SLIDER DESIGN
    04. START FEATURE DESIGN
		--START ABOUT DESIGN
	05.	START SERVICE DESIGN
	06.	START HIRE  DESIGN
		--START VIDEO  DESIGN
	07.	START TEAM DESIGN
		--START SKILL DESIGN
	08.	START CASY STUDY DESIGN
	09.	START COUNTER DESIGN
	10.	START FREQUENTLY DESIGN
	11.	START TESTIMONIAL DESIGN
		--START COMPANY BRAND LOGO DESIGN
	12.	START BLOG DESIGN
		--START BLOG DETAILS DESIGN
		--START PROTFOLIO DETAILS DESIGN
		--START SERVICE DETAILS DESIGN
		--START TEAM DETAILS DESIGN
	13. START CONTACT DESIGN

	14. START FOOTER DESIGN(START MAP DESIGN)
	15.	START HUMBERGER DESIGN
		-- Start  Header Searchbox

  =============================================================*/

/* 基础 tokens 与容器宽度已迁移至 root.css */

html {
    overflow-x: hidden;
    height: 100%;
}

body {
    /* 基础排版直接使用 V2 正文字义，减少共享层对旧变量的真实依赖。 */
    font-family: var(--thm-font);
    font-weight: normal;
    font-style: normal;
    font-size: 14px;
    color: var(--v2-text-body);
}


/*禁止复制粘贴*/
header, footer, #contact {
    -moz-user-select: none; /* Firefox */
    -webkit-user-select: none; /* WebKit内核 */
    -ms-user-select: none; /* IE10及以后 */
    -khtml-user-select: none; /* 早期浏览器 */
    -o-user-select: none; /* Opera */
    user-select: none; /* CSS3属性 */
}

/*禁止复制粘贴*/
header, footer, #contact {
    -moz-user-select: none; /* Firefox */
    -webkit-user-select: none; /* WebKit内核 */
    -ms-user-select: none; /* IE10及以后 */
    -khtml-user-select: none; /* 早期浏览器 */
    -o-user-select: none; /* Opera */
    user-select: none; /* CSS3属性 */
}

/*禁止复制粘贴*/
.bg-color {
    background-color: var(--v2-primary-500);
}

.bg-base {
    background-color: var(--v2-primary-600);
}

.bg-black {
    background-color: var(--v2-text-heading);
}

.bg-line {
    background: linear-gradient(-45deg, var(--v2-primary-600), var(--v2-primary-500));
}

.bg-skew {
    background: var(--thm-skew);
}

.bg-f1 {
    background: #f1f1f1 ! important;
}

.bg-f2 {
    background: #f2f2f2 ! important;
}

.bg-f3 {
    background: #f3f3f3 ! important;
}

.bg-f4 {
    background: #f4f4f4 ! important;
}

.bg-f5 {
    background: #f5f5f5 ! important;
}

.bg-f6 {
    background-color: var(--v2-bg-functional);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--thm-font2);
    color: var(--v2-text-heading);
    font-weight: 700;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    color: inherit;
}

p:last-child {
    margin-bottom: 0;
}

ul,
li {
    margin: 0;
    padding: 0;
}

p {
    padding: 0;
    margin: 0;
    font-size: 18px;
    color: var(--v2-text-body);
    line-height: 28px;
    font-family: var(--thm-font);
    font-weight: 400;
}

img ,picture,picture > image{
    max-width: 100%;
    height: auto;
    border: 0;
}

a {
    text-decoration: none;
    transition: all 0.2s ease 0s;
}

a:focus, .btn:focus {
    text-decoration: none;
    outline: none;
}

a:hover {
    color: inherit;
}

a {
    color: inherit;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

a:hover, a:active {
    text-decoration: none;
    outline: 0;
}

*, ::before, ::after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

span {
    letter-spacing: 0;
}

a, button, input {
    outline: medium none;
    color: inherit;
}

dl, ol, ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

button:focus {
    outline: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

fieldset {
    border: 0 none;
    margin: 0 auto;
    padding: 0;
}

::-webkit-input-placeholder {
    color: inherit;
}

::-moz-input-placeholder {
    color: inherit;
}

::-ms-input-placeholder {
    color: inherit;
}

.page-wrapper {
    position: relative;
    margin: 0 auto;
    width: 100%;
    min-width: 270px;
    z-index: 9;
    /*overflow: hidden;*/
}

.form-group {
    margin-bottom: 20px;
}

button, input, textarea {
    color: var(--v2-text-heading);
}

button, input, textarea:focus {
    outline: none;
}

.atf-color-ase {
    color: var(--v2-text-placeholder) ! important;
}

/**************************************
 * START FONT SIZE DESIGN
 *************************************/
.f-10 {
    font-size: 10px ! important;
}

.f-12 {
    font-size: 12px ! important;
}

.f-13 {
    font-size: 13px ! important;
}

.f-14 {
    font-size: 14px ! important;
}

.f-15 {
    font-size: 15px ! important;
}

.f-16 {
    font-size: 16px;
}

.f-17 {
    font-size: 17px;
}

.f-18 {
    font-size: 18px;
}

.f-19 {
    font-size: 19px;
}

.f-20 {
    font-size: 20px;
}

/**************************************
 * END FONT SIZE DESIGN
 *************************************/
/**************************************
 * START LINE HEIGHT DESIGN
 *************************************/
.line-height_1_4 {
    line-height: 1.4;
}

.line-height_1_6 {
    line-height: 1.6;
}

.line-height_1_8 {
    line-height: 1.8;
}

/**************************************
 * END LINE HEIGHT DESIGN
 *************************************/

/*
* ----------------------------------------------------------------------------------------
* PRELOADER
* ----------------------------------------------------------------------------------------
*/

.loader-wrapper {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    transition: 0.8s 1s ease;
    z-index: 999;
}

.loader {
    position: relative;
    display: block;
    z-index: 201;
    top: 50%;
    left: 50%;
    width: 100px;
    height: 100px;
    margin: -50px 0 0 -50px;
    border-radius: 50%;
    transition: all 1s 1s ease;
    border: 3px solid transparent;
    border-top-color: #ee5417;
    -webkit-animation: spin 1.5s linear infinite;
    -moz-animation: spin 1.5s linear infinite;
    -o-animation: spin 1.5s linear infinite;
    animation: spin 1.5s linear infinite;
}

.loader:before {
    position: absolute;
    content: '';
    top: 6px;
    left: 6px;
    right: 6px;
    bottom: 6px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-left-color: #074783;
    -webkit-animation: spin 2s linear infinite;
    -moz-animation: spin 2s linear infinite;
    -o-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}

.loader:after {
    position: absolute;
    content: '';
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-right-color: #fff;
    -webkit-animation: spin 2.5s linear infinite;
    -moz-animation: spin 2.5s linear infinite;
    -o-animation: spin 2.5s linear infinite;
    animation: spin 2.5s linear infinite;
}

/*/ Here comes the Magic /*/

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-moz-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

.loader-wrapper .loder-section {
    position: fixed;
    top: 0;
    width: 50%;
    height: 100%;
    background: #111;
    z-index: 2;
}

.loader-wrapper .loder-section.left-section {
    left: 0;
    transition: 1s 1.4s ease;
}

.loader-wrapper .loder-section.right-section {
    right: 0;
    transition: 1s 1.4s ease;
}

/*/ When page loaded /*/
.loaded .loder-section.left-section {
    left: -100%;
}

.loaded .loder-section.right-section {
    right: -100%;
}

.loaded .loader-wrapper {
    display: none;
}

.loaded .loader {
    top: -100%;
    opacity: 0;
}


/*END PRELOADER DESIGN*/
/*START SECTION PADDING DESIGN*/

.atf-section-padding {
    padding: 90px 0;
}

/*START SECTION TITLE DESIGN*/

.atf-section-title h5 {
    /* 分区小标签直接改用 V2 主蓝与反白文字，避免旧色系从源规则溢出。 */
    color: var(--v2-text-inverse);
    line-height: 25px;
    margin: 0px 0 10px;
    text-transform: capitalize;
    font-family: var(--thm-font);
    letter-spacing: 1px;
    font-size: 14px;
    background: var(--v2-primary-500);
    display: inline-block;
    padding: 2px 10px;
    border-radius: 5px;
    transition: all 0.3s ease-in-out;
}

.atf-section-title h2 {
    font-size: 35px;
    color: var(--v2-text-heading);
    text-transform: capitalize;
    font-family: var(--thm-font2);
}

.atf-section-title p {
    font-size: 15px;
    color: var(--v2-text-body);
}

.atf-section-title > ul > li, .atf-section-title > ul > li > ul > li {
    /* 列表正文统一回主站字体变量，避免局部继续保留旧的混合字体栈。 */
    font-family: var(--thm-font);
    font-size: 18px;
    color: var(--v2-text-body);
    margin-bottom: 10px;
    display: list-item;
    text-align: -webkit-match-parent;
}

.atf-section-title > ul > li > ul {
    margin-top: 10px;
    padding-left: 20px;
}

.border-left {
    border-left: 2px solid var(--v2-primary-500);
}

@media only screen and (max-width: 480px) {
    .atf-section-title h2 {
        font-size: 25px;
    }

}

/*END SECTION TITLE DESIGN*/

/* START BTN STYLE */
.atf-themes-btn {
    /* 共享主按钮源规则切到 V2 token，减少对末尾 override 的依赖。 */
    color: var(--v2-text-inverse);
    background: var(--v2-primary-500);
    font-size: 18px;
    font-weight: 700;
    text-transform: capitalize;
    padding: 10px 20px 9px;
    border: none;
    border-radius: var(--v2-radius-sm);
    overflow: hidden;
    position: relative;
    z-index: 1;
    transition: all 0.5s ease-out;
    display: inline-block;
}

.atf-themes-btn:focus {
    color: var(--v2-text-inverse);
}

.atf-themes-btn:hover {
    color: var(--v2-text-inverse);
    background: var(--v2-primary-400);
    text-shadow: none;
}

.atf-themes-btn:before {
    content: '';
    background: var(--v2-primary-600);
    width: 0;
    height: 100%;
    transform: translateX(-50%);
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
    transition: .4s;
}

.atf-themes-btn:hover:before {
    width: calc(100% - 15px);
}

@media only screen and (max-width: 767px) {
    .atf-themes-btn {
        margin-bottom: 30px;
    }
}

/* END BTN STYLE */

/* ============================================================
   V2 BTN STYLE - 新规范按钮样式（渐进式迁移）
   使用 --v2-* 变量系统，参考 root.css 和 v2-components.css
   ============================================================ */

/**
 * V2 主按钮 - 使用新的CSS变量系统
 * 当页面引入 v2-components.css 时生效，实现渐进式迁移
 */
.atf-themes-btn.v2-btn {
    /* 使用明确的主行动色和反白文字，避免依赖旧变量导致的视觉漂移 */
    color: var(--v2-text-inverse, #FFFFFF);
    background-color: var(--v2-primary-500, #2967D3);
    /* 新规范中 44px 高主按钮统一对应 22px 圆角。 */
    border-radius: var(--v2-radius-button-pill, 22px);
    min-height: var(--v2-button-height, 44px);
    padding: 0 24px;
    font-size: var(--v2-font-size-base, 16px);
    font-weight: 600;
    line-height: var(--v2-line-height-base, 24px);
    border: 1px solid var(--v2-primary-500, #2967D3);
    overflow: hidden;
    position: relative;
    z-index: 1;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--v2-spacing-xs, 8px);
}

.atf-themes-btn.v2-btn:focus {
    color: var(--v2-text-inverse, #FFFFFF);
    box-shadow: 0 0 0 3px rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0.2);
}

.atf-themes-btn.v2-btn:hover {
    color: var(--v2-text-inverse, #FFFFFF);
    background-color: var(--v2-primary-400, #4F89E0);
    border-color: var(--v2-primary-400, #4F89E0);
    transform: translateY(-1px);
    box-shadow: var(--v2-shadow-card-hover, 0 4px 12px rgba(41, 103, 211, 0.25));
    text-shadow: none;
}

.atf-themes-btn.v2-btn:active {
    background-color: var(--v2-primary-600, #184AAD);
    border-color: var(--v2-primary-600, #184AAD);
    transform: translateY(0);
    box-shadow: none;
}

/* V2 按钮关闭旧版涂抹式伪元素动画，避免 hover 视觉与新规范冲突 */
.atf-themes-btn.v2-btn:before {
    display: none;
}

.atf-themes-btn.v2-btn:hover:before {
    display: none;
}

/**
 * V2 次按钮样式
 */
.atf-themes-btn.v2-btn-secondary {
    color: var(--v2-text-link, #2967D3);
    background-color: transparent;
    border: 1px solid var(--v2-primary-500, #2967D3);
}

.atf-themes-btn.v2-btn-secondary:hover {
    color: var(--v2-text-link, #2967D3);
    background-color: rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0.05);
    border-color: var(--v2-primary-500, #2967D3);
}

.atf-themes-btn.v2-btn-secondary:before {
    display: none;
}

/**
 * V2 按钮尺寸变体
 */
.atf-themes-btn.v2-btn-sm {
    padding: var(--v2-spacing-xs, 6px) var(--v2-spacing-sm, 12px);
    font-size: var(--v2-font-size-sm, 14px);
}

.atf-themes-btn.v2-btn-lg {
    padding: var(--v2-spacing-md, 16px) var(--v2-spacing-lg, 28px);
    font-size: var(--v2-font-size-lg, 18px);
}

/**
 * V2 按钮禁用状态
 */
.atf-themes-btn.v2-btn:disabled,
.atf-themes-btn.v2-btn.v2-disabled {
    background-color: var(--v2-bg-divider, #E3E8F0);
    color: var(--v2-text-tertiary, #8B95A5);
    cursor: not-allowed;
    transform: none;
}

.atf-themes-btn.v2-btn:disabled:hover,
.atf-themes-btn.v2-btn.v2-disabled:hover {
    transform: none;
    box-shadow: none;
}

/**
 * V2 幽灵按钮（无边框，仅背景变化）
 */
.atf-themes-btn.v2-btn-ghost {
    color: var(--v2-primary-500, #2967D3);
    background-color: transparent;
    border: 1px solid transparent;
}

.atf-themes-btn.v2-btn-ghost:hover {
    color: var(--v2-primary-600, #184AAD);
    background-color: rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0.05);
}

.atf-themes-btn.v2-btn-ghost:before {
    display: none;
}

/* 响应式适配 */
@media only screen and (max-width: 767px) {
    .atf-themes-btn.v2-btn {
        margin-bottom: 30px;
        min-height: var(--v2-button-height, 44px);
        padding: 0 20px;
        font-size: var(--v2-font-size-sm, 14px);
    }
}

/* ============================================================
   V2 Global Shared Components
   说明：
   - 这一段用于把主站共享壳层直接切到 V2 语义，不依赖首页作用域。
   - 选择器保持偏高优先级，避免逐页改旧规则时出现旧 hover 或旧分页残留。
   ============================================================ */

body {
    color: var(--v2-text-body);
    background-color: var(--v2-bg-primary);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--v2-text-heading);
}

p {
    color: var(--v2-text-body);
    font-size: var(--v2-font-size-base);
    line-height: var(--v2-line-height-base);
}

.bg-f1,
.bg-f2,
.bg-f3,
.bg-f4,
.bg-f5,
.bg-f6 {
    background-color: var(--v2-bg-functional) !important;
}

.atf-section-title h2,
.atf-page-heading-title,
.section-title,
.section-subtitle,
.wizard-title,
.comparison-tool-section h3,
.form-title,
.tab-pane h4 {
    color: var(--v2-text-heading);
}

.border-left {
    border-left-color: var(--v2-primary-500);
}

/* 统一共享按钮：
 * - 默认主按钮切到 V2 主色。
 * - hover/active/focus-visible 统一遵守 500/400/600 三档。
 */
.atf-themes-btn,
.atf-themes-btn-submit,
.compare-btn,
.atf-themes-btn-outline,
.atf-themes-btn-sm {
    min-height: var(--v2-button-height);
    padding: 10px 24px;
    /* 共享高频 CTA 全部收口到新版 44 高按钮圆角。 */
    border-radius: var(--v2-radius-button-pill);
    border: 1px solid transparent;
    font-size: var(--v2-font-size-base);
    font-weight: 600;
    line-height: var(--v2-line-height-base);
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.atf-themes-btn,
.atf-themes-btn-submit,
.compare-btn {
    color: var(--v2-text-inverse);
    background: var(--v2-primary-500);
    border-color: var(--v2-primary-500);
    box-shadow: var(--v2-shadow-card);
}

.atf-themes-btn:hover,
.atf-themes-btn-submit:hover,
.compare-btn:hover {
    color: var(--v2-text-inverse);
    background: var(--v2-primary-400);
    border-color: var(--v2-primary-400);
    box-shadow: var(--v2-shadow-card-hover);
    transform: translateY(-2px);
    text-shadow: none;
}

.atf-themes-btn:active,
.atf-themes-btn-submit:active,
.compare-btn:active {
    background: var(--v2-primary-600);
    border-color: var(--v2-primary-600);
    box-shadow: none;
    transform: translateY(0);
}

.atf-themes-btn:focus-visible,
.atf-themes-btn-submit:focus-visible,
.compare-btn:focus-visible,
.header-search-form button[type="submit"]:focus-visible,
.pagination li a.page-link:focus-visible,
.toolbar-btn:focus-visible,
.mobile-nav-btn:focus-visible,
.form-control:focus-visible,
.comment-form textarea:focus-visible,
.comment-form input:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px rgba(var(--v2-primary-500-rgb), 0.14);
}

/* 关闭旧按钮伪元素扫光，避免全站 hover 视觉冲突。 */
.atf-themes-btn::before,
.atf-themes-btn-submit::before,
.compare-btn::before {
    display: none;
}

/* 共享表单控件统一到 V2：
 * - 高度、圆角、边框颜色和焦点 ring 全部收口。
 */
.form-control,
.comment-form textarea,
.comment-form input,
.header-search-form input,
.blog_search input,
.atf_sidebar__search input,
.atf_search__input input,
.search-wrapper .input-holder .search-input {
    min-height: var(--v2-button-height);
    border: 1px solid var(--v2-bg-divider);
    border-radius: var(--v2-radius-sm);
    background: var(--v2-bg-primary);
    color: var(--v2-text-body);
    box-shadow: none;
}

.form-control::placeholder,
.comment-form textarea::placeholder,
.comment-form input::placeholder,
.header-search-form input::placeholder,
.blog_search input::placeholder,
.atf_sidebar__search input::placeholder,
.atf_search__input input::placeholder,
.search-wrapper .input-holder .search-input::placeholder {
    color: var(--v2-text-placeholder);
}

.form-control:hover,
.comment-form textarea:hover,
.comment-form input:hover,
.header-search-form input:hover,
.blog_search input:hover,
.atf_sidebar__search input:hover,
.atf_search__input input:hover,
.search-wrapper .input-holder .search-input:hover {
    border-color: var(--v2-border-color-strong);
}

.form-control:focus,
.comment-form textarea:focus,
.comment-form input:focus,
.header-search-form input:focus,
.blog_search .form-control:focus,
.contact .form-control:focus,
.contact textarea:focus,
.atf_sidebar__search input:focus,
.atf_search__input input:focus,
.search-wrapper.active .input-holder,
.search-wrapper .input-holder .search-input:focus {
    border-color: var(--v2-primary-500);
    background: var(--v2-bg-primary);
    box-shadow: 0 0 0 4px rgba(var(--v2-primary-500-rgb), 0.12);
}

/* 共享内页 banner：
 * - 统一桌面/平板高度、文字层级和居中布局。
 * - 左对齐 banner 的细节在 page-heading-left-align.css 再覆盖。
 */
.atf-page-heading {
    min-height: 640px;
    padding-top: 0;
}

.atf-page-heading.atf-size-md {
    min-height: 640px;
    height: auto;
}

.atf-page-heading-title {
    font-size: var(--v2-h0-font-size);
    line-height: var(--v2-h0-line-height);
    margin-bottom: 20px;
}

.atf-page-heading-in .atf-post-label,
.atf-breadcamp {
    color: rgba(255, 255, 255, 0.82);
    font-size: var(--v2-font-size-base);
}

.atf-page-heading-in .atf-post-label a:hover,
.atf-breadcamp a:hover {
    color: var(--v2-text-inverse);
}

/* 小部件、标签、正文卡片统一圆角和阴影。 */
.atf-widget,
.atf-post-tags,
.atf-post-share,
.comparison-tool-section,
.selection-wizard-container,
.comparison-tool,
.contact-form-wrapper,
.atf-contact-info,
.atf-contact-form {
    background: var(--v2-bg-primary);
    border: 1px solid var(--v2-bg-divider);
    border-radius: var(--v2-radius-lg);
    box-shadow: var(--v2-shadow-card);
}

.atf-widget .atf-widget-title::before,
.atf-widget .atf-widget-title::after,
.form-title::after,
.atf-post-share h5::after {
    background: var(--v2-primary-500);
}

.atf-tagcloud .atf-tag,
.tag-cloud-link {
    background: var(--v2-bg-content);
    border: 1px solid var(--v2-bg-divider);
    color: var(--v2-text-secondary);
    border-radius: var(--v2-radius-pill);
}

.atf-tagcloud .atf-tag:hover,
.tag-cloud-link:hover {
    background: var(--v2-primary-500);
    border-color: var(--v2-primary-500);
    color: var(--v2-text-inverse);
}

/* 分页统一成 V2 浅底蓝边语言，替换旧黑底样式。 */
.page-item.active .page-link {
    background-color: var(--v2-primary-500);
    border-color: var(--v2-primary-500);
}

.pagination li a.page-link {
    color: var(--v2-text-body);
    background: var(--v2-bg-primary);
    font-size: var(--v2-font-size-sm);
    height: 40px;
    width: 40px;
    margin: 0 6px;
    border-radius: var(--v2-radius-pill);
    border: 1px solid var(--v2-bg-divider);
    box-shadow: none;
}

.pagination li a.page-link::before {
    display: none;
}

.pagination li a.page-link:hover,
.pagination li a.page-link:focus,
.pagination li.active a.page-link:hover,
.pagination li.active a.page-link {
    color: var(--v2-text-inverse);
    background: var(--v2-primary-500);
    border-color: var(--v2-primary-500);
}

/* 统一博客正文和引用块，避免旧渐变块和左侧强调条显得过重。 */
.atf-post-details.atf-style1 blockquote {
    background: transparent;
    color: var(--v2-text-body);
    border: 0 !important;
    border-left: 0 !important;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.atf-post-details.atf-style1 blockquote::before,
.atf-post-details.atf-style1 blockquote::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

.atf-post-details.atf-style1 blockquote > p,
.atf-post-details.atf-style1 blockquote cite {
    border: 0 !important;
    border-left: 0 !important;
    padding-left: 0;
    background: transparent;
    box-shadow: none;
}

.atf-post-details.atf-style1 blockquote small,
.atf-post-details.atf-style1 blockquote small span {
    color: var(--v2-text-secondary);
}

@media screen and (max-width: 991px) {
    .atf-page-heading,
    .atf-page-heading.atf-size-md {
        min-height: var(--v2-mobile-banner-height);
        height: auto;
        padding-top: 80px;
    }

    .atf-page-heading-title {
        font-size: var(--v2-h1-font-size);
        line-height: var(--v2-h1-line-height);
    }
}

@media screen and (max-width: 767px) {
    .atf-page-heading,
    .atf-page-heading.atf-size-md {
        min-height: var(--v2-mobile-banner-height-compact);
    }

    .atf-page-heading-title {
        font-size: var(--v2-h2-font-size);
        line-height: var(--v2-h2-line-height);
        margin-bottom: 16px;
    }

    .atf-themes-btn,
    .atf-themes-btn-submit,
    .compare-btn {
        width: 100%;
        justify-content: center;
    }
}

/*
* ----------------------------------------------------------------------------------------
* 可访问性工具类 - 屏幕阅读器友好
* ----------------------------------------------------------------------------------------
*/

/* 仅屏幕阅读器可见的隐藏类（SEO 友好）*/
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* 聚焦时可见（键盘导航可访问）*/
.sr-only:focus {
    position: static;
    width: auto;
    height: auto;
    padding: inherit;
    margin: inherit;
    overflow: visible;
    clip: auto;
    white-space: normal;
}

/*
* ----------------------------------------------------------------------------------------
* 01.END GENERAL STYLE
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 02.START BOOTSTRAP NAVIGATION OVERRIDES
* ----------------------------------------------------------------------------------------
*/
.atf-top-header {
    border-bottom: 1px solid var(--v2-bg-divider);
    overflow: hidden;
}

.atf-top-header.atf-style-bg {
    background: linear-gradient(-45deg, var(--v2-primary-600), var(--v2-primary-500));
}

.atf-top-header .atf-top-header-in {
    height: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    transition: all 0.4s ease;
}

.atf-top-header .atf-top-social {
    font-size: 14px;
    height: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    transition: all 0.4s ease;
    color: var(--v2-text-inverse);
    text-align: center;
}

.atf-top-social a i:hover {
    color: var(--v2-text-inverse);
}

.atf-top-social a i {
    margin-left: 4px;
    color: rgba(255, 255, 255, 0.8);
    width: 30px;
    height: 30px;
    line-height: 30px;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 50%;
}

.atf-sticky-active .atf-top-header-in {
    height: 0;
}

.atf-sticky-active .atf-top-social {
    height: 0;
}

.atf-top-header-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
}

.atf-top-header-list li {
    margin-right: 30px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 14px;
}

.atf-top-header-list li:last-child {
    margin-right: 0;
}

.atf-top-header-list li i {
    margin-right: 10px;
}

.atf-top-header-list li a:hover {
    color: var(--v2-text-inverse);
}

.atf-site-header.atf-style1 {
    transition: all 0.4s ease;
}

.atf-site-header.atf-style1 .atf-main-header-in {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    height: 80px;
}


.atf-nav .atf-nav-list > li > a {
    color: var(--v2-text-inverse);
}

/* ============================================================
   V2 Mobile Foundation
   说明：
   - 全站移动端统一使用 root.css 中的移动端视觉 token；
   - 这里只压缩通用 section、容器和卡片表面节奏，不接管具体页面模块布局；
   - 目的是避免旧桌面端 90px 区块间距在移动端造成大面积空白。
   ============================================================ */
@media screen and (max-width: 767px) {
    .atf-section-padding {
        padding-top: var(--v2-mobile-section-padding) !important;
        padding-bottom: var(--v2-mobile-section-padding) !important;
    }

    .container {
        padding-left: var(--v2-mobile-container-padding);
        padding-right: var(--v2-mobile-container-padding);
    }

    .atf-widget,
    .comparison-tool-section,
    .selection-wizard-container,
    .comparison-tool,
    .contact-form-wrapper,
    .atf-contact-info,
    .atf-contact-form {
        border-radius: var(--v2-radius-lg);
    }
}

@media screen and (max-width: 991px) {
    .atf-main-header .container {
        max-width: 100%;
    }

    .atf-top-header {
        display: none;
    }

    .atf-site-header.atf-style1 {
        /*background-color: var(--thm-black);*/
    }
}

.atf-nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
    text-transform: capitalize;
    font-size: 14px;
}

.atf-main-header {
    position: relative;
}

@media screen and (min-width: 992px) {
    .atf-nav .atf-nav-list {
        display: flex !important;
        flex-wrap: wrap;
        float: right;
        margin-right: 25px;
    }

    .atf-nav .atf-nav-list > li {
        margin-right: 20px;
        font-weight: 500;
        font-size: 16px;
    }

    .atf-nav .atf-nav-list > li:last-child {
        margin-right: 0;
    }

    .atf-nav .atf-nav-list > li > a {
        padding: 15px 0;
        display: inline-block;
    }

    .atf-nav-list .atf-quote a {
        padding: 10px 15px !important;
        margin-top: 5px;
        font-size: 13px;
    }

    .atf-quote-hide {
        display: none;
    }

    .atf-quote-hide > a {
        color: var(--thm-white);
    }

    .atf-nav .atf-nav-list > li > ul {
        left: 0;
        top: calc(100% + 15px);
    }

    .atf-nav .atf-nav-list > li > ul:before {
        content: '';
        position: absolute;
        height: 10px;
        width: 10px;
        border: 1px solid #eaeaea;
        transform: rotate(45deg);
        background-color: var(--thm-white);
        border-right: none;
        border-bottom: none;
        top: -6px;
        left: 16px;
    }

    .atf-nav .atf-nav-list > li:hover > ul {
        top: 100%;
        opacity: 1;
        visibility: visible;
        transition: all 0.4s ease;
    }

    .atf-nav .atf-nav-list li {
        position: relative;
    }

    .atf-nav .atf-nav-list li a.active {
        color: var(--thm-white);
    }

    .atf-nav .atf-nav-list ul {
        width: 200px;
        background-color: var(--thm-white);
        position: absolute;
        border: 1px solid #eaeaea;
        border-radius: 4px;
        /* padding: 10px 0; */
        z-index: 100;
        opacity: 0;
        visibility: hidden;
        display: block !important;
        transition: all 0.1s ease;
    }

    .atf-nav .atf-nav-list ul li:hover ul {
        top: 0px;
    }

    .atf-nav .atf-nav-list ul li:hover > ul {
        opacity: 1;
        visibility: visible;
        transition: all 0.4s ease;
    }

    .atf-nav .atf-nav-list ul a {
        font-size: calc(100% - 1px);
        display: block;
        line-height: 1.6em;
        padding: 9px 20px;
        color: var(--thm-black);
    }

    .atf-nav .atf-nav-list ul a:hover {
        background-color: var(--thm-color);
        color: var(--thm-white);
    }

    .atf-nav .atf-nav-list ul ul {
        top: 15px;
        left: 100%;
    }

    .atf-menu-toggle,
    .atf-menu-dropdown-toggle {
        display: none;
    }
}

@media screen and (max-width: 991px) {


    .atf-menu-dropdown-toggle {
        position: absolute;
        height: 30px;
        width: 30px;
        right: 20px;
        top: 5px;
    }

    .atf-menu-dropdown-toggle:before, .atf-menu-dropdown-toggle:after {
        content: '';
        display: block;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        height: 2px;
        width: 10px;
        background-color: var(--thm-white);
        transition: all 0.3s ease;
    }

    .atf-menu-dropdown-toggle:before {
        transform: translate(-50%, -50%) rotate(90deg);
    }

    .atf-menu-dropdown-toggle.active:before {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    .atf-nav .atf-nav-list {
        position: absolute;
        right: 0;
        background-color: var(--thm-black);
        padding: 10px 0;
        display: none;
        top: 100%;
        border-top: 1px solid #eaeaea;
        border-bottom: 0px solid #eaeaea;
        overflow: auto;
        max-height: calc(100vh - 80px);
        width: 50%;
    }

    .atf-nav .atf-nav-list ul {
        padding-left: 15px;
        display: none;
    }

    .atf-nav .atf-nav-list a {
        display: block;
        padding: 8px 20px;
        color: var(--thm-white);
    }

    .atf-nav .menu-item-has-children {
        position: relative;
    }

    /*Mobile Menu Button*/
    .atf-menu-toggle {
        position: relative;
        display: inline-block;
        width: 28px;
        height: 27px;
        margin: 15px 20px 15px 0px;
        cursor: pointer;
        float: right;
    }

    .atf-menu-toggle span,
    .atf-menu-toggle span:before,
    .atf-menu-toggle span:after {
        width: 100%;
        height: 2px;
        background-color: var(--thm-white);
        display: block;
    }

    .atf-menu-toggle span {
        margin: 0 auto;
        position: relative;
        top: 12px;
        transition-duration: 0s;
        transition-delay: 0.2s;
    }

    .atf-menu-toggle span:before {
        content: '';
        position: absolute;
        margin-top: -8px;
        transition-property: margin, transform;
        transition-duration: 0.2s;
        transition-delay: 0.2s, 0s;
    }

    .atf-menu-toggle span:after {
        content: '';
        position: absolute;
        margin-top: 8px;
        transition-property: margin, transform;
        transition-duration: 0.2s;
        transition-delay: 0.2s, 0s;
    }

    .atf-toggle-active span {
        background-color: rgba(0, 0, 0, 0);
        transition-delay: 0.2s;
    }

    .atf-toggle-active span:before {
        margin-top: 0;
        transform: rotate(45deg);
        transition-delay: 0s, 0.2s;
    }

    .atf-toggle-active span:after {
        margin-top: 0;
        transform: rotate(-45deg);
        transition-delay: 0s, 0.2s;
    }
}

.atf-sticky-header {
    position: fixed;
    z-index: 200;
    width: 100%;
    top: 0;
    left: 0;
    will-change: transform;
}


/* ========================================
   导航栏毛玻璃效果优化
   ======================================== */

/* 顶部导航 */
.atf-site-header.atf-style1.atf-sticky-active {
    background: rgba(0, 7, 14, 0.25);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 8px 32px rgba(31, 114, 195, 0.15);
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

#footer.atf-footer-area {
    background: #111216;
}

/* 备选方案：深色主题毛玻璃效果 */
/*.atf-site-header.atf-style1.atf-sticky-active.dark-glass {*/
/*    background: rgba(20, 41, 108, 0.4); !* 使用 --thm-black 的半透明版本 *!*/
/*    backdrop-filter: blur(20px) saturate(180%);*/
/*    -webkit-backdrop-filter: blur(20px) saturate(180%);*/
/*    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);*/
/*    border-bottom: 1px solid rgba(255, 255, 255, 0.1);*/
/*}*/

/* 渐变毛玻璃效果（结合原有渐变特色） */
/*.atf-site-header.atf-style1.atf-sticky-active.gradient-glass {*/
/*    background: linear-gradient(*/
/*            -45deg,*/
/*            rgba(31, 114, 195, 0.3),*/
/*            rgba(0, 165, 224, 0.3)*/
/*    );*/
/*    backdrop-filter: blur(16px) saturate(150%);*/
/*    -webkit-backdrop-filter: blur(16px) saturate(150%);*/
/*    box-shadow: 0 5px 20px rgba(31, 114, 195, 0.2);*/
/*    border-bottom: 1px solid rgba(255, 255, 255, 0.15);*/
/*}*/


/* 导航栏初始状态（未滚动时） */
.atf-site-header.atf-style1 {
    background: transparent;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 提升导航栏内容在毛玻璃背景上的可读性 */
.atf-sticky-active .atf-nav .atf-nav-list > li > a {
    color: var(--thm-white);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.atf-sticky-active .atf-nav .atf-nav-list > li > a:hover {
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Logo 在毛玻璃背景下的优化 */
.atf-sticky-active .atf-site-branding img,
.atf-sticky-active .atf-site-branding picture {
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
    display: block;
}

.atf-sticky-active .atf-site-branding picture img {
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
    display: block;
}

/* 移动端适配 */
@media screen and (max-width: 991px) {
    .atf-site-header.atf-style1.atf-sticky-active {
        backdrop-filter: blur(15px);
        -webkit-backdrop-filter: blur(15px);
    }
}

/* 性能优化：减少重绘 */
.atf-site-header.atf-style1 {
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* 兼容性后备方案（不支持 backdrop-filter 的浏览器） */
@supports not (backdrop-filter: blur(20px)) {
    .atf-site-header.atf-style1.atf-sticky-active {
        background: linear-gradient(
                -45deg,
                rgba(31, 114, 195, 0.95),
                rgba(0, 165, 224, 0.95)
        );
        box-shadow: 0 5px 25px rgba(31, 114, 195, 0.3);
    }
}


/*
* ----------------------------------------------------------------------------------------
* 02. END BOOTSTRAP NAVIGATION OVERRIDES
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 03.START HOME DESIGN
* ----------------------------------------------------------------------------------------
*/
.atf-single-home {
    /* 高度由父容器 .slider-active 控制（见第 1297-1323 行） */
    background-size: cover;
    background-position: center center;
    position: relative;
    z-index: 0; /* 建立堆叠上下文 */
    box-sizing: border-box;
}

/* Banner 图片样式 - 用于 picture 标签 */
.banner-picture {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1; /* 确保图片在骨架屏上方 */
    overflow: hidden;
}

.banner-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    /* 默认不可见，等待 JS 添加 .loaded 类 */
    opacity: 0;
    transition: opacity 0.5s ease-in;
}

/* 图片加载完成后显示（通过 JS 添加 .loaded 类） */
.banner-picture img.loaded {
    opacity: 1;
}

/* 后备方案：如果骨架屏被隐藏，确保图片可见（防止 JS 失效） */
.atf-single-home:has(.banner-skeleton.hidden) .banner-picture img {
    opacity: 1 !important;
}

/* ========================================
   Banner 骨架屏样式 - 星空主题
   ======================================== */

.banner-skeleton {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0; /* 骨架屏在底层，图片在上层 */
    transition: opacity 0.5s ease-out;
}

/* 星空主题骨架屏 */
.skeleton-stellar {
    background:
        radial-gradient(ellipse at 20% 30%, rgba(26, 26, 46, 0.8) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 70%, rgba(15, 52, 96, 0.6) 0%, transparent 50%),
        radial-gradient(ellipse at 50% 50%, rgba(10, 10, 26, 0.4) 0%, transparent 60%),
        linear-gradient(180deg, #0a0a1a 0%, #1a1a2e 50%, #16213e 100%);
}

/* 骨架屏扫光动画层 */
.skeleton-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.05) 20%,
        rgba(255, 255, 255, 0.1) 50%,
        rgba(255, 255, 255, 0.05) 80%,
        rgba(255, 255, 255, 0) 100%
    );
    background-size: 200% 100%;
    animation: stellar-shimmer 2s ease-in-out infinite;
}

/* 星空扫光动画 */
@keyframes stellar-shimmer {
    0% {
        background-position: 200% 0;
        opacity: 0.3;
    }
    50% {
        opacity: 0.6;
    }
    100% {
        background-position: -200% 0;
        opacity: 0.3;
    }
}

/* 图片加载完成后隐藏骨架屏 */
.banner-skeleton.hidden {
    opacity: 0;
    pointer-events: none;
}

/*
* ----------------------------------------------------------------------------------------
* 减动媒体查询 - 为敏感用户提供无动画体验
* ----------------------------------------------------------------------------------------
*/

/* 用户启用减动模式时，禁用骨架屏扫光动画 */
@media (prefers-reduced-motion: reduce) {
    .skeleton-overlay {
        animation: none;
        background-position: 0% 0;
        opacity: 0.1; /* 静态背景，非常淡 */
    }

    /* 图片和骨架屏过渡改为即时完成 */
    .banner-picture img,
    .banner-skeleton {
        transition: none;
    }
}

.atf-home-overlay {
    /*background: rgba(0, 0, 0, 0.3);*/
    height: 100%;
    width: 100%;
    display: flex;
    align-items: flex-start;
    padding-top: 120px; /* 为PC端导航栏预留空间 */
    box-sizing: border-box;
    position: relative; /* 确保建立新的堆叠上下文 */
    z-index: 2; /* 确保内容在图片和骨架屏上方 */
    overflow: hidden; /* 防止内容撑开容器 */
}

.atf-single-text {
    padding:80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: auto;
    position: relative;
}

.atf-single-details h3, .atf-single-text h3 {
    color: var(--thm-black);
    margin-bottom: 10px;
    display: inline-block;
    padding: 7px 17px;
    border-radius: 4px;
    font-size: 20px;
}

.atf-single-text h3{
    color:var(--bs-white);
}

.atf-single-text h1, .atf-single-text > h2 {
    color: var(--thm-white);
    font-size: 30px;
    margin-bottom: 20px;
}

.atf-single-text h1 span, .atf-single-text > h2 > span {
    font-size: 20px;
    font-weight: 300;
    text-transform: capitalize;
    letter-spacing: 0;
}

/*
* ----------------------------------------------------------------------------------------
* Banner 容器固定高度 - 防止图片撑开容器
* ----------------------------------------------------------------------------------------
*/

/* Banner 容器（section#home）固定高度 */
.slider-active,
#home {
    position: relative;
    z-index: 1;
    height: 80vh; /* PC 端固定高度 */
    min-height: 80vh;
    max-height: 1080px; /* 超大屏幕限制 */
    overflow: hidden; /* 防止内容溢出 */
}

/* 移动端响应式 */
@media only screen and (max-width: 768px) {
    .slider-active,
    #home {
        height: 100vh;
        min-height: 500px;
        max-height: none;
    }
}

/* 平板设备 */
@media only screen and (min-width: 769px) and (max-width: 1024px) {
    .slider-active,
    #home {
        height: 100vh;
        min-height: 550px;
    }
}

/* 确保 Owl Carousel 容器也遵循固定高度 */
.slider-active .owl-stage-outer,
.slider-active .owl-stage {
    height: 100%;
}

.slider-active .owl-item {
    height: 100%;
}

.slider-active .atf-single-home {
    height: 100%;
}

.slider-active .owl-nav .owl-next,
.slider-active .owl-nav .owl-prev {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    color: var(--v2-text-inverse);
    opacity: 1;
    font-size: 20px;
    transition: all 0.4s ease-in-out;
    width: 60px;
    height: 60px;
    line-height: 50px;
    background: rgba(237, 237, 237, 0.1);
    border-radius: 50%;
    text-align: center;
    z-index: 10;
    pointer-events: auto;

}

.slider-active .owl-nav .owl-prev {
    left: 10px;
}

.slider-active .owl-nav .owl-next {
    right: 10px;
}

.slider-active .owl-nav .owl-next:hover,
.slider-active .owl-nav .owl-prev:hover {
    border-color: var(--v2-primary-500);
    background: var(--v2-primary-500);
    color: var(--v2-text-inverse);
}

/*-- Animations Start --*/
.owl-item.active .atf-single-home .atf-single-text h3 {
    -webkit-animation: fadeInDown 1.7s ease-in-out;
    animation: fadeInDown 1.7s ease-in-out;
}

.owl-item.active .atf-single-home .atf-single-text h1 {
    -webkit-animation: fadeInUp 1.2s ease-in-out;
    animation: fadeInUp 1.2s ease-in-out;
}

.owl-item.active .atf-single-home .atf-single-text p {
    -webkit-animation: fadeInUp 1.8s ease-in-out;
    animation: fadeInUp 1.8s ease-in-out;
}

.owl-item.active .atf-single-home .atf-hero-btn {
    -webkit-animation: fadeInUp 1.2s ease-in-out;
    animation: fadeInUp 1.2s ease-in-out;
}

/* 移动端响应式适配 */
@media only screen and (max-width: 768px) {
    .atf-single-home {
        /* 高度由父容器 .slider-active 控制移动端高度（100vh） */
        background-position: center center;
        background-size: cover;
        padding-top: 0;
    }

    /* 移动端文案靠上显示，避免遮挡产品 */
    .atf-home-overlay {
        padding-top: 100px; /* 移动端导航栏高度 */
        padding-bottom: 20px;
        align-items: flex-start; /* 内容靠上对齐 */
        box-sizing: border-box;
    }

    .atf-single-text {
        padding: 30px 20px;
        text-align: center;
        align-items: center;
        justify-content: flex-start;
        height: auto;
    }

    .atf-single-text h1 {
        font-size: 32px;
        line-height: 1.2;
        margin-bottom: 15px;
    }

    .atf-single-text h3 {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .atf-single-text p {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 20px;
    }

    .atf-hero-btn {
        padding: 8px 20px;
        font-size: 14px;
    }
}

@media only screen and (max-width: 480px) {
    .atf-single-home {
        /* 高度由父容器 .slider-active 控制（100vh） */
    }

    /* 小屏幕同样保持内容靠上 */
    .atf-home-overlay {
        padding-top: 90px; /* 稍微减少顶部间距 */
    }

    .atf-single-text {
        padding: 20px 15px;
        height: auto;
    }

    .atf-single-text h1 {
        font-size: 28px;
    }

    .atf-single-text h3 {
        font-size: 16px;
    }

    .atf-single-text p {
        font-size: 13px;
    }
}

/* 平板设备优化 */
@media only screen and (min-width: 769px) and (max-width: 1024px) {
    .atf-single-home {
        /* 高度由父容器 .slider-active 控制平板高度（100vh） */
    }

    .atf-single-text h1 {
        font-size: 42px;
    }

    .atf-single-text h3 {
        font-size: 20px;
    }
}

/* 1920px到2560px之间保持80vh */
@media only screen and (min-width: 1920px) and (max-width: 2559px) {
    .atf-single-home {
        /* 高度由父容器 .slider-active 控制（80vh） */
    }
}

/* 超大屏幕设备优化 - 仅在2560px以上限制高度 */
@media only screen and (min-width: 2560px) {
    .atf-single-home {
        /* 高度由父容器 .slider-active 控制超大屏幕高度（80vh, 最大1080px） */
    }

    .atf-single-text h1 {
        font-size: 60px;
    }

    .atf-single-text h3 {
        font-size: 26px;
    }

    .atf-single-text p {
        font-size: 20px;
        line-height: 1.8;
    }
}

.atf-single-text p {
    color: var(--thm-white);
    font-size: 16px;
    margin-bottom: 40px;
}

/*
* ----------------------------------------------------------------------------------------
* 首页 V2 首屏规范
* 说明：
* - 仅在首页包裹类 .homepage-v2 下生效，避免影响仍沿用旧视觉的其他 Banner 页面。
* - 统一首屏高度、标题层级、文案宽度与 CTA 位置，使首页首屏与新的 WEB 视觉规范对齐。
* ----------------------------------------------------------------------------------------
*/

.page-wrapper.homepage-v2 .slider-active,
.page-wrapper.homepage-v2 #home {
    height: 800px;
    min-height: 800px;
    max-height: 800px;
}

.page-wrapper.homepage-v2 .atf-home-overlay {
    position: relative;
    isolation: isolate;
    align-items: stretch;
    /* 首屏示例的文案块更贴近版心中心，因此适度收紧顶部与底部留白。 */
    padding-top: calc(var(--v2-nav-height, 64px) + 20px);
    padding-bottom: 32px;
}

/*
 * 首页轮播改为“左文案安全区 + 右侧产品视觉区”语义。
 * 说明：
 * - 产品主体已在设计稿中被安排到右侧，因此这里让容器和行都撑满可用高度，
 *   再将文案列固定贴左并垂直居中，避免继续依赖居中叠加导致文案压住产品。
 * - 只在首页 V2 生效，不回退或污染其它内页 banner。
 */
.page-wrapper.homepage-v2 .atf-home-overlay > .container {
    height: 100%;
    max-width: var(--v2-container-max-width, 1240px);
}

.page-wrapper.homepage-v2 .tpa-home-banner-row {
    height: 100%;
    align-items: center;
    justify-content: flex-start;
}

.page-wrapper.homepage-v2 .tpa-home-banner-copy {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-right: var(--v2-spacing-lg, 32px);
}

/* 首页 banner 不再覆盖整块左侧区域。
 * 说明：
 * - 用户明确要求只给实际文案容器增加背景色，因此这里关闭整块 overlay。
 */
.page-wrapper.homepage-v2 .atf-home-overlay::before {
    content: none;
    display: none;
    background: none;
    opacity: 0;
}

.page-wrapper.homepage-v2 .atf-single-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    /* 左文右图布局下，文案宽度固定在左侧安全阅读区，不再居中覆盖图片主体。 */
    max-width: 560px;
    width: 100%;
    margin: 0;
    padding: 0;
    gap: 14px;
    position: relative;
    text-align: left;
}

.page-wrapper.homepage-v2 .atf-single-text.tpa-home-banner-text {
    /* 文案容器继续保持 shrink-to-fit，保证标题和按钮跟随内容宽度而不是横向撑满。 */
    width: fit-content;
    max-width: min(100%, 520px);
    padding: 12px 20px 12px 0;
    isolation: isolate;
    overflow: visible;
}

/**
 * 首页 Banner 文案块统一改为零外边距，
 * 避免不同标题标签默认 margin 导致多张 Banner 的基线不齐。
 */
.page-wrapper.homepage-v2 .atf-single-text > * {
    margin-top: 0;
    margin-bottom: 0;
    position: relative;
    z-index: 1;
}

.page-wrapper.homepage-v2 .atf-single-details h3,
.page-wrapper.homepage-v2 .atf-single-text h3 {
    display: block;
    padding: 0;
    margin-bottom: 0;
    border-radius: 0;
    background: transparent;
    color: var(--home-hero-copy-body-color, rgba(255, 255, 255, 0.84));
    font-size: var(--v2-h3-font-size, 20px);
    line-height: var(--v2-h3-line-height, 28px);
    font-weight: 500;
    max-width: 100%;
    text-shadow: none;
}

.page-wrapper.homepage-v2 .atf-single-text h1,
.page-wrapper.homepage-v2 .atf-single-text > h2 {
    color: var(--home-hero-copy-heading-color, #FFFFFF);
    /* 首页首屏按 20260407 首屏排版示例切换到 44/52。 */
    font-size: 44px;
    line-height: 52px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 0;
    text-shadow: none;
}

.page-wrapper.homepage-v2 .atf-single-text p {
    /* 正文宽度再收一档，让长文案在桌面端仍保持稳定阅读节奏。 */
    max-width: 500px;
    color: var(--home-hero-copy-body-color, rgba(255, 255, 255, 0.84));
    font-size: var(--v2-h4-font-size, 16px);
    line-height: var(--v2-h4-line-height, 24px);
    text-shadow: none;
}

/**
 * 首页 CTA 在第二轮精修中统一按钮组间距和 focus-visible 表现，
 * 让主按钮、描边按钮在键盘导航与鼠标交互下都沿用同一套层级逻辑。
 */
.page-wrapper.homepage-v2 .tpa-hero-btns {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    /* 新版首屏示例中按钮组与正文更紧，避免 CTA 从文案区脱节。 */
    margin-top: 6px;
}

.page-wrapper.homepage-v2 .tpa-hero-btn.v2-btn {
    transition: transform 0.24s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.24s cubic-bezier(0.4, 0, 0.2, 1),
                background-color 0.24s cubic-bezier(0.4, 0, 0.2, 1),
                border-color 0.24s cubic-bezier(0.4, 0, 0.2, 1),
                color 0.24s cubic-bezier(0.4, 0, 0.2, 1);
}

.page-wrapper.homepage-v2 .tpa-hero-btn.v2-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0.24),
                var(--v2-shadow-card-hover);
}

.page-wrapper.homepage-v2 .tpa-hero-btn.v2-btn.tpa-hero-btn--outline:focus-visible {
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.24),
                var(--v2-shadow-card-hover);
}

/**
 * 首页 Hero 外层容器
 * 说明：
 * 1. 进度条和自定义导航按钮都需要以 wrapper 作为绝对定位参考。
 * 2. Banner 已经切为“外层 wrapper + 内层 slider”结构，因此这里显式建立定位上下文。
 */
.page-wrapper.homepage-v2 .home-ui5-hero-wrapper {
    position: relative;
    margin-bottom: 0;
    overflow: hidden;
}

/**
 * 首页 Hero 轮播根节点
 * 说明：清空 Owl 默认外边距，避免在 wrapper 和下一模块之间产生额外缝隙。
 */
.page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider {
    margin-bottom: 0;
    overflow: hidden;
}

/**
 * 首页 Hero 未初始化兜底
 * 说明：
 * 1. 浏览器实际页面异常的核心现象是：在 Owl 尚未接管前，5 张 Banner 会按普通块级元素直接堆出来。
 * 2. 这里在 .owl-loaded 出现前，只保留第一张 slide 可见，其余 slide 直接隐藏，保证首屏永远只看到 1 张。
 * 3. 一旦 Owl 初始化完成，由脚本接管 DOM 结构和可见性，这组兜底规则自动失效，不影响正常轮播。
 */
.page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider:not(.owl-loaded) .atf-single-home {
    display: none;
}

.page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider:not(.owl-loaded) .atf-single-home:first-child {
    display: block;
}

/**
 * 首页 Hero 单屏裁切链路
 * 说明：
 * 1. 轮播根节点、stage、item、slide 全链路统一高度和 overflow，避免非当前 slide 的图片或文案漏出。
 * 2. 这里只作用于首页 hero，不扩散到其他使用 .slider-active 的页面。
 */
.page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider,
.page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider .owl-stage-outer,
.page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider .owl-stage,
.page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider .owl-item,
.page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider .atf-single-home {
    height: 800px;
    min-height: 800px;
    max-height: 800px;
}

.page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider .owl-stage-outer,
.page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider .owl-item,
.page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider .atf-single-home {
    overflow: hidden;
}

/**
 * 首页 Banner 底部进度条
 * 说明：
 * 1. 5 段进度条与 5 张 Banner 一一对应。
 * 2. 总宽度按 5 段重新放宽，避免新增一段后轨道挤压过窄。
 */
.page-wrapper.homepage-v2 .home-ui5-hero-progress {
    position: absolute;
    left: 50%;
    bottom: 44px;
    transform: translateX(-50%);
    width: clamp(340px, 40vw, 440px);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    z-index: 3;
    pointer-events: auto;
}

/**
 * 首页 Banner 预览标签
 * 说明：
 * 1. 默认隐藏，仅在 hover / focus 进度条时显示。
 * 2. 使用深色半透明底，保证在任意 Banner 底图上都具备可读性。
 */
.page-wrapper.homepage-v2 .home-ui5-hero-progress-label {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 12px);
    transform: translateX(-50%) translateY(6px);
    max-width: min(92vw, 420px);
    min-height: 26px;
    padding: 4px 12px;
    border-radius: var(--v2-radius-pill, 9999px);
    background: rgba(var(--v2-bg-dark-rgb, 24, 32, 43), 0.72);
    color: var(--v2-text-inverse, #FFFFFF);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s step-end;
}

.page-wrapper.homepage-v2 .home-ui5-hero-progress.is-previewing .home-ui5-hero-progress-label {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s;
}

/**
 * Banner 进度条轨道
 * 说明：基础轨道保持浅色透明，填充层通过 ::after 单独控制动画。
 */
.page-wrapper.homepage-v2 .home-ui5-hero-progress span {
    position: relative;
    overflow: hidden;
    height: 6px;
    border-radius: var(--v2-radius-pill, 9999px);
    background: rgba(255, 255, 255, 0.24);
    cursor: pointer;
    outline: none;
}

.page-wrapper.homepage-v2 .home-ui5-hero-progress span:hover,
.page-wrapper.homepage-v2 .home-ui5-hero-progress span:focus-visible {
    background: rgba(255, 255, 255, 0.42);
}

.page-wrapper.homepage-v2 .home-ui5-hero-progress span::after {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--v2-blue-400, #2997FF), var(--v2-blue-200, #7AC8FF));
    border-radius: inherit;
}

.page-wrapper.homepage-v2 .home-ui5-hero-progress span.is-active::after {
    width: 100%;
    animation: homeUi5HeroProgressFill 6s linear forwards;
}

.page-wrapper.homepage-v2 .home-ui5-hero-progress span:not(.is-active)::after {
    width: 0;
    animation: none;
}

/**
 * 首页 Banner 进度条填充动画
 * 说明：与首页主轮播 6 秒自动播放节奏保持一致。
 */
@keyframes homeUi5HeroProgressFill {
    0% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}

/**
 * 首页 Banner 导航按钮尺寸收口
 * 说明：只作用于首页新结构的 #home-slider，不影响其它 Owl 轮播模块。
 */
.page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider .owl-nav .owl-prev,
.page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider .owl-nav .owl-next {
    width: 42px;
    height: 42px;
    line-height: 1;
    border-radius: 50%;
    background: rgba(var(--v2-bg-dark-rgb, 24, 32, 43), 0.75);
    color: var(--v2-text-inverse, #FFFFFF);
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider .owl-nav .owl-prev i,
.page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider .owl-nav .owl-next i {
    display: block;
    line-height: 1;
}

.page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider .owl-nav .owl-prev:hover,
.page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider .owl-nav .owl-next:hover {
    background: var(--v2-primary-500, #2967D3);
}

/**
 * 隐藏首页 Banner 默认圆点
 * 说明：首页只保留自定义 5 段进度条，不允许出现双指示器。
 */
.page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider .owl-dots {
    display: none !important;
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
    .page-wrapper.homepage-v2 .slider-active,
    .page-wrapper.homepage-v2 #home {
        height: 640px;
        min-height: 640px;
        max-height: 640px;
    }

    .page-wrapper.homepage-v2 .atf-home-overlay {
        padding-top: calc(var(--v2-nav-height, 64px) + 16px);
        padding-bottom: 28px;
    }

    .page-wrapper.homepage-v2 .tpa-home-banner-copy {
        max-width: 58%;
        flex: 0 0 58%;
        padding-right: var(--v2-spacing-md, 16px);
    }

    .page-wrapper.homepage-v2 .atf-single-text {
        gap: 14px;
        max-width: 540px;
    }

    .page-wrapper.homepage-v2 .atf-single-text h1,
    .page-wrapper.homepage-v2 .atf-single-text > h2 {
        font-size: 40px;
        line-height: 48px;
    }
}

@media only screen and (max-width: 768px) {
    .page-wrapper.homepage-v2 .slider-active,
    .page-wrapper.homepage-v2 #home {
        height: min(100svh, 640px);
        min-height: 520px;
        max-height: none;
    }

    .page-wrapper.homepage-v2 .atf-home-overlay {
        align-items: stretch;
        padding-top: calc(var(--v2-nav-height, 64px) + 20px);
        padding-bottom: 24px;
    }

    .page-wrapper.homepage-v2 .atf-home-overlay > .container,
    .page-wrapper.homepage-v2 .tpa-home-banner-row {
        height: auto;
    }

    .page-wrapper.homepage-v2 .tpa-home-banner-row {
        justify-content: flex-start;
    }

    .page-wrapper.homepage-v2 .tpa-home-banner-copy {
        max-width: 100%;
        flex: 0 0 100%;
        padding-right: 0;
    }

    .page-wrapper.homepage-v2 .atf-single-text {
        /**
         * 首页 Banner 文案容器在移动端改为居中排布。
         *
         * 说明：
         * 1. 当前移动端仍沿用旧的左对齐规则，导致文案块视觉重心偏左；
         * 2. 这里统一把标题、副标题、正文与按钮组都放回容器中轴线；
         * 3. 保留现有上下间距，只调整对齐方式，不改变内容顺序。
         */
        padding: 0 8px;
        max-width: 100%;
        gap: 14px;
        margin-left: auto;
        margin-right: auto;
        align-items: center;
        text-align: center;
        transform: translateY(30px);
    }

    .page-wrapper.homepage-v2 .atf-single-text.tpa-home-banner-text {
        /* 移动端继续保持整行宽度，避免按钮换行过碎。 */
        width: 100%;
        max-width: 100%;
        padding: 12px 8px 16px;
    }

    /**
     * 移动端标题与正文宽度收口到容器中心。
     *
     * 说明：
     * 1. 即使父容器切换到 text-align:center，部分块级元素仍可能因为历史 max-width
     *    和 margin 规则导致视觉上不完全居中；
     * 2. 这里显式补齐 `margin-left/right:auto`，让标题、副标题、正文都以自身宽度居中。
     */
    .page-wrapper.homepage-v2 .atf-single-text h1,
    .page-wrapper.homepage-v2 .atf-single-text > h2,
    .page-wrapper.homepage-v2 .atf-single-text h3,
    .page-wrapper.homepage-v2 .atf-single-text p {
        margin-left: auto;
        margin-right: auto;
    }

    .page-wrapper.homepage-v2 .tpa-hero-btns {
        /**
         * 移动端 CTA 按钮组保持一行居中显示。
         *
         * 说明：
         * 1. 当前按钮组在小屏下仍偏左，且在局部宽度紧张时容易出现换行；
         * 2. 这里显式锁定 `nowrap`，保证 `Learn More` 和 `Buy Now` 在一行内展示；
         * 3. 若极小屏宽度不足，则优先让按钮本身缩小内边距，而不是换成两行。
         */
        align-items: center;
        gap: 14px;
        margin-top: 2px;
        justify-content: center;
        flex-wrap: nowrap;
        width: 100%;
    }

    /**
     * 移动端 CTA 按钮本体：
     * - 禁止按钮文案内部换行；
     * - 允许按钮按内容宽度收缩，避免一左一右或第二行掉落。
     */
    .page-wrapper.homepage-v2 .tpa-hero-btns .tpa-hero-btn {
        white-space: nowrap;
        flex: 0 1 auto;
    }

    /**
     * 平板与手机端 Banner 进度条
     * 说明：移动端宽度更紧凑，同时把预览气泡抬高空间控制在首屏安全区内。
     */
    .page-wrapper.homepage-v2 .home-ui5-hero-progress {
        bottom: 24px;
        width: clamp(148px, 36vw, 180px);
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        align-items: center;
        gap: 6px;
    }

    .page-wrapper.homepage-v2 .home-ui5-hero-progress-label {
        bottom: calc(100% + 10px);
    }

    .page-wrapper.homepage-v2 .home-ui5-hero-progress span {
        position: relative;
        width: 100%;
        height: 4px;
        flex: initial;
        border-radius: 9999px;
        background: rgba(255, 255, 255, 0.32);
    }

    .page-wrapper.homepage-v2 .home-ui5-hero-progress span::after {
        display: block;
        inset: 0 auto 0 0;
        width: 0;
        height: 100%;
        transform: none;
        background: #FFFFFF;
        border-radius: inherit;
        animation: none;
    }

    .page-wrapper.homepage-v2 .home-ui5-hero-progress span.is-active {
        width: 100%;
        flex-basis: auto;
        background: rgba(255, 255, 255, 0.32);
    }

    .page-wrapper.homepage-v2 .home-ui5-hero-progress span.is-active::after {
        width: 100%;
        background: #FFFFFF;
        animation: homeUi5HeroProgressFill 6s linear forwards;
    }

    .page-wrapper.homepage-v2 .home-ui5-hero-progress span:not(.is-active)::after {
        width: 0;
        animation: none;
    }

    .page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider .owl-nav .owl-prev,
    .page-wrapper.homepage-v2 #home-slider.home-ui5-hero-slider .owl-nav .owl-next {
        width: 34px;
        height: 34px;
    }

    .page-wrapper.homepage-v2 .atf-single-text h1,
    .page-wrapper.homepage-v2 .atf-single-text > h2 {
        font-size: 36px;
        line-height: 42px;
    }

    .page-wrapper.homepage-v2 .atf-single-text h3 {
        font-size: 18px;
        line-height: 26px;
    }

    .page-wrapper.homepage-v2 .atf-single-text p {
        font-size: 15px;
        line-height: 22px;
    }
}

@media only screen and (max-width: 480px) {
    .page-wrapper.homepage-v2 .atf-home-overlay {
        padding-top: calc(var(--v2-nav-height, 64px) + 12px);
    }

    .page-wrapper.homepage-v2 .atf-single-text {
        padding: 0;
    }

    /**
     * 超小屏按钮组继续保持一行。
     *
     * 说明：
     * 1. 480px 以下更容易因为按钮 padding 过大导致挤压换行；
     * 2. 这里小幅收紧横向 padding，优先保住同一行和居中效果。
     */
    .page-wrapper.homepage-v2 .tpa-hero-btns {
        gap: 14px;
    }

    .page-wrapper.homepage-v2 .tpa-hero-btns .tpa-hero-btn {
        padding-left: 16px;
        padding-right: 16px;
    }

    .page-wrapper.homepage-v2 .atf-single-text h1,
    .page-wrapper.homepage-v2 .atf-single-text > h2 {
        font-size: 32px;
        line-height: 38px;
    }

    .page-wrapper.homepage-v2 .home-ui5-hero-progress {
        bottom: 24px;
        width: auto;
        gap: 4px;
    }

    .page-wrapper.homepage-v2 .atf-single-text h3 {
        font-size: 16px;
        line-height: 24px;
    }

    .page-wrapper.homepage-v2 .atf-single-text p {
        font-size: 14px;
        line-height: 22px;
    }
}

/* ========================================================================================
 * 2026-04-07 首页顶部完整重排
 * 说明：
 * - 首页顶部从旧轮播 Hero 改为稳定的双栏首屏结构。
 * - 该实现只作用于首页 .homepage-v2，避免影响其他继续沿用旧 banner 结构的页面。
 * - 由于历史样式对 #home 有全局高度约束，这里用更高优先级的 section#home.tpa-home-hero-v3 覆盖。
 * ======================================================================================== */

.page-wrapper.homepage-v2 section#home.tpa-home-hero-v3 {
    position: relative;
    height: auto;
    min-height: 800px;
    max-height: none;
    padding: calc(var(--v2-nav-height, 64px) + 36px) 0 40px;
    background:
        radial-gradient(
            circle at 82% 18%,
            rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0.08) 0%,
            rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0) 36%
        ),
        linear-gradient(
            180deg,
            var(--v2-bg-content, #F9FAFC) 0%,
            var(--v2-bg-primary, #FFFFFF) 38%,
            var(--v2-bg-primary, #FFFFFF) 100%
        );
    overflow: hidden;
}

.page-wrapper.homepage-v2 section#home.tpa-home-hero-v3::before,
.page-wrapper.homepage-v2 section#home.tpa-home-hero-v3::after {
    content: '';
    position: absolute;
    pointer-events: none;
    z-index: 0;
}

.page-wrapper.homepage-v2 section#home.tpa-home-hero-v3::before {
    top: 124px;
    right: min(3vw, 48px);
    width: min(32vw, 420px);
    height: min(32vw, 420px);
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0.12) 0%,
        rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0.025) 42%,
        rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0) 72%
    );
    filter: blur(2px);
}

.page-wrapper.homepage-v2 section#home.tpa-home-hero-v3::after {
    left: -80px;
    bottom: -120px;
    width: min(28vw, 360px);
    height: min(28vw, 360px);
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(var(--v2-primary-400-rgb, 79, 137, 224), 0.10) 0%,
        rgba(var(--v2-primary-400-rgb, 79, 137, 224), 0) 70%
    );
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3 > .container {
    position: relative;
    z-index: 1;
    max-width: var(--v2-container-max-width, 1240px);
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
    gap: 28px;
    align-items: center;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 560px;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    color: var(--v2-primary-700, #184AAD);
    font-size: 14px;
    line-height: 22px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__eyebrow::before {
    content: '';
    width: 24px;
    height: 1px;
    background: rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0.5);
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__copy h1 {
    margin: 0 0 18px;
    color: var(--v2-text-heading, #171A1D);
    font-size: 44px;
    line-height: 52px;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__lead {
    max-width: 520px;
    margin: 0;
    color: var(--v2-text-body, #3A3A3C);
    font-size: 16px;
    line-height: 24px;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__actions {
    margin-top: 28px;
    justify-content: flex-start;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__actions .tpa-hero-btn--solid {
    background: var(--v2-primary-500, #2967D3);
    border-color: var(--v2-primary-500, #2967D3);
    color: var(--v2-text-inverse, #FFFFFF);
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__actions .tpa-hero-btn--solid:hover {
    background: var(--v2-primary-400, #4F89E0);
    border-color: var(--v2-primary-400, #4F89E0);
    color: var(--v2-text-inverse, #FFFFFF);
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__actions .tpa-hero-btn--outline {
    background: rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0.04);
    border-color: rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0.28);
    color: var(--v2-primary-700, #184AAD);
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__actions .tpa-hero-btn--outline:hover {
    background: rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0.10);
    border-color: rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0.42);
    color: var(--v2-primary-800, #0C3187);
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__highlights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
    margin-top: 28px;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__highlight {
    min-height: 104px;
    padding: 18px 18px 20px;
    border: 1px solid rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0.10);
    border-radius: var(--v2-radius-md, 12px);
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(16px);
    box-shadow: 0 18px 50px rgba(11, 28, 54, 0.06);
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__highlight-label {
    display: block;
    margin-bottom: 10px;
    /* 副标题需承担核心卖点说明，颜色提升到正文级别，避免在提亮背景上继续发灰。 */
    color: var(--v2-text-body, #3A3A3C);
    font-size: 12px;
    line-height: 18px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__highlight strong {
    display: block;
    color: var(--v2-text-heading, #171A1D);
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__visual {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__visual-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0.10);
    border-radius: 32px;
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.94) 0%,
            rgba(255, 255, 255, 0.86) 100%
        );
    box-shadow: 0 30px 70px rgba(9, 28, 56, 0.10);
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__visual-card--hero {
    min-height: 508px;
    padding: 34px 34px 0;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__visual-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 14px;
    border-radius: var(--v2-radius-button-pill, 22px);
    background: rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0.08);
    color: var(--v2-primary-700, #184AAD);
    font-size: 13px;
    line-height: 20px;
    font-weight: 700;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__visual-card h2 {
    margin: 18px 0 10px;
    color: var(--v2-text-heading, #171A1D);
    font-size: clamp(30px, 3vw, 40px);
    line-height: 1.12;
    font-weight: 700;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__visual-card p {
    max-width: 420px;
    margin: 0;
    color: var(--v2-text-body, #3A3A3C);
    font-size: 16px;
    line-height: 24px;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__visual-media {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 352px;
    margin-top: 24px;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__visual-media picture,
.page-wrapper.homepage-v2 .tpa-home-hero-v3__visual-media img {
    width: 100%;
    max-width: 520px;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    display: block;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__visual-stack {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__mini-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 176px;
    gap: 18px;
    padding: 22px 24px;
    border: 1px solid rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0.10);
    border-radius: var(--v2-radius-lg, 24px);
    background: rgba(255, 255, 255, 0.84);
    box-shadow: 0 18px 48px rgba(11, 28, 54, 0.08);
    text-decoration: none;
    transition: transform 0.24s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.24s cubic-bezier(0.4, 0, 0.2, 1),
                border-color 0.24s cubic-bezier(0.4, 0, 0.2, 1);
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__mini-card:hover,
.page-wrapper.homepage-v2 .tpa-home-hero-v3__mini-card:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(var(--v2-primary-500-rgb, 41, 103, 211), 0.24);
    box-shadow: 0 24px 54px rgba(11, 28, 54, 0.11);
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__mini-copy {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__mini-copy span {
    color: var(--v2-text-secondary, #6E6E73);
    font-size: 13px;
    line-height: 20px;
    font-weight: 600;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__mini-copy strong {
    color: var(--v2-text-heading, #171A1D);
    font-size: 20px;
    line-height: 28px;
    font-weight: 700;
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__mini-card picture,
.page-wrapper.homepage-v2 .tpa-home-hero-v3__mini-card img {
    width: 42%;
    max-width: 140px;
    height: auto;
    object-fit: contain;
    display: block;
    transition: transform 0.24s cubic-bezier(0.4, 0, 0.2, 1);
}

.page-wrapper.homepage-v2 .tpa-home-hero-v3__mini-card:hover img,
.page-wrapper.homepage-v2 .tpa-home-hero-v3__mini-card:hover picture {
    transform: translateY(-2px) scale(1.02);
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
    .page-wrapper.homepage-v2 section#home.tpa-home-hero-v3 {
        min-height: 760px;
        padding-top: calc(var(--v2-nav-height, 64px) + 28px);
    }

    .page-wrapper.homepage-v2 .tpa-home-hero-v3__grid {
        grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
        gap: 24px;
    }

    .page-wrapper.homepage-v2 .tpa-home-hero-v3__highlights {
        grid-template-columns: 1fr;
    }
}

@media only screen and (max-width: 991px) {
    .page-wrapper.homepage-v2 section#home.tpa-home-hero-v3 {
        min-height: 640px;
        padding-top: calc(var(--v2-nav-height, 64px) + 24px);
        padding-bottom: 32px;
    }

    .page-wrapper.homepage-v2 .tpa-home-hero-v3__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .page-wrapper.homepage-v2 .tpa-home-hero-v3__copy,
    .page-wrapper.homepage-v2 .tpa-home-hero-v3__lead {
        max-width: 100%;
    }

    .page-wrapper.homepage-v2 .tpa-home-hero-v3__highlights {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .page-wrapper.homepage-v2 .tpa-home-hero-v3__visual-card--hero {
        min-height: 460px;
    }
}

@media only screen and (max-width: 767px) {
    .page-wrapper.homepage-v2 section#home.tpa-home-hero-v3 {
        min-height: 520px;
        padding-top: calc(var(--v2-nav-height, 64px) + 16px);
        padding-bottom: 24px;
    }

    .page-wrapper.homepage-v2 .tpa-home-hero-v3__copy h1 {
        font-size: 36px;
        line-height: 42px;
    }

    .page-wrapper.homepage-v2 .tpa-home-hero-v3__actions {
        width: 100%;
        justify-content: flex-start;
    }

    .page-wrapper.homepage-v2 .tpa-home-hero-v3__highlights {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .page-wrapper.homepage-v2 .tpa-home-hero-v3__visual-card--hero {
        min-height: 420px;
        padding: 24px 24px 0;
        border-radius: 28px;
    }

    .page-wrapper.homepage-v2 .tpa-home-hero-v3__visual-media {
        height: 248px;
    }

    .page-wrapper.homepage-v2 .tpa-home-hero-v3__visual-stack {
        grid-template-columns: 1fr;
    }

    .page-wrapper.homepage-v2 .tpa-home-hero-v3__mini-card {
        min-height: 148px;
    }
}

@media only screen and (max-width: 480px) {
    .atf-single-text p {
        color: var(--thm-white);
        margin: auto;
        width: 100%;
        margin-bottom: 25px;
    }
}

@media only screen and (max-width: 820px) {
    .slider-active .owl-nav .owl-next,
    .slider-active .owl-nav .owl-prev {
        display: none !important;
    }
}


/* START HOME 2 */
/* #home 的样式已在前面第 1297-1304 行统一定义 */

.atf-hero-area {
    background-color: var(--thm-f6);
    height: 750px;
    overflow: hidden;
    z-index: 1;
}

.atf-hero-area::before {
    content: '';
    position: absolute;
    right: 0px;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0.7;
    z-index: -1;
}

.atf-align-items-details {
    display: flex;
    align-items: center;
    min-height: 100%;
}

.atf-hero-area .atf-single-details h5 {
    color: var(--thm-color);
    font-size: 30px;
    font-weight: 700;
    line-height: 40px;
    text-transform: capitalize;
}

.atf-single-details {
    z-index: 1;
}

.atf-hero-area .atf-single-details h2 {
    color: var(--thm-white);
    text-transform: capitalize;
    font-size: 60px;
    line-height: 1.2;
    text-shadow: 1px 1px 15px rgba(225, 225, 225, 0.2);
}

.atf-hero-area .atf-single-details p {
    margin: 10px 0 23px;
    font-size: 16px;
    font-weight: 400;
    color: var(--thm-white);
    margin: 25px 0 40px;
}

@media only screen and (max-width: 767px) {
    .atf-hero-area .atf-single-details h2 {
        font-size: 50px;
    }

}

@media screen and (max-width: 320px) and (min-width: 0px) {
    .atf-hero-area .atf-single-details h2 {
        font-size: 25px;
        line-height: 36px;
    }
}

/*
* ----------------------------------------------------------------------------------------
* 03.END HOME DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 04.START FEATURE DESIGN
* ----------------------------------------------------------------------------------------
*/
#feature {
    background: var(--v2-bg-functional);
    position: relative;
}


.atf-feature-content {
    background: var(--v2-bg-primary);
    padding: 25px;
    box-sizing: border-box;
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
    -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}

.atf-feature-content:hover {
    -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
}

.atf-feature-text h4 {
    padding: 20px 0 5px;
    color: var(--v2-text-heading);
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
}

.atf-feature-text > p {
    min-height: 250px;
}

.atf-feature-content .read {
    text-decoration: underline;
    font-weight: 700;
    transition: all 0.3s ease-in-out 0s;
}

.atf-feature-content .read:hover {
    color: var(--v2-primary-500);
    text-decoration: inherit;
}

.atf-feature-text h4:hover {
    color: var(--v2-primary-500);
}

/*
* ----------------------------------------------------------------------------------------
* 04. END FEATURE DESIGN
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 05.START SERVICE DESIGN
* ----------------------------------------------------------------------------------------
*/
#service {
    position: relative;
}

.atf-single-service {
    position: relative;
}

.atf-single-service {
    padding: 30px 25px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    background-color: var(--v2-bg-primary);
    transition: all 0.3s ease-in-out 0s;
    position: relative;
}

.atf-single-service:hover {
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
}

/*--- CoreValues  ----- feature  --*/
.feature_li_bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    z-index: 10;
    background-size: cover;
    background-position: center center;
    transition: all .5s;
    /*animation: flipInX 1s linear;*/
}


/*=========================================================================================*/

/* ========================================
   产品特点模块 - 完全优化版样式
   ======================================== */

/* --------------------------------------
   1. 基础变量定义
   -------------------------------------- */
:root {
    --feature-item-min-height: 450px;
    --feature-visual-height: 260px;
    --feature-visual-height-md: 240px;
    --feature-visual-height-sm: 220px;
    --feature-border-radius: 15px;
    --feature-transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    --feature-icon-size: 60px;
    --feature-icon-size-sm: 50px;
}

/* --------------------------------------
   2. 产品特点项目容器
   -------------------------------------- */
.feature-item {
    position: relative;
    background: var(--color-white);
    border-radius: var(--feature-border-radius);
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(20, 41, 108, 0.08);
    transition: var(--feature-transition);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.feature-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 45px rgba(20, 41, 108, 0.12);
}

/* --------------------------------------
   3. 视觉展示区域
   -------------------------------------- */
.feature-visual {
    position: relative;
    height: auto;
    background: linear-gradient(135deg, var(--v2-bg-functional) 0%, var(--v2-bg-content) 100%);
    overflow: hidden;
}

.feature-img-box {
    width: 100%;
    height: auto;
    padding: 0;
}

.feature-img {
    margin: 0;
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: auto;
    object-fit: contain;
    transition: var(--feature-transition);
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

/* 悬停遮罩层 */
.feature-hover-layer {
    position: absolute;
    inset: 0;
    background: linear-gradient(-45deg, rgba(var(--v2-primary-700-rgb), 0.96), rgba(var(--v2-primary-500-rgb), 0.94));
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: var(--feature-transition);
}

.feature-hover-content {
    text-align: center;
    color: var(--color-white);
    padding: 20px;
    transform: translateY(20px);
    transition: var(--feature-transition);
}

.feature-hover-icon {
    width: var(--feature-icon-size);
    height: var(--feature-icon-size);
    margin: 0 auto 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    backdrop-filter: blur(10px);
}

.feature-hover-icon i {
    font-size: 28px;
    color: var(--color-white);
}

.feature-hover-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 10px;
    color: var(--color-white);
}

.feature-hover-desc {
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
}

/* --------------------------------------
   4. 内容信息区域
   -------------------------------------- */
.feature-info {
    flex: 1;
    padding: 30px;
    display: flex;
    flex-direction: column;
    background: var(--v2-bg-primary);
}

.feature-info-icon {
    width: var(--feature-icon-size);
    height: var(--feature-icon-size);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(-45deg, var(--v2-primary-600), var(--v2-primary-500));
    border-radius: 50%;
    transition: var(--feature-transition);
}

.feature-info-icon i {
    font-size: 26px;
    color: var(--color-white);
}

.feature-info-content {
    flex: 1;
}

.feature-info-content h4 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 15px;
    color: var(--v2-text-heading);
}

.feature-info-content h4 a {
    color: inherit;
    text-decoration: none;
    position: relative;
    display: inline-block;
    transition: color 0.3s ease;
}

.feature-info-content h4 a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--v2-primary-600);
    transition: width 0.3s ease;
}

.feature-info-content h4 a:hover {
    color: var(--v2-primary-600);
}

.feature-info-content h4 a:hover::after {
    width: 100%;
}

.feature-info-content p {
    font-size: 14px;
    line-height: 1.8;
    color: var(--v2-text-secondary);
    margin: 0;
}

/* --------------------------------------
   5. 悬停交互效果
   -------------------------------------- */
.feature-item:hover .feature-img {
    transform: scale(1.08);
}

.feature-item:hover .feature-hover-layer {
    opacity: 1;
}

.feature-item:hover .feature-hover-content {
    transform: translateY(0);
}

.feature-item:hover .feature-info-icon {
    transform: rotate(360deg) scale(1.1);
    background: var(--v2-primary-600);
}

/* --------------------------------------
   6. 响应式设计 - 大屏幕
   -------------------------------------- */
@media (min-width: 1400px) {
    .feature-visual {
        height: 280px;
    }

    .feature-info {
        padding: 35px;
    }

    .feature-info-content h4 {
        font-size: 22px;
    }

    .feature-info-content p {
        font-size: 15px;
    }
}

/* --------------------------------------
   7. 响应式设计 - 平板设备
   -------------------------------------- */
@media (max-width: 991px) {
    .feature-visual {
        height: var(--feature-visual-height-md);
    }

    .feature-info {
        padding: 25px;
    }

    .feature-hover-title {
        font-size: 20px;
    }

    .feature-hover-desc {
        font-size: 13px;
    }
}

/* --------------------------------------
   8. 响应式设计 - 移动设备
   -------------------------------------- */
@media (max-width: 767px) {
    :root {
        --feature-icon-size: 50px;
    }

    .feature-item {
        border-radius: 12px;
        margin-bottom: 20px;
    }

    .feature-visual {
        height: var(--feature-visual-height-sm);
    }

    .feature-img-box {
        padding: 0;
    }

    .feature-info {
        padding: 20px;
    }

    .feature-info-icon {
        width: var(--feature-icon-size-sm);
        height: var(--feature-icon-size-sm);
        margin-bottom: 15px;
    }

    .feature-info-icon i {
        font-size: 22px;
    }

    .feature-info-content h4 {
        font-size: 18px;
        margin-bottom: 12px;
    }

    .feature-info-content p {
        font-size: 13px;
        line-height: 1.7;
    }

    .feature-hover-icon {
        width: 50px;
        height: 50px;
    }

    .feature-hover-icon i {
        font-size: 24px;
    }

    .feature-hover-title {
        font-size: 18px;
    }

    .feature-hover-desc {
        display: none;
    }

    /* 移动端触摸优化 */
    .feature-item:active {
        transform: scale(0.98);
    }

    .feature-item:active .feature-hover-layer {
        opacity: 0.95;
    }
}

@media (max-width: 575px) {
    .feature-visual {
        height: auto;
    }

    .feature-img-box {
        padding: 0;
    }

    .feature-info {
        padding: 18px;
    }

    .feature-info-content h4 {
        font-size: 17px;
    }

    .feature-info-content p {
        font-size: 13px;
        line-height: 1.6;
    }
}

/* --------------------------------------
   9. 动画性能优化
   -------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    .feature-item,
    .feature-img,
    .feature-hover-layer,
    .feature-hover-content,
    .feature-info-icon {
        transition: none !important;
        animation: none !important;
    }

    .feature-item:hover {
        transform: none;
    }
}

/* --------------------------------------
   10. 可访问性支持
   -------------------------------------- */
.feature-item:focus-within {
    outline: 2px solid var(--thm-base);
    outline-offset: 3px;
}

.feature-info-content h4 a:focus {
    outline: none;
    text-decoration: underline;
    text-decoration-color: var(--thm-base);
    text-decoration-thickness: 2px;
}

/* 高对比度模式 */
@media (prefers-contrast: high) {
    .feature-item {
        border: 2px solid var(--thm-black);
    }

    .feature-info-content h4 {
        font-weight: 700;
    }

    .feature-info-content p {
        color: var(--thm-p);
    }
}

/* --------------------------------------
   11. 深色模式支持（可选）
   -------------------------------------- */
@media (prefers-color-scheme: dark) {
    .feature-item {
        background: #1a1a1a;
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
    }

    .feature-visual {
        background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 100%);
    }

    .feature-info {
        background: #1a1a1a;
    }

    .feature-info-content h4 {
        color: #ffffff;
    }

    .feature-info-content p {
        color: rgba(255, 255, 255, 0.7);
    }
}


/* --------------------------------------
   13. 浏览器兼容性
   -------------------------------------- */
/* Safari 优化 */
@supports (-webkit-appearance: none) {
    .feature-item {
        -webkit-transform: translateZ(0);
        -webkit-backface-visibility: hidden;
    }
}

/* Firefox 优化 */
@-moz-document url-prefix() {
    .feature-info-icon {
        transform-style: preserve-3d;
    }
}


/*=========================================================================================*/


/*CoreValues -- style --- start ---*/


/*.CoreValues_li_bg {*/
/*    !*animation: flipInY 1s ease-in-out;*!*/

/*}*/


/*.CoreValues_ul_box > .atf-feature-content {*/
/*    background-color: transparent;*/

/*    transition:all 1s;*/
/*}*/

/*.CoreValues_ul_box .atf-feature-text > h4, .atf-feature-text > p {*/
/*    color: var(--color-white);*/
/*}*/


/*.CoreValues_ul_box .atf-feature-content > .atf-feature-icon{*/
/*    transform: translateY(100px) scale(1.6);*/
/*    transition: all ease .4s;*/
/*}*/

/*.CoreValues_ul_box .atf-feature-content > .atf-feature-text > h4{*/
/*    transform: translateY(120px);*/
/*    transition: all ease .4s;*/
/*}*/

/*.CoreValues_ul_box .atf-feature-text > p {*/
/*    transform: translateX(250px) scale(0);*/
/*    !*display: none;*!*/
/*}*/


/* Removed old CoreValues row-based styles - now using custom flex container */


/*.CoreValues_ul_box:hover .atf-feature-content > .atf-feature-icon{*/
/*    will-change: transform;*/
/*    transform: translateY(0) scale(1);*/
/*}*/

/*.CoreValues_ul_box:hover .atf-feature-content > .atf-feature-text > h4{*/
/*    will-change: transform;*/
/*    transform: translateY(0);*/
/*}*/

/*.CoreValues_ul_box:hover .atf-feature-text > p{*/
/*    will-change: transform;*/
/*    transform: translateX(0) scale(1);*/
/*    animation: fadeInUp .6s ease-in-out;*/
/*}*/


/*animation_name- rotateOutDownLeft -- fadeOutDown --- fadeIn --- flipInX ---- rotateInDownLeft-*/

@media screen and (max-width: 750px) {

    /* OLD CoreValues styles - commented
    .CoreValues_ul_box {
        margin-bottom: 10px;
    }*/
    .atf-feature-text > p {
        min-height: 180px;
    }


}


/*CoreValues -- style --- end ---*/


.atf-service-text h4 {
    transition: all 0.3s ease-in-out 0s;
}

.atf-service-text h4:hover {
    color: var(--thm-color);
}

.atf-service-text > p {
    min-height: 140px;
}

.atf-service-icon i {
    color: var(--thm-color);
    font-size: 60px;
    text-align: center;
    color: var(--thm-color);
}

.atf-single-service {
    margin: 15px 0;
}

/*
* ----------------------------------------------------------------------------------------
* 05. END SERVICE DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 06. START HIRE  DESIGN
* ----------------------------------------------------------------------------------------
*/
.atf-hire-area .atf-video-img {
    position: relative;
}

.atf-video-img {
    position: relative;
}

.atf-video-img .waves-box {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.atf-video-img .iq-video {
    background: var(--thm-base);
    display: inline-block;
    width: 70px;
    height: 70px;
    text-align: center;
    font-size: 20px;
    color: var(--thm-white);
    border-radius: 100%;
    line-height: 53px;
    z-index: 1020;
    position: relative;
    border: 8px solid var(--thm-color);
}

.atf-video-img .iq-video i {
    margin-left: 3px;
}

.atf-video-img .iq-waves {
    position: absolute;
    left: -30px;
    top: -30px;
    z-index: 2;
}

.atf-video-img .iq-waves .wave-1 {
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
}

.atf-video-img .iq-waves .waves {
    position: absolute;
    width: 130px;
    height: 130px;
    background: rgba(234 237 249 / 50%);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    border-radius: 50%;
    background-clip: padding-box;
    -webkit-animation: waves 3s ease-in-out infinite;
    animation: waves 3s ease-in-out infinite;
}

.atf-video-img .iq-waves .wave-1 {
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
}

.atf-video-img .iq-waves .wave-2 {
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
}

.atf-video-img .iq-waves .wave-3 {
    -webkit-animation-delay: 2s;
    animation-delay: 2s;
}

@-webkit-keyframes waves {
    0% {
        -webkit-transform: scale(0.2, 0.2);
        transform: scale(0.2, 0.2);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    }
    50% {
        opacity: 0.9;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
    }
    100% {
        -webkit-transform: scale(0.9, 0.9);
        transform: scale(0.9, 0.9);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    }
}

@keyframes waves {
    0% {
        -webkit-transform: scale(0.2, 0.2);
        transform: scale(0.2, 0.2);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    }
    50% {
        opacity: 0.9;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
    }
    100% {
        -webkit-transform: scale(0.9, 0.9);
        transform: scale(0.9, 0.9);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    }
}

/*
* ----------------------------------------------------------------------------------------
* 06. END VIDEO  DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 07. START product
* ----------------------------------------------------------------------------------------
*/
.atf-single-team {
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    padding-bottom: 25px;
    transition: all 0.3s ease-in-out 0s;
}

.atf-single-team:hover {
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
}

.atf-single-team .atf-team-pic {
    position: relative;
    margin-bottom: 20px;
    /*overflow: hidden;*/
}

.atf-single-team .atf-team-pic img,
.atf-single-team .atf-team-pic picture {
    width: 100%;
    height: auto;
    display: block;
}

.atf-single-team .atf-team-pic picture img {
    width: 100%;
    height: auto;
    display: block;
}

.atf-single-team:not(.atf-product-card) .atf-team-pic:hover img,
.atf-single-team:not(.atf-product-card) .atf-team-pic:hover picture {
    transform: scale(1.3); /*rotateX(-10deg) rotateZ(10deg)*/
    transition: all .5s ease;
    -webkit-filter: drop-shadow(5px 10px 5px rgba(0, 0, 0, .5)); /*考虑浏览器兼容性：兼容 Chrome, Safari, Opera */
    filter: drop-shadow(5px 10px 5px rgba(0, 0, 0, .5));
    /*-webkit-box-reflect:below -75px -webkit-linear-gradient(transparent, transparent 20%, rgba(0, 0, 0, 0.1));*/
}

.atf-single-team:not(.atf-product-card) .atf-team-pic:hover picture img {
    transform: scale(1.3);
    transition: all .5s ease;
    -webkit-filter: drop-shadow(5px 10px 5px rgba(0, 0, 0, .5));
    filter: drop-shadow(5px 10px 5px rgba(0, 0, 0, .5));
}

.atf-single-team .atf-team-pic-bottom {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    transition: all 0.3s ease 0s;
}

.atf-single-team .atf-team-pic-bottom:after {
    content: "\f002";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: relative;
    top: 45%;
    left: 0;
    opacity: 0;
    color: var(--thm-white);
    font-size: 35px;
    transition: all 0.3s ease 0s;
}

.atf-single-team .atf-team-title {
    font-size: 18px;
    font-weight: 600;
    line-height: 27px;
    margin-bottom: 5px;
}

.atf-single-team .atf-team-title a {
    color: var(--thm-black);
    transition: all 0.3s ease 0s;
}

.atf-single-team .atf-team-title a:hover {
    color: var(--thm-color);
    text-decoration: none;
}

.atf-single-team .atf-team-post {
    margin-bottom: 15px;
    display: block;
    font-size: 15px;
}

.atf-single-team .atf-team_social {
    list-style: none;
    padding: 0;
}

.atf-single-team .atf-team_social > li {
    display: inline-block;
}

.atf-single-team .atf-team_social > li > a {
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 50%;
    display: block;
    color: var(--thm-black);
    background: #efefef;
    transition: all 0.3s ease 0s;
    text-align: center;
    margin-right: 5px;
}

.atf-single-team .atf-team_social > li > a:hover {
    background: var(--thm-color);
    color: var(--thm-white);
}

.atf-team-prof {
    padding-left: 20px;
}

@media screen and (max-width: 991px) {
    .atf-single-team {
        margin-bottom: 30px;
    }
}

/*
* ----------------------------------------------------------------------------------------
* 08. END TEAM product
* ----------------------------------------------------------------------------------------
*/


/*
* ----------------------------------------------------------------------------------------
* START SKILL DESIGN
* ----------------------------------------------------------------------------------------
*/
.atf_skill_name {
    width: 80px;
    height: 40px;
    line-height: 40px;
    font-weight: bold;
    font-size: 13px;
    color: white;
    clear: both;
    float: left;
    border-radius: 3px 0px 0px 3px;
    text-align: center;
}

#atf_skill_php {
    background-color: #088A85;
}

#atf_skill_asp {
    background-color: #5858FA;
}

#atf_skill_jsp {
    background-color: var(--thm-black);
}

.atf_skillbar_wrapper {
    float: left;
    position: relative;
    display: block;
    margin-bottom: 15px;
    width: 400px;
    background-color: #E6E6E6;
    height: 40px;
    border-radius: 0px 3px 3px 0px;
}

.atf_skillbar_bar {
    height: 40px;
    width: 0px;
    border-radius: 0px 3px 3px 0px;
}

#atf_skillbar_php {
    background-color: #01DFD7;
}

#atf_skillbar_asp {
    background-color: #8181F7;
}

#atf_skillbar_jsp {
    background-color: var(--thm-black);
    opacity: 0.7;
}

.atf_skill_bar_percent {
    position: absolute;
    right: 10px;
    top: 0;
    font-size: 12px;
    height: 35px;
    line-height: 35px;
    color: black;
}

/*
* ----------------------------------------------------------------------------------------
*END SKILL DESIGN
* ----------------------------------------------------------------------------------------
*/


/*
* --------------------------------------
* 09. START COUNTER DESIGN
* --------------------------------------
*/
.atf-counter-value {
    padding: 0px 0px 5px;
    font-size: 25px;
    font-weight: 600;
    color: var(--thm-white);
}

.atf-counter-content {
    padding: 20px 20px;
    background: var(--thm-line);
    border-radius: 5px;
    text-align: left;
}

.atf-counter-content h3 {
    font-weight: 600;
    font-size: 22px;
    color: var(--thm-white);
}

.atf-counter-content i {
    font-size: 25px;
    color: var(--thm-white);
}

/*
* ----------------------------------------------------------------------------------------
* 09. END COUNTER DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 10.START FREQUENTLY DESIGN
* ----------------------------------------------------------------------------------------
*/
#faq {
    background: var(--thm-f8);
}

#faq .atf-section-title {
    margin-bottom: 35px;
    text-align: left;
}

#faqAccordion .card {
    border: none;
    box-shadow: none;
    position: relative;
}

#faqAccordion .card-header {
    padding: 0;
    position: relative;
    margin-bottom: 0;
    color: var(--thm-white);
    background-color: transparent;
    border-bottom: inherit;
}

#faqAccordion .card-header button {
    width: 100%;
}

#faqAccordion .card-header:before {
    content: "";
    width: 1px;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    right: 60px;
    z-index: 1;
}

#faqAccordion .card-header:after {
    content: "";
    border-left: 15px solid #bcb6b9;
    border-top: 15px solid #f2f8ff;
    border-right: 15px solid #f2f8ff;
    position: absolute;
    top: 0;
    right: -15px;
}

#faqAccordion .card-title {
    margin-bottom: 3px;
}

#faqAccordion .card-title a {
    display: block;
    padding: 15px 20px;
    background: var(--thm-line);
    border: none;
    font-size: 18px;
    color: var(--thm-white);
    text-transform: capitalize;
    text-align: left;
    position: relative;
}

#faqAccordion .card-title a:before,
#faqAccordion .card-title a.collapse:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 50%;
    background: var(--thm-color);
    font-size: 15px;
    color: #fff;
    position: absolute;
    top: 13px;
    right: 17px;
    transition: all 0.5s ease 0s;
    text-align: center;
}

#faqAccordion .card-title a:before {
    /*content: "\f068";*/
    /*content: "\f424";*/
    content: "\f078";
}

#faqAccordion .card-title a.collapsed:before {
    content: "\f067";
    /*content: "\f31e";*/
}

#faqAccordion .card-body {
    padding: 10px 20px;
    border: none;
    background: var(--thm-color);
    font-size: 15px;
    color: var(--thm-p);
    line-height: 28px;
    margin-bottom: 5px;
}

/*
* ----------------------------------------------------------------------------------------
* 10. END  FREQUENTLY DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 11.START TESTIMONIAL DESIGN
* ----------------------------------------------------------------------------------------
*/
.atf-testimonial {
    background: var(--thm-line);
    border-radius: 5px;
    padding: 30px;
}

.atf-testimonial .atf-testimonial-pic {
    width: 90px;
    height: 90px;
    margin: 0 30px 15px 0;
    float: left;
}

.atf-testimonial .atf-testimonial-pic img,
.atf-testimonial .atf-testimonial-pic picture {
    width: 100%;
    height: auto;
    border-radius: 50%;
    display: block;
}

.atf-testimonial .atf-testimonial-pic picture img {
    width: 100%;
    height: auto;
    border-radius: 50%;
}

.atf-testimonial .atf-testimonial-title {
    color: var(--thm-black);
    font-size: 20px;
    margin-top: 5px;
    font-weight: 400;
    text-transform: capitalize;
}

.atf-testimonial .atf-testimonial-title small {
    color: var(--thm-white);
    font-size: 13px;
    font-weight: 500;
    margin-top: 10px;
}

.atf-testimonial .atf-testimonial-review p {
    font-size: 14px;
    line-height: 28px;
    margin-bottom: 0;
    display: block;
    overflow: hidden;
}

@media screen and (max-width: 990px) {
    .testimonial-parallax h2 {
        margin-bottom: 40px;
    }

    .testimonial {
        margin: 0;
    }

}

/* owl theme */
.atf-main-testimonials.owl-theme .owl-nav.disabled + .owl-dots {
    margin-left: 50px;
    line-height: .7;
}

.atf-main-testimonials .owl-controls {
    margin-left: -25px;
}

.atf-main-testimonials.owl-theme .owl-dots .owl-dot span {
    width: 15px;
    height: 8px;
    margin: 0 8px;
    border-radius: 5px;
    background: transparent;
    border: 1px solid var(--thm-black);
    transition: 0.3s all ease-in-out;
    margin-top: 30px;
}

.atf-main-testimonials.owl-theme .owl-dots .owl-dot.active span,
.atf-main-testimonials.owl-theme .owl-dots .owl-dot:hover span {
    background: var(--thm-color);
    width: 35px;
    transition: 0.3s all ease-in-out;
    border: 1px solid var(--thm-color);
}

/*
* ----------------------------------------------------------------------------------------
* START COMPANY BRAND LOGO DESIGN
* ----------------------------------------------------------------------------------------
*/
#atf-brand-area .owl-controls {
    display: none;
}

.atf-brand-active {
    text-align: center
}

.atf-brand-active.owl-carouse > img,
.atf-brand-active.owl-carouse > picture,
.owl-item.cloned > img,
.owl-item.cloned > picture {
    height: 18vh;
    width: auto;
    display: inline-block;
}

.atf-brand-active.owl-carouse > picture img,
.owl-item.cloned > picture img {
    height: 18vh;
    width: auto;
}

.atf-brand-active > a {
    display: inline-block;
}

.atf-white-logo > img,
.atf-white-logo > picture {
    max-width: 121px;
    display: inline-block;
}

.atf-white-logo > picture img {
    max-width: 121px;
}

/*
* ----------------------------------------------------------------------------------------
* END COMPANY BRAND LOGO DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 11.END TESTIMONIAL DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 12.START BLOG DESIGN
* ----------------------------------------------------------------------------------------
*/
.atf-post-slide {
    position: relative;
}

.atf-post-slide:before {
    content: "";
    border-top: 1px solid transparent;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    transition: all 0.3s ease-in-out 0s;
}

.atf-post-slide .atf-post-img {
    height: 100%;
    position: relative;
    overflow: hidden;
}


.atf-post-slide .atf-post-img > img,
.atf-post-slide .atf-post-img > picture {
    width: 100%;
    max-height: 320px;
    object-fit: cover;
    display: block;
}

.atf-post-slide .atf-post-img > picture img {
    width: 100%;
    max-height: 260px;
    object-fit: cover;
}

.atf-post-slide .atf-post-title > a {
    font-size: 22px;
    text-transform: none;
    color: var(--thm-black);
    transition: all 0.3s ease-in-out 0s;
}

.atf-post-slide .atf-post-title > a:hover {
    text-decoration: none;
    color: var(--thm-color) !important;
}

.atf-post-slide .atf-post-bar {
    padding: 0;
    list-style: none;
    overflow: hidden;
    padding: 10px 15px;
    background: var(--thm-color);
    color: var(--thm-white) !important;
}

.atf-post-slide .atf-post-bar > li {
    display: inline-block;
    border-right: 1px solid var(--thm-white);
    padding: 0 10px;
    float: left;
}

.atf-post-slide .atf-post-bar > li:first-child {
    padding: 0 10px 0 0;
    width: 60%;
}

.atf-post-slide .atf-post-bar > li:first-child > a {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.atf-post-slide .atf-post-bar > li:last-child {
    border: 0px none;
}

.atf-post-slide .atf-post-date,
.atf-post-slide .atf-author,
.atf-post-slide .atf-comment {
    text-transform: capitalize;
    font-size: 14px;
    font-weight: 500;
}

.atf-post-slide .author > a,
.atf-post-slide .comment > a,
.atf-post-slide .comment > i {
    color: var(--thm-color);
    transition: all 0.3s ease-in-out 0s;
}

.atf-post-slide .atf-author > a:hover,
.atf-post-slide .atf-comment > a:hover {
    text-decoration: none;
    color: var(--thm-p);
}

.atf-post-slide .atf-post-date > i,
.atf-post-slide .atf-author > i,
.atf-post-slide .atf-comment > i {
    margin-right: 8px;
    font-size: 15px;
}

.atf-post-slide .atf-post-description {
    line-height: 1.8;
    margin-bottom: 20px;
}

.atf-blog-btn a:hover {
    color: var(--thm-color) !important;
    text-decoration: inherit;
}

.atf-blog-btn {
    font-weight: 700;
    text-decoration: underline;
}

/*--------------------------------------------------------------
START BLOG DETAILS DESIGN
----------------------------------------------------------------*/
.atf-blog-area .atf-blog-up {
    margin-top: 0px ! important
}

.atf-blog-area .atf-post-slide {
    margin: 15px 5px;
}

.atf-post.atf-style1 .atf-post-title {
    font-size: 15px;
    font-weight: 600;
    margin: 12px 5px 5px;
    line-height: 20px;
}

.atf-post-date span {
    font-size: 13px;
}

.atf-sidebar-widget .atf-post.atf-style1 .atf-post-thumb {
    width: 80px;
}

.atf-post.atf-style1 {
    display: flex;
}

.atf-post.atf-style1 .atf-post-thumb {
    flex: none;
    margin-right: 10px;
    width: 70px;
}

.atf-sidebar-widget .atf-post-widget-list > li:not(:last-child) {
    border-bottom: 1px solid #eaeaea;
    padding-bottom: 12px;
    margin-bottom: 12px;
}

.atf-widget {
    margin: 20px 0;
}

.atf-post.atf-style1 .atf-post-title a:hover {
    color: var(--thm-color);
}

.atf-post-info {
    margin-top: -8px;
}

.blog_search {
    margin-bottom: 40px;
    position: relative;
}

.blog_search a {
    position: absolute;
    top: 18px;
    right: 10px;
    font-size: 15px;
    color: var(--thm-color);
    line-height: 50px;
}

.blog_search input {
    background: #f9f9f9 none repeat scroll 0 0;
    border: 1px solid #eee;
    border-radius: 0 !important;
    color: #161616;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    height: calc(2.5em + .75rem + 2px);
}

.blog_search .form-control:focus {
    border-color: var(--thm-color);
    box-shadow: none;
}

.blog_search i {
    position: absolute;
    top: 0;
    right: 5px;
}

.atf-page-heading {
    height: 500px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 20px 0;
    box-sizing: border-box;
    background-size: cover;
    background-position: center center;
    /*background-attachment: fixed;*/
    background-repeat: no-repeat;
}

.atf-page-heading.atf-size-md {
    height: 600px;
}

.atf-page-heading > div {
    position: relative;
    z-index: 1;
}

.atf-page-heading-title {
    color: var(--thm-white);
    font-size: 45px;
    text-align: start;
    margin-bottom: 35px;
}

.atf-breadcamp {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0;
    margin: 0;
}

.atf-breadcamp li {
    color: rgba(255, 255, 255, 0.7);
    list-style: none;
}

.atf-breadcamp li:not(:last-child):after {
    content: '/';
    padding-right: 6px;
    margin-left: 6px;
}

.atf-breadcamp a:hover {
    color: var(--thm-white);
}

.atf-widget {
    border: 1px solid #eaeaea;
    border-radius: 4px;
    padding: 30px;
    background: var(--thm-white);
}

.atf-widget .atf-widget-title {
    font-size: 22px;
    position: relative;
    padding-bottom: 12px;
    margin-bottom: 25px;
    margin-top: -3px;
}

.atf-widget .atf-widget-title::before {
    content: '';
    background-color: var(--thm-color);
    position: absolute;
    left: 26px;
    bottom: 0px;
    height: 2px;
    width: 40px;
}

.atf-widget .atf-widget-title::after {
    content: '';
    background-color: var(--thm-color);
    position: absolute;
    left: 0;
    bottom: 0px;
    height: 4px;
    width: 15px;
}

.atf-widget-list {
    padding: 0;
    margin: 0;
    list-style: none;
    margin-top: 3px;
    margin-bottom: -18px;
    margin-left: -6px;
}

.atf-widget-list li {
    border: 1px dotted #eaeaea;
    background: var(--thm-white);
    margin: 5px;
}

.atf-widget-list a {
    display: block;
    padding: 10px 0;
    padding-left: 12px;
    background: var(--thm-line);
    color: var(--thm-white);
}

.atf-widget-list a:hover {
    color: var(--thm-black);
}

/* .atf-main-showcase{border:none! important; padding:0 ! important;}
 */
.atf-showcase {
    position: relative

}

.atf-showcase-content {
    position: absolute;
    left: 50%;
    top: 50%;
    text-align: center;
    transform: translate(-50%, -50%);
}

.atf-showcase::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, 0.6);
}

.atf-widget-list li::before {
    content: "\f30b";
    color: var(--thm-white);
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    font-size: 15px;
    float: left;
    margin-right: 8px;
    margin-top: 10px;
    margin-left: 15px;
}

.atf-widget-list span {
    float: right;
    padding-right: 15px;
    font-weight: 600;
}

.atf-tagcloud {
    margin-bottom: -10px;
}

.atf-tagcloud .atf-tag {
    display: inline-block;
    font-size: 14px;
    padding: 2px 10px;
    border: 1px solid #eaeaea;
    border-radius: 4px;
    margin-right: 6px;
    margin-bottom: 10px;
}

.atf-tagcloud .atf-tag:hover {
    color: var(--thm-white);
    background-color: var(--thm-color);
    border-color: var(--thm-color);
}

.atf-post-details.atf-style1 {
    font-weight: 300;
    font-size: 18px;
    line-height: 1.8em;
}

.atf-post-details.atf-style1 .slick-slide {
    line-height: 0;
}

.atf-post-details.atf-style1 .atf-post-thumb {
    margin-bottom: 25px;
}

.atf-post-details.atf-style1 .atf-post-thumb img,
.atf-post-details.atf-style1 .atf-post-thumb picture {
    width: 100%;
    display: block;
}

.atf-post-details.atf-style1 .atf-post-thumb picture img {
    width: 100%;
}

.atf-post-details.atf-style1 .atf-post-title {
    font-size: 28px;
    margin-bottom: 9px;
}

.atf-post-details.atf-style1 blockquote {
    background: transparent;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-left: 0 !important;
    border-radius: 0;
    font-weight: 400;
    margin: 20px 0;
    color: var(--v2-text-body);
    text-align: left;
    box-shadow: none;
}

.atf-post-details.atf-style1 blockquote::before,
.atf-post-details.atf-style1 blockquote::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

.atf-post-details.atf-style1 blockquote > p,
.atf-post-details.atf-style1 blockquote cite {
    border: 0 !important;
    border-left: 0 !important;
    padding-left: 0;
    background: transparent;
    box-shadow: none;
}

.atf-post-details.atf-style1 blockquote small {
    display: block;
    line-height: inherit;
    margin-top: 4px;
    color: #b5b5b5;
    font-size: inherit;
    font-size: 16px;
}

.atf-post-details.atf-style1 blockquote small span {
    color: var(--thm-white);
}

.atf-post-details.atf-style1 .atf-post-label {
    margin-bottom: 15px;
}

.atf-post-details.atf-style1 .atf-post-text p {
    margin-bottom: 15px;
}

.atf-post-details.atf-style1 .atf-post-meta {
    display: flex;
    justify-content: space-between;
    padding: 23px 0;
    border-top: 1px solid #eaeaea;
    border-bottom: 1px solid #eaeaea;
}

.atf-post-details.atf-style1 h2 {
    margin-bottom: 10px;
}

.atf-post-details.atf-style1 p {
    margin-bottom: 15px;
}

.atf-post-details.atf-style1 img,
.atf-post-details.atf-style1 picture {
    /* margin-bottom: 20px; */
    border-radius: 4px;
    /* margin-top: 5px; */
    display: inline-block;
}

.atf-post-details.atf-style1 picture img {
    border-radius: 4px;
}

.atf-post-details.atf-style1 .embed-responsive {
    margin-top: 15px;
    margin-bottom: 15px;
}

.atf-post-details.atf-style1 .embed-responsive iframe {
    width: 100%;
    height: 460px;
}

.atf-post-label > span {
    display: inline-block;
    position: relative;
}


.atf-post-label a:hover {
    color: var(--thm-color);
}

.atf-post-tage-list {
    display: flex;
    flex-wrap: wrap;
}

.atf-post-tage-list li {
    margin-right: 5px;
    color: var(--thm-black);
    font-weight: 600;
}

.atf-post-tage-list li:not(:last-child):after {
    content: ',';
}

.atf-post-tage-list li a:hover {
    color: var(--thm-color);
}

.atf-post-tages,
.atf-post-share {
    display: flex;
    align-items: center;
}

.atf-post-tages .atf-post-tage-title,
.atf-post-tages .atf-post-share-title,
.atf-post-share .atf-post-tage-title,
.atf-post-share .atf-post-share-title {
    margin: 0;
    font-size: 16px;
    margin-right: 10px;
    line-height: 1.4em;
}

.atf-post-share-btn-list {
    display: flex;
    flex-wrap: wrap;
}

.atf-post-share-btn-list a:not(:last-child) {
    margin-right: 12px;
    color: var(--thm-black);
}

.atf-post-share-btn-list a:hover {
    color: var(--thm-color);
}

.atf-post-btn-gropu {
    display: flex;
    justify-content: space-between;
}

.atf-post-btn-gropu .atf-btn {
    min-width: 170px;
    justify-content: center;
}

.atf-page-heading-in .atf-post-label {
    color: rgba(255, 255, 255, 0.75);
    display: flex;
    justify-content: center;
    margin-top: 6px;
    font-size: 16px;
}


.atf-page-heading-in .atf-post-label > span:not(:last-child) {
    color: rgba(255, 255, 255, 0.75);
}

.atf-page-heading-in .atf-post-label a:hover {
    color: var(--thm-white);
}

.atf-page-heading-subtitle {
    color: rgba(255, 255, 255, 0.7);
    font-size: 18px;
    font-weight: 300;
    margin-top: 7px;
}

@media screen and (max-width: 991px) {
    .atf-page-heading-title {
        font-size: 38px;
    }

    .atf-page-heading-subtitle {
        font-size: 16px;
    }

    .atf-page-heading.atf-size-md {
        height: 350px;
        padding-top: 80px;
    }

    .atf-page-heading-title br {
        display: none;
    }

    .atf-page-heading {
        height: 500px;
        padding-top: 80px;
    }
}

/*--------------------------------------------------------------
 Comment
----------------------------------------------------------------*/
.comments-title,
.comment-reply-title {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 30px;
}

.comment-list-outer,
.comment-respond {
    padding: 40px 30px 10px 30px;
    -webkit-box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.05);
    box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.05);
    border: 1px solid #eaeaea;
    border-radius: 4px;
}

.comment-body {
    position: relative;
    margin-left: 120px;
    margin-bottom: 30px;
    min-height: 90px;
}

.children .comment-body {
    min-height: 70px;
}

.comment-meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.comments-area ol {
    list-style: none;
    padding-left: 0;
}

.comments-area .children {
    padding-left: 130px;
}

/* .comments-area .children .children {
    padding-left: 35px;
} */

.comment-author .avatar {
    height: 90px;
    width: 90px;
    position: absolute;
    top: 0;
    left: -120px;
    border-radius: 50%;
}

.comment-author {
    line-height: 20px;
    margin-bottom: 15px;
    /* margin-right: 30px; */
}

.comment-author a:hover {
    color: var(--thm-color);
}

.comment-author .nm {
    font-weight: 600;
    color: var(--thm-black);
    font-size: 16px;
}

.comment-metadata {
    line-height: 20px;
}

.comment-metadata a {
    font-weight: 600;
    font-size: 14px;
    position: absolute;
    right: 0;
    transition: all 0.3s ease-in-out 0s;
    /* top: 24px; */
}

.comment-metadata a:hover {
    color: var(--thm-color);
}

.comment-content {
    line-height: 25px;
    font-size: 15px;
}

.comment-content p {
    line-height: inherit;
    color: inherit;
    font-size: 14px;
}

.comment-reply-link {
    font-size: 15px;
    color: var(--thm-black);
    position: relative;
    transition: all 0.3s ease-in-out 0s;
}

.comment-reply-link:hover,
.comment-reply-link:focus {
    color: var(--thm-color);
}

.comment-reply-link i {
    margin-right: 6px;
}

.comment-reply-link:before {
    font-family: 'Font Awesome Free 5';
    margin-right: 4px;
}

.reply {
    margin-top: 10px;
}

.children .comment-body {
    margin-left: 100px;
}

.comment-respond {
    display: block;
    width: 100%;
    margin-top: 56px;
    padding-bottom: 0px;
    margin-bottom: 0px;
    border-top: 1px solid #eaeaea;
}

.comment-form {
    display: flex;
    flex-wrap: wrap;
}

.comment-form-author,
.comment-form-email {
    width: 50%;
}

.comment-form-email {
    padding-left: 10px;
}

.comment-form-comment {
    width: 100%;
}

.comment-form-author {
    padding-right: 10px;
}

.comment-form-url {
    padding-left: 0px;
    width: 100%;
}

.form-submit {
    margin-bottom: 0;
}

.comment-form p {
    margin: 0;
}

.comment-form textarea,
.comment-form input {
    border: 1px solid #eaeaea;
    padding: 8px 10px;
    width: 100%;
    background-color: transparent;
    display: block;
    margin-bottom: 20px;
    transition: all 0.3s ease;
    border-radius: 4px;
}

.comment-form textarea:focus,
.comment-form input:focus {
    outline: none;
    border-color: var(--thm-color);
}

.post-navigation {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.post-navigation > div {
    display: inline-block;
}

.nav-previous a:before {
    content: "\f100";
    font-family: 'FontAwesome';
    margin-right: 4px;
}

.nav-next a:after {
    content: "\f101";
    font-family: 'FontAwesome';
    margin-left: 4px;
}

.nav-all-post {
    min-width: 120px;
    text-align: center;
    margin: 0 25px;
}

/*
* ----------------------------------------------------------------------------------------
* PAGINATION DESIGN
* ----------------------------------------------------------------------------------------
*/
.atf-post-pagination {
    margin: 30px 0;
    justify-content: center;
}

.page-item.active .page-link {
    background-color: var(--thm-color);
    border-color: var(--thm-color);
}

.pagination-outer {
    text-align: center;
}

.pagination {
    font-family: var(--thm-font);
    display: inline-flex;
}

.pagination li a.page-link {
    color: var(--thm-white);
    background: var(--thm-black);
    font-size: 18px;
    font-weight: 500;
    line-height: 30px;
    height: 35px;
    width: 35px;
    padding: 0;
    margin: 0 5px;
    border-radius: 0;
    border: none;
    overflow: hidden;
    position: relative;
    transition: all 0.3s ease 0s;
}

.pagination li a.page-link:hover,
.pagination li a.page-link:focus,
.pagination li.active a.page-link:hover,
.pagination li.active a.page-link {
    color: var(--thm-white);
    background: var(--thm-black);
}

.pagination li a.page-link::before {
    content: '';
    background-color: var(--thm-color);
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 100%;
    z-index: -1;
    transition: all 0.5s ease 0s;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.pagination li a.page-link:hover:before,
.pagination li.active a.page-link:before {
    top: 0;
}

@media only screen and (max-width: 480px) {
    .pagination {
        font-size: 0;
        display: block;
    }

    .pagination li {
        display: inline-block;
        margin: 0 0 10px;
    }
}

/*--------------------------------------------------------------
START PROTFOLIO DETAILS DESIGN
----------------------------------------------------------------*/
.atf_portfolio__details-info-item ul li {
    display: inline-block;
    margin-bottom: 8px;
}

.atf_portfolio__details-info-item span {
    font-weight: 600;
    margin-right: 5px;
    color: var(--thm-black);
}

.atf_portfolio__details-info-item ul li a {
    color: var(--thm-base);
    font-weight: 700;
    -webkit-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
}

.atf_portfolio__details-info-item ul li a:hover {
    color: var(--thm-color);
    text-decoration: underline;
}

.atf_portfolio__details-goal-features .icon {
    color: var(--thm-color);
}

.atf_portfolio__details-social ul li {
    display: inline-block;
}

.atf_portfolio__details-social ul li:not(:last-child) {
    margin-right: 5px;
}

.atf_portfolio__details-social ul li a {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 42px;
    text-align: center;
    background: #f8f4ef;
    color: var(--thm-color);
    -webkit-border-radius: 5%;
    -moz-border-radius: 5%;
    border-radius: 5%;
}

.atf_portfolio__details-social ul li a:hover {
    background: var(--thm-color);
    color: var(--thm-white);
}

/*--------------------------------------------------------------
END PROTFOLIO DETAILS DESIGN
----------------------------------------------------------------*/
/*--------------------------------------------------------------
START SERVICE DETAILS DESIGN
----------------------------------------------------------------*/
.atf_services__details-features .icon {
    color: var(--thm-color);
}

.atf_services__details-features ul li .text h5 {
    font-size: 14px;
    font-weight: 500;
    font-family: var(--thm-font);
    margin-bottom: 0;
    color: #0a4c48;
}

.atf_services__details-features ul li:not(:last-child) {
    margin-bottom: 13px;
}

.atf_services__widget {
    padding: 40px 40px;
    border: 1px solid #eaeaea;
}

.atf_services__widget-links ul li:not(:last-child) {
    padding-bottom: 20px;
    margin-bottom: 15px;
    border-bottom: 1px solid #eaeaea;
}

.atf_services__widget-links ul li a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    font-size: 18px;
    font-weight: 500;
    color: #2c3941;
    font-family: var(--thm-font);
}

.atf_services__widget-download .services-download-btn {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    font-family: var(--thm-font);
    color: #ffffff;
    background: #0a4c48;
    height: 66px;
    line-height: 66px;
    padding: 0 40px;
    padding-right: 10px;
}

.atf_services__widget-download .services-download-btn.yellow {
    background: #fad105;
    color: #222222;
}

.atf_services__widget-social span {
    font-size: 15px;
    font-weight: 500;
    color: #2c3941;
    margin-right: 15px;
}

.atf_services__widget-social ul li a:hover {
    color: var(--thm-color);
}

.atf_services__widget-social ul li {
    display: inline-block;
}

.atf_services__widget-social ul {
    display: inline-block;
}

.atf_services__widget-social ul li:not(:last-child) {
    margin-right: 15px;
}

.atf_services__sidebar-banner {
    position: relative;
}

.atf_services__sidebar-banner-content {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1;
}

.atf_services__sidebar-banner::after {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(44, 57, 65, 0.58);
}

.atf_services__sidebar-banner-content h6 {
    font-size: 16px;
    color: #ffffff;
    font-weight: 500;
}

.atf_services__sidebar-banner-content h4 {
    font-size: 40px;
    color: #ffffff;
    margin-bottom: 24px;
}

/*--------------------------------------------------------------
END SERVICE DETAILS DESIGN
----------------------------------------------------------------*/
/*--------------------------------------------------------------
START TEAM DETAILS DESIGN
----------------------------------------------------------------*/
.atf_team-about-details h2 {
    line-height: 1;
    margin-bottom: 20px;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
    .atf_team-about-details h2 {
        font-size: 50px;
    }
}

@media (max-width: 575px) {
    .atf_team-about-details h2 {
        font-size: 36px;
    }
}

.atf_team-about-details > span {
    font-size: 14px;
    color: var(--thm-color);
    font-weight: 700;
    margin-bottom: 10px;
    display: inline-block;
}

.atf_team-about-details p {
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 30px;
}

.atf_team-about-details ul li {
    margin-bottom: 16px;
}

.atf_team-about-details ul li span {
    font-weight: 600;
    color: var(--thm-black);
    transition: all 0.3s ease-in-out 0s;
}

.atf_team-about-details ul li a:hover {
    color: var(--thm-color);
    text-decoration: underline;
}

.atf_team-qualification {
    margin-bottom: 52px;
}

.atf_team-qualification h4 {
    font-size: 20px;
    margin-bottom: 30px;
}

.atf_team-qualification h4 span {
    color: var(--thm-color);
}

.atf_team-qualification p {
    padding-right: 10px;
    margin-bottom: 15px;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .atf_team-qualification p {
        padding-right: 0;
    }
}

.atf_team-education {
    padding-bottom: 32px;
}

.atf_team-education ul li {
    margin-bottom: 23px;
}

.atf_team-education .edu-icon {
    float: left;
    margin-right: 20px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    background: var(--thm-color);
    color: var(--thm-white);
    border-radius: 50%;
    text-align: center;
}

.atf_team-education .edu-icon i {
    font-size: 20px;
    color: var(--thm-white);
}

.atf_team-education .edu-text {
    overflow: hidden;
}

.atf_team-education .edu-text h5 {
    font-size: 16px;
    margin-bottom: 8px;
    line-height: 1;
}

.atf_team-education .edu-text p {
    font-size: 14px;
    margin-bottom: 0;
}

/*--------------------------------------------------------------
END TEAM DETAILS DESIGN
----------------------------------------------------------------*/
/*--------------------------------------------------------------
END BLOG DETAILS DESIGN
----------------------------------------------------------------*/
/*
* ----------------------------------------------------------------------------------------
* 12.END BLOG DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 13.START CONTACT DESIGN
* ----------------------------------------------------------------------------------------
*/
.atf-contact-info {
    padding: 35px;
    margin-right: 25px;
    box-shadow: 0px 4px 6px 4px rgba(75, 81, 91, 0.1);
    -webkit-box-shadow: 0px 4px 6px 4px rgba(75, 81, 91, 0.1);
}

.atf-contact-info .atf-section-title {
    margin-bottom: 30px;
}

.atf-main-contact {
    margin: 20px 0;
}

.atf-contact-details {
    margin-bottom: 20px;
    display: block;
    /*overflow: hidden;*/
    transition: 0.3s;
    -webkit-transition: 0.3s;
}

.atf-contact-details i {
    font-size: 20px;
    width: 45px;
    height: 45px;
    line-height: 45px;
    color: var(--thm-white);
    text-align: center;
    margin: 0px 0 25px;
    border-radius: 50%;
    background: var(--thm-color);
    float: left;
    margin-right: 25px;
}

.atf-contact-details h4 {
    color: var(--thm-black);
    font-size: 20px;
    line-height: 16px;
}

.atf-contact-details p {
    color: var(--thm-p);
    display: block;
    overflow: hidden;
}

.atf-contact-btn .atf-themes-btn {
    color: var(--thm-white);
}

.contact h4 {
    margin-bottom: 20px;
    color: var(--thm-black);
}

.contact .form-control {
    padding: 12px 15px;
    border-radius: 5px;
    margin-bottom: 5px;
}

.contact .form-control:focus {
    border-color: var(--thm-color);
    box-shadow: none;
    outline: 0 none;
}

.contact textarea {
    border-radius: 0px;
    box-shadow: none;
    padding: 10px;
    height: 100px;
}

.contact textarea:focus {
    box-shadow: none;
    outline: 0 none;
    border-color: var(--thm-color);
}

.success {
    background: #fff none repeat scroll 0 0;
    color: #42c0d9;
    font-weight: 700;
    padding: 20px;
    text-align: center;
}

.actions .atf-themes-btn {
    width: 100%;
}

.actions .atf-themes-btn:hover {
    transform: translateY(-0px);
}

/*
* ----------------------------------------------------------------------------------------
* 13.END CONTACT DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 14.START FOOTER DESIGN
* ----------------------------------------------------------------------------------------
*/
#footer {
    position: relative;
}

.atf-footer-area {
    background: var(--thm-line);
}

.atf-mailchamp-subscribe {
    position: relative;
}

.atf-mailchamp-subscribe .btn i {
    font-size: 18px;
    color: var(--thm-white);
}

.atf-mailchamp-subscribe .btn {
    position: absolute;
    right: 4px;
    background: transparent;
    box-shadow: none;
    top: 2px;
    background: var(--thm-color);
}

.atf-mailchamp-border {
    border-bottom: 1px dashed var(--thm-white);
}

.atf-mailchamp-headding h2 {
    font-size: 33px;
    color: var(--thm-white);
}

.atf-mailchamp-subscribe form input:focus {
    box-shadow: none;
    outline: 0 none;
    border-color: var(--thm-color);
}

.atf-mailchamp-subscribe form input {
    background: var(--thm-white);
    color: var(--thm-black);
    border: 1px solid #eee;
    width: 100%;
    height: 43px;
    padding-left: 15px;
    font-size: 14px;
}

.atf-mailchamp-subscribe .form-group {
    margin-bottom: 0;
}

.atf-mailchamp-subscribe .atf-themes-btn {
    position: absolute;
    right: 5px;
    padding: 12px 23px;
    top: -3px;
}

.atf-mailchamp-subscribe .atf-themes-btn:hover {
    transform: translateY(-0px);
}

.atf-mailchamp-subscribe .atf-subscription-label {
    color: var(--thm-white);
    display: block;
}

.atf-footer-boottom {
    padding: 35px 0;
    background: rgba(0, 0, 0, 0.4);
}

.atf-footer-box p {
    color: var(--thm-white);
    margin-bottom: 20px;
}

.atf-footer-box strong {
    font-weight: 700;
}

.atf-footer-social-icon .icon i:hover {
    background: var(--thm-base);
    color: var(--thm-black);
    transition: all 0.3s ease-in-out 0s;
    -webkit-transition: all 0.3s ease-in-out 0s;
}

.atf-footer-social-icon .icon i {
    font-size: 16px;
    margin-right: 10px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 20px;
    color: var(--thm-white);
    text-align: center;
    background: var(--thm-black);
}

.atf-footer-area .atf-footer-link {
    position: relative;
}

.atf-footer-area .atf-footer-link::after {
    content: none;
    display: none;
}

.atf-footer-area .atf-footer-link::before {
    content: none;
    display: none;
}

.atf-footer-link h5 {
    position: relative;
    display: inline-block;
    max-width: 100%;
    margin-bottom: 24px;
    padding-bottom: 18px;
    font-size: 22px;
    line-height: 1.25;
    color: var(--thm-white);
}

.atf-footer-link h5::after {
    content: '';
    position: absolute;
    left: 20px;
    bottom: 2px;
    background: var(--thm-white);
    width: 45px;
    height: 2px;
}

.atf-footer-link h5::before {
    content: '';
    position: absolute;
    left: 1px;
    bottom: 0;
    background: var(--thm-white);
    width: 11px;
    height: 5px;
}

.atf-footer-link .atf-list-menu li a {
    color: var(--thm-f3);
    margin-bottom: 10px;
    display: block;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
}

.atf-footer-link .atf-list-menu li a:hover {
    color: var(--thm-color);
    text-decoration: underline;
}

.atf-footer-link .atf-list-menu li a span {
    position: relative;
    display: block;
    -webkit-transition: -webkit-transform 0.3s;
    -moz-transition: -moz-transform 0.3s;
    transition: transform 0.3s;
    font-weight: 500;
    font-family: var(--thm-font);
}

.atf-footer-link p {
    color: var(--thm-white);
}

.atf-footer-boottom p {
    color: var(--thm-white);
}

.atf-footer-boottom a {
    color: var(--thm-white);
    font-weight: 700;
    -moz-transition: all 0.3s ease-in-out 0s;
    -ms-transition: all 0.3s ease-in-out 0s;
    -o-transition: all 0.3s ease-in-out 0s;
    -webkit-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
    text-decoration: underline;
}

.atf-footer-boottom a:hover {
    color: var(--color-green);
    text-decoration: inherit;
}

.atf-payment-link img,
.atf-payment-link picture {
    margin-right: 6px;
    display: inline-block;
}

.atf-footer-post {
    display: flex;
    margin-bottom: 8px;
}

.atf-footer-post .atf-footer-post-thumb {
    flex: none;
    margin-right: 15px;
    width: 80px;
}

.atf-footer-post .atf-footer-post-title {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 4px;
    color: rgba(225, 255, 255, 0.7);
    transition: all 0.3s ease-in-out 0s;
}

.atf-footer-post .atf-footer-post-title:hover {
    color: var(--thm-black);
}

.atf-footer-post .atf-footer-post-date {
    font-size: 13px;
    line-height: 1.6em;
    color: rgba(225, 255, 255, 0.7);
}

.form-message {
    margin-top: 20px;
}

/*
* ----------------------------------------------------------------------------------------
* START MAP DESIGN
* ----------------------------------------------------------------------------------------
*/
#atf-map-area iframe {
    width: 100%;
    height: 150px;
}

/*
* ----------------------------------------------------------------------------------------
* END MAP DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* 14.END FOOTER DESIGN
* ----------------------------------------------------------------------------------------
*/
/*
* ----------------------------------------------------------------------------------------
* START HUMBERGER DESIGN
* ----------------------------------------------------------------------------------------
*/
.atf_body-overlay {
    background-color: rgba(0, 0, 0, 0.5);
    height: 100%;
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 99;
    left: 0;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
}

.atf_body-overlay:hover {
    cursor: pointer;
}

.atf_body-overlay.opened {
    opacity: 1;
    visibility: visible;
}

.atf_hamburger-btn.sidebar-toggle-btn {
    background: transparent;
    border: none;
}

.atf_hamburger-btn {
    position: relative;
    width: 35px;
    height: 35px;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    cursor: pointer;
    background: transparent;
    border: none;
    margin-top: 6px;
}

.atf_hamburger-btn span {
    background: var(--thm-white);
    display: block;
    position: absolute;
    height: 7px;
    width: 7px;
    -webkit-transition: 0.25s ease-in-out;
    -moz-transition: 0.25s ease-in-out;
    -o-transition: 0.25s ease-in-out;
    transition: 0.25s ease-in-out;
}

.atf_hamburger-btn span:nth-child(even) {
    left: 13px;
}

.atf_hamburger-btn span:nth-child(odd) {
    left: 0px;
}

.atf_hamburger-btn span:nth-child(1), .atf_hamburger-btn span:nth-child(2), .atf_hamburger-btn span:nth-child(3) {
    top: 0px;
}

.atf_hamburger-btn span:nth-child(4), .atf_hamburger-btn span:nth-child(5), .atf_hamburger-btn span:nth-child(6) {
    top: 13px;
}

.atf_hamburger-btn span:nth-child(7), .atf_hamburger-btn span:nth-child(8), .atf_hamburger-btn span:nth-child(9) {
    top: 26px;
}

.atf_hamburger-btn span:nth-child(3) {
    left: 26px;
}

.atf_hamburger-btn span:nth-child(6) {
    left: 26px;
}

.atf_hamburger-btn span:nth-child(9) {
    left: 26px;
}

.atf_hamburger-btn-2 span {
    background: #fad105;
}

.atf_hamburger-btn-3 span {
    background: #0a4c48;
}

.atf_sidebar__area {
    position: fixed;
    right: -485px;
    top: 0;
    width: 465px;
    height: 100%;
    background: #ffffff none repeat scroll 0 0;
    overflow-y: scroll;
    -webkit-box-shadow: -5px 0 20px -5px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: -5px 0 20px -5px rgba(0, 0, 0, 0.5);
    box-shadow: -5px 0 20px -5px rgba(0, 0, 0, 0.5);
    -webkit-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    -moz-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    z-index: 1032;
}

@media (max-width: 575px) {
    .atf_sidebar__area {
        width: 290px;
    }
}

.atf_sidebar__area.sidebar-opened {
    right: 0px;
}

.atf_sidebar__wrapper {
    position: relative;
    padding: 45px;
}

@media (max-width: 575px) {
    .atf_sidebar__wrapper {
        padding: 20px;
    }
}

.atf_sidebar__close {
    position: absolute;
    top: 63px;
    right: 60px;
}

@media (max-width: 575px) {
    .atf_sidebar__close {
        top: 38px;
        right: 30px;
    }
}

.atf_sidebar__close-btn {
    display: inline-block;
    font-size: 16px;
    height: 45px;
    width: 45px;
    line-height: 45px;
    background: var(--thm-base);
    color: var(--thm-white);
    border-radius: 50%;
    border: none;
    transition: all 0.3s ease-in-out 0s;
}

.atf_sidebar__close-btn:hover {
    background: var(--thm-color);
}

.atf_sidebar__logo {
    padding: 20px 20px;
    border-bottom: 1px solid #dedede;
    background: var(--thm-black);
}

.atf_sidebar__search {
    position: relative;
}

.atf_sidebar__search input {
    width: 100%;
    height: 40px;
    line-height: 40px;
    padding-right: 20px;
    background: transparent;
    border: none;
    outline: none;
    border-bottom: 1px solid #dedede;
    font-size: 14px;
}

.atf_sidebar__search input::placeholder {
    color: var(--thm-black);
}

.atf_sidebar__search input:focus {
    border-color: var(--thm-color);
}

.atf_sidebar__search button {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 14px;
    color: var(--thm-color);
    background: transparent;
    border: none;
}

.atf_sidebar__text p {
    margin-bottom: 25px;
}

.atf_sidebar__single-img img,
.atf_sidebar__single-img picture {
    border-radius: 10px;
    width: 100%;
    display: block;
}

.atf_sidebar__single-img picture img {
    border-radius: 10px;
    width: 100%;
}

.atf_sidebar__contact h4 {
    font-size: 22px;
    margin-bottom: 20px;
}

.atf_sidebar__contact ul li:not(:last-child) {
    margin-bottom: 20px;
}

.atf_sidebar__contact ul li:hover i {
    background: var(--thm-color);
    color: var(--thm-white);
    border-color: #24c373;
}

.atf_sidebar__contact ul li:hover a {
    color: var(--thm-color);
}

.atf_sidebar__contact-icon i {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border: 1px solid #dedede;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

.atf_sidebar__contact-text a {
    font-size: 18px;
    font-weight: 500;
    color: var(--thm-p);
}

.atf_sidebar__map iframe {
    width: 100%;
    height: 200px;
    border: none;
}

.atf_sidebar__social ul li {
    display: inline-block;
}

.atf_sidebar__social ul li:not(:last-child) {
    margin-right: 5px;
}

.atf_sidebar__social ul li a {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 42px;
    text-align: center;
    background: #f8f4ef;
    color: var(--thm-color);
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

.atf_sidebar__social ul li a:hover {
    background: var(--thm-color);
    color: var(--thm-white);
}

.atf_search__area {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0%;
    background: var(--thm-white);
    z-index: 9999;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -ms-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
    opacity: 0;
    visibility: hidden;
}

.atf_search__area.opened {
    top: 0;
    bottom: auto;
    height: 100%;
    opacity: 1;
    visibility: visible;
}

.atf_search__wrapper {
    position: relative;
}

.atf_search__input {
    position: relative;
}

.atf_search__input input {
    width: 100%;
    height: 80px;
    background: transparent;
    outline: none;
    border: none;
    border-bottom: 2px solid rgba(44, 57, 65, 0.8);
    color: #2c3941;
    font-size: 35px;
    padding-right: 60px;
}

.atf_search__input input::placeholder {
    font-size: 20px;
    color: #2c3941;
    text-transform: capitalize;
}

.atf_search__input button {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #2c3941;
    font-size: 35px;
}

.atf_search__close {
    position: absolute;
    top: -100px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

.atf_search__close .search-close-btn {
    font-size: 35px;
    color: var(--thm-base);
}

.atf-sidebar_blog-post {
    display: flex;
    margin-bottom: 8px;
    align-content: center;
    align-items: center;
}

.atf-sidebar_blog-post .atf-sidebar_blog-post-thumb {
    flex: none;
    margin-right: 15px;
    width: 90px;
}

.atf-sidebar_blog-post .atf-sidebar_blog-post-title {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 4px;
    color: var(--thm-black);
    transition: all 0.3s ease-in-out;
}

.atf-sidebar_blog-post .atf-sidebar_blog-post-title:hover {
    color: var(--thm-color);
}

.atf-sidebar_blog-post .atf-sidebar_blog-post-date {
    font-size: 13px;
    line-height: 1.6em;
    color: var(--thm-black);
}

/*
* ----------------------------------------------------------------------------------------
* END HUMBERGER DESIGN
* ----------------------------------------------------------------------------------------
*/
/* ----------------------------------------
 Start  Header Searchbox
---------------------------------------- */
.atf__header-options-2 .header-search {
    height: 50px;
    width: 50px;
    line-height: 50px;
    border-radius: 8%;
    background: var(--thm-white);
    color: var(--thm-color);
    text-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0;
    -webkit-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}

.atf__header-options-2 .header-search:hover {
    background: var(--thm-color);
    color: var(--thm-white);
}

.atf__header-options-2 .header-search:hover {
    background: var(--thm-color);
    color: var(--thm-white);
}

.header-search {
    cursor: pointer;
    display: inline-block;
}

.header-search .search-icon {
    min-width: 25px;
    text-align: center;
    font-size: 16px;
}

.header-search-area {
    position: relative;
}

.header-search-form {
    background-color: var(--thm-white);
    height: 0;
    margin-right: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 130%;
    -webkit-transition-duration: 0.4s;
    -o-transition-duration: 0.4s;
    transition-duration: 0.4s;
    -webkit-transition-property: height;
    -o-transition-property: height;
    transition-property: height;
    width: 320px;
    z-index: 9999;
}

.header-search-form form {
    position: relative;
    margin: 15px 15px 0;
}

.header-search-form input {
    height: 60px;
    padding-left: 10px;
    width: 100%;
    border: 1px solid #ddd;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease-in-out 0s;
}

.header-search-form input:focus {
    border: 1px solid var(--thm-color);
}

.header-search-form button[type="submit"] {
    background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
    border: medium none;
    color: var(--thm-color);
    display: block;
    font-size: 18px;
    height: 60px;
    line-height: 48px;
    position: absolute;
    right: 8px;
    text-align: center;
    top: 0;
    padding: 1px 6px;
    -webkit-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}

.header-search-form button[type="submit"]:hover {
    color: var(--thm-color);
}

.search-icon {
    position: relative;
}

.search-icon .for-search-close {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    right: 0;
    opacity: 0;
    visibility: hidden;
}

.search-open.header-search-form {
    height: 90px;
}

.search-open .for-search-show {
    opacity: 0;
    visibility: hidden;
}

.search-open .for-search-close {
    opacity: 1;
    visibility: visible;
}


/* ----------------------------------------
  End Header Searchbox
---------------------------------------- */


.atf-feature-icon > img,
.atf-feature-icon > picture {
    max-width: 64px;
    display: inline-block;
}

.atf-feature-icon > picture img {
    max-width: 64px;
}

.atf-feature-icon > i {
    font-size: 30px;
    color: #ffffff;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
    /*[data-bs-spy="scroll"]{*/
    /*    height: 750px;*/
    /*}*/


}

/*[data-bs-spy="scroll"]{*/
/*    height:500px;*/
/*}*/
/*二维码提示框 start*/

.tooltip-inner {
    background-color: transparent;
    color: var(--thm-color);
    font-weight: 700 !important;
}

.bs-tooltip-auto[x-placement^=top] .arrow::before, .bs-tooltip-top .arrow::before {
    border-top-color: transparent;
}

.tooltip.show {
    opacity: 1;
}

/*二维码提示框 end*/


/* blogs animation */
.pagination_item {
    position: relative;
    will-change: transform;
    animation: fadeInUp .5s forwards;
}

/* blogs animation */

.nav_changelog:hover {
    color: var(--thm-black);
    text-decoration: underline;
}


/*donwload list*/
.list-group-item > span {
    display: inline-block;
    text-align: center;
    width: 20%;
    height: 100%;
}

/*============ TPA CoreValues (Homepage Only) START ============*/
/*
 * CoreValues 模块样式 - 仅用于首页
 * 使用 tpa- 前缀避免与其他页面样式冲突
 * 设计特点：卡片式布局，图片背景，悬浮图标，渐变色彩
 */

/* ========== Section Title Styling (已移除不使用) ========== */
/* 以下标题样式已从HTML中移除，保留代码供后续参考 */
.tpa-values-title-section {
    text-align: center;
    margin-bottom: 50px;
    position: relative;
    animation: fadeInUp 0.8s ease;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.tpa-values-subtitle {
    font-size: clamp(14px, 1.2vw, 16px);
    font-weight: 600;
    color: #667eea;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 15px;
    position: relative;
    display: inline-block;
}

.tpa-values-subtitle::before,
.tpa-values-subtitle::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 2px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.tpa-values-subtitle::before {
    right: calc(100% + 20px);
}

.tpa-values-subtitle::after {
    left: calc(100% + 20px);
}

.tpa-values-maintitle {
    font-size: clamp(28px, 3.5vw, 42px);
    font-weight: 800;
    color: #2c3e50;
    margin-bottom: 20px;
    line-height: 1.2;
    background: linear-gradient(135deg, #2c3e50 0%, #667eea 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.tpa-values-intro {
    font-size: clamp(15px, 1.3vw, 17px);
    color: #6c757d;
    line-height: 1.8;
    max-width: 600px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
}

.tpa-values-intro::after {
    content: '';
    position: absolute;
    bottom: -25px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background: linear-gradient(90deg, transparent, #667eea, transparent);
}

/* Mobile Responsive for Title Section */
@media (max-width: 768px) {
    .tpa-values-title-section {
        margin-bottom: 40px;
    }

    .tpa-values-subtitle::before,
    .tpa-values-subtitle::after {
        width: 30px;
    }

    .tpa-values-subtitle::before {
        right: calc(100% + 10px);
    }

    .tpa-values-subtitle::after {
        left: calc(100% + 10px);
    }
}

@media (max-width: 480px) {
    .tpa-values-subtitle::before,
    .tpa-values-subtitle::after {
        display: none;
    }

    .tpa-values-intro {
        padding: 0 10px;
    }
}

/* ========== End of Title Section (未使用) ========== */

/* ========== 网格和卡片布局 Grid and Card Styles ========== */
/* 主网格容器 - 4列布局，响应式设计 */
.tpa-values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 桌面端：4列 */
    gap: 20px; /* 卡片间距 */
    margin-top: 0; /* 顶部无间距 */
}

/* 单个价值卡片容器 */
.tpa-value-card {
    background: #ffffff; /* 白色背景 */
    border-radius: 16px; /* 圆角边框 */
    overflow: hidden; /* 隐藏溢出内容 */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); /* 柔和阴影 */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); /* 平滑过渡动画 */
    height: 100%; /* 高度自适应 */
    display: flex;
    flex-direction: column; /* 垂直布局 */
}

/* 卡片悬停效果 - 上浮并加深阴影 */
.tpa-value-card:hover {
    transform: translateY(-10px); /* 向上浮动10px */
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15); /* 加深阴影 */
}

/* 卡片头部区域 - 包含图片和图标 */
.tpa-value-header {
    position: relative;
    height: 200px; /* 固定高度 */
    overflow: hidden; /* 隐藏溢出的放大图片 */
}

/* 图片容器 */
.tpa-value-image {
    width: 100%;
    height: 100%;
    position: relative;
}

/* 背景图片样式 */
.tpa-value-image img,
.tpa-value-image picture {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 保持比例填充 */
    display: block;
    transition: transform 0.5s ease; /* 图片缩放动画 */
}

.tpa-value-image picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 悬停时图片放大效果 */
.tpa-value-card:hover .tpa-value-image img,
.tpa-value-card:hover .tpa-value-image picture {
    transform: scale(1.1); /* 放大到110% */
}

.tpa-value-card:hover .tpa-value-image picture img {
    transform: scale(1.1);
}

/* 图片上的渐变遮罩层 - 增强图标可见性 */
.tpa-value-image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.6) 100%);
    pointer-events: none; /* 不阻挡鼠标事件 */
}

/* 浮动图标容器 - 毛玻璃效果 */
.tpa-value-icon-wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* 居中定位 */
    width: 70px;
    height: 70px;
    background: rgba(255, 255, 255, 0.95); /* 半透明白色背景 */
    backdrop-filter: blur(10px); /* 毛玻璃模糊效果 */
    -webkit-backdrop-filter: blur(10px); /* Safari兼容 */
    border-radius: 50%; /* 圆形 */
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2; /* 置于图片上层 */
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15); /* 柔和阴影 */
    transition: all 0.3s ease;
}

/* 悬停时图标容器放大效果 */
.tpa-value-card:hover .tpa-value-icon-wrapper {
    transform: translate(-50%, -50%) scale(1.1); /* 放大到110% */
    background: rgba(255, 255, 255, 1); /* 完全不透明白色 */
}

/* 图标样式 - 渐变色文字 */
.tpa-value-icon-wrapper i {
    font-size: 32px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); /* 紫色渐变 */
    -webkit-background-clip: text; /* 文字裁剪 */
    -webkit-text-fill-color: transparent; /* 文字透明，显示背景渐变 */
    background-clip: text;
}

/* ========== 每个价值卡片的独特图标渐变色 ========== */
/* 第1个卡片 - Extraordinary (紫色渐变) */
.tpa-value-card:nth-child(1) .tpa-value-icon-wrapper i {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* 第2个卡片 - Enthusiasm (粉色渐变) */
.tpa-value-card:nth-child(2) .tpa-value-icon-wrapper i {
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* 第3个卡片 - Experience (蓝色渐变) */
.tpa-value-card:nth-child(3) .tpa-value-icon-wrapper i {
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* 第4个卡片 - Excelsior (绿色渐变) */
.tpa-value-card:nth-child(4) .tpa-value-icon-wrapper i {
    background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* ========== 卡片内容区域 - 标题和描述文字 ========== */
.tpa-value-content {
    padding: 25px 20px; /* 内边距 */
    text-align: center; /* 文字居中 */
    flex-grow: 1; /* 占满剩余空间 */
    display: flex;
    flex-direction: column;
    justify-content: center; /* 垂直居中 */
}

/* 价值标题样式 */
.tpa-value-title {
    font-size: clamp(20px, 1.8vw, 24px); /* 响应式字体大小 */
    font-weight: 700; /* 粗体 */
    color: #2c3e50; /* 深灰色 */
    margin-bottom: 12px; /* 底部间距 */
    transition: color 0.3s ease; /* 颜色过渡动画 */
}

/* 悬停时标题变色 */
.tpa-value-card:hover .tpa-value-title {
    color: #667eea; /* 变为紫色 */
}

/* 价值描述文字样式 */
.tpa-value-description {
    font-size: clamp(14px, 1.1vw, 15px); /* 响应式字体大小 */
    color: #6c757d; /* 中灰色 */
    line-height: 1.6; /* 行高 */
    margin: 0; /* 无外边距 */
}

/* ========== 响应式设计 Responsive Design ========== */
/* 平板设备 (最大宽度 991px) */
@media (max-width: 991px) {
    .tpa-values-grid {
        grid-template-columns: repeat(2, 1fr); /* 改为2列布局 */
        gap: 25px;
    }

    .tpa-value-header {
        height: 180px; /* 减小图片高度 */
    }
}

/* 手机设备 (最大宽度 575px) */
@media (max-width: 575px) {
    .tpa-values-grid {
        grid-template-columns: 1fr; /* 改为单列布局 */
        gap: 20px;
    }

    .tpa-value-header {
        height: 200px; /* 恢复图片高度 */
    }

    .tpa-value-content {
        padding: 20px 15px; /* 减小内边距 */
    }

    .tpa-value-icon-wrapper {
        width: 60px; /* 缩小图标容器 */
        height: 60px;
    }

    .tpa-value-icon-wrapper i {
        font-size: 28px; /* 缩小图标 */
    }
}

/*============ TPA CoreValues (Homepage Only) END ============*/


/* OLD CoreValues CSS - Commented out to avoid conflicts */
/* effect-2 css */
/*.port-2 {
    float: left;
    width: 100%;
    position: relative;
    overflow: hidden;
    text-align: center;
    border-radius: 12px;
    perspective: 1200px;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    transform-style: preserve-3d;
}

.port-2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0);
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
    border-radius: 12px;
    transition: all 0.5s ease;
    z-index: 5;
    pointer-events: none;
}

.port-2:hover {
    box-shadow: 0 20px 50px rgba(0,0,0,0.2);
    transform: translateY(-8px) rotateX(-5deg);
}

.port-2:hover::before {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.port-2 .text-desc {
    position: absolute;
    width: 100%;
    padding: clamp(15px, 2vw, 20px) clamp(12px, 1.5vw, 15px);
    background: linear-gradient(180deg, rgba(255,255,255,0.95) 0%, rgba(249,249,249,0.95) 100%);
    z-index: 10;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 0 0 12px 12px;
    box-shadow: 0 -5px 20px rgba(0,0,0,0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.port-2:hover .text-desc {
    background: linear-gradient(180deg, rgba(255,255,255,0.85) 0%, rgba(249,249,249,0.85) 100%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 -10px 30px rgba(0,0,0,0.15);
}

.port-2 .text-desc p {
    margin: 0;
    color: #555;
    font-size: clamp(13px, 1.2vw, 15px);
    line-height: 1.6;
    font-weight: 500;
    transition: all 0.3s ease;
}

.port-2:hover .text-desc p {
    color: #333;
    font-weight: 600;
}

.port-2 .image-box {
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    transform-style: preserve-3d;
    position: relative;
    backface-visibility: hidden;
}

.port-2 .image-box::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.3) 100%);
    opacity: 0;
    transition: opacity 0.5s ease;
    border-radius: 12px 12px 0 0;
}

.port-2:hover .image-box {
    transform: rotateX(65deg) translateZ(20px);
    transform-origin: center bottom 0;
}

.port-2:hover .image-box::after {
    opacity: 1;
}

.port-2:hover .image-box > img,
.port-2:hover .image-box > picture {
    opacity: 0.25;
    filter: blur(2px);
}

.port-2:hover .image-box > picture img {
    opacity: 0.25;
    filter: blur(2px);
}

.port-2:hover .image-box > i {
    transform: translate(-50%, -50%) scale(1.3) translateZ(50px);
    color: #fff;
    filter: drop-shadow(0 10px 20px rgba(0,0,0,0.3));
}

.port-2:hover .image-box > h3 {
    transform: translate(-50%, -50%) scale(1.15) translateZ(30px);
    color: #fff;
    text-shadow: 0 5px 20px rgba(0,0,0,0.5);
}

.port-2.effect-1:hover .text-desc {
    opacity: 1;
}

.port-2.effect-2 .text-desc {
    opacity: 1;
    top: -100%;
}

.port-2.effect-2:hover .text-desc {
    top: 0;
}

.port-2.effect-3 .text-desc {
    opacity: 1;
    top: auto;
    bottom: -100%;
}

.port-2.effect-3:hover .text-desc {
    bottom: 0;
}*/

/* effect-2 css end - Commented */

/* effect-1 css */
.port-1 {
    float: left;
    width: 100%;
    position: relative;
    overflow: hidden;
    text-align: center;
    border: 4px solid rgba(255, 255, 255, 0.9);
}

.port-1 .text-desc {
    opacity: 0.9;
    top: -100%;
    transition: 0.5s;
    color: #fff3cd;
    padding: 45px 20px 20px;
}

.port-1 img,
.port-1 picture {
    transition: 0.5s;
    display: inline-block;
}

.port-1 picture img {
    transition: 0.5s;
}

.port-1:hover img,
.port-1:hover picture {
    transform: scale(1.2);
}

.port-1:hover picture img {
    transform: scale(1.2);
}

.port-1.effect-1:hover .text-desc {
    top: 0;
}

.port-1.effect-2 .text-desc {
    top: auto;
    bottom: -100%;
}

.port-1.effect-2:hover .text-desc {
    bottom: 0;
}

.port-1.effect-3 .text-desc {
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    overflow: hidden;
    padding: 0;
}

.port-1.effect-3:hover .text-desc {
    width: 100%;
    top: 0;
    left: 0;
    height: 100%;
    padding: 45px 20px 20px;
}

/* effect-1 css end */

.text-desc {
    position: absolute;
    left: 0;
    top: 0;
    background-color: #fff;
    height: 100%;
    opacity: 0;
    width: 100%;
    padding: 20px;
}

/*============ CoreValues end============*/


/*============ detail nav link start ============*/

.pro_nav_link {
    width: 300px;
    position: fixed;
    height: auto;
    top: 700px;
    left: 0;
    overflow: hidden;
    padding: 0 10px;
    border-radius: 5px;
    background-color: rgba(250, 248, 247, 0.8);
    transition: all .3s;
}


.pro_nav_btn_box {
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row-reverse;
}

.pro_nav_btn_box > a {
    background-color: var(--thm-black);
}

.pro_nav_link.pro_nav_hidden {
    transition: all .5s;
    height: 50px;
    padding: 0;
    background-color: transparent;
}

.pro_nav_link_btn {
    background-color: var(--thm-black);
}

.pro_nav_link_bar {
    text-align: center;
    width: 100%;
    height: 50px;
    font-size: 24px;
    border-radius: 5px;
    padding: 10px;
    box-sizing: border-box;
    transition: all .5s;
}

.pro_nav_link.pro_nav_hidden > .pro_nav_link_bar {
    background-color: var(--thm-black);
    color: var(--thm-white);
}

.pro_nav_link.pro_nav_hidden > .pro_nav_link_bar > i {
    transform: rotate(90deg);
}

.pro_nav_link_bar > i {
    font-size: 18px;
    margin-left: 20px;
}

.pro-nav-sticky {
    position: fixed;
    z-index: 200;
    top: 150px;
}

.pro-nav-sticky .flex-column > .nav-link.active {

}

.pro_nav_link .nav-link.active {
    background-color: var(--thm-black);
}

.pro_nav_link .nav-link {
    color: var(--thm-black);
    font-weight: bolder;
}

.row {
    overflow: visible;
}

.detailWord a:not(.img-box):hover {
    padding: 5px;
    border-radius: 5px;
    background-color: var(--thm-color);
    color: var(--thm-white)
}

.detailWord div > p {
    margin-bottom: 5px;
}

.detailWord h4 {
    line-height: 1.5;
}

.detailWord .img-boxs, .detailWord .img-box, .detailWord .table-box {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 10px 0;
    font-size: 18px;
    font-weight: bolder;
}

.detailWord .img-box > span, .detailWord .table-box > span {
    font-size: 14px;
}

.detailWord .img-box > img,
.detailWord .img-box > picture {
    width: 80%;
    display: block;
}

.detailWord .img-box > picture img {
    width: 80%;
}

.detailWord .table-box > table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--bs-black);
    margin: 20px;
    background-color: var(--thm-white);
    text-align: center;
    line-height: 40px;
}

.table-box.tb-two-left > table tr:not(:first-child) > td:not([rowspan]) ~ td {
    text-align: left;
    padding-left: 20px;
}


.detailWord .ul-box > li:before {
    content: "•";
    color: var(--thm-black);
    margin: 0 0.5em;
}

.table-box > table th, .table-box > table td {
    line-height: 40px; /* 行高 */
    border: 1px solid var(--bs-black); /* 每行边框 */
    text-align: center;
    font-size: 16px;
}

.table-box > table tr:first-child td > p {
    font-size: 18px;
    font-weight: bolder;
    line-height: 1.5;
    color: var(--thm-black);
}


.table-box > table td:first-child > p {
    color: var(--thm-color);
}

.table-box > table tr:hover, .table-box > table .trHoverStyle, .table-box > table td.trHoverStyle > p {
    background-color: var(--thm-color);
    color: var(--thm-f6);
    /*border: 1px solid var(--thm-color);*/
}

.table-box > table tr:hover td, .table-box > table .trHoverStyle td {
    /*border: 1px solid var(--thm-color);*/
}

.table-box > table tr:hover td > p, .table-box > table .trHoverStyle td p, .table-box > table .trHoverStyle p {
    color: var(--thm-f6);
}

.detailWord .header-detail-box {
    width: 100%;
    height: auto;
    display: flex;
    padding: 20px 10px;
    box-sizing: border-box;
}

.detailWord .header-detail-box > a:hover {
    all: unset; /* 重置全部样式 */
}

.detailWord .header-detail-box img,
.detailWord .header-detail-box picture {
    width: 100px;
    height: auto;
    cursor: pointer;
    display: inline-block;
}

.detailWord .header-detail-box picture img {
    width: 100px;
    height: auto;
}


/*移动端适配*/
@media only screen and (max-width: 750px) {
    .pro_nav_link {
        display: none;
    }

    .detailWord .table-box {
        width: 100vw;
        overflow-x: auto;
    }

    .detailWord .table-box > table {
        width: 150vw;
        max-width: 200vw;
    }

    .table-box {
        position: relative;
    }

    .table-box-hover::before {
        content: '向右滑动查看更多';
        width: 100%;
        height: 100%;
        background-color: rgba(122, 119, 119, 0.7);
        position: absolute;
        top: 0;
        left: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        color: var(--thm-white);
        font-weight: bolder;
        font-size: 20px;
    }

}


/*============ detail nav link end ============*/

/*-----图片点击放大-------*/
.mfp-fade.mfp-bg {
    opacity: 0.8;
    background: #000;
}

img.mfp-img {
    width: 100%;
    height: auto;
}

.mfp-fade.mfp-wrap {
    border: 2px solid #333;
}

/*-----图片点击放大-------*/

.grid-item {
    margin-bottom: 10px;
}

/*-------- search --------*/


.search-wrapper {
    position: relative;
    /*-webkit-transform: translate(-50%, -50%);*/
    /*-moz-transform: translate(-50%, -50%);*/
    /*transform: translate(-50%, -50%);*/
    /*top:50%;*/
    /*left:50%;*/
}

.search-wrapper.active {
}

.search-wrapper .input-holder {
    overflow: hidden;
    height: 70px;
    background: rgba(255, 255, 255, 0);
    border-radius: 6px;
    position: relative;
    width: 70px;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.search-wrapper.active .input-holder {
    border-radius: 50px;
    width: 450px;
    background: rgba(0, 0, 0, 0.5);
    -webkit-transition: all .5s cubic-bezier(0.000, 0.105, 0.035, 1.570);
    -moz-transition: all .5s cubic-bezier(0.000, 0.105, 0.035, 1.570);
    transition: all .5s cubic-bezier(0.000, 0.105, 0.035, 1.570);
}

.search-wrapper .input-holder .search-input {
    width: 100%;
    height: 50px;
    padding: 0px 70px 0 20px;
    opacity: 0;
    position: absolute;
    top: 0px;
    left: 0px;
    background: transparent;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: none;
    outline: none;
    /* 头部搜索输入使用统一主站字体，避免再回退到旧模板自带字体。 */
    font-family: var(--thm-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    color: #FFF;
    -webkit-transform: translate(0, 60px);
    -moz-transform: translate(0, 60px);
    transform: translate(0, 60px);
    -webkit-transition: all .3s cubic-bezier(0.000, 0.105, 0.035, 1.570);
    -moz-transition: all .3s cubic-bezier(0.000, 0.105, 0.035, 1.570);
    transition: all .3s cubic-bezier(0.000, 0.105, 0.035, 1.570);

    -webkit-transition-delay: 0.3s;
    -moz-transition-delay: 0.3s;
    transition-delay: 0.3s;
}

.search-wrapper.active .input-holder .search-input {
    opacity: 1;
    -webkit-transform: translate(0, 10px);
    -moz-transform: translate(0, 10px);
    transform: translate(0, 10px);
}

.search-wrapper .input-holder .search-icon {
    width: 70px;
    height: 70px;
    border: none;
    border-radius: 6px;
    background: #FFF;
    padding: 0px;
    outline: none;
    position: relative;
    z-index: 2;
    float: right;
    cursor: pointer;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.search-wrapper.active .input-holder .search-icon {
    width: 50px;
    height: 50px;
    margin: 10px;
    border-radius: 30px;
}

.search-wrapper .input-holder .search-icon span {
    width: 22px;
    height: 22px;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: all .4s cubic-bezier(0.650, -0.600, 0.240, 1.650);
    -moz-transition: all .4s cubic-bezier(0.650, -0.600, 0.240, 1.650);
    transition: all .4s cubic-bezier(0.650, -0.600, 0.240, 1.650);

}

.search-wrapper.active .input-holder .search-icon span {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.search-wrapper .input-holder .search-icon span::before, .search-wrapper .input-holder .search-icon span::after {
    position: absolute;
    content: '';
}

.search-wrapper .input-holder .search-icon span::before {
    width: 4px;
    height: 11px;
    left: 9px;
    top: 18px;
    border-radius: 2px;
    background: #974BE0;
}

.search-wrapper .input-holder .search-icon span::after {
    width: 14px;
    height: 14px;
    left: 0px;
    top: 0px;
    border-radius: 16px;
    border: 4px solid #974BE0;
}

.search-wrapper .close {
    position: absolute;
    z-index: 1;
    top: 24px;
    right: 20px;
    width: 25px;
    height: 25px;
    cursor: pointer;
    -webkit-transform: rotate(-180deg);
    -moz-transform: rotate(-180deg);
    transform: rotate(-180deg);
    -webkit-transition: all .3s cubic-bezier(0.285, -0.450, 0.935, 0.110);
    -moz-transition: all .3s cubic-bezier(0.285, -0.450, 0.935, 0.110);
    transition: all .3s cubic-bezier(0.285, -0.450, 0.935, 0.110);
    -webkit-transition-delay: 0.2s;
    -moz-transition-delay: 0.2s;
    transition-delay: 0.2s;
}

.search-wrapper.active .close {
    right: -50px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: all .6s cubic-bezier(0.000, 0.105, 0.035, 1.570);
    -moz-transition: all .6s cubic-bezier(0.000, 0.105, 0.035, 1.570);
    transition: all .6s cubic-bezier(0.000, 0.105, 0.035, 1.570);
    -webkit-transition-delay: 0.5s;
    -moz-transition-delay: 0.5s;
    transition-delay: 0.5s;
}

.search-wrapper .close::before, .search-wrapper .close::after {
    position: absolute;
    content: '';
    background: #FFF;
    border-radius: 2px;
}

.search-wrapper .close::before {
    width: 5px;
    height: 25px;
    left: 10px;
    top: 0px;
}

.search-wrapper .close::after {
    width: 25px;
    height: 5px;
    left: 0px;
    top: 10px;
}

.search-wrapper .result-container {
    width: 100%;
    position: absolute;
    top: 80px;
    left: 0px;
    text-align: center;
    /* 搜索结果提示同样统一到主站字体体系。 */
    font-family: var(--thm-font);
    font-size: 14px;
    display: none;
    color: #B7B7B7;
}


@media screen and (max-width: 560px) {
    .search-wrapper.active .input-holder {
        width: 200px;
    }
}


/*-------- search --------*/


/*footer背景图*/
#footer {
    background-size: cover;
    background-attachment: fixed;
    will-change: transform;
    padding: 20px 0;
}

@media screen and (max-width: 750px) {

    #footer {
        background-size: auto 100%;
        background-attachment: scroll;
        will-change: transform;
    }


}


/*footer背景图*/


/* ========================================
   banner 面包屑导航
   ======================================== */

.atf-page-heading {
    position: relative;
    overflow: hidden;
}

.atf-page-heading > div {
    height: 100%;
}


.container .atf-page-heading-in {
    padding-top: 200px;
}


@media screen and (max-width: 991px) {
    .container .atf-page-heading-in {
        padding-top: 90px;
    }
}


.atf-page-heading-in .atf-post-label {
    position: absolute;
    bottom: 0;
    text-align: start;
}


/* * ----------------------------------------------------------------------------------------
 * 07. START product - Simplified Hover Effects
 * ----------------------------------------------------------------------------------------
 */

/* Product Card Base Styles */
.atf-single-team.atf-product-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.08);
    padding-bottom: 25px;
    transition: box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.atf-single-team.atf-product-card:hover {
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.15);
}

/* Image Container */
.atf-single-team .atf-team-pic {
    position: relative;
    margin-bottom: 20px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--thm-f6) 0%, #ffffff 100%);
    height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.atf-single-team .atf-team-pic img,.atf-single-team .atf-team-pic picture{
    width: auto;
    max-width: 90%;
    height: auto;
    max-height: 85%;
    object-fit: contain;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    /* 产品卡片图片 Hover 统一交给 product-card-improvements 处理，这里不再保留任何阴影滤镜。 */
    filter: none;
}

/* 非产品卡片继续沿用旧 Hover 动效，产品卡片不再命中这里的 1.1/1.02 缩放和阴影。 */
.atf-single-team:not(.atf-product-card):hover .atf-team-pic img,
.atf-single-team:not(.atf-product-card):hover .atf-team-pic picture {
    transform: scale(1.1);
    filter: drop-shadow(0 10px 25px rgba(0, 0, 0, 0.25));
}

.atf-single-team:not(.atf-product-card):hover .atf-team-pic picture img {
    transform: scale(1.02);
    filter: drop-shadow(0 10px 25px rgba(0, 0, 0, 0.25));
}

/* Product Badge */
.atf-product-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    background: var(--thm-color);
    color: #ffffff;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.5px;
    z-index: 2;
}

.atf-product-badge.hot {
    background: linear-gradient(135deg, #ff6b6b, #ff4757);
}

/* Product Models Indicator */
.atf-product-models {
    position: absolute;
    bottom: 15px;
    left: 15px;
    background: rgba(0, 0, 0, 0.7);
    color: #ffffff;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    z-index: 2;
    backdrop-filter: blur(5px);
}

/* Content Area */
.atf-team-prof {
    padding: 0 25px 10px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

/* Hide Title and Links */
.atf-single-team .atf-team-title {
    display: none;
}

.atf-single-team .atf-team-post {
    margin-bottom: 15px;
    display: block;
    font-size: 14px;
    color: var(--thm-gray);
    line-height: 1.6;
}

/* Feature Tags */
.atf-product-features {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
    margin-top: auto;
}

.feature-tag {
    background: var(--thm-f6);
    color: var(--thm-color);
    padding: 4px 10px;
    border-radius: 15px;
    font-size: 11px;
    font-weight: 500;
    border: 1px solid rgba(58, 151, 255, 0.2);
}

/* Product Series Info */
.atf-product-series {
    margin-bottom: 15px;
    margin-top: -5px;
}

.atf-product-series small {
    color: var(--thm-gray);
    font-size: 12px;
    font-style: italic;
}


/* Responsive Design */
@media screen and (max-width: 1200px) {
    .atf-single-team .atf-team-pic {
        height: 250px;
    }
}

@media screen and (max-width: 991px) {
    .atf-single-team {
        margin-bottom: 30px;
    }

    .atf-single-team .atf-team-pic {
        height: 220px;
    }
}

@media screen and (max-width: 768px) {
    .atf-team-prof {
        padding: 0 20px 10px;
    }

    .atf-themes-btn {
        padding: 8px 20px;
        font-size: 13px;
    }
}

@media screen and (max-width: 576px) {
    .col-sm-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .atf-single-team .atf-team-pic {
        height: 200px;
    }

    .atf-product-badge {
        padding: 4px 10px;
        font-size: 11px;
    }
}

/*
 * ----------------------------------------------------------------------------------------
 * 08. END TEAM product - Simplified Hover Effects
 * ----------------------------------------------------------------------------------------
 */


/* 联系我们菜单 */
.atf-progress-contact {
    background-color: transparent;
    border: 2px solid var(--thm-base);
    animation: home_pulse 4s infinite;
}


/* 脉冲动画 */
@keyframes home_pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(47, 128, 237, 0.7);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(47, 128, 237, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(47, 128, 237, 0);
    }
}


/**************************************
 *  product start
 *************************************/
#portfolio {
    position: relative;
    overflow: hidden;
}

.atf-portfolio-area .portfolio-filter {
    margin-bottom: 20px;
}

.atf-portfolio-area .portfolio-filter button {
    font-size: 13px;
    margin: 0 15px 20px 0;
    overflow: hidden;
    display: inline-block;
    padding: 8px 15px;
    transition: 0.4s;
    outline: none;
    -webkit-transition: 0.4s;
    -ms-transition: 0.4s;
    border-radius: 4px;
    font-weight: 500;
    letter-spacing: 0.4px;
    background: var(--thm-black);
    color: var(--thm-white);
    border: none;
}

.atf-portfolio-area .portfolio-filter button:hover,
.atf-portfolio-area .portfolio-filter button.active {
    color: var(--thm-white);
    background: var(--thm-color);
}

.atf-single-portfolio {
    background-color: var(--thm-black);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    position: relative;
}

.atf-single-portfolio img,
.atf-single-portfolio picture {
    width: 100%;
    height: auto;
    transition: all 0.4s ease-in-out;
    /*transform: translateY(-45px);*/
    display: block;
}

.atf-single-portfolio picture img {
    width: 100%;
    height: auto;
}

.atf-single-portfolio:hover img,
.atf-single-portfolio:hover picture {
    opacity: 1;
    transform: translateY(-10px) scale(1.3);
}

.atf-single-portfolio:hover picture img {
    opacity: 1;
    transform: translateY(-10px) scale(1.3);
}

.atf-single-portfolio .atf-portfolio-content {

    color: var(--thm-white);
    background-color: var(--thm-color);
    width: 100%;
    padding: 12px;
    border-top: 1px solid var(--thm-white);
    position: absolute;
    bottom: 0;
    left: 0;
    transition: all 0.45s ease 0s;
}

.atf-single-portfolio:hover .atf-portfolio-content {
    bottom: -40%;
    animation: animate 7s infinite;
}

.atf-single-portfolio .atf-portfolio-title {
    font-size: 22px;
    text-transform: capitalize;
    margin: 0;
    opacity: 1;
    transform: translateY(-10px);
    transition: all 0.25s ease 0.25s;
    color: var(--thm-white);
}


.atf-single-portfolio .atf-portfolio-post {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 1px;
    display: block;
    opacity: 1;
    transform: translateY(-10px);
    transition: all 0.25s ease 0.25s;
}

.atf-single-portfolio:hover .atf-portfolio-title, .atf-single-portfolio:hover .atf-portfolio-post {
    opacity: 0;
    transform: translateY(0);
    color: var(--thm-white);
}

.atf-single-portfolio .atf-portfolio-icon {
    padding: 0;
    margin: 0;
    list-style: none;
    transform: translateX(-50%) translateY(-50%) scaleY(0);
    position: absolute;
    top: 50%;
    left: 50%;
    transition: all 0.25s linear;
}

.atf-single-portfolio:hover .atf-portfolio-icon {
    transform: translateX(-50%) translateY(-50%) scaleY(1);
}

.atf-single-portfolio .atf-portfolio-icon li {
    margin: 0 2px;
    display: inline-block;
}

.atf-single-portfolio .atf-portfolio-icon li a {
    color: var(--thm-white);
    background: var(--thm-color);
    font-size: 16px;
    text-align: center;
    line-height: 33px;
    height: 38px;
    width: 38px;
    border: 4px solid var(--thm-white);
    display: block;
    transition: all 0.3s ease-in-out;
    animation: animate 7s infinite;
    border-radius: 50%;
}

.atf-single-portfolio .atf-portfolio-icon li a:hover {
    text-shadow: 3px 3px 1px rgba(0, 0, 0, 0.4);
}

@keyframes animate {
    0% {
        background-color: #4bc2dd;
    }
    20% {
        background-color: #3F51B5;
    }
    40% {
        background-color: #1a30a9;
    }
    60% {
        background-color: #2196F3;
    }
    80% {
        background-color: var(--thm-black);
    }
    100% {
        background-color: var(--thm-color);
    }
}

.atf-process-icon i {
    font-size: 20px;
    margin-bottom: 17px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    background: var(--thm-color);
    text-align: center;
    border-radius: 50%;
}


/**************************************
 * product end
 *************************************/


/*--------------------------------------------------------------
# 底部订阅模块布局与视觉
--------------------------------------------------------------*/

.atf-Subscribe-area {
    position: relative;
    padding: 80px 0;
    background: linear-gradient(135deg, rgba(58, 151, 255, 0.08), rgba(20, 41, 108, 0.05));
    overflow: hidden;
}

.atf-subscribe-panel {
    position: relative;
    padding: 48px;
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #dfe9f8;
    box-shadow: 0 32px 70px rgba(20, 41, 108, 0.14);
    overflow: hidden;
}

.atf-subscribe-panel:before,
.atf-subscribe-panel:after {
    content: "";
    position: absolute;
    border-radius: 50%;
    z-index: 0;
}

.atf-subscribe-panel:before {
    width: 240px;
    height: 240px;
    background: rgba(58, 151, 255, 0.12);
    top: -80px;
    right: -60px;
}

.atf-subscribe-panel:after {
    width: 180px;
    height: 180px;
    background: rgba(20, 41, 108, 0.12);
    bottom: -70px;
    left: -80px;
}

.atf-subscribe-copy,
.atf-subscribe-form {
    position: relative;
    z-index: 1;
}

.atf-subscribe-kicker {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    background: rgba(58, 151, 255, 0.12);
    color: var(--thm-black);
    border-radius: 999px;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.atf-subscribe-copy h3 {
    font-size: 24px;
    line-height: 32px;
    font-weight: 500;
    margin-bottom: 12px;
    color: var(--thm-black);
}

.atf-subscribe-copy p {
    margin-bottom: 18px;
    color: #4f5d75;
}

.atf-subscribe-list {
    padding: 0;
    margin: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px 24px;
}

.atf-subscribe-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #1a2a4a;
    font-weight: 500;
}

.atf-subscribe-list i {
    color: var(--thm-color);
    font-size: 14px;
}

.atf-subscribe-form {
    background: #f6f9ff;
    padding: 24px;
    border-radius: 14px;
    border: 1px solid #dfe9f8;
    box-shadow: 0 14px 36px rgba(20, 41, 108, 0.12);
}

.atf-form-grid {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
}

.atf-form-group {
    margin: 0;
}

.atf-subscribe-input {
    width: 100%;
    height: 52px;
    padding: 12px 14px;
    border: 1px solid #d4ddea;
    border-radius: 12px;
    background: #ffffff;
    font-size: 15px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.atf-subscribe-input:focus {
    outline: none;
    border-color: var(--thm-color);
    box-shadow: 0 0 0 3px rgba(58, 151, 255, 0.2);
    background-color: #ffffff;
}

.atf-subscribe-input::placeholder {
    color: #7c8ba1;
}

.atf-subscribe-btn {
    width: 100%;
    height: 52px;
    border: none;
    border-radius: 12px;
    background: var(--thm-line);
    color: #ffffff;
    font-weight: 700;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 16px 32px rgba(58, 151, 255, 0.26);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.atf-subscribe-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 38px rgba(58, 151, 255, 0.3);
}

.atf-subscribe-btn:active {
    transform: translateY(0);
}

.atf-subscribe-note {
    margin-top: 14px;
    color: #5b6983;
    font-size: 14px;
}

.atf-subscribe-status {
    margin-top: 12px;
    font-size: 14px;
    color: #4f5d75;
}

.atf-subscribe-status--success {
    color: #1d9b4c;
}

.atf-subscribe-status--error {
    color: #d14343;
}

.atf-subscribe-status--info {
    color: #3a97ff;
}

.atf-subscribe-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.atf-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 991px) {
    .atf-subscribe-panel {
        padding: 36px 30px;
    }
}

@media (max-width: 767px) {
    .atf-Subscribe-area {
        padding: 60px 0;
    }

    .atf-subscribe-panel {
        padding: 28px 22px;
    }

    .atf-subscribe-copy h3 {
        font-size: 20px;
        line-height: 28px;
        font-weight: 500;
    }

    .atf-subscribe-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .atf-form-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   V2 Shared Surface Cleanup
   说明：
   - style.css 尾部仍有一批订阅、输入框和高亮组件沿用旧颜色变量。
   - 这里统一把共享表单面板、订阅按钮和高亮样式切到 V2 token，
     避免内容页整改后又被全局旧 thm 变量拉回旧视觉。
   ============================================================ */

.atf-subscribe-panel {
    background: linear-gradient(180deg, var(--v2-bg-primary) 0%, var(--v2-bg-functional) 100%);
    border: 1px solid var(--v2-bg-divider);
    box-shadow: var(--v2-shadow-card-hover);
}

.atf-subscribe-kicker {
    background: rgba(var(--v2-primary-500-rgb), 0.10);
    color: var(--v2-text-heading);
}

.atf-subscribe-copy h3,
.atf-subscribe-list li {
    color: var(--v2-text-heading);
}

.atf-subscribe-copy p,
.atf-subscribe-note,
.atf-subscribe-status {
    color: var(--v2-text-secondary);
}

.atf-subscribe-list i,
.atf-subscribe-status--info {
    color: var(--v2-primary-500);
}

.atf-subscribe-form {
    background: var(--v2-bg-primary);
    border: 1px solid var(--v2-bg-divider);
    border-radius: var(--v2-radius-lg);
    box-shadow: var(--v2-shadow-card);
}

.atf-subscribe-input {
    border-color: var(--v2-bg-divider);
    border-radius: var(--v2-radius-md);
    background: var(--v2-bg-content);
    color: var(--v2-text-body);
}

.atf-subscribe-input:focus {
    border-color: var(--v2-primary-500);
    box-shadow: 0 0 0 4px rgba(var(--v2-primary-500-rgb), 0.12);
    background: var(--v2-bg-primary);
}

.atf-subscribe-input::placeholder {
    color: var(--v2-text-placeholder);
}

.atf-subscribe-btn {
    background: var(--v2-primary-500);
    border-radius: var(--v2-radius-md);
    box-shadow: 0 16px 32px rgba(var(--v2-primary-500-rgb), 0.24);
}

.atf-subscribe-btn:hover {
    background: var(--v2-primary-400);
    box-shadow: 0 18px 36px rgba(var(--v2-primary-500-rgb), 0.28);
}

.atf-subscribe-btn:active {
    background: var(--v2-primary-600);
}

.search-highlight {
    background: rgba(var(--v2-primary-500-rgb), 0.14);
    color: var(--v2-text-heading);
}

.atf-main-privacy,
.atf-main-privacy p,
.atf-main-privacy li {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/*==============================================
    End
===============================================*/

/* ============================================================
   Homepage 20260407 Banner Transition
   说明：
   - 首页整体主底色需与设计稿矩形完全一致，统一回到 #F4F6F9。
   - 首页 banner 保留旧轮播结构。
   - banner 区域顶部细分隔带按设计稿使用 #E3E8F0，只作用于首页顶部。
   - 这里只负责首页外层底色与 banner 底部和新版首组深色模块之间的衔接，不改动 banner 本体。
   ============================================================ */

body.homepage-v2 {
    background: var(--v2-home-page-bg);
}

.page-wrapper.homepage-v2 {
    background: var(--v2-home-page-bg);
}

.page-wrapper.homepage-v2 #home {
    margin-bottom: 0;
    background: var(--v2-home-banner-divider-bg);
}

.page-wrapper.homepage-v2 #home + .tpa-home-system-section {
    margin-top: var(--v2-home-card-gap, 20px);
}

@media (max-width: 991px) {
    .page-wrapper.homepage-v2 #home + .tpa-home-system-section {
        margin-top: var(--v2-home-system-offset-md);
    }
}

@media (max-width: 767px) {
    .page-wrapper.homepage-v2 #home + .tpa-home-system-section {
        margin-top: var(--v2-home-system-offset-sm);
    }
}

/* ============================================================
   Mobile Inner Banner Breadcrumb Glass Fallback
   说明：
   - 部分功能页仍使用非 atf-align-left 的旧 Banner 结构；
   - 移动端统一把标题/面包屑放到 480px Banner 底部，并给面包屑加轻量毛玻璃底。
   ============================================================ */
@media (max-width: 767px) {
    .atf-page-heading.atf-align-left .atf-post-label,
    .atf-page-heading.atf-align-left .atf-page-heading-in .atf-post-label {
        min-height: 0;
        padding: 4px 10px !important;
        gap: 0 6px;
        border: 1px solid rgba(255, 255, 255, 0.18) !important;
        border-radius: var(--v2-radius-pill, 9999px) !important;
        background: rgba(var(--v2-bg-dark-rgb, 24, 32, 43), 0.18) !important;
        box-shadow: none !important;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        color: #FFFFFF !important;
        font-size: 16px;
        line-height: 24px;
    }

    .atf-page-heading.atf-align-left .atf-post-label > span,
    .atf-page-heading.atf-align-left .atf-post-label > span a {
        color: #FFFFFF !important;
        font-size: 16px;
        line-height: 24px;
        opacity: 1;
    }

    .atf-page-heading.atf-align-left .atf-post-label > span:last-child,
    .atf-page-heading.atf-align-left .atf-post-label > span:not(:has(a)) {
        color: rgba(255, 255, 255, 0.6) !important;
    }

    .atf-page-heading.atf-align-left .atf-post-label > span:not(:last-child)::after {
        margin-left: 6px;
        color: #FFFFFF !important;
    }

    .atf-page-heading:not(.atf-align-left),
    .atf-page-heading.atf-size-md:not(.atf-align-left) {
        height: var(--v2-mobile-banner-height, 480px) !important;
        min-height: var(--v2-mobile-banner-height, 480px) !important;
        padding: 0 !important;
        display: flex;
        align-items: stretch;
    }

    .atf-page-heading:not(.atf-align-left) > .container {
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding-right: var(--v2-mobile-container-padding, 20px);
        padding-bottom: 54px;
        padding-left: var(--v2-mobile-container-padding, 20px);
    }

    .atf-page-heading:not(.atf-align-left) .atf-page-heading-in,
    .atf-page-heading:not(.atf-align-left) .atf-page-heading-in.text-center {
        position: relative !important;
        bottom: auto !important;
        display: flex;
        flex-direction: column;
        align-items: flex-start !important;
        width: 100%;
        max-width: 100%;
        gap: 12px;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        text-align: left !important;
    }

    .atf-page-heading:not(.atf-align-left) .atf-page-heading-title {
        margin: 0;
        color: #FFFFFF;
        font-size: 28px;
        line-height: 36px;
        font-weight: 500;
        letter-spacing: 0;
        text-shadow: none;
    }

    .atf-page-heading:not(.atf-align-left) .atf-post-label,
    .atf-page-heading:not(.atf-align-left) .atf-page-heading-in .atf-post-label {
        position: static !important;
        display: inline-flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start !important;
        max-width: 100%;
        min-height: 0;
        margin: 0;
        padding: 4px 10px !important;
        gap: 0 6px;
        border: 1px solid rgba(255, 255, 255, 0.18) !important;
        border-radius: var(--v2-radius-pill, 9999px) !important;
        background: rgba(var(--v2-bg-dark-rgb, 24, 32, 43), 0.18) !important;
        box-shadow: none;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        color: #FFFFFF;
        font-size: 16px;
        line-height: 24px;
    }

    .atf-page-heading:not(.atf-align-left) .atf-post-label > span,
    .atf-page-heading:not(.atf-align-left) .atf-post-label > span a {
        color: #FFFFFF;
        font-size: 16px;
        line-height: 24px;
        opacity: 1;
    }

    .atf-page-heading:not(.atf-align-left) .atf-post-label > span:last-child,
    .atf-page-heading:not(.atf-align-left) .atf-post-label > span:not(:has(a)) {
        color: rgba(255, 255, 255, 0.6);
    }

    .atf-page-heading:not(.atf-align-left) .atf-post-label > span:not(:last-child)::after {
        margin-left: 6px;
        color: #FFFFFF;
    }
}
