/* Homepage visual system: neutral surfaces, white type, blue interactions. */
:root {
    --page-bg: #090a0c;
    --panel-bg: #111317;
    --accent: #0066cc;
    --rule: rgba(255, 255, 255, .16);
    --page-gutter: clamp(24px, 4vw, 80px);
}
body, .wrapbanner, .content{ background: #090a0c; }
body, button, input, textarea, select { font-family: Corbel, 'Microsoft YaHei', sans-serif; }
a:hover { color: #0066cc; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible {
    outline: 2px solid #0066cc;
    outline-offset: 5px;
}
.site-nav a:hover, .language-switcher a:hover,
.text-link, .txt a, .wrapbanner .aboutBtn .button-ghost span {
    color: #0066cc;
}
.aboutText .eyebrow, .section-kicker {
    color: #b6bdc9;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .14em;
    margin-bottom: 24px;
}
.aboutText h1, .intro-copy h2, .section-heading h2 {
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 600;
    letter-spacing: -.055em;
    line-height: 1.04;
}
.hero-subtitle {
    max-width: 480px;
    margin-top: 28px;
    font-size: 24px;
    line-height: 1.5;
    color: #d4d8e0;
}
.wrapbanner .aboutBtn { margin-top: 32px; }
.wrapbanner .aboutBtn a {
    min-height: 48px;
    padding: 15px 24px;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: .01em;
    margin-right: 12px;
}
.wrapbanner .aboutBtn a.button-primary {
    background: #f5f6f8;
    color: #101216;
    box-shadow: none;
    border: 1px solid #f5f6f8;
}
.wrapbanner .aboutBtn a.button-primary:hover { background: #0066cc; border-color: #0066cc; color: #fff; }
.wrapbanner .aboutBtn .button-ghost {
    background: rgba(9,10,12,.35);
    border-color: #8a919d;
    isolation: isolate;
    transition: background-color .3s ease, border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}
/* Decorative glass layers stay behind the label and never intercept clicks. */
.wrapbanner .aboutBtn .button-ghost::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    pointer-events: none;
    opacity: 0;
    transition: opacity .3s ease;
}
.wrapbanner .aboutBtn .button-ghost::before {
    -webkit-backdrop-filter: blur(8px) saturate(160%);
    backdrop-filter: blur(8px) saturate(160%);
    background: linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.02) 45%, rgba(150,210,255,.14));
    box-shadow: inset 0 1px 1px rgba(255,255,255,.45), inset 0 -1px 2px rgba(255,255,255,.18);
}
.wrapbanner .aboutBtn .button-ghost:hover,
.wrapbanner .aboutBtn .button-ghost:focus-visible {
    background: rgba(255,255,255,.04);
    border-color: rgba(255,255,255,.45);
    box-shadow: 0 6px 20px rgba(0,0,0,.16);
    color: #fff;
}
.wrapbanner .aboutBtn .button-ghost:is(:hover, :focus-visible)::before { opacity: 1; }
.banner a::before { display: none; }
.banner .gp-img-responsive::before {
    background: linear-gradient(90deg, rgba(9,10,12,.85), rgba(9,10,12,.42) 48%, rgba(9,10,12,.12)),
        linear-gradient(0deg, #090a0c, transparent 30%);
}
.intro-copy h2, .section-heading h2 { font-size: 6.8rem; margin-bottom: 24px; }
.intro-copy p:not(.section-kicker), .section-heading > p:last-child {
    max-width: 46ch;
    color: #aeb5c0;
    font-size: 17px;
    line-height: 1.75;
    margin-bottom: 28px;
}
.text-link, .txt a {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    height: 54px;
    line-height: 54px;
    padding: 0 24px;
    border: 1px solid #0066cc;
    border-radius: 999px;
    background: transparent;
    color: #0066cc;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1;
    text-decoration: none;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
.text-link { min-width: 250px; }
.txt a { min-width: 216px; text-transform: uppercase; }
.text-link span, .txt a span {
    margin-left: 28px;
    color: inherit;
    font-size: 22px;
    line-height: 1;
    transition: transform .25s ease;
}
.text-link:hover, .txt a:hover {
    border-color: #0066cc;
    background: #0066cc;
    color: #fff;
}
.intro-image { border-radius: 6px; border-color: rgba(255, 255, 255, .16); box-shadow: none; }
.intro-image img { aspect-ratio: 4 / 3; object-fit: cover; }
/* About: light palette only; retain all existing layout dimensions. */
.wrap_mode01 { background: #f5f6f8; }
.wrap_mode01 .intro-copy h2 { color: #161b22; }
.wrap_mode01 .section-kicker,
.wrap_mode01 .intro-copy p:not(.section-kicker) { color: #545e6b; }
.wrap_mode01 .intro-image { border-color: #d8dde4; }
.wrap_mode02 { background: #111317; border-block: 1px solid rgba(255, 255, 255, .16); }
.mode02Swiper { overflow: hidden; margin-top: 48px; }
.mode02Swiper .swiper-wrapper { align-items: stretch; }
.mode02Swiper .swiper-slide { padding-bottom: 12px; transition: none; }
.mode02Swiper .img { border-radius: 6px; border-color: rgba(255, 255, 255, .16); background: #20242b; }
.mode02Swiper .img img { aspect-ratio: 4 / 3; object-fit: cover; }
.mode02Swiper .txt { margin-top: 20px; padding: 0; }
.mode02Swiper .txt h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 22px; line-height: 1.25; min-height: 2.5em; margin-bottom: 14px; letter-spacing: -.025em; }
.mode02Swiper .txt a { height: 50px; line-height: 50px; font-size: 12px; letter-spacing: .08em; color: #fff; text-transform: none; 
    display: flex; display: -ms-flexbox; align-items: center;}
.mode02Swiper .txt a span { color: #fff; }
.mode02 .mode02-pagination { width: 100%; height: 2px; margin-top: 36px; background: #343943; }
.mode02 .mode02-pagination .swiper-scrollbar-drag::before { background: #0066cc; }

/* Desktop layout uses stable pixels rather than the legacy scaled rem units. */
.wrapbanner .swiper-pagination {
    top: auto; bottom: 40px; right: 4vw; width: auto;
    flex-direction: row; align-items: center;
}
.wrapbanner .swiper-pagination .swiper-pagination-bullet {
    width: 32px; height: 20px; margin: 0; border-radius: 0; margin-right: 10px;
    background: linear-gradient(#6d7581, #6d7581) center / 100% 2px no-repeat;
}
.wrapbanner .swiper-pagination .swiper-pagination-bullet:last-child { margin-right: 0; }
.wrapbanner .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 56px; height: 20px; background: linear-gradient(#fff, #fff) center / 100% 2px no-repeat;
}
@media screen and (min-width:997px) {
    .site-nav { top: 50%; left: 50%; transform: translate(-50%, -50%);}
    .site-nav a{ margin-right: 22px;}
    .site-nav a:last-child{ margin-right: 0;}
    .site-nav a, .language-switcher a { font-size: 12px; line-height: 1.2; }
    .language-switcher { top: 50%; right: 4vw; transform: translateY(-50%); align-items: center; }
    .language-switcher span { font-size: 12px; padding: 0 8px;}
    .wrapbanner { min-height: 500px; }
    .wrapbanner .aboutUs { left: 4vw; width: min(680px, 64vw); top: 55%; }
    .aboutText h1 { font-size: 13.2rem; max-width: none; }
    
    .content .gp-container {
        width: calc(100% - 2 * 4vw) !important;
        max-width: 1440px; margin-inline: auto !important;
    }
    .wrap_mode01, .wrap_mode02 { padding: 14.4rem 0; }
    .wrap_mode01 .modeCon { }
    .section-heading { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 0 64px; margin-bottom: 0; }
    .section-heading h2 { margin-bottom: 0; }
    .section-heading > p:last-child { margin-bottom: 4px; }
}
@media screen and (min-width:1320px) {
    .wrapbanner { min-height: 720px; }
}


@media screen and (max-width:1280px){
    .mode02Swiper .txt a{
        width: 100%;
        max-width: 2.16rem;
        box-sizing: border-box;
    }
}
@media screen and (max-width:996px) {
    .language-switcher{ display: none;}
    .language-switcher { top: 50%; right: 24px; transform: translateY(-50%); }
    .language-switcher a, .language-switcher span { font-size: 12px; }
    .aboutText .eyebrow{ margin-bottom: 15px;}
    .hero-subtitle{ margin-top: 15px;}
    .wrapbanner .aboutBtn{ margin-top: 15px;}
    .wrapbanner .aboutUs{ top: 55%;}
    .intro-copy, .section-heading { min-width: 0; }
    .wrap_mode01, .wrap_mode02 { padding-block: 64px; padding: 8vw 0;}
    .intro-copy h2, .section-heading h2 { overflow-wrap: anywhere; }
    .section-heading h2{ font-size: 10rem;}
}
@media screen and (max-width:600px) {
    .wrap_mode01, .wrap_mode02{ padding: 60px 0;}
    .wrapbanner .aboutUs{ display: none;}
    .wrapbanner .swiper-pagination{ right: 50%;transform: translateX(50%); bottom: 15px;}
    .wrap_mode01 .modeCon{ flex-direction: column-reverse;}
    .intro-copy, .wrap_mode01 .intro-image{ width: 100%;}
    .wrap_mode01 .section-kicker{ margin-top: 10px; margin-bottom: 10px;}
    .wrap_mode01 .intro-copy h2{ margin-bottom: 15px; font-size: 30px;}
    .wrap_mode01 .intro-copy p:not(.section-kicker){ margin-bottom: 10px;}
    .text-link{ height: 45px; line-height: 45px;}
    .mode02Swiper .txt a{ height: 45px; line-height: 45px;}
    .section-heading h2{ font-size: 30px;}
    .wrapbanner .swiper-pagination .swiper-pagination-bullet{ width: 26px;}
    .wrapbanner .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{ width: 36px;}
    .content .gp-container{ width: calc(100% - 2 * 20px) !important;}
}
@media screen and (max-width:414px) {
    .wrap_mode01, .wrap_mode02{ padding: 50px 0;}
    .wrapbanner .swiper-pagination{ bottom: 10px;}
    .section-heading > p:last-child{ margin-bottom: 20px;}
    .mode02Swiper{ margin-top: 30px;}
    .mode02Swiper .txt h3{ min-height: unset;}
    .mode02 .mode02-pagination{ margin-top: 20px;}
}
@media (prefers-reduced-motion: reduce) {
    .wrapbanner .aboutBtn .button-ghost::before { transition: none; }
    .wrapbanner .aboutBtn a, .mode02Swiper .img img, .text-link, .txt a, .text-link span, .txt a span { transition: none; }
}

/* IE10 和 IE11 的样式 */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { }