/* =========================================================
   连邦 · 内页共用样式 inner.css
   延续首页设计语言：连邦蓝 #0075c1 / 品牌红 #e53935
   仅内页引用，不影响已确认首页
   ========================================================= */

/* ===== 内页通用 ===== */
.inner-page {
    background: #fff;
    overflow-x: clip;
    padding-top: 0;
}
.inner-page .top-bar {
    position: static;
    height: auto;
    padding: 8px 0;
}
.inner-page .top-bar .inner { height: auto; }
.inner-page .reveal.from-left,
.inner-page .reveal.from-right {
    transform: translateY(44px);
}
.inner-page .reveal.visible {
    transform: none;
}
.inner-page .navbar {
    position: sticky;
    top: 0;
    z-index: 300;
}
.inner-page .section { padding: 66px 0; }
.bg-soft  { background: #f7f9fd; }
.bg-blue  { background: #f8fbff; }
.sec-head-center { text-align: center; }
.sec-head-center .sec-line { margin-left: auto; margin-right: auto; }
.sec-sub { font-size: 15px; color: #667; line-height: 1.9; max-width: 820px; margin: -18px 0 40px; }
.sec-head-center .sec-sub { margin-left: auto; margin-right: auto; }

/* ===== 内页 Banner ===== */
.page-hero {
    position: relative;
    height: 340px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(248,251,255,.72) 42%, rgba(240,246,253,.30) 100%),
        url('../images/banner-brand-blue-red.png') center/cover no-repeat;
}
.page-hero-about {
    background-image:
        linear-gradient(90deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.54) 36%, rgba(255,255,255,.08) 62%, rgba(255,255,255,0) 100%),
        url('../images/inner-banners/about-banner.png');
}
.page-hero-services {
    background-image:
        linear-gradient(90deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.54) 36%, rgba(255,255,255,.08) 62%, rgba(255,255,255,0) 100%),
        url('../images/inner-banners/services-banner.png');
}
.page-hero-news {
    background-image:
        linear-gradient(90deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.54) 36%, rgba(255,255,255,.08) 62%, rgba(255,255,255,0) 100%),
        url('../images/inner-banners/news-banner.png');
}
.page-hero-join {
    background-image:
        linear-gradient(90deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.54) 36%, rgba(255,255,255,.08) 62%, rgba(255,255,255,0) 100%),
        url('../images/inner-banners/join-banner.png');
}
.page-hero-contact {
    background-image:
        linear-gradient(90deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.54) 36%, rgba(255,255,255,.08) 62%, rgba(255,255,255,0) 100%),
        url('../images/inner-banners/contact-banner.png');
}
.page-hero::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 4px;
    background: linear-gradient(90deg, #0075c1 0 62%, #e53935 62% 100%);
}
.page-hero .container { position: relative; z-index: 2; width: 100%; }
.page-hero-tag {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,.7);
    border: 1px solid rgba(0,117,193,.22);
    color: #00508a;
    font-size: 13px;
    border-radius: 20px;
    padding: 5px 16px;
    margin-bottom: 20px;
}
.page-hero-tag .dot { width: 6px; height: 6px; border-radius: 50%; background: #e53935; }
.page-hero h1 {
    font-size: 42px;
    font-weight: 700;
    color: #0f1f3d;
    letter-spacing: 2px;
    line-height: 1.15;
    margin-bottom: 14px;
}
.page-hero .sub {
    font-size: 17px;
    color: rgba(15,31,61,.72);
    max-width: 640px;
    line-height: 1.8;
}
.page-hero .crumb { font-size: 13px; color: #7a879b; margin-top: 18px; }
.page-hero .crumb a { color: #7a879b; }
.page-hero .crumb a:hover { color: #0075c1; }

/* ===== 吸顶子导航 anchor-tabs ===== */
.anchor-tabs {
    position: sticky;
    top: 68px;
    z-index: 150;
    background: rgba(255,255,255,.94);
    backdrop-filter: saturate(1.2) blur(6px);
    border-bottom: 1px solid #e8ecf2;
    box-shadow: 0 1px 0 rgba(0,0,0,.02);
}
.anchor-tabs .inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
}
.anchor-tabs .inner::-webkit-scrollbar { display: none; }
.anchor-tabs a {
    position: relative;
    white-space: nowrap;
    font-size: 15px;
    color: #4a5568;
    padding: 16px 20px;
    transition: color .25s;
}
.anchor-tabs a::after {
    content: '';
    position: absolute;
    left: 20px; right: 20px; bottom: 8px;
    height: 2px;
    background: linear-gradient(90deg, #0075c1, #e53935);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .3s cubic-bezier(.2,.8,.2,1);
}
.anchor-tabs a:hover { color: #0075c1; }
.anchor-tabs a.active { color: #0075c1; font-weight: 600; }
.anchor-tabs a.active::after { transform: scaleX(1); }

/* 锚点偏移（固定导航 + 吸顶子导航） */
.anchor-target { scroll-margin-top: 128px; }

/* ===== 左右图文 split ===== */
.split {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 48px;
    align-items: center;
}
.split.reverse { grid-template-columns: 1fr 1.05fr; }
.split.reverse .split-media { order: -1; }
.split-text .body { font-size: 15px; color: #556; line-height: 2.02; margin-bottom: 16px; }
.split-media img {
    width: 100%;
    border-radius: 12px;
    object-fit: cover;
    box-shadow: 0 16px 40px rgba(10,40,80,.12);
}
.split-media.frame {
    border-radius: 12px;
    padding: 22px;
    background: linear-gradient(180deg,#f9fbff,#eef4fb);
    border: 1px solid #e5edf7;
}

/* ===== 公司简介 · 整版文字 ===== */
.profile-story {
    width: 100%;
    max-width: none;
    margin: 6px 0 0;
    padding-left: 0;
    padding-right: 0;
}
.profile-copy p {
    margin: 0 0 20px;
    color: #4d596a;
    font-size: 16px;
    line-height: 2.08;
    text-align: justify;
    text-justify: inter-ideograph;
}
.profile-copy p:last-child { margin-bottom: 0; }

/* ===== 数据卡片 fact-cards（复用 count-num）===== */
.fact-cards {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin-top: 8px;
}
.fact-card {
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 12px;
    padding: 26px 18px;
    text-align: center;
    transition: box-shadow .25s, transform .25s, border-color .25s;
}
.fact-card:hover {
    box-shadow: 0 12px 30px rgba(0,117,193,.12);
    transform: translateY(-4px);
    border-color: rgba(0,117,193,.25);
}
.fact-card .num { font-size: 38px; font-weight: 700; color: #0075c1; line-height: 1; }
.fact-card .num sup { font-size: 15px; color: #e53935; vertical-align: super; margin-left: 1px; }
.fact-card .cap { font-size: 13.5px; color: #667; margin-top: 12px; }

/* =========================================================
   发展历程 · 极简年表 vtl
   借鉴小米式单列阅读体验，保留连邦品牌线条与重点层级
   ========================================================= */
.vtl {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 6px 0 4px;
}
.vtl-line {
    position: absolute;
    left: 24.5%;
    top: 12px;
    bottom: 12px;
    width: 1px;
    background: #d9e2eb;
    border-radius: 2px;
    overflow: hidden;
}
.vtl-fill {
    position: absolute;
    left: 0; top: 0;
    width: 100%; height: 0;
    background: linear-gradient(180deg, #0075c1 0%, #0075c1 78%, #e53935 100%);
    opacity: .82;
}
.vtl-items { position: relative; }
.vtl-item,
.vtl-item:nth-child(even) {
    position: relative;
    width: 100%;
    margin-left: 0;
    padding: 0 0 28px 32%;
}
.vtl-item::before,
.vtl-item:nth-child(even)::before {
    content: '';
    position: absolute;
    left: 24.5%;
    top: 13px;
    width: 26px;
    height: 1px;
    background: #d9e2eb;
}
.vtl-node,
.vtl-item:nth-child(even) .vtl-node {
    position: absolute;
    top: 6px;
    left: calc(24.5% - 7px);
    right: auto;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid #f2a51a;
    z-index: 2;
    transition: border-color .28s, box-shadow .28s, transform .28s, background .28s;
}
.vtl-item.lit .vtl-node {
    background: #0075c1;
    border-color: #0075c1;
    box-shadow: 0 0 0 7px rgba(0,117,193,.10);
}
.vtl-item:hover .vtl-node,
.vtl-item:nth-child(even):hover .vtl-node {
    transform: scale(1.16);
}
.vtl-card {
    position: static;
    min-height: 64px;
    padding: 0 0 24px;
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(216,226,236,.86);
    border-radius: 0;
    box-shadow: none;
    transition: border-color .24s;
}
.vtl-card::after { display: none; }
.vtl-card:hover {
    box-shadow: none;
    transform: none;
    border-color: rgba(0,117,193,.26);
}
.vtl-year {
    position: absolute;
    left: 8%;
    top: -6px;
    width: 140px;
    color: #26394c;
    font-size: 34px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
}
.vtl-year::after {
    content: '';
    display: block;
    width: 34px;
    height: 3px;
    margin-top: 14px;
    background: linear-gradient(90deg, #0075c1 0 68%, #e53935 68% 100%);
    border-radius: 2px;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .25s, transform .25s;
}
.vtl-item.lit .vtl-year::after,
.vtl-item:hover .vtl-year::after {
    opacity: 1;
    transform: none;
}
.vtl-title {
    max-width: 820px;
    color: #172b3f;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.65;
    margin-bottom: 8px;
}
.vtl-desc {
    max-width: 820px;
    color: #667584;
    font-size: 15px;
    line-height: 1.9;
}
.nowrap { white-space: nowrap; }

.vtl-future {
    position: relative;
    width: 100%;
    margin-left: 0;
    padding: 18px 0 4px 32%;
}
.vtl-future::after {
    content: '';
    position: absolute;
    left: 24.5%;
    top: 40px;
    bottom: 0;
    width: 18px;
    transform: translateX(-50%);
    background: #f7f9fd;
    z-index: 2;
}
.vtl-future::before { display: none; }
.vtl-item.vtl-future .vtl-node,
.vtl-item.vtl-future:nth-child(even) .vtl-node {
    top: 19px;
    left: calc(24.5% - 7px);
    right: auto;
    transform: none;
    width: 15px;
    height: 15px;
    border-color: #0075c1;
    background: #0075c1;
    box-shadow: 0 0 0 7px rgba(0,117,193,.10);
}
.vtl-item.vtl-future:hover .vtl-node { transform: scale(1.12); }
.future-path {
    position: relative;
    z-index: 3;
    width: auto;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
}
.future-down {
    position: relative;
    width: 40px;
    height: 16px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
}
.future-down span {
    display: block;
    width: 4px;
    background: #e53935;
    opacity: 0;
    transform: scaleX(0);
    transform-origin: left center;
    transition: opacity .18s ease, transform .24s ease;
}
.future-down span:nth-child(1) { height: 16px; }
.future-down span:nth-child(2) { height: 12px; }
.future-down span:nth-child(3) { height: 9px; }
.future-down span:nth-child(4) { height: 7px; }
.future-down span:nth-child(5) { height: 5px; }
.future-down span:nth-child(6) { height: 3px; }
.vtl-future.lit .future-down span {
    opacity: 1;
    transform: scaleX(1);
}
.vtl-future.lit .future-down span:nth-child(1) { transition-delay: 0s; }
.vtl-future.lit .future-down span:nth-child(2) { transition-delay: .12s; }
.vtl-future.lit .future-down span:nth-child(3) { transition-delay: .24s; }
.vtl-future.lit .future-down span:nth-child(4) { transition-delay: .36s; }
.vtl-future.lit .future-down span:nth-child(5) { transition-delay: .48s; }
.vtl-future.lit .future-down span:nth-child(6) { transition-delay: .60s; }
.vtl-future:not(.lit) .future-down span {
    transition-delay: 0s;
}
.future-down::after {
    display: none;
}
.future-word {
    margin-top: 0;
    color: rgba(0,117,193,.62);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 3px;
}
@keyframes futureDrop {
    0%, 100% { transform: translateY(0); opacity: .62; }
    50% { transform: translateY(10px); opacity: 1; }
}

@media (max-width: 1180px) {
    .vtl-line,
    .vtl-item::before,
    .vtl-item:nth-child(even)::before,
    .vtl-future::after {
        left: 214px;
    }
    .vtl-node,
    .vtl-item:nth-child(even) .vtl-node,
    .vtl-item.vtl-future .vtl-node,
    .vtl-item.vtl-future:nth-child(even) .vtl-node {
        left: 207px;
    }
    .vtl-item,
    .vtl-item:nth-child(even),
    .vtl-future {
        padding-left: 286px;
    }
    .vtl-year {
        left: 0;
    }
    .vtl-title,
    .vtl-desc {
        max-width: 680px;
    }
}

@media (max-width: 900px) {
    .vtl {
        max-width: 100%;
    }
    .vtl-line { left: 22px; }
    .vtl-item,
    .vtl-item:nth-child(even) {
        width: 100%;
        margin-left: 0;
        padding: 0 0 26px 58px;
    }
    .vtl-item::before,
    .vtl-item:nth-child(even)::before {
        display: none;
    }
    .vtl-node,
    .vtl-item:nth-child(even) .vtl-node {
        left: 15px;
        right: auto;
        top: 7px;
    }
    .vtl-card {
        padding-bottom: 22px;
    }
    .vtl-year {
        position: static;
        width: auto;
        margin-bottom: 12px;
        font-size: 27px;
    }
    .vtl-year::after {
        margin-top: 10px;
    }
    .vtl-title {
        font-size: 17px;
    }
    .vtl-desc {
        font-size: 14px;
    }
    .vtl-future,
    .vtl-item.vtl-future {
        display: block;
        padding: 8px 0 14px 58px;
    }
    .vtl-future::after { display: none; }
    .vtl-item.vtl-future .vtl-node,
    .vtl-item.vtl-future:nth-child(even) .vtl-node {
        left: 15px;
        top: 15px;
    }
    .future-path { width: auto; margin: 0; }
    .future-word { font-size: 11px; letter-spacing: 2px; transform: none; }
}

/* ===== 企业文化 · 整合模块 culture-system ===== */
.culture-ico {
    width: 46px;
    height: 46px;
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(0,117,193,.12), rgba(0,117,193,.05));
    color: #0075c1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.culture-ico svg { width: 23px; height: 23px; }

.culture-system {
    display: grid;
    grid-template-columns: minmax(300px, 390px) 1fr;
    gap: 22px;
    align-items: stretch;
}
.culture-lead {
    position: relative;
    min-height: 284px;
    border-radius: 8px;
    padding: 34px 34px 30px;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(0,42,76,.96), rgba(0,91,151,.90)),
        url('../images/svc1.jpg') center/cover;
    box-shadow: 0 18px 42px rgba(0,58,99,.18);
}
.culture-lead::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255,255,255,.07) 1px, transparent 1px);
    background-size: 38px 38px;
    opacity: .35;
}
.culture-lead > * {
    position: relative;
    z-index: 1;
}
.culture-kicker,
.culture-en {
    display: block;
    font-size: 12px;
    letter-spacing: 2.6px;
    text-transform: uppercase;
}
.culture-kicker {
    color: rgba(255,255,255,.68);
    margin-bottom: 18px;
}
.culture-lead h3 {
    margin-bottom: 18px;
    color: #fff;
    font-size: 28px;
    line-height: 1.35;
}
.culture-lead p {
    max-width: 320px;
    color: rgba(255,255,255,.82);
    font-size: 15px;
    line-height: 1.9;
}
.culture-values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.culture-value-card {
    min-height: 284px;
    border: 1px solid #e4edf3;
    border-radius: 8px;
    padding: 28px 24px 24px;
    background: linear-gradient(180deg, #fff, #f8fbfd);
    box-shadow: 0 10px 28px rgba(8,32,62,.06);
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.culture-value-card:hover {
    transform: translateY(-4px);
    border-color: rgba(0,117,193,.26);
    box-shadow: 0 18px 38px rgba(8,32,62,.10);
}
.culture-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 26px;
}
.culture-card-head > span {
    color: #e53935;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1px;
}
.culture-en {
    color: #7890a3;
    margin-bottom: 12px;
}
.culture-value-card h4 {
    margin-bottom: 14px;
    color: #0a1f35;
    font-size: 24px;
    line-height: 1.35;
}
.culture-value-card p {
    color: #526679;
    font-size: 15px;
    line-height: 1.9;
}

@media (max-width: 1080px) {
    .culture-system {
        grid-template-columns: 1fr;
    }
    .culture-lead {
        min-height: 240px;
    }
    .culture-lead h3,
    .culture-lead p {
        max-width: 620px;
    }
}

@media (max-width: 760px) {
    .culture-values {
        grid-template-columns: 1fr;
    }
    .culture-lead,
    .culture-value-card {
        min-height: 0;
        padding: 24px 20px;
    }
    .culture-lead h3 {
        font-size: 24px;
    }
    .culture-value-card h4 {
        font-size: 21px;
    }
}

/* ===== 资质荣誉 · 清单 + 扇形示意 ===== */
.honors-overview {
    display: grid;
    grid-template-columns: minmax(0, 1.16fr) minmax(340px, .84fr);
    gap: 28px;
    align-items: stretch;
}
.honors-list-card,
.honors-fan {
    border: 1px solid #e4edf3;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(8,32,62,.07);
}
.honors-list-card {
    padding: 28px 30px 30px;
}
.honors-list-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
    padding-bottom: 16px;
    border-bottom: 1px solid #edf2f6;
}
.honors-list-head span {
    color: #8395a7;
    font-size: 12px;
    letter-spacing: 2px;
}
.honors-list-head strong {
    color: #0075c1;
    font-size: 22px;
}
.honors-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 26px;
    margin: 0;
    padding-left: 21px;
    color: #33475b;
    font-size: 14px;
    line-height: 1.55;
}
.honors-list li::marker {
    color: #0075c1;
    font-weight: 700;
}
.honors-fan {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    perspective: 1500px;
    perspective-origin: 26% 42%;
    background:
        radial-gradient(circle at 24% 30%, rgba(255,255,255,.9), transparent 52%),
        radial-gradient(circle at 78% 78%, rgba(0,117,193,.16), transparent 56%),
        linear-gradient(180deg, #f9fbff, #eaf3fb);
}
.honors-fan::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(118deg, rgba(255,255,255,.55) 4%, rgba(255,255,255,0) 34%, rgba(255,255,255,0) 66%, rgba(10,40,70,.1) 100%);
}
.honors-fan::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 190px;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(238,246,252,0), rgba(238,246,252,.88) 46%, #eef6fc 78%);
    z-index: 3;
}
.honors-fan-stage {
    position: absolute;
    inset: -14% -20% -10% -10%;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 11px 9px;
    transform-style: preserve-3d;
    transform: rotateY(-17deg) rotateX(6deg) rotate(-2deg);
    transform-origin: 16% 46%;
    -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.28), #000 20%, #000 56%, rgba(0,0,0,0) 88%);
    mask-image: linear-gradient(180deg, rgba(0,0,0,.28), #000 20%, #000 56%, rgba(0,0,0,0) 88%);
}
.honors-fan-stage img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 8%;
    padding: 4px;
    border: 1px solid rgba(206,221,236,.9);
    border-radius: 4px;
    background: #fff;
    filter: saturate(.86) contrast(.96);
    transition: transform .5s cubic-bezier(.22,.61,.36,1), opacity .5s ease;
}
/* 分列景深：越靠右越远、越淡 */
.honors-fan-stage img:nth-child(6n+1) {
    transform: translate3d(0, -9px, 44px);
    box-shadow: 0 16px 28px rgba(20,54,87,.2);
    opacity: 1;
}
.honors-fan-stage img:nth-child(6n+2) {
    transform: translate3d(0, 7px, 26px);
    box-shadow: 0 13px 24px rgba(20,54,87,.17);
    opacity: .97;
}
.honors-fan-stage img:nth-child(6n+3) {
    transform: translate3d(0, -6px, 8px);
    box-shadow: 0 11px 20px rgba(20,54,87,.15);
    opacity: .93;
}
.honors-fan-stage img:nth-child(6n+4) {
    transform: translate3d(0, 9px, -10px);
    box-shadow: 0 9px 17px rgba(20,54,87,.13);
    opacity: .87;
}
.honors-fan-stage img:nth-child(6n+5) {
    transform: translate3d(0, -5px, -28px);
    box-shadow: 0 7px 14px rgba(20,54,87,.11);
    opacity: .8;
}
.honors-fan-stage img:nth-child(6n+6) {
    transform: translate3d(0, 11px, -46px);
    box-shadow: 0 6px 12px rgba(20,54,87,.09);
    opacity: .72;
}
.honors-fan:hover .honors-fan-stage img {
    opacity: 1;
}
.honors-fan:hover .honors-fan-stage img:nth-child(6n+1) { transform: translate3d(0, -9px, 60px); }
.honors-fan:hover .honors-fan-stage img:nth-child(6n+2) { transform: translate3d(0, 7px, 40px); }
.honors-fan:hover .honors-fan-stage img:nth-child(6n+3) { transform: translate3d(0, -6px, 22px); }
.honors-fan:hover .honors-fan-stage img:nth-child(6n+4) { transform: translate3d(0, 9px, 4px); }
.honors-fan:hover .honors-fan-stage img:nth-child(6n+5) { transform: translate3d(0, -5px, -14px); }
.honors-fan:hover .honors-fan-stage img:nth-child(6n+6) { transform: translate3d(0, 11px, -32px); }
.honors-fan-caption {
    position: absolute;
    left: 34px;
    right: 34px;
    bottom: 34px;
    z-index: 4;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 20px;
    border-top: 1px solid rgba(0,117,193,.16);
    text-align: center;
}
.honors-fan-caption span {
    color: #6f8398;
    font-size: 13px;
}
.honors-fan-caption strong {
    color: #0a1f35;
    font-size: 24px;
}

@media (max-width: 1080px) {
    .honors-overview {
        grid-template-columns: 1fr;
    }
    .honors-fan {
        min-height: 460px;
    }
    .honors-fan-stage {
        grid-template-columns: repeat(8, minmax(0, 1fr));
        inset: -10% -14% -8% -6%;
        transform: rotateY(-12deg) rotateX(4deg) rotate(-1.5deg);
    }
}

@media (max-width: 760px) {
    .honors-list-card {
        padding: 22px 18px 24px;
    }
    .honors-list-head {
        display: block;
    }
    .honors-list-head strong {
        display: block;
        margin-top: 8px;
        font-size: 20px;
    }
    .honors-list {
        grid-template-columns: 1fr;
        gap: 8px;
        font-size: 13px;
    }
    .honors-fan {
        min-height: 360px;
    }
    .honors-fan-stage {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        inset: -10% -12% -8% -6%;
        gap: 10px 9px;
        transform: rotateY(-10deg) rotateX(3deg) rotate(-1.5deg);
    }
    .honors-fan-caption {
        left: 20px;
        right: 20px;
        bottom: 22px;
    }
    .honors-fan-caption strong {
        font-size: 21px;
    }
}

/* ===== 资质荣誉 · 固定证书墙 honors-wall ===== */
.honors-wall {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}
.honors-wall .honor-card {
    grid-column: span 2;
}
.honors-wall .honor-card:nth-child(-n+3) {
    grid-column: span 4;
}
.honors-wall .honor-card:nth-child(-n+3) .honor-img-wrap {
    aspect-ratio: 1.32 / 1;
    padding: 16px;
}
.honors-wall .honor-card:nth-child(-n+3) .honor-name {
    font-size: 14px;
    font-weight: 700;
    color: #0a1f35;
}
.honors-wall .honor-img-wrap {
    aspect-ratio: 1 / 1.22;
    padding: 10px;
}
.honors-wall .honor-img-wrap img {
    height: 100%;
    object-fit: contain;
}

@media (max-width: 900px) {
    .honors-wall { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .honors-wall .honor-card,
    .honors-wall .honor-card:nth-child(-n+3) { grid-column: span 3; }
}

@media (max-width: 560px) {
    .honors-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .honors-wall .honor-card,
    .honors-wall .honor-card:nth-child(-n+3) { grid-column: span 1; }
    .honors-wall .honor-card:nth-child(-n+3) .honor-img-wrap,
    .honors-wall .honor-img-wrap { aspect-ratio: 1 / 1.2; padding: 8px; }
}

/* Legacy fallback for old pages using honors-masonry */
.honors-masonry {
    display: block;
    columns: 4 250px;
    column-gap: 18px;
}
.honors-masonry .honor-card {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    margin-bottom: 18px;
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .55s ease, transform .55s ease, box-shadow .25s, border-color .25s;
}
.honors-masonry .honor-card.shown { opacity: 1; transform: translateY(0); }
.honors-masonry .honor-card.shown:hover { transform: translateY(-4px); }
/* 保留证书原始比例 */
.honors-masonry .honor-img-wrap { aspect-ratio: auto; padding: 12px; }
.honors-masonry .honor-img-wrap img { height: auto; }

/* ===== 能力/场景标签 ===== */
.cap-tags { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 4px; }
.cap-tag {
    font-size: 13px;
    color: #00508a;
    background: rgba(0,117,193,.08);
    border: 1px solid rgba(0,117,193,.18);
    border-radius: 20px;
    padding: 6px 15px;
}
.scene-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px 22px; margin-top: 16px; }
.scene-list li {
    position: relative;
    padding-left: 20px;
    font-size: 14px;
    color: #556;
    line-height: 1.8;
}
.scene-list li::before {
    content: '';
    position: absolute; left: 0; top: 10px;
    width: 7px; height: 7px; border-radius: 2px;
    background: linear-gradient(135deg,#0075c1,#e53935);
}

/* ===== 服务详情 service-block ===== */
.service-block { padding: 66px 0; border-bottom: 1px solid #eef2f8; }
.service-block:nth-child(even) { background: #f7f9fd; }
.service-block .badge {
    display: inline-block;
    font-size: 12px; letter-spacing: 2px;
    color: #0075c1;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.service-block h2 { font-size: 28px; color: #0a1f35; margin-bottom: 8px; }
.llm-service-block {
    background:
        linear-gradient(180deg, #f8fbff 0%, #fff 42%),
        radial-gradient(circle at 82% 0%, rgba(0,117,193,.08), transparent 34%);
}
.llm-service-block .split-media img {
    aspect-ratio: 16 / 9;
    object-position: center;
}
.llm-pillars {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}
.pillar-card {
    position: relative;
    overflow: hidden;
    min-height: 250px;
    padding: 28px 30px;
    border: 1px solid #dce8f5;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(10,40,80,.06);
}
.pillar-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, #0075c1 0 68%, #e53935 68% 100%);
}
.pillar-card h3 {
    font-size: 21px;
    color: #0a1f35;
    margin-bottom: 12px;
}
.pillar-card p,
.pillar-card li {
    font-size: 14px;
    color: #5c6675;
    line-height: 1.85;
}
.pillar-card ul {
    margin-top: 14px;
}
.pillar-card li {
    position: relative;
    padding-left: 18px;
    margin-top: 8px;
}
.pillar-card li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 11px;
    width: 7px;
    height: 7px;
    border-radius: 2px;
    background: linear-gradient(135deg,#0075c1,#e53935);
}
.llm-cap-grid {
    grid-template-columns: repeat(4, 1fr);
}
.llm-adv-grid {
    grid-template-columns: repeat(4, 1fr);
}

.onestop-overview {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(360px, .95fr);
    gap: 56px;
    align-items: start;
}
.onestop-copy .sec-sub {
    max-width: none;
}
.onestop-facts {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 40px;
}
.onestop-map {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    align-self: end;
    min-height: 0;
    padding-top: 34px;
    padding-bottom: 20px;
}
.onestop-map img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 315px;
    object-fit: contain;
    transform: translateY(15px);
}

/* 能力四宫格 */
.feature-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 10px;
}
.feature-card {
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 12px;
    padding: 26px 22px;
    transition: box-shadow .25s, transform .25s, border-color .25s;
}
.feature-card:hover {
    box-shadow: 0 14px 32px rgba(0,117,193,.12);
    transform: translateY(-4px);
    border-color: rgba(0,117,193,.26);
}
.feature-ico {
    width: 46px; height: 46px; border-radius: 10px;
    background: linear-gradient(180deg, rgba(0,117,193,.12), rgba(229,57,53,.08));
    color: #0075c1;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 16px;
}
.feature-ico svg { width: 24px; height: 24px; }
.feature-card h4 { font-size: 16px; color: #0a1f35; margin-bottom: 8px; }
.feature-card p { font-size: 13.5px; color: #667; line-height: 1.8; }
.mini-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 14px;
}
.mini-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 9px;
    border-radius: 4px;
    background: rgba(0,117,193,.07);
    color: #0068ad;
    font-size: 12px;
    line-height: 1.4;
}
.llm-cap-grid .feature-card {
    display: flex;
    flex-direction: column;
}
.llm-cap-grid .feature-ico {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #f4fbff;
    border: 1px solid #dcefff;
    color: #0097d7;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.llm-cap-grid .feature-ico svg {
    width: 22px;
    height: 22px;
    stroke-width: 1.7;
}
.llm-cap-grid .feature-card:hover .feature-ico {
    background: #eef8ff;
    border-color: #c7e8fb;
    color: #007fc1;
}
.llm-cap-grid .mini-tags {
    margin-top: auto;
    padding-top: 14px;
}

/* 架构分层 layer-list */
.layer-list { display: flex; flex-direction: column; gap: 14px; margin-top: 8px; }
.layer-row {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 20px;
    align-items: center;
    background: #fff;
    border: 1px solid #e8edf5;
    border-left: 4px solid #0075c1;
    border-radius: 10px;
    padding: 18px 24px;
    transition: box-shadow .25s, transform .2s;
}
.layer-row:hover { box-shadow: 0 10px 26px rgba(0,117,193,.1); transform: translateX(4px); }
.layer-row .lk { font-size: 16px; font-weight: 700; color: #0075c1; }
.layer-row .lv { font-size: 14px; color: #667; line-height: 1.8; }

/* 流程步骤 step-flow */
.step-flow {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin-top: 8px;
    counter-reset: step;
}
.step-item {
    position: relative;
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 12px;
    padding: 26px 18px 22px;
    text-align: center;
    transition: box-shadow .25s, transform .25s, border-color .25s;
}
.step-item:hover { box-shadow: 0 12px 30px rgba(0,117,193,.12); transform: translateY(-4px); border-color: rgba(0,117,193,.24); }
.step-item .sn {
    counter-increment: step;
    width: 40px; height: 40px; margin: 0 auto 14px;
    border-radius: 50%;
    background: linear-gradient(180deg,#0075c1,#0a86d6);
    color: #fff; font-weight: 700; font-size: 16px;
    display: flex; align-items: center; justify-content: center;
}
.step-item .sn::before { content: counter(step); }
.step-item h5 { font-size: 15px; color: #0a1f35; margin-bottom: 6px; }
.step-item p { font-size: 12.5px; color: #778; line-height: 1.7; }

/* ===== 新闻筛选 ===== */
.news-filter { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 34px; }
.news-filter button,
.news-filter a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #4a5568;
    background: #fff;
    border: 1px solid #e2e8f2;
    border-radius: 22px;
    padding: 8px 22px;
    cursor: pointer;
    line-height: 1.5;
    text-decoration: none;
    transition: all .22s;
}
.news-filter button:hover,
.news-filter a:hover { border-color: #0075c1; color: #0075c1; }
.news-filter button.active,
.news-filter a.active {
    background: #0075c1;
    border-color: #0075c1;
    color: #fff;
}
.news-card { color: inherit; text-decoration: none; }
.news-card.is-hidden { display: none; }
.pagebar {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 42px;
}
.pagebar a,
.pagebar span {
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e2e8f2;
    border-radius: 6px;
    background: #fff;
    color: #556272;
    font-size: 13px;
    text-decoration: none;
    transition: all .22s;
}
.pagebar a:hover,
.pagebar span.current,
.pagebar .active,
.pagebar .page-num-current {
    background: #0075c1;
    border-color: #0075c1;
    color: #fff;
}

/* ===== 新闻详情 ===== */
.news-detail {
    max-width: 1440px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 12px;
    box-shadow: 0 14px 38px rgba(10,31,53,.06);
    overflow: hidden;
}
.news-detail-head {
    padding: 42px 48px 30px;
    border-bottom: 1px solid #eef2f8;
    background:
        linear-gradient(135deg, rgba(0,117,193,.07), rgba(255,255,255,0) 44%),
        #fff;
}
.news-detail-kicker {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 16px;
    color: #8a94a4;
    font-size: 13px;
}
.news-detail-head h1 {
    max-width: 1080px;
    font-size: 32px;
    line-height: 1.45;
    color: #0a1f35;
    font-weight: 700;
}
.news-detail-meta {
    display: flex;
    gap: 22px;
    flex-wrap: wrap;
    margin-top: 16px;
    color: #8a94a4;
    font-size: 13px;
}
.news-detail-content {
    padding: 34px 48px 44px;
    color: #344054;
    font-size: 16px;
    line-height: 2;
}
.news-detail-content p { margin: 0 0 18px; }
.news-detail-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 12px 0;
}
.news-detail-content h1,
.news-detail-content h2,
.news-detail-content h3 {
    color: #0a1f35;
    line-height: 1.55;
    margin: 26px 0 14px;
}
.news-detail-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}
.news-detail-content td,
.news-detail-content th {
    border: 1px solid #e2e8f2;
    padding: 10px 12px;
}
.news-detail-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    padding: 24px 48px;
    border-top: 1px solid #eef2f8;
    background: #f8fbff;
}
.news-detail-nav > div {
    min-width: 0;
    color: #6b7685;
    font-size: 14px;
    line-height: 1.7;
}
.news-detail-nav span {
    display: block;
    color: #0a1f35;
    font-weight: 700;
    margin-bottom: 4px;
}
.news-detail-nav a {
    color: #556272;
    text-decoration: none;
}
.news-detail-nav a:hover { color: #0075c1; }
.news-detail-back {
    padding: 0 48px 42px;
    text-align: center;
    background: #f8fbff;
}

/* ===== 加入我们 ===== */
.join-channel-section { padding-bottom: 28px; }
.join-channel-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}
.join-channel-card {
    position: relative;
    min-height: 210px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
    padding: 34px 36px;
    border: 1px solid #e4ebf5;
    border-radius: 14px;
    background:
        linear-gradient(135deg, rgba(0,117,193,.08), rgba(255,255,255,.92) 48%),
        #fff;
    color: inherit;
    text-decoration: none;
    box-shadow: 0 14px 36px rgba(10,31,53,.06);
    transition: transform .25s, box-shadow .25s, border-color .25s;
}
.join-channel-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(0,117,193,.12), rgba(229,57,53,.08));
    opacity: 0;
    transition: opacity .25s;
}
.join-channel-card:hover {
    transform: translateY(-5px);
    border-color: rgba(0,117,193,.28);
    box-shadow: 0 18px 42px rgba(0,117,193,.13);
}
.join-channel-card:hover::before { opacity: 1; }
.join-channel-index {
    position: absolute;
    top: 26px;
    right: 30px;
    color: rgba(0,117,193,.18);
    font-size: 56px;
    line-height: 1;
    font-weight: 800;
}
.join-channel-card h2 {
    position: relative;
    z-index: 1;
    font-size: 28px;
    color: #0a1f35;
    margin-bottom: 12px;
}
.join-channel-card p {
    position: relative;
    z-index: 1;
    max-width: 520px;
    color: #5d6877;
    font-size: 15px;
    line-height: 1.9;
}
.join-channel-link {
    position: relative;
    z-index: 1;
    display: inline-flex;
    margin-top: 20px;
    color: #e53935;
    font-size: 14px;
    font-weight: 700;
}

.value-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.value-card {
    background: #fff; border: 1px solid #e8edf5; border-radius: 14px;
    padding: 30px 26px; text-align: center;
    transition: box-shadow .25s, transform .25s, border-color .25s;
}
.value-card:hover { box-shadow: 0 14px 34px rgba(0,117,193,.12); transform: translateY(-5px); border-color: rgba(0,117,193,.26); }
.value-card .culture-ico { margin: 0 auto 18px; }
.value-card h3 { font-size: 18px; color: #0a1f35; margin-bottom: 8px; }
.value-card p { font-size: 14px; color: #667; line-height: 1.9; }

.benefit-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.benefit-card {
    background: #fff; border: 1px solid #e8edf5; border-radius: 12px;
    padding: 24px 20px; display: flex; gap: 14px; align-items: flex-start;
    transition: box-shadow .25s, transform .2s;
}
.benefit-card:hover { box-shadow: 0 12px 28px rgba(0,117,193,.1); transform: translateY(-3px); }
.benefit-card .culture-ico { width: 42px; height: 42px; margin: 0; flex-shrink: 0; }
.benefit-card h4 { font-size: 15px; color: #0a1f35; margin-bottom: 4px; }
.benefit-card p { font-size: 13px; color: #778; line-height: 1.7; }

/* 岗位手风琴 */
.job-list { display: flex; flex-direction: column; gap: 14px; }
.job-card {
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow .25s, border-color .25s;
}
.job-card:hover { box-shadow: 0 10px 26px rgba(0,117,193,.1); border-color: rgba(0,117,193,.22); }
.job-head {
    display: flex; align-items: center; gap: 18px;
    padding: 20px 26px;
    cursor: pointer;
}
.job-head .job-title { font-size: 17px; font-weight: 700; color: #0a1f35; }
.job-head .job-meta { font-size: 13px; color: #8a94a4; margin-left: auto; margin-right: 8px; white-space: nowrap; }
.job-head .job-loc {
    font-size: 12px; color: #00508a;
    background: rgba(0,117,193,.08);
    border-radius: 6px; padding: 3px 10px;
}
.job-toggle {
    width: 26px; height: 26px; flex-shrink: 0;
    border-radius: 50%;
    border: 1px solid #d5deeb;
    color: #0075c1;
    display: flex; align-items: center; justify-content: center;
    font-size: 16px;
    transition: transform .3s, background .25s, color .25s;
}
.job-card.open .job-toggle { transform: rotate(45deg); background: #0075c1; color: #fff; border-color: #0075c1; }
.job-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease;
}
.job-body-inner { padding: 4px 26px 26px; border-top: 1px solid #eef2f8; }
.job-body-inner h5 { font-size: 14px; color: #0075c1; margin: 16px 0 8px; }
.job-body-inner ul { padding-left: 2px; }
.job-body-inner li {
    position: relative; padding-left: 18px;
    font-size: 13.5px; color: #556; line-height: 1.9;
}
.job-body-inner li::before {
    content: ''; position: absolute; left: 0; top: 11px;
    width: 6px; height: 6px; border-radius: 2px;
    background: linear-gradient(135deg,#0075c1,#e53935);
}

.partner-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.partner-card {
    position: relative;
    min-height: 180px;
    padding: 28px 26px;
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(10,31,53,.05);
    overflow: hidden;
}
.partner-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 28px;
    width: 3px;
    height: 34px;
    background: linear-gradient(#0075c1, #e53935);
}
.partner-card h3 {
    font-size: 19px;
    color: #0a1f35;
    margin-bottom: 14px;
}
.partner-card p {
    color: #5d6877;
    font-size: 14px;
    line-height: 1.9;
}

.partner-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding: 42px 48px;
    border: 1px solid #e4ebf5;
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(0,117,193,.09), rgba(255,255,255,0) 58%),
        #fff;
    box-shadow: 0 16px 38px rgba(10,31,53,.06);
}
.partner-intro h2 {
    margin: 10px 0 14px;
    color: #0a1f35;
    font-size: 32px;
    line-height: 1.35;
}
.partner-intro p {
    max-width: 780px;
    color: #556272;
    font-size: 16px;
    line-height: 1.9;
}
.partner-intro .btn { flex-shrink: 0; }
.enablement-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
}
.enablement-card {
    position: relative;
    min-height: 260px;
    grid-column: span 2;
    padding: 34px 28px 30px;
    overflow: hidden;
    border: 1px solid #e4ebf5;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(10,31,53,.05);
}
.enablement-card:nth-child(4),
.enablement-card:nth-child(5) {
    grid-column: span 3;
}
.enablement-card span {
    position: absolute;
    right: 24px;
    top: 20px;
    color: rgba(0,117,193,.12);
    font-size: 58px;
    line-height: 1;
    font-weight: 800;
}
.enablement-card h3 {
    position: relative;
    margin-bottom: 16px;
    color: #0a1f35;
    font-size: 21px;
}
.enablement-card h3::before {
    content: '';
    display: block;
    width: 28px;
    height: 3px;
    margin-bottom: 16px;
    background: linear-gradient(90deg, #0075c1, #e53935);
}
.enablement-card p {
    position: relative;
    color: #5d6877;
    font-size: 14.5px;
    line-height: 1.95;
}

/* ===== 联系我们 ===== */
.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: stretch;
}
.contact-info-stack { display: flex; flex-direction: column; justify-content: space-between; height: 100%; }
.contact-cards { display: flex; flex-direction: column; gap: 18px; }
.contact-card {
    background: #fff; border: 1px solid #e8edf5; border-radius: 12px;
    border-left: 4px solid #0075c1;
    padding: 24px 26px;
    transition: box-shadow .25s, transform .2s;
}
.contact-card:hover { box-shadow: 0 12px 28px rgba(0,117,193,.1); transform: translateY(-3px); }
.contact-card h3 { font-size: 17px; color: #0a1f35; margin-bottom: 14px; }
.contact-card .row { display: flex; gap: 10px; font-size: 14px; color: #556; line-height: 1.9; margin-bottom: 6px; }
.contact-card .row .k { color: #8a94a4; flex-shrink: 0; width: 40px; }
.hotline-card {
    background: linear-gradient(120deg,#0075c1,#0a86d6);
    color: #fff; border: none; border-left: none;
}
.hotline-card .lbl { font-size: 14px; opacity: .85; }
.hotline-card .num { font-size: 34px; font-weight: 700; letter-spacing: 1px; margin: 6px 0 8px; }
.hotline-card .ext { font-size: 13px; opacity: .85; line-height: 1.9; }
.contact-qr { display: flex; gap: 26px; }
.contact-qr .item { text-align: center; }
.contact-qr img { width: 104px; height: 104px; border-radius: 8px; border: 1px solid #e8edf5; padding: 5px; background: #fff; }
.contact-qr span { display: block; font-size: 12px; color: #778; margin-top: 8px; }

.map-placeholder {
    height: 220px;
    border-radius: 12px;
    border: 1px dashed #cbd6e6;
    background:
        repeating-linear-gradient(45deg, #f4f8fd 0 12px, #eef4fb 12px 24px);
    display: flex; align-items: center; justify-content: center;
    color: #90a0b5; font-size: 14px;
    margin-top: 18px;
}

/* 表单 */
.contact-form {
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 14px;
    padding: 32px 30px;
    box-shadow: 0 16px 40px rgba(10,40,80,.06);
}
.contact-form h3 { font-size: 20px; color: #0a1f35; margin-bottom: 6px; }
.contact-form .tip { font-size: 13px; color: #8a94a4; margin-bottom: 22px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.form-field { display: flex; flex-direction: column; gap: 7px; }
.form-field.full { grid-column: 1 / -1; }
.form-field label { font-size: 13px; color: #556; }
.form-field label .req { color: #e53935; }
.form-field input,
.form-field select,
.form-field textarea {
    font-family: inherit;
    font-size: 14px;
    color: #333;
    border: 1px solid #dce3ee;
    border-radius: 8px;
    padding: 11px 14px;
    background: #fafbfd;
    transition: border-color .2s, box-shadow .2s, background .2s;
}
.form-field textarea { resize: vertical; min-height: 110px; }
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
    outline: none;
    border-color: #0075c1;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(0,117,193,.12);
}
.form-submit {
    width: 100%;
    background: #e53935;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 14px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background .22s, transform .15s;
}
.form-submit:hover { background: #cf302c; }
.form-submit:active { transform: translateY(1px); }
.form-ok {
    display: none;
    margin-top: 14px;
    font-size: 14px;
    color: #1a8a4a;
    background: rgba(26,138,74,.08);
    border: 1px solid rgba(26,138,74,.25);
    border-radius: 8px;
    padding: 12px 16px;
}
.form-ok.show { display: block; }

/* ===== 通用 CTA 条 ===== */
.cta-band {
    background: linear-gradient(120deg,#00508a,#0075c1);
    border-radius: 16px;
    padding: 40px 48px;
    display: flex; align-items: center; justify-content: space-between; gap: 26px;
    color: #fff;
}
.cta-band h3 { font-size: 24px; margin-bottom: 6px; }
.cta-band p { font-size: 14px; opacity: .88; }
.cta-band .btn-red { padding: 13px 34px; font-size: 15px; white-space: nowrap; }

/* =========================================================
   响应式
   ========================================================= */
@media (max-width: 1024px) {
    .split, .split.reverse { grid-template-columns: 1fr; gap: 30px; }
    .split.reverse .split-media { order: 0; }
    .fact-cards { grid-template-columns: repeat(3, 1fr); }
    .llm-pillars { grid-template-columns: 1fr; }
    .llm-cap-grid,
    .llm-adv-grid { grid-template-columns: repeat(2, 1fr); }
    .feature-grid { grid-template-columns: repeat(2, 1fr); }
    .step-flow { grid-template-columns: repeat(3, 1fr); }
    .join-channel-grid { grid-template-columns: 1fr; }
    .value-grid { grid-template-columns: repeat(3, 1fr); }
    .benefit-grid { grid-template-columns: repeat(2, 1fr); }
    .partner-grid { grid-template-columns: 1fr; }
    .partner-intro { align-items: flex-start; flex-direction: column; }
    .enablement-card,
    .enablement-card:nth-child(4),
    .enablement-card:nth-child(5) { grid-column: span 3; }
    .honors-certs-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .services-grid { grid-template-columns: repeat(2, 1fr); }
    .news-grid { grid-template-columns: repeat(2, 1fr); }
    .contact-grid { grid-template-columns: 1fr; align-items: start; }
    .brands-grid { grid-template-columns: repeat(5, 1fr); }
    .page-hero h1 { font-size: 36px; }
}

@media (max-width: 900px) {
    /* 移动端导航 */
    .navbar .inner { height: 60px; gap: 12px; }
    .nav-toggle {
        display: grid;
        grid-template-columns: 18px auto;
        grid-template-rows: repeat(3, 2px);
        align-content: center;
        align-items: center;
        column-gap: 8px;
        row-gap: 4px;
    }
    .nav-toggle em {
        grid-column: 2;
        grid-row: 1 / 4;
    }
    .nav-actions { display: none; }
    .logo-slogan { display: none; }
    .nav-links {
        position: fixed;
        top: 60px; left: 0; right: 0;
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
        gap: 0;
        background: #fff;
        border-top: 1px solid #eef2f8;
        box-shadow: 0 16px 30px rgba(10,30,60,.12);
        max-height: 0;
        overflow: hidden;
        transition: max-height .35s ease;
    }
    .nav-open .nav-links { max-height: calc(100vh - 60px); overflow-y: auto; }
    .nav-links > li { width: 100%; border-bottom: 1px solid #f0f3f8; }
    .nav-links a {
        height: auto;
        padding: 15px 24px;
        font-size: 15px;
        justify-content: flex-start;
    }
    .nav-links a::after { display: none; }
    .nav-dropdown {
        position: static;
        display: block;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border: none;
        padding: 0 0 8px;
        min-width: 0;
    }
    .nav-dropdown a {
        padding: 11px 40px !important;
        height: auto !important;
        line-height: 1.5 !important;
        justify-content: flex-start !important;
        text-align: left !important;
        font-size: 14px;
        color: #667 !important;
    }
    .nav-arrow { display: none; }

    /* 内页整体 */
    .inner-page .section, .service-block { padding: 44px 0; }
    .page-hero { height: 168px; }
    .page-hero h1 { font-size: 27px; }
    .page-hero-tag,
    .page-hero .sub,
    .page-hero .crumb {
        display: none;
    }
    .anchor-tabs { display: none; }
    .anchor-target { scroll-margin-top: 72px; }

    .sec-title { font-size: 24px; }
    .sec-sub { margin-top: -8px; margin-bottom: 28px; font-size: 14px; }

    .onestop-overview { grid-template-columns: 1fr; gap: 28px; }
    .onestop-map { min-height: 0; }
    .onestop-map img { max-height: none; }
    .onestop-facts { grid-template-columns: repeat(2, 1fr); }
    .fact-cards { grid-template-columns: repeat(2, 1fr); }
    .llm-cap-grid,
    .llm-adv-grid { grid-template-columns: 1fr; }
    .pillar-card { min-height: 0; padding: 24px 22px; }
    .feature-grid { grid-template-columns: 1fr; }
    .step-flow { grid-template-columns: 1fr 1fr; }
    .join-channel-card { min-height: 190px; padding: 28px 24px; }
    .join-channel-card h2 { font-size: 24px; }
    .value-grid { grid-template-columns: 1fr; }
    .benefit-grid { grid-template-columns: 1fr; }
    .partner-intro { padding: 30px 24px; }
    .partner-intro h2 { font-size: 25px; }
    .enablement-grid { grid-template-columns: 1fr; }
    .enablement-card,
    .enablement-card:nth-child(4),
    .enablement-card:nth-child(5) {
        grid-column: auto;
        min-height: 0;
    }
    .honors-certs-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .services-grid { grid-template-columns: 1fr; }
    .news-grid { grid-template-columns: 1fr; }
    .news-detail-head { padding: 30px 22px 24px; }
    .news-detail-head h1 { font-size: 23px; }
    .news-detail-content { padding: 26px 22px 32px; font-size: 15px; line-height: 1.9; }
    .news-detail-nav { grid-template-columns: 1fr; padding: 22px; }
    .news-detail-back { padding: 0 22px 30px; }
    .brands-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: stretch;
        margin-bottom: 18px;
    }
    .brand-card {
        width: 100%;
        height: 74px;
        min-height: 0;
        padding: 12px 8px;
        aspect-ratio: auto;
        box-sizing: border-box;
    }
    .brand-card img {
        max-width: 92%;
        max-height: 42px;
    }
    #xinchuang {
        padding-top: 56px;
        clear: both;
    }
    #xinchuang .badge {
        display: block;
        margin-bottom: 12px;
    }
    .scene-list { grid-template-columns: 1fr; }
    .form-row { grid-template-columns: 1fr; }
    .layer-row { grid-template-columns: 1fr; gap: 6px; }
    .contact-info-stack { justify-content: flex-start; gap: 28px; height: auto; }
    .contact-qr { justify-content: flex-start; }
    .cta-band { flex-direction: column; text-align: center; padding: 32px 24px; }
}

@media (max-width: 420px) {
    .fact-cards { grid-template-columns: 1fr; }
    .onestop-facts { grid-template-columns: 1fr; }
    .step-flow { grid-template-columns: 1fr; }
    .join-channel-index { font-size: 44px; }
    .enablement-card { padding: 28px 22px 26px; }
    .page-hero h1 { font-size: 23px; }
}
