/* 星链首页专用：hero 双按钮光扫设计 */

/* 兜底：即使误挂 app-client，浅色区块仍用深色字 */
html.app-client body {
    background: #f5f7fa !important;
    color: #202124 !important;
}

html.app-client body .app-futuristic-bg,
html.app-client body .app-futuristic-glow {
    display: none !important;
}

.hero .logo-text,
.hero-text-left,
.hero-text-right {
    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.85),
        0 2px 12px rgba(0, 0, 0, 0.55);
    animation: none !important; /* 关掉旧字体闪变 */
    color: #fff !important;
    font-family: "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif !important;
    font-weight: 600 !important;
}

body > .navbar .logo-text {
    text-shadow: none !important;
    -webkit-text-stroke: 0 !important;
    color: #1e3a5f !important;
    font-family: "Cormorant Garamond", Palatino, "Palatino Linotype", "Iowan Old Style", "Times New Roman", serif !important;
    font-weight: 600 !important;
    font-size: 22px !important;
    letter-spacing: 0.055em;
    white-space: nowrap;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
}

body > .navbar .logo-tld {
    color: #64748b !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em;
}

.hero .hero-btn-shine {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    min-width: 7.5rem;
    border-radius: 7px;
    border: 1px solid rgb(61, 106, 255) !important;
    font-size: 14px;
    text-transform: none;
    font-weight: 600;
    letter-spacing: 1px;
    background: transparent !important;
    background-image: none !important;
    color: #fff !important;
    text-decoration: none;
    overflow: hidden;
    box-shadow: 0 0 0 0 transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transform: none !important;
    transition: all 0.2s ease-in;
    cursor: pointer;
}

.hero .hero-btn-shine .btn-text {
    position: relative;
    z-index: 1;
    color: inherit !important;
    text-shadow: none !important;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
}

.hero .hero-btn-shine:hover {
    background: rgb(61, 106, 255) !important;
    box-shadow: 0 0 30px 5px rgba(0, 142, 236, 0.815) !important;
    transform: none !important;
    transition: all 0.2s ease-out;
}

.hero .hero-btn-shine::before {
    content: "";
    display: block;
    width: 0;
    height: 86%;
    position: absolute;
    top: 7%;
    left: 0%;
    opacity: 0;
    background: #fff;
    box-shadow: 0 0 50px 30px #fff;
    transform: skewX(-20deg);
    pointer-events: none;
    z-index: 0;
}

.hero .hero-btn-shine:hover::before {
    animation: xinglian-hero-sh02 0.5s 0s linear;
}

.hero .hero-btn-shine:active {
    box-shadow: 0 0 0 0 transparent !important;
    transition: box-shadow 0.2s ease-in;
}

@keyframes xinglian-hero-sh02 {
    from {
        opacity: 0;
        left: 0%;
    }
    50% {
        opacity: 1;
    }
    to {
        opacity: 0;
        left: 100%;
    }
}

@media (max-width: 768px) {
    .hero .hero-btn-shine {
        padding: 10px 16px;
        min-width: 6.5rem;
        font-size: 12px;
        letter-spacing: 1.5px;
    }
}

/* Hero：飞机开关与双按钮同一行齐平 */
.hero .hero-cta-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.hero .hero-buttons-group {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
}

#hero-btn-power-lab .btn-text {
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* 创始人寄语：光伏场背景 + 头像偏中 + 署名靠右 */
#founder-intro .founder-bg {
    background-image: url("../../images/star-linked/with_truck.jpg") !important;
    background-image: image-set(
        url("../../images/star-linked/with_truck.webp") type("image/webp"),
        url("../../images/star-linked/with_truck.jpg") type("image/jpeg")
    ) !important;
    background-size: cover !important;
    background-position: center 45% !important;
    opacity: 0.55;
    filter: brightness(0.65) contrast(1.08) saturate(1.05);
}

#founder-intro .founder-intro-flex {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 2.5rem 3.5rem !important;
    width: 100%;
    max-width: 920px;
    margin: 0 auto 2rem;
    text-align: left;
    padding-left: 4% !important;
    padding-right: 4% !important;
}

#founder-intro .founder-avatar-wrap {
    align-self: center;
    flex: 0 0 auto;
    margin-left: 6%; /* 相对整段再往中靠一点 */
}

#founder-intro .founder-quote {
    flex: 0 0 auto;
    flex-shrink: 0;
    min-width: min(18rem, 100%);
    max-width: 28rem !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    text-align: right !important;
    padding-bottom: 0.25rem;
    margin-top: 0;
    gap: 0.65rem;
}

#founder-intro .founder-section-title,
#founder-intro .founder-quote .founder-section-title {
    margin: 0 !important;
    font-size: clamp(1.6rem, 4vw, 2.4rem) !important;
    font-weight: 800 !important;
    color: #fff !important;
    text-align: right !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
    letter-spacing: 0.06em;
}

#founder-intro .founder-intro-container > h2 {
    display: none !important; /* 旧顶栏标题已挪到右下 */
}

#founder-intro .founder-quote .founder-byline {
    margin: 0;
    font-style: normal;
    color: #fff !important;
    font-size: clamp(1.75rem, 4.5vw, 2.75rem);
    font-weight: 700;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
    letter-spacing: 0.04em;
}

#founder-intro .founder-quote .founder-byline-name {
    color: #fff !important;
    font-size: inherit;
}

#founder-intro .founder-quote blockquote {
    margin: 0;
    max-width: 26rem;
    font-size: clamp(0.95rem, 1.7vw, 1.12rem) !important;
    line-height: 1.8;
    font-weight: 400;
    color: #fff !important;
    text-align: right;
    border-left: none !important;
    border-right: 3px solid rgba(255, 255, 255, 0.55);
    padding: 0 1rem 0 0 !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
}

#founder-intro .founder-quote .founder-byline {
    font-size: clamp(1.05rem, 2.2vw, 1.35rem) !important;
}

#founder-intro .founder-ai-badge {
    font-size: 0.7rem;
    padding: 6px 12px;
    letter-spacing: 0.02em;
}

@media (max-width: 900px) {
    #founder-intro .founder-intro-flex {
        flex-direction: column !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    #founder-intro .founder-avatar-wrap {
        margin-left: 0;
    }

    #founder-intro .founder-quote {
        margin-top: 1.25rem;
        justify-content: center;
        align-items: center;
        text-align: center !important;
        width: 100%;
        min-width: 0;
        flex-shrink: 1;
    }

    #founder-intro .founder-section-title,
    #founder-intro .founder-quote .founder-section-title {
        text-align: center !important;
    }

    #founder-intro .founder-quote blockquote {
        text-align: center !important;
        border-right: none !important;
        border-top: 3px solid rgba(255, 255, 255, 0.55);
        padding: 1rem 0 0 !important;
        max-width: 100%;
    }
}

/* 团队区头像更易排开 */
#ai-views .team-flow {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.75rem 2.25rem;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.hero .plane-switch {
    --dot: #fff;
    --street: #6B6D76;
    --street-line: #A8AAB4;
    --street-line-mid: #C0C2C8;
    --sky-1: #60A7FA;
    --sky-2: #2F8EFC;
    --light-1: rgba(255, 233, 0, 1);
    --light-2: rgba(255, 233, 0, .3);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    margin: 0;
    line-height: 0;
    transform: scale(1.05);
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.35));
}

.hero .plane-switch input {
    display: none;
}

.hero .plane-switch input + div {
    -webkit-mask-image: -webkit-radial-gradient(white, black);
    position: relative;
    overflow: hidden;
    width: 50px;
    height: 25px;
    padding: 1px;
    border-radius: 13px;
    background: linear-gradient(90deg, var(--street) 0%, var(--street) 25%, var(--sky-1) 75%, var(--sky-2) 100%) left var(--p, 0%) top 0;
    background-position-x: var(--p, 0%);
    background-size: 400% auto;
    transition: background-position 0.6s;
}

.hero .plane-switch input + div:before,
.hero .plane-switch input + div:after {
    content: "";
    display: block;
    position: absolute;
    transform: translateX(var(--s, 0));
    transition: transform 0.3s;
}

.hero .plane-switch input + div:before {
    width: 42px;
    right: 2px;
    top: 4px;
    height: 1px;
    background: var(--street-line);
    box-shadow: 0 16px 0 0 var(--street-line);
}

.hero .plane-switch input + div:after {
    width: 2px;
    height: 2px;
    border-radius: 50%;
    left: 23px;
    top: 1px;
    animation: xinglian-lights2 2s linear infinite;
    box-shadow: inset 0 0 0 2px var(--light-1), 0 21px 0 var(--light-1), 8px 0 0 var(--light-2), 8px 21px 0 var(--light-2), 16px 0 0 var(--light-2), 16px 21px 0 var(--light-2);
}

.hero .plane-switch input + div span {
    display: block;
    position: absolute;
}

.hero .plane-switch input + div span.street-middle {
    top: 12px;
    left: 21px;
    width: 3px;
    height: 1px;
    transform: translateX(var(--s, 0));
    background: var(--street-line-mid);
    box-shadow: 5px 0 0 var(--street-line-mid), 10px 0 0 var(--street-line-mid), 15px 0 0 var(--street-line-mid), 20px 0 0 var(--street-line-mid), 25px 0 0 var(--street-line-mid);
    transition: transform 0.3s;
}

.hero .plane-switch input + div span.cloud {
    width: 12px;
    height: 4px;
    border-radius: 2px;
    background: #fff;
    position: absolute;
    top: var(--ct, 8px);
    left: 100%;
    opacity: var(--co, 0);
    transition: opacity 0.3s;
    animation: xinglian-clouds2 2s linear infinite var(--cd, 0s);
}

.hero .plane-switch input + div span.cloud:before,
.hero .plane-switch input + div span.cloud:after {
    content: "";
    position: absolute;
    transform: translateX(var(--cx, 0));
    border-radius: 50%;
    width: var(--cs, 5px);
    height: var(--cs, 5px);
    background: #fff;
    bottom: 1px;
    left: 1px;
}

.hero .plane-switch input + div span.cloud:after {
    --cs: 6px;
    --cx: 4px;
}

.hero .plane-switch input + div span.cloud.two {
    --ct: 20px;
    --cd: 1s;
    opacity: var(--co-2, 0);
}

.hero .plane-switch input + div div {
    display: table;
    position: relative;
    z-index: 1;
    padding: 5px;
    border-radius: 50%;
    background: var(--dot);
    transform: translateX(var(--x, 0));
    transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.35, 1.2);
}

.hero .plane-switch input + div div svg {
    width: 13px;
    height: 13px;
    display: block;
    color: var(--c, var(--street));
    transition: color 0.6s;
}

.hero .plane-switch input:checked + div {
    --p: 100%;
    --x: 25px;
    --s: -50px;
    --c: var(--sky-2);
    --co: .8;
    --co-2: .6;
}

@keyframes xinglian-lights2 {
    20%, 30% {
        box-shadow: inset 0 0 0 2px var(--light-2), 0 21px 0 var(--light-2), 8px 0 0 var(--light-1), 8px 21px 0 var(--light-1), 16px 0 0 var(--light-2), 16px 21px 0 var(--light-2);
    }
    55%, 65% {
        box-shadow: inset 0 0 0 2px var(--light-2), 0 21px 0 var(--light-2), 8px 0 0 var(--light-2), 8px 21px 0 var(--light-2), 16px 0 0 var(--light-1), 16px 21px 0 var(--light-1);
    }
    90%, 100% {
        box-shadow: inset 0 0 0 2px var(--light-1), 0 21px 0 var(--light-1), 8px 0 0 var(--light-2), 8px 21px 0 var(--light-2), 16px 0 0 var(--light-2), 16px 21px 0 var(--light-2);
    }
}

@keyframes xinglian-clouds2 {
    97% {
        transform: translateX(-72px);
        visibility: visible;
    }
    98%, 100% {
        visibility: hidden;
    }
    99% {
        transform: translateX(-72px);
    }
    100% {
        transform: translateX(0);
    }
}

/* 全屏/桌面：横排导航全部收进汉堡菜单 */
body > .navbar {
    justify-content: flex-end !important;
}

body > .navbar .logo-container {
    position: absolute !important;
    left: max(16px, env(safe-area-inset-left, 0px)) !important;
    right: auto !important;
    top: env(safe-area-inset-top, 0px) !important;
    height: 70px;
    display: flex !important;
    align-items: center;
    margin: 0 !important;
    z-index: 1000;
}

body > .navbar .navbar-right,
body > .navbar .nav-menu {
    display: none !important;
}

body > .navbar .mobile-menu-toggle {
    display: flex !important;
    z-index: 1002;
    margin-left: auto;
    flex-shrink: 0;
    position: relative;
}

body > .navbar .mobile-menu-toggle span {
    background-color: #1e6fa8 !important;
    box-shadow: none;
}

/* 全尺寸汉堡菜单：不透明底 + 浅色字（修移动端透明看不清） */
body > .navbar .mobile-menu {
    display: none;
    left: auto !important;
    right: max(0.75rem, env(safe-area-inset-right, 0px)) !important;
    width: auto !important;
    min-width: 11rem;
    max-width: min(18rem, calc(100vw - 1.5rem));
    margin-top: 0.35rem;
    padding: 0.4rem 0;
    background: rgba(8, 18, 36, 0.96) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.5);
    border-radius: 12px;
    overflow: hidden;
    z-index: 1002;
}

body > .navbar .mobile-menu.active {
    display: block !important;
}

body > .navbar .mobile-nav-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

body > .navbar .mobile-nav-item:last-child {
    border-bottom: none;
}

body > .navbar .mobile-nav-link {
    padding: 0.8rem 1.2rem !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    color: #f8fafc !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
    white-space: nowrap;
}

body > .navbar .mobile-nav-link:hover,
body > .navbar .mobile-nav-link:focus,
body > .navbar .mobile-nav-link.active {
    color: #7dd3fc !important;
    background: rgba(255, 255, 255, 0.08) !important;
}

/* 覆盖 foundation ≥1025 强制隐藏汉堡 */
@media (min-width: 1025px) {
    body > .navbar .mobile-menu-toggle {
        display: flex !important;
    }
}

@media (max-width: 768px) {
    body > .navbar .mobile-menu {
        right: max(0.5rem, env(safe-area-inset-right, 0px)) !important;
        left: max(0.5rem, env(safe-area-inset-left, 0px)) !important;
        width: auto !important;
        max-width: none;
        min-width: 0;
    }
}

/* ========== 星链首页密度收紧：整体缩小约 15–20%，适配常见笔记本屏 ========== */

/* Hero：不再强占整屏 */
body > .hero {
    height: min(78vh, 720px) !important;
    min-height: 520px !important;
}

/* picture 包装后仍铺满 Hero */
body > .hero picture {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: block;
}

body > .hero picture .hero-bg-image {
    width: 100%;
    height: 100%;
}

body > .navbar .logo-image {
    width: 36px !important;
    height: 36px !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

body > .navbar .logo-image:hover {
    transform: none !important;
}

/* 区块上下留白 */
.section-block--light,
.section-block--light-compact {
    padding-top: 2.75rem !important;
    padding-bottom: 2.75rem !important;
}

.section-block--ai {
    padding-top: 2.25rem !important;
    padding-bottom: 2.25rem !important;
}

.section-block--brands {
    padding: 2.75rem 0 2.25rem !important;
}

/* —— 观点默认收起；三块去掉背景图/粒子 —— */
#ai-views .quote-flow {
    display: none !important;
}

#ai-views.has-quote-open .quote-flow {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
}

#ai-views .quote-flow,
#ai-views #aiViewsQuoteText,
#ai-views #aiViewsQuoteAuthor {
    min-height: 0 !important;
    height: auto !important;
}

#ai-views #aiViewsResetBtn,
#aiViewsResetBtn {
    display: none !important;
}

#ai-views.has-quote-open #aiViewsResetBtn {
    display: block !important;
    margin-left: auto;
    margin-right: auto;
}

/* 未选中时不显示光环，避免看起来像已展开 */
#ai-views .ring-glow {
    display: none !important;
}

#ai-views .team-member.active .ring-glow {
    display: block !important;
}

#ai-views .ai-views-bg,
#ai-views .ai-particles-canvas,
#ai-team .ai-particles-canvas,
#brands-partners .brands-bg,
#brands-partners .brands-particles-canvas,
#company-pics-section .section-particles-canvas,
#patents .section-particles-canvas {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: none !important;
    background-image: none !important;
}

#ai-views,
#ai-team,
#company-pics-section,
#patents {
    background: #f8fafc !important;
    background-image: none !important;
}

#brands-partners.brands-section,
#brands-partners.section-block--brands {
    background: #ffffff !important;
    background-image: none !important;
}

#brand-video.section-video,
#brand-video {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
    position: relative;
    overflow: hidden;
}

/* 大标题：从 64/67 收到更克制的区间 */
#services .services-section-title {
    font-size: clamp(1.75rem, 3.6vw, 2.4rem) !important;
    margin-bottom: 0 !important;
}

#services .services-section-heading {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    align-items: center !important;
    justify-items: center;
    column-gap: 1rem;
    row-gap: 0.65rem;
    width: 100% !important;
    margin-bottom: 1.5rem !important;
    text-align: center !important;
}

#services .services-section-heading .services-section-title {
    grid-column: 2;
    flex: 0 1 auto;
    text-align: center !important;
    margin: 0 !important;
    white-space: nowrap;
    justify-self: center;
}

#services .xinglian-windmill-lottie {
    grid-column: 1;
    justify-self: end;
}

#services .xinglian-solar-lottie {
    grid-column: 3;
    justify-self: start;
}

#services .xinglian-solar-lottie,
#services .xinglian-windmill-lottie {
    flex: 0 0 auto;
    width: min(220px, 28vw);
    height: min(220px, 28vw);
    margin: 0;
}

#services .xinglian-solar-lottie svg,
#services .xinglian-windmill-lottie svg {
    display: block;
    width: 100% !important;
    height: 100% !important;
}

@media (max-width: 720px) {
    #services .services-section-heading {
        grid-template-columns: 1fr 1fr !important;
        justify-items: center;
    }

    #services .services-section-heading .services-section-title {
        grid-column: 1 / -1;
        grid-row: 1;
        white-space: normal;
        width: 100%;
    }

    #services .xinglian-windmill-lottie {
        grid-column: 1;
        grid-row: 2;
        justify-self: end;
    }

    #services .xinglian-solar-lottie {
        grid-column: 2;
        grid-row: 2;
        justify-self: start;
    }

    #services .xinglian-solar-lottie,
    #services .xinglian-windmill-lottie {
        width: min(150px, 40vw);
        height: min(150px, 40vw);
    }
}

/* 星链股份科技：标题恢复单行（动画已迁至专业服务） */
#brand-video .section-video-title {
    margin-bottom: 0.75rem !important;
}

#services .card-image--equipment {
    background-image: url('../../images/star-linked/number_1.png') !important;
}

#services .card-image--consulting {
    background-image: url('../../images/star-linked/number_2.png') !important;
}

#services .card-image--ecology {
    background-image: url('../../images/star-linked/number_3.png') !important;
}

#services .pricing-subsection h3 {
    font-size: 1.45rem !important;
}

#services .pricing-subsection .pricing-intro {
    font-size: 1rem !important;
    margin-bottom: 1.5rem !important;
}

#services .pricing-grid {
    gap: 1.35rem !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
}

#services .card-image {
    height: 120px !important;
}

#services .card-content {
    padding: 1.1rem 1rem 1.25rem !important;
}

#services .card-content h3 {
    font-size: 1.35rem !important;
    margin-bottom: 0.65rem !important;
}

#services .pricing-price {
    font-size: 2.1rem !important;
    margin: 0.55rem 0 !important;
}

#services .pricing-price-unit {
    font-size: 0.92rem !important;
    font-weight: 600;
    margin-left: 0.12em;
    white-space: nowrap;
}

#services .pricing-btn {
    padding: 0.7rem 1.4rem !important;
    font-size: 0.95rem !important;
    border: none;
    cursor: pointer;
    font-family: inherit;
}

/* 走进星链：去白框 + 中间收拢、悬停展开 */
#company-pics-section .company-pics-wrapper {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0.5rem 0.5rem 1rem !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

#company-pics-section .company-pics-title {
    font-size: clamp(1.7rem, 3.4vw, 2.3rem) !important;
    margin-bottom: 0.55rem !important;
}

#company-pics-section .company-pics-subtitle {
    font-size: 1.05rem !important;
    margin-bottom: 0.55rem !important;
}

#company-pics-section .company-pics-fan-hint {
    display: block;
    text-align: center;
    font-size: 0.92rem;
    color: #64748b;
    margin: 0 0 1.15rem;
    min-height: 1.25em;
    transition: opacity 0.3s ease;
}

#company-pics-section:has(.company-pics-grid.is-expanded) .company-pics-fan-hint {
    opacity: 0;
}

/* 占位始终按展开九宫格尺寸，悬停不再顶开下方 */
#company-pics-section .company-pics-grid {
    --fan-gap: 14px;
    --fan-inset: 0%;
    --fan-cell: calc((100% - 2 * var(--fan-inset) - 2 * var(--fan-gap)) / 3);
    --fan-row: calc(var(--fan-cell) * 0.75 + var(--fan-gap));
    --stack-w: min(620px, 74%);
    --stack-h: calc(var(--stack-w) * 0.75);
    position: relative !important;
    display: block !important;
    width: min(1120px, 100%) !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    /* 三行 4:3 + 两道间隙，贴紧内容减少空白 */
    aspect-ratio: 1.28 / 1 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding-bottom: 0 !important;
    gap: 0 !important;
}

#company-pics-section .company-pics-item.company-pics-item-dark {
    position: absolute !important;
    width: var(--stack-w);
    height: var(--stack-h);
    left: calc(50% - var(--stack-w) / 2);
    top: calc(50% - var(--stack-h) / 2);
    aspect-ratio: auto !important;
    border-radius: 14px !important;
    margin: 0 !important;
    z-index: 1;
    opacity: 0;
    pointer-events: none;
    transition:
        left 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        top 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        width 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        height 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.35s ease,
        box-shadow 0.35s ease;
    box-shadow: 0 10px 32px rgba(15, 23, 42, 0.18) !important;
}

#company-pics-section .company-pics-item.company-pics-item-dark:hover {
    transform: none !important;
    box-shadow: 0 10px 32px rgba(15, 23, 42, 0.18) !important;
}

#company-pics-section .company-pics-grid.is-expanded .company-pics-item.company-pics-item-dark:hover {
    transform: translateY(-4px) scale(1.02) !important;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.2) !important;
    z-index: 5;
}

#company-pics-section .company-pics-item.company-pics-item-dark:hover img {
    transform: none;
}

#company-pics-section .company-pics-grid.is-expanded .company-pics-item.company-pics-item-dark:hover img {
    transform: scale(1.04);
}

/* 收拢：大图叠在舞台正中，其余藏在后面 */
#company-pics-section .company-pics-grid:not(.is-expanded) .company-pics-item--center {
    --center-w: min(680px, 84%);
    --center-h: calc(var(--center-w) * 0.75);
    z-index: 4 !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    width: var(--center-w) !important;
    height: var(--center-h) !important;
    left: calc(50% - var(--center-w) / 2) !important;
    top: calc(50% - var(--center-h) / 2) !important;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.24) !important;
}

#company-pics-section .company-pics-grid:not(.is-expanded) .company-pics-item[data-index="0"] {
    opacity: 1; transform: translate(-7%, -6%) rotate(-7deg) scale(0.96); z-index: 1;
}
#company-pics-section .company-pics-grid:not(.is-expanded) .company-pics-item[data-index="1"] {
    opacity: 1; transform: translate(4%, -8%) rotate(5deg) scale(0.97); z-index: 2;
}
#company-pics-section .company-pics-grid:not(.is-expanded) .company-pics-item[data-index="2"] {
    opacity: 1; transform: translate(8%, -3%) rotate(8deg) scale(0.95); z-index: 1;
}
#company-pics-section .company-pics-grid:not(.is-expanded) .company-pics-item[data-index="3"] {
    opacity: 1; transform: translate(-9%, 3%) rotate(-5deg) scale(0.96); z-index: 2;
}
#company-pics-section .company-pics-grid:not(.is-expanded) .company-pics-item[data-index="5"] {
    opacity: 1; transform: translate(9%, 4%) rotate(6deg) scale(0.96); z-index: 2;
}
#company-pics-section .company-pics-grid:not(.is-expanded) .company-pics-item[data-index="6"] {
    opacity: 1; transform: translate(-6%, 8%) rotate(-8deg) scale(0.95); z-index: 1;
}
#company-pics-section .company-pics-grid:not(.is-expanded) .company-pics-item[data-index="7"] {
    opacity: 1; transform: translate(3%, 8%) rotate(3deg) scale(0.97); z-index: 2;
}
#company-pics-section .company-pics-grid:not(.is-expanded) .company-pics-item[data-index="8"] {
    opacity: 1; transform: translate(7%, 6%) rotate(7deg) scale(0.95); z-index: 1;
}

#company-pics-section .company-pics-grid:not(.is-expanded) .company-pics-item.company-pics-item-dark {
    pointer-events: auto !important;
}

/* 展开：略缩小的 3×3（相对初始大图） */
#company-pics-section .company-pics-grid.is-expanded .company-pics-item.company-pics-item-dark {
    width: var(--fan-cell);
    height: calc(var(--fan-cell) * 0.75);
    opacity: 1;
    pointer-events: auto;
    transform: none;
}

#company-pics-section .company-pics-grid.is-expanded .company-pics-item[data-index="0"] {
    left: var(--fan-inset); top: var(--fan-inset);
}
#company-pics-section .company-pics-grid.is-expanded .company-pics-item[data-index="1"] {
    left: calc(var(--fan-inset) + var(--fan-cell) + var(--fan-gap)); top: var(--fan-inset);
}
#company-pics-section .company-pics-grid.is-expanded .company-pics-item[data-index="2"] {
    left: calc(var(--fan-inset) + 2 * (var(--fan-cell) + var(--fan-gap))); top: var(--fan-inset);
}
#company-pics-section .company-pics-grid.is-expanded .company-pics-item[data-index="3"] {
    left: var(--fan-inset); top: calc(var(--fan-inset) + var(--fan-row));
}
#company-pics-section .company-pics-grid.is-expanded .company-pics-item[data-index="4"],
#company-pics-section .company-pics-grid.is-expanded .company-pics-item--center {
    left: calc(var(--fan-inset) + var(--fan-cell) + var(--fan-gap)) !important;
    top: calc(var(--fan-inset) + var(--fan-row)) !important;
    width: var(--fan-cell) !important;
    height: calc(var(--fan-cell) * 0.75) !important;
    z-index: 2 !important;
    transform: none !important;
    box-shadow: 0 10px 32px rgba(15, 23, 42, 0.18) !important;
}
#company-pics-section .company-pics-grid.is-expanded .company-pics-item[data-index="5"] {
    left: calc(var(--fan-inset) + 2 * (var(--fan-cell) + var(--fan-gap)));
    top: calc(var(--fan-inset) + var(--fan-row));
}
#company-pics-section .company-pics-grid.is-expanded .company-pics-item[data-index="6"] {
    left: var(--fan-inset); top: calc(var(--fan-inset) + 2 * var(--fan-row));
}
#company-pics-section .company-pics-grid.is-expanded .company-pics-item[data-index="7"] {
    left: calc(var(--fan-inset) + var(--fan-cell) + var(--fan-gap));
    top: calc(var(--fan-inset) + 2 * var(--fan-row));
}
#company-pics-section .company-pics-grid.is-expanded .company-pics-item[data-index="8"] {
    left: calc(var(--fan-inset) + 2 * (var(--fan-cell) + var(--fan-gap)));
    top: calc(var(--fan-inset) + 2 * var(--fan-row));
}

#company-pics-section .company-pics-grid:not(.is-expanded) .company-pics-caption {
    opacity: 0 !important;
}

@media (max-width: 768px) {
    #company-pics-section .company-pics-grid {
        --stack-w: min(420px, 78%);
        grid-template-columns: unset !important;
    }
    #company-pics-section .company-pics-grid:not(.is-expanded) .company-pics-item--center {
        --center-w: min(560px, 90%);
    }
}

@media (max-width: 480px) {
    #company-pics-section .company-pics-grid {
        grid-template-columns: unset !important;
    }
}

/* 专利 */
#patents .patents-section-title {
    font-size: clamp(1.75rem, 3.6vw, 2.4rem) !important;
}

#patents .patents-section-subtitle {
    font-size: 1.05rem !important;
}

#patents .patents-grid {
    gap: 1.25rem !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
}

#patents .patent-card.patent-card-dark {
    min-height: 280px !important;
    padding: 1.35rem 1.2rem !important;
}

#patents .honor-cert-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

#patents .honor-cert-thumb {
    display: block;
    width: 100%;
    height: 168px;
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
    margin-bottom: 0.85rem;
    background: #0f172a;
}

/* 专利证书弹层：去掉黑色遮罩 */
.patent-fullscreen {
    background: transparent !important;
}

.patent-fullscreen .patent-fullscreen-hint {
    color: #475569 !important;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.9);
}

#patents .patent-card .service-icon {
    font-size: 2.6rem !important;
    margin-bottom: 0.85rem !important;
}

#patents .patent-card h3 {
    font-size: 1.35rem !important;
}

/* 创始人 */
#founder-intro {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

#founder-intro .founder-intro-flex {
    max-width: 980px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 0.75rem !important;
    padding-top: 1rem !important;
    padding-bottom: 0.5rem !important;
}

#founder-intro .founder-avatar-wrap img,
#founder-intro .founder-avatar-wrap {
    max-width: 180px !important;
}

#founder-intro .founder-avatar-wrap img {
    width: 180px !important;
    height: 180px !important;
}

#founder-intro.founder-expanded .founder-intro-flex {
    margin-bottom: 0.5rem !important;
}

/* AI 观点 / 不同用户 */
#ai-views .ai-views-heading,
#ai-team .ai-team-heading {
    font-size: clamp(1.7rem, 3.4vw, 2.25rem) !important;
    margin-bottom: 0.55rem !important;
}

#ai-views .ai-views-subtitle,
#ai-team .ai-team-subtitle,
#ai-views .section-inner > p {
    font-size: 1.02rem !important;
    margin-bottom: 1.5rem !important;
}

/* 不同用户看AI：慢速横向走马灯（避免头像挤成一团） */
#ai-team .s3-marquee {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    padding: 1.35rem 0 1.1rem;
    margin: 0 auto;
    touch-action: pan-y;
}

#ai-team .s3-grid.s3-marquee-track,
#ai-team .s3-marquee-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: max-content !important;
    max-width: none !important;
    gap: 1.75rem !important;
    padding: 0.7rem 0 0.85rem !important;
    grid-template-columns: none !important;
    justify-items: unset !important;
    animation: xinglian-s3-marquee 72s linear infinite;
    will-change: transform;
}

#ai-team .s3-grid.s3-marquee-track.s3-marquee-track--2,
#ai-team .s3-marquee-track--2 {
    animation: xinglian-s3-marquee 84s linear infinite reverse;
}

#ai-team .s3-marquee.is-paused .s3-marquee-track {
    animation-play-state: paused;
}

#ai-team .s3-marquee-track .s3-person {
    flex: 0 0 auto !important;
    width: 148px !important;
}

#ai-team .s3-marquee-track .s3-person .elite-avatar {
    width: 148px !important;
    height: 148px !important;
}

@keyframes xinglian-s3-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@media (max-width: 768px) {
    #ai-team .s3-marquee {
        mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
        -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
        padding: 1.25rem 0 0.75rem;
    }

    #ai-team .s3-marquee-track {
        gap: 0.85rem !important;
        animation-duration: 80s;
    }

    #ai-team .s3-grid.s3-marquee-track.s3-marquee-track--2,
    #ai-team .s3-marquee-track--2 {
        animation: xinglian-s3-marquee 92s linear infinite reverse;
    }

    #ai-team .s3-marquee-track .s3-person {
        width: 72px !important;
    }

    #ai-team .s3-marquee-track .s3-person .elite-avatar {
        width: 72px !important;
        height: 72px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    #ai-team .s3-marquee-track {
        animation: none !important;
        transform: none !important;
        overflow-x: auto;
        width: 100% !important;
        max-width: 100% !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    #ai-team .s3-marquee-track::-webkit-scrollbar {
        display: none;
    }
}

/* 不同用户看AI 弹层：窄屏改为上图下文 */
@media (max-width: 768px) {
    #ai-team .s3-modal {
        padding: 1rem !important;
        align-items: center;
    }

    #ai-team .s3-modal-inner {
        padding: 1.35rem 1.15rem 1.25rem !important;
        width: min(96vw, 420px) !important;
        max-width: 96vw !important;
        max-height: min(88vh, 720px) !important;
        border-radius: 18px !important;
        border-left-width: 3px !important;
        touch-action: pan-y;
    }

    #ai-team .s3-modal-body {
        flex-direction: column !important;
        align-items: center !important;
        gap: 1rem !important;
        text-align: center;
    }

    #ai-team .s3-modal-avatar {
        width: 112px !important;
        height: 112px !important;
        margin: 0 auto;
    }

    #ai-team .s3-modal-content {
        width: 100% !important;
        text-align: left;
    }

    #ai-team .s3-modal-content .elite-quote {
        font-size: 1.05rem !important;
        line-height: 1.75 !important;
    }

    #ai-team .s3-modal-content .elite-author {
        text-align: center !important;
        font-size: 1rem !important;
        margin-top: 0.85rem !important;
    }

    #ai-team .s3-modal-hint {
        margin-top: 0.75rem !important;
        font-size: 0.72rem !important;
    }
}

#ai-views .avatar-ring {
    width: 118px !important;
    height: 118px !important;
    margin-bottom: 0.55rem !important;
}

#ai-views .team-member.person,
#ai-views .person.team-member {
    width: 150px !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

#ai-views .team-member.person::before,
#ai-views .person.team-member::before {
    display: none !important;
    content: none !important;
}

#ai-views .team-member.person:hover,
#ai-views .team-member.person:focus,
#ai-views .team-member.person:focus-visible,
#ai-views .team-member.person.active,
#ai-views .person.team-member:hover,
#ai-views .person.team-member.active {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
}

#ai-views .team-flow {
    gap: 1.25rem 1.5rem !important;
    margin-bottom: 1.5rem !important;
}

#ai-views .team-member h3 {
    font-size: 1.1rem !important;
}

#ai-views .team-member p {
    font-size: 0.88rem !important;
}

#ai-views #aiViewsQuoteText {
    font-size: clamp(1.05rem, 2.2vw, 1.35rem) !important;
}

/* 品牌致敬区 */
.brands-subtitle {
    font-size: 1.15rem !important;
    margin-bottom: 1.25rem !important;
}

.brands-stat-number {
    font-size: 2rem !important;
    min-width: 0 !important;
}

.brands-stats-container {
    gap: 2rem !important;
    margin-top: 1.5rem !important;
}

/* 页脚与五字图 */
footer.web-only-footer,
#contact.web-only-footer {
    padding-top: 2.5rem !important;
    padding-bottom: 1.75rem !important;
}

/* 页脚三列顶对齐：星链 / 快速链接 / 关注抖音 */
#contact .footer-wrap {
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
}

#contact .footer-left,
#contact .footer-middle,
#contact .footer-right {
    align-self: flex-start !important;
    margin-top: 0 !important;
}

#contact .footer-right {
    align-items: flex-start !important;
}

#contact .footer-title,
#contact .footer-logo {
    margin-top: 0 !important;
}

@media (max-width: 768px) {
    #contact .footer-wrap {
        flex-wrap: nowrap !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 2.25rem !important;
    }

    #contact .footer-left,
    #contact .footer-middle,
    #contact .footer-right {
        align-self: center !important;
        width: 100% !important;
        max-width: 28rem;
        text-align: center !important;
    }

    #contact .footer-middle .footer-title,
    #contact .footer-right .footer-title {
        text-align: center !important;
    }

    #contact .footer-links {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 0;
        margin: 0;
    }

    #contact .footer-links li {
        text-align: center;
    }

    #contact .footer-right,
    #contact .footer-social {
        align-items: center !important;
    }

    #contact .footer-qrcode,
    #contact .douyin-hover-card {
        margin-left: auto;
        margin-right: auto;
    }
}

/* 关注抖音：悬停卡片（Uiverse 风格，悬停显示真实二维码） */
#contact .douyin-hover-card {
    --douyin-accent: #f59e0b;
    width: 190px;
    height: 190px;
    background: #ffffff;
    color: #111827;
    border-radius: 1rem;
    padding: 0.75rem;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    box-sizing: border-box;
    border: 1px solid #e5e7eb;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
    transition: background-color 300ms ease, transform 300ms ease, box-shadow 300ms ease;
    animation: douyin-thumb-thumb 8s infinite;
    outline: none;
}

#contact .douyin-hover-qr {
    position: absolute;
    inset: 0.65rem;
    width: calc(100% - 1.3rem);
    height: calc(100% - 1.3rem);
    object-fit: cover;
    border-radius: 0.65rem;
    opacity: 0;
    transition: opacity 300ms ease;
    z-index: 1;
    pointer-events: none;
}

#contact .douyin-hover-prompt {
    position: relative;
    z-index: 2;
    color: #6b7280;
    text-align: center;
    transition: opacity 300ms ease;
    pointer-events: none;
}

#contact .douyin-prompt-bold {
    font-weight: 700;
    color: #111827;
}

#contact .douyin-prompt-hint {
    text-align: center;
    width: 100%;
    position: absolute;
    left: 0;
    font-size: 8px;
    margin-top: 0.35rem;
    opacity: 0.55;
}

#contact .douyin-token-spin {
    animation: douyin-spinny-token 2s linear infinite;
    margin: 0 auto 10px;
    width: 3.25rem;
    height: 3rem;
}

#contact .douyin-token-icon {
    width: 3.25rem;
    height: 3rem;
    color: var(--douyin-accent);
    display: block;
}

#contact .douyin-blurry-splash {
    position: absolute;
    inset: 0;
    width: 60px;
    margin: 0 auto;
    height: 60px;
    border-radius: 1rem;
    z-index: -1;
    opacity: 0.7;
    filter: blur(15px);
    background: linear-gradient(
        120deg,
        rgba(245, 158, 11, 0.28),
        rgba(249, 115, 22, 0.36),
        rgba(245, 158, 11, 0.22)
    );
}

#contact .douyin-hover-card:hover,
#contact .douyin-hover-card:focus-within {
    background-color: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
    animation-play-state: paused;
}

#contact .douyin-hover-card:hover .douyin-hover-prompt,
#contact .douyin-hover-card:focus-within .douyin-hover-prompt {
    opacity: 0;
}

#contact .douyin-hover-card:hover .douyin-hover-qr,
#contact .douyin-hover-card:focus-within .douyin-hover-qr {
    opacity: 1;
}

@keyframes douyin-spinny-token {
    from { transform: perspective(200px) rotateY(0deg); }
    to { transform: perspective(200px) rotateY(360deg); }
}

@keyframes douyin-thumb-thumb {
    0%, 10%, 100% { transform: scale(1); }
    5% { transform: scale(1.03); }
    7% { transform: scale(0.97); }
}

@media (hover: none) {
    #contact .douyin-hover-card {
        background: #fff;
        animation: none;
    }

    #contact .douyin-hover-prompt {
        opacity: 0;
    }

    #contact .douyin-hover-qr {
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    #contact .douyin-hover-card,
    #contact .douyin-token-spin {
        animation: none;
    }
}

/* 五字图：贴满底边；悬停放大旋转时允许溢出 */
.brand-characters-section {
    overflow: visible;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #000;
    position: relative;
    z-index: 2;
}

.brand-characters-section .brand-characters-container {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    overflow: visible;
}

.brand-characters-section .brand-character {
    width: 20% !important;
    max-width: none !important;
    flex: 0 0 20% !important;
    height: auto;
    max-height: none;
    object-fit: cover;
    object-position: center;
    margin: 0 !important;
    padding: 0 !important;
    display: block;
    position: relative;
    z-index: 0;
    transform-origin: center center;
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (hover: hover) and (pointer: fine) {
    .brand-characters-section .brand-character:hover {
        transform: scale(1.12) rotate(-5deg);
        z-index: 3;
    }

    .brand-characters-section .brand-character:nth-child(even):hover {
        transform: scale(1.12) rotate(5deg);
    }
}

#brand-video .section-video-title {
    font-size: clamp(1.6rem, 3.2vw, 2.2rem) !important;
}

#brand-video .section-video-tagline {
    font-size: 1.25rem !important;
}

#brand-video .section-video-desc {
    font-size: 1rem !important;
}

#brand-video .section-video-desc p {
    margin: 0 0 0.7rem;
    line-height: 1.7;
}

#brand-video .section-video-desc p:last-child {
    margin-bottom: 0;
}

#brand-video .section-video-points {
    margin-top: 1.25rem;
}

/* B 站嵌入：用 aspect-ratio，去掉 isOutside 迷你窗 */
#brand-video .section-video-wrapper.bilibili-embed-wrap,
#brand-video .bilibili-embed-wrap {
    position: relative !important;
    width: 100% !important;
    max-width: 720px;
    aspect-ratio: 16 / 9 !important;
    padding-top: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    background: #000 !important;
}

#brand-video .bilibili-embed-wrap .brand-bilibili-player,
#brand-video .bilibili-embed-wrap iframe {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    border: 0 !important;
    border-radius: 24px !important;
    z-index: 10 !important;
    display: block !important;
    background: #000 !important;
}

#brand-video .video-col,
#brand-video .section-video-col-media {
    width: min(100%, 720px);
    max-width: 720px;
    flex: 1 1 55%;
}

@media (max-width: 768px) {
    #brand-video .video-col,
    #brand-video .section-video-col-media {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        flex: 1 1 100%;
    }

    #brand-video .bilibili-embed-wrap {
        max-width: none;
    }

    #brand-video .shooting-stars {
        display: none;
    }

    #brand-video .section-video-col-text,
    #brand-video .text-col {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    #brand-video .section-video-tagline,
    #brand-video .section-video-desc,
    #brand-video .section-video-desc p,
    #brand-video .section-video-points,
    #brand-video .section-video-hint {
        max-width: 100% !important;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}

@media (max-width: 900px) {
    body > .hero {
        height: min(72vh, 620px) !important;
        min-height: 460px !important;
    }

    .brand-characters-section .brand-character {
        max-height: none;
    }
}

/* ==========================================================================
   移动端竖屏：Hero / 相册交互配套 / Safe Area
   ========================================================================== */
@media (max-width: 768px) {
    /* Hero：竖屏提亮，避免底部过暗看不清 CTA */
    body > .hero .hero-overlay {
        background: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0.12) 0%,
            rgba(0, 0, 0, 0.08) 38%,
            rgba(0, 0, 0, 0.22) 68%,
            rgba(0, 0, 0, 0.38) 100%
        ) !important;
    }

    body > .hero picture .hero-bg-image,
    body > .hero .hero-bg-image {
        filter: brightness(1.28) contrast(1.04) saturate(1.06) !important;
    }

    /* Hero：竖屏把「星链股份 / 湖银科技」放到 CTA 上方，避免两侧挤压 */
    body > .hero .hero-text {
        display: flex !important;
        flex-wrap: wrap !important;
        flex-direction: row !important;
        width: min(100%, 360px) !important;
        max-width: calc(100vw - 24px) !important;
        gap: 0.35rem 1.25rem !important;
        bottom: 2.25rem !important;
        padding: 0 8px;
        box-sizing: border-box;
        justify-content: center !important;
        align-items: center !important;
    }

    body > .hero .hero-text-left,
    body > .hero .hero-text-right {
        display: block !important;
        order: 1;
        font-size: clamp(1.05rem, 4.6vw, 1.35rem) !important;
        letter-spacing: 0.12em;
        line-height: 1.2;
        white-space: nowrap;
    }

    body > .hero .hero-cta-stack {
        order: 2;
        flex: 0 0 100%;
        width: 100%;
        display: flex;
        justify-content: center;
        margin-top: 0.15rem;
    }

    body > .hero .hero-buttons-group {
        gap: 0.4rem !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
    }

    body > .hero .hero-btn-shine {
        min-width: 5.6rem !important;
        padding: 8px 12px !important;
        font-size: 12.5px !important;
        color: #fff !important;
        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7);
        background: rgba(8, 18, 36, 0.42) !important;
        border-color: rgba(125, 211, 252, 0.85) !important;
    }

    body > .hero .hero-plane-switch {
        transform: scale(0.92);
        transform-origin: center;
    }
}

@media (max-width: 385px) {
    body > .hero .hero-btn-shine {
        min-width: 5rem !important;
        padding: 7px 10px !important;
        font-size: 11.5px !important;
        letter-spacing: 0.5px !important;
    }
}

/* 聊天浮钮 + 回顶：iOS / 微信底部安全区 */
#huyin-chat-widget {
    bottom: calc(24px + env(safe-area-inset-bottom, 0px)) !important;
    right: max(24px, env(safe-area-inset-right, 0px)) !important;
}

#huyin-chat-fab {
    /* 继承 widget 定位；保证可点区域不被底栏挡住 */
    position: relative;
}

.back-to-top {
    bottom: calc(2rem + env(safe-area-inset-bottom, 0px)) !important;
    left: max(2rem, env(safe-area-inset-left, 0px)) !important;
}

@media (max-width: 768px) {
    #huyin-chat-widget {
        bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
        right: max(16px, env(safe-area-inset-right, 0px)) !important;
    }

    .back-to-top {
        bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px)) !important;
        left: max(1.5rem, env(safe-area-inset-left, 0px)) !important;
    }
}

/* ==========================================================================
   窄屏居中修复：禁止 section padding + .container{width:100vw} 叠宽裁右
   （100vw 相对视口，不吃父级 padding → 内容整体视觉偏右）
   ========================================================================== */
@media (max-width: 768px) {
    #brand-video,
    #xinglian-philosophy,
    #xinglian-contact-lead,
    #services,
    #company-pics-section,
    #patents,
    #founder-intro,
    #ai-team,
    #brands-partners,
    #contact {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        box-sizing: border-box !important;
        overflow-x: clip;
    }

    #xinglian-philosophy {
        overflow: visible;
    }

    #brand-video .container,
    #brand-video .section-video-container,
    #xinglian-philosophy .container,
    #xinglian-philosophy .xinglian-philosophy-inner,
    #xinglian-contact-lead .container,
    #xinglian-contact-lead .xinglian-contact-lead-inner,
    #services .container,
    #services .section-inner,
    #company-pics-section .container,
    #company-pics-section .company-pics-wrapper,
    #patents .container,
    #patents .section-inner,
    #patents .patents-wrapper,
    #founder-intro .container,
    #founder-intro .founder-intro-container,
    #ai-team .container,
    #ai-team .section-inner,
    #brands-partners .container,
    #contact .container {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    #services .pricing-grid {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        grid-template-columns: 1fr !important;
        justify-content: center !important;
        justify-items: stretch !important;
    }

    #services .pricing-card {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    #company-pics-section .company-pics-grid {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    #patents .patents-grid,
    #patents .patent-card {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    #brand-video .video-wrapper,
    #brand-video .section-video-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}



/* —— 创始人寄语下方：左 Lottie · 右联系我们 —— */
.xinglian-contact-lead {
    position: relative;
    padding: 2.35rem 0 2.85rem;
    background:
        radial-gradient(ellipse 70% 55% at 18% 35%, rgba(74, 144, 226, 0.08), transparent 58%),
        radial-gradient(ellipse 55% 50% at 82% 65%, rgba(232, 162, 58, 0.06), transparent 55%),
        #f5f7fa;
    color: #1a2332;
    overflow: hidden;
}

.xinglian-contact-lead-inner {
    max-width: 980px;
    margin: 0 auto;
}

.xinglian-contact-lead-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    /* 让「们」底边与左侧动画地面线（容器底）齐平 */
    align-items: flex-end;
    gap: 1.75rem 3.5rem;
}

.xinglian-bicycles-lottie {
    width: min(360px, 78vw);
    height: min(200px, 46vw);
    flex: 0 0 auto;
    /* 地面线贴容器底，减少底部空白偏移 */
    line-height: 0;
}

.xinglian-bicycles-lottie svg {
    display: block;
    width: 100% !important;
    height: 100% !important;
}

.xinglian-lead-block {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 0.85rem;
    flex: 0 0 auto;
}

.xinglian-lead-title {
    margin: 0 0 1.35rem;
    padding: 0;
    width: 100%;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    letter-spacing: 0.22em;
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.2;
    color: #1e3a5f;
    text-align: center;
    white-space: nowrap;
    user-select: none;
}

.xinglian-lead-main {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-width: 0;
    position: relative;
}

.xinglian-lead-form-wrap {
    display: flex;
    justify-content: center;
    padding: 1.7rem 0 0;
    perspective: 800px;
}

.xinglian-lead-status {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 0.55rem);
    margin-top: 0;
    text-align: center;
    font-size: 0.85rem;
    color: #15803d;
    min-height: 1.25em;
}

.xinglian-lead-status.is-error {
    color: #b91c1c;
}

/* stackedForm（联系我们 + 业务弹窗共用） */
.xinglian-stacked .stackedForm {
    --form-btn-color-3: #8ec0f2;
    --form-btn-color-2: #6aa8f0;
    --form-btn-color-1: #4a90e2;
    --form-btn-color: #e8a23a;
    --form-btn-active-color: #f0b85a;
    --form-rotation: rotate3d(0, 1, 0, 180deg);
    --form-text-padding-left: 12px;
    --form-block-w: 268px;
    --form-block-h: 36px;
    --form-side-w: 28px;
    transform: var(--form-rotation);
}

.xinglian-stacked .stackedForm .input,
.xinglian-stacked .stackedForm button {
    width: 100%;
    height: var(--form-block-h);
    position: relative;
    padding: 10px;
    border: none;
    box-sizing: border-box;
}

.xinglian-stacked .stackedForm button {
    background: var(--form-btn-color);
    border: none;
    cursor: pointer;
    font-weight: 600;
}

.xinglian-stacked .stackedForm button span {
    display: block;
    transform: var(--form-rotation);
    color: #ffffff;
    font-size: 14px;
}

.xinglian-stacked .stackedForm .wrapper {
    position: relative;
    transform: skewY(-14deg);
    margin: 0;
    padding: 0;
}

.xinglian-stacked .stackedForm .wrapper li,
.xinglian-stacked .stackedForm button {
    position: relative;
    list-style: none;
    width: var(--form-block-w);
    z-index: var(--i);
    transition: 0.3s;
    color: white;
}

.xinglian-stacked .stackedForm .wrapper li::before,
.xinglian-stacked .stackedForm button::before {
    position: absolute;
    content: "";
    background: var(--form-btn-color);
    top: 0;
    left: calc(var(--form-side-w) * -1);
    width: var(--form-side-w);
    height: var(--form-block-h);
    transform-origin: right;
    transform: skewY(45deg);
    transition: 0.3s;
}

.xinglian-stacked .stackedForm .wrapper li::after,
.xinglian-stacked .stackedForm button::after {
    position: absolute;
    content: "";
    background: var(--form-btn-color);
    width: var(--form-block-w);
    height: var(--form-side-w);
    top: calc(var(--form-side-w) * -1);
    left: 0;
    transform-origin: bottom;
    transform: skewX(45deg);
    transition: 0.3s;
}

.xinglian-stacked .stackedForm .wrapper li:nth-child(1)::after,
.xinglian-stacked .stackedForm .wrapper li:nth-child(1)::before {
    background-color: var(--form-btn-color-3);
}

.xinglian-stacked .stackedForm .wrapper li:nth-child(2)::after,
.xinglian-stacked .stackedForm .wrapper li:nth-child(2)::before {
    background-color: var(--form-btn-color-2);
}

.xinglian-stacked .stackedForm .wrapper li:nth-child(3)::after,
.xinglian-stacked .stackedForm .wrapper li:nth-child(3)::before {
    background-color: var(--form-btn-color-1);
}

.xinglian-stacked .stackedForm li .input {
    outline: none;
    border: none;
    padding: 0;
    padding-left: var(--form-text-padding-left);
    width: 100%;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
    caret-color: #ffffff;
    transform: var(--form-rotation);
    font-size: 14px;
    font-weight: 600;
}

.xinglian-stacked .stackedForm li .input::placeholder {
    color: rgba(255, 255, 255, 0.88) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.88);
    opacity: 1;
}

.xinglian-stacked .stackedForm li:nth-child(1) .input {
    background: var(--form-btn-color-3);
}

.xinglian-stacked .stackedForm li:nth-child(2) .input {
    background: var(--form-btn-color-2);
}

.xinglian-stacked .stackedForm li:nth-child(3) .input {
    background: var(--form-btn-color-1);
}

.xinglian-stacked .stackedForm .wrapper li:hover,
.xinglian-stacked .stackedForm button:hover,
.xinglian-stacked .stackedForm .wrapper li:has(input:focus),
.xinglian-stacked .stackedForm button:focus {
    transform: translateX(-14px);
}

.xinglian-stacked .stackedForm button:hover,
.xinglian-stacked .stackedForm button:hover::before,
.xinglian-stacked .stackedForm button:hover::after,
.xinglian-stacked .stackedForm button:focus,
.xinglian-stacked .stackedForm button:focus::before,
.xinglian-stacked .stackedForm button:focus::after {
    background: var(--form-btn-active-color);
}

.xinglian-stacked .stackedForm button:active {
    transform: translateX(0px);
}

.xinglian-stacked .stackedForm button:disabled {
    opacity: 0.7;
    cursor: wait;
}

/* 业务卡片：3D 留资弹窗 */
.xinglian-biz-modal {
    position: fixed;
    inset: 0;
    z-index: 1400;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.28s ease, visibility 0.28s ease;
}
.xinglian-biz-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.xinglian-biz-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.xinglian-biz-modal-panel {
    position: relative;
    z-index: 1;
    width: min(480px, 100%);
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid rgba(30, 58, 95, 0.10);
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.18);
    padding: 1.65rem 1.6rem 1.7rem;
    overflow: auto;
    max-height: min(92vh, 820px);
}
.xinglian-biz-modal-close {
    position: absolute;
    top: 0.7rem;
    right: 0.85rem;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    background: rgba(30, 58, 95, 0.08);
    color: #1e3a5f;
    font-size: 1.45rem;
    line-height: 1;
    cursor: pointer;
}
.xinglian-biz-modal-close:hover {
    background: rgba(30, 58, 95, 0.14);
}
.xinglian-biz-modal-panel h3 {
    margin: 0 0 0.35rem;
    font-size: 1.45rem;
    font-weight: 800;
    color: #1e3a5f;
    letter-spacing: 0.06em;
    text-align: center;
    outline: none;
}
.xinglian-biz-modal-sub {
    margin: 0 0 0.85rem;
    text-align: center;
    font-size: 0.92rem;
    color: #64748b;
}
.xinglian-biz-form {
    display: grid;
    gap: 0.7rem;
}
.xinglian-biz-extra {
    display: grid;
    gap: 0.7rem;
    margin: 0;
    padding: 0;
}
.xinglian-biz-submit {
    margin-top: 0.45rem;
    width: 100%;
    height: 44px;
    border: none;
    border-radius: 999px;
    background: #1e3a5f;
    color: #fff;
    font-size: 0.98rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    cursor: pointer;
    font-family: inherit;
}
.xinglian-biz-submit:hover {
    background: #254a78;
}
.xinglian-biz-submit:disabled {
    opacity: 0.7;
    cursor: wait;
}
.xinglian-biz-extra-field {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    text-align: left;
}
.xinglian-biz-extra-field span {
    font-size: 0.8rem;
    font-weight: 600;
    color: #1e3a5f;
}
.xinglian-biz-extra-field input,
.xinglian-biz-extra-field select {
    width: 100%;
    height: 42px;
    border: 1px solid rgba(30, 58, 95, 0.14);
    border-radius: 10px;
    padding: 0 0.85rem;
    font-size: 0.92rem;
    color: #0f172a;
    background: #f8fafc;
    font-family: inherit;
    box-sizing: border-box;
}
.xinglian-biz-extra-field input:hover,
.xinglian-biz-extra-field select:hover,
.xinglian-biz-extra-field input:focus,
.xinglian-biz-extra-field select:focus {
    outline: none;
    border-color: #4a90e2;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.15);
}
.xinglian-biz-modal .xinglian-lead-status {
    position: static;
    margin-top: 1.15rem;
    min-height: 1.3em;
}
body.xinglian-biz-modal-open {
    overflow: hidden;
}

@media (max-width: 820px) {
    .xinglian-biz-modal-panel {
        padding: 1.35rem 1.15rem 1.5rem;
    }
}

@media (max-width: 820px) {
    .xinglian-contact-lead {
        padding: 1.6rem 0 2.1rem;
    }

    .xinglian-contact-lead-row {
        flex-direction: column;
        align-items: center;
        gap: 1.6rem;
    }

    .xinglian-lead-block {
        flex-direction: column;
        align-items: center;
        gap: 0.65rem;
        width: 100%;
    }

    .xinglian-lead-title {
        font-size: 1.25rem;
        margin-bottom: 1rem;
        letter-spacing: 0.18em;
    }

    .xinglian-lead-status {
        position: static;
        margin-top: 0.75rem;
    }

    .xinglian-lead-main,
    .xinglian-lead-form-wrap {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .xinglian-lead-form-wrap {
        padding: 0;
        box-sizing: border-box;
        max-width: 100%;
    }

    .xinglian-bicycles-lottie {
        width: min(320px, 88vw);
        height: min(180px, 50vw);
        margin: 0 auto;
    }
}

/* 竖屏或宽度不够：去掉 3D 倾斜，保持原长度并居中留白 */
@media (orientation: portrait), (max-width: 820px) {
    .xinglian-contact-lead {
        overflow: visible;
    }

    .xinglian-lead-form-wrap {
        padding: 0;
        max-width: 100%;
        box-sizing: border-box;
        justify-content: center;
    }

    .xinglian-stacked .stackedForm {
        --form-block-w: min(280px, calc(100vw - 2.5rem));
        transform: none;
    }

    .xinglian-stacked .stackedForm .wrapper {
        transform: none;
    }

    .xinglian-stacked .stackedForm .wrapper li::before,
    .xinglian-stacked .stackedForm button::before,
    .xinglian-stacked .stackedForm .wrapper li::after,
    .xinglian-stacked .stackedForm button::after {
        display: none;
    }

    .xinglian-stacked .stackedForm li .input,
    .xinglian-stacked .stackedForm button span {
        transform: none;
    }

    .xinglian-stacked .stackedForm .wrapper li,
    .xinglian-stacked .stackedForm button {
        transform-origin: center center;
    }

    .xinglian-stacked .stackedForm .wrapper li:hover,
    .xinglian-stacked .stackedForm button:hover,
    .xinglian-stacked .stackedForm .wrapper li:has(input:focus),
    .xinglian-stacked .stackedForm button:focus {
        transform: scale(1.05);
        z-index: 20;
    }

    .xinglian-stacked .stackedForm .wrapper li:active,
    .xinglian-stacked .stackedForm button:active {
        transform: scale(1.08);
        z-index: 20;
    }
}

/* —— 企业理念 —— */
.xinglian-philosophy {
    padding: 0.35rem 1.25rem 1.35rem;
    background:
        radial-gradient(ellipse 70% 55% at 18% 35%, rgba(74, 144, 226, 0.08), transparent 58%),
        radial-gradient(ellipse 55% 50% at 82% 65%, rgba(232, 162, 58, 0.06), transparent 55%),
        #f5f7fa;
    position: relative;
    z-index: 4;
    overflow-x: clip;
    overflow-y: visible;
}

#services.services-section {
    overflow: visible;
}

.xinglian-philosophy-inner {
    max-width: 1080px;
    margin: 0 auto;
}

.xinglian-philosophy-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    margin: 0 0 0.95rem;
    text-align: left;
    font-size: clamp(1.55rem, 3.2vw, 2.15rem);
    font-weight: 800;
    color: #0f172a;
    letter-spacing: 0.12em;
    line-height: 1.12;
}

.xinglian-philosophy-title-words {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.02em;
}

.xinglian-philosophy-title-mark {
    display: block;
    height: 2.55em;
    width: auto;
    max-width: min(280px, 52vw);
    object-fit: contain;
}

.xinglian-philosophy-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.1rem;
}

.xinglian-philosophy-card {
    margin: 0;
    padding: 2px;
    border: 0;
    border-radius: 12px;
    background-image: linear-gradient(to right, #86efac, #3b82f6, #9333ea);
    background-size: 100% 100%;
    box-shadow: 0 20px 25px -5px rgba(15, 23, 42, 0.12), 0 8px 10px -6px rgba(15, 23, 42, 0.08);
    transition: box-shadow 0.2s ease;
    text-align: left;
}

.xinglian-philosophy-card-inner {
    height: 100%;
    box-sizing: border-box;
    border-radius: 10px;
    background: #ffffff;
    padding: 1.35rem 1.25rem 1.15rem;
    display: flex;
    flex-direction: column;
}

.xinglian-philosophy-card h3 {
    margin: 0 0 0.65rem;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    color: #111827;
}

.xinglian-philosophy-card p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.7;
    color: #4b5563;
    flex: 1 1 auto;
}

.xinglian-philosophy-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 1rem;
}

.xinglian-philosophy-tags span {
    white-space: nowrap;
    border-radius: 999px;
    background: #f3e8ff;
    color: #7c3aed;
    font-size: 0.75rem;
    line-height: 1.4;
    padding: 0.125rem 0.625rem;
}

@keyframes xinglian-philosophy-border {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

@media (hover: hover) and (pointer: fine) {
    .xinglian-philosophy-card:hover {
        background-size: 400% 400%;
        animation: xinglian-philosophy-border 4s ease infinite;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
    }
}

@media (prefers-reduced-motion: reduce) {
    .xinglian-philosophy-card:hover {
        animation: none;
        background-size: 100% 100%;
    }
}

@media (max-width: 768px) {
    .xinglian-philosophy-grid {
        display: flex;
        flex-wrap: nowrap;
        gap: 0.7rem;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 0.35rem;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        padding: 0 0.15rem 0.4rem;
        scrollbar-width: none;
        touch-action: pan-x;
    }

    .xinglian-philosophy-grid::-webkit-scrollbar {
        display: none;
    }

    .xinglian-philosophy-card {
        flex: 0 0 82%;
        width: 82%;
        box-sizing: border-box;
        scroll-snap-align: center;
    }

    .xinglian-philosophy-card-inner {
        padding: 0.95rem 1rem 0.9rem;
    }

    .xinglian-philosophy-card h3 {
        margin-bottom: 0.35rem;
        font-size: 0.98rem;
    }

    .xinglian-philosophy-card p {
        font-size: 0.9rem;
        line-height: 1.5;
    }

    .xinglian-philosophy-tags {
        margin-top: 0.75rem;
    }
}

.xinglian-hover-cards {
    overflow-x: clip;
    overflow-y: visible;
    width: 100%;
    margin-top: 1.1rem;
    padding: 6px 0 36px;
}

.xinglian-hover-cards-track {
    display: flex;
    flex-wrap: nowrap;
    width: max-content;
    height: 120px;
    align-items: flex-start;
    animation: xinglian-hover-marquee 70s linear infinite;
}

.xinglian-hover-cards.has-open .xinglian-hover-cards-track {
    animation-play-state: paused;
}

@media (hover: hover) and (pointer: fine) {
    .xinglian-hover-cards:hover .xinglian-hover-cards-track,
    .xinglian-hover-cards:focus-within .xinglian-hover-cards-track {
        animation-play-state: paused;
    }
}

.xinglian-hover-cards-set {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    height: 120px;
    gap: 1.35rem;
    padding-right: 1.35rem;
}

.xinglian-hover-card {
    flex: 0 0 190px;
    width: 190px;
    height: 120px;
    position: relative;
    background: #fff8e1;
    transition: all .5s;
    box-shadow: 15px 15px 30px rgba(25, 25, 25, 0.11),
               -15px -15px 30px rgba(60, 60, 60, 0.082);
    text-align: center;
    overflow: hidden;
    cursor: pointer;
}

@keyframes xinglian-hover-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
    .xinglian-hover-cards-track {
        animation: none;
    }
}

.xinglian-hover-card.is-open {
    height: 260px;
    overflow: hidden;
    z-index: 20;
    background: linear-gradient(360deg, #edededc5 60%, hsla(0, 0%, 13%, 1) 70%);
    outline: none;
}

.xinglian-hover-card .header {
    position: relative;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    background: #212121;
    margin-bottom: 0;
    height: 120px;
    overflow: hidden;
}

.xinglian-hover-card .header .img-box {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.xinglian-hover-card .header .img-box img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(2);
    transform-origin: center center;
}

.xinglian-hover-card .header .title {
    position: relative;
    z-index: 1;
    width: 100%;
    box-sizing: border-box;
    font-size: 1em;
    letter-spacing: .1em;
    font-weight: 900;
    text-transform: uppercase;
    padding: 28px 8px 10px;
    transition: all .5s;
    color: #fff;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.55);
    background: linear-gradient(transparent, rgba(33, 33, 33, 0.88));
}

.xinglian-hover-card.is-open .header {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 96%);
    margin-bottom: 16px;
    height: 110px;
}

.xinglian-hover-card.is-open .header .title {
    padding: 20px 8px 8px;
}

.xinglian-hover-card .content {
    display: block;
    text-align: left;
    color: #212121;
    margin: 0 18px;
}

.xinglian-hover-card .content p {
    transition: all .5s;
    font-size: .8em;
    line-height: 1.55;
    margin-bottom: 8px;
}

.xinglian-hover-card .content a,
.xinglian-hover-card .content .btn-link {
    color: #1d8122;
    cursor: pointer;
    transition: all .5s;
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
}

.xinglian-hover-card .content .btn-link:hover {
    border-bottom: 1px solid #1d8122;
}

@media (hover: hover) and (pointer: fine) {
    .xinglian-hover-card:hover,
    .xinglian-hover-card:focus,
    .xinglian-hover-card:focus-within {
        height: 260px;
        overflow: hidden;
        z-index: 20;
        background: linear-gradient(360deg, #edededc5 60%, hsla(0, 0%, 13%, 1) 70%);
        outline: none;
    }

    .xinglian-hover-card:hover .header,
    .xinglian-hover-card:focus .header,
    .xinglian-hover-card:focus-within .header {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 96%);
        margin-bottom: 16px;
        height: 110px;
    }

    .xinglian-hover-card:hover .header .title,
    .xinglian-hover-card:focus .header .title,
    .xinglian-hover-card:focus-within .header .title {
        padding: 20px 8px 8px;
    }
}

@media (max-width: 768px) {
    .xinglian-hover-cards {
        margin-top: 0.85rem;
        padding: 4px 0 8px;
    }

    .xinglian-hover-cards-track {
        animation-duration: 55s;
    }

    .xinglian-hover-cards.has-open {
        padding-bottom: 172px;
    }

    .xinglian-hover-card .content {
        margin: 0 12px;
    }

    .xinglian-hover-card .content p {
        font-size: 0.82rem;
        line-height: 1.5;
        margin-bottom: 6px;
    }

    .xinglian-hover-card.is-open {
        height: 280px;
    }

    #xinglian-philosophy .xinglian-philosophy-inner {
        overflow: visible !important;
    }
}

/* —— 公司位置：高德地图（与联系我们同一区块） —— */
.xinglian-map {
    padding: 2.4rem 0 0.15rem;
    background: transparent;
    color: #1a2332;
}

.xinglian-map-title {
    margin: 0 0 0.45rem;
    text-align: center;
    font-size: 1.15rem;
    font-weight: 700;
    color: #1e3a5f;
}

.xinglian-map-frame {
    width: 100%;
    height: 450px;
    border-radius: 12px;
    overflow: hidden;
    background: #e8edf3;
}

.xinglian-map-frame .leaflet-container {
    width: 100%;
    height: 100%;
    font-family: inherit;
}

.xinglian-map-pin {
    background: none;
    border: 0;
}

.xinglian-map-pin span {
    display: block;
    position: relative;
    width: 22px;
    height: 22px;
    margin: 0 auto;
    border-radius: 50% 50% 50% 0;
    background: #e23d3d;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
    transform: rotate(-45deg);
}

.xinglian-map-pin span::after {
    content: "";
    position: absolute;
    top: 6px;
    left: 6px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
}

.xinglian-map-address {
    margin: 0.5rem 0 0;
    text-align: center;
    font-size: 0.9rem;
    line-height: 1.5;
    color: #4a5568;
}

.xinglian-map-link {
    margin: 0.15rem 0 0;
    text-align: center;
    font-size: 0.85rem;
}

.xinglian-map-link a {
    color: #1e6bb8;
    text-decoration: none;
}

.xinglian-map-link a:hover {
    text-decoration: underline;
}

@media (max-width: 768px) {
    #xinglian-contact-lead,
    #xinglian-map,
    #xinglian-philosophy {
        scroll-margin-top: 76px;
    }

    .xinglian-map {
        padding: 1.85rem 0 0.2rem;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .xinglian-map-title {
        font-size: 1.05rem;
        margin-bottom: 0.4rem;
    }

    .xinglian-map-frame {
        height: 260px;
        border-radius: 10px;
    }

    .xinglian-map-frame .leaflet-control-zoom {
        margin: 8px 0 0 8px;
        transform: scale(0.92);
        transform-origin: top left;
    }

    .xinglian-map-address,
    .xinglian-map-link {
        padding: 0 0.25rem;
        overflow-wrap: anywhere;
    }

    .xinglian-map-address {
        font-size: 0.82rem;
        line-height: 1.45;
    }
}

/* 创始人寄语：只包内容，背景跟着内容走，展开也不藏寄语 */
#founder-intro {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}
#founder-intro .founder-bg,
#founder-intro .founder-overlay {
    position: absolute !important;
    inset: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}
#founder-intro .founder-intro-container {
    display: block !important;
    width: 100% !important;
    max-width: 1200px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    padding: 1.5rem 1.25rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
#founder-intro .founder-intro-flex {
    margin-bottom: 1rem !important;
}
#founder-intro.founder-expanded .founder-intro-flex {
    margin-bottom: 0.5rem !important;
}
.founder-story-expand {
    display: block;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    transition: max-height 0.4s ease-in-out, opacity 0.3s ease-in-out, padding 0.3s ease, margin 0.3s ease;
}
.founder-story-expand.is-open {
    max-height: 600px;
    opacity: 1;
    padding-top: 15px;
    padding-bottom: 15px;
    margin-top: 15px;
}
.founder-story-expand-inner {
    min-height: 0;
    padding: 15px 20px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 8px;
}
.founder-story-expand .founder-story-text p {
    margin-bottom: 8px;
    line-height: 1.6;
    font-size: 14px;
}
