/* 首页 D2 一比一优化：仅控制首页视觉与响应式，不改变其他页面。 */

.home-page .carousel-container {
    height: clamp(42rem, calc(100svh - var(--fidelity-header-height)), 67.5rem);
    min-height: 42rem;
    background: var(--fidelity-bg-deepest);
}

.home-page .home-hero-slide > video,
.home-page .home-hero-slide > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-page .home-hero-primary > video {
    object-position: 62% center;
}

.home-page .home-hero-secondary > img {
    object-position: center 48%;
    filter: brightness(1.06) contrast(1.14) saturate(1.08);
}

.home-page .home-hero-shade {
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(5, 9, 17, .82) 0%, rgba(5, 9, 17, .48) 34%, rgba(5, 9, 17, .05) 68%);
}

.home-page .home-hero-content {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    height: 100%;
}

.home-page .home-hero-copy {
    width: min(42rem, 48%);
}

.home-page .home-hero-copy h1 {
    margin: 0 0 1.5rem;
    font-size: var(--fidelity-display-size);
    line-height: 1.12;
    letter-spacing: -.025em;
}

/* Each visual title line has its own colour progression: “中国低空融媒” is
 * calculated across six glyphs, while “开创者” restarts across three glyphs. */
.home-page .home-hero-title .home-hero-title-line {
    display: inline;
    text-shadow: none;
}

.home-page .home-hero-title .home-hero-title-glyph {
    display: inline-block;
    margin-right: .052em;
    background-size: 100% 100%;
    background-position: center;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    text-shadow: none;
}

/* First line: exactly reuse the six approved “核心业务矩阵” glyph meshes. */
.home-page .home-hero-title .home-hero-title-line-1-glyph-1 { background-image: linear-gradient(180deg, #193de5 0%, #244fe4 14%, #306be5 28%, #4188e6 42%, #50abe6 57%, #61d3e6 70%, #74ebe7 85%, #72f6e7 100%); }
.home-page .home-hero-title .home-hero-title-line-1-glyph-2 { background-image: linear-gradient(180deg, #4a74e0 0%, #5381df 14%, #5288e1 28%, #549ce2 42%, #65aee0 57%, #6dbfe1 70%, #73c9e1 85%, #76cee1 100%); }
.home-page .home-hero-title .home-hero-title-line-1-glyph-3 { background-image: linear-gradient(180deg, #7da2d9 0%, #7fa4d9 14%, #7aa5da 28%, #8bafd7 42%, #87b1d9 57%, #89b5d9 70%, #89b9d9 85%, #88bad9 100%); }
.home-page .home-hero-title .home-hero-title-line-1-glyph-4 { background-image: linear-gradient(180deg, #a6b7d1 0%, #afbbcf 14%, #b0bccf 28%, #a3b8d2 42%, #aabbd1 57%, #a2bbd3 70%, #bbc2cd 85%, #a9bdd1 100%); }
.home-page .home-hero-title .home-hero-title-line-1-glyph-5 { background-image: linear-gradient(180deg, #d8cbc8 0%, #ccc6c9 14%, #d4cac8 28%, #dccdc6 42%, #d2c9c8 57%, #d3cac8 70%, #cdc8ca 85%, #d1c9c9 100%); }
.home-page .home-hero-title .home-hero-title-line-1-glyph-6 { background-image: linear-gradient(180deg, #efd3c2 0%, #ebd2c3 14%, #e8d1c3 28%, #e9d1c3 42%, #e7d1c4 57%, #e7d1c4 70%, #e8d1c4 85%, #ead2c4 100%); }

/* Second line: the same title system's three-character positions. */
.home-page .home-hero-title .home-hero-title-line-2-glyph-1 { background-image: linear-gradient(180deg, #1938e4 0%, #78fce7 100%); }
.home-page .home-hero-title .home-hero-title-line-2-glyph-2 { background-image: linear-gradient(180deg, #6c8cdb 0%, #85cfdd 100%); }
.home-page .home-hero-title .home-hero-title-line-2-glyph-3 { margin-right: 0; background-image: linear-gradient(180deg, #ead1c3 0%, #e7d1c5 100%); }

.home-page .home-hero-title .home-hero-title-en {
    background: linear-gradient(100deg, #2f68e8 0%, #2ad9e7 56%, #e8ddd2 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.home-page .home-hero-copy p {
    max-width: 36rem;
    margin-bottom: 2.25rem;
    color: rgba(242, 242, 242, .82);
    font-size: clamp(1rem, 1.2vw, 1.25rem);
    line-height: 1.75;
    font-weight: 700;
}

.home-page .home-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .875rem;
}

.home-page .home-hero-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 8.75rem;
    min-height: 3rem;
    padding: .75rem 1.5rem;
    border-radius: .75rem;
    color: #fff;
    font-weight: 700;
    line-height: 1;
}

.home-page .home-hero-button-secondary {
    border: 1px solid rgba(185, 240, 245, .34);
    background: rgba(11, 14, 23, .48);
    backdrop-filter: blur(12px);
}

.home-page .home-carousel-arrow {
    background: rgba(11, 14, 23, .44);
    backdrop-filter: blur(10px);
}

.home-page .home-stats {
    padding-block: clamp(2.75rem, 5vw, 4.5rem) !important;
}

.home-page .home-stats-grid {
    align-items: start;
}

.home-page .home-stats-grid > div {
    min-width: 0;
}

.home-page .home-stats-grid .data-card-number {
    white-space: nowrap;
    font-size: clamp(2rem, 3vw, 3.5rem);
    line-height: 1.05;
}

.home-page .home-section {
    /* Preserve the 1px box geometry; remove only the inter-module line. */
    border-top: 1px solid transparent;
}

/* These three homepage chapters carry Tailwind border utilities directly in
   the markup. Make just that paint transparent without removing the border
   width, so the existing module rhythm and page height are unchanged. */
.home-page .home-stats,
.home-page #nest,
.home-page #news {
    border-color: transparent !important;
}

/* The customer layer applies a generic section border after the original
   page markup is parsed. Scope this override to homepage content modules
   only: it alters paint, not the existing border width or box geometry. */
body.customer-fidelity.home-page section {
    border-top-color: transparent !important;
    border-bottom-color: transparent !important;
    /* Remove only the legacy chapter gradient responsible for the visible
       horizontal seam. This does not change sizing, flow or spacing. */
    background-image: none !important;
}

.home-page .home-section-title {
    margin-bottom: clamp(1.25rem, 2.2vw, 2.25rem) !important;
}

.home-page .home-equal-grid {
    align-items: stretch;
}

/* Keep the business-matrix introduction directly below its title. */
.home-page #business-heading,
.home-page #business-heading .business-heading-copy {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
}

.home-page #business-heading [data-i18n="biz_subtitle"] {
    position: static !important;
    display: block !important;
    width: min(100%, 48rem) !important;
    max-width: 48rem !important;
    margin: 0 !important;
    margin-inline: 0 !important;
    padding: 0 !important;
    transform: none !important;
    text-align: left !important;
}

.home-page .home-equal-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: var(--fidelity-card-padding) !important;
}

.home-page .home-equal-card > p {
    flex: 1;
}

.home-page .home-card-link {
    margin-top: auto;
    padding-top: .5rem;
}

@media (max-width: 1023px) {
    .home-page .carousel-container {
        height: clamp(34rem, 72svh, 46rem);
        min-height: 34rem;
    }

    .home-page .home-hero-primary > video {
        object-position: 68% center;
    }

    .home-page .home-hero-copy {
        width: min(34rem, 66%);
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .home-page .home-hero-content {
        padding-inline: clamp(3.5rem, 7vw, 6rem);
    }

    .home-page .home-hero-primary > video {
        object-position: 58% center;
    }

    .home-page .home-hero-secondary > img {
        object-position: 54% center;
    }
}

@media (max-width: 767px) {
    .home-page .carousel-container {
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .home-page .home-hero-slide > video,
    .home-page .home-hero-slide > img {
        object-fit: contain !important;
        object-position: center !important;
    }

    .home-page .home-hero-shade {
        background: linear-gradient(90deg, rgba(5, 9, 17, .80) 0%, rgba(5, 9, 17, .30) 70%, transparent 100%);
    }

    .home-page .home-hero-content {
        align-items: flex-end;
        padding-bottom: 2.5rem;
    }

    .home-page .home-hero-copy {
        width: calc(100% - 3rem);
        margin-left: 3rem;
    }

    .home-page .home-hero-copy h1 {
        margin-bottom: .5rem;
        font-size: clamp(1.125rem, 5.4vw, 1.375rem);
        line-height: 1.12;
    }

    .home-page .home-hero-copy p {
        display: none;
    }

    .home-page .home-hero-actions {
        gap: .5rem;
    }

    .home-page .home-hero-button {
        min-width: 0;
        min-height: 2rem;
        padding: .45rem .75rem;
        border-radius: .5rem !important;
        font-size: .6875rem;
    }

    .home-page .home-carousel-arrow {
        top: 48%;
        width: 2rem !important;
        min-width: 2rem !important;
        height: 2rem !important;
        min-height: 2rem !important;
    }

    .home-page #carousel-dots {
        bottom: .625rem !important;
    }

    .home-page .home-stats-grid {
        gap: 2rem 1rem !important;
    }

    .home-page .home-stats-grid .data-card-number {
        font-size: clamp(1.75rem, 9vw, 2.25rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-page .carousel-slide {
        transition: none;
    }
}

/* Homepage composition refinement based on the customer reference sheet. */
.home-page .home-section {
    position: relative;
    isolation: isolate;
}

.home-page .home-section::before {
    position: absolute;
    z-index: -1;
    inset: 12% 8%;
    content: "";
    pointer-events: none;
    background: radial-gradient(circle at 50% 50%, rgba(0, 65, 219, .035), transparent 64%);
}

.home-page .home-section-title {
    display: inline-block;
    font-weight: 700 !important;
    letter-spacing: -.025em !important;
}

.home-page .home-section-title::after {
    display: block;
    width: 2.75rem;
    height: 1px;
    margin-top: .8rem;
    content: "";
    background: linear-gradient(90deg, #05d9ef, #3933eb, transparent);
    box-shadow: 0 0 12px rgba(5, 217, 239, .4);
}

.home-page .text-center.home-section-title::after {
    margin-inline: auto;
}

.home-page .home-equal-card {
    position: relative;
    border-radius: .625rem !important;
}

.home-page .home-equal-card > div:first-child {
    width: 2.75rem !important;
    height: 2.75rem !important;
    margin-bottom: 1.75rem !important;
    border-radius: .5rem !important;
    box-shadow: none !important;
}

.home-page .home-equal-card > div:first-child iconify-icon {
    font-size: 1.35rem !important;
}

.home-page #about img {
    border-radius: .625rem !important;
    filter: saturate(.8) contrast(1.04);
}

.home-page #about .blue-gradient-bg.absolute {
    border-radius: .625rem !important;
}

.home-page #scenes .group.relative.overflow-hidden {
    border-radius: .625rem !important;
}

.home-page #nest .rounded-2xl {
    border-radius: .625rem !important;
}

.home-page .partner-card {
    border-radius: .625rem !important;
    background: rgba(13, 19, 30, .86) !important;
}

.home-page .partner-card .rounded-2xl {
    border-radius: .5rem !important;
}

.home-page form button[type="submit"] {
    border-radius: 999px !important;
}

@media (min-width: 1024px) {
    .home-page .home-equal-card:nth-child(even) {
        transform: translateY(1.5rem);
    }

    .home-page .home-equal-card:nth-child(even):hover {
        transform: translateY(1.15rem);
    }
}

@media (max-width: 767px) {
    .home-page .home-section-title::after {
        margin-top: .55rem;
    }
}
