﻿/* 基础样式重置 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    width: 100%;
    overflow-x: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

html::-webkit-scrollbar {
    width: 0;
    height: 0;
}

:root {
    --page-bg: #f7f5f2;
    --panel: #ffffff;
    --panel-muted: #fbfaf8;
    --text: #1f1c18;
    --muted: #6f665d;
    --brand: #8B7355;
    --brand-dark: #6d5a44;
    --border: #e3ded6;
    --shadow-soft: 0 12px 30px rgba(31, 28, 24, 0.08);
    --shadow-hover: 0 18px 40px rgba(31, 28, 24, 0.12);
}

body {
    font-family: PingFangSC-Light, "Helvetica Neue", Helvetica, STHeiTi, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    width: 100%;
    color: var(--text);
    background-color: var(--page-bg);
    background-image: radial-gradient(900px 500px at 10% -10%, rgba(255, 255, 255, 0.6), transparent 60%),
        radial-gradient(800px 600px at 90% -20%, rgba(255, 255, 255, 0.5), transparent 60%);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

body::-webkit-scrollbar {
    width: 0;
    height: 0;
}

a {
    text-decoration: none;
    color: inherit;
    transition: color 0.25s ease, opacity 0.25s ease;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

h1,
h2,
.index2021-fur-title,
.case-section-title,
.about-section-title,
.contact-banner-title,
.case-banner-title {
    font-family: "Source Han Serif SC", "Noto Serif SC", "Songti SC", serif;
    letter-spacing: 2px;
}

/* 首页板块标题统一副标 */
.index2021-aboutFnji-title,
.index2021-fur-title {
    position: relative;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.index2021-aboutFnji-title::after,
.index2021-fur-title::after {
    content: "N I Z H I Y U N";
    display: block;
    width: fit-content;
    margin: 8px auto 0;
    padding: 0 52px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1;
    color: #c8a77f;
    background:
        linear-gradient(rgba(200, 167, 127, 0.58), rgba(200, 167, 127, 0.58)) left center / 36px 1px no-repeat,
        linear-gradient(rgba(200, 167, 127, 0.58), rgba(200, 167, 127, 0.58)) right center / 36px 1px no-repeat;
}

/* 通用交互效果 */
.js-reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity 0.75s ease, transform 0.75s cubic-bezier(0.2, 0.65, 0.2, 1);
    transition-delay: var(--reveal-delay, 0ms);
}

.js-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.interactive-lift {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
    .interactive-lift:hover {
        transform: translateY(-4px);
    }
}

@media (prefers-reduced-motion: reduce) {

    .js-reveal,
    .interactive-lift {
        transition: none !important;
        transform: none !important;
    }
}

@media (max-width: 768px) {

    .index2021-aboutFnji-title::after,
    .index2021-fur-title::after {
        font-size: 11px;
        letter-spacing: 0;
        padding: 0 32px;
        background-size: 20px 1px, 20px 1px;
    }
}

/* 导航�?*/
.nav-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 50px;
    padding: 0 16px 0 30px;
    background-color: rgba(247, 245, 242, 0.92);
    border-bottom: 1px solid rgba(227, 222, 214, 0.8);
    backdrop-filter: blur(10px);
    transition: box-shadow 0.3s ease, background-color 0.3s ease;
}

.nav-header.scrolled {
    box-shadow: 0 12px 30px rgba(31, 28, 24, 0.08);
}

.nav-logo {
    flex-shrink: 0;
}

.nav-logo img {
    height: 32px;
    width: auto;
}

.nav-menu {
    display: flex;
    align-items: center;
    gap: 30px;
    flex: 1;
    justify-content: center;
}

.nav-menu a {
    font-size: 15px;
    font-weight: 500;
    color: #000;
    transition: opacity 0.3s ease;
    white-space: nowrap;
    letter-spacing: normal;
}

.nav-menu a:hover {
    opacity: 0.6;
}

.nav-right {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-shrink: 0;
}

.login-btn {
    font-size: 14px;
    cursor: pointer;
}

.lang-switch {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 14px;
}

.lang-switch span {
    cursor: pointer;
}

.lang-switch .active {
    font-weight: 500;
}

.lang-switch .divider {
    cursor: default;
}

.search-btn {
    cursor: pointer;
}

.search-btn img {
    width: 20px;
    height: 20px;
}

/* 主内容区 */
.index2021-content {
    width: 100%;
    background-color: #fff;
    padding-top: 50px;
}

/* Hero轮播�?*/
.index2021-content-images {
    width: 100%;
    height: 100vh;
    min-height: 800px;
    max-height: 1100px;
    position: relative;
    overflow: hidden;
}

.hero-swiper {
    width: 100%;
    height: 100%;
}

.hero-swiper .swiper-wrapper {
    width: 100%;
}

.hero-swiper .swiper-slide {
    flex: 0 0 100%;
    min-width: 100%;
}

.swiper-wrapper {
    display: flex;
    transition: transform 0.8s ease;
    height: 100%;
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    min-height: 800px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.swiper-pagination {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 10;
}

.swiper-pagination .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.swiper-pagination .dot.active {
    background-color: #fff;
}

/* 中间轮播图区�?*/
.index2021-middle-banner {
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.middle-banner-swiper {
    width: 100%;
    height: 100%;
}

.middle-banner-swiper .swiper-wrapper {
    height: 100%;
}

.middle-banner-swiper .swiper-slide {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* 关于梵几 */
.index2021-aboutFnji {
    width: 100%;
    background-color: rgb(220, 211, 203);
    padding: 100px 25px 80px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.index2021-aboutFnji-info {
    text-align: center;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    max-width: 1265px;
}

.index2021-aboutFnji-slogan {
    margin-bottom: 40px;
}

.slogan-en {
    font-size: 14px;
    letter-spacing: 3px;
    margin-bottom: 10px;
    color: #000;
}

.slogan-cn {
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 5px;
}

.index2021-aboutFnji-title {
    font-size: 30px;
    font-weight: 500;
    margin-bottom: 30px;
    line-height: 42px;
}

.index2021-aboutFnji-con {
    font-size: 16px;
    font-weight: 300;
    line-height: 24px;
    margin-bottom: 30px;
    letter-spacing: normal;
}

.index2021-aboutFnji-con p {
    margin: 0;
}

.index2021-aboutFnji-btn {
    margin-bottom: 40px;
}

.index2021-aboutFnji-btn a,
.index2021-fnji-part-bt a {
    font-size: 16px;
    font-weight: 400;
    color: #8d8d8d;
    border-bottom: 1px solid #8d8d8d;
    padding-bottom: 2px;
    transition: opacity 0.3s ease;
}

.index2021-aboutFnji-btn a:hover,
.index2021-fnji-part-bt a:hover {
    opacity: 0.6;
}

.index2021-aboutFnji-footer {
    position: absolute;
    bottom: 30px;
    right: 25px;
    text-align: right;
}

.index2021-aboutFnji-footer-one {
    font-size: 14px;
    letter-spacing: 2px;
    margin-bottom: 5px;
}

.index2021-aboutFnji-footer-two {
    font-size: 12px;
    letter-spacing: 1px;
    color: #666;
}

/* 家具区块 */
.index2021-fur-banner {
    width: 100%;
    padding: 0;
    background-color: #fff;
    position: relative;
}

.index2021-fur-header {
    text-align: center;
    padding: 60px 0 40px;
    max-width: 1265px;
    margin: 0 auto;
}

.index2021-art-header {
    text-align: left;
    padding: 60px 0 40px;
    max-width: 1265px;
    margin: 0 auto;
}

.index2021-fur-title {
    font-size: 30px;
    font-weight: 500;
    letter-spacing: 2px;
    margin-bottom: 20px;
    line-height: 42px;
    font-family: SourceHanSansCN-Regular, SourceHanSansCN, sans-serif;
}

.index2021-fur-desc {
    font-size: 16px;
    font-weight: 300;
    line-height: 28px;
    margin-bottom: 30px;
    letter-spacing: normal;
    color: #333;
}

.index2021-fur-desc p {
    margin: 0;
}

.index2021-fur-collections {
    margin-top: 40px;
}

.collections-count {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 10px;
}

.collections-names {
    font-size: 14px;
    letter-spacing: 2px;
    color: #8B7355;
}

/* 服务流程样式 */
.service-steps {
    max-width: 1265px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding-bottom: 40px;
    flex-wrap: wrap;
    gap: 30px;
}

.service-step {
    flex: 1;
    min-width: 200px;
    text-align: left;
    padding: 20px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.6);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.service-step:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-soft);
    border-color: rgba(139, 115, 85, 0.3);
}

.service-step .step-num {
    font-size: 24px;
    font-weight: 500;
    color: #e3e3e3;
    margin-bottom: 15px;
}

.service-step .step-title {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 10px;
    color: #333;
}

.service-step .step-desc {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
}

/* 家具/艺术 标签切换�?*/
.index2021-common {
    width: 100%;
    position: relative;
}

.index2021-line {
    display: flex;
    position: relative;
    max-width: 1265px;
    margin: 0 auto;
    min-height: 700px;
}

.index2021-arrow-down {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    z-index: 10;
}

.index2021-arrow-down img {
    width: 20px;
    height: auto;
}

.index2021-line-tabs {
    width: 180px;
    flex-shrink: 0;
    padding-left: 50px;
    padding-top: 100px;
    position: relative;
    z-index: 10;
}

.index2021-line-pos {
    margin-bottom: 40px;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.index2021-line-pos:hover {
    opacity: 0.7;
}

.index2021-line-con {
    border-left: 2px solid transparent;
    padding-left: 15px;
    transition: border-color 0.3s ease;
}

.index2021-line-pos.active .index2021-line-con {
    border-left-color: #000;
}

.tab-num {
    font-size: 14px;
    color: #333;
}

.tab-title {
    font-size: 20px;
    font-weight: 500;
    display: block;
    margin-bottom: 8px;
    color: #000;
}

.tab-desc,
.tab-en {
    font-size: 13px;
    color: #666;
    display: block;
    line-height: 1.6;
}

.index2021-fur-images,
.index2021-art-images {
    flex: 1;
    position: relative;
    min-height: 600px;
    height: 600px;
}

.index2021-fur-image,
.index2021-art-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.index2021-fur-image.active,
.index2021-art-image.active {
    opacity: 1;
}

.fur-img-wrapper {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    width: 100%;
    height: 100%;
}

.index2021-fur-image .fur-img-small {
    width: 28%;
    height: auto;
    object-fit: cover;
    margin-top: 180px;
}

.index2021-fur-image .fur-img-large {
    width: 70%;
    height: 100%;
    object-fit: cover;
}

.index2021-fnji-part-bt {
    text-align: center;
    margin-top: 40px;
    padding: 30px 0;
}

/* 梵几在家 */
.index2021-home {
    background-color: rgb(220, 211, 203);
    padding: 80px 25px 60px;
}

.index2021-home-header {
    text-align: center;
    margin-bottom: 50px;
}

.index2021-home-grid {
    display: grid;
    max-width: 1265px;
    margin: 0 auto;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.index2021-home-item {
    position: relative;
    overflow: hidden;
    display: block;
    border-radius: 16px;
    box-shadow: var(--shadow-soft);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.index2021-home-item img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.index2021-home-item:hover img {
    transform: scale(1.05);
}

.index2021-home-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-hover);
}

.index2021-home-item .item-number {
    position: absolute;
    top: 15px;
    left: 15px;
    font-size: 14px;
    color: #333;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 5px 10px;
}

/* 商业案例 */
.index2021-business {
    background-color: #fff;
    padding: 80px 25px 60px;
}

.index2021-business-header {
    text-align: center;
    margin-bottom: 50px;
}

.index2021-business-grid {
    display: grid;
    max-width: 1265px;
    margin: 0 auto;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.index2021-business-item {
    position: relative;
    overflow: hidden;
    display: block;
    border-radius: 16px;
    box-shadow: var(--shadow-soft);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.index2021-business-item img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.index2021-business-item:hover img {
    transform: scale(1.05);
}

.index2021-business-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-hover);
}

.index2021-business-item .item-name {
    position: absolute;
    top: 15px;
    left: 15px;
    font-size: 14px;
    color: #333;
}

/* 核心优势 */
.index2021-core {
    padding: 84px 25px 64px;
    background: linear-gradient(180deg, #f7f6f3 0%, #ffffff 45%, #ffffff 100%);
}

.index2021-core-header {
    text-align: center;
    margin-bottom: 36px;
}

.index2021-core-grid {
    width: min(1265px, calc(100% - 8px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.core-adv-card {
    position: relative;
    overflow: hidden;
    min-height: 210px;
    padding: 22px 20px 18px;
    border-radius: 10px;
    border: 1px solid #e4dfd7;
    background: linear-gradient(170deg, #ffffff 0%, #faf8f4 100%);
    box-shadow: 0 8px 20px rgba(24, 28, 33, 0.05);
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.core-adv-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, rgba(186, 159, 118, 0.96) 0%, rgba(186, 159, 118, 0.3) 55%, rgba(186, 159, 118, 0.96) 100%);
}

.core-adv-card::after {
    content: attr(data-no);
    position: absolute;
    top: 8px;
    right: 12px;
    font-family: 'Georgia', 'Times New Roman', serif;
    font-size: 72px;
    font-weight: 300;
    font-style: italic;
    line-height: 1;
    letter-spacing: -2px;
    color: rgba(184, 157, 116, 0.12);
    pointer-events: none;
    transition: color 0.35s ease;
}

.core-adv-card:hover::after {
    color: rgba(139, 115, 85, 0.55);
}

.core-adv-card:hover {
    transform: translateY(-5px);
    border-color: #cbb28b;
    box-shadow: 0 14px 30px rgba(25, 32, 43, 0.12);
}

.core-adv-head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 50px;
    margin-bottom: 12px;
    padding-right: 34px;
}

.core-adv-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    color: #8b7355;
    padding: 6px;
    background: rgba(186, 159, 118, 0.1);
    border-radius: 10px;
    transition: color 0.3s ease, background 0.3s ease;
}

.core-adv-card:hover .core-adv-icon {
    color: #6d5a44;
    background: rgba(186, 159, 118, 0.18);
}

.core-adv-title {
    margin: 0;
    color: #1f2e40;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.6px;
    text-align: left;
}

.core-adv-desc {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #4f5e6f;
    font-size: 15px;
    line-height: 1.8;
    text-align: left;
}

/* 优势密码 */
.index2021-advpass {
    padding: 80px 25px 60px;
    background: #f7f5f2;
}

.advpass-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.advpass-card {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 22px 24px;
    position: relative;
    overflow: hidden;
    box-shadow: var(--shadow-soft);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.advpass-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-hover);
    border-color: rgba(139, 115, 85, 0.35);
}

.advpass-header {
    position: relative;
    z-index: 1;
    margin-bottom: 12px;
}

.advpass-card::after {
    content: attr(data-no);
    position: absolute;
    top: 6px;
    right: 14px;
    font-family: 'Georgia', 'Times New Roman', serif;
    font-size: 96px;
    font-weight: 300;
    font-style: italic;
    line-height: 1;
    letter-spacing: -3px;
    color: rgba(184, 157, 116, 0.15);
    pointer-events: none;
    z-index: 0;
    transition: color 0.35s ease;
}

.advpass-card:hover::after {
    color: rgba(139, 115, 85, 0.6);
}

.advpass-sub {
    margin: 0 0 4px;
    font-size: 12px;
    letter-spacing: 2px;
    color: #8b7355;
}

.advpass-card h3 {
    font-size: 18px;
    font-weight: 600;
    color: #222;
    margin: 0;
}


.advpass-card ul {
    margin: 0;
    padding-left: 0;
    list-style: none;
    color: #666;
    line-height: 1.8;
    font-size: 14px;
    position: relative;
    z-index: 1;
}


.advpass-card ul li {
    margin-bottom: 6px;
    position: relative;
    padding-left: 12px;
}

.advpass-card ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.7em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #8b7355;
}

/* 家居 */
.index2021-homeware {
    background-color: rgb(220, 211, 203);
    padding: 80px 25px 60px;
}

.index2021-homeware-header {
    text-align: center;
    margin-bottom: 50px;
}

.index2021-homeware-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.index2021-homeware-item {
    position: relative;
    overflow: hidden;
    display: block;
    border-radius: 16px;
    box-shadow: var(--shadow-soft);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.index2021-homeware-item img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.index2021-homeware-item:hover img {
    transform: scale(1.05);
}

.index2021-homeware-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-hover);
}

.index2021-homeware-item .item-category {
    position: absolute;
    top: 15px;
    left: 15px;
    font-size: 14px;
    color: #333;
    letter-spacing: 1px;
}

/* 艺术/栏目 */
.index2021-art-banner {
    width: 100%;
    padding: 80px 25px 60px;
    background-color: #fff;
}

/* 新闻速览 */
.index2021-news {
    width: 100%;
    padding: 80px 25px 60px;
    background-color: #fff;
}

.index2021-news-header {
    text-align: center;
    margin-bottom: 40px;
}

.news-slider {
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
    max-width: 1265px;
    margin: 0 auto;
    --news-per-view: 4;
}

.news-track {
    overflow: hidden;
    flex: 1;
}

.news-track-inner {
    display: flex;
    transition: transform 0.45s ease;
    will-change: transform;
}

.news-slider.is-static .news-track-inner {
    justify-content: center;
}

.index2021-news .news-card {
    flex: 0 0 calc(100% / var(--news-per-view, 4));
    padding: 12px 12px 0;
    box-sizing: border-box;
    text-decoration: none;
    color: inherit;
    transition: transform 0.35s ease;
    border: 7px solid transparent;
    border-radius: 22px;
    background-color: var(--panel);
    background-clip: padding-box;
    box-shadow: inset 0 0 0 1px var(--border), var(--shadow-soft);
}

.index2021-news .news-card-media {
    border-radius: 16px;
    overflow: hidden;
    height: 180px;
    background: var(--page-bg);
    box-shadow: var(--shadow-soft);
}

.index2021-news .news-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.index2021-news .news-card:hover .news-card-media img {
    transform: scale(1.04);
}

.index2021-news .news-card:hover .news-card-media {
    box-shadow: var(--shadow-hover);
}

.index2021-news .news-card:hover {
    transform: translateY(-6px);
    box-shadow: inset 0 0 0 1px rgba(139, 115, 85, 0.35), var(--shadow-hover);
}

.news-card-body {
    padding: 16px 4px 0;
}

.news-card-date {
    font-size: 12px;
    color: #888;
    letter-spacing: 0.5px;
}

.news-card-title {
    font-size: 16px;
    margin: 10px 0 8px;
    color: #222;
    line-height: 1.4;
}

.news-card-desc {
    font-size: 13px;
    color: #666;
    line-height: 1.6;
}

.index2021-news .news-nav {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid #c9c2b7;
    background: transparent;
    color: #6d5a44;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.index2021-news .news-nav:hover {
    background: #6d5a44;
    color: #fff;
    border-color: #6d5a44;
    box-shadow: 0 6px 16px rgba(109, 90, 68, 0.2);
}

.index2021-news .news-nav:active {
    transform: translateY(1px);
}

.index2021-news .news-nav:disabled {
    opacity: 0.35;
    cursor: not-allowed;
    border-color: #d9d3c8;
    background: transparent;
    color: #a8a19a;
    box-shadow: none;
}

.news-controls {
    max-width: 1265px;
    margin: 18px auto 0;
    display: flex;
    align-items: center;
    gap: 16px;
}

.news-progress {
    position: relative;
    flex: 1;
    height: 2px;
    background: #e3ded6;
    overflow: hidden;
}

.news-progress-indicator {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 25%;
    background: #8B7355;
    transform: translateX(0%);
    transition: transform 0.45s ease, width 0.45s ease;
}

.news-actions {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.news-slider.is-static+.news-controls .news-actions {
    display: none;
}

/* 如何购买 */
.index2021-purchase {
    padding: 80px 25px 60px;
    background-color: rgb(247, 247, 247);
}

.index2021-purchase-header {
    text-align: center;
    margin-bottom: 50px;
}

.index2021-purchase-content {
    text-align: center;
    margin-bottom: 40px;
    max-width: 1265px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
}

.purchase-online,
.purchase-offline {
    margin-bottom: 30px;
}

.purchase-online h3,
.purchase-offline h3 {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 15px;
}

.purchase-online p {
    font-size: 14px;
    color: #666;
}

.city-list {
    font-size: 14px;
    color: #666;
}

.city-list span {
    cursor: pointer;
    transition: color 0.3s ease;
}

.city-list span:hover {
    color: #000;
}

/* 页脚设计 (Redesigned) */
.footer {
    position: relative;
    background: linear-gradient(180deg, #1a1714 0%, #0f0d0b 100%);
    padding: 44px 16px 22px;
    color: #a8a19a;
    font-size: 14px;
    overflow: hidden;
}

.footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(139, 115, 85, 0.3), transparent);
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

/* 全站背景统一 - 必须保留 */
.index2021-content,
.index2021-aboutFnji,
.index2021-fur-banner,
.index2021-home,
.index2021-business,
.index2021-core,
.index2021-advpass,
.index2021-homeware,
.index2021-art-banner,
.index2021-news,
.index2021-purchase {
    background-color: var(--page-bg);
}

/* --- CTA 行动�?--- */
.footer-cta {
    position: relative;
    margin-bottom: 40px;
    padding: 2px;
    /* For border gradient */
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(139, 115, 85, 0.4), rgba(139, 115, 85, 0.1) 50%, rgba(139, 115, 85, 0.4));
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
    display: block;
    /* override default flex */
    border: none;
}

.footer-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 28px 34px;
    background: #151210;
    border-radius: 14px;
    position: relative;
    overflow: hidden;
}

.footer-cta-glow {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: radial-gradient(circle at center, rgba(139, 115, 85, 0.12), transparent 68%);
    pointer-events: none;
}

.footer-cta-content {
    flex: 1;
    padding-right: 28px;
}

.footer-cta-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    letter-spacing: 2px;
    color: #8B7355;
    margin-bottom: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.footer-cta-title {
    font-size: 26px;
    color: #fff;
    margin: 0 0 8px;
    font-weight: normal;
    font-family: "Source Han Serif SC", "Noto Serif SC", serif;
    background: linear-gradient(135deg, #fff 0%, #e3ded6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.footer-cta-desc {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
}

.footer-cta-actions {
    display: flex;
    gap: 12px;
}

.footer-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 44px;
    padding: 0 22px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #fff;
    background: rgba(255, 255, 255, 0.02);
}

.footer-cta-btn:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.3);
    transform: translateY(-2px);
}

.footer-cta-btn.is-primary {
    background: linear-gradient(135deg, #8B7355 0%, #6d5a44 100%);
    border-color: transparent;
    box-shadow: 0 10px 20px rgba(139, 115, 85, 0.2);
}

.footer-cta-btn.is-primary:hover {
    box-shadow: 0 15px 30px rgba(139, 115, 85, 0.3);
    transform: translateY(-2px);
}

/* --- 主体内容�?--- */
.footer-main {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
    gap: 28px;
    padding-bottom: 34px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.footer-col-title {
    font-size: 15px;
    color: #fff;
    margin-bottom: 18px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: "Source Han Serif SC", "Noto Serif SC", serif;
}

.footer-title-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(139, 115, 85, 0.4), transparent);
    max-width: 60px;
}

.footer-brand-logo {
    margin-bottom: 16px;
}

.footer-brand-logo img {
    height: 32px;
    width: auto;
    filter: brightness(0) invert(1) opacity(0.9);
}

.footer-brand-name {
    font-size: 18px;
    color: #fff;
    margin-bottom: 10px;
    font-family: "Source Han Serif SC", serif;
    letter-spacing: 1px;
}

.footer-brand-desc {
    line-height: 1.7;
    margin-bottom: 16px;
    color: rgba(255, 255, 255, 0.5);
    max-width: 320px;
    font-size: 13px;
}

.footer-brand-tags {
    display: flex;
    gap: 10px;
}

.footer-brand-tags span {
    font-size: 12px;
    padding: 4px 10px;
    border: 1px solid rgba(139, 115, 85, 0.3);
    border-radius: 20px;
    color: #8B7355;
    background: rgba(139, 115, 85, 0.05);
}

.footer-links {
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.footer-links a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
    color: rgba(255, 255, 255, 0.6);
}

.footer-links .link-dot {
    width: 4px;
    height: 4px;
    background: #8B7355;
    border-radius: 50%;
    opacity: 0;
    transition: all 0.3s ease;
    transform: translateX(-5px);
}

.footer-links a:hover {
    color: #8B7355;
    padding-left: 5px;
}

.footer-links a:hover .link-dot {
    opacity: 1;
    transform: translateX(0);
}

/* 联系�?*/
.footer-contact-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 18px;
}

.footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.footer-contact-icon {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    color: #8B7355;
    flex-shrink: 0;
}

.footer-contact-label {
    display: block;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.4);
    margin-bottom: 2px;
}

.footer-contact-link,
.footer-contact-text {
    color: rgba(255, 255, 255, 0.8);
    transition: color 0.3s ease;
}

.footer-contact-link:hover {
    color: #fff;
    text-decoration: underline;
    text-decoration-color: rgba(139, 115, 85, 0.5);
}

.footer-qrcode {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 10px;
    background: transparent;
    border-radius: 8px;
    border: none;
}

.footer-qrcode::before {
    content: "";
    display: block;
    width: 112px;
    height: 112px;
    margin: 0 auto 8px;
    border-radius: 6px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
    background: #fff url("../images/qrcode.png?v=20260414") center / contain no-repeat;
}

.footer-qrcode img {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
    filter: none;
}

.footer-qrcode span {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
}

/* --- 底部�?--- */
.footer-linkbar {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding-top: 18px;
}

.footer-linkbar-title {
    flex: 0 0 auto;
    font-size: 12px;
    line-height: 1.9;
    letter-spacing: 2px;
    color: rgba(255, 255, 255, 0.38);
}

.footer-linkbar-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    min-width: 0;
    row-gap: 8px;
}

.footer-linkbar-list a {
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    line-height: 1.9;
    color: rgba(255, 255, 255, 0.6);
    transition: color 0.3s ease, transform 0.3s ease;
}

.footer-linkbar-list a:not(:last-child)::after {
    content: "/";
    margin: 0 12px;
    color: rgba(255, 255, 255, 0.2);
}

.footer-linkbar-list a:hover {
    color: #8B7355;
    transform: translateY(-1px);
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-top: 22px;
}

.footer-bottom-left p {
    margin: 0 0 6px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.3);
}

.footer-back-top {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    color: #8B7355;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1px;
    opacity: 0.7;
    transition: all 0.3s ease;
}

.footer-back-top:hover {
    opacity: 1;
    transform: translateY(-3px);
}

.footer-back-top svg {
    background: rgba(139, 115, 85, 0.1);
    border-radius: 50%;
    padding: 6px;
    width: 32px;
    height: 32px;
    box-sizing: content-box;
    /* To accommodate padding in size */
}


/* =========================================
   响应式设�?(Responsive)
   ========================================= */

@media (max-width: 1200px) {
    .nav-menu {
        gap: 20px;
    }

    .nav-menu a {
        font-size: 14px;
    }

    .news-card-media {
        height: 170px;
    }

    .footer-cta-inner {
        padding: 30px;
    }

    .footer-cta-title {
        font-size: 26px;
    }

    .footer-main {
        gap: 30px;
    }
}

@media (max-width: 992px) {

    /* Existing Styles */
    .nav-header {
        height: 50px;
        padding: 0 12px;
    }

    .nav-menu {
        display: none;
    }

    .index2021-aboutFnji-header {
        flex-direction: column;
    }

    .index2021-aboutFnji-header-left,
    .index2021-aboutFnji-header-right {
        max-width: 100%;
    }

    .index2021-line {
        flex-direction: column;
    }

    .index2021-line-tabs {
        width: 100%;
        padding-left: 0;
        display: flex;
        gap: 20px;
        margin-bottom: 30px;
    }

    .index2021-business-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .index2021-core-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .index2021-homeware-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .advpass-grid {
        grid-template-columns: 1fr;
    }

    .news-slider {
        gap: 12px;
    }

    .index2021-news .news-card {
        padding: 10px 10px 0;
        border-width: 6px;
    }

    .news-card-media {
        height: 160px;
    }

    /* Footer Responsive */
    .footer-main {
        grid-template-columns: 1fr 1fr;
    }

    .footer-col-brand {
        grid-column: 1 / -1;
        margin-bottom: 20px;
    }

    .footer-col-contact {
        grid-column: 1 / -1;
        margin-top: 20px;
    }

    .footer-contact-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .footer-cta-inner {
        flex-direction: column;
        text-align: center;
        gap: 24px;
    }

    .footer-cta-content {
        padding-right: 0;
    }

    .footer-cta-tag {
        justify-content: center;
    }
}

@media (max-width: 768px) {

    /* Existing Styles */
    .index2021-home-grid {
        grid-template-columns: 1fr;
    }

    .index2021-business-grid {
        grid-template-columns: 1fr;
    }

    .index2021-homeware-grid {
        grid-template-columns: 1fr;
    }

    .index2021-fur-title {
        font-size: 24px;
    }

    .index2021-aboutFnji-title {
        font-size: 24px;
    }

    .index2021-core-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .core-adv-card {
        min-height: auto;
        padding: 16px 14px 14px;
        border-radius: 10px;
    }

    .core-adv-card::after {
        top: 6px;
        right: 8px;
        font-size: 56px;
    }

    .core-adv-head {
        gap: 10px;
        margin-bottom: 8px;
        min-height: 42px;
        padding-right: 30px;
    }

    .core-adv-icon {
        width: 30px;
        height: 30px;
        flex: 0 0 30px;
        padding: 5px;
    }

    .core-adv-title {
        font-size: 17px;
        line-height: 1.4;
    }

    .core-adv-desc {
        font-size: 14px;
        line-height: 1.72;
    }

    .advpass-card {
        padding: 20px;
    }

    .advpass-num-art {
        width: 88px;
        height: 88px;
        top: -4px;
        right: 0;
    }

    .advpass-num-art .art-shadow,
    .advpass-num-art .art-core,
    .advpass-num-art .art-outline,
    .advpass-num-art .art-shine {
        font-size: 94px;
    }

    .news-nav {
        display: none;
    }

    .index2021-news .news-card {
        padding: 8px 8px 0;
        border-width: 5px;
    }

    .news-card-title {
        font-size: 15px;
    }

    .news-card-desc {
        font-size: 12px;
    }

    /* Footer Responsive */
    .footer {
        padding: 40px 16px 20px;
    }

    .footer-cta-actions {
        flex-direction: column;
        width: 100%;
    }

    .footer-cta-btn {
        width: 100%;
    }

    .footer-main {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .footer-col-brand {
        text-align: center;
    }

    .footer-brand-tags {
        justify-content: center;
    }

    .footer-brand-desc {
        margin-left: auto;
        margin-right: auto;
    }

    .footer-contact-list {
        grid-template-columns: 1fr;
    }

    .footer-linkbar {
        flex-direction: column;
        gap: 8px;
    }

    .footer-linkbar-list a:not(:last-child)::after {
        margin: 0 10px;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 20px;
    }
}
/* =========================================
   Visual Refresh & Brand Enhancement (Override)
   ========================================= */

/* Typography Upgrade */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #2c2825;
    /* Softer black */
    font-weight: 300;
}

h1,
h2,
h3,
h4,
.section-title,
.contact-banner-title {
    font-family: "Old Standard TT", "Source Han Serif SC", "Songti SC", serif;
    /* More premium serif feel */
    font-weight: 400;
    letter-spacing: 0.02em;
}

/* Global Aesthetics */
.page-content {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.03'/%3E%3C/svg%3E");
    background-size: 160px;
    /* Subtle grain texture */
}

/* Enhanced Banner Design */
.contact-banner {
    height: 60vh;
    min-height: 550px;
    display: flex;
    align-items: center;
    /* Center vertically specifically for visual impact */
    justify-content: center;
    position: relative;
    overflow: hidden;
    margin-bottom: 0;
    /* Remove bottom margin to blend with content */
}

/* Parallax-like effect base */
.contact-banner img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 110%;
    /* Slightly taller for movement */
    object-fit: cover;
    z-index: 0;
    transition: transform 0.5s ease-out;
    filter: brightness(0.85) contrast(1.05);
    /* Enhance image depth */
}

.contact-banner-overlay {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 900px;
    padding: 60px 40px;
    background: rgba(255, 255, 255, 0.85);
    /* Glass-morphism base */
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.4);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    /* Slight radius */
    transform: translateY(20px);
    opacity: 0;
    animation: banner-entry 1s cubic-bezier(0.2, 0.8, 0.2, 1) forwards 0.3s;
}

@keyframes banner-entry {
    from {
        opacity: 0;
        transform: translateY(40px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.contact-banner-tag {
    font-size: 12px;
    letter-spacing: 0.25em;
    color: #8B7355;
    margin-bottom: 24px;
    display: block;
    text-transform: uppercase;
    font-weight: 600;
}

.contact-banner-title {
    font-size: 48px;
    color: #1a1714;
    margin-bottom: 24px;
    line-height: 1.2;
}

.contact-banner-subtitle {
    font-size: 16px;
    color: #555;
    line-height: 1.8;
    max-width: 600px;
    margin: 0 auto;
    font-family: system-ui, -apple-system, sans-serif;
    /* Clean sans-serif for body text */
}

/* Card Modernization */
.case-card,
.news-card,
.product-showcase-card,
.about-job-card,
.cert-card {
    border: none !important;
    background: #fff;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    border-radius: 8px;
    /* Softer corners */
    overflow: hidden;
}

.case-card:hover,
.news-card:hover,
.product-showcase-card:hover,
.about-job-card:hover,
.cert-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.08);
    /* Deeper shadow on hover */
}

/* Section Refinement */
.about-section,
.case-section,
.case-category-section,
.product-showcase-section {
    padding: 100px 0;
    /* More breathing room */
}

.about-section-header,
.product-showcase-head {
    margin-bottom: 60px;
}

.about-section-tag,
.product-showcase-tag {
    color: #8B7355;
    font-size: 12px;
    letter-spacing: 3px;
    margin-bottom: 16px;
    opacity: 0.8;
}

.about-section-title,
.product-showcase-title {
    font-size: 36px;
    color: #1a1714;
    position: relative;
    display: inline-block;
    padding-bottom: 24px;
}

.about-section-title::after,
.product-showcase-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 2px;
    background-color: #8B7355;
    opacity: 0.5;
}

/* Nav Optimization */
.nav-header {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
    /* Subtle separator */
    height: 70px;
    /* Taller nav */
}

.nav-menu a {
    font-size: 14px;
    letter-spacing: 0.05em;
    color: #333;
    font-weight: 500;
    position: relative;
}

.nav-menu a::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0%;
    height: 1px;
    background-color: #8B7355;
    transition: width 0.3s ease;
}

.nav-menu a:hover::after,
.nav-menu a.active::after {
    width: 100%;
}

/* Button Refinement */
.contact-btn a,
.submit-btn,
.tech-nav {
    border-radius: 4px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 13px;
    transition: all 0.3s ease;
    background-image: linear-gradient(135deg, #8B7355 0%, #6d5a44 100%);
    /* Brand gradient */
    border: none;
    box-shadow: 0 4px 15px rgba(139, 115, 85, 0.25);
}

.contact-btn a:hover,
.submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(139, 115, 85, 0.35);
}

/* Mobile tweak */
@media (max-width: 768px) {
    .contact-banner {
        height: 50vh;
        min-height: 400px;
    }

    .contact-banner-title {
        font-size: 32px;
    }

    .contact-banner-overlay {
        padding: 30px 20px;
        width: 90%;
    }
}
/* Product Advantages Interaction Update */
.index2021-fur-images {
    position: relative;
    /* Ensure container is relative for absolute positioning of children */
    min-height: 400px;
    /* Prevent collapse if all are absolute */
}

.index2021-fur-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translateY(20px) scale(0.98);
    /* Slight slide up & scale effect */
    z-index: 1;
    display: flex;
    /* Ensure flex layout is preserved */
    align-items: center;
    justify-content: center;
}

.index2021-fur-image.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    z-index: 2;
}

/* Tab Interaction */
.index2021-line-pos {
    cursor: pointer;
    transition: all 0.3s ease;
    opacity: 0.6;
    /* Default dimmed */
}

.index2021-line-pos:hover {
    opacity: 0.8;
}

.index2021-line-pos.active {
    opacity: 1;
}

.index2021-line-con {
    padding-left: 15px;
    border-left: 2px solid transparent;
    /* Prepare for border transition */
    transition: all 0.3s ease;
}

.index2021-line-pos.active .index2021-line-con {
    border-left-color: #8B7355;
    /* Golden accent */
    padding-left: 20px;
    /* Slight movement */
}

.tab-title {
    font-weight: 500;
    font-size: 18px;
    display: block;
    margin-bottom: 4px;
    color: #1a1714;
}

.tab-desc {
    font-size: 13px;
    color: #666;
    display: block;
}
/* =========================================
   Stronger Interaction Enhancements
   ========================================= */

/* 1. 图片切换：弹性入�?+ 模糊过渡 */
.index2021-fur-image {
    /* 初始状态：下沉、缩小、模�?*/
    opacity: 0;
    visibility: hidden;
    transform: translateY(40px) scale(0.92);
    filter: blur(8px);
    transition:
        opacity 0.5s ease-out,
        transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1),
        /* 弹性贝塞尔曲线 */
        filter 0.6s ease-out;
    z-index: 1;
}

.index2021-fur-image.active {
    /* 激活状态：复位、清�?*/
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    filter: blur(0);
    z-index: 2;
    transition-delay: 0.05s;
    /* 轻微错帧，更有层次感 */
}

/* 2. Tab 交互增强 */
.index2021-line-pos {
    position: relative;
    /* 移除之前的边框样式，为了用伪元素做更好看的动�?*/
    border: none !important;
}

.index2021-line-con {
    border-left: none !important;
    /* 强制覆盖旧样�?*/
    padding-left: 15px;
    transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* 动态线条生长动�?*/
.index2021-line-pos::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 0%;
    /* 初始高度�? */
    background-color: #8B7355;
    transition: height 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    opacity: 0;
    z-index: 1;
    border-radius: 2px;
}

.index2021-line-pos.active::before {
    height: 80%;
    /* 选中时生长到 80% 高度 */
    opacity: 1;
}

/* 文字滑动效果 */
.index2021-line-pos.active .index2021-line-con {
    transform: translateX(12px);
    /* 选中时文字整体右�?*/
    border-left-color: transparent;
}

/* 标题和描述微�?*/
.index2021-line-pos .tab-title {
    transition: color 0.3s ease;
}

.index2021-line-pos.active .tab-title {
    color: #8B7355;
    /* 选中变金 */
    font-weight: 600;
}
/* =========================================
   Layout Fix: Prevent Overlap
   ========================================= */

/* 1. 强制增加左右布局的间�?*/
.index2021-line {
    display: flex;
    gap: 60px;
    /* 增加文字和图片的间距 */
    position: relative;
}

/* 2. 优化左侧 Tab 容器 */
.index2021-line-tabs {
    flex: 0 0 320px;
    /* 固定左侧宽度，防止被压缩 */
    max-width: 40%;
    z-index: 10;
    /* 提高文字层级，确保不被遮�?*/
    position: relative;
    padding-right: 20px;
    /* 额外的右侧安全距�?*/
}

/* 3. 修复交互动画：使�?padding 代替 transform */
.index2021-line-pos.active .index2021-line-con {
    transform: none !important;
    /* 取消位移，防止撞�?*/
    padding-left: 20px !important;
    /* 使用内边距增加来实现移动�?*/
}

/* 确保线条位置正确 */
.index2021-line-pos::before {
    left: 0;
}

/* 4. 右侧图片容器自适应 */
.index2021-fur-images {
    flex: 1;
    z-index: 1;
    min-width: 0;
    /* 防止 flex 子项溢出 */
}

/* 5. 移动端适配 */
@media (max-width: 992px) {
    .index2021-line {
        gap: 30px;
    }
}

@media (max-width: 768px) {
    .index2021-line {
        flex-direction: column;
        /* 竖向排列 */
        gap: 40px;
    }

    .index2021-line-tabs {
        width: 100%;
        max-width: 100%;
        flex: none;
        padding-right: 0;
    }

    .index2021-fur-images {
        width: 100%;
        margin-left: 0;
    }
}
/* =========================================
   Re-design: Product Features Interaction Fix
   ========================================= */

/* 1. Reset Container Structure */
.index2021-common {
    max-width: 1400px;
    margin: 0 auto;
    padding: 100px 5%;
}

.index2021-line {
    display: flex;
    align-items: center;
    /* Vertically align tabs and images */
    gap: 80px;
    /* Generous gap */
    position: relative;
    height: 600px;
    /* Fixed functional height */
}

/* 2. Left Tabs Styling */
.index2021-line-tabs {
    flex: 0 0 300px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 40px;
    /* Space between tabs */
    z-index: 10;
}

.index2021-line-pos {
    padding-left: 0;
    cursor: pointer;
    opacity: 0.5;
    transition: all 0.4s ease;
    position: relative;
    border: none;
}

.index2021-line-pos.active {
    opacity: 1;
}

/* Dynamic Line Indicator */
.index2021-line-pos::before {
    content: '';
    position: absolute;
    left: -20px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #8B7355;
    transform: scaleY(0);
    transform-origin: center;
    transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.index2021-line-pos.active::before {
    transform: scaleY(1);
}

.tab-title {
    font-size: 24px;
    font-weight: 400;
    color: #1a1714;
    display: block;
    margin-bottom: 8px;
    font-family: "Old Standard TT", serif;
}

.tab-desc {
    font-size: 14px;
    color: #666;
    display: block;
    font-weight: 300;
    max-width: 0;
    /* Hidden by default for cleaner look, animate in? or just keep simple */
    opacity: 0;
    height: 0;
    overflow: hidden;
    transition: all 0.4s ease;
}

.index2021-line-pos.active .tab-desc {
    max-width: 100%;
    opacity: 1;
    height: auto;
    margin-top: 5px;
}


/* 3. Right Images Area - Gallery Style */
.index2021-fur-images {
    flex: 1;
    height: 100%;
    position: relative;
    overflow: visible;
    /* Allow floating elements */
}

.index2021-fur-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: all 0.6s ease;
    z-index: 1;
}

.index2021-fur-image.active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

/* The Wrapper for Image Composition */
.fur-img-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

/* Base Large Image */
.fur-img-large {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
    box-shadow: 20px 20px 60px rgba(0, 0, 0, 0.1);
    /* Soft shadow */
    transform: scale(0.98);
    transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.index2021-fur-image.active .fur-img-large {
    transform: scale(1);
    /* Subtle zoom in */
}

/* Floating Small Image */
.fur-img-small {
    position: absolute;
    bottom: -40px;
    left: -40px;
    width: 240px;
    height: 300px;
    object-fit: cover;
    border: 8px solid #fff;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
    z-index: 5;
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
    transition-delay: 0.1s;
    /* Staggered */
}

.index2021-fur-image.active .fur-img-small {
    opacity: 1;
    transform: translateY(0);
}

/* Remove the old arrow */
.index2021-arrow-down {
    display: none;
}

/* Tablet/Mobile Adjustments */
@media (max-width: 992px) {
    .index2021-line {
        height: auto;
        flex-direction: column-reverse;
        /* Images on top, text below? Or stacked */
        align-items: flex-start;
        gap: 60px;
    }

    .index2021-fur-images {
        width: 100%;
        height: 400px;
        /* Fixed height for mobile */
    }

    .fur-img-small {
        width: 160px;
        height: 200px;
        bottom: -20px;
        left: -20px;
    }

    .index2021-line-tabs {
        width: 100%;
        flex-direction: row;
        overflow-x: auto;
        padding-bottom: 20px;
        flex: none;
    }

    .index2021-line-pos {
        min-width: 120px;
    }

    .index2021-line-pos::before {
        left: 0;
        top: auto;
        bottom: -10px;
        width: 100%;
        height: 2px;
        transform: scaleX(0);
        transform-origin: left;
    }

    .index2021-line-pos.active::before {
        transform: scaleX(1);
    }
}
/* =========================================
   Performance & Smoothness Optimization
   ========================================= */

/* 1. Optimization for Tab Text Animation */
.index2021-line-con {
    /* Stabilize layout properties */
    padding-left: 15px !important;
    border-left: none !important;

    /* Use only transform for movement */
    transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
    transform: translateX(0);
    will-change: transform;
}

.index2021-line-pos.active .index2021-line-con {
    /* Slight movement using GPU */
    transform: translateX(12px);
}

/* 2. Optimization for Description Visibility */
.tab-desc {
    /* Remove expensive height/width transitions */
    display: block;
    height: auto !important;
    max-width: none !important;
    overflow: visible;

    /* Simulate hide/show with opacity */
    opacity: 0.5;
    transition: opacity 0.3s ease, color 0.3s ease;
}

.index2021-line-pos.active .tab-desc {
    opacity: 1;
    color: #8B7355;
}

/* 3. Image Rendering Optimization */
.index2021-fur-image,
.fur-img-large,
.fur-img-small {
    /* Hint browser to promote to layer */
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
}

.index2021-fur-images {
    /* Isolate layout recalculations */
    contain: layout style;
}

/* 4. Refine transitions to be snappier */
.index2021-fur-image {
    transition: opacity 0.4s ease-out, visibility 0.4s;
}

/* Remove laggy scale transition on container if present, keep only on img content */
.index2021-fur-image.active {
    transition-delay: 0s;
    /* Immediate response */
}
/* =========================================
   Banner Revert & Readability Fix
   ========================================= */

.contact-banner {
    /* Reset to standard robust layout */
    height: 400px !important;
    /* Fixed reasonable height */
    min-height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    overflow: hidden !important;
    margin-bottom: 0 !important;
    background: #000;
    /* Fallback */
}

.contact-banner img {
    /* Standard cover image */
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 0 !important;
    filter: brightness(0.6) !important;
    /* Darken image significantly for text pop */
    transform: none !important;
    /* Remove parallax/zoom effects */
    animation: none !important;
}

.contact-banner-overlay {
    /* Clean, centered text container without box */
    position: relative !important;
    z-index: 2 !important;
    text-align: center !important;
    max-width: 800px !important;
    padding: 0 20px !important;
    background: none !important;
    /* Remove glass box */
    backdrop-filter: none !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
    /* Reset position */
    opacity: 1 !important;
    animation: none !important;
}

.contact-banner-tag {
    /* Clear, readable tag */
    font-size: 14px !important;
    letter-spacing: 0.2em !important;
    color: rgba(255, 255, 255, 0.8) !important;
    margin-bottom: 15px !important;
    font-weight: 500 !important;
    display: block !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5) !important;
}

.contact-banner-title {
    /* Big, bold white title */
    font-size: 48px !important;
    color: #fff !important;
    margin-bottom: 20px !important;
    font-weight: 600 !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5) !important;
    font-family: "Source Han Serif SC", "Songti SC", serif !important;
    line-height: 1.2 !important;
}

.contact-banner-title::after {
    /* Remove decorative line */
    display: none !important;
}

.contact-banner-subtitle {
    /* Readable subtitle */
    font-size: 18px !important;
    color: rgba(255, 255, 255, 0.95) !important;
    line-height: 1.6 !important;
    max-width: 700px !important;
    margin: 0 auto !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6) !important;
    font-weight: 400 !important;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .contact-banner {
        height: 300px !important;
    }

    .contact-banner-title {
        font-size: 32px !important;
    }

    .contact-banner-subtitle {
        font-size: 14px !important;
    }
}
/* =========================================
   Case Categories Accordion Style
   ========================================= */

.case-category-accordion {
    display: flex;
    gap: 15px;
    /* Spacing between cards */
    height: 500px;
    /* Fixed height for gallery */
    margin: 40px auto 60px;
    width: 100%;
    max-width: 100%;
}

.accordion-card {
    flex: 1;
    /* Default collapsed width */
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    cursor: pointer;
    transition: flex 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    background: #e0e0e0;
    /* Fallback color */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

/* Active or Hover State: Expand */
.accordion-card:hover,
.accordion-card.is-active {
    flex: 2.5;
    /* Expanded width */
}

/* Background Image */
.accordion-bg-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
    will-change: transform;
    filter: brightness(0.85);
    /* Slightly dark for text contrast */
}

.accordion-card:hover .accordion-bg-img,
.accordion-card.is-active .accordion-bg-img {
    transform: scale(1.08);
    /* Slow zoom effect */
    filter: brightness(0.7);
    /* Darker on active for better text read */
}

/* Text Overlay */
.accordion-overlay {
    position: absolute;
    bottom: 30px;
    left: 30px;
    z-index: 2;
    color: #fff;
    pointer-events: none;
    white-space: nowrap;
    width: calc(100% - 60px);
}

.accordion-num {
    display: block;
    font-size: 14px;
    font-family: 'Courier New', Courier, monospace;
    opacity: 0.6;
    margin-bottom: 8px;
    letter-spacing: 2px;
    transform: translateY(20px);
    transition: transform 0.4s ease 0.1s, opacity 0.4s ease;
}

.accordion-title {
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 1px;
    margin: 0;
    font-family: "Source Han Serif SC", serif;
    transform: translateY(20px);
    transition: transform 0.4s ease, font-size 0.4s ease;
}

/* Animations for Text */
.accordion-card:hover .accordion-num,
.accordion-card.is-active .accordion-num,
.accordion-card:hover .accordion-title,
.accordion-card.is-active .accordion-title {
    transform: translateY(0);
}

.accordion-card.is-active .accordion-title {
    font-size: 32px;
    /* Bigger title when active */
}

/* Hide fallback image style if src fails (handled inline usually but just in case) */
.accordion-bg-img[src=""] {
    opacity: 0;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .case-category-accordion {
        flex-direction: column;
        height: auto;
        gap: 10px;
    }

    .accordion-card {
        height: 100px;
        flex: none;
        width: 100%;
        transition: height 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    }

    .accordion-card:hover,
    .accordion-card.is-active {
        height: 260px;
        flex: none;
    }

    .accordion-title {
        transform: translateY(0);
        /* Always visible on mobile */
        font-size: 20px;
    }

    .accordion-num {
        transform: translateY(0);
    }
}
/* =========================================
   Case List: Interactive Stacked Cards "Accordion-like"
   ========================================= */

/* Override Grid Layout to Flex for Stacking */
.case-filter-grid {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 !important;
    /* Remove grid gap */
    padding: 40px 20px;
    perspective: 1000px;
}

.case-card {
    /* Card Dimensions */
    flex: 0 1 260px;
    /* Base width */
    height: 420px;

    /* The Stack Effect */
    margin-right: -50px;
    /* Overlap neighbors */
    margin-bottom: 50px;

    /* Styling */
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    z-index: 1;
    background: #fff;

    /* Shadows to define layers */
    box-shadow: -15px 0 25px rgba(0, 0, 0, 0.1), 0 10px 20px rgba(0, 0, 0, 0.05);
    border: 4px solid #fff;
    /* White border for card look */

    /* Transition */
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Hover Interaction: Expand & Pop */
.case-card:hover {
    z-index: 100 !important;
    /* Bring to very front */
    flex: 0 1 320px;
    /* Expand width slightly */
    transform: scale(1.1) translateY(-10px);
    margin-right: 0;
    /* Clear right overlap */
    margin-left: 20px;
    /* Add breathing space left */
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.25);
}

/* When hovering, siblings might need adjustment? 
   No, flex layout will adjust automatically (pushing neighbors). 
   This creates the "Auto Expand" user asked for. 
*/

.case-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
    filter: grayscale(20%);
}

.case-card:hover img {
    transform: scale(1.1);
    filter: grayscale(0%);
}

.case-card-overlay {
    background: linear-gradient(to top, rgba(26, 23, 20, 0.95), transparent);
    opacity: 0;
    transform: translateY(100%);
    transition: all 0.4s ease;
}

.case-card:hover .case-card-overlay {
    opacity: 1;
    transform: translateY(0);
}

.case-card-title {
    font-size: 20px;
    margin-bottom: 8px;
    color: #fff;
}

.case-card-desc {
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
}

/* Handle Mobile (Disable Stacking) */
@media (max-width: 768px) {
    .case-card {
        flex: 0 0 100%;
        margin-right: 0;
        margin-left: 0;
        height: 300px;
        margin-bottom: 20px;
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
    }

    .case-card:hover {
        transform: none;
        margin-left: 0;
        flex: 0 0 100%;
        z-index: 1;
    }

    .case-card-overlay {
        opacity: 1;
        transform: translateY(0);
        background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
    }
}
/* =========================================
   Case List: Revert to Standard Grid (Clean Reset)
   ========================================= */

.case-filter-grid {
    /* Restore Grid Layout */
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
    gap: 30px !important;
    padding: 0 !important;
    perspective: none !important;
    /* Remove 3D space */
}

.case-card {
    /* Reset Card Properties */
    display: block !important;
    flex: none !important;
    width: auto !important;
    height: 380px !important;
    /* Consistent height */
    margin: 0 !important;
    /* Remove negative margins */
    background: #fff;
    border: none !important;
    /* Remove white border */
    box-shadow: none !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    transform: none !important;
    /* Remove skew/scale */
    z-index: 1 !important;
}

/* Simple, Elegant Hover Effect Only */
.case-card:hover {
    transform: translateY(-5px) !important;
    /* Just slight lift */
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1) !important;
    z-index: 2 !important;
    margin: 0 !important;
    flex: none !important;
}

.case-card img {
    /* Reset Image Style */
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.6s ease !important;
    filter: none !important;
    /* Remove grayscale */
}

.case-card:hover img {
    transform: scale(1.05) !important;
    /* Soft zoom */
}

/* Overlay Behavior */
.case-card-overlay {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent) !important;
    opacity: 0 !important;
    transform: translateY(10px) !important;
    transition: all 0.3s ease !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    padding: 20px !important;
    position: absolute !important;
}

.case-card:hover .case-card-overlay {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.case-card-title {
    color: #fff !important;
    font-size: 18px !important;
    margin-bottom: 5px !important;
}

.case-card-desc {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 13px !important;
    display: block !important;
}

/* Mobile Reset */
@media (max-width: 768px) {
    .case-filter-grid {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }

    .case-card {
        height: 260px !important;
    }

    .case-card-overlay {
        opacity: 1 !important;
        /* Always show text on mobile */
        transform: none !important;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent) !important;
    }
}
/* =========================================
   EMERGENCY RESET: Case List Grid Layout
   ========================================= */

/* Use high specificity selector to override all previous attempts */
div.case-filter-grid[data-case-grid] {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    /* Force 3 columns standard */
    gap: 30px !important;
    padding: 0 !important;
    /* Remove any padding related to stack */
    margin: 0 !important;
    width: 100% !important;
    justify-content: stretch !important;
    perspective: none !important;
}

/* Reset individual cards */
div.case-filter-grid[data-case-grid] .case-card {
    display: block !important;
    /* Ensure block, not flex item behavior */
    flex: none !important;
    width: 100% !important;
    /* Full width of grid cell */
    height: 360px !important;
    /* Standard height */
    margin: 0 !important;
    /* Remove negative margins causing stack */
    transform: none !important;
    z-index: 1 !important;
    position: relative !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
    border: none !important;
    background: #fff !important;
    overflow: hidden !important;
}

/* Standard Hover Effect */
div.case-filter-grid[data-case-grid] .case-card:hover {
    transform: translateY(-5px) !important;
    z-index: 2 !important;
    margin: 0 !important;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15) !important;
}

/* Image Reset */
div.case-filter-grid[data-case-grid] .case-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
    filter: none !important;
}

div.case-filter-grid[data-case-grid] .case-card:hover img {
    transform: scale(1.05) !important;
}

/* Overlay Reset */
div.case-filter-grid[data-case-grid] .case-card-overlay {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent) !important;
    opacity: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    padding: 24px !important;
    transform: translateY(10px) !important;
    transition: all 0.3s ease !important;
}

div.case-filter-grid[data-case-grid] .case-card:hover .case-card-overlay {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Responsive Grid */
@media (max-width: 1024px) {
    div.case-filter-grid[data-case-grid] {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

@media (max-width: 600px) {
    div.case-filter-grid[data-case-grid] {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    div.case-filter-grid[data-case-grid] .case-card {
        height: 280px !important;
    }

    /* Always show text on mobile */
    div.case-filter-grid[data-case-grid] .case-card-overlay {
        opacity: 1 !important;
        transform: none !important;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent) !important;
    }
}
/* =========================================
   Fix for Filtering: Ensure Hidden State Works
   ========================================= */

/* Override the forced display:block with an even more specific hidden rule */
div.case-filter-grid[data-case-grid] .case-card.is-hidden {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    position: absolute !important;
    /* Remove from flow just in case */
    z-index: -1 !important;
}

/* Also ensure visible ones look right */
div.case-filter-grid[data-case-grid] .case-card:not(.is-hidden) {
    display: block !important;
    animation: fadeIn 0.5s ease forwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* =========================================
   Hero Slider Text & Visibility Enhancement
   ========================================= */

.swiper-slide {
    /* Ensure content is centered */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-size: cover !important;
    background-position: center center !important;
    position: relative;
}

/* Overlay for text readability */
.swiper-slide::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.5));
    /* Subtle gradient */
    z-index: 1;
    pointer-events: none;
}

.hero-text {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #fff;
    max-width: 900px;
    padding: 40px;
}

.hero-text h2 {
    font-family: "Source Han Serif SC", serif;
    font-size: 56px;
    font-weight: 600;
    margin-bottom: 24px;
    text-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
    letter-spacing: 4px;
    opacity: 0;
    animation: slideUpFade 1s cubic-bezier(0.2, 0.8, 0.2, 1) forwards 0.2s;
}

.hero-text p {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 20px;
    font-weight: 300;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.95);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    max-width: 700px;
    margin: 0 auto;
    opacity: 0;
    animation: slideUpFade 1s cubic-bezier(0.2, 0.8, 0.2, 1) forwards 0.4s;
}

@keyframes slideUpFade {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive Font Sizes */
@media (max-width: 768px) {
    .swiper-slide {
        background-position: center top !important;
        /* Focus on top part usually faces */
    }

    .hero-text h2 {
        font-size: 32px;
        margin-bottom: 16px;
    }

    .hero-text p {
        font-size: 15px;
        line-height: 1.6;
    }
}
/* =========================================
   Hero Slider Height & Proportion Fix
   ========================================= */

/* Constrain the height to be optimal, not overwhelming */
.hero-swiper,
.swiper-container.hero-swiper,
.swiper-slide {
    height: 650px !important;
    /* Fixed comfortable height for desktop */
    max-height: 80vh !important;
    /* Responsive cap */
}

/* Ensure content stays centered within this height */
.swiper-slide {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Mobile Adjustment */
@media (max-width: 1366px) {

    .hero-swiper,
    .swiper-container.hero-swiper,
    .swiper-slide {
        height: 550px !important;
        /* Slightly shorter for laptops */
    }
}

@media (max-width: 768px) {

    .hero-swiper,
    .swiper-container.hero-swiper,
    .swiper-slide {
        height: 420px !important;
        /* Mobile height */
        min-height: auto !important;
    }

    .hero-text {
        padding: 20px !important;
    }

    .hero-text h2 {
        font-size: 28px !important;
        margin-bottom: 10px !important;
    }

    .hero-text p {
        font-size: 14px !important;
        line-height: 1.5 !important;
        max-width: 90% !important;
    }
}
/* =========================================
   GLOBAL CARD REDESIGN (Premium & Unified)
   ========================================= */

/* 1. Universal Card Base (Sharing DNA) */
.case-card,
.product-card,
.news-item,
.index2021-home-item,
.service-item,
.value-item {
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
    border: 1px solid rgba(0, 0, 0, 0.04) !important;
    overflow: hidden !important;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    position: relative !important;
    transform: translateZ(0);
    /* Hardware accel */
}

/* Universal Hover Effect: Lift & Deep Shadow */
.case-card:hover,
.product-card:hover,
.news-item:hover,
.index2021-home-item:hover,
.service-item:hover,
.value-item:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08) !important;
    border-color: rgba(0, 0, 0, 0.02) !important;
    z-index: 5 !important;
}

/* 2. CASE CARDS (Visual Heavy) */
.case-card {
    height: 400px !important;
    /* Taller for better visual */
}

.case-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.6s ease !important;
}

.case-card:hover img {
    transform: scale(1.06) !important;
    /* Subtle Zoom */
}

.case-card-overlay {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 50%, transparent 100%) !important;
    padding: 30px !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
    text-align: left !important;
    opacity: 1 !important;
    /* Always visible text for usability */
    transform: none !important;
}

.case-card-title {
    font-size: 22px !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    transform: translateY(0) !important;
}

.case-card-desc {
    font-size: 14px !important;
    opacity: 0.85 !important;
    transform: translateY(0) !important;
    display: block !important;
    max-width: 100%;
}

/* 3. PRODUCT CARDS (Vertical Layout) */
.product-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.product-image {
    height: 260px !important;
    position: relative !important;
    overflow: hidden !important;
}

.product-image img {
    transition: transform 0.6s ease !important;
}

.product-card:hover .product-image img {
    transform: scale(1.08) !important;
}

.product-info {
    padding: 24px !important;
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
}

.product-name {
    font-size: 20px !important;
    color: #2c3e50 !important;
    margin-bottom: 12px !important;
    font-weight: 700 !important;
}

.product-desc {
    font-size: 15px !important;
    color: #7f8c8d !important;
    line-height: 1.6 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 4. HOME SCENARIOS (Image + Tag) */
.index2021-home-item {
    position: relative !important;
    height: 320px !important;
}

.index2021-home-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: all 0.6s ease !important;
}

.index2021-home-item:hover img {
    transform: scale(1.1) !important;
    filter: brightness(0.9);
}

.item-number {
    top: 20px !important;
    left: 20px !important;
    right: auto !important;
    bottom: auto !important;
    background: rgba(255, 255, 255, 0.95) !important;
    color: #000 !important;
    padding: 8px 16px !important;
    border-radius: 30px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important;
}

/* 5. NEWS CARDS (List Style) */
.news-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    margin-bottom: 30px !important;
    height: auto !important;
}

.news-thumb {
    width: 280px !important;
    flex-shrink: 0 !important;
    position: relative !important;
}

.news-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.news-info {
    padding: 30px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.news-date {
    font-size: 13px !important;
    color: #999 !important;
    margin-bottom: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.news-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    margin-bottom: 15px !important;
    color: #2c3e50 !important;
}

.news-title:hover {
    color: #d4a017 !important;
    /* Gold accent */
}

.news-intro {
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #666 !important;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .news-item {
        flex-direction: column !important;
    }

    .news-thumb {
        width: 100% !important;
        height: 200px !important;
    }

    .case-card {
        height: 280px !important;
    }

    .product-image {
        height: 200px !important;
    }
}
/* =========================================
   CARD STYLE POLISH V3 (Fixing "Ugly" styles)
   ========================================= */

/* 1. Global Reset for Cards - Cleaning up the "Dirty" look */
.case-card,
.product-card,
.news-item,
.index2021-home-item,
.service-item,
.value-item,
.feature-item,
.microcement-adv-group {
    /* Reset Shadow to be extremely subtle */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    border: 1px solid #f0f0f0 !important;
    /* Clean crisp border */
    background: #fff !important;
    border-radius: 8px !important;
    /* Slightly smaller radius for professional look */
    overflow: hidden !important;
    transition: all 0.3s ease !important;
}

/* Clean Hover State */
.case-card:hover,
.product-card:hover,
.news-item:hover,
.index2021-home-item:hover,
.service-item:hover,
.value-item:hover,
.feature-item:hover,
.microcement-adv-group:hover {
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.06) !important;
    /* Soft, diffuse shadow */
    transform: translateY(-4px) !important;
    border-color: #e0e0e0 !important;
}

/* 2. Specific Fix for "Microcement Advantages" (The user's screenshot component) */
.microcement-adv-groups {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
    gap: 24px !important;
    padding: 20px 0 !important;
}

.microcement-adv-group {
    padding: 30px !important;
    position: relative !important;
    border-top: 3px solid #C5A47E !important;
    /* Elegant Gold Top Border */
}

.microcement-adv-group h3 {
    font-family: -apple-system, "Microsoft YaHei", sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #2c2c2c !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #f5f5f5 !important;
    letter-spacing: 0.5px !important;
}

.microcement-adv-list li {
    list-style: none !important;
    padding-left: 20px !important;
    position: relative !important;
    margin-bottom: 10px !important;
    color: #555 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

.microcement-adv-list li::before {
    content: '' !important;
    width: 6px !important;
    height: 6px !important;
    background-color: #C5A47E !important;
    /* Gold dot */
    position: absolute !important;
    left: 0 !important;
    top: 9px !important;
    border-radius: 50% !important;
}

/* 3. Product Cards Refinement */
.product-card {
    height: 100% !important;
}

.product-info {
    border-top: 1px solid #f9f9f9 !important;
}

.product-name {
    color: #000 !important;
    font-size: 18px !important;
}

/* 4. Case Grid Gap Fix */
.case-grid {
    gap: 24px !important;
    /* Ensure proper spacing */
}
/* =========================================
   CARD DESIGN V4: "Borderless Premium"
   ========================================= */

/* 1. Global Card Reset: No Borders, High-End Shadow */
.case-card,
.product-card,
.news-item,
.index2021-home-item,
.service-item,
.value-item,
.feature-item,
.microcement-adv-group,
.about-job-card

/* Also job cards */
    {
    border: none !important;
    /* Kill the border */
    background: #fff !important;
    border-radius: 12px !important;
    /* High quality diffuse shadow */
    box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.06), 0 5px 15px -5px rgba(0, 0, 0, 0.02) !important;
    position: relative !important;
    overflow: hidden !important;
    transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.4s ease !important;
}

/* Hover: Lift and Glow */
.case-card:hover,
.product-card:hover,
.news-item:hover,
.feature-item:hover,
.microcement-adv-group:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 25px 50px -10px rgba(0, 0, 0, 0.12) !important;
}

/* 2. Distinctive Accent Bar (Left Side) for Text Cards */
.microcement-adv-group,
.service-item,
.value-item,
.about-job-card {
    padding: 35px 30px !important;
}

.microcement-adv-group::before,
.value-item::before,
.about-job-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    background: linear-gradient(180deg, #D4A017 0%, #E6CFA0 100%);
}

.microcement-adv-group {
    border-top: none !important;
    /* Remove previous style */
}

/* 3. Typography Upgrade for List Cards */
.microcement-adv-group h3,
.value-title,
.service-item h4 {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin-bottom: 25px !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
    letter-spacing: -0.5px !important;
}

/* Decorative underline for titles */
.microcement-adv-group h3::after {
    content: '';
    display: block;
    width: 40px;
    height: 4px;
    background: #f0f0f0;
    margin-top: 12px;
    border-radius: 2px;
}

/* 4. List Items with Icon Backgrounds */
.microcement-adv-list li {
    padding-left: 36px !important;
    /* More space */
    margin-bottom: 16px !important;
    font-size: 15px !important;
    color: #4a4a4a !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
}

/* Use a nice checkmark */
.microcement-adv-list li::before {
    content: '�? !important;
    width: 22px !important;
    height: 22px !important;
    background: rgba(212, 160, 23, 0.1) !important;
    /* Gold tint background */
    color: #D4A017 !important;
    font-size: 12px !important;
    text-align: center !important;
    line-height: 22px !important;
    border-radius: 50% !important;
    /* Circle */
    position: absolute !important;
    left: 0 !important;
    top: 1px !important;
    font-weight: 800 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* 5. Product & Case Image Cards Fix */
.case-card,
.product-card {
    /* Ensure images fill well */
}

.case-card-overlay {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 50%, transparent 100%) !important;
    padding: 30px !important;
}

.case-card-title {
    font-size: 24px !important;
    margin-bottom: 6px !important;
}

/* Global Section Spacing Fix (Optional but helpful) */
.section {
    padding: 80px 0 !important;
}
/* =========================================
   PURE MINIMALIST LUXURY (No Decorations)
   ========================================= */

/* 1. Reset: Kill all previous decorations */
.microcement-adv-group::before,
.value-item::before,
.about-job-card::before,
.microcement-adv-group h3::after,
.microcement-adv-list li::before {
    display: none !important;
    content: none !important;
}

/* global card reset */
.microcement-adv-group,
.case-card,
.product-card,
.news-item,
.service-item,
.value-item {
    border-top: none !important;
    border-left: none !important;
    background: #fff !important;
}

/* 2. The "Paper" Aesthetics - Clean & Airy */
.microcement-adv-group,
.service-item,
.value-item,
.feature-item,
.about-job-card {
    /* Subtle hairline border */
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    border-radius: 4px !important;
    /* Architectural radius (small) */
    box-shadow: none !important;
    /* Flat by default for cleanliness */
    padding: 50px 40px !important;
    /* Massive padding for luxury feel */
    transition: all 0.4s ease !important;
    background: #fff !important;
}

/* Hover Interaction: Subtle Lift */
.microcement-adv-group:hover,
.service-item:hover,
.value-item:hover,
.feature-item:hover,
.about-job-card:hover {
    border-color: rgba(0, 0, 0, 0.03) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.04) !important;
    /* Very soft upscale shadow */
    transform: translateY(-4px) !important;
}

/* 3. Typography - Editorial Style */
.microcement-adv-group h3,
.value-title,
.about-section-title {
    /* Use system serif preference or standard clean sans */
    font-family: "Georgia", "Times New Roman", serif !important;
    font-size: 28px !important;
    color: #111 !important;
    font-weight: 400 !important;
    /* Regular weight elegance */
    margin-bottom: 40px !important;
    letter-spacing: 0 !important;
    border: none !important;
}

/* 4. List Style - The Line */
.microcement-adv-list li {
    font-family: -apple-system, system-ui, sans-serif !important;
    font-size: 15px !important;
    color: #666 !important;
    line-height: 2.2 !important;
    /* Very loose line height */
    padding-left: 0 !important;
    margin-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.03) !important;
    /* Subtle separator */
}

.microcement-adv-list li:last-child {
    border-bottom: none !important;
}

/* The Minimalist Marker */
.microcement-adv-list li::before {
    display: inline-block !important;
    content: '' !important;
    width: 12px !important;
    height: 1px !important;
    background-color: #D4A017 !important;
    /* Gold Accent Line */
    margin-right: 20px !important;
}

/* 5. Fix Image Cards (Case & Product) to key with this style */
.case-card,
.product-card {
    border: none !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.case-card:hover,
.product-card:hover {
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08) !important;
}

.product-info {
    padding: 30px !important;
    background: #fff !important;
}

.product-name {
    font-family: "Georgia", serif !important;
    font-size: 20px !important;
}

/* 6. Layout Spacing */
.microcement-adv-groups {
    gap: 40px !important;
}
/* =========================================
   HONOR CERTIFICATES GALLERY (Frame Style)
   ========================================= */

/* 1. Gallery Layout - Mimic a Shelf/Wall */
.cert-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: flex-end !important;
    /* Align bottom to look like sitting on a shelf */
    gap: 40px !important;
    padding: 60px 40px !important;
    background: #fdfdfd !important;
    /* Clean shelf background */
}

/* 2. Certificate Frame Card */
.cert-card {
    /* Layout */
    display: block !important;
    width: 280px !important;
    /* Standard width */
    height: auto !important;
    /* Allow height to grow with image */
    flex-shrink: 0 !important;

    /* The FRAME Effect */
    background: #fff !important;
    padding: 10px !important;
    /* White matting inside frame */

    /* Realistic Gold/Wood Frame Border */
    border: 6px solid #Cca464 !important;
    border-radius: 2px !important;

    /* 3D Depth Shadow (Standing effect) */
    box-shadow:
        inset 0 0 0 1px rgba(0, 0, 0, 0.1),
        /* Inner definition */
        0 20px 25px -5px rgba(0, 0, 0, 0.15),
        /* Ground shadow */
        0 10px 10px -5px rgba(0, 0, 0, 0.05) !important;

    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    position: relative !important;
}

/* Hover: Pick it up */
.cert-card:hover {
    transform: translateY(-8px) scale(1.02) !important;
    box-shadow: 0 30px 40px -10px rgba(0, 0, 0, 0.2) !important;
    z-index: 10 !important;
    border-color: #D4A017 !important;
    /* Brighter gold on hover */
}

/* 3. The Image - FULL & CONTAINED */
.cert-media {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    /* Don't hide overflow */
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    /* Slight edge around paper */
}

.cert-media img {
    width: 100% !important;
    height: auto !important;
    /* Adaptive height */
    object-fit: contain !important;
    /* Show Full Image */
    display: block !important;
    vertical-align: bottom !important;
}

/* 4. Caption Info - Minimalist clean caption below frame */
.cert-info {
    margin-top: 15px !important;
    text-align: center !important;
    border: none !important;
    padding: 0 !important;
}

.cert-info h3 {
    font-size: 15px !important;
    color: #444 !important;
    font-weight: 600 !important;
    margin: 0 !important;
    font-family: -apple-system, sans-serif !important;
}

.cert-info span {
    display: none !important;
    /* Hide secondary text for clean look */
}

/* Simulate the "Shelf" line bottom */
.about-cert::after {
    content: '';
    display: block;
    width: 100%;
    height: 20px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.03), transparent);
    margin-top: -20px;
}
/* =========================================
   CERTIFICATES: Single Row Shelf Display
   ========================================= */

/* The Container - Infinite Shelf */
.about-cert,
.cert-section {
    width: 100% !important;
    overflow: hidden !important;
    /* Contain the scroll area */
    background: #fdfdfd !important;
    border-top: 1px solid #f0f0f0;
    border-bottom: 1px solid #f0f0f0;
}

.cert-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    /* FORCE ONE LINE */
    overflow-x: auto !important;
    /* Enable horizontal scroll */
    gap: 40px !important;
    padding: 60px 5% 80px !important;
    /* Comfortable padding */
    justify-content: flex-start !important;
    align-items: flex-end !important;
    /* Align bottom like on a shelf */

    /* Smooth Scroll */
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;

    /* Hide scrollbar usually, or style it thin */
    scrollbar-width: thin;
    scrollbar-color: #e0e0e0 transparent;
}

/* Custom Scrollbar for Webkit */
.cert-grid::-webkit-scrollbar {
    height: 4px;
}

.cert-grid::-webkit-scrollbar-thumb {
    background: #e0e0e0;
    border-radius: 2px;
}

/* The Card Item - Fixed in row */
.cert-card {
    flex: 0 0 auto !important;
    /* Do not shrink */
    width: auto !important;
    /* Width determined by image height ratio */
    min-width: 200px !important;
    max-width: 300px !important;
    margin: 0 !important;

    /* Frame Style (Retained) */
    padding: 8px !important;
    background: #fff !important;
    border: 4px solid #D4A017 !important;
    /* Gold Frame */
    box-shadow: 0 20px 30px rgba(0, 0, 0, 0.15) !important;
    transform-origin: bottom center;
}

/* Image - Full Height constraint */
.cert-media img {
    height: 300px !important;
    /* Fixed Height for alignment */
    width: auto !important;
    /* Width adapts */
    object-fit: contain !important;
    display: block !important;
}

/* Text - Single Line Below */
.cert-info {
    margin-top: 15px !important;
    text-align: center !important;
    width: 100% !important;
}

.cert-info h3 {
    font-size: 14px !important;
    color: #333 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    /* FORCE TEXT ONE LINE */
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
}

/* Interactive Hover */
.cert-card:hover {
    transform: translateY(-10px) scale(1.02) !important;
    z-index: 10 !important;
    box-shadow: 0 30px 50px rgba(0, 0, 0, 0.2) !important;
}
/* =========================================
   CERTIFICATES: Navigation Buttons Style
   ========================================= */

.cert-showcase-wrapper {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 60px !important;
    /* Leave room for buttons */
    box-sizing: border-box !important;
}

/* Hide scrollbar completely */
.cert-grid::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.cert-grid {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

/* Navigation Buttons */
.cert-nav-btn {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 56px !important;
    height: 56px !important;
    border-radius: 50% !important;
    background: #fff !important;
    border: 1px solid #f0f0f0 !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 50 !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    outline: none !important;
}

.cert-nav-btn svg {
    width: 24px !important;
    height: 24px !important;
    fill: #333 !important;
    transition: fill 0.3s ease !important;
}

.cert-nav-btn:hover {
    background: #D4A017 !important;
    /* Brand Gold */
    border-color: #D4A017 !important;
    transform: translateY(-50%) scale(1.1) !important;
    box-shadow: 0 10px 25px rgba(212, 160, 23, 0.3) !important;
}

.cert-nav-btn:hover svg {
    fill: #fff !important;
}

.cert-nav-btn:active {
    transform: translateY(-50%) scale(0.95) !important;
}

.cert-prev {
    left: 0 !important;
}

.cert-next {
    right: 0 !important;
}

/* Clean up the grid padding since wrapper handles it */
.cert-grid {
    padding: 60px 10px 80px !important;
    /* Top/Bottom padding for shadows */
}

/* =========================================
   QR CODE STYLES (Clean)
   ========================================= */

/* Static Footer QR Code */
.footer-qrcode {
    overflow: visible;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: transparent;
    padding: 0;
    border: none;
}

.footer-qrcode img {
    display: block;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    border: 0;
    object-fit: contain;
    filter: none;
    opacity: 0;
    visibility: hidden;
}

.footer-qrcode span {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.65);
    letter-spacing: 1px;
    text-align: center;
    display: block;
}

/* Button Hover QR Popup */
.footer-qr-btn {
    position: relative;
    overflow: visible;
}

.footer-qr-popup {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 12px;
    width: 156px;
    background: #fff;
    padding: 8px 8px 10px;
    border-radius: 6px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
    z-index: 99999;
}

.footer-qr-popup::before {
    content: "";
    display: block;
    width: 124px;
    height: 124px;
    margin: 0 auto 6px;
    border: 1px solid rgba(139, 115, 85, 0.22);
    border-radius: 4px;
    background: #fff url("../images/qrcode.png?v=20260414") center / contain no-repeat;
}

.footer-qr-popup::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -8px;
    border-width: 8px 8px 0 8px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
}

.footer-qr-popup img {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.footer-qr-popup span {
    display: block;
    text-align: center;
    font-size: 11px;
    color: #555;
    padding: 4px 0;
}

.footer-qr-btn:hover .footer-qr-popup {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(-5px);
}

/* Keep the QR popup visible without letting decorative layers create horizontal scroll */
.footer-cta-inner,
.footer-cta-actions,
.footer-qr-btn {
    overflow: visible;
}

.footer,
.footer-container,
.footer-cta {
    overflow-x: hidden;
}

/* Footer compact tuning and reliable QR popup */
.footer {
    padding: 34px 16px 18px;
}

.footer-cta {
    margin-bottom: 26px;
}

.footer-cta-inner {
    padding: 22px 28px;
}

.footer-cta-content {
    padding-right: 20px;
}

.footer-cta-tag {
    margin-bottom: 8px;
}

.footer-cta-title {
    font-size: 22px;
    margin-bottom: 6px;
}

.footer-cta-desc {
    font-size: 13px;
}

.footer-cta-actions {
    position: relative;
    z-index: 3;
}

.footer-qr-btn {
    cursor: pointer;
    font-family: inherit;
    user-select: none;
}

.footer-main {
    gap: 24px;
    padding-bottom: 24px;
}

.footer-col-title {
    margin-bottom: 14px;
    font-size: 14px;
}

.footer-brand-logo {
    margin-bottom: 12px;
}

.footer-brand-logo img {
    height: 28px;
}

.footer-brand-name {
    font-size: 16px;
    margin-bottom: 8px;
}

.footer-brand-desc {
    margin-bottom: 12px;
    max-width: 300px;
    font-size: 12px;
    line-height: 1.65;
}

.footer-brand-tags {
    gap: 8px;
    flex-wrap: wrap;
}

.footer-brand-tags span {
    font-size: 11px;
    padding: 3px 8px;
}

.footer-links {
    gap: 8px;
}

.footer-links a {
    font-size: 13px;
}

.footer-contact-list {
    gap: 10px;
    margin-bottom: 0;
}

.footer-contact-item {
    gap: 8px;
}

.footer-contact-icon {
    width: 24px;
    height: 24px;
    border-radius: 6px;
}

.footer-contact-label {
    font-size: 11px;
}

.footer-contact-link,
.footer-contact-text {
    font-size: 12px;
    line-height: 1.6;
}

.footer-qrcode {
    display: none !important;
}

.footer-linkbar {
    gap: 10px;
    padding-top: 14px;
}

.footer-linkbar-title {
    font-size: 11px;
    line-height: 1.8;
}

.footer-linkbar-list {
    row-gap: 6px;
}

.footer-linkbar-list a {
    font-size: 12px;
    line-height: 1.8;
}

.footer-bottom {
    padding-top: 16px;
}

.footer-bottom-left p {
    margin: 0 0 4px;
    font-size: 12px;
}

.footer-back-top {
    gap: 2px;
    font-size: 9px;
}

.footer-back-top svg {
    width: 28px;
    height: 28px;
    padding: 5px;
}

.footer-qr-popup {
    top: auto;
    bottom: calc(100% + 8px);
    width: auto;
    margin-bottom: 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    transform: translateX(-50%);
    transition: opacity 0.12s ease;
    z-index: 20;
}

.footer-qr-popup::before {
    width: 120px;
    height: 120px;
    margin: 0;
    border: 0;
    border-radius: 6px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
}

.footer-qr-popup::after {
    display: none;
}

.footer-qr-popup span {
    display: none;
}

.footer-qr-btn:hover .footer-qr-popup,
.footer-qr-btn:focus .footer-qr-popup,
.footer-qr-btn:focus-visible .footer-qr-popup,
.footer-qr-btn:active .footer-qr-popup {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%);
}

@media (max-width: 992px) {
    .footer {
        padding: 30px 16px 16px;
    }

    .footer-cta {
        margin-bottom: 22px;
    }

    .footer-cta-inner {
        padding: 20px 22px;
    }

    .footer-main {
        gap: 20px;
        padding-bottom: 20px;
    }
}

@media (max-width: 768px) {
    .footer {
        padding: 28px 14px 16px;
    }

    .footer-cta-title {
        font-size: 20px;
    }

    .footer-qr-popup {
        top: auto;
        bottom: calc(100% + 8px);
        transform: translateX(-50%);
    }

    .footer-qr-popup::after {
        display: none;
    }

    .footer-qr-btn:hover .footer-qr-popup,
    .footer-qr-btn:focus .footer-qr-popup,
    .footer-qr-btn:focus-visible .footer-qr-popup,
    .footer-qr-btn:active .footer-qr-popup {
        transform: translateX(-50%);
    }
}

/* Let the footer QR code extend above the footer without being clipped */
.footer,
.footer-container,
.footer-cta {
    overflow: visible;
}
