/* ============================================================
   Responsive + typography overlay
   - Restrained business typography scale (clamp 768→1600)
   - Fixes nav wrap, mobile/tablet adaptation
   ============================================================ */

/* ============================================================
   LARGE-SCREEN (≥1600 / 2K / 4K) — fix the "tiny content + huge empty" issue
   原 body --width:1600px 顶死，到 2K 屏中间一块两边留白；这里放大容器、上调字号上限
   ============================================================ */
@media screen and (min-width: 1600px) {
    body {
        --width: 1680px;
    }

    .pagewidth {
        width: 1680px;
        max-width: calc(100vw - 64px);
    }
}

@media screen and (min-width: 1920px) {
    body {
        --width: 1800px;
    }

    .pagewidth {
        width: 1800px;
        max-width: calc(100vw - 80px);
    }
}

@media screen and (min-width: 2400px) {
    body {
        --width: 2000px;
    }

    .pagewidth {
        width: 2000px;
        max-width: calc(100vw - 96px);
    }

    body {
        font-size: 17px;
    }
}

/* Banner stops being 100vh on tall screens (avoids huge empty space on 2K/4K) */
@media screen and (min-width: 1600px) and (min-height: 900px) {
    .index_banner .pagewidth {
        height: auto !important;
        min-height: 760px;
        max-height: 880px;
        padding-top: 70px;
        padding-bottom: 0;
    }
}

/* Section spacing tightens on 2K+ so vertical density feels right */
@media screen and (min-width: 1920px) {
    .padding {
        padding-top: 120px;
        padding-bottom: 120px;
    }
}

/* ---------- 0. Typography tokens (used inline below via clamp) ----------
   Display   42 → 60   banner main title
   H1        30 → 40   page title
   H2        24 → 32   section title
   H3        18 → 22   card title / lead numbers
   H4        16 → 18   sub heading
   Lead      15 → 17   subtitle / lead paragraph
   Body      15 / 16   default body
   Small     13 / 14
   ---------------------------------------------------------- */

body {
    font-size: 16px;
    line-height: 1.7;
}

h1,
h2,
h3,
h4,
h5 {
    line-height: 1.3;
    font-weight: 500;
}

p,
a,
div {
    line-height: 1.7;
}

/* ---------- 1. Banner display title ---------- */
.index_banner .pagewidth {
    padding-top: 70px !important;
    padding-bottom: 0 !important;
}

.index_banner .pagewidth .row .title {
    background-size: 200px auto;
}

.index_banner .pagewidth .row .title h1,
.index_banner .pagewidth .row .title p,
.index_banner .pagewidth .row .title .title_green,
.index_solution .pagewidth .row .title h2 {
    /* 36 (768) → 56 (1600) → 80 (2560+) — ensure readable on 2K/4K */
    font-size: clamp(2.25rem, 1rem + 3.2vw, 5rem) !important;
    line-height: 1.2;
    font-weight: 500;
}

.index_banner .pagewidth .row .subtitle,
.index_solution .pagewidth .row .subtitle {
    /* 15 → 18 → 22 (2K) */
    font-size: clamp(0.9375rem, 0.55rem + 0.85vw, 1.375rem);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
}

.index_banner .pagewidth .row .subtitle {
    text-align: center;
    white-space: normal;
    max-width: min(720px, 92vw);
    margin-left: auto;
    margin-right: auto;
}

/* 小屏 banner logo 浮动动画（幅度减小，避免溢出） */
@keyframes flotage-sm {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}

/* ---------- 2. Section title (h2) ---------- */
.index_treaty .title h2,
.index_three .title h2,
.index_safeguard .title h2,
.index_client .title h2,
.product_box1 .title h2,
.product_box2 .title h2,
.product_box3 .title h2,
.product_box4 .title h2,
.product_box5 .title h2,
.product_box6 .title h2,
.product_box7 .pagewidth .info h2,
.product_box8 .info h2 {
    /* 24 → 32 → 44 (2K) */
    font-size: clamp(1.5rem, 0.7rem + 1.7vw, 2.75rem) !important;
    line-height: 1.3;
    font-weight: 500;
}

.index_three .title p,
.index_safeguard .title p,
.index_client .title p,
.product_box1 .title p,
.product_box2 .title p,
.product_box3 .title p,
.product_box4 .title p,
.product_box5 .title p,
.product_box6 .title p,
.product_box7 .pagewidth .info p,
.product_box8 .info p {
    font-size: clamp(0.875rem, 0.7rem + 0.4vw, 1rem);
    /* 14→16 */
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
}

/* product_box3 has a bigger sub-headline using h3 — tame it */
.product_box3 .title h3 {
    font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.25rem) !important;
    /* 28→36 */
    line-height: 1.2;
    padding-top: 16px;
    padding-bottom: 16px;
}

/* ---------- 3. Section body / cards ---------- */
.index_treaty .content .info {
    font-size: clamp(0.9375rem, 0.8rem + 0.3vw, 1rem);
    line-height: 1.8;
}

.index_treaty .content h4 {
    font-size: 1.125rem;
    padding-top: 32px;
    padding-bottom: 16px;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    color: #fff;
}

/* index_treaty table — 12px 圆角 + 宽度自适应（标题在框外） */
.index_treaty .content .info {
    width: 100% !important;
    max-width: 1000px !important;
    box-sizing: border-box;
}

.index_treaty .content .table {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    box-sizing: border-box;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(22, 23, 28, 0.4);
}

.index_treaty .content .layui-table {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    overflow: hidden;
    border: none !important;
    background: transparent !important;
    table-layout: fixed;
    border-collapse: collapse;
}

.index_treaty .content .layui-table col:first-child {
    width: 30%;
}

.index_treaty .content .layui-table col:nth-child(2) {
    width: 70%;
}

.index_treaty .content .layui-table td,
.index_treaty .content .layui-table th {
    white-space: normal !important;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.6 !important;
    min-height: 0 !important;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
}

.index_treaty .content .layui-table th {
    text-align: center !important;
}

.index_treaty .content .layui-table td:first-child {
    text-align: center !important;
}

.index_treaty .content .layui-table td:last-child {
    text-align: left !important;
}

.layui-table th {
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
}

.layui-table td {
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
}

/* index_three cards */
.index_three .content .item1 h3,
.index_three .content .item2 h3 {
    font-size: 0.9375rem;
}

.index_three .content .item1 p,
.index_three .content .item2 h2 {
    font-size: clamp(1.25rem, 0.9rem + 1vw, 1.625rem);
    line-height: 1.35;
}

/* 20→26 */
.index_three .content .item2 p.description {
    font-size: clamp(1.25rem, 0.9rem + 1vw, 1.625rem);
    line-height: 1.35;
}

.index_three .content .item2 .row p {
    font-size: clamp(1.375rem, 1rem + 1.2vw, 1.875rem);
    line-height: 1.1;
}

/* 22→30 numbers */
.index_three .content .item2 .row h4 {
    font-size: 0.875rem;
}

.index_three .content .item3 .font h3,
.index_three .content .item3 .font p {
    font-size: clamp(1.25rem, 0.9rem + 1vw, 1.625rem);
    line-height: 1.3;
}

.index_three .content .item1 .ri-thumb-up-fill {
    font-size: clamp(120px, 14vw, 180px);
}

/* big numbers on client section */
.index_client .number h2 span {
    font-size: clamp(2.5rem, 1.6rem + 3vw, 4rem);
    font-weight: 600;
}

/* 40→64 */
.index_client .number h2 em {
    font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.5rem);
}

/* 28→40 */
.index_client .number p {
    font-size: 0.9375rem;
}

/* safeguard icons — tame the 90px icon */
.index_safeguard .content .item .icon i {
    font-size: clamp(48px, 5vw, 72px);
}

.index_safeguard .content .item h3 {
    font-size: 1.125rem;
    padding-top: 16px;
}

.index_safeguard .content .item p {
    font-size: 0.9375rem;
    line-height: 1.7;
}

/* product boxes shared */
.product_box1 .content ul li {
    font-size: 0.9375rem;
}

.product_box1 .content ul li span {
    font-size: 0.8125rem;
}

.product_box2 .content .item h3 {
    font-size: clamp(1.25rem, 0.9rem + 1vw, 1.625rem);
}

/* 20→26 */
.product_box2 .content .item p {
    font-size: 0.9375rem;
    line-height: 1.7;
}

.product_box2 .content .item p span {
    font-size: 1rem;
}

.product_box3 .content .item {
    font-size: 0.9375rem;
    line-height: 1.7;
}

.product_box4 .content .text .item .icon,
.product_box5 .content .item .icon {
    font-size: clamp(36px, 4vw, 52px);
}

.product_box4 .content .text .item h3,
.product_box5 .content .item h3 {
    font-size: 1.0625rem;
}

/* product_box5 合作流程 — content 上下内边距 16px */
.product_box5 .content {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

/* product_box5 合作流程 — 区块上下内边距 */
.product_box5 {
    padding-top: 100px !important;
    padding-bottom: 20px !important;
}

/* 17 */

.product_box6 .content .item {
    font-size: 0.9375rem;
    padding: 8px 18px;
}

.product_box6 .content .item:nth-child(2n) {
    font-size: 0.8125rem;
    padding: 6px 14px;
}

.product_box6 .content .item:nth-child(4n) {
    font-size: 1rem;
    padding: 10px 22px;
}

.product_box7 .pagewidth .btn .item a {
    font-size: 0.9375rem;
}

.product_box8 .info h3 {
    font-size: clamp(1.375rem, 0.95rem + 1.4vw, 1.75rem);
    line-height: 1.3;
}

/* 22→28 */

/* ---------- 4. Buttons — 页内 GEO CTA 见下方统一规则，此处不重复 ---------- */

/* ---------- 5. Page title (inner pages) ---------- */
.page_title h1 {
    font-size: clamp(1.625rem, 1.2rem + 1.4vw, 2.25rem);
}

/* 26→36 */
.page_title p {
    font-size: 0.9375rem;
}

/* ---------- 6. Contact / Join ---------- */
.page_contact .pagewidth .info .title h3 {
    font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2rem) !important;
    line-height: 1.3;
}

.page_contact .pagewidth .info .title h4 {
    font-size: clamp(1.125rem, 0.85rem + 0.9vw, 1.5rem) !important;
}

.page_contact .pagewidth .info .content .item {
    font-size: 0.9375rem;
}

.page_contact .pagewidth .info .content .item h3 {
    font-size: 1.125rem;
}

.page_contact .pagewidth .info .join {
    font-size: 0.9375rem;
}

.join_info .row.content1 .left {
    font-size: clamp(2.5rem, 1.6rem + 3vw, 4rem) !important;
}

/* 40→64, was 72 */
.join_info .row.content1 .right h2,
.join_info .row.content2 .info h2,
.join_info .row.content3 .info h2 {
    font-size: clamp(1.375rem, 1rem + 1.2vw, 1.75rem);
}

.join_info .row.content1 .right p,
.join_info .row.content2 .info p,
.join_info .row.content3 .info p {
    font-size: 0.9375rem;
    line-height: 1.8;
}

.list_job .pagewidth .title h2 {
    font-size: clamp(1.5rem, 1.1rem + 1.3vw, 2rem);
}

.list_job .pagewidth .title h4 {
    font-size: 0.9375rem;
}

.list_job .pagewidth .content .layui-colla-item .layui-colla-title h2 {
    font-size: 1rem;
}

.list_job .pagewidth .content .layui-colla-item .layui-colla-title i {
    font-size: 1rem;
}

/* ---------- 7. Show / news ---------- */
.show_news .title {
    font-size: 1.25rem;
    line-height: 1.4;
}

.show_news .info {
    font-size: 0.8125rem;
}

.show_news .content {
    font-size: 0.9375rem;
    line-height: 1.85;
}

/* 文章正文超链接 */
.show_news .content .html a,
.show_news .content .html a:link,
.show_news .content .html a:visited {
    color: #0095D9 !important;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.show_news .content .html a:hover {
    color: #0095D9 !important;
    opacity: 0.85;
}

/* ---------- 8. Footer / copy ---------- */
.footer .item h3 {
    font-size: 0.9375rem;
}

.footer .item ul li {
    font-size: 0.9375rem;
    line-height: 2;
}

.copy {
    font-size: 0.8125rem;
}

.copy p span {
    font-size: 0.8125rem;
}

/* ============================================================
   Header — 自适应防溢出 / 防变形
   ============================================================ */
.header {
    box-sizing: border-box;
    max-width: 100%;
    overflow-x: clip;
}

.header .logo {
    min-width: 0;
}

.header .logo img {
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

.header .pc_menu {
    min-width: 0;
    overflow: hidden;
}

.header .pc_menu ul {
    max-width: 100%;
}

.header .right {
    min-width: 0;
}

.header .right .lang a.btn-blue,
.header .right a.btn-blue {
    white-space: nowrap;
    box-sizing: border-box;
}

/* ============================================================
   PC top nav — 字间距 / 排版优化
   ============================================================ */
.main_nav .menu{
    background-color: #0A0A3A;
}

.main_nav .menu li a {
    font-weight: 400 !important;
    letter-spacing: 0.08em;
}

.main_nav .menu li a:hover {
    color: #8afaa2 !important;
    background: rgba(138, 250, 162, 0.12);
}

.header .pc_menu ul li a,
.main_nav .menu li a {
    white-space: nowrap;
}

.header .pc_menu ul {
    flex-wrap: nowrap;
    column-gap: clamp(4px, 0.8vw, 12px);
}

.header .pc_menu ul li {
    flex: 0 0 auto;
}

.header .pc_menu a {
    padding: 14px clamp(16px, 2vw, 24px);
    font-size: 0.9375rem;
    letter-spacing: 0.06em;
    line-height: 1.4;
    transition: color 0.25s ease;
}

.header .right a {
    font-size: 0.875rem;
    letter-spacing: 0.04em;
}

.header .right a p {
    font-size: 0.875rem;
    line-height: 1.3;
    letter-spacing: 0.04em;
}

@media screen and (max-width: 1600px) {
    .header .pc_menu a {
        padding: 14px clamp(14px, 1.8vw, 22px);
        letter-spacing: 0.055em;
    }
}

@media screen and (max-width: 1440px) {
    .header .pc_menu a {
        padding: 14px clamp(12px, 1.5vw, 18px);
        letter-spacing: 0.05em;
    }

    /* 内容区适配 1440 屏宽，避免 1600px 容器横向溢出 */
    body {
        --width: 100%;
    }

    .pagewidth {
        width: 100%;
        max-width: 100%;
        padding-left: 24px;
        padding-right: 24px;
        box-sizing: border-box;
    }

    /* 区块上下间距 150 → 120 */
    .padding {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .index_safeguard,
    .index_client {
        padding-top: 120px;
    }

    .product_box1 {
        padding-top: 176px;
    }

    .product_box2,
    .product_box3,
    .product_box4,
    .product_box6,
    .product_box7 {
        padding-top: 120px;
    }

    .index_safeguard .content .item {
        padding: 56px 20px;
    }

    .index_client .content,
    .index_client .content.animation {
        padding: 56px 32px !important;
    }

    /* product_box2 绝对定位卡片，略上移避免与配图挤压 */
    .product_box2 .content {
        top: 300px;
    }
}

/* ============================================================
   Product page — 水平边距：1440px 下 120px，其他宽度自适应
   内容最大 1200px；边距 = clamp(16px, (100vw - 1200px) / 2, 120px)
   ============================================================ */
.page:has(.product_box1) {
    --product-inset-x: clamp(16px, calc((100vw - 1200px) / 2), 120px);
}

.page:has(.product_box1) .pagewidth {
    width: 100% !important;
    max-width: min(1200px, calc(100vw - 2 * var(--product-inset-x))) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
}

@media screen and (max-width: 1280px) {
    .header {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        gap: 8px;
        padding-left: 24px;
        padding-right: 24px;
    }

    .header .pc_menu a {
        padding: 12px 14px;
        font-size: 0.875rem;
        letter-spacing: 0.045em;
    }
}

@media screen and (max-width: 1024px) {
    .header {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        gap: 8px;
        padding-left: 16px;
        padding-right: 16px;
    }

    .header .pc_menu a {
        padding: 10px 10px;
        font-size: 0.8125rem;
        letter-spacing: 0.04em;
    }
}

/* 769–992px：桌面导航与右侧 CTA 空间紧张，进一步压缩 */
@media screen and (max-width: 992px) and (min-width: 769px) {
    .header .pc_menu ul {
        column-gap: 2px;
    }

    .header .pc_menu a {
        padding: 8px 6px !important;
        font-size: clamp(0.6875rem, 1.6vw, 0.8125rem) !important;
        letter-spacing: 0.03em !important;
    }

    .header .right a.btn-blue {
        padding: 6px 10px !important;
        font-size: clamp(0.6875rem, 1.8vw, 0.8125rem) !important;
        letter-spacing: 0.03em !important;
        gap: 4px !important;
    }

    .header .right a p {
        font-size: inherit;
    }
}

/* ============================================================
   Mobile / tablet (≤768px)
   ============================================================ */
@media screen and (max-width: 768px) {

    body {
        font-size: 15px;
        line-height: 1.7;
    }

    body:before {
        width: 100%;
        max-width: 500px;
        height: 300px;
        top: -120px;
        left: 50%;
        right: auto;
        transform: translateX(-50%);
    }

    .pagewidth {
        width: auto;
        max-width: 100%;
        margin: 0 auto;
        padding-left: 16px;
        padding-right: 16px;
        box-sizing: border-box;
    }

    body {
        --width: 100%;
    }

    img {
        max-width: 100%;
        height: auto;
    }

    /* header */
    .header {
        padding: 10px 16px;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        gap: 8px;
    }

    .header .logo img {
        height: 32px;
    }

    .header .pc_menu {
        display: none !important;
    }

    .header .right {
        justify-content: flex-end;
        min-width: 0;
    }

    .header .right a,
    .header .right a.btn-blue {
        padding: 6px clamp(8px, 2.5vw, 12px);
        font-size: clamp(10px, 2.8vw, 12px);
        letter-spacing: 0.03em;
        white-space: nowrap;
        max-width: 100%;
    }

    .header .right a p {
        font-size: inherit;
        line-height: 1.2;
        white-space: nowrap;
        letter-spacing: inherit;
    }

    .header .trigger {
        display: block;
        position: relative;
        width: 32px;
        height: 32px;
        flex-shrink: 0;
    }

    .header .innernav {
        position: relative;
        top: auto;
        right: auto;
        margin: 8px;
    }

    .main_nav {
        width: 50%;
        right: -50%;
    }

    .main_nav .menu li a {
        font-size: 18px;
        letter-spacing: 0.06em;
    }

    /* banner — 小屏高度随内容 */
    .index_banner .pagewidth {
        height: auto !important;
        min-height: 0 !important;
        display: block !important;
        padding-top: 80px !important;
        padding-bottom: 80px !important;
    }

    .index_banner .pagewidth .row .title {
        padding-top: 12px;
        padding-bottom: 20px;
        background: none !important;
    }

    .index_banner .pagewidth .row .title h1,
    .index_banner .pagewidth .row .title p,
    .index_banner .pagewidth .row .title .title_green {
        font-size: clamp(1.75rem, 1.2rem + 3vw, 2.25rem) !important;
        /* 28→36 */
    }

    .index_banner .pagewidth .row .subtitle {
        font-size: 0.9375rem;
        padding: 0 8px;
        text-align: center;
        max-width: 100%;
    }

    .index_banner .pagewidth .row .btn,
    .product_box1 .btn,
    .product_box7 .pagewidth .btn {
        display: flex !important;
        flex-direction: column;
        align-items: center !important;
        justify-content: center;
        width: 100%;
        padding-top: clamp(16px, 3vw, 24px);
        gap: 12px;
    }

    .index_banner .pagewidth .row .btn .item,
    .product_box1 .btn .item,
    .product_box7 .pagewidth .btn .item {
        width: auto;
        max-width: 100%;
        margin-bottom: 0 !important;
    }

    /* shrink floating logos — 768 内贴边布局，禁止负偏移溢出 */
    .index_banner {
        overflow-x: hidden;
    }

    .index_banner .pagewidth .row {
        position: relative;
        max-width: 100%;
        padding-left: 52px;
        padding-right: 52px;
        box-sizing: border-box;
    }

    /* 小屏 logo 容器：图片不溢出、浮动幅度减小 */
    .index_banner .pagewidth .row .logo {
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 3px !important;
        overflow: hidden !important;
        animation: flotage-sm 6s ease-in-out infinite !important;
    }

    .index_banner .pagewidth .row .logo img {
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        display: block !important;
        border-radius: 50%;
    }

    .index_banner .pagewidth .row .logo img:hover {
        transform: none !important;
    }

    .index_banner .pagewidth .row .logo.logo_deepseek {
        width: 52px !important;
        height: 52px !important;
        left: 0 !important;
        right: auto !important;
        top: -20px !important;
    }

    .index_banner .pagewidth .row .logo.logo_doubao {
        width: 46px !important;
        height: 46px !important;
        right: 0 !important;
        left: auto !important;
        top: -20px !important;
    }

    .index_banner .pagewidth .row .logo.logo_yuanbao {
        width: 36px !important;
        height: 36px !important;
        left: 4px !important;
        right: auto !important;
        top: 52px !important;
    }

    .index_banner .pagewidth .row .logo.logo_kimi {
        width: 36px !important;
        height: 36px !important;
        right: 0 !important;
        left: auto !important;
        top: 80px !important;
    }

    .index_banner .pagewidth .row .logo.logo_wenxinyiyan {
        width: 32px !important;
        height: 32px !important;
        left: 4px !important;
        right: auto !important;
        top: 150px !important;
    }

    .index_banner .pagewidth .row .logo.logo_baiduaisou {
        width: 30px !important;
        height: 30px !important;
        right: 4px !important;
        left: auto !important;
        top: 158px !important;
    }

    /* section title shrink (mobile) */
    .index_treaty .title h2,
    .index_three .title h2,
    .index_safeguard .title h2,
    .index_client .title h2,
    .product_box1 .title h2,
    .product_box2 .title h2,
    .product_box3 .title h2,
    .product_box4 .title h2,
    .product_box5 .title h2,
    .product_box6 .title h2,
    .product_box7 .pagewidth .info h2,
    .product_box8 .info h2 {
        font-size: 1.5rem !important;
    }

    /* spacing */
    .padding,
    .product_box6,
    .product_box7,
    .index_three {
        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }

    /* index_treaty (table) */
    .index_treaty .content {
        padding-top: 24px;
        overflow: hidden;
    }

    .index_treaty .content .info,
    .index_treaty .content .table,
    .index_treaty .content .layui-table {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    .index_treaty .content h4 {
        padding-top: 24px;
        padding-bottom: 12px;
        font-size: 1rem;
    }

    .index_treaty .content .table {
        border-radius: 12px;
    }

    .index_treaty .content .layui-table {
        border: none !important;
    }

    .index_treaty .content .layui-table col:first-child {
        width: 26% !important;
    }

    .index_treaty .content .layui-table col:nth-child(2) {
        width: 74% !important;
    }

    .index_treaty .content .layui-table td,
    .index_treaty .content .layui-table th {
        padding: 10px 8px !important;
        font-size: 0.8125rem !important;
        line-height: 1.55 !important;
        min-height: 0 !important;
    }

    .layui-table td,
    .layui-table th {
        padding: 8px 10px !important;
        font-size: 0.8125rem !important;
        line-height: 1.5 !important;
        min-height: 0 !important;
    }

    /* grids — product_box4 小屏两列；index_three 单列 */
    .index_three .content {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        padding-top: 24px;
        align-items: end;
    }

    /* product_box5 合作流程 — 小屏保持横向 5 列 */
    .product_box5 .content {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: clamp(6px, 1.5vw, 12px) !important;
        align-items: start;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .product_box5 .content .item {
        min-width: 0;
        order: unset !important;
    }

    .product_box5 .content .item .icon {
        width: clamp(44px, 13vw, 72px) !important;
        height: clamp(44px, 13vw, 72px) !important;
        line-height: clamp(44px, 13vw, 72px) !important;
        font-size: clamp(18px, 4.5vw, 28px) !important;
        margin-bottom: 8px;
    }

    .product_box5 .content .item .icon span {
        display: none !important;
    }

    .product_box5 .content .item h3 {
        font-size: clamp(0.625rem, 2.5vw, 0.8125rem) !important;
        line-height: 1.35 !important;
        word-break: break-word;
    }

    .product_box5 .content .item p {
        font-size: clamp(0.5625rem, 2.2vw, 0.75rem) !important;
        line-height: 1.4 !important;
        margin-top: 4px;
        word-break: break-word;
    }

    /* product_box4 — 小屏：上图下文字，一行两列，图文同宽 */
    .product_box4 .content {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px 16px !important;
        padding: 24px 16px !important;
    }

    .product_box4 .content .tree,
    .product_box4 .content .text {
        display: contents !important;
    }

    .product_box4 .content .tree .item:nth-child(1) { grid-row: 1; grid-column: 1; }
    .product_box4 .content .tree .item:nth-child(2) { grid-row: 1; grid-column: 2; }
    .product_box4 .content .text .item:nth-child(1) { grid-row: 2; grid-column: 1; }
    .product_box4 .content .text .item:nth-child(2) { grid-row: 2; grid-column: 2; }

    .product_box4 .content .tree .item:nth-child(3) { grid-row: 3; grid-column: 1; }
    .product_box4 .content .tree .item:nth-child(4) { grid-row: 3; grid-column: 2; }
    .product_box4 .content .text .item:nth-child(3) { grid-row: 4; grid-column: 1; }
    .product_box4 .content .text .item:nth-child(4) { grid-row: 4; grid-column: 2; }

    .product_box4 .content .tree .item:nth-child(5) {
        grid-row: 5;
        grid-column: 1 / 3;
        justify-self: center;
        width: calc((100% - 16px) / 2);
    }

    .product_box4 .content .text .item:nth-child(5) {
        grid-row: 6;
        grid-column: 1 / 3;
        justify-self: center;
        width: calc((100% - 16px) / 2);
    }

    .product_box4 .content .tree .item {
        width: 100%;
        min-width: 0;
    }

    .product_box4 .content .tree .item img {
        width: 100%;
        max-width: 100%;
        height: auto;
        display: block;
        margin: 0 auto;
        object-fit: contain;
    }

    .product_box4 .content .text .item {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        text-align: center;
        box-sizing: border-box;
    }

    .product_box4 .content .text .item h3 {
        font-size: 0.9375rem !important;
        line-height: 1.4;
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    .product_box4 .content .text .item p {
        font-size: 0.8125rem !important;
        line-height: 1.5;
        word-break: break-word;
        overflow-wrap: anywhere;
    }


    .index_three .content .item1 .ri-thumb-up-fill {
        font-size: 100px;
        right: 16px;
        top: 16px;
    }

    .index_three .content .item1,
    .index_three .content .item2,
    .index_three .content .item3 {
        padding: 20px;
    }

    /* 4 column icons — product_box4 only; box5 见上方独立规则 */
    .product_box4 .content .text .item .icon {
        line-height: 80px;
        height: 80px;
        width: 80px;
        font-size: 32px;
    }

    .product_box4 .content .item .icon span {
        display: none;
    }

    /* tag cloud */
    .product_box6 .content {
        gap: 10px 10px;
    }

    /* CTA */
    .product_box7 .pagewidth .btn {
        flex-direction: column;
        gap: 12px;
    }

    /* product_box8 — <768 隐藏 mockup，见下方 min-width:768 规则 */
    .product_box8:before,
    .product_box8:after {
        display: none;
    }

    .product_box8 .box {
        gap: 12px !important;
    }

    .product_box8 .info h2 {
        font-size: clamp(1.125rem, 1rem + 1.2vw, 1.5rem) !important;
    }

    /* contact */
    .page_contact .pagewidth {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .page_contact .pagewidth .info {
        padding-top: 24px;
    }

    /* footer / copy */
    .footer {
        padding: 32px 0;
    }

    .footer .pagewidth {
        display: block;
    }

    .footer .item {
        margin-bottom: 20px;
    }

    .footer .item ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0 16px;
    }

    .footer .item:nth-last-child(2) ul {
        display: block;
    }

    .copy {
        padding: 20px 0;
    }

    .copy .pagewidth {
        text-align: center;
    }

    .copy p span {
        margin-left: 0;
    }

    /* search form */
    .search_list_form {
        padding-top: 24px;
    }

    .search_list_form .layui-form {
        width: 100% !important;
    }

    .search_list_form .layui-form .box {
        grid-template-columns: 1fr auto !important;
        gap: 8px !important;
    }
}

/* product_box5 — ≤390px 两列布局（2+2+1） */
@media screen and (max-width: 390px) {
    .product_box5 .content {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px 16px !important;
        overflow-x: visible;
    }

    .product_box5 .content .item .icon {
        width: clamp(52px, 16vw, 68px) !important;
        height: clamp(52px, 16vw, 68px) !important;
        line-height: clamp(52px, 16vw, 68px) !important;
        font-size: clamp(20px, 5vw, 26px) !important;
        margin-bottom: 10px;
    }

    .product_box5 .content .item h3 {
        font-size: clamp(0.6875rem, 3.2vw, 0.8125rem) !important;
    }

    .product_box5 .content .item p {
        font-size: clamp(0.625rem, 2.8vw, 0.6875rem) !important;
    }
}

/* ---------- Small phones (≤480px) ---------- */
@media screen and (max-width: 480px) {
    /* 覆盖 common.css 25% 60% 15% 栅格，保持手机三列布局 */
    .header {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
    }

    body {
        font-size: 14.5px;
    }

    .index_banner .pagewidth .row .title h1,
    .index_banner .pagewidth .row .title p,
    .index_banner .pagewidth .row .title .title_green {
        font-size: 1.625rem !important;
    }

    .index_banner .pagewidth {
        padding-top: 120px !important;
        padding-bottom: 50px !important;
    }

    .index_banner .pagewidth .row .title {
        padding-top: 8px;
        padding-bottom: 16px;
    }

    .index_banner .pagewidth .row .btn {
        padding-top: 16px !important;
    }

    /* 26 */
    .index_treaty .title h2,
    .index_three .title h2,
    .index_safeguard .title h2,
    .index_client .title h2,
    .product_box1 .title h2,
    .product_box2 .title h2,
    .product_box3 .title h2,
    .product_box4 .title h2,
    .product_box5 .title h2,
    .product_box6 .title h2,
    .product_box7 .pagewidth .info h2,
    .product_box8 .info h2 {
        font-size: 1.375rem !important;
    }

    /* 22 */
}

/* ============================================================
   Contact page (.page_contact) - 直客 / 渠道 业务卡片
   原 .item 之上扩展，保持线上整体布局风格
   ============================================================ */
.page_contact .info .content .item.biz {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.page_contact .info .content .item.biz>p,
.page_contact .info .content .item.biz>h3 {
    margin: 0;
}

.page_contact .info .content .item.biz>h3 a {
    color: inherit;
    text-decoration: none;
    display: inline-block;
    -webkit-tap-highlight-color: rgba(138, 250, 162, 0.35);
}

.page_contact .info .content .item.biz>h3 a:hover,
.page_contact .info .content .item.biz>h3 a:active {
    color: #8afaa2;
}

.page_contact .info .content .item.biz .info_text {
    flex: 1;
}

.page_contact .info .content .item.biz .qr {
    flex-shrink: 0;
    text-align: center;
}

.page_contact .info .content .item.biz .qr img {
    width: 96px;
    height: 96px;
    border-radius: 6px;
    border: 2px solid rgba(255, 255, 255, 0.15);
    display: block;
    margin-bottom: 4px;
    background: #fff;
    padding: 4px;
    box-sizing: border-box;
}

.page_contact .info .content .item.biz .qr span {
    display: block;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.5);
}

/* turn .item.biz into a 2-column inner layout: text on left, QR on right */
.page_contact .info .content .item.biz {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
}

.page_contact .info .content .item.biz>p,
.page_contact .info .content .item.biz>h3 {
    grid-column: 1;
}

.page_contact .info .content .item.biz>.qr {
    grid-column: 2;
    grid-row: 1 / span 2;
}

@media screen and (max-width: 768px) {
    .page_contact .info .content .item.biz .qr img {
        width: 84px;
        height: 84px;
    }
}

/* ============================================================

/* ============================================================
   Contact page: compact one-screen layout
   ============================================================ */
.page_contact.padding {
    padding-top: 100px;
    padding-bottom: 24px;
    min-height: 100vh;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

.page_contact .pagewidth {
    grid-gap: 48px !important;
    margin: 0 auto;
}

.page_contact .pagewidth .info {
    padding-top: 0 !important;
}

.page_contact .pagewidth .info .title {
    padding-bottom: 20px !important;
    margin-bottom: 20px !important;
}

.page_contact .pagewidth .info .title h3 {
    font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.25rem) !important;
    line-height: 1.2 !important;
}

.page_contact .pagewidth .info .title h4 {
    font-size: clamp(1.125rem, 0.85rem + 0.9vw, 1.5rem) !important;
    line-height: 1.3 !important;
}

.page_contact .pagewidth .info .content {
    margin-bottom: 20px !important;
}

.page_contact .pagewidth .info .content .item {
    margin-bottom: 12px !important;
    font-size: 0.9375rem !important;
    padding: 14px 18px;
    background: rgba(22, 23, 28, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
}

.page_contact .pagewidth .info .content .item h3 {
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
    margin: 2px 0 !important;
}

.page_contact .pagewidth .info .content .item h4 {
    font-size: 0.9375rem !important;
    margin: 2px 0 !important;
    line-height: 1.5 !important;
}

.page_contact .pagewidth .info .content .item>p {
    font-size: 0.8125rem !important;
    line-height: 1.4 !important;
    color: rgba(255, 255, 255, 0.5);
    margin: 0 !important;
}

/* biz block — 2-col internal layout (text + qr) */
.page_contact .info .content .item.biz {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    column-gap: 16px !important;
}

.page_contact .info .content .item.biz>p {
    grid-column: 1;
    grid-row: 1;
    color: #8afaa2 !important;
}

.page_contact .info .content .item.biz>h3 {
    grid-column: 1;
    grid-row: 2;
    font-size: 1.375rem !important;
}

.page_contact .info .content .item.biz>.qr {
    grid-column: 2;
    grid-row: 1 / span 2;
    text-align: center;
}

.page_contact .info .content .item.biz .qr img {
    width: 72px;
    height: 72px;
    border-radius: 6px;
    background: #fff;
    padding: 3px;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.15);
    display: block;
    margin: 0 auto 2px;
}

.page_contact .info .content .item.biz .qr span {
    display: block;
    font-size: 0.6875rem;
    color: rgba(255, 255, 255, 0.5);
}

/* join footer link */
.page_contact .pagewidth .info .join {
    padding-top: 16px !important;
    font-size: 0.875rem !important;
}

/* right side message box */
.page_contact .pagewidth .message .box {
    padding: 32px !important;
}

.page_contact .pagewidth .message .box .title h3 {
    font-size: 1.25rem !important;
    margin-bottom: 16px !important;
}

.page_contact .pagewidth .message .box .layui-form-label {
    padding-top: 8px !important;
    padding-bottom: 6px !important;
    font-size: 0.875rem !important;
}

.page_contact .pagewidth .message .box .layui-form-item {
    margin-bottom: 6px !important;
}

.page_contact .pagewidth .message .box .row {
    grid-gap: 16px !important;
}

.page_contact .pagewidth .message .box .layui-input,
.page_contact .pagewidth .message .box .layui-textarea {
    height: 38px;
    line-height: 38px;
    font-size: 0.875rem;
}

.page_contact .pagewidth .message .box .layui-textarea {
    min-height: 60px;
    line-height: 1.5;
}

.page_contact .pagewidth .message .box .layui-form-item:last-child .layui-input-block {
    padding-top: 12px !important;
}

.page_contact .pagewidth .message .box .layui-btn-lg {
    height: 42px;
    line-height: 42px;
    font-size: 0.9375rem;
}

/* mobile — natural scroll */
@media screen and (max-width: 768px) {
    .page_contact.padding {
        min-height: 0;
        padding-top: 80px;
        padding-bottom: 40px;
        display: block;
    }

    .page_contact .pagewidth {
        grid-template-columns: 1fr !important;
        grid-gap: 24px !important;
    }

    .page_contact .pagewidth .message .box {
        padding: 20px !important;
    }

    .page_contact .info .content .item.biz .qr img {
        width: 80px;
        height: 80px;
    }
}

/* ---- Contact form row alignment fix (override layui float/clear) ---- */
.page_contact .pagewidth .message .box .row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-gap: 16px !important;
    align-items: stretch !important;
}

.page_contact .pagewidth .message .box .row>.layui-form-item {
    clear: none !important;
    float: none !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0;
}

.page_contact .pagewidth .message .box .row>.layui-form-item .layui-form-label {
    float: none !important;
    width: 100% !important;
    padding: 0 0 6px 0 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    height: auto !important;
}

.page_contact .pagewidth .message .box .row>.layui-form-item .layui-input-block {
    margin-left: 0 !important;
    flex: 1 !important;
    min-width: 0 !important;
}

.page_contact .pagewidth .message .box .row>.layui-form-item .layui-input {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* ---- Override style.css line 368 padding & layui float for the row ---- */
.page_contact .pagewidth .message .box .row .layui-form-item .layui-form-label {
    padding-top: 0 !important;
    padding-bottom: 6px !important;
}

.page_contact .pagewidth .message .box .row .layui-form-item:after {
    display: none !important;
}

/* ---- Bigger QR, drop the caption ---- */
.page_contact .info .content .item.biz .qr img {
    width: 110px !important;
    height: 110px !important;
}

.page_contact .info .content .item.biz .qr span {
    display: none !important;
}

/* ============================================================
   FORCE: simple block layout for the row, no flex no float
   appended last so it wins
   ============================================================ */
.page_contact .pagewidth .message .box .row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
    align-items: start !important;
}

.page_contact .pagewidth .message .box .row .layui-form-item {
    display: block !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 0;
}

.page_contact .pagewidth .message .box .row .layui-form-item:before,
.page_contact .pagewidth .message .box .row .layui-form-item:after {
    content: none !important;
    display: none !important;
}

.page_contact .pagewidth .message .box .row .layui-form-item>.layui-form-label {
    display: block !important;
    float: none !important;
    clear: none !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 0 6px 0 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    font-size: 0.875rem !important;
    color: #fff !important;
}

.page_contact .pagewidth .message .box .row .layui-form-item>.layui-input-block {
    display: block !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.page_contact .pagewidth .message .box .row .layui-form-item .layui-input {
    display: block !important;
    width: 100% !important;
    height: 38px !important;
    line-height: 38px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    font-size: 0.875rem !important;
}

/* ============================================================
   2K / 4K — scale up banner floating logos & btn padding
   ============================================================ */
@media screen and (min-width: 1600px) {
    .index_banner .pagewidth .row .logo.logo_deepseek {
        width: 130px;
        height: 130px;
        left: -100px;
        top: -120px;
    }

    .index_banner .pagewidth .row .logo.logo_doubao {
        width: 100px;
        height: 100px;
        right: -70px;
        top: -120px;
    }

    .index_banner .pagewidth .row .logo.logo_yuanbao {
        width: 64px;
        height: 64px;
        left: -240px;
        top: 60px;
    }

    .index_banner .pagewidth .row .logo.logo_kimi {
        width: 52px;
        height: 52px;
        right: -150px;
        top: 140px;
    }

    .index_banner .pagewidth .row .logo.logo_wenxinyiyan {
        width: 52px;
        height: 52px;
        left: -150px;
        top: 280px;
    }

    .index_banner .pagewidth .row .logo.logo_baiduaisou {
        width: 40px;
        height: 40px;
        right: -100px;
        top: 300px;
    }

    .index_banner .pagewidth .row .btn {
        padding-top: 100px;
    }

    .index_banner .pagewidth .row .btn .item a {
        font-size: 18px;
        padding: 14px 36px;
    }
}

@media screen and (min-width: 1920px) {
    .index_banner .pagewidth .row .logo.logo_deepseek {
        width: 150px;
        height: 150px;
    }

    .index_banner .pagewidth .row .logo.logo_doubao {
        width: 116px;
        height: 116px;
    }

    .index_banner .pagewidth .row .btn .item a {
        font-size: 20px;
        padding: 16px 44px;
    }
}

/* ============================================================
   Homepage: 30 brand logos (.index_client .content.animation)
   768 / 390 下原 6 列 + 大 padding 导致 logo 过小、显示不全
   ============================================================ */
@keyframes client-logo-breathe {
    0%,
    100% {
        opacity: 0.42;
        filter: brightness(0.9) drop-shadow(0 0 0 rgba(138, 250, 162, 0));
    }

    50% {
        opacity: 0.92;
        filter: brightness(1.12) drop-shadow(0 0 10px rgba(138, 250, 162, 0.35));
    }
}

.index_client .content.animation .item {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    min-width: 0;
}

.index_client .content.animation .item img {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
    animation: client-logo-breathe 3s ease-in-out infinite;
    will-change: opacity, filter;
}

.index_client .content.animation .item:nth-child(6n+1) img {
    animation-delay: 0s;
}

.index_client .content.animation .item:nth-child(6n+2) img {
    animation-delay: 0.25s;
}

.index_client .content.animation .item:nth-child(6n+3) img {
    animation-delay: 0.5s;
}

.index_client .content.animation .item:nth-child(6n+4) img {
    animation-delay: 0.75s;
}

.index_client .content.animation .item:nth-child(6n+5) img {
    animation-delay: 1s;
}

.index_client .content.animation .item:nth-child(6n) img {
    animation-delay: 1.25s;
}

.index_client .content.animation .item:hover img {
    animation: none;
    opacity: 1;
    filter: brightness(1.15) drop-shadow(0 0 14px rgba(60, 120, 244, 0.45));
}

@media screen and (max-width: 1024px) {
    .index_client .content.animation {
        grid-template-columns: repeat(5, 1fr) !important;
        grid-gap: 16px 12px !important;
        padding: 20px 14px !important;
    }
}

@media screen and (max-width: 768px) {
    .index_client {
        padding-top: 60px !important;
    }

    .index_client .title {
        margin-bottom: 20px !important;
    }

    .index_client .content.animation {
        grid-template-columns: repeat(3, 1fr) !important;
        grid-gap: 14px 10px !important;
        padding: 12px 8px !important;
        border-radius: 16px;
    }

    .index_client .content.animation .item {
        min-height: 56px;
        padding: 6px 4px;
    }

    .index_client .content.animation .item img {
        min-height: 40px;
    }
}

@media screen and (max-width: 480px) {
    .index_client .content.animation {
        grid-template-columns: repeat(3, 1fr) !important;
        grid-gap: 12px 8px !important;
        padding: 10px 6px !important;
    }

    .index_client .content.animation .item {
        min-height: 52px;
        padding: 4px 2px;
    }

    .index_client .content.animation .item img {
        min-height: 38px;
    }
}

@media screen and (max-width: 390px) {
    .index_client .content.animation {
        grid-gap: 10px 6px !important;
        padding: 8px 4px !important;
    }

    .index_client .content.animation .item {
        min-height: 48px;
    }

    .index_client .content.animation .item img {
        min-height: 36px;
    }
}

/* ============================================================
   GEO CTA「免费获取GEO策略分析」— 全站统一（不含 .header 导航）
   自适应 + 文字不折行 + hover 渐变发光边框
   ============================================================ */
.index_banner .pagewidth .row .btn,
.product_box1 .btn,
.product_box7 .pagewidth .btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 12px;
}

a.btn-blue.btn-big[href="/contact.html"] {
    position: relative;
    isolation: isolate;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: clamp(6px, 1.5vw, 10px);
    padding: clamp(10px, 2vw, 13px) clamp(14px, 3.5vw, 30px) !important;
    font-size: clamp(0.75rem, 2.6vw, 0.9375rem) !important;
    line-height: 1.2;
    white-space: nowrap !important;
    width: auto !important;
    max-width: 100%;
    box-sizing: border-box;
    border-radius: 50px;
    transition: box-shadow 0.3s ease, background 0.3s ease, border-color 0.3s ease;
}

a.btn-blue.btn-big[href="/contact.html"] i {
    font-size: clamp(1rem, 3vw, 1.25rem);
    flex-shrink: 0;
    line-height: 1;
}

a.btn-blue.btn-big[href="/contact.html"] span {
    white-space: nowrap !important;
    flex-shrink: 0;
}

a.btn-blue.btn-big[href="/contact.html"]::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 0.5px;
    background: linear-gradient(90deg, #8afaa2 0%, #72d1bc 45%, #3c78f4 100%);
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    mask-composite: exclude;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

a.btn-blue.btn-big[href="/contact.html"]:hover {
    background: var(--main);
    color: #fff;
    border-color: transparent;
    box-shadow:
        0 6px 24px rgba(60, 120, 244, 0.45),
        0 2px 12px rgba(138, 250, 162, 0.3);
}

a.btn-blue.btn-big[href="/contact.html"]:hover::after {
    opacity: 1;
}

@media screen and (max-width: 390px) {
    a.btn-blue.btn-big[href="/contact.html"] {
        font-size: clamp(0.6875rem, 3.2vw, 0.8125rem) !important;
        padding: 9px 12px !important;
        gap: 5px;
    }

    a.btn-blue.btn-big[href="/contact.html"] i {
        font-size: 0.9375rem;
    }
}

/* ============================================================
   index_safeguard cards — hover: gradient border
   ============================================================ */
.index_safeguard .content .item {
    position: relative;
    isolation: isolate;
    transition: background 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.index_safeguard .content .item::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 0.5px;
    background: linear-gradient(90deg, #8afaa2 0%, #72d1bc 45%, #3c78f4 100%);
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    mask-composite: exclude;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.index_safeguard .content .item:hover {
    background: rgba(22, 23, 28, 0.6);
    border-color: transparent;
    box-shadow:
        0 6px 24px rgba(60, 120, 244, 0.25),
        0 2px 12px rgba(138, 250, 162, 0.15);
}

.index_safeguard .content .item:hover::after {
    opacity: 1;
}

/* 480px 以下进一步收紧 banner logo，覆盖 style.css 负偏移 */
@media screen and (max-width: 480px) {
    .index_banner .pagewidth .row {
        padding-left: 44px;
        padding-right: 44px;
    }

    .index_banner .pagewidth .row .logo.logo_deepseek {
        width: 46px !important;
        height: 46px !important;
        top: -16px !important;
    }

    .index_banner .pagewidth .row .logo.logo_doubao {
        width: 42px !important;
        height: 42px !important;
        top: -16px !important;
    }

    .index_banner .pagewidth .row .logo.logo_yuanbao {
        width: 32px !important;
        height: 32px !important;
        left: 2px !important;
        top: 46px !important;
    }

    .index_banner .pagewidth .row .logo.logo_kimi {
        width: 32px !important;
        height: 32px !important;
        top: 68px !important;
    }

    .index_banner .pagewidth .row .logo.logo_wenxinyiyan {
        width: 28px !important;
        height: 28px !important;
        top: 130px !important;
    }

    .index_banner .pagewidth .row .logo.logo_baiduaisou {
        width: 26px !important;
        height: 26px !important;
        top: 136px !important;
    }
}

/* ============================================================
   product_box1 — ≤1280px 上图下文，标题/列表居中，标题单行
   ============================================================ */
@media screen and (max-width: 1280px) {
    .product_box1 {
        padding-top: 100px;
    }

    .product_box1 .pagewidth {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        grid-template-columns: 1fr !important;
        gap: 28px;
    }

    .product_box1 .flash {
        order: 1 !important;
        width: min(360px, 88vw) !important;
        max-width: 360px !important;
        height: auto !important;
        aspect-ratio: 1;
        margin: 0 auto !important;
        flex-shrink: 0;
    }

    .product_box1 .flash img.bg,
    .product_box1 .flash img.scan {
        width: 100% !important;
        height: auto !important;
        left: 0 !important;
        top: 0 !important;
    }

    .product_box1 .flash img.scan {
        top: 2px !important;
        left: 2px !important;
    }

    .product_box1 .flash img.icon {
        width: clamp(72px, 22vw, 120px) !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
    }

    .product_box1 .flash .title {
        top: auto !important;
        bottom: 16px !important;
        font-size: 12px !important;
        width: auto !important;
        max-width: 80%;
        padding: 6px 14px !important;
    }

    .product_box1 .info {
        order: 2 !important;
        width: 100% !important;
        max-width: min(680px, 100%) !important;
        min-width: 0;
        margin-left: auto !important;
        margin-right: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }

    .product_box1 .info .title,
    .product_box1 .info .title.animation {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .product_box1 .title h2,
    .product_box1 .title h2.title_green {
        display: block !important;
        width: fit-content !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
        font-size: clamp(0.875rem, 4.5vw, 2rem) !important;
        line-height: 1.35 !important;
        white-space: nowrap;
        word-break: keep-all;
    }

    .product_box1 .title h2 br {
        display: none;
    }

    .product_box1 .content,
    .product_box1 .info .content,
    .product_box1 .info .content.animation {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .product_box1 .content ul {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-top: 20px;
        padding-bottom: 16px;
        text-align: left;
    }

    .product_box1 .content ul li {
        align-items: flex-start !important;
        flex-wrap: nowrap;
        gap: 10px;
        margin-bottom: 12px;
        font-size: 0.9375rem !important;
        line-height: 1.6 !important;
    }

    .product_box1 .content ul li span {
        flex-shrink: 0;
        margin-top: 2px;
    }

    .product_box1 .content ul li p {
        flex: 1;
        min-width: 0;
        margin: 0;
        white-space: normal !important;
        word-break: break-word;
        overflow-wrap: anywhere;
        line-height: 1.6 !important;
        text-align: left;
    }

    .product_box1 .btn {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center;
        width: 100%;
        padding-top: clamp(16px, 4vw, 24px);
        gap: 12px;
    }

    .product_box1 .btn .item {
        width: auto;
        max-width: 100%;
        margin-bottom: 0 !important;
    }
}

/* ============================================================
   product_box8 — mockup 图片 + 浮动 AI logo（≥768px 显示）
   ============================================================ */

/* <768px：不展示图片与浮动 logo */
@media screen and (max-width: 767px) {
    .product_box8 .box .img,
    .product_box8 .img {
        display: none !important;
        height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    .product_box8 .box {
        padding: 48px 16px !important;
    }
}

@media screen and (min-width: 768px) {
    .product_box8 .box .img,
    .product_box8 .img {
        position: relative;
        display: flex !important;
        justify-content: center;
        align-items: flex-end;
        min-width: 0;
        height: auto !important;
        padding: clamp(40px, 7vw, 64px) clamp(8px, 2vw, 20px) 0;
        box-sizing: border-box;
        overflow: visible;
    }

    .product_box8 .img .chat-mockup {
        position: relative;
        z-index: 2;
        width: 100%;
        max-width: min(560px, 100%);
        margin: 0 auto;
        line-height: 0;
    }

    .product_box8 .img .chat-mockup img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: contain;
        object-position: center bottom;
    }

    .product_box8 .img .logo {
        display: block !important;
        position: absolute;
        padding: 6px;
        border-radius: 120px;
        background: #fff;
        overflow: hidden;
        z-index: 3;
    }

    .product_box8 .img .logo img {
        width: 100%;
        height: 100%;
        border-radius: 120px;
    }

    /* logo 围绕 mockup，坐标相对 .img，不侵入上方文字区 */
    .product_box8 .img .logo.logo_deepseek {
        width: clamp(44px, 6.5vw, 72px) !important;
        height: clamp(44px, 6.5vw, 72px) !important;
        left: clamp(4%, calc(50% - min(280px, 42vw) - 12px), 12%) !important;
        top: 8% !important;
        right: auto !important;
    }

    .product_box8 .img .logo.logo_doubao {
        width: clamp(40px, 6vw, 64px) !important;
        height: clamp(40px, 6vw, 64px) !important;
        right: clamp(4%, calc(50% - min(280px, 42vw) - 8px), 10%) !important;
        top: 4% !important;
        left: auto !important;
    }

    .product_box8 .img .logo.logo_yuanbao {
        width: clamp(36px, 5vw, 50px) !important;
        height: clamp(36px, 5vw, 50px) !important;
        left: 56% !important;
        top: 2% !important;
        right: auto !important;
    }

    .product_box8 .img .logo.logo_kimi {
        width: clamp(32px, 4.5vw, 44px) !important;
        height: clamp(32px, 4.5vw, 44px) !important;
        right: 2% !important;
        top: 42% !important;
        left: auto !important;
    }

    .product_box8 .img .logo.logo_wenxinyiyan {
        width: clamp(32px, 4.5vw, 44px) !important;
        height: clamp(32px, 4.5vw, 44px) !important;
        left: 2% !important;
        top: 48% !important;
        right: auto !important;
    }

    .product_box8 .img .logo.logo_baiduaisou {
        width: clamp(28px, 4vw, 36px) !important;
        height: clamp(28px, 4vw, 36px) !important;
        right: 8% !important;
        bottom: 16% !important;
        top: auto !important;
        left: auto !important;
    }
}

@media screen and (max-width: 1280px) {
    .product_box8:before,
    .product_box8:after {
        display: none;
    }

    .product_box8 .box {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
        padding: 48px 28px 0 !important;
        gap: 20px !important;
        overflow: hidden;
    }

    .product_box8 .info {
        order: 1;
        width: 100%;
        padding-bottom: 0 !important;
        position: relative;
        z-index: 2;
    }

    .product_box8 .info h2 {
        display: block !important;
        font-size: clamp(1.375rem, 1rem + 1.8vw, 2rem) !important;
        line-height: 1.35 !important;
    }

    .product_box8 .info h3 {
        font-size: clamp(1.0625rem, 0.9rem + 0.9vw, 1.5rem) !important;
    }

    .product_box8 .info p {
        font-size: clamp(0.875rem, 0.78rem + 0.45vw, 1.0625rem) !important;
        line-height: 1.65 !important;
    }

    .product_box8 .img {
        order: 2;
        position: relative !important;
        width: 100% !important;
        min-height: 0;
        margin-top: 4px;
        overflow: visible;
    }

    .product_box8 .img .chat-mockup {
        max-width: min(480px, 100%);
    }
}

/* 无 mockup（<768px）时上下 padding 均为 48，覆盖上方 1280 规则的 padding-bottom: 0 */
@media screen and (max-width: 767px) {
    .product_box8 .box {
        padding: 48px 16px !important;
    }
}

@media screen and (max-width: 480px) {
    .product_box1 {
        padding-top: 80px;
    }

    .product_box1 .flash {
        width: min(280px, 92vw) !important;
        max-width: 280px !important;
    }

    .product_box1 .title h2 {
        font-size: clamp(0.8125rem, 4.2vw, 1.375rem) !important;
    }

    .product_box1 .content ul li {
        font-size: 0.875rem !important;
    }
}

/* ============================================================
   Media center (list_news) — 1440px 左右 120px 边距，卡片响应式列数
   ============================================================ */
body:has(.list_news) {
    --media-inset-x: clamp(16px, calc((100vw - 1200px) / 2), 120px);
}

body:has(.list_news) .page_title .pagewidth,
body:has(.list_news) .page_menu .pagewidth,
body:has(.list_news) .list_news .pagewidth {
    width: 100% !important;
    max-width: min(1200px, calc(100vw - 2 * var(--media-inset-x))) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
}

/* 小屏：2 列（覆盖 style.css 768px 的 display:block 单列） */
@media screen and (max-width: 768px) {
    .list_news .article-list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    .list_news .article-list .item {
        margin-bottom: 0 !important;
        padding: 14px;
    }

    .list_news .article-list .item .img {
        margin-bottom: 12px;
    }

    .list_news .article-list .item .info h3 {
        margin-bottom: 10px;
        font-size: 0.875rem;
        line-height: 1.4;
    }

    .list_news .article-list .item .info h3 a {
        font-size: inherit;
    }

    .list_news .article-list .item .info .description {
        font-size: 0.75rem;
        line-height: 1.5;
        margin-bottom: 10px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .list_news .article-list .item .info .more {
        padding-top: 10px;
    }

    .list_news .article-list .item .info .more a {
        font-size: 0.8125rem;
    }
}

/* 390px：1 列 */
@media screen and (max-width: 390px) {
    .list_news .article-list {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .list_news .article-list .item {
        padding: 16px;
    }

    .list_news .article-list .item .info h3 {
        font-size: 0.9375rem;
    }

    .list_news .article-list .item .info .description {
        font-size: 0.8125rem;
        -webkit-line-clamp: 3;
    }
}

/* ============================================================
   About us (about_box_1) — 背景 #01000f、页边距、头部图/logo 自适应
   ============================================================ */
html:has(.about_box_1),
body:has(.about_box_1) {
    --about-inset-x: clamp(16px, calc((100vw - 1200px) / 2), 120px);
    --about-header-offset: clamp(64px, 11vw, 92px);
    --about-earth-h: clamp(220px, 50vw, 730px);
    background: #01000f !important;
}

body:has(.about_box_1)::before {
    display: none;
}

body:has(.about_box_1) .about_box_1 {
    background: #01000f;
    padding-top: clamp(
        200px,
        calc(var(--about-header-offset) + var(--about-earth-h) - 80px),
        720px
    ) !important;
}

@media screen and (min-width: 1024px) {
    body:has(.about_box_1) .about_box_1 {
        padding-top: clamp(
            240px,
            calc(var(--about-header-offset) + var(--about-earth-h) - 160px),
            520px
        ) !important;
    }

    .about_box_1 .logo {
        margin-top: clamp(-32px, -4vw, -64px);
    }
}

@media screen and (min-width: 1280px) {
    body:has(.about_box_1) .about_box_1 {
        padding-top: clamp(
            260px,
            calc(var(--about-header-offset) + var(--about-earth-h) - 220px),
            460px
        ) !important;
    }

    .about_box_1 .logo {
        margin-top: clamp(-48px, -5vw, -88px);
    }
}

body:has(.about_box_1) .about_box_1 .pagewidth {
    width: 100% !important;
    max-width: min(1200px, calc(100vw - 2 * var(--about-inset-x))) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
}

body:has(.about_box_1) .about_earth_box {
    position: absolute;
    left: 0;
    right: 0;
    top: var(--about-header-offset);
    width: 100%;
    max-width: 100vw;
    height: var(--about-earth-h);
    overflow: hidden;
    z-index: 0;
    background: url("../images/earth.png") no-repeat center top;
    background-size: clamp(280px, 92vw, 1100px) auto;
    background-position: center top;
}

.about_box_1 .content {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

.about_box_1 .html,
.about_box_1 .html p,
.about_box_1 .content .row .info {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.about_box_1 .html img,
.about_box_1 .photo img,
.about_box_1 .photo .swiper-slide img,
.about_box_1 .content .row .img img,
.about_box_1 .team .item img,
.about_box_1 .html > img {
    max-width: 100% !important;
    height: auto !important;
    display: block;
}

/* logo_blue — 随页面缩放，始终水平居中 */
.about_box_1 .logo {
    width: 100%;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center;
    margin-bottom: clamp(20px, 3.5vw, 40px);
    position: relative;
    z-index: 2;
}

.about_box_1 .logo img {
    display: block !important;
    width: clamp(140px, 38vw, 260px) !important;
    height: auto !important;
    max-width: min(280px, 76vw) !important;
    max-height: clamp(36px, 5.5vw, 72px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    object-fit: contain;
}

.about_box_1 .content .row {
    min-width: 0;
}

.about_box_1 .content .row .img {
    min-width: 0;
    overflow: hidden;
}

.about_box_1 .photo,
.about_box_1 .photo .swiper,
.about_box_1 .photo .swiper-wrapper,
.about_box_1 .photo .swiper-slide {
    max-width: 100%;
    box-sizing: border-box;
}

.about_box_1 .photo .swiper {
    overflow: hidden;
}

.about_box_1 .html table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}

@media screen and (max-width: 768px) {
    html:has(.about_box_1),
    body:has(.about_box_1) {
        --about-header-offset: 56px;
        --about-earth-h: clamp(180px, 46vw, 300px);
    }

    body:has(.about_box_1) .about_earth_box {
        background-size: clamp(260px, 96vw, 640px) auto;
    }

    .about_box_1 .logo img {
        width: clamp(120px, 44vw, 200px) !important;
        max-height: clamp(32px, 5vw, 48px) !important;
    }

    .about_box_1 .content .row .img img {
        width: 100% !important;
    }

    .about_box_1 .team {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: clamp(8px, 1.5vw, 16px) !important;
    }

    .about_box_1 .team .item {
        min-width: 0;
    }

    .about_box_1 .team .item img {
        margin-bottom: clamp(8px, 2vw, 12px) !important;
        border-radius: clamp(6px, 1.5vw, 10px) !important;
    }

    .about_box_1 .team .item .name h4 {
        font-size: clamp(0.75rem, 2.2vw, 1rem) !important;
    }

    .about_box_1 .team .item .name span,
    .about_box_1 .team .item .name p,
    .about_box_1 .team .item > p {
        font-size: clamp(0.625rem, 1.8vw, 0.8125rem) !important;
        line-height: 1.45 !important;
    }
}

@media screen and (max-width: 480px) {
    .about_box_1 .team {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    .about_box_1 .team .item .name h4 {
        font-size: clamp(0.875rem, 3.5vw, 1.125rem) !important;
    }

    .about_box_1 .team .item .name span,
    .about_box_1 .team .item .name p,
    .about_box_1 .team .item > p {
        font-size: clamp(0.6875rem, 2.8vw, 0.8125rem) !important;
    }
}