/* =====================================================================
   xinrui-extra.css — 内容迁移补充样式(新锐科创内容嵌入 forthink 主题)
   覆盖: 文字logo / 图文列表 / 通用单页 / 空提示 / 响应式适配
   ===================================================================== */

/* ---------- 文字logo(brand.logo 为空时页头显示公司名两行标识: 简称+后缀铺开) ---------- */
.header-pc .logo {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
}
.header-pc .logo .logo-text {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    line-height: 1.25;
    color: #fff;
}
.header-pc .logo .logo-text .logo-main {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 2px;
    white-space: nowrap;
}
.header-pc .logo .logo-text .logo-sub {
    font-size: 0.55rem;
    font-weight: 400;
    letter-spacing: 0.7em;
    margin-top: 0.1rem;
    margin-right: -0.7em; /* 抵消末字后字距, 保证视觉居中 */
    text-align: center;
    white-space: nowrap;
    opacity: 0.9;
}
header .on .logo .logo-text,
.header-pc.on .logo .logo-text {
    color: #0b1a33;
}
#mb-header #navbar-main #logo {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    justify-content: center;
    line-height: normal;
}
#mb-header #navbar-main #logo .logo-text-mb {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    line-height: 1.2;
    color: #0b1a33;
}
#mb-header #navbar-main #logo .logo-text-mb .logo-main {
    font-size: 1.1rem; /* 320px 小屏下 5 字仍保持在 #logo 30% 宽度内 */
    font-weight: 700;
    letter-spacing: 1px;
    white-space: nowrap;
}
#mb-header #navbar-main #logo .logo-text-mb .logo-sub {
    font-size: 0.5rem;
    font-weight: 400;
    letter-spacing: 0.6em;
    margin-top: 0.05rem;
    margin-right: -0.6em;
    text-align: center;
    white-space: nowrap;
    opacity: 0.85;
}

/* ---------- 轮播图文标题(叠加在背景图上, 柔和投影保证可读) ---------- */
section .banner #banner-container .swiper-slide .txt h3,
section .banner #banner-container .swiper-slide .txt .en {
    text-shadow: 0 2px 14px rgba(11, 26, 51, 0.55);
    letter-spacing: 2px;
}

/* ---------- 系统引擎板块卡片背景(AI生成图, 覆盖主题默认solution_*.png) ---------- */
section .solve .solve-container .box1 {
    background-image: url(/uploads/engine/engine-rhdw.jpg);
}
section .solve .solve-container .box2 {
    background-image: url(/uploads/engine/engine-sfyq.jpg);
}
section .solve .solve-container .box5 {
    background-image: url(/uploads/engine/engine-3d.jpg);
}
section .solve .solve-container .box4 {
    background-image: url(/uploads/engine/engine-xxpt.jpg);
}

/* ---------- 联系我们横幅背景(AI生成浅色底图, 覆盖主题默认contact_back.jpg) ---------- */
section .contact {
    background-image: url(/uploads/bg/contact-back.jpg);
}

/* ---------- 首页关于我们图 / 方案区块 ---------- */
.company .com-container .r .aboutImgBox {
    overflow: hidden;
    border-radius: 8px;
}
.company .com-container .r .aboutImgBox img {
    width: 100%;
    display: block;
    transition: all .3s ease;
}
.company .com-container .r .aboutImgBox:hover img {
    transform: scale(1.03);
}
.solution-sec {
    margin-top: 4rem;
}
.solution-sec .common_h {
    margin-bottom: 1rem;
}

/* ---------- 图文列表(产品中心/客户案例) ---------- */
.grid-list {
    margin-top: 3rem;
    display: flex;
    flex-wrap: wrap;
}
.grid-list .grid-item {
    display: block;
    width: 23.5%;
    margin: 0 2% 2.2rem 0;
    background: #fff;
    border: 1px solid #e8ecf2;
    border-radius: 6px;
    overflow: hidden;
    transition: all .3s ease;
}
.grid-list .grid-item:nth-child(4n) {
    margin-right: 0;
}
.grid-list .grid-item:hover {
    border-color: #1a6fe8;
    box-shadow: 0 8px 24px rgba(26, 111, 232, .14);
    transform: translateY(-4px);
}
.grid-list .grid-pic {
    height: 11rem;
    overflow: hidden;
    background: #f4f6f9;
}
.grid-list .grid-pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .3s ease;
}
.grid-list .grid-item:hover .grid-pic img {
    transform: scale(1.05);
}
.grid-list .grid-txt {
    padding: .9rem 1rem 1.1rem;
}
.grid-list .grid-txt h2 {
    font-size: .88rem;
    font-weight: 600;
    color: #0b1a33;
    line-height: 1.45;
    height: 2.55rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.grid-list .grid-txt p {
    margin: .45rem 0 .7rem;
    font-size: .72rem;
    color: #7b8794;
    line-height: 1.55;
    height: 3.4rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
.grid-list .grid-more {
    font-size: .72rem;
    color: #1a6fe8;
}
.grid-list .grid-item:hover .grid-more {
    opacity: .8;
}

/* ---------- 通用单页 ---------- */
.page-detail {
    margin-top: 3rem;
    margin-bottom: 4rem;
}
.page-detail .page-head {
    padding-bottom: 1.2rem;
    border-bottom: 1px solid #e8ecf2;
    margin-bottom: 2rem;
}
.page-detail .page-head h1 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #0b1a33;
}
.page-content {
    font-size: .92rem;
    line-height: 1.9;
    color: #435062;
    word-wrap: break-word;
}
.page-content img,
.article-content img {
    max-width: 100%;
    height: auto;
}
.page-content h2 {
    margin: 2rem 0 1rem;
    font-size: 1.2rem;
    font-weight: 700;
    color: #0b1a33;
}
.page-content h3 {
    margin: 1.6rem 0 .8rem;
    font-size: 1.05rem;
    font-weight: 600;
    color: #0b1a33;
}
.page-content p {
    margin-bottom: .9rem;
}
.page-content a {
    color: #1a6fe8;
    word-break: break-all;
}
.page-content ul,
.page-content ol {
    padding-left: 1.5rem;
    margin-bottom: 1rem;
}
.page-content ul li {
    list-style: disc;
    margin-bottom: .4rem;
}
.page-content ol li {
    list-style: decimal;
    margin-bottom: .4rem;
}
.page-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.2rem 0;
    font-size: .85rem;
}
.page-content table td,
.page-content table th {
    border: 1px solid #e8ecf2;
    padding: .55rem .7rem;
    text-align: left;
}

/* ---------- 文章正文(适配迁移内容) ---------- */
.container .l img {
    max-width: 100%;
    height: auto;
}
.container .l {
    font-size: .92rem;
    line-height: 1.9;
    color: #435062;
}
.container .l a {
    color: #1a6fe8;
    word-break: break-all;
}
.container .l p {
    margin-bottom: .9rem;
}

/* ---------- 移动端底部工具栏(<=768px) ---------- */
.mobile-toolbar {
    display: none;
}
@media only screen and (max-width: 768px) {
    body {
        padding-bottom: 50px;
        padding-bottom: calc(50px + constant(safe-area-inset-bottom));
        padding-bottom: calc(50px + env(safe-area-inset-bottom));
    }
    .mobile-toolbar {
        display: -webkit-flex;
        display: flex;
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 50px;
        background: #fff;
        border-top: 1px solid #e8ecf2;
        box-shadow: 0 -2px 10px rgba(11, 26, 51, .06);
        z-index: 9990;
    }
    .mobile-toolbar .mt-item {
        -webkit-flex: 1;
        flex: 1;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
        flex-direction: column;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
    }
    .mobile-toolbar .mt-item:active {
        background: #f4f6f9;
    }
    .mobile-toolbar .mt-icon {
        width: 20px;
        height: 20px;
        background: center / contain no-repeat;
        margin-bottom: 3px;
    }
    .mobile-toolbar .mt-txt {
        font-size: 11px;
        color: #435062;
        line-height: 1;
    }
    .mobile-toolbar .mt-item:active .mt-txt {
        color: #7797fd;
    }
    /* 图标: 内联SVG(默认灰, 按下主题蓝) */
    .mobile-toolbar .mt-home .mt-icon {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l9 8h-3v9h-4v-6h-4v6H6v-9H3z' fill='%23435062'/%3E%3C/svg%3E");
    }
    .mobile-toolbar .mt-home:active .mt-icon {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l9 8h-3v9h-4v-6h-4v6H6v-9H3z' fill='%237797fd'/%3E%3C/svg%3E");
    }
    .mobile-toolbar .mt-tel .mt-icon {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.2 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.3 0 .7-.2 1l-2.3 2.2z' fill='%23435062'/%3E%3C/svg%3E");
    }
    .mobile-toolbar .mt-tel:active .mt-icon {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.2 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.3 0 .7-.2 1l-2.3 2.2z' fill='%237797fd'/%3E%3C/svg%3E");
    }
    .mobile-toolbar .mt-product .mt-icon {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 2 7v10l10 5 10-5V7L12 2zm0 2.2L18.3 8 12 11.1 5.7 8 12 4.2zM5 9.8l6 3v6.4l-6-3V9.8zm8 9.4v-6.4l6-3v6.4l-6 3z' fill='%23435062'/%3E%3C/svg%3E");
    }
    .mobile-toolbar .mt-product:active .mt-icon {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 2 7v10l10 5 10-5V7L12 2zm0 2.2L18.3 8 12 11.1 5.7 8 12 4.2zM5 9.8l6 3v6.4l-6-3V9.8zm8 9.4v-6.4l6-3v6.4l-6 3z' fill='%237797fd'/%3E%3C/svg%3E");
    }
    .mobile-toolbar .mt-contact .mt-icon {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 2H4a2 2 0 0 0-2 2v18l4-4h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zM7 9h10v2H7V9zm0 4h7v2H7v-2z' fill='%23435062'/%3E%3C/svg%3E");
    }
    .mobile-toolbar .mt-contact:active .mt-icon {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 2H4a2 2 0 0 0-2 2v18l4-4h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zM7 9h10v2H7V9zm0 4h7v2H7v-2z' fill='%237797fd'/%3E%3C/svg%3E");
    }
}

/* ---------- 空提示 ---------- */
.empty-tip {
    width: 100%;
    padding: 4rem 0;
    text-align: center;
    color: #98a3b0;
    font-size: .95rem;
}

/* ---------- 移动端适配 ---------- */
@media screen and (max-width: 992px) {
    .grid-list .grid-item {
        width: 31.5%;
        margin-right: 3%;
    }
    .grid-list .grid-item:nth-child(4n) {
        margin-right: 3%;
    }
    .grid-list .grid-item:nth-child(3n) {
        margin-right: 0;
    }
}
@media screen and (max-width: 768px) {
    .header-pc .logo .logo-text .logo-main {
        font-size: 1.15rem;
        letter-spacing: 1px;
    }
    .grid-list .grid-item {
        width: 48.5%;
        margin-right: 3%;
    }
    .grid-list .grid-item:nth-child(3n),
    .grid-list .grid-item:nth-child(4n) {
        margin-right: 3%;
    }
    .grid-list .grid-item:nth-child(2n) {
        margin-right: 0;
    }
    .grid-list .grid-pic {
        height: 8.5rem;
    }
    .page-detail .page-head h1 {
        font-size: 1.2rem;
    }
    .page-content {
        font-size: .88rem;
    }
}
@media screen and (max-width: 480px) {
    .grid-list .grid-item {
        width: 100%;
        margin-right: 0;
    }
    .grid-list .grid-item:nth-child(2n),
    .grid-list .grid-item:nth-child(3n),
    .grid-list .grid-item:nth-child(4n) {
        margin-right: 0;
    }
}

/* =====================================================================
   页脚(重设计) — 品牌带+导航矩阵+二维码/联系 同行布局
   ===================================================================== */
footer {
    position: relative;
    background: linear-gradient(180deg, #10214a 0%, #0b1a33 100%);
}
footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #4b75fd 0%, #1bf7ff 100%);
}
.ft-main,
.ft-bar {
    max-width: 63.64rem;
    margin: 0 auto;
}
.ft-main {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1.5rem 2rem;
    padding: 3rem 0 2.3rem;
}
.ft-brand {
    flex: 0 0 12.5rem;
}
.ft-brand .ft-company {
    font-size: 1.05rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: 1px;
    line-height: 1.5;
}
.ft-brand .ft-slogan {
    margin-top: 0.9rem;
    padding-left: 0.6rem;
    border-left: 3px solid #1bf7ff;
    font-size: 0.68rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.55);
}
.ft-nav {
    display: -webkit-flex;
    display: flex;
    flex: 1;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.2rem 2.5rem;
}
.ft-col h3 {
    font-size: 0.8rem;
    font-weight: 600;
    color: #fff;
    letter-spacing: 1px;
    margin-bottom: 1.1rem;
}
.ft-col h3::after {
    content: '';
    display: block;
    width: 1.6rem;
    height: 2px;
    margin-top: 0.5rem;
    background: linear-gradient(90deg, #4b75fd, #1bf7ff);
}
.ft-col ul li {
    margin-bottom: 0.6rem;
}
.ft-col ul a {
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.68rem;
    transition: color 0.25s, padding-left 0.25s;
}
.ft-col ul a:hover {
    color: #1bf7ff;
    padding-left: 4px;
}
.ft-contact {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    flex: 0 0 auto;
    gap: 1.1rem;
}
.ft-contact .ft-qrcode {
    background: #fff;
    padding: 0.3rem;
    border-radius: 0.25rem;
    text-align: center;
}
.ft-contact .ft-qrcode img {
    display: block;
    width: 5rem;
    height: 5rem;
    object-fit: contain;
}
.ft-contact .ft-qrcode span {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.55rem;
    color: #0b1a33;
}
.ft-contact .ft-info p {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    margin-bottom: 0.55rem;
    font-size: 0.68rem;
    color: rgba(255, 255, 255, 0.72);
}
.ft-contact .ft-info p i {
    margin-right: 0.5rem;
    color: #1bf7ff;
    font-size: 0.8rem;
}
.ft-contact .ft-info .ft-phone {
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
}
.ft-contact .ft-info .ft-addr {
    max-width: 11rem;
    line-height: 1.5;
}
.ft-contact .ft-info a {
    color: inherit;
}
.ft-bar {
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    padding: 1.2rem 0 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.64rem;
    color: rgba(255, 255, 255, 0.45);
}
.ft-bar a {
    color: rgba(255, 255, 255, 0.45);
}
@media screen and (max-width: 1280px) {
    .ft-main {
        justify-content: center;
    }
    .ft-brand {
        flex-basis: 100%;
    }
    .ft-brand .ft-slogan {
        display: inline-block;
    }
}
@media screen and (max-width: 768px) {
    .ft-main {
        flex-direction: column;
        -webkit-align-items: center;
        align-items: center;
        padding: 2.2rem 0 1.8rem;
    }
    .ft-brand {
        flex-basis: auto;
        text-align: center;
    }
    .ft-brand .ft-slogan {
        border-left: 0;
        padding-left: 0;
    }
    .ft-nav {
        width: 100%;
        justify-content: space-around;
        gap: 1.2rem 1rem;
    }
    .ft-col {
        flex: 0 0 40%;
    }
    .ft-contact {
        justify-content: center;
    }
    .ft-bar {
        flex-direction: column;
        justify-content: center;
        text-align: center;
    }
}

/* =====================================================================
   动效增强 — 轮播文字/引擎卡片/图片悬停/CTA光晕/页脚微交互
   ===================================================================== */
html {
    scroll-behavior: smooth;
}

/* 轮播标题随切换逐字入场(swap 时 swiper 重加 active 类自动重放) */
@keyframes bannerTxtUp {
    from { opacity: 0; transform: translateY(26px); }
    to { opacity: 1; transform: none; }
}
section .banner #banner-container .swiper-slide-active .txt h3 {
    animation: bannerTxtUp 0.7s ease both;
}
section .banner #banner-container .swiper-slide-active .txt .en {
    animation: bannerTxtUp 0.7s ease 0.18s both;
}

/* 系统引擎卡片: 悬浮抬升+光晕, 默认态图标轻浮动 */
section .solve .solve-container .box {
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}
section .solve .solve-container .box:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 30px rgba(75, 117, 253, 0.35);
}
@keyframes iconFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}
section .solve .solve-container .box .txt i {
    animation: iconFloat 3s ease-in-out infinite;
}

/* 图文卡片: 图片悬停缓放 */
.grid-list .grid-item .grid-pic img,
.case .case-container .case-pic,
section .news .swiper-slide img {
    transition: transform 0.45s ease;
}
.grid-list .grid-item:hover .grid-pic img,
.case .case-container .swiper-slide:hover .case-pic,
section .news .swiper-slide:hover img {
    transform: scale(1.06);
}

/* 联系我们按钮: 呼吸光晕 */
@keyframes glowPulse {
    0%, 100% { box-shadow: 0 0 0 rgba(75, 117, 253, 0); }
    50% { box-shadow: 0 0 18px rgba(75, 117, 253, 0.55); }
}
section .contact .txt a {
    animation: glowPulse 2.6s ease-in-out infinite;
}

/* 通用"了解更多/更多"按钮: 悬停抬升 */
a.more,
.more-btn {
    transition: transform 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}
a.more:hover {
    transform: translateY(-2px);
}

/* 页脚: 组标题下划线悬停生长, 链接已有点击微移 */
.ft-col h3::after {
    transition: width 0.35s ease;
}
.ft-col:hover h3::after {
    width: 100%;
}

/* 右下工具栏按钮: 悬停抬升+投影 */
footer .footer-slide ul li {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
footer .footer-slide ul li:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 14px rgba(11, 26, 51, 0.28);
}

/* 尊重系统"减少动态效果"偏好 */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
    }
    html {
        scroll-behavior: auto;
    }
}

/* ---------- 核心优势板块背景(AI生成图, cover铺满修复超宽屏两侧露白) ---------- */
section .tech {
    background-image: url(/uploads/bg/tech-back.jpg);
    background-size: cover;
    background-position: center top;
}

/* =====================================================================
   核心优势卡片(重设计) — 玻璃拟态卡: 图标芯片+幽灵序号+渐变描线
   ===================================================================== */
section .tech {
    padding-bottom: 4.5rem;
}
section .tech .adv-grid {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 1.6rem;
}
section .tech .adv-item {
    position: relative;
    -webkit-flex: 1 1 0;
    flex: 1 1 0;
    min-width: 0;
    padding: 1.8rem 1.4rem 1.6rem;
    border-radius: 0.7rem;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.14);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    overflow: hidden;
    transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
section .tech .adv-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #4b75fd 0%, #1bf7ff 100%);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
}
section .tech .adv-item:hover {
    transform: translateY(-6px);
    border-color: rgba(27, 247, 255, 0.45);
    box-shadow: 0 14px 32px rgba(11, 26, 51, 0.45);
}
section .tech .adv-item:hover::before {
    transform: scaleX(1);
}
section .tech .adv-item .adv-num {
    position: absolute;
    top: 1.05rem;
    right: 1.2rem;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 1px;
    color: rgba(255, 255, 255, 0.10);
    line-height: 1;
}
section .tech .adv-item .adv-icon {
    width: 3.4rem;
    height: 3.4rem;
    border-radius: 0.55rem;
    background: rgba(255, 255, 255, 0.92);
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(11, 26, 51, 0.25);
}
section .tech .adv-item .adv-icon img {
    width: 62%;
    height: 62%;
    object-fit: contain;
}
section .tech .adv-item h3 {
    margin-top: 1.2rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: #fff;
    letter-spacing: 1px;
}
section .tech .adv-item p {
    margin-top: 0.9rem;
    font-size: 0.68rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.72);
    text-align: justify;
}
section .tech .adv-item .adv-link {
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-align-items: center;
    align-items: center;
    margin-top: 1.3rem;
    font-size: 0.68rem;
    color: #1bf7ff;
    transition: color 0.25s;
}
section .tech .adv-item .adv-link i {
    margin-left: 0.35rem;
    font-size: 0.7rem;
    transition: transform 0.25s;
}
section .tech .adv-item .adv-link:hover {
    color: #fff;
}
section .tech .adv-item .adv-link:hover i {
    transform: translateX(4px);
}
@media screen and (max-width: 992px) {
    section .tech .adv-item {
        -webkit-flex: 0 0 48%;
        flex: 0 0 48%;
    }
}
@media screen and (max-width: 768px) {
    section .tech .adv-item {
        -webkit-flex: 0 0 100%;
        flex: 0 0 100%;
    }
    section .tech .adv-item p {
        text-align: left;
    }
}

/* =====================================================================
   系统引擎单页重设计(xtyq) — 概述卡/对比表/技术路线卡/方案链接
   ===================================================================== */
.xtyq-sec {
    margin-top: 2.8rem;
}
.xtyq-h2 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #0b1a33;
    letter-spacing: 1px;
    padding-left: 0.7rem;
    border-left: 4px solid #4b75fd;
}
.xtyq-intro {
    margin-top: 1.2rem;
    background: #f4f6f9;
    border-radius: 0.5rem;
    padding: 1.2rem 1.4rem;
    font-size: 0.72rem;
    line-height: 1.85;
    color: #435062;
    text-align: justify;
}
.xtyq-tags {
    margin-top: 0.9rem;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.xtyq-tags span {
    padding: 0.22rem 0.75rem;
    border-radius: 1rem;
    background: rgba(75, 117, 253, 0.08);
    border: 1px solid rgba(75, 117, 253, 0.25);
    color: #4b75fd;
    font-size: 0.62rem;
}
.xtyq-table-wrap {
    margin-top: 1.2rem;
    overflow-x: auto;
    border-radius: 0.5rem;
    box-shadow: 0 4px 14px rgba(11, 26, 51, 0.06);
    -webkit-overflow-scrolling: touch;
}
.xtyq-table {
    width: 100%;
    min-width: 40rem;
    border-collapse: collapse;
    background: #fff;
    font-size: 0.66rem;
}
.xtyq-table th,
.xtyq-table td {
    padding: 0.8rem 0.9rem;
    border: 1px solid #e8ecf2;
    line-height: 1.65;
    vertical-align: top;
    text-align: left;
}
.xtyq-table thead th {
    background: #0b1a33;
    color: #fff;
    font-weight: 600;
    font-size: 0.7rem;
    white-space: nowrap;
}
.xtyq-table thead th.ours {
    background: #4b75fd;
}
.xtyq-table .dim {
    background: #f4f6f9;
    color: #0b1a33;
    font-weight: 600;
    white-space: nowrap;
}
.xtyq-table td.ours {
    background: rgba(75, 117, 253, 0.07);
    color: #16307a;
    font-weight: 500;
}
.xtyq-routes {
    margin-top: 1.4rem;
    display: -webkit-flex;
    display: flex;
    gap: 1.4rem;
}
.xtyq-route {
    -webkit-flex: 1 1 0;
    flex: 1 1 0;
    min-width: 0;
    background: #fff;
    border: 1px solid #e8ecf2;
    border-radius: 0.6rem;
    padding: 1.3rem 1.2rem 1.5rem;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.xtyq-route:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(11, 26, 51, 0.1);
    border-color: rgba(75, 117, 253, 0.35);
}
.xtyq-route .route-pic img {
    width: 100%;
    display: block;
    border-radius: 0.4rem;
}
.xtyq-route h3 {
    margin-top: 1.05rem;
    font-size: 0.88rem;
    font-weight: 700;
    color: #0b1a33;
    letter-spacing: 0.5px;
}
.xtyq-route .route-sub {
    display: inline-block;
    margin-top: 0.9rem;
    padding: 0.15rem 0.55rem;
    border-radius: 0.2rem;
    background: rgba(75, 117, 253, 0.08);
    color: #4b75fd;
    font-size: 0.62rem;
    font-weight: 600;
}
.xtyq-route p {
    margin-top: 0.6rem;
    font-size: 0.66rem;
    line-height: 1.7;
    color: #435062;
    text-align: justify;
}
.xtyq-route .route-features {
    margin-top: 0.6rem;
}
.xtyq-route .route-features li {
    position: relative;
    padding-left: 1rem;
    margin-bottom: 0.4rem;
    font-size: 0.66rem;
    line-height: 1.6;
    color: #435062;
}
.xtyq-route .route-features li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.42em;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #4b75fd, #1bf7ff);
}
.xtyq-solutions {
    margin-top: 1.4rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.9rem;
}
.xtyq-solutions .sol-item {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    padding: 0.95rem 1.1rem;
    background: #fff;
    border: 1px solid #e8ecf2;
    border-radius: 0.5rem;
    font-size: 0.7rem;
    color: #0b1a33;
    transition: border-color 0.3s, color 0.3s, box-shadow 0.3s;
}
.xtyq-solutions .sol-item i {
    margin-left: 0.8rem;
    color: #4b75fd;
    transition: transform 0.25s;
}
.xtyq-solutions .sol-item:hover {
    border-color: #4b75fd;
    color: #4b75fd;
    box-shadow: 0 6px 16px rgba(75, 117, 253, 0.15);
}
.xtyq-solutions .sol-item:hover i {
    transform: translateX(4px);
}
@media screen and (max-width: 992px) {
    .xtyq-routes {
        flex-wrap: wrap;
    }
    .xtyq-route {
        -webkit-flex: 0 0 100%;
        flex: 0 0 100%;
    }
}
@media screen and (max-width: 768px) {
    .xtyq-sec {
        margin-top: 2rem;
    }
    .xtyq-h2 {
        font-size: 1rem;
    }
    .xtyq-solutions {
        grid-template-columns: 1fr;
    }
}

/* =====================================================================
   引擎子页共享组件(sfyq/3d/xxpt) — 与xtyq同一设计语言
   ===================================================================== */
.eng-cards {
    margin-top: 1.4rem;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 1.1rem;
}
.eng-card {
    -webkit-flex: 1 1 0;
    flex: 1 1 0;
    min-width: 0;
    background: #fff;
    border: 1px solid #e8ecf2;
    border-radius: 0.6rem;
    padding: 1.15rem 1.1rem;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.eng-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(11, 26, 51, 0.1);
    border-color: rgba(75, 117, 253, 0.35);
}
.eng-feat {
    display: -webkit-flex;
    display: flex;
    gap: 0.85rem;
}
.eng-feat .fn {
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 0.4rem;
    background: linear-gradient(135deg, #4b75fd, #1bf7ff);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}
.eng-feat .ft {
    font-size: 0.68rem;
    line-height: 1.65;
    color: #435062;
    padding-top: 0.12rem;
}
.eng-figure {
    margin-top: 1.3rem;
    background: #fff;
    border: 1px solid #e8ecf2;
    border-radius: 0.6rem;
    padding: 0.8rem;
}
.eng-figure img {
    width: 100%;
    display: block;
    border-radius: 0.4rem;
}
.eng-split {
    margin-top: 1.4rem;
    display: -webkit-flex;
    display: flex;
    gap: 1.4rem;
    -webkit-align-items: flex-start;
    align-items: flex-start;
}
.eng-split .col-img {
    -webkit-flex: 0 0 42%;
    flex: 0 0 42%;
    min-width: 0;
}
.eng-split .col-img img {
    width: 100%;
    display: block;
    border-radius: 0.6rem;
    border: 1px solid #e8ecf2;
}
.eng-split .col-txt {
    -webkit-flex: 1;
    flex: 1;
    min-width: 0;
}
.eng-icon-card {
    text-align: center;
}
.eng-icon-card .ic {
    width: 3.2rem;
    height: 3.2rem;
    margin: 0 auto;
}
.eng-icon-card .ic img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.eng-icon-card h4 {
    margin-top: 0.7rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: #0b1a33;
}
.eng-icon-card p {
    margin-top: 0.5rem;
    font-size: 0.64rem;
    line-height: 1.6;
    color: #435062;
}
.eng-img-card {
    position: relative;
    border-radius: 0.6rem;
    overflow: hidden;
}
.eng-img-card img {
    width: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.45s ease;
}
.eng-img-card:hover img {
    transform: scale(1.06);
}
.eng-img-card .lab {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1.4rem 0.8rem 0.75rem;
    background: linear-gradient(transparent, rgba(11, 26, 51, 0.88));
    color: #fff;
}
.eng-img-card .lab b {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
}
.eng-img-card .lab i {
    font-style: normal;
    font-size: 0.56rem;
    opacity: 0.72;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.eng-shot {
    -webkit-flex: 0 0 48%;
    flex: 0 0 48%;
}
.eng-shot img {
    width: 100%;
    display: block;
    border-radius: 0.5rem;
    border: 1px solid #e8ecf2;
    transition: transform 0.45s ease;
}
.eng-shot:hover img {
    transform: scale(1.03);
}
.eng-sys {
    margin-top: 1.2rem;
    background: #fff;
    border: 1px solid #e8ecf2;
    border-radius: 0.6rem;
    padding: 1.25rem 1.3rem;
}
.eng-sys .sys-head {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    gap: 0.7rem;
}
.eng-sys .sys-num {
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #4b75fd, #1bf7ff);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}
.eng-sys h3 {
    font-size: 0.85rem;
    font-weight: 700;
    color: #0b1a33;
}
.eng-sys p {
    margin-top: 0.8rem;
    font-size: 0.68rem;
    line-height: 1.75;
    color: #435062;
    text-align: justify;
}
.eng-sys .chips {
    margin-top: 0.9rem;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}
.eng-sys .chips span {
    padding: 0.2rem 0.65rem;
    border-radius: 1rem;
    background: rgba(75, 117, 253, 0.08);
    border: 1px solid rgba(75, 117, 253, 0.22);
    color: #4b75fd;
    font-size: 0.6rem;
}
.eng-points {
    margin-top: 0.4rem;
}
.eng-points li {
    position: relative;
    padding-left: 1rem;
    margin-bottom: 0.55rem;
    font-size: 0.68rem;
    line-height: 1.65;
    color: #435062;
}
.eng-points li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.42em;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #4b75fd, #1bf7ff);
}
@media screen and (max-width: 992px) {
    .eng-split {
        flex-wrap: wrap;
    }
    .eng-split .col-img {
        -webkit-flex: 0 0 100%;
        flex: 0 0 100%;
    }
    .eng-card,
    .eng-shot {
        -webkit-flex: 0 0 48%;
        flex: 0 0 48%;
    }
}
@media screen and (max-width: 560px) {
    .eng-card,
    .eng-shot {
        -webkit-flex: 0 0 100%;
        flex: 0 0 100%;
    }
}

/* ---------- 应用领域卡片(3d页重设计) — 图上文下规整卡 ---------- */
.eng-cards .app-card {
    background: #fff;
    border: 1px solid #e8ecf2;
    border-radius: 0.6rem;
    overflow: hidden;
    text-align: center;
}
.eng-cards .app-card .pic {
    overflow: hidden;
}
.eng-cards .app-card .pic img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease;
}
.eng-cards .app-card:hover .pic img {
    transform: scale(1.06);
}
.eng-cards .app-card .cap {
    padding: 0.95rem 0.8rem 1.05rem;
    border-top: 2px solid transparent;
    transition: border-color 0.3s ease;
}
.eng-cards .app-card:hover .cap {
    border-top-color: #4b75fd;
}
.eng-cards .app-card .cap b {
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    color: #0b1a33;
    letter-spacing: 1px;
}
.eng-cards .app-card .cap i {
    display: inline-block;
    margin-top: 0.4rem;
    font-style: normal;
    font-size: 0.56rem;
    color: #98a3b0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* 应用领域两列栅格(3d页) — 每行两张图 */
.eng-cards.app-cards-2 .app-card {
    -webkit-flex: 0 0 calc(50% - 0.6rem);
    flex: 0 0 calc(50% - 0.6rem);
}
@media screen and (max-width: 560px) {
    .eng-cards.app-cards-2 .app-card {
        -webkit-flex: 0 0 100%;
        flex: 0 0 100%;
    }
}

/* ---------- 功能拓展模块卡(rhdw页) — 图上文下带要点列表 ---------- */
.eng-cards .eng-mod {
    padding: 0;
    overflow: hidden;
    text-align: left;
}
.eng-cards .eng-mod .pic {
    overflow: hidden;
}
.eng-cards .eng-mod .pic img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease;
}
.eng-cards .eng-mod:hover .pic img {
    transform: scale(1.06);
}
.eng-cards .eng-mod .bd {
    padding: 0.95rem 1rem 1.1rem;
    border-top: 2px solid transparent;
    transition: border-color 0.3s ease;
}
.eng-cards .eng-mod:hover .bd {
    border-top-color: #4b75fd;
}
.eng-cards .eng-mod .bd h4 {
    font-size: 0.8rem;
    font-weight: 700;
    color: #0b1a33;
    letter-spacing: 1px;
}
.eng-cards .eng-mod .bd .eng-points {
    margin-top: 0.55rem;
}

/* =====================================================================
   方案导航页(fangan) — 分组卡片栅格
   ===================================================================== */
.fa-grid {
    margin-top: 1.4rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.2rem;
}
.fa-card {
    display: block;
    background: #fff;
    border: 1px solid #e8ecf2;
    border-radius: 0.6rem;
    overflow: hidden;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.fa-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(11, 26, 51, 0.1);
    border-color: rgba(75, 117, 253, 0.35);
}
.fa-card .pic {
    overflow: hidden;
    position: relative;
}
/* 方案导航卡片分组标签(分页改版后保留分类信息) */
.fa-card .pic .fa-tag {
    position: absolute;
    top: 0.6rem;
    left: 0.6rem;
    z-index: 1;
    padding: 0.16rem 0.58rem;
    font-size: 0.58rem;
    line-height: 1.5;
    color: #fff;
    background: rgba(75, 117, 253, 0.92);
    border-radius: 999px;
}
.fa-card .pic img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease;
}
.fa-card:hover .pic img {
    transform: scale(1.06);
}
.fa-card .cap {
    padding: 0.95rem 1.05rem 1.1rem;
}
.fa-card .cap h3 {
    font-size: 0.78rem;
    font-weight: 700;
    color: #0b1a33;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.fa-card .cap p {
    margin-top: 0.55rem;
    font-size: 0.64rem;
    line-height: 1.65;
    color: #435062;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    min-height: 2.1rem;
}
.fa-card .fa-more {
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-align-items: center;
    align-items: center;
    margin-top: 0.75rem;
    font-size: 0.64rem;
    color: #4b75fd;
    transition: color 0.25s;
}
.fa-card .fa-more i {
    margin-left: 0.3rem;
    font-size: 0.66rem;
    transition: transform 0.25s;
}
.fa-card:hover .fa-more {
    color: #1bf7ff;
}
.fa-card:hover .fa-more i {
    transform: translateX(4px);
}
@media screen and (max-width: 992px) {
    .fa-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 640px) {
    .fa-grid {
        grid-template-columns: 1fr;
    }
}

/* =====================================================================
   迁移内容通用排版 — 所有走通用detail模板的单页(场景页/关于/运营等)
   裸div结构统一: 小节标题/图片/列表/表格/链接 站内设计语言
   ===================================================================== */
.page-detail .page-content {
    font-size: 0.72rem;
    line-height: 1.9;
    color: #435062;
    word-break: break-word;
}
.page-detail .page-content h2 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #0b1a33;
    letter-spacing: 1px;
    padding-left: 0.7rem;
    border-left: 4px solid #4b75fd;
    margin: 2.6rem 0 1.3rem;
    line-height: 1.5;
}
.page-detail .page-content h2:first-child {
    margin-top: 0.2rem;
}
.page-detail .page-content h3 {
    font-size: 0.85rem;
    font-weight: 700;
    color: #0b1a33;
    margin: 1.6rem 0 0.9rem;
}
.page-detail .page-content img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1.1rem auto;
    border-radius: 0.5rem;
    border: 1px solid #e8ecf2;
    box-sizing: border-box;
}
.page-detail .page-content ul,
.page-detail .page-content ol {
    margin: 1rem 0;
    padding-left: 1.3rem;
}
.page-detail .page-content ul li,
.page-detail .page-content ol li {
    margin-bottom: 0.5rem;
}
.page-detail .page-content ul li::marker {
    color: #4b75fd;
}
.page-detail .page-content a {
    color: #4b75fd;
    transition: color 0.25s;
}
.page-detail .page-content a:hover {
    color: #1bf7ff;
}
.page-detail .page-content strong,
.page-detail .page-content b {
    color: #0b1a33;
}
.page-detail .page-content table {
    width: 100%;
    min-width: 32rem;
    border-collapse: collapse;
    margin: 1.3rem 0;
    font-size: 0.66rem;
    display: block;
    overflow-x: auto;
    background: #fff;
    border: 1px solid #e8ecf2;
    border-radius: 0.5rem;
}
.page-detail .page-content th,
.page-detail .page-content td {
    padding: 0.75rem 0.85rem;
    border: 1px solid #e8ecf2;
    line-height: 1.65;
    text-align: left;
    vertical-align: top;
}
.page-detail .page-content thead th,
.page-detail .page-content tr:first-child td {
    background: #0b1a33;
    color: #fff;
    font-weight: 600;
    white-space: nowrap;
}
.page-detail .page-content tbody tr:nth-child(even) {
    background: #f8fafc;
}

/* ---------- 迁移内容结构增强: "图+文字"条目块 → 横向卡片行 ---------- */
.page-detail .page-content div:has(> div:first-child > img:only-child):has(> div:nth-child(2)):not(:has(> div:nth-child(2) > img)),
.page-detail .page-content a:has(> div:first-child > img:only-child):has(> div:nth-child(2)):not(:has(> div:nth-child(2) > img)) {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    gap: 1rem;
    padding: 0.95rem 1.05rem;
    background: #fff;
    border: 1px solid #e8ecf2;
    border-radius: 0.5rem;
    margin: 0 0 0.8rem;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.page-detail .page-content div:has(> div:first-child > img:only-child):hover,
.page-detail .page-content a:has(> div:first-child > img:only-child):hover {
    border-color: rgba(75, 117, 253, 0.35);
    box-shadow: 0 8px 20px rgba(11, 26, 51, 0.08);
}
.page-detail .page-content div:has(> div:first-child > img:only-child) > div:first-child,
.page-detail .page-content a:has(> div:first-child > img:only-child) > div:first-child {
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
    max-width: 42%;
}
.page-detail .page-content div:has(> div:first-child > img:only-child) > div:first-child img,
.page-detail .page-content a:has(> div:first-child > img:only-child) > div:first-child img {
    margin: 0;
    width: auto;
    max-width: 100%;
}
.page-detail .page-content a:has(> div:first-child > img:only-child) {
    color: inherit;
}
.page-detail .page-content a:has(> div:first-child > img:only-child):hover {
    color: inherit;
}
@media screen and (max-width: 768px) {
    .page-detail .page-content div:has(> div:first-child > img:only-child),
    .page-detail .page-content a:has(> div:first-child > img:only-child) {
        flex-direction: column;
        -webkit-align-items: center;
        align-items: center;
        text-align: left;
    }
    .page-detail .page-content div:has(> div:first-child > img:only-child) > div:first-child,
    .page-detail .page-content a:has(> div:first-child > img:only-child) > div:first-child {
        max-width: 100%;
    }
}

/* ---------- 图标+标题+描述 卡片(zhgd等场景页) ---------- */
.eng-ic {
    display: -webkit-flex;
    display: flex;
    gap: 0.9rem;
    -webkit-align-items: flex-start;
    align-items: flex-start;
}
.eng-ic .ic {
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 3rem;
}
.eng-ic .ic img {
    width: 100%;
    display: block;
    border-radius: 0.4rem;
}
.eng-ic .tx {
    -webkit-flex: 1;
    flex: 1;
    min-width: 0;
}
.eng-ic .tx h4 {
    font-size: 0.76rem;
    font-weight: 700;
    color: #0b1a33;
}
.eng-ic .tx p {
    margin-top: 0.4rem;
    font-size: 0.64rem;
    line-height: 1.7;
    color: #435062;
    text-align: justify;
}
.eng-feat .ft b {
    color: #0b1a33;
    margin-right: 0.4rem;
}


/* ---------- 文章详情封面图(正文无内嵌图时展示, 如新建公司新闻) ---------- */
.container .l .art-cover {
    margin: 1.2rem 0 0.2rem;
}
.container .l .art-cover img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 0.45rem;
    border: 1px solid #e8ecf2;
}
@media screen and (max-width: 768px) {
    .container .l .art-cover {
        margin: 0.9rem 0 0.1rem;
    }
}

/* =====================================================================
   关于我们页(about) — 发展历程时间轴 / 数据卡 / 联系卡
   ===================================================================== */
.about-timeline {
    position: relative;
    margin-top: 1.6rem;
}
.about-timeline::before {
    content: '';
    position: absolute;
    left: 2.3rem;
    top: 0.7rem;
    bottom: 0.7rem;
    width: 1px;
    background: #dbe4f5;
}
.about-timeline .tl-item {
    position: relative;
    display: flex;
    gap: 1.5rem;
    padding-bottom: 1.2rem;
}
.about-timeline .tl-item:last-child {
    padding-bottom: 0;
}
.about-timeline .tl-year {
    flex: none;
    width: 4.6rem;
    height: 1.9rem;
    line-height: 1.9rem;
    text-align: center;
    font-size: 0.78rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #3d63e8, #6f96ff);
    border-radius: 999px;
    box-shadow: 0 0.35rem 0.8rem rgba(73, 116, 253, 0.3);
    z-index: 1;
}
.about-timeline .tl-body {
    flex: 1;
    min-width: 0;
    background: #fff;
    border: 1px solid #e8ecf2;
    border-radius: 0.6rem;
    padding: 0.85rem 1.1rem;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.about-timeline .tl-body:hover {
    transform: translateX(0.3rem);
    border-color: rgba(75, 117, 253, 0.4);
    box-shadow: 0 0.6rem 1.4rem rgba(11, 26, 51, 0.07);
}
.about-timeline .tl-body p {
    margin: 0;
    font-size: 0.72rem;
    line-height: 1.8;
    color: #555e6d;
}

/* 数据卡 */
.about-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.1rem;
    margin-top: 1.4rem;
}
.about-stats .st-card {
    text-align: center;
    padding: 1.4rem 1rem 1.3rem;
    background: linear-gradient(180deg, #f3f7ff, #ffffff);
    border: 1px solid #e3eaf8;
    border-radius: 0.7rem;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.about-stats .st-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 0.8rem 1.6rem rgba(73, 116, 253, 0.14);
}
.about-stats .st-card b {
    display: block;
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.2;
    color: #3d63e8;
    background: linear-gradient(135deg, #3d63e8 0%, #1e9bff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.about-stats .st-card b i {
    font-style: normal;
    font-size: 1.1rem;
}
/* 标签样式仅作用于直接子级 span, 避免误伤数字 span.numCX */
.about-stats .st-card > span {
    display: block;
    margin-top: 0.4rem;
    font-size: 0.7rem;
    color: #7a8394;
}
/* 数字 span 保持内联, 承接 b 的字号/字重, 保证"+"号在数字右侧同一行 */
.about-stats .st-card b .numCX {
    display: inline;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

/* 联系卡 */
.about-contact {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.1rem;
    margin-top: 1.4rem;
}
.about-contact .ct-card {
    display: block;
    background: #fff;
    border: 1px solid #e8ecf2;
    border-radius: 0.7rem;
    padding: 1.35rem 1.3rem 1.3rem;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.about-contact .ct-card:hover {
    transform: translateY(-4px);
    border-color: rgba(75, 117, 253, 0.4);
    box-shadow: 0 0.8rem 1.6rem rgba(11, 26, 51, 0.08);
}
.about-contact .ct-card .lab {
    display: inline-block;
    padding: 0.16rem 0.6rem;
    font-size: 0.6rem;
    color: #3d63e8;
    background: rgba(73, 116, 253, 0.08);
    border-radius: 999px;
}
.about-contact .ct-card b {
    display: block;
    margin-top: 0.7rem;
    font-size: 0.85rem;
    font-weight: 700;
    color: #16203a;
    line-height: 1.55;
}
.about-contact .ct-card.ct-tel b {
    font-size: 1.05rem;
    color: #3d63e8;
}
.about-contact .ct-card.ct-tel b i {
    margin-right: 0.35rem;
    font-size: 1rem;
}
.about-contact .ct-card em {
    display: block;
    margin-top: 0.45rem;
    font-style: normal;
    font-size: 0.66rem;
    color: #7a8394;
}

/* 响应式 */
@media screen and (max-width: 768px) {
    .about-timeline .tl-item {
        gap: 0.85rem;
    }
    .about-timeline .tl-year {
        width: 3.5rem;
        height: 1.7rem;
        line-height: 1.7rem;
        font-size: 0.7rem;
    }
    .about-timeline::before {
        left: 1.75rem;
    }
    .about-timeline .tl-body {
        padding: 0.7rem 0.85rem;
    }
    .about-stats {
        grid-template-columns: repeat(3, 1fr);
        gap: 0.6rem;
    }
    .about-stats .st-card {
        padding: 1.05rem 0.5rem 1rem;
    }
    .about-stats .st-card b {
        font-size: 1.3rem;
    }
    .about-contact {
        grid-template-columns: 1fr;
        gap: 0.8rem;
    }
}
/* ---------- 公司概况右栏(about) — 眉题/定位主张/导语/特性点/产品体系 ---------- */
.ab-eyebrow {
    display: inline-block;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.3em;
    color: #4974fd;
    text-transform: uppercase;
}
.ab-title {
    margin: 0.5rem 0 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: #000135;
    line-height: 1.45;
}
.ab-lead {
    margin: 0.95rem 0 0;
    padding-left: 0.85rem;
    border-left: 0.16rem solid #4974fd;
    font-size: 0.78rem;
    font-weight: 600;
    color: #2c3852;
    line-height: 1.9;
    text-align: justify;
}
.ab-text {
    margin: 0.7rem 0 0;
    font-size: 0.72rem;
    color: #555e6d;
    line-height: 1.9;
    text-align: justify;
}
.ab-points {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.55rem 0.9rem;
    margin-top: 1rem;
}
.ab-points span {
    display: flex;
    align-items: center;
    font-size: 0.72rem;
    color: #2c3852;
}
.ab-points span i {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.1rem;
    height: 1.1rem;
    margin-right: 0.45rem;
    font-style: normal;
    font-size: 0.6rem;
    color: #fff;
    background: linear-gradient(135deg, #3d63e8, #6f96ff);
    border-radius: 50%;
}
.ab-line {
    margin-top: 1.05rem;
    padding-top: 0.95rem;
    border-top: 1px dashed #dbe4f5;
}
.ab-line em {
    display: block;
    margin-bottom: 0.55rem;
    font-style: normal;
    font-size: 0.66rem;
    color: #8a93a5;
}
.ab-line .xtyq-tags {
    margin-top: 0;
}
@media screen and (max-width: 768px) {
    .ab-title {
        font-size: 1.08rem;
    }
    .ab-lead {
        font-size: 0.75rem;
    }
    .ab-points {
        gap: 0.45rem 0.6rem;
    }
    .ab-points span {
        font-size: 0.7rem;
    }
}
/* ============ 商务合作页(swhz) ============ */
.swhz-stats {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    flex-shrink: 0;
}
.swhz-stats .st {
    background: linear-gradient(135deg, #f5f8ff, #eef3fd);
    border: 1px solid #dfe8f8;
    border-radius: 0.55rem;
    padding: 1rem 1.3rem;
    display: flex;
    align-items: baseline;
    gap: 0.7rem;
}
.swhz-stats .st b {
    font-size: 1.7rem;
    font-weight: 700;
    color: #1a6fe8;
    min-width: 5.2rem;
}
.swhz-stats .st b i { font-style: normal; font-size: 1rem; margin-left: 2px; }
.swhz-stats .st span { color: #5a6a85; font-size: 0.72rem; }

/* 合作与共赢: 2x2 横排大卡片(图标+文案+序号水印) */
.swhz-win-grid {
    margin-top: 1.2rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.1rem;
}
.swhz-win-item {
    position: relative;
    display: flex;
    gap: 1.1rem;
    align-items: flex-start;
    background: linear-gradient(160deg, #ffffff, #f6f9ff);
    border: 1px solid #e4ebf7;
    border-radius: 0.6rem;
    padding: 1.5rem 1.4rem;
    overflow: hidden;
    transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
.swhz-win-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #1a6fe8, #6ea3f5);
    opacity: 0;
    transition: opacity 0.3s;
}
.swhz-win-item:hover {
    border-color: #c6d8fa;
    box-shadow: 0 10px 26px rgba(26, 111, 232, 0.1);
    transform: translateY(-4px);
}
.swhz-win-item:hover::before { opacity: 1; }
.swhz-win-item .wm {
    position: absolute;
    right: 0.9rem;
    top: 0.5rem;
    font-size: 2.3rem;
    font-weight: 800;
    font-style: italic;
    color: #e8f0fc;
    line-height: 1;
    user-select: none;
    transition: color 0.3s;
}
.swhz-win-item:hover .wm { color: #d3e3fa; }
.swhz-win-item .ic {
    flex-shrink: 0;
    width: 3.4rem;
    height: 3.4rem;
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 4px 12px rgba(13, 42, 94, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
}
.swhz-win-item .ic img { width: 68%; height: 68%; object-fit: contain; }
.swhz-win-item .tx { min-width: 0; }
.swhz-win-item h4 {
    margin: 0.15rem 0 0.5rem;
    font-size: 1rem;
    color: #0b1a33;
}
.swhz-win-item p {
    margin: 0;
    font-size: 0.78rem;
    line-height: 1.75;
    color: #5a6a85;
}
@media screen and (max-width: 768px) {
    .swhz-split { flex-direction: column; }
    .swhz-split .col-txt, .swhz-split .swhz-stats { flex: 0 0 100%; width: 100%; }
    .swhz-stats { gap: 0.6rem; }
    .swhz-stats .st { padding: 0.8rem 1rem; }
    .swhz-stats .st b { font-size: 1.35rem; min-width: 4.2rem; }
    .swhz-stats .st span { font-size: 0.68rem; }
    .swhz-win-grid { grid-template-columns: 1fr; }
    .swhz-win-item { padding: 1.2rem 1.1rem; gap: 0.9rem; }
    .swhz-win-item .ic { width: 2.9rem; height: 2.9rem; }
    .swhz-win-item .wm { font-size: 1.8rem; }
}

/* ============ 运营服务页(yyfw) ============ */
.yyfw-slogan {
    border-radius: 0.6rem;
    padding: 1.6rem 1.4rem;
    text-align: center;
    background: linear-gradient(120deg, #16295c, #1a4fc4 55%, #2e6fe8);
    box-shadow: 0 10px 26px rgba(20, 60, 150, 0.22);
}
.yyfw-slogan .zh {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #ffffff;
}
.yyfw-slogan .zh i { font-style: normal; }
.yyfw-slogan .en {
    margin: 0.5rem 0 0;
    font-size: 0.62rem;
    letter-spacing: 0.34em;
    color: rgba(255, 255, 255, 0.62);
    text-transform: uppercase;
}

/* 项目调研: 竖版图片卡（图上叠标题，下接描述） */
/* 运营服务页: 板块标题居中增强，与内容卡衔接 */
.yyfw-page .xtyq-h2 {
    padding-left: 0;
    border-left: none;
    text-align: center;
    font-size: 1.35rem;
    letter-spacing: 2px;
    margin: 0 0 1.4rem;
}
.yyfw-page .xtyq-h2::after {
    content: "";
    display: block;
    width: 2.4rem;
    height: 3px;
    margin: 0.55rem auto 0;
    border-radius: 2px;
    background: linear-gradient(90deg, #4b75fd, #1a6fe8);
}
.yyfw-survey {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.3rem;
}
.yyfw-survey-item {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e4ebf7;
    border-radius: 0.8rem;
    overflow: hidden;
    transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
.yyfw-survey-item:hover {
    border-color: #c6d8fa;
    box-shadow: 0 12px 30px rgba(26, 111, 232, 0.12);
    transform: translateY(-4px);
}
.yyfw-survey-item .fig {
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #f2f5fb;
}
.yyfw-survey-item .fig img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}
.yyfw-survey-item:hover .fig img { transform: scale(1.06); }
.yyfw-survey-item .fig .cap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1.8rem 1rem 0.85rem;
    background: linear-gradient(180deg, rgba(13, 42, 94, 0), rgba(13, 42, 94, 0.82));
    color: #fff;
}
.yyfw-survey-item .fig .cap h4 {
    margin: 0;
    font-size: 0.98rem;
    color: #fff;
}
.yyfw-survey-item .fig .cap .en {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.58rem;
    letter-spacing: 0.12em;
    color: rgba(255, 255, 255, 0.75);
    text-transform: uppercase;
}
.yyfw-survey-item .tx {
    flex: 1;
    padding: 0.9rem 1rem 1.05rem;
    background: linear-gradient(180deg, #ffffff, #f6f9ff);
}
.yyfw-survey-item .tx p {
    margin: 0;
    font-size: 0.74rem;
    line-height: 1.75;
    color: #5a6a85;
}

/* 项目实施: 4步骤图标卡 */
.yyfw-impl {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}
.yyfw-impl-item {
    position: relative;
    text-align: center;
    background: linear-gradient(180deg, #ffffff, #f6f9ff);
    border: 1px solid #e4ebf7;
    border-radius: 0.6rem;
    padding: 1.5rem 1rem 1.3rem;
    overflow: hidden;
    transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
.yyfw-impl-item:hover {
    border-color: #c6d8fa;
    box-shadow: 0 10px 26px rgba(26, 111, 232, 0.1);
    transform: translateY(-4px);
}
.yyfw-impl-item .no {
    position: absolute;
    right: 0.75rem;
    top: 0.4rem;
    font-size: 1.7rem;
    font-weight: 800;
    font-style: italic;
    color: #e8f0fc;
    line-height: 1;
    user-select: none;
}
.yyfw-impl-item:hover .no { color: #d3e3fa; }
.yyfw-impl-item .ic {
    width: 3.6rem;
    height: 3.6rem;
    margin: 0 auto;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(13, 42, 94, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
}
.yyfw-impl-item .ic img { width: 66%; height: 66%; object-fit: contain; }
.yyfw-impl-item h4 {
    margin: 0.8rem 0 0.45rem;
    font-size: 0.98rem;
    color: #0b1a33;
}
.yyfw-impl-item p {
    margin: 0;
    font-size: 0.73rem;
    line-height: 1.7;
    color: #5a6a85;
    text-align: justify;
}

/* 项目维护: 左图右列表 */
.yyfw-split { align-items: center; }
.yyfw-split .col-img {
    flex: 0 0 40%;
    max-width: 40%;
}
.yyfw-maint {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}
.yyfw-maint-item {
    background: #fff;
    border: 1px solid #e4ebf7;
    border-left: 0.18rem solid #1a6fe8;
    border-radius: 0.5rem;
    padding: 1rem 1.2rem;
    transition: border-color 0.3s, box-shadow 0.3s;
}
.yyfw-maint-item:hover {
    border-color: #c6d8fa;
    border-left-color: #1a6fe8;
    box-shadow: 0 8px 20px rgba(26, 111, 232, 0.08);
}
.yyfw-maint-item h4 {
    margin: 0;
    font-size: 0.95rem;
    color: #0b1a33;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.yyfw-maint-item h4 .no {
    font-size: 0.8rem;
    font-weight: 800;
    font-style: italic;
    color: #1a6fe8;
}
.yyfw-maint-item p {
    margin: 0.45rem 0 0;
    font-size: 0.75rem;
    line-height: 1.75;
    color: #5a6a85;
}
@media screen and (max-width: 992px) {
    .yyfw-survey { grid-template-columns: repeat(2, 1fr); }
    .yyfw-impl { grid-template-columns: repeat(2, 1fr); }
    .yyfw-split { flex-direction: column; }
    .yyfw-split .col-img { flex: 0 0 100%; max-width: 100%; }
}
@media screen and (max-width: 768px) {
    .yyfw-slogan { padding: 1.2rem 1rem; }
    .yyfw-slogan .zh { font-size: 1.05rem; }
    .yyfw-impl { grid-template-columns: 1fr; }
    .yyfw-survey { grid-template-columns: 1fr; }
    .yyfw-survey-item .fig { max-width: 20rem; margin: 0 auto; }
    .yyfw-survey-item .tx { max-width: 20rem; margin: 0 auto; width: 100%; }
}
