@font-face {
    font-family: 'HarmonyOS Sans Condensed';
    src: url('/font/HarmonyOS_Sans_Condensed_Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'HarmonyOS Sans';
    src: url('/font/HarmonyOS_Sans_Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'OppoSans';
    src: url('/font/OPPOSans-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'TaoBaoMaiCaiTi';
    src: url('/font/TaoBaoMaiCaiTi-Regular.otf') format('opentype'),
        url('/font/TaoBaoMaiCaiTi-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/* 基础样式重置 */
html {
    scroll-behavior: smooth;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'OppoSans', 'Inter', sans-serif;
    color: #333;
    line-height: 1.6;
    background-image: linear-gradient(to bottom, #FFF5DC, #FEECE1);
}

img {
    max-width: 100%;
    height: auto;
}

/* 容器样式 */
.container {
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 1.0416666666666667vw;
    /* 20px / 1920px * 100vw */
}

/* Header 样式 */
.header {
    position: fixed;
    width: 100%;
    background: transparent;
    z-index: 10;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.header.scrolled {
    background-color: rgb(255, 255, 255, 0.5);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.header-content {
    display: flex;
    align-items: center;
    justify-content: end;
    padding: 1.661vw 0;
    max-width: 100vw;
    margin: 0 auto;
    position: relative;
    padding-right: 9.278vw;
}

.logo-section {
    display: flex;
    align-items: center;
    position: absolute;
    left: 7.031vw;
}

.logo {
    width: 15.417vw;
    height: 4.531vw;
    object-fit: contain;
    margin-right: 0.625vw;
    /* 12px / 1920px * 100vw */
}

.company-name {
    font-size: 1.667vw;
    font-weight: 600;
    color: #333;
}

.nav-wrapper {
    display: flex;
    align-items: center;
    gap: 4.01vw;
}

.nav {
    display: flex;
    gap: 4.167vw;
    justify-content: center;
}

.search-icon {
    width: 1.5vw;
    height: 1.5vw;
    cursor: pointer;
}

.nav a {
    text-decoration: none;
    color: #000000;
    transition: color 0.3s ease;
    font-size: 1.042vw;
    padding: 1.0416666666666667vw 0;
}

.nav a:hover {
    color: #000;
}

.nav a.active {
    color: #000;
    position: relative;
}

.nav a.active::after {
    content: '';
    position: absolute;
    bottom: 7.5px;
    left: 0;
    right: 0;
    height: 4px;
    background-color: #D3610B;
}

/* Hero Section - 1920x893 */
.hero {
    position: relative;
    width: 100%;
    height: 46.510416666666664vw;
    /* 893px / 1920px * 100vw */
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
}

.hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('images/hero-image.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.hero-content {
    position: relative;
    z-index: 2;
    color: #000000;
    text-align: left;
    padding-left: 10.052vw;
}

.hero-title {
    font-family: "HarmonyOS Sans Condensed";
    font-size: 5vw;
    font-weight: bold;
    color: #000000;
    margin-bottom: 3.073vw;
    line-height: 5.885vw;
    letter-spacing: 0.25vw;
}

.hero-button {
    width: 9.271vw;
    height: 2.396vw;
    font-family: 'HarmonyOS Sans', sans-serif;
    font-size: 1.25vw;
    color: #FFFFFF;
    background-image: linear-gradient(to right, #DF672A, #EAB414);
    padding: 0.78125vw 2.0833333333333335vw;
    border: none;
    border-radius: 2.083vw;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero-button:hover {
    transform: translateY(-2px);
    filter: brightness(1.1);
}

/* About Us Section */
.about-us {
    padding: 5.208vw 0;
    background-image: url('images/about-us-bg1.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #ffffff;
}

.about-us-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 80vw;
    margin: 0 auto;
}

.about-us-text {
    flex: 1;
    padding-right: 5.521vw;
}

.section-tag {
    font-weight: bold;
    font-size: 1.25vw;
    color: #D3610B !important;
    margin-bottom: 0.521vw;
}

.section-title {
    font-size: 2.5vw;
    font-weight: bold;
    margin-bottom: 1.563vw;
    font-family: "HarmonyOS Sans Condensed";
}

.about-us-text p {
    color: #777777;
    font-size: 1.042vw;
    line-height: 2.448vw;
    margin-bottom: 1.042vw;
    font-family: "HarmonyOS Sans";
}

.about-us-image {
    flex: 1;
    max-width: 32.813vw;
}

.about-us-image img {
    width: 100%;
    border-radius: 1.042vw;
}

/* Company Values Section */
.company-values {
    padding: 5.208vw 0;
    text-align: center;
    background-image: url('images/about-us-bg2.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.section-title-center {
    font-size: 2.083vw;
    font-weight: bold;
    margin-bottom: 0.521vw;
    color: #000000;
    letter-spacing: 0.104vw;
}

.section-subtitle-center {
    font-size: 1.042vw;
    color: #777777;
    letter-spacing: 0.323vw;
    margin-bottom: 1.198vw;
}

.values-container {
    display: flex;
    justify-content: center;
    gap: 3.125vw;
    max-width: 70vw;
    margin: 0 auto;
}

.value-card {
    background-color: #f9f9f9;
    padding: 2.083vw;
    border-radius: 1.042vw;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    text-align: center;
    flex: 1;
    width: 20.885vw;
    height: 24.948vw;
    background-image: linear-gradient(to right, #EBF2FA, #EFF6FE);
}

/* Features Section */
.features {
    padding: 2.708vw 0;
    text-align: center;
    background-image: url('images/features-bg.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 79.115vw;
}

.features-content {
    display: flex;
    align-items: center;
    justify-content: end;
    max-width: 100vw;
    margin: 0 auto;
    position: relative;
    padding-right: 21.802vw;
    padding-top: 9.5vw;
}

.features-list {
    display: grid;
    grid-template-columns: 2fr;
    gap: 10vw;
    text-align: left;
}

.feature-item {
    padding-left: 2.083vw;
}

.feature-item h3 {
    font-size: 1.458vw;
    font-weight: bold;
    margin-bottom: 0.521vw;
    color: #D3610B;
}

.feature-item p {
    font-size: 1.042vw;
    color: #777777;
}

/* Users Review Section */
.users-review {
    padding: 8.208vw 0;
    text-align: center;
    background-image: url('images/review-us-bg.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-top-left-radius: 6.25vw;
    border-top-right-radius: 6.25vw;
}

.review-container {
    display: flex;
    justify-content: center;
    gap: 3.125vw;
    max-width: 80vw;
    margin: 0 auto;
}

.review-card {
    background-color: #FAFBFD;
    padding: 2.083vw;
    border-radius: 1.042vw;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.15);
    text-align: left;
    flex: 1;
    position: relative;
}

.review-card .username {
    color: #000;
    font-weight: bolder;
    font-size: 1.458vw;
    margin-bottom: 1.042vw;
    font-family: "HarmonyOS Sans Condensed";
}

.review-card p {
    color: #777777;
    font-size: 1.042vw;
    line-height: 2.188vw;
    font-family: 'OppoSans';
}

.review-card .comment-icon {
    position: absolute;
    top: 1.563vw;
    right: 1.563vw;
    width: 2.083vw;
}

/* Contact Us Section */
.contact-us {
    background-color: #ffffff;
    padding: 5.208vw;
    max-width: 100vw;
}

.contact-content {
    background-color: #C5610D;
    padding: 4.167vw 7.187vw 4.167vw 9.792vw;
    color: #ffffff;
    border-radius: 1.042vw;
}

.contact-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.contact-text h2 {
    font-family: 'OppoSans';
    font-size: 3.333vw;
    font-weight: 500;
    color: #FFFFFF;
    margin-bottom: 0.521vw;
}

.contact-text p {
    font-family: 'OppoSans';
    font-size: 1.25vw;
    letter-spacing: 0.063vw;
    color: rgba(245, 245, 245, 0.52);
}

.contact-form {
    display: flex;
    background-color: #ffffff;
    border-radius: 0.521vw;
    padding: 0.521vw;
    align-items: center;
    justify-content: space-between;
}

.contact-form input {
    padding: 1.042vw;
    border: none;
    background-color: transparent;
    color: #333;
    font-size: 1.042vw;
    width: 20.833vw;
}

.contact-form input::placeholder {
    color: #999999;
}

.contact-form button {
    width: 11.771vw;
    padding: 0.833vw 2.083vw;
    border: none;
    border-radius: 0.521vw;
    background-color: #D3610B;
    color: #ffffff;
    font-size: 1.042vw;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.contact-form button:hover {
    background-color: #EAB414;
}


.value-card:nth-child(2) {
    background-image: linear-gradient(to bottom, #FDF2DC, #FEEAE2);
}

.value-card:nth-child(3) {
    background-image: linear-gradient(to bottom, #F4F4F9, #FEEAE4);
}

.value-card img {
    margin-top: 1.25vw;
}

.value-card:nth-child(1) img {
    width: 6.152vw;
    height: 7.396vw;
    margin-left: 2vw;
}

.value-card:nth-child(2) img {
    width: 8.846vw;
    height: 6.763vw;
}

.value-card:nth-child(3) img {
    width: 6.563vw;
    height: 6.615vw;
}

.value-card h3 {
    font-size: 1.25vw;
    margin-bottom: 0.521vw;
    font-family: "HarmonyOS Sans";
}

.value-card .english-title {
    font-size: 1.25vw;
    color: #B3B3B3;
    margin-bottom: 2.5vw;
    letter-spacing: .05vw;
    font-family: "HarmonyOS Sans";
}

.value-card p {
    font-size: 1.042vw;
    color: #777777;
    line-height: 1.979vw;
    font-family: "HarmonyOS Sans";
}

/* Custom Alert Box */
.custom-alert {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #FEEBE1;
    color: #D3610B;
    padding: 1.5vw 3vw;
    border-radius: 1vw;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    font-size: 1.2vw;
    border: 2px solid #FFFFFF;
}

.custom-alert.show {
    opacity: 1;
    visibility: visible;
}

/* Footer */
.footer {
    background-color: #FEEBE1;
    padding: 2.083vw 0 1.823vw 0;
}

.footer-container {
    max-width: 66.66666666666667vw;
    margin: 0 auto;
    padding: 0 1.0416666666666667vw;
    text-align: center;
}

.footer-nav {
    display: flex;
    justify-content: center;
    gap: 60px;
    margin-bottom: 1.5625vw;
}

.footer-nav a {
    font-family: 'HarmonyOS Sans', sans-serif;
    font-size: 1.0416666666666667vw;
    color: #000000;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-nav a:hover {
    color: #f8c300;
}

.footer-text {
    font-family: 'HarmonyOS Sans', sans-serif;
    font-size: 0.8333333333333334vw;
    color: #1E1E1E;
    margin-bottom: 0.78125vw;
}

.footer-text a {
    color: #1E1E1E;
    text-decoration: none;
}

.footer-text a:hover {
    color: #f8c300;
}

.fade-in {
    opacity: 0;
    animation: fadeIn ease 2s;
    animation-fill-mode: forwards;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}