:root {
    --c-primary: #0663BE;
    --c-accent: #00A7B0;
    --c-primary-dark: #044a8f;
    --c-accent-dark: #00858c;
    --c-gradient-start: #0663BE;
    --c-gradient-end: #00A7B0;
    --c-gray-50: #f9fafb;
    --c-gray-100: #f3f4f6;
    --c-gray-200: #e5e7eb;
    --c-gray-300: #d1d5db;
    --c-gray-400: #9ca3af;
    --c-gray-500: #6b7280;
    --c-gray-600: #4b5563;
    --c-gray-700: #374151;
    --c-gray-800: #2c3e50;
    --c-gray-900: #1f2937;
    --c-white: #ffffff;
    --c-text: #333333;
    --c-text-light: #666666;
    --c-text-lighter: #999999;
    --c-border: #eeeeee;
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    --radius-sm: 4px;
    --radius: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --transition: all 0.3s ease;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
    font-size: 15px;
    color: var(--c-text);
    line-height: 1.6;
    background-color: var(--c-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition);
}

a:hover {
    color: var(--c-primary);
}

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

ul, ol {
    list-style: none;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    line-height: 1.3;
    color: var(--c-gray-900);
}

h1 { font-size: 36px; }
h2 { font-size: 28px; }
h3 { font-size: 22px; }
h4 { font-size: 18px; }
h5 { font-size: 16px; }
h6 { font-size: 14px; }

p {
    margin-bottom: 16px;
    color: var(--c-text-light);
}

.d-flex {
    display: flex;
}

.d-flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

.d-flex-between {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.align-center {
    align-items: center;
}

.justify-center {
    justify-content: center;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-1 {
    flex: 1;
}

.gap-4 { gap: 16px; }
.gap-6 { gap: 24px; }
.gap-8 { gap: 32px; }

.d-grid {
    display: grid;
}

.grid-cols-2 {
    grid-template-columns: repeat(2, 1fr);
}

.grid-cols-3 {
    grid-template-columns: repeat(3, 1fr);
}

.grid-cols-4 {
    grid-template-columns: repeat(4, 1fr);
}

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

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.text-primary {
    color: var(--c-primary);
}

.text-accent {
    color: var(--c-accent);
}

.text-white {
    color: var(--c-white);
}

.text-gray {
    color: var(--c-text-light);
}

.text-gray-lighter {
    color: var(--c-text-lighter);
}

.fw-bold {
    font-weight: 700;
}

.fw-semibold {
    font-weight: 600;
}

.fw-medium {
    font-weight: 500;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
    font-size: 14px;
    font-weight: 500;
    border-radius: var(--radius);
    border: 1px solid transparent;
    cursor: pointer;
    transition: var(--transition);
    line-height: 1.5;
    white-space: nowrap;
}

.btn-sm {
    padding: 6px 16px;
    font-size: 13px;
}

.btn-lg {
    padding: 14px 32px;
    font-size: 16px;
}

.btn-primary {
    background-color: var(--c-primary);
    color: var(--c-white);
    border-color: var(--c-primary);
}

.btn-primary:hover {
    background-color: var(--c-primary-dark);
    border-color: var(--c-primary-dark);
    color: var(--c-white);
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

.btn-accent {
    background-color: var(--c-accent);
    color: var(--c-white);
    border-color: var(--c-accent);
}

.btn-accent:hover {
    background-color: var(--c-accent-dark);
    border-color: var(--c-accent-dark);
    color: var(--c-white);
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

.btn-outline {
    background-color: transparent;
    color: var(--c-primary);
    border-color: var(--c-primary);
}

.btn-outline:hover {
    background-color: var(--c-primary);
    color: var(--c-white);
    transform: translateY(-1px);
}

.btn-outline-white {
    background-color: transparent;
    color: var(--c-white);
    border-color: var(--c-white);
}

.btn-outline-white:hover {
    background-color: var(--c-white);
    color: var(--c-primary);
}

.btn-white {
    background-color: var(--c-white);
    color: var(--c-primary);
    border-color: var(--c-white);
}

.btn-white:hover {
    background-color: var(--c-gray-100);
    color: var(--c-primary-dark);
    transform: translateY(-1px);
}

.card {
    background-color: var(--c-white);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow);
    transition: var(--transition);
    overflow: hidden;
}

.card:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-4px);
}

.card-body {
    padding: 24px;
}

.section {
    padding: 60px 0;
}

.section-sm {
    padding: 40px 0;
}

.section-lg {
    padding: 80px 0;
}

.section-title {
    text-align: center;
    margin-bottom: 48px;
}

.section-title h2 {
    font-size: 32px;
    margin-bottom: 12px;
    position: relative;
    display: inline-block;
}

.section-title h2::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -12px;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--c-primary), var(--c-accent));
    border-radius: 2px;
}

.section-title p {
    font-size: 16px;
    color: var(--c-text-light);
    margin-top: 24px;
}

.section-title h2 + p {
    margin-top: 24px;
}

.bg-gray-50 {
    background-color: var(--c-gray-50);
}

.bg-gray-100 {
    background-color: var(--c-gray-100);
}

.bg-gradient-primary {
    background: linear-gradient(135deg, var(--c-primary) 0%, var(--c-accent) 100%);
}

.py-40 { padding-top: 40px; padding-bottom: 40px; }
.py-50 { padding-top: 50px; padding-bottom: 50px; }
.py-60 { padding-top: 60px; padding-bottom: 60px; }
.py-80 { padding-top: 80px; padding-bottom: 80px; }
.px-20 { padding-left: 20px; padding-right: 20px; }

.mb-4 { margin-bottom: 16px; }
.mb-6 { margin-bottom: 24px; }
.mb-8 { margin-bottom: 32px; }
.mb-12 { margin-bottom: 48px; }
.mt-4 { margin-top: 16px; }
.mt-6 { margin-top: 24px; }
.mt-8 { margin-top: 32px; }

.site-header {
    background-color: var(--c-white);
    border-bottom: 1px solid var(--c-border);
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: var(--shadow-sm);
}

.site-header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 70px;
}

.logo {
    font-size: 22px;
    font-weight: 700;
    color: var(--c-primary);
    display: flex;
    align-items: center;
    gap: 8px;
}

.logo::before {
    content: '☁️';
    font-size: 24px;
}

.nav-main {
    display: flex;
    align-items: center;
    gap: 4px;
}

.nav-main a {
    padding: 8px 16px;
    font-size: 15px;
    font-weight: 500;
    color: var(--c-gray-700);
    border-radius: var(--radius);
    position: relative;
}

.nav-main a:hover,
.nav-main a.active {
    color: var(--c-primary);
    background-color: rgba(6, 99, 190, 0.06);
}

.header-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.header-phone {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: var(--c-primary);
    font-size: 15px;
}

.header-phone::before {
    content: '📞';
    font-size: 18px;
}

.header-qrcode {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--c-gray-100);
    border-radius: var(--radius);
    cursor: pointer;
    transition: var(--transition);
    font-size: 18px;
}

.header-qrcode:hover {
    background-color: var(--c-primary);
    color: var(--c-white);
}

.hero {
    background: linear-gradient(180deg, #f7faff 0%, #e9f1fa 100%);
    color: #0b1220;
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.hero::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(6,99,190,0.10) 0%, transparent 70%);
    border-radius: 50%;
}

.hero::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -5%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(0,167,176,0.09) 0%, transparent 70%);
    border-radius: 50%;
}

.hero .container {
    position: relative;
    z-index: 1;
    text-align: center;
}

.hero h1 {
    font-size: 44px;
    margin-bottom: 20px;
    font-weight: 800;
    letter-spacing: -0.5px;
    background: linear-gradient(135deg, #0b1220 15%, var(--c-primary) 60%, var(--c-accent) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero p {
    font-size: 20px;
    color: #475569;
    margin-bottom: 40px;
    font-weight: 500;
}

.hero-btns {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

.product-matrix .grid-cols-2 {
    gap: 32px;
}

.product-card {
    padding: 40px;
    text-align: center;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.product-card .card-icon {
    font-size: 56px;
    margin-bottom: 20px;
}

.product-card h3 {
    font-size: 26px;
    margin-bottom: 16px;
    color: var(--c-gray-900);
}

.product-card p {
    font-size: 15px;
    color: var(--c-text-light);
    margin-bottom: 28px;
    flex: 1;
}

.product-card .card-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.product-card.placeholder {
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    position: relative;
}

.product-card.placeholder::after {
    content: 'NEW';
    position: absolute;
    top: 20px;
    right: 20px;
    background: linear-gradient(135deg, #f59e0b, #ef4444);
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.badge {
    display: inline-block;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 20px;
    background-color: var(--c-gray-100);
    color: var(--c-gray-700);
}

.badge-primary {
    background-color: rgba(6, 99, 190, 0.1);
    color: var(--c-primary);
}

.badge-accent {
    background-color: rgba(0, 167, 176, 0.1);
    color: var(--c-accent);
}

.badge-new {
    background: linear-gradient(135deg, #f59e0b, #ef4444);
    color: white;
}

.tab-nav {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-bottom: 40px;
    flex-wrap: wrap;
}

.tab-btn {
    padding: 10px 28px;
    font-size: 15px;
    font-weight: 500;
    border: 1px solid var(--c-gray-300);
    background-color: var(--c-white);
    color: var(--c-gray-700);
    border-radius: var(--radius);
    cursor: pointer;
    transition: var(--transition);
}

.tab-btn:hover {
    border-color: var(--c-primary);
    color: var(--c-primary);
}

.tab-btn.active {
    background-color: var(--c-primary);
    color: var(--c-white);
    border-color: var(--c-primary);
    box-shadow: 0 4px 12px rgba(6, 99, 190, 0.3);
}

.industry-content {
    position: relative;
}

.industry-panel {
    display: none;
    animation: fadeIn 0.4s ease;
}

.industry-panel.active {
    display: block;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.industry-card {
    background-color: var(--c-white);
    border-radius: var(--radius-md);
    padding: 40px;
    box-shadow: var(--shadow);
}

.industry-card h3 {
    font-size: 24px;
    margin-bottom: 20px;
    color: var(--c-primary);
}

.industry-card p {
    margin-bottom: 24px;
}

.feature-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.feature-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    background-color: var(--c-gray-50);
    border-radius: var(--radius);
}

.feature-item-icon {
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, var(--c-primary), var(--c-accent));
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 16px;
    flex-shrink: 0;
}

.feature-item-text {
    font-size: 14px;
    color: var(--c-gray-700);
    line-height: 1.4;
}

.why-us .grid-cols-4 {
    gap: 24px;
}

.why-card {
    padding: 32px 24px;
    text-align: center;
    transition: var(--transition);
}

.why-card:hover {
    transform: translateY(-8px);
}

.why-card-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 20px;
    background: linear-gradient(135deg, rgba(6, 99, 190, 0.1), rgba(0, 167, 176, 0.1));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    transition: var(--transition);
}

.why-card:hover .why-card-icon {
    background: linear-gradient(135deg, var(--c-primary), var(--c-accent));
    transform: scale(1.1);
}

.why-card:hover .why-card-icon {
    color: white;
}

.why-card h4 {
    font-size: 18px;
    margin-bottom: 12px;
}

.why-card p {
    font-size: 14px;
    color: var(--c-text-light);
    margin-bottom: 0;
}

.news .news-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 32px;
}

.news .news-header h2 {
    margin-bottom: 0;
}

.news .grid-cols-3 {
    gap: 24px;
}

.news-card {
    overflow: hidden;
}

.news-card-img {
    width: 100%;
    height: 180px;
    background: linear-gradient(135deg, var(--c-gray-200), var(--c-gray-300));
    position: relative;
    overflow: hidden;
}

.news-card-img::after {
    content: '📰';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 48px;
    opacity: 0.4;
}

.news-card-body {
    padding: 20px;
}

.news-card-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 10px;
    line-height: 1.5;
    color: var(--c-gray-900);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-card-excerpt {
    font-size: 14px;
    color: var(--c-text-light);
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-card-date {
    font-size: 13px;
    color: var(--c-text-lighter);
    display: flex;
    align-items: center;
    gap: 6px;
}

.news-card-date::before {
    content: '📅';
}

.clients-logo-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.client-logo {
    height: 80px;
    background: linear-gradient(135deg, var(--c-gray-100), var(--c-gray-200));
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 600;
    color: var(--c-gray-500);
    transition: var(--transition);
    border: 1px solid var(--c-gray-200);
}

.client-logo:hover {
    background: var(--c-white);
    border-color: var(--c-primary);
    color: var(--c-primary);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.service-flow-steps {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    gap: 16px;
}

.service-flow-steps::before {
    content: '';
    position: absolute;
    top: 32px;
    left: 8%;
    right: 8%;
    height: 2px;
    background: linear-gradient(90deg, var(--c-primary), var(--c-accent));
    z-index: 0;
}

.flow-step {
    flex: 1;
    text-align: center;
    position: relative;
    z-index: 1;
}

.step-number {
    width: 64px;
    height: 64px;
    margin: 0 auto 20px;
    background: linear-gradient(135deg, var(--c-primary), var(--c-accent));
    color: var(--c-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 700;
    box-shadow: 0 6px 20px rgba(6, 99, 190, 0.3);
}

.flow-step h4 {
    font-size: 16px;
    margin-bottom: 8px;
}

.flow-step p {
    font-size: 13px;
    color: var(--c-text-light);
    margin-bottom: 0;
}

.cta-banner {
    background: linear-gradient(135deg, var(--c-primary) 0%, var(--c-accent) 100%);
    padding: 50px 0;
    color: var(--c-white);
    text-align: center;
}

.cta-banner h3 {
    font-size: 28px;
    color: var(--c-white);
    margin-bottom: 12px;
}

.cta-banner p {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 32px;
}

.cta-btns {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

.friend-links {
    padding: 30px 0;
    background-color: var(--c-gray-50);
    border-top: 1px solid var(--c-border);
}

.friend-links-title {
    font-size: 14px;
    color: var(--c-text-light);
    margin-bottom: 12px;
    font-weight: 600;
}

.friend-links-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
}

.friend-links-list a {
    font-size: 13px;
    color: var(--c-text-lighter);
}

.friend-links-list a:hover {
    color: var(--c-primary);
}

.site-footer {
    background-color: var(--c-gray-800);
    color: #ddd;
    padding: 60px 0 0;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    padding-bottom: 40px;
}

.footer-col h4 {
    color: var(--c-white);
    font-size: 16px;
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 12px;
}

.footer-col h4::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40px;
    height: 2px;
    background: linear-gradient(90deg, var(--c-primary), var(--c-accent));
}

.footer-col ul li {
    margin-bottom: 12px;
}

.footer-col ul li a {
    color: #bbb;
    font-size: 14px;
    transition: var(--transition);
}

.footer-col ul li a:hover {
    color: var(--c-white);
    padding-left: 4px;
}

.contact-info li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #bbb;
    font-size: 14px;
    line-height: 1.6;
}

.contact-info li::before {
    flex-shrink: 0;
    font-size: 16px;
}

.contact-info li.phone::before { content: '📞'; }
.contact-info li.email::before { content: '✉️'; }
.contact-info li.address::before { content: '📍'; }
.contact-info li.worktime::before { content: '⏰'; }

.footer-qrcodes {
    display: flex;
    gap: 16px;
}

.qrcode-item {
    text-align: center;
}

.qrcode-box {
    width: 100px;
    height: 100px;
    background-color: var(--c-white);
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    margin-bottom: 8px;
}

.qrcode-item span {
    font-size: 12px;
    color: #bbb;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding: 20px 0;
    text-align: center;
    font-size: 13px;
    color: #999;
}

.footer-bottom p {
    margin-bottom: 4px;
    color: #999;
}

/* ===== 页脚 V2：产品导向 3 列（5:3:2） ===== */
.footer-grid.footer-grid-v2 {
    grid-template-columns: 5fr 3fr 2fr;
    gap: 36px;
    padding-bottom: 44px;
}

/* —— 列 1：产品中心 —— */
.f-product-group {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-bottom: 24px;
}
.f-product-card {
    padding: 16px 18px;
    background-color: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    transition: var(--transition);
}
.f-product-card:hover {
    border-color: rgba(79, 70, 229, 0.5);
    background-color: rgba(79, 70, 229, 0.08);
}
.f-product-title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--c-white);
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 6px;
}
.f-product-tag {
    display: inline-block;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 500;
    color: var(--c-primary);
    background-color: rgba(79, 70, 229, 0.15);
    border-radius: 10px;
    letter-spacing: 0.5px;
}
.f-product-desc {
    color: #9ca3af;
    font-size: 13px;
    line-height: 1.6;
    margin: 0 0 10px;
}
.f-product-links {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 14px;
}
.f-product-links a {
    color: #d1d5db;
    font-size: 13px;
    position: relative;
    transition: var(--transition);
    text-decoration: none;
}
.f-product-links a:hover {
    color: var(--c-white);
    padding-left: 3px;
}
.f-product-links a::after {
    content: '·';
    position: absolute;
    right: -9px;
    top: 50%;
    transform: translateY(-50%);
    color: #6b7280;
    font-size: 14px;
    pointer-events: none;
}
.f-product-links a:last-child::after {
    display: none;
}

.f-subtitle {
    color: #d1d5db;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 12px;
    padding-left: 10px;
    border-left: 3px solid var(--c-primary);
    line-height: 1.2;
}
.f-subtitle a { text-decoration: none; }

.f-industry-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px 12px;
}
.f-industry-grid a {
    display: block;
    padding: 6px 10px;
    color: #bbb;
    font-size: 13px;
    background-color: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 6px;
    transition: var(--transition);
    text-decoration: none;
}
.f-industry-grid a:hover {
    color: var(--c-white);
    border-color: var(--c-primary);
    background-color: rgba(79, 70, 229, 0.12);
}

/* —— 列 2：资源与案例 —— */
.f-subgroup {
    margin-bottom: 20px;
}
.f-subgroup-list {
    list-style: none;
    padding: 0;
    margin: 0 0 0 13px;
}
.f-subgroup-list li {
    margin-bottom: 9px;
}
.f-subgroup-list li a {
    color: #bbb;
    font-size: 14px;
    transition: var(--transition);
    text-decoration: none;
    position: relative;
    display: inline-block;
}
.f-subgroup-list li a::before {
    content: '›';
    position: absolute;
    left: -12px;
    top: 0;
    color: #6b7280;
    font-weight: 600;
}
.f-subgroup-list li a:hover {
    color: var(--c-white);
    padding-left: 3px;
}

/* —— 列 3：极简联系 —— */
.f-contact-main {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.f-contact-phone {
    color: var(--c-white);
}
.f-contact-label {
    display: block;
    font-size: 13px;
    color: #9ca3af;
    margin-bottom: 4px;
}
.f-contact-phone a {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.5px;
    line-height: 1.3;
    color: var(--c-white);
}
.f-contact-email {
    color: #bbb;
    font-size: 14px;
    line-height: 1.5;
}
.f-contact-email a:hover { color: var(--c-white); }

.f-cta-row {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.f-cta-btn {
    display: block;
    padding: 10px 16px;
    text-align: center;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: var(--transition);
}
.f-cta-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--c-primary), var(--c-accent));
    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.35);
}
.f-cta-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(79, 70, 229, 0.45);
    color: #fff;
}
.f-cta-ghost {
    color: #d1d5db;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background-color: transparent;
}
.f-cta-ghost:hover {
    color: var(--c-white);
    border-color: var(--c-primary);
    background-color: rgba(79, 70, 229, 0.1);
}

.f-qrcode-col {
    display: flex;
    gap: 14px;
    margin-top: 4px;
}
.f-qrcode-col .qrcode-box {
    width: 80px;
    height: 80px;
    font-size: 38px;
}

/* —— 响应式 —— */
@media (max-width: 1280px) {
    .f-industry-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1024px) {
    .footer-grid.footer-grid-v2 {
        grid-template-columns: 1fr 1fr;
    }
    .footer-col-contact {
        grid-column: 1 / -1;
    }
    .f-contact-main {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 24px;
    }
    .f-contact-main > * {
        flex: 1 1 200px;
    }
}
@media (max-width: 640px) {
    .f-industry-grid { grid-template-columns: 1fr 1fr; }
}

.breadcrumb {
    padding: 16px 0;
    background-color: var(--c-gray-50);
    border-bottom: 1px solid var(--c-border);
}

.breadcrumb .container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 14px;
    color: var(--c-text-light);
}

.breadcrumb a {
    color: var(--c-text-light);
}

.breadcrumb a:hover {
    color: var(--c-primary);
}

.breadcrumb .separator {
    color: var(--c-gray-400);
}

.breadcrumb .current {
    color: var(--c-primary);
    font-weight: 500;
}

.page-header {
    padding: 48px 0;
    background: linear-gradient(135deg, var(--c-primary) 0%, var(--c-accent) 100%);
    color: var(--c-white);
    text-align: center;
}

.page-header h1 {
    color: var(--c-white);
    font-size: 36px;
    margin-bottom: 12px;
}

.page-header p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 16px;
    margin-bottom: 0;
}

.content-wrapper {
    padding: 60px 0;
}

.about-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}

.about-text h2 {
    font-size: 28px;
    margin-bottom: 24px;
    color: var(--c-gray-900);
}

.about-text p {
    font-size: 15px;
    line-height: 1.8;
    text-indent: 2em;
}

.about-image {
    width: 100%;
    height: 400px;
    background: linear-gradient(135deg, var(--c-gray-200) 0%, var(--c-gray-400) 100%);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 64px;
    color: var(--c-white);
    position: relative;
    overflow: hidden;
}

.about-image::after {
    content: '🏢';
    position: relative;
    z-index: 1;
}

.about-image::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 30px,
        rgba(255, 255, 255, 0.05) 30px,
        rgba(255, 255, 255, 0.05) 60px
    );
}

.product-hero {
    padding: 60px 0;
    background: linear-gradient(135deg, var(--c-primary) 0%, var(--c-accent) 100%);
    color: var(--c-white);
}

.product-hero-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

.product-hero-text h1 {
    color: var(--c-white);
    font-size: 36px;
    margin-bottom: 16px;
}

.product-hero-text p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 16px;
    margin-bottom: 28px;
    line-height: 1.8;
}

.product-hero-text .hero-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-bottom: 28px;
}

.product-hero-text .hero-features li {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.95);
    font-size: 14px;
}

.product-hero-text .hero-features li::before {
    content: '✓';
    width: 20px;
    height: 20px;
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
}

.product-hero-image {
    width: 100%;
    height: 320px;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 120px;
    border: 2px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
}

.price-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.price-card {
    background-color: var(--c-white);
    border-radius: var(--radius-lg);
    padding: 32px 24px;
    text-align: center;
    box-shadow: var(--shadow);
    transition: var(--transition);
    border: 2px solid var(--c-gray-200);
    position: relative;
}

.price-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-xl);
    border-color: var(--c-primary);
}

.price-card.highlight {
    border-color: var(--c-primary);
    transform: scale(1.02);
    box-shadow: 0 12px 40px rgba(6, 99, 190, 0.2);
}

.price-card.highlight::before {
    content: '推荐';
    position: absolute;
    top: -1px;
    right: 24px;
    background: linear-gradient(135deg, var(--c-primary), var(--c-accent));
    color: white;
    padding: 4px 16px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 0 0 var(--radius) var(--radius);
}

.price-card-name {
    font-size: 18px;
    font-weight: 600;
    color: var(--c-gray-900);
    margin-bottom: 8px;
}

.price-card-price {
    padding: 24px 0;
    border-bottom: 1px solid var(--c-gray-100);
    margin-bottom: 20px;
}

.price-card-price .amount {
    font-size: 36px;
    font-weight: 700;
    color: var(--c-primary);
}

.price-card-price .amount small {
    font-size: 16px;
    font-weight: 500;
}

.price-card-price .unit {
    font-size: 14px;
    color: var(--c-text-light);
    margin-top: 4px;
}

.price-card-features {
    text-align: left;
    margin-bottom: 28px;
    min-height: 160px;
}

.price-card-features li {
    padding: 8px 0;
    font-size: 14px;
    color: var(--c-text-light);
    display: flex;
    align-items: center;
    gap: 8px;
}

.price-card-features li::before {
    content: '✓';
    color: var(--c-accent);
    font-weight: 700;
    font-size: 14px;
}

.screenshots-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.screenshot-card {
    overflow: hidden;
    transition: var(--transition);
}

.screenshot-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.screenshot-img {
    width: 100%;
    height: 160px;
    background: linear-gradient(135deg, var(--c-gray-200) 0%, var(--c-gray-300) 100%);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    color: var(--c-gray-500);
}

.screenshot-title {
    padding: 16px;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    color: var(--c-gray-800);
    background-color: var(--c-white);
    border-top: 1px solid var(--c-gray-100);
}

.module-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.module-card {
    padding: 24px;
    text-align: center;
    transition: var(--transition);
    border: 1px solid var(--c-gray-200);
}

.module-card:hover {
    border-color: var(--c-primary);
    background-color: rgba(6, 99, 190, 0.02);
    transform: translateY(-4px);
}

.module-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 16px;
    background: linear-gradient(135deg, rgba(6, 99, 190, 0.1), rgba(0, 167, 176, 0.1));
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    transition: var(--transition);
}

.module-card:hover .module-icon {
    background: linear-gradient(135deg, var(--c-primary), var(--c-accent));
}

.module-card:hover .module-icon {
    color: white;
}

.module-name {
    font-size: 15px;
    font-weight: 600;
    color: var(--c-gray-900);
}

.news-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 40px;
}

.news-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.news-item {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 20px;
    background-color: var(--c-white);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
}

.news-item:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.news-item-thumb {
    width: 100%;
    height: 140px;
    background: linear-gradient(135deg, var(--c-gray-200), var(--c-gray-300));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    color: var(--c-gray-500);
}

.news-item-body {
    padding: 20px 20px 20px 0;
    display: flex;
    flex-direction: column;
}

.news-item-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
    color: var(--c-gray-900);
    line-height: 1.5;
}

.news-item-title:hover {
    color: var(--c-primary);
}

.news-item-excerpt {
    font-size: 14px;
    color: var(--c-text-light);
    margin-bottom: 12px;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-item-meta {
    display: flex;
    gap: 16px;
    font-size: 13px;
    color: var(--c-text-lighter);
}

.news-item-meta span {
    display: flex;
    align-items: center;
    gap: 4px;
}

.sidebar {
    position: sticky;
    top: 90px;
    align-self: flex-start;
}

.widget {
    background-color: var(--c-white);
    border-radius: var(--radius-md);
    padding: 24px;
    margin-bottom: 24px;
    box-shadow: var(--shadow-sm);
}

.widget-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--c-gray-100);
    position: relative;
}

.widget-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 40px;
    height: 2px;
    background-color: var(--c-primary);
}

.category-list li {
    padding: 10px 0;
    border-bottom: 1px solid var(--c-gray-100);
}

.category-list li:last-child {
    border-bottom: none;
}

.category-list li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--c-gray-700);
    font-size: 14px;
}

.category-list li a:hover {
    color: var(--c-primary);
}

.category-list .count {
    background-color: var(--c-gray-100);
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 12px;
    color: var(--c-text-light);
}

.hot-news li {
    padding: 12px 0;
    border-bottom: 1px solid var(--c-gray-100);
}

.hot-news li:last-child {
    border-bottom: none;
}

.hot-news a {
    font-size: 14px;
    color: var(--c-gray-700);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.hot-news a:hover {
    color: var(--c-primary);
}

.article-detail {
    background-color: var(--c-white);
    border-radius: var(--radius-md);
    padding: 40px;
    box-shadow: var(--shadow-sm);
}

.article-header {
    text-align: center;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--c-gray-100);
    margin-bottom: 32px;
}

.article-header h1 {
    font-size: 28px;
    margin-bottom: 16px;
    line-height: 1.4;
}

.article-meta {
    display: flex;
    justify-content: center;
    gap: 24px;
    font-size: 14px;
    color: var(--c-text-lighter);
}

.article-meta span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.article-content {
    font-size: 16px;
    line-height: 2;
    color: var(--c-gray-800);
}

.article-content p {
    margin-bottom: 20px;
    text-indent: 2em;
    color: var(--c-gray-800);
}

.article-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 40px;
    padding-top: 24px;
    border-top: 1px solid var(--c-gray-100);
}

.article-nav-item {
    padding: 16px;
    background-color: var(--c-gray-50);
    border-radius: var(--radius);
    transition: var(--transition);
}

.article-nav-item:hover {
    background-color: var(--c-gray-100);
}

.article-nav-item .label {
    font-size: 13px;
    color: var(--c-text-lighter);
    margin-bottom: 6px;
}

.article-nav-item .title {
    font-size: 14px;
    color: var(--c-gray-800);
    font-weight: 500;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.article-nav-item.next {
    text-align: right;
}

.case-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: auto;
}

.contact-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.contact-info-card {
    background-color: var(--c-white);
    border-radius: var(--radius-lg);
    padding: 40px;
    box-shadow: var(--shadow);
    height: 100%;
}

.contact-info-card h3 {
    font-size: 24px;
    margin-bottom: 28px;
    color: var(--c-gray-900);
}

.contact-item {
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--c-gray-100);
}

.contact-item:last-of-type {
    border-bottom: none;
}

.contact-item-icon {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, rgba(6, 99, 190, 0.1), rgba(0, 167, 176, 0.1));
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}

.contact-item-text h4 {
    font-size: 16px;
    margin-bottom: 6px;
    color: var(--c-gray-900);
}

.contact-item-text p {
    font-size: 14px;
    color: var(--c-text-light);
    margin-bottom: 0;
    line-height: 1.6;
}

.contact-map {
    width: 100%;
    height: 200px;
    background: linear-gradient(135deg, var(--c-gray-100), var(--c-gray-200));
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 64px;
    color: var(--c-gray-400);
    margin-top: 8px;
}

.contact-form-wrap {
    background-color: var(--c-white);
    border-radius: var(--radius-lg);
    padding: 40px;
    box-shadow: var(--shadow);
}

.contact-form-wrap h3 {
    font-size: 24px;
    margin-bottom: 28px;
    color: var(--c-gray-900);
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 8px;
    color: var(--c-gray-800);
}

.form-group label .required {
    color: #ef4444;
    margin-left: 2px;
}

.form-control {
    width: 100%;
    padding: 10px 14px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--c-gray-900);
    background-color: var(--c-white);
    border: 1px solid var(--c-gray-300);
    border-radius: var(--radius);
    transition: var(--transition);
    font-family: inherit;
}

.form-control:focus {
    outline: none;
    border-color: var(--c-primary);
    box-shadow: 0 0 0 3px rgba(6, 99, 190, 0.1);
}

textarea.form-control {
    resize: vertical;
    min-height: 120px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.captcha-row {
    display: grid;
    grid-template-columns: 1fr 120px;
    gap: 12px;
    align-items: stretch;
}

.captcha-img {
    height: 42px;
    background: linear-gradient(135deg, var(--c-gray-100), var(--c-gray-200));
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 700;
    color: var(--c-gray-600);
    letter-spacing: 4px;
    cursor: pointer;
    user-select: none;
    font-style: italic;
    text-decoration: line-through;
}

.message-form-wrap {
    max-width: 800px;
    margin: 0 auto;
    background-color: var(--c-white);
    border-radius: var(--radius-lg);
    padding: 48px;
    box-shadow: var(--shadow);
}

.message-form-wrap h3 {
    font-size: 26px;
    text-align: center;
    margin-bottom: 8px;
    color: var(--c-gray-900);
}

.message-form-wrap > p {
    text-align: center;
    color: var(--c-text-light);
    margin-bottom: 36px;
}

.welcome-page {
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 0;
}

.welcome-card {
    text-align: center;
    max-width: 500px;
    padding: 48px;
}

.welcome-icon {
    width: 100px;
    height: 100px;
    margin: 0 auto 24px;
    background: linear-gradient(135deg, var(--c-primary), var(--c-accent));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    color: white;
    box-shadow: 0 10px 40px rgba(6, 99, 190, 0.3);
}

.welcome-card h1 {
    font-size: 32px;
    margin-bottom: 12px;
    color: var(--c-gray-900);
}

.welcome-card p {
    font-size: 16px;
    color: var(--c-text-light);
    margin-bottom: 32px;
}

.placeholder-mask {
    position: relative;
}

.placeholder-mask::after {
    content: '敬请期待 Coming Soon';
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 600;
    color: var(--c-gray-500);
    z-index: 10;
    border-radius: inherit;
    flex-direction: column;
    gap: 12px;
}

.placeholder-mask::before {
    content: '🚧';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, calc(-50% - 50px));
    font-size: 64px;
    z-index: 11;
}

.lorem-content p {
    font-size: 15px;
    line-height: 2;
    text-indent: 2em;
    color: var(--c-gray-700);
    margin-bottom: 20px;
}

@media (max-width: 1024px) {
    .grid-cols-4 {
        grid-template-columns: repeat(2, 1fr);
    }
    .why-us .grid-cols-4 {
        grid-template-columns: repeat(2, 1fr);
    }
    .price-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .screenshots-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .module-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .clients-logo-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .service-flow-steps {
        flex-wrap: wrap;
    }
    .service-flow-steps::before {
        display: none;
    }
    .flow-step {
        flex: 0 0 50%;
        margin-bottom: 32px;
    }
    .feature-list {
        grid-template-columns: repeat(2, 1fr);
    }
    .news-layout {
        grid-template-columns: 1fr;
    }
    .sidebar {
        position: static;
    }
}

@media (max-width: 768px) {
    h1 { font-size: 28px; }
    h2 { font-size: 22px; }
    .section { padding: 40px 0; }
    .section-title h2 { font-size: 24px; }
    .hero { padding: 60px 0; }
    .hero h1 { font-size: 30px; }
    .hero p { font-size: 16px; }
    .nav-main {
        display: none;
    }
    .site-header .container {
        height: 60px;
    }
    .grid-cols-2,
    .grid-cols-3,
    .grid-cols-4,
    .about-content,
    .contact-layout,
    .product-hero-content {
        grid-template-columns: 1fr;
    }
    .why-us .grid-cols-4 {
        grid-template-columns: 1fr;
    }
    .price-grid {
        grid-template-columns: 1fr;
    }
    .screenshots-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .module-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .clients-logo-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .flow-step {
        flex: 0 0 100%;
    }
    .feature-list {
        grid-template-columns: 1fr;
    }
    .news-item {
        grid-template-columns: 1fr;
    }
    .news-item-body {
        padding: 0 20px 20px;
    }
    .news-item-thumb {
        height: 180px;
    }
    .form-row {
        grid-template-columns: 1fr;
    }
    .contact-info-card,
    .contact-form-wrap,
    .message-form-wrap,
    .article-detail {
        padding: 24px;
    }
    .article-header h1 {
        font-size: 22px;
    }
    .article-nav {
        grid-template-columns: 1fr;
    }
    .article-nav-item.next {
        text-align: left;
    }
    .header-phone span {
        display: none;
    }
    .cta-banner h3 {
        font-size: 22px;
    }
    .product-hero {
        padding: 40px 0;
    }
    .product-hero-text h1 {
        font-size: 26px;
    }
    .product-hero-image {
        height: 240px;
        font-size: 80px;
    }
    .page-header {
        padding: 36px 0;
    }
    .page-header h1 {
        font-size: 26px;
    }
}

@media (max-width: 480px) {
    .screenshots-grid,
    .module-grid,
    .clients-logo-grid {
        grid-template-columns: 1fr;
    }
    .price-card.highlight {
        transform: none;
    }
    .container {
        padding: 0 16px;
    }
    .btn {
        padding: 8px 18px;
        font-size: 13px;
    }
    .btn-lg {
        padding: 12px 24px;
    }
    .captcha-row {
        grid-template-columns: 1fr;
    }
}

/* ===== 核心产品矩阵 V2：2 大产品卡片 · 放大展示 · 对比式布局 ===== */
.product-matrix-v2 {
    padding: 80px 0 70px;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 40%, #eff6ff 100%);
    position: relative;
    overflow: hidden;
}
.product-matrix-v2::before {
    content: '';
    position: absolute;
    top: -80px; left: -80px;
    width: 320px; height: 320px;
    background: radial-gradient(circle, rgba(6,99,190,0.08) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.product-matrix-v2::after {
    content: '';
    position: absolute;
    bottom: -80px; right: -80px;
    width: 360px; height: 360px;
    background: radial-gradient(circle, rgba(0,167,176,0.07) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.pmv2-header {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 56px;
    position: relative;
    z-index: 1;
}
.pmv2-header h2 {
    font-size: 38px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 14px;
    letter-spacing: -0.5px;
    background: linear-gradient(135deg, #064eab 0%, #00a7b0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.pmv2-subtitle {
    font-size: 17px;
    color: #475569;
    margin: 0;
    line-height: 1.7;
}

.pmv2-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    position: relative;
    z-index: 1;
}

.pmv2-card {
    position: relative;
    background: #fff;
    border-radius: 22px;
    padding: 44px 40px 40px;
    box-shadow:
        0 1px 3px rgba(15,23,42,0.06),
        0 10px 30px -10px rgba(15,23,42,0.1);
    display: flex;
    flex-direction: column;
    transition: all 0.35s cubic-bezier(0.4,0,0.2,1);
    overflow: hidden;
}
.pmv2-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 22px;
    padding: 2px;
    background: linear-gradient(135deg, transparent, transparent);
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    pointer-events: none;
    transition: all 0.35s ease;
}
.pmv2-card:hover {
    transform: translateY(-8px);
    box-shadow:
        0 2px 6px rgba(15,23,42,0.06),
        0 30px 60px -20px rgba(6,99,190,0.22);
}
/* 财筑云渐变边框 */
.pmv2-card-cloud:hover::before {
    background: linear-gradient(135deg, #3b82f6 0%, #0663be 40%, #00a7b0 100%);
}
/* 金石工程渐变边框 */
.pmv2-card-jinshi:hover::before {
    background: linear-gradient(135deg, #059669 0%, #0663be 40%, #8b5cf6 100%);
}

.pmv2-card-badge {
    position: absolute;
    top: 0; right: 36px;
    background: linear-gradient(135deg, #f59e0b, #ef4444);
    color: #fff;
    padding: 6px 16px 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.3px;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 4px 12px rgba(245,158,11,0.25);
}
.pmv2-badge-gray {
    background: linear-gradient(135deg, #475569, #1e293b);
    box-shadow: 0 4px 12px rgba(71,85,105,0.2);
}

.pmv2-card-icon {
    text-align: center;
    margin-bottom: 24px;
}
.pmv2-icon-wrap {
    width: 100px;
    height: 100px;
    margin: 0 auto 16px;
    border-radius: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 54px;
    position: relative;
    transition: transform 0.4s ease;
}
.pmv2-card:hover .pmv2-icon-wrap {
    transform: scale(1.08) rotate(-3deg);
}
.pmv2-icon-cloud {
    background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 50%, #0663be 100%);
    color: #fff;
    box-shadow:
        inset 0 2px 6px rgba(255,255,255,0.6),
        0 12px 28px -8px rgba(59,130,246,0.45);
}
.pmv2-icon-jinshi {
    background: linear-gradient(135deg, #dcfce7 0%, #a7f3d0 50%, #059669 100%);
    color: #fff;
    box-shadow:
        inset 0 2px 6px rgba(255,255,255,0.6),
        0 12px 28px -8px rgba(5,150,105,0.45);
}
.pmv2-card-tagline {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.5px;
    color: #94a3b8;
    text-transform: uppercase;
}

.pmv2-card-title {
    font-size: 30px;
    font-weight: 800;
    text-align: center;
    margin: 0 0 14px;
    color: #0f172a;
    letter-spacing: -0.3px;
}
.pmv2-card-slogan {
    text-align: center;
    font-size: 16px;
    color: #475569;
    line-height: 1.8;
    margin: 0 0 28px;
    font-weight: 500;
}

.pmv2-features {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 22px;
}
.pmv2-feature-item {
    padding: 8px 14px;
    background: linear-gradient(135deg, #f8fafc, #f1f5f9);
    border-radius: 10px;
    font-size: 14px;
    color: #334155;
    line-height: 1.4;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-left: 3px solid transparent;
    transition: all 0.25s ease;
}
.pmv2-card-cloud .pmv2-feature-item:hover {
    border-left-color: #0663be;
    background: linear-gradient(135deg, #eff6ff, #dbeafe);
}
.pmv2-card-jinshi .pmv2-feature-item:hover {
    border-left-color: #059669;
    background: linear-gradient(135deg, #f0fdf4, #dcfce7);
}

.pmv2-quicklinks {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
    margin-bottom: 28px;
    padding-bottom: 24px;
    border-bottom: 1px dashed #e2e8f0;
    justify-content: center;
}
.pmv2-quicklinks a {
    padding: 6px 13px;
    font-size: 13px;
    color: #475569;
    background: #f1f5f9;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s ease;
    font-weight: 500;
}
.pmv2-quicklinks a:hover {
    color: #fff;
    background: linear-gradient(135deg, #0663be, #00a7b0);
    transform: translateY(-2px);
}

.pmv2-card-btns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: auto;
}
.pmv2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 18px;
    font-size: 15px;
    font-weight: 700;
    border-radius: 12px;
    text-decoration: none;
    text-align: center;
    transition: all 0.25s ease;
    letter-spacing: 0.2px;
    cursor: pointer;
    border: none;
}
.pmv2-btn-primary {
    background: linear-gradient(135deg, #0663be 0%, #00a7b0 100%);
    color: #fff;
    box-shadow: 0 6px 18px -4px rgba(6,99,190,0.45);
}
.pmv2-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -6px rgba(6,99,190,0.55);
    color: #fff;
}
.pmv2-btn-jinshi {
    background: linear-gradient(135deg, #059669 0%, #0663be 100%);
    box-shadow: 0 6px 18px -4px rgba(5,150,105,0.45);
}
.pmv2-btn-jinshi:hover {
    box-shadow: 0 12px 28px -6px rgba(5,150,105,0.55);
}
.pmv2-btn-outline {
    background: #fff;
    color: #0663be;
    border: 2px solid #dbeafe;
    box-shadow: 0 1px 3px rgba(15,23,42,0.04);
}
.pmv2-btn-outline:hover {
    background: #eff6ff;
    border-color: #0663be;
    transform: translateY(-2px);
    color: #0663be;
}

/* 对比速查条 */
.pmv2-compare-bar {
    margin-top: 36px;
    background: #fff;
    border-radius: 16px;
    padding: 22px 28px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    box-shadow: 0 6px 20px -10px rgba(15,23,42,0.15);
    position: relative;
    z-index: 1;
    border: 1px solid #e2e8f0;
}
.pmv2-compare-col {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 4px 16px;
}
.pmv2-compare-col:nth-child(1) {
    border-right: 1px solid #e2e8f0;
}
.pmv2-compare-col:nth-child(2) {
    border-right: 1px solid #e2e8f0;
    text-align: center;
}
.pmv2-compare-col:nth-child(3) {
    text-align: right;
}
.pmv2-compare-label {
    font-size: 12px;
    font-weight: 600;
    color: #94a3b8;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}
.pmv2-compare-val {
    font-size: 14.5px;
    font-weight: 600;
    color: #334155;
    line-height: 1.55;
}
.pmv2-cv-cloud {
    color: #0663be;
}
.pmv2-cv-jinshi {
    color: #059669;
}

/* 响应式 */
@media (max-width: 1024px) {
    .pmv2-grid {
        grid-template-columns: 1fr;
        max-width: 640px;
        margin: 0 auto;
        gap: 28px;
    }
    .pmv2-compare-bar {
        grid-template-columns: 1fr;
        padding: 18px 20px;
        gap: 16px;
    }
    .pmv2-compare-col,
    .pmv2-compare-col:nth-child(1),
    .pmv2-compare-col:nth-child(2),
    .pmv2-compare-col:nth-child(3) {
        border-right: none;
        border-bottom: 1px dashed #e2e8f0;
        padding-bottom: 14px;
        text-align: left;
    }
    .pmv2-compare-col:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }
}
@media (max-width: 640px) {
    .product-matrix-v2 {
        padding: 56px 0 48px;
    }
    .pmv2-header {
        margin-bottom: 36px;
    }
    .pmv2-header h2 {
        font-size: 28px;
    }
    .pmv2-subtitle {
        font-size: 15px;
    }
    .pmv2-card {
        padding: 36px 22px 30px;
        border-radius: 18px;
    }
    .pmv2-card-badge {
        right: 18px;
        padding: 5px 12px 7px;
        font-size: 11px;
    }
    .pmv2-icon-wrap {
        width: 80px;
        height: 80px;
        font-size: 42px;
        border-radius: 22px;
    }
    .pmv2-card-title {
        font-size: 24px;
    }
    .pmv2-card-slogan {
        font-size: 14.5px;
    }
    .pmv2-feature-item {
        font-size: 13.5px;
        padding: 10px 14px;
    }
    .pmv2-card-btns {
        grid-template-columns: 1fr;
    }
}

/* ===== 12 大行业解决方案 V2：宫格 + hover 展开功能模块 ===== */
.industries-v2 {
    padding: 80px 0 70px;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 60%, #eff6ff 100%);
    position: relative;
    overflow: hidden;
}
.industries-v2::before {
    content: '';
    position: absolute;
    top: 40%; left: -120px;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(16,185,129,0.07) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.industries-v2::after {
    content: '';
    position: absolute;
    bottom: 10%; right: -100px;
    width: 340px; height: 340px;
    background: radial-gradient(circle, rgba(245,158,11,0.07) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.indv2-header {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 52px;
    position: relative;
    z-index: 1;
}
.indv2-header h2 {
    font-size: 36px;
    font-weight: 800;
    margin: 0 0 12px;
    letter-spacing: -0.5px;
    background: linear-gradient(135deg, #064eab 0%, #059669 60%, #f59e0b 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.indv2-subtitle {
    font-size: 16px;
    color: #64748b;
    margin: 0;
    line-height: 1.7;
}

.indv2-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    position: relative;
    z-index: 1;
    margin-bottom: 40px;
}

.indv2-card {
    position: relative;
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    box-shadow:
        0 1px 3px rgba(15,23,42,0.06),
        0 6px 20px -12px rgba(15,23,42,0.12);
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
    border: 1px solid #f1f5f9;
}

.indv2-card-top {
    height: 6px;
    width: 100%;
    flex-shrink: 0;
}

.indv2-card-body {
    padding: 22px 22px 20px;
    display: flex;
    flex-direction: column;
    transition: all 0.35s ease;
}
.indv2-icon {
    width: 58px;
    height: 58px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    color: #fff;
    margin-bottom: 14px;
    box-shadow: 0 8px 18px -10px rgba(0,0,0,0.25);
    transition: transform 0.4s ease;
}
.indv2-card:hover .indv2-icon {
    transform: scale(1.1) rotate(-4deg);
}
.indv2-meta {
    margin-bottom: 10px;
    height: 24px;
}
.indv2-prod-tag {
    display: inline-block;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.3px;
    border-radius: 999px;
}
.indv2-name {
    font-size: 20px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 10px;
    line-height: 1.25;
    transition: color 0.3s ease;
}
.indv2-card:hover .indv2-name {
    color: var(--ind-accent);
}
.indv2-slogan {
    font-size: 13.5px;
    color: #64748b;
    line-height: 1.65;
    margin: 0 0 14px;
    min-height: 44px;
    font-weight: 500;
}
.indv2-cta {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 700;
    color: var(--ind-accent);
    opacity: 0.9;
    padding-top: 8px;
    transition: all 0.3s ease;
}
.indv2-cta svg {
    transition: transform 0.3s ease;
}
.indv2-card:hover .indv2-cta svg {
    transform: translateX(4px);
}

/* ===== hover 展开：功能模块层 ===== */
.indv2-card-hover {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(180deg, #ffffff 0%, #fafbff 100%);
    padding: 22px 22px 20px;
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
    z-index: 5;
}
.indv2-card:hover {
    transform: translateY(-6px);
    box-shadow:
        0 2px 6px rgba(15,23,42,0.06),
        0 22px 50px -20px var(--ind-accent);
    border-color: var(--ind-accent);
    z-index: 2;
}
.indv2-card:hover .indv2-card-hover {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.indv2-hover-title {
    font-size: 13.5px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 12px;
    padding-bottom: 10px;
    border-bottom: 1px dashed #e2e8f0;
    display: flex;
    align-items: center;
    gap: 8px;
}
.indv2-hover-title span {
    font-size: 16px;
}
.indv2-modules {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 7px;
    align-content: flex-start;
    margin-bottom: 14px;
    overflow: hidden;
}
.indv2-mod {
    display: inline-block;
    padding: 5px 9px;
    font-size: 11.5px;
    font-weight: 600;
    border-radius: 6px;
    border: 1px solid;
    line-height: 1.3;
    transition: all 0.25s ease;
}
.indv2-mod:hover {
    filter: brightness(1.05);
    transform: translateY(-1px);
}
.indv2-hover-cta {
    margin-top: auto;
    padding: 12px 14px;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    border-radius: 10px;
    letter-spacing: 0.2px;
    box-shadow: 0 4px 12px -4px rgba(0,0,0,0.2);
    transition: all 0.25s ease;
}
.indv2-hover-cta:hover {
    filter: brightness(1.05);
    transform: translateY(-1px);
}

/* 8 大行业通用卡：财筑云/金石双入口按钮 */
.indv2-ctas {
    display: flex;
    gap: 10px;
    margin-top: auto;
    padding-top: 14px;
}
.indv2-ctas a {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    height: 40px;
    border-radius: 11px;
    font-size: 13.5px;
    font-weight: 700;
    background: #fff;
    border: 1.5px solid var(--ind-accent, #3b82f6);
    color: var(--ind-accent, #3b82f6);
    text-decoration: none;
    transition: all .2s ease;
    white-space: nowrap;
}
.indv2-ctas a:hover {
    background: var(--ind-accent, #3b82f6);
    color: #fff;
    transform: translateY(-1px);
}
.indv2-card-hover .indv2-ctas {
    margin-top: 18px;
}

/* 底部选型提示条 */
.indv2-tips {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    position: relative;
    z-index: 1;
}
.indv2-tip {
    background: #fff;
    border-radius: 14px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 14px -10px rgba(15,23,42,0.15);
}
.indv2-tip-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #fff;
    flex-shrink: 0;
    box-shadow: 0 6px 14px -6px rgba(0,0,0,0.2);
}
.indv2-tip > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.indv2-tip strong {
    font-size: 15px;
    color: #0f172a;
    font-weight: 800;
}
.indv2-tip span {
    font-size: 12.5px;
    color: #64748b;
    font-weight: 500;
}

/* 响应式 */
@media (max-width: 1200px) {
    .indv2-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 900px) {
    .indv2-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .indv2-tips {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 640px) {
    .industries-v2 {
        padding: 52px 0 48px;
    }
    .indv2-header h2 {
        font-size: 26px;
    }
    .indv2-subtitle {
        font-size: 14px;
    }
    .indv2-grid {
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }
    .indv2-card-body {
        padding: 16px 14px 14px;
    }
    .indv2-icon {
        width: 46px;
        height: 46px;
        border-radius: 12px;
        font-size: 22px;
        margin-bottom: 10px;
    }
    .indv2-name {
        font-size: 15px;
    }
    .indv2-slogan {
        font-size: 11.5px;
        min-height: auto;
    }
    /* 移动端取消 hover 展开，改为直接显示简化模块 */
    .indv2-card-hover {
        display: none;
    }
}

/* ===== 22 大核心功能模块架构 V2 ===== */
.fma-v2 {
    background: linear-gradient(180deg, #fff 0%, #f1f5f9 60%, #eef2ff 100%);
    position: relative;
    overflow: hidden;
}
.fma-v2::before {
    content: '';
    position: absolute;
    top: 12%; right: -80px;
    width: 320px; height: 320px;
    background: radial-gradient(circle, rgba(14,165,233,0.08) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.fma-v2::after {
    content: '';
    position: absolute;
    bottom: 20%; left: -120px;
    width: 380px; height: 380px;
    background: radial-gradient(circle, rgba(16,185,129,0.07) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.py-70 { padding: 70px 0; }

.fma-header {
    text-align: center;
    max-width: 820px;
    margin: 0 auto 50px;
    position: relative;
    z-index: 1;
}
.fma-badge {
    display: inline-block;
    padding: 7px 16px;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.3px;
    color: #0663be;
    background: linear-gradient(135deg, #dbeafe, #e0e7ff);
    border-radius: 999px;
    margin-bottom: 18px;
}
.fma-header h2 {
    font-size: 38px;
    font-weight: 800;
    margin: 0 0 14px;
    letter-spacing: -0.6px;
    line-height: 1.25;
    background: linear-gradient(135deg, #064eab 0%, #059669 50%, #9333ea 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.fma-header p {
    font-size: 15.5px;
    color: #64748b;
    margin: 0 0 22px;
    line-height: 1.8;
}
.fma-header-links {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}
.fma-cta {
    display: inline-flex;
    align-items: center;
    padding: 12px 22px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 10px;
    transition: all 0.25s ease;
    letter-spacing: 0.2px;
}
.fma-cta.primary {
    background: linear-gradient(135deg, #0663be, #1d4ed8);
    color: #fff;
    box-shadow: 0 8px 24px -10px #0663be;
}
.fma-cta.primary:hover {
    filter: brightness(1.05);
    transform: translateY(-1px);
}
.fma-cta.ghost {
    background: #fff;
    color: #0663be;
    border: 1.5px solid #bfdbfe;
}
.fma-cta.ghost:hover {
    background: #eff6ff;
    border-color: #93c5fd;
}

/* ===== 4 个功能层级：左卡片 + 右网格 ===== */
.fma-layer {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 22px;
    margin-bottom: 26px;
    position: relative;
    z-index: 1;
    align-items: stretch;
}
.fma-layer-card {
    border-radius: 20px;
    padding: 28px 24px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 18px -14px rgba(15,23,42,0.3);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.fma-layer-badge {
    display: inline-block;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    color: #fff;
    font-weight: 800;
    font-size: 17px;
    line-height: 44px;
    text-align: center;
    margin-bottom: 16px;
    box-shadow: 0 6px 14px -6px rgba(0,0,0,0.2);
}
.fma-layer-name {
    font-size: 24px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 6px;
    letter-spacing: -0.3px;
}
.fma-layer-mod-count {
    display: inline-block;
    align-self: flex-start;
    padding: 3px 11px;
    font-size: 12px;
    font-weight: 700;
    color: #1e293b;
    background: rgba(255,255,255,0.7);
    backdrop-filter: blur(8px);
    border-radius: 999px;
    margin-bottom: 14px;
}
.fma-layer-desc {
    font-size: 13.5px;
    color: #334155;
    line-height: 1.75;
    margin: 0 0 16px;
    font-weight: 500;
}
.fma-layer-role {
    padding: 10px 12px;
    font-size: 12px;
    font-weight: 600;
    color: #1e293b;
    background: rgba(255,255,255,0.85);
    backdrop-filter: blur(8px);
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,0.6);
}

.fma-modules-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, 1fr);
    align-content: start;
}
/* 根据层内模块数调整列数 */
.fma-layer:nth-child(2) .fma-modules-grid { grid-template-columns: repeat(5, 1fr); }   /* L1: 5 个 */
.fma-layer:nth-child(3) .fma-modules-grid { grid-template-columns: repeat(4, 1fr); }   /* L2: 8 个 → 4列2行 */
.fma-layer:nth-child(4) .fma-modules-grid { grid-template-columns: repeat(5, 1fr); }   /* L3: 5 个 */
.fma-layer:nth-child(5) .fma-modules-grid { grid-template-columns: repeat(4, 1fr); }   /* L4: 4 个 */

.fma-mod-card {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 18px 16px;
    background: #fff;
    border-radius: 14px;
    text-decoration: none;
    border: 1.5px solid #f1f5f9;
    box-shadow: 0 2px 6px -3px rgba(15,23,42,0.08);
    transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
    position: relative;
    overflow: hidden;
}
.fma-mod-card::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: var(--fma-accent);
    opacity: 0;
    transition: opacity 0.3s ease;
}
.fma-mod-card:hover {
    transform: translateY(-3px);
    border-color: var(--fma-accent);
    box-shadow:
        0 4px 10px -6px rgba(15,23,42,0.1),
        0 16px 36px -20px var(--fma-accent);
}
.fma-mod-card:hover::after {
    opacity: 1;
}
.fma-mod-icon {
    width: 42px;
    height: 42px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}
.fma-mod-card:hover .fma-mod-icon {
    transform: scale(1.1) rotate(-3deg);
}
.fma-mod-info {
    flex: 1;
    min-width: 0;
}
.fma-mod-name {
    font-size: 14.5px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 4px;
    line-height: 1.35;
}
.fma-mod-desc {
    font-size: 11.5px;
    color: #64748b;
    line-height: 1.65;
    margin: 0;
    font-weight: 500;
}
.fma-mod-arrow {
    font-size: 16px;
    font-weight: 800;
    align-self: center;
    opacity: 0.6;
    flex-shrink: 0;
    transition: all 0.25s ease;
}
.fma-mod-card:hover .fma-mod-arrow {
    opacity: 1;
    transform: translateX(3px);
}

/* ===== 底部汇总 CTA ===== */
.fma-footer {
    margin-top: 44px;
    border-radius: 24px;
    padding: 32px 34px;
    background:
        linear-gradient(135deg, rgba(6,99,190,0.95) 0%, rgba(30,64,175,0.95) 50%, rgba(147,51,234,0.95) 100%);
    color: #fff;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 28px;
    align-items: center;
    position: relative;
    overflow: hidden;
    z-index: 1;
    box-shadow: 0 24px 60px -24px rgba(14,165,233,0.4);
}
.fma-footer::before {
    content: '';
    position: absolute;
    top: -80px; right: -60px;
    width: 260px; height: 260px;
    background: radial-gradient(circle, rgba(255,255,255,0.15) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.fma-footer-left h3 {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 8px;
}
.fma-footer-left p {
    font-size: 14px;
    color: rgba(255,255,255,0.85);
    margin: 0 0 18px;
    line-height: 1.6;
}
.fma-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}
.fma-stats div {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px 12px;
    background: rgba(255,255,255,0.12);
    backdrop-filter: blur(6px);
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,0.15);
}
.fma-stats strong {
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
}
.fma-stats span {
    font-size: 11.5px;
    color: rgba(255,255,255,0.8);
    font-weight: 500;
}
.fma-footer-right {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
}
.fma-footer-cta {
    display: block;
    padding: 14px 18px;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    border-radius: 11px;
    transition: all 0.25s ease;
}
.fma-footer-cta.primary {
    background: #fff;
    color: #0663be;
    box-shadow: 0 8px 20px -8px rgba(0,0,0,0.3);
}
.fma-footer-cta.primary:hover { transform: translateY(-1px); filter: brightness(1.03); }
.fma-footer-cta.ghost {
    background: rgba(255,255,255,0.1);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.25);
}
.fma-footer-cta.ghost:hover { background: rgba(255,255,255,0.2); }
.fma-footer-cta.subtle {
    background: transparent;
    color: rgba(255,255,255,0.85);
    border: 1px solid rgba(255,255,255,0.15);
    font-size: 13px;
    font-weight: 600;
    padding: 11px 16px;
}
.fma-footer-cta.subtle:hover { color: #fff; border-color: rgba(255,255,255,0.4); }

/* ===== 响应式 ===== */
@media (max-width: 1200px) {
    .fma-layer:nth-child(n) .fma-modules-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 960px) {
    .fma-layer {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .fma-layer-card {
        padding: 22px 20px;
    }
    .fma-layer:nth-child(n) .fma-modules-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .fma-footer {
        grid-template-columns: 1fr;
        padding: 26px 22px;
    }
    .fma-header h2 {
        font-size: 28px;
    }
}
@media (max-width: 640px) {
    .py-70 { padding: 48px 0; }
    .fma-layer:nth-child(n) .fma-modules-grid {
        grid-template-columns: 1fr;
    }
    .fma-stats {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ===== 客户案例 V2：产品应用效果 · 量化收益卡片（产品 80% / 公司 20%） ===== */
.cv2-badge {
    display: inline-block;
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    color: #92400e;
    font-size: 13px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 999px;
    letter-spacing: 0.3px;
}
.cv2-kpi-strip {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin: 0 auto 36px;
    max-width: 1080px;
}
.cv2-kpi-strip .cv2-kpi {
    background: #fff;
    border: 1px solid #f1f5f9;
    border-radius: 14px;
    padding: 18px 14px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(15,23,42,0.04);
    transition: all 0.25s ease;
}
.cv2-kpi-strip .cv2-kpi:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px -8px rgba(15,23,42,0.18);
    border-color: #e0e7ff;
}
.cv2-kpi-strip .cv2-kpi strong {
    display: block;
    font-size: 26px;
    font-weight: 800;
    color: #1d4ed8;
    line-height: 1.15;
    margin-bottom: 4px;
    background: linear-gradient(135deg, #2563eb, #7c3aed);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.cv2-kpi-strip .cv2-kpi span {
    font-size: 12.5px;
    color: #64748b;
    font-weight: 500;
}

/* 案例卡片 3×2 网格 */
.cv2-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-bottom: 34px;
}
.cv2-card {
    display: block;
    background: #fff;
    border-radius: 18px;
    padding: 24px 22px 18px;
    text-decoration: none;
    border: 1.5px solid #f1f5f9;
    box-shadow: 0 2px 8px -6px rgba(15,23,42,0.12);
    transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
    position: relative;
    overflow: hidden;
}
.cv2-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: var(--cv2-accent, #2563eb);
    opacity: 0;
    transform: scaleX(0.3);
    transform-origin: left;
    transition: all 0.35s ease;
}
.cv2-card:hover {
    transform: translateY(-5px);
    border-color: var(--cv2-accent, #2563eb);
    box-shadow:
        0 6px 16px -10px rgba(15,23,42,0.2),
        0 20px 44px -24px var(--cv2-accent, #2563eb);
}
.cv2-card:hover::before {
    opacity: 1;
    transform: scaleX(1);
}

/* 卡片头部：Logo + 客户 + 行业 + 产品 */
.cv2-card-head {
    display: flex;
    gap: 13px;
    align-items: flex-start;
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px dashed #e2e8f0;
}
.cv2-logo {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}
.cv2-card:hover .cv2-logo {
    transform: scale(1.08) rotate(-4deg);
}
.cv2-head-info { flex: 1; min-width: 0; }
.cv2-client {
    font-size: 16px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 5px;
    line-height: 1.3;
}
.cv2-industry {
    font-size: 12px;
    color: #64748b;
    font-weight: 500;
    margin-bottom: 5px;
}
.cv2-product {
    font-size: 12px;
    font-weight: 600;
    color: var(--cv2-accent, #2563eb);
    background: color-mix(in srgb, var(--cv2-accent, #2563eb) 10%, transparent);
    display: inline-block;
    padding: 3px 9px;
    border-radius: 999px;
}

/* 3 项量化收益（产品 80% 核心） */
.cv2-kpis {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 16px;
    padding: 14px 10px;
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--cv2-accent, #2563eb) 6%, #fff) 0%,
        color-mix(in srgb, var(--cv2-accent, #2563eb) 2%, #fff) 100%);
    border-radius: 12px;
    border: 1px solid color-mix(in srgb, var(--cv2-accent, #2563eb) 12%, transparent);
}
.cv2-kpi-item {
    text-align: center;
}
.cv2-kpi-num {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 2px;
    margin-bottom: 3px;
    line-height: 1;
}
.cv2-kpi-n {
    font-size: 22px;
    font-weight: 800;
    color: var(--cv2-accent, #2563eb);
    letter-spacing: -0.3px;
}
.cv2-kpi-u {
    font-size: 11px;
    font-weight: 600;
    color: var(--cv2-accent, #2563eb);
    opacity: 0.8;
}
.cv2-kpi-l {
    font-size: 11.5px;
    color: #475569;
    font-weight: 500;
}

/* 应用场景描述 */
.cv2-scenario {
    font-size: 13px;
    color: #334155;
    line-height: 1.6;
    margin: 0 0 14px;
    padding: 10px 12px;
    background: #f8fafc;
    border-radius: 10px;
    border-left: 3px solid var(--cv2-accent, #2563eb);
}

/* 使用功能模块标签 */
.cv2-modules {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 16px;
}
.cv2-mod-tag {
    font-size: 11.5px;
    font-weight: 500;
    color: #334155;
    padding: 3px 9px;
    border-radius: 999px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    transition: all 0.2s ease;
}
.cv2-card:hover .cv2-mod-tag {
    background: color-mix(in srgb, var(--cv2-accent, #2563eb) 8%, #fff);
    border-color: color-mix(in srgb, var(--cv2-accent, #2563eb) 25%, transparent);
    color: var(--cv2-accent, #2563eb);
}

/* 卡片底部 CTA */
.cv2-footer {
    padding-top: 14px;
    border-top: 1px solid #f1f5f9;
    display: flex;
    justify-content: flex-end;
}
.cv2-cta {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--cv2-accent, #2563eb);
    transition: all 0.2s ease;
}
.cv2-card:hover .cv2-cta {
    letter-spacing: 0.3px;
    transform: translateX(2px);
}

/* 底部 Logo 条（公司 20%，弱化） */
.cv2-logobar {
    background: #fafafa;
    border-radius: 14px;
    padding: 16px 22px;
    border: 1px solid #f1f5f9;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
}
.cv2-logobar-tip {
    font-size: 12.5px;
    color: #64748b;
    font-weight: 500;
    flex-shrink: 0;
}
.cv2-logolist {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    flex: 1;
    min-width: 0;
}
.cv2-logolist span {
    font-size: 12px;
    color: #475569;
    font-weight: 500;
    padding: 3px 0;
}

/* cases-v2 响应式 */
@media (max-width: 1100px) {
    .cv2-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 960px) {
    .cv2-kpi-strip {
        grid-template-columns: repeat(5, 1fr);
        gap: 8px;
    }
    .cv2-kpi-strip .cv2-kpi strong {
        font-size: 20px;
    }
    .cv2-kpi-strip .cv2-kpi {
        padding: 14px 8px;
    }
}
@media (max-width: 720px) {
    .cv2-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .cv2-kpi-strip {
        grid-template-columns: repeat(3, 1fr);
    }
    .cv2-kpi-strip .cv2-kpi:nth-child(4),
    .cv2-kpi-strip .cv2-kpi:nth-child(5) {
        grid-column: span 1;
    }
    .cv2-logobar {
        padding: 14px 16px;
    }
}

/* ================================================================
   价格方案 V2：产品对比定价 · 产品价值量化（淡化公司优惠话术）
   ================================================================ */
.pricing-v2 {
    padding: 64px 0 56px;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 60%);
}
.pv2-head {
    text-align: center;
    margin-bottom: 40px;
}
.pv2-badge {
    display: inline-block;
    padding: 5px 14px;
    background: linear-gradient(90deg, rgba(37,99,235,0.08), rgba(124,58,237,0.08));
    color: #2563eb;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
    border: 1px solid rgba(37,99,235,0.14);
}
.pv2-head h2 {
    font-size: 34px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 10px;
    letter-spacing: -0.3px;
}
.pv2-head p {
    font-size: 15px;
    color: #64748b;
    margin: 0;
    font-weight: 500;
}
.pv2-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    max-width: 1180px;
    margin: 0 auto;
}
.pv2-card {
    position: relative;
    background: #fff;
    border-radius: 20px;
    padding: 36px 32px 28px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 8px rgba(15,23,42,0.04);
    transition: all 0.28s ease;
    overflow: hidden;
}
.pv2-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px -12px rgba(15,23,42,0.14);
    border-color: #cbd5e1;
}
.pv2-card.cloud {
    border-top: 4px solid #2563eb;
}
.pv2-card.cloud::after {
    content: "";
    position: absolute;
    top: -80px;
    right: -80px;
    width: 240px;
    height: 240px;
    background: radial-gradient(circle, rgba(37,99,235,0.08), transparent 68%);
    pointer-events: none;
}
.pv2-card.jinshi {
    border-top: 4px solid #7c3aed;
}
.pv2-card.jinshi::after {
    content: "";
    position: absolute;
    top: -80px;
    right: -80px;
    width: 240px;
    height: 240px;
    background: radial-gradient(circle, rgba(124,58,237,0.08), transparent 68%);
    pointer-events: none;
}
.pv2-banner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 22px;
}
.pv2-banner.cloud {
    background: rgba(37,99,235,0.08);
    color: #1d4ed8;
}
.pv2-banner.jinshi {
    background: rgba(124,58,237,0.08);
    color: #6d28d9;
}
.pv2-prod {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 22px;
}
.pv2-ico {
    width: 58px;
    height: 58px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    background: linear-gradient(135deg, #eff6ff, #dbeafe);
    flex-shrink: 0;
}
.pv2-card.jinshi .pv2-ico {
    background: linear-gradient(135deg, #f5f3ff, #ede9fe);
}
.pv2-prod h3 {
    margin: 0 0 4px;
    font-size: 22px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.2px;
}
.pv2-prod p {
    margin: 0;
    font-size: 13.5px;
    color: #64748b;
    font-weight: 500;
}
.pv2-tiers {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 10px;
    margin-bottom: 22px;
}
.pv2-tier {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-radius: 12px;
    background: #fafbfc;
    border: 1px solid #eef2f7;
    transition: all 0.22s ease;
}
.pv2-tier:hover {
    background: #f5f8ff;
    border-color: #dbeafe;
}
.pv2-tier.hot {
    background: linear-gradient(135deg, #eff6ff, #ffffff);
    border-color: #bfdbfe;
    box-shadow: 0 4px 14px -6px rgba(37,99,235,0.25);
}
.pv2-card.jinshi .pv2-tier.hot {
    background: linear-gradient(135deg, #f5f3ff, #ffffff);
    border-color: #ddd6fe;
    box-shadow: 0 4px 14px -6px rgba(124,58,237,0.25);
}
.pv2-tier-name {
    font-size: 13px;
    color: #94a3b8;
    font-weight: 600;
    letter-spacing: 0.4px;
    margin-bottom: 4px;
}
.pv2-tier.hot .pv2-tier-name {
    color: #2563eb;
}
.pv2-card.jinshi .pv2-tier.hot .pv2-tier-name {
    color: #7c3aed;
}
.pv2-tier-price {
    display: flex;
    align-items: baseline;
    gap: 6px;
}
.pv2-tier-price b {
    font-size: 22px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.2px;
}
.pv2-tier-price span {
    font-size: 12.5px;
    color: #64748b;
    font-weight: 500;
}
.pv2-tier-meta {
    text-align: right;
    font-size: 12.5px;
    color: #475569;
    font-weight: 500;
    line-height: 1.55;
}
.pv2-tier-meta em {
    font-style: normal;
    color: #10b981;
    font-weight: 600;
}
.pv2-roi {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding: 18px;
    background: linear-gradient(135deg, #0f172a, #1e293b);
    border-radius: 14px;
    margin-bottom: 20px;
    color: #fff;
}
.pv2-card.cloud .pv2-roi {
    background: linear-gradient(135deg, #1e3a8a, #1e40af);
}
.pv2-card.jinshi .pv2-roi {
    background: linear-gradient(135deg, #5b21b6, #6d28d9);
}
.pv2-roi > div {
    text-align: center;
}
.pv2-roi b {
    display: block;
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 3px;
    letter-spacing: -0.2px;
}
.pv2-roi i {
    font-style: normal;
    font-size: 11.5px;
    color: rgba(255,255,255,0.8);
    font-weight: 500;
}
.pv2-feats {
    position: relative;
    z-index: 1;
    padding: 0;
    margin: 0 0 24px;
    list-style: none;
    display: grid;
    gap: 10px;
}
.pv2-feats li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13.5px;
    color: #334155;
    line-height: 1.55;
    font-weight: 500;
}
.pv2-feats li::before {
    content: "✓";
    flex-shrink: 0;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: rgba(16,185,129,0.12);
    color: #059669;
    font-size: 11.5px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}
.pv2-cta {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}
.pv2-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 26px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.22s ease;
}
.pv2-cta-btn.primary {
    background: #2563eb;
    color: #fff;
    box-shadow: 0 6px 18px -8px rgba(37,99,235,0.7);
}
.pv2-card.jinshi .pv2-cta-btn.primary {
    background: #7c3aed;
    box-shadow: 0 6px 18px -8px rgba(124,58,237,0.7);
}
.pv2-cta-btn.primary:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
}
.pv2-cta-btn.secondary {
    background: #fff;
    color: #2563eb;
    border: 1.5px solid #bfdbfe;
}
.pv2-card.jinshi .pv2-cta-btn.secondary {
    color: #7c3aed;
    border-color: #ddd6fe;
}
.pv2-cta-btn.secondary:hover {
    background: #f5f8ff;
}
.pv2-tip {
    position: relative;
    z-index: 1;
    font-size: 12.5px;
    color: #94a3b8;
    font-weight: 500;
}
.pv2-compare-bar {
    max-width: 1180px;
    margin: 22px auto 0;
    padding: 16px 24px;
    background: linear-gradient(90deg, #f0f9ff, #f5f3ff);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border: 1px solid #e0e7ff;
}
.pv2-compare-bar p {
    margin: 0;
    font-size: 14px;
    color: #475569;
    font-weight: 600;
    line-height: 1.5;
}
.pv2-compare-bar a {
    flex-shrink: 0;
    padding: 10px 20px;
    background: #0f172a;
    color: #fff;
    border-radius: 10px;
    text-decoration: none !important;
    font-size: 13.5px;
    font-weight: 600;
    transition: all 0.22s ease;
}
.pv2-compare-bar a:hover {
    background: #2563eb;
}

/* 兜底 }：修复前端语法解析时缺失 } 导致后续规则全部失效（多余 } 会被 CSS 引擎静默忽略） */
}

/* ================================================================
   价格方案 V3：全新视觉 · 高端现代风
   ================================================================ */
.pricing-v3 {
    position: relative;
    padding: 84px 0 72px;
    overflow: hidden;
    background:
        radial-gradient(1200px 500px at 15% -5%, rgba(37,99,235,0.10), transparent 60%),
        radial-gradient(900px 500px at 85% 0%, rgba(139,92,246,0.10), transparent 60%),
        linear-gradient(180deg, #f4f7fc 0%, #ffffff 55%, #f8faff 100%);
}
.pv3-bg-deco {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        radial-gradient(circle at 1px 1px, rgba(100,116,139,0.12) 1px, transparent 0);
    background-size: 24px 24px;
    mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.55) 40%, transparent 100%);
    opacity: 0.35;
}
.pricing-v3 .container {
    position: relative;
    z-index: 2;
}

/* 标题区 */
.pv3-head {
    text-align: center;
    margin-bottom: 44px;
}
.pv3-head-inner { max-width: 820px; margin: 0 auto; }
.pv3-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    background: linear-gradient(90deg, rgba(37,99,235,0.08), rgba(139,92,246,0.10));
    color: #2563eb;
    border: 1px solid rgba(37,99,235,0.18);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.2px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.5);
}
.pv3-badge-dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: radial-gradient(circle, #10b981, #059669);
    box-shadow: 0 0 0 3px rgba(16,185,129,0.18);
    animation: pv3Pulse 2s ease-in-out infinite;
    font-style: normal;
    display: inline-block;
}
@keyframes pv3Pulse {
    0%,100% { box-shadow: 0 0 0 3px rgba(16,185,129,0.18); }
    50% { box-shadow: 0 0 0 6px rgba(16,185,129,0.06); }
}
.pv3-head h2 {
    margin: 18px 0 14px;
    font-size: 38px;
    font-weight: 900;
    color: #0b1220;
    letter-spacing: -0.6px;
    line-height: 1.18;
    background: linear-gradient(135deg, #0b1220 20%, #2563eb 70%, #7c3aed 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.pv3-sub {
    font-size: 15px;
    color: #475569;
    font-weight: 500;
    line-height: 1.8;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px 12px;
}
.pv3-sub-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 13px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.7;
}
.pv3-p-blue {
    background: rgba(59,130,246,0.10);
    color: #1d4ed8;
    border: 1px solid rgba(59,130,246,0.22);
}
.pv3-p-pur {
    background: rgba(139,92,246,0.10);
    color: #6d28d9;
    border: 1px solid rgba(139,92,246,0.22);
}
.pv3-sub-vs {
    font-size: 12px;
    font-weight: 900;
    color: #fff;
    background: linear-gradient(135deg, #0f172a, #334155);
    width: 26px; height: 26px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    letter-spacing: -0.3px;
    box-shadow: 0 4px 10px -4px rgba(15,23,42,0.5);
}

/* 两张价格卡片网格 */
.pv3-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    max-width: 1180px;
    margin: 0 auto 40px;
}
.pv3-card {
    position: relative;
    background: #fff;
    border-radius: 24px;
    padding: 0 30px 28px;
    overflow: visible;
    box-shadow:
        0 20px 50px -22px rgba(15,23,42,0.14),
        0 2px 6px rgba(15,23,42,0.05),
        inset 0 1px 0 rgba(255,255,255,0.8);
    border: 1px solid rgba(148,163,184,0.22);
    transition: transform 0.35s cubic-bezier(.2,.7,.2,1), box-shadow 0.35s;
}
.pv3-card:hover {
    transform: translateY(-8px);
    box-shadow:
        0 34px 70px -28px rgba(37,99,235,0.25),
        0 4px 10px rgba(15,23,42,0.06),
        inset 0 1px 0 rgba(255,255,255,0.8);
}
.pv3-card.pv3-pur:hover {
    box-shadow:
        0 34px 70px -28px rgba(124,58,237,0.26),
        0 4px 10px rgba(15,23,42,0.06),
        inset 0 1px 0 rgba(255,255,255,0.8);
}

/* 顶部彩带 */
.pv3-card-top {
    height: 6px;
    margin: 0 -30px 0;
    border-radius: 24px 24px 0 0;
    background: linear-gradient(90deg, #0ea5e9, #2563eb 40%, #6366f1 100%);
    position: relative;
    overflow: hidden;
}
.pv3-card.pv3-pur .pv3-card-top {
    background: linear-gradient(90deg, #f59e0b, #a855f7 45%, #7c3aed 100%);
}
.pv3-card-top::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent);
    animation: pv3Shine 3.2s linear infinite;
}
@keyframes pv3Shine {
    0% { transform: translateX(-120%); }
    100% { transform: translateX(120%); }
}

/* 悬浮推荐徽章 */
.pv3-badge-float {
    position: absolute;
    top: -15px;
    right: 28px;
    z-index: 5;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 9px;
    align-items: center;
    padding: 8px 14px 8px 10px;
    background: linear-gradient(135deg, #ef4444, #f97316);
    color: #fff;
    border-radius: 14px;
    box-shadow:
        0 10px 22px -8px rgba(239,68,68,0.55),
        0 0 0 3px rgba(255,255,255,0.95);
    max-width: 260px;
}
.pv3-badge-float.alt {
    background: linear-gradient(135deg, #7c3aed, #a855f7);
    box-shadow:
        0 10px 22px -8px rgba(124,58,237,0.55),
        0 0 0 3px rgba(255,255,255,0.95);
}
.pv3-flame {
    width: 28px; height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.22);
    border-radius: 9px;
    font-size: 15px;
}
.pv3-f-text b {
    font-size: 12.5px;
    font-weight: 800;
    display: block;
    line-height: 1.15;
}
.pv3-f-text i {
    font-style: normal;
    font-size: 10.5px;
    opacity: 0.9;
    line-height: 1.35;
    margin-top: 2px;
    display: block;
}

/* 产品头部 */
.pv3-prod {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px;
    align-items: center;
    padding: 28px 2px 20px;
    border-bottom: 1px dashed rgba(148,163,184,0.22);
    margin-bottom: 20px;
}
.pv3-icon {
    width: 64px; height: 64px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(59,130,246,0.10), rgba(37,99,235,0.18));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.6),
        0 8px 20px -8px rgba(37,99,235,0.45);
}
.pv3-icon svg { width: 100%; height: 100%; }
.pv3-icon.pur {
    background: linear-gradient(135deg, rgba(168,85,247,0.12), rgba(124,58,237,0.20));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.6),
        0 8px 20px -8px rgba(124,58,237,0.45);
}
.pv3-tag-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 7px;
}
.pv3-prod-tag {
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.4px;
    padding: 3px 9px;
    border-radius: 6px;
    background: linear-gradient(135deg, #2563eb, #3b82f6);
    color: #fff;
    line-height: 1.5;
}
.pv3-prod-tag.pur {
    background: linear-gradient(135deg, #7c3aed, #a855f7);
}
.pv3-fit-tag {
    font-size: 10.5px;
    color: #64748b;
    font-weight: 600;
    padding: 3px 9px;
    background: rgba(148,163,184,0.10);
    border-radius: 6px;
    line-height: 1.5;
}
.pv3-fit-tag.pur {
    color: #6d28d9;
    background: rgba(139,92,246,0.10);
}
.pv3-prod-txt h3 {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
    color: #0b1220;
    letter-spacing: -0.3px;
    line-height: 1.2;
    margin-bottom: 5px;
}
.pv3-prod-desc {
    margin: 0;
    font-size: 13px;
    color: #64748b;
    font-weight: 500;
    line-height: 1.6;
}

/* 三档价格阶梯 */
.pv3-tiers {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 20px;
}
.pv3-tier {
    position: relative;
    padding: 13px 12px 12px;
    border-radius: 14px;
    background: linear-gradient(180deg, #f8fafc, #ffffff);
    border: 1.5px solid rgba(148,163,184,0.20);
    text-align: center;
    transition: all 0.25s;
}
.pv3-tier:hover {
    transform: translateY(-2px);
    border-color: #93c5fd;
    box-shadow: 0 10px 18px -12px rgba(37,99,235,0.35);
}
.pv3-tier.pur:hover {
    border-color: #c4b5fd;
    box-shadow: 0 10px 18px -12px rgba(124,58,237,0.38);
}
.pv3-tier-name {
    font-size: 11.5px;
    font-weight: 700;
    color: #64748b;
    letter-spacing: 0.4px;
    margin-bottom: 5px;
}
.pv3-tier-price {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 3px;
    margin-bottom: 4px;
    line-height: 1;
}
.pv3-tier-price b {
    font-size: 20px;
    font-weight: 900;
    color: #0b1220;
    letter-spacing: -0.4px;
}
.pv3-tier-price span {
    font-size: 10.5px;
    color: #64748b;
    font-weight: 600;
}
.pv3-tier-scope {
    font-size: 10.5px;
    color: #475569;
    font-weight: 600;
    line-height: 1.5;
}
/* 热门高亮列 */
.pv3-tier-hot {
    background: linear-gradient(180deg, #eff6ff, #ffffff);
    border-color: #93c5fd;
    box-shadow:
        0 12px 24px -12px rgba(37,99,235,0.35),
        inset 0 1px 0 rgba(255,255,255,0.9);
    transform: translateY(-4px);
}
.pv3-tier-hot.pur {
    background: linear-gradient(180deg, #f5f3ff, #ffffff);
    border-color: #c4b5fd;
    box-shadow:
        0 12px 24px -12px rgba(124,58,237,0.38),
        inset 0 1px 0 rgba(255,255,255,0.9);
}
.pv3-tier-mark {
    position: absolute;
    top: -9px;
    left: 50%;
    transform: translateX(-50%);
    padding: 2px 10px;
    font-size: 10px;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(135deg, #2563eb, #3b82f6);
    border-radius: 6px;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 10px -4px rgba(37,99,235,0.6);
}
.pv3-tier-mark.pur {
    background: linear-gradient(135deg, #7c3aed, #a855f7);
    box-shadow: 0 4px 10px -4px rgba(124,58,237,0.6);
}

/* ROI 4 格 */
.pv3-roi {
    padding: 16px 16px 18px;
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(37,99,235,0.07), rgba(14,165,233,0.08)),
        linear-gradient(180deg, #ffffff, #f8fbff);
    border: 1px solid rgba(59,130,246,0.15);
    margin-bottom: 20px;
    position: relative;
}
.pv3-roi.pur {
    background:
        linear-gradient(135deg, rgba(139,92,246,0.08), rgba(168,85,247,0.07)),
        linear-gradient(180deg, #ffffff, #faf7ff);
    border-color: rgba(139,92,246,0.15);
}
.pv3-roi-title {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    font-weight: 700;
    color: #2563eb;
    margin-bottom: 12px;
    padding: 3px 10px 3px 6px;
    background: rgba(37,99,235,0.10);
    border-radius: 7px;
}
.pv3-roi.pur .pv3-roi-title {
    color: #7c3aed;
    background: rgba(139,92,246,0.12);
}
.pv3-roi-ico {
    width: 20px; height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.7);
    border-radius: 5px;
    font-size: 11px;
}
.pv3-roi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}
.pv3-roi-cell {
    padding: 10px 7px 10px;
    background: #fff;
    border-radius: 12px;
    text-align: center;
    box-shadow: inset 0 1px 0 rgba(15,23,42,0.04);
    border: 1px solid rgba(148,163,184,0.12);
}
.pv3-r-label {
    font-size: 10.5px;
    color: #64748b;
    font-weight: 600;
    margin-bottom: 5px;
    line-height: 1.4;
    min-height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pv3-r-num {
    font-size: 17px;
    font-weight: 900;
    letter-spacing: -0.3px;
    line-height: 1.1;
    background: linear-gradient(135deg, #2563eb, #0ea5e9);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.pv3-roi-cell.c2 .pv3-r-num { background: linear-gradient(135deg, #059669, #10b981); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color: transparent;}
.pv3-roi-cell.c3 .pv3-r-num { background: linear-gradient(135deg, #7c3aed, #a855f7); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color: transparent;}
.pv3-roi-cell.c4 .pv3-r-num { background: linear-gradient(135deg, #ea580c, #f97316); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color: transparent;}
.pv3-roi-cell.pc1 .pv3-r-num { background: linear-gradient(135deg, #7c3aed, #a855f7); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color: transparent;}
.pv3-roi-cell.pc2 .pv3-r-num { background: linear-gradient(135deg, #0891b2, #06b6d4); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color: transparent;}
.pv3-roi-cell.pc3 .pv3-r-num { background: linear-gradient(135deg, #ca8a04, #eab308); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color: transparent;}
.pv3-roi-cell.pc4 .pv3-r-num { background: linear-gradient(135deg, #db2777, #ec4899); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color: transparent;}

/* 6 大能力 · 双列 */
.pv3-feats {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px 14px;
}
.pv3-feats li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 8px;
    align-items: flex-start;
    padding: 8px 10px;
    background: rgba(248,250,252,0.7);
    border-radius: 10px;
    border: 1px solid rgba(148,163,184,0.12);
    font-size: 12px;
    color: #334155;
    line-height: 1.5;
    font-weight: 500;
    transition: all 0.2s;
}
.pv3-feats li:hover {
    background: #fff;
    border-color: rgba(59,130,246,0.22);
    transform: translateX(2px);
}
.pv3-f-ico {
    width: 22px; height: 22px;
    border-radius: 7px;
    background: linear-gradient(135deg, rgba(59,130,246,0.10), rgba(37,99,235,0.18));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-style: normal;
    flex-shrink: 0;
    margin-top: 1px;
}
.pv3-card.pv3-pur .pv3-f-ico {
    background: linear-gradient(135deg, rgba(139,92,246,0.10), rgba(124,58,237,0.20));
}
.pv3-feats b {
    color: #0b1220;
    font-weight: 700;
}

/* CTA 底栏 */
.pv3-foot {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.pv3-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 18px;
    font-size: 14.5px;
    font-weight: 800;
    color: #fff;
    border-radius: 14px;
    text-decoration: none !important;
    transition: all 0.25s;
    position: relative;
    overflow: hidden;
    letter-spacing: 0.2px;
}
.pv3-btn em {
    font-style: normal;
    font-weight: 900;
    transition: transform 0.25s;
}
.pv3-btn:hover em { transform: translateX(3px); }
.pv3-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.22), transparent);
    transform: translateX(-120%);
    transition: transform 0.7s ease;
}
.pv3-btn:hover::after { transform: translateX(120%); }
.pv3-btn-primary {
    background: linear-gradient(135deg, #2563eb 0%, #3b82f6 50%, #0ea5e9 100%);
    box-shadow:
        0 14px 32px -12px rgba(37,99,235,0.7),
        inset 0 1px 0 rgba(255,255,255,0.28);
}
.pv3-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow:
        0 20px 40px -14px rgba(37,99,235,0.8),
        inset 0 1px 0 rgba(255,255,255,0.28);
}
.pv3-btn-purple {
    background: linear-gradient(135deg, #7c3aed 0%, #a855f7 50%, #d946ef 100%);
    box-shadow:
        0 14px 32px -12px rgba(124,58,237,0.72),
        inset 0 1px 0 rgba(255,255,255,0.28);
}
.pv3-btn-purple:hover {
    transform: translateY(-2px);
    box-shadow:
        0 20px 40px -14px rgba(124,58,237,0.82),
        inset 0 1px 0 rgba(255,255,255,0.28);
}
.pv3-btn-ico {
    width: 22px; height: 22px;
    border-radius: 7px;
    background: rgba(255,255,255,0.20);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}
.pv3-trust-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 18px;
}
.pv3-trust {
    font-size: 11.5px;
    color: #64748b;
    font-weight: 600;
    padding: 3px 10px;
    background: rgba(148,163,184,0.10);
    border-radius: 6px;
    line-height: 1.6;
}

/* 选型对比 4 格卡 */
.pv3-compare {
    max-width: 1180px;
    margin: 0 auto;
    padding: 28px 30px 30px;
    background: linear-gradient(180deg, #ffffff, #f8faff);
    border-radius: 24px;
    border: 1px solid rgba(148,163,184,0.22);
    box-shadow:
        0 20px 50px -24px rgba(15,23,42,0.14),
        inset 0 1px 0 rgba(255,255,255,0.9);
}
.pv3-comp-head {
    text-align: center;
    margin-bottom: 22px;
}
.pv3-comp-head h4 {
    margin: 0 0 6px;
    font-size: 22px;
    font-weight: 900;
    color: #0b1220;
    letter-spacing: -0.2px;
}
.pv3-comp-head p {
    margin: 0;
    font-size: 14.5px;
    color: #475569;
    font-weight: 600;
}
.pv3-comp-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 20px;
}
.pv3-comp-item {
    padding: 16px 14px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid rgba(148,163,184,0.16);
    box-shadow: inset 0 1px 0 rgba(15,23,42,0.03);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 11px;
    transition: all 0.25s;
}
.pv3-comp-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 32px -16px rgba(15,23,42,0.18);
    border-color: rgba(59,130,246,0.28);
}
.pv3-ci-label {
    display: inline-block;
    align-self: flex-start;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.5px;
    color: #fff;
    background: linear-gradient(135deg, #0f172a, #334155);
    padding: 4px 12px;
    border-radius: 7px;
}
.pv3-ci-left, .pv3-ci-right {
    padding: 11px 10px;
    border-radius: 11px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.5;
    text-align: center;
}
.pv3-ci-left {
    background: linear-gradient(135deg, rgba(59,130,246,0.10), rgba(37,99,235,0.14));
    color: #1d4ed8;
    border: 1px solid rgba(59,130,246,0.22);
}
.pv3-ci-right {
    background: linear-gradient(135deg, rgba(139,92,246,0.10), rgba(124,58,237,0.14));
    color: #6d28d9;
    border: 1px solid rgba(139,92,246,0.22);
}
.pv3-ci-left small, .pv3-ci-right small {
    display: block;
    font-weight: 600;
    font-size: 11.5px;
    opacity: 0.85;
    margin-top: 4px;
    line-height: 1.4;
}
.pv3-ci-vs {
    text-align: center;
    font-size: 12px;
    font-weight: 900;
    color: #fff;
    background: linear-gradient(135deg, #64748b, #94a3b8);
    width: 32px; height: 32px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    letter-spacing: -0.3px;
    align-self: center;
    box-shadow: 0 4px 10px -4px rgba(100,116,139,0.55);
}
.pv3-comp-cta {
    text-align: center;
}
.pv3-comp-cta a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 28px;
    font-size: 15px;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(135deg, #0b1220, #1e293b 60%, #334155);
    border-radius: 12px;
    text-decoration: none !important;
    box-shadow: 0 14px 32px -14px rgba(15,23,42,0.55);
    transition: all 0.25s;
}
.pv3-comp-cta a em {
    font-style: normal;
    font-weight: 900;
    transition: transform 0.25s;
}
.pv3-comp-cta a:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, #2563eb, #7c3aed);
    box-shadow: 0 18px 38px -14px rgba(37,99,235,0.65);
}
.pv3-comp-cta a:hover em { transform: translateX(3px); }

/* V3 响应式断点 */
@media (max-width: 1100px) {
    .pv3-feats { grid-template-columns: 1fr; }
    .pv3-roi-grid { grid-template-columns: repeat(2, 1fr); }
    .pv3-r-label { min-height: auto; }
    .pv3-comp-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
    .pv3-grid { grid-template-columns: 1fr; gap: 40px 0; }
    .pv3-card { max-width: 560px; margin: 0 auto; }
    .pv3-head h2 { font-size: 30px; }
    .pv3-feats { grid-template-columns: 1fr 1fr; }
    .pv3-roi-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 640px) {
    .pricing-v3 { padding: 56px 0 44px; }
    .pv3-head { margin-bottom: 32px; }
    .pv3-head h2 { font-size: 26px; }
    .pv3-badge { font-size: 12px; padding: 5px 14px; }
    .pv3-sub { font-size: 13px; }
    .pv3-card { padding: 0 20px 22px; border-radius: 20px; }
    .pv3-card-top { margin: 0 -20px 0; }
    .pv3-badge-float { right: 18px; padding: 7px 12px 7px 8px; max-width: 230px; }
    .pv3-f-text b { font-size: 11.5px; }
    .pv3-f-text i { font-size: 10px; }
    .pv3-prod { padding: 24px 0 16px; gap: 12px; }
    .pv3-icon { width: 52px; height: 52px; border-radius: 15px; padding: 8px; }
    .pv3-prod-txt h3 { font-size: 20px; }
    .pv3-prod-desc { font-size: 12px; }
    .pv3-tiers { grid-template-columns: repeat(3, 1fr); gap: 6px; }
    .pv3-tier { padding: 10px 6px 9px; border-radius: 11px; }
    .pv3-tier-name { font-size: 10.5px; }
    .pv3-tier-price b { font-size: 16px; }
    .pv3-tier-price span { font-size: 9.5px; }
    .pv3-tier-scope { font-size: 9.5px; line-height: 1.3; }
    .pv3-roi { padding: 14px 12px 16px; border-radius: 15px; }
    .pv3-roi-grid { grid-template-columns: repeat(2, 1fr); }
    .pv3-r-num { font-size: 18px; }
    .pv3-feats { grid-template-columns: 1fr; gap: 7px; }
    .pv3-btn { padding: 12px 16px; font-size: 13.5px; border-radius: 12px; }
    .pv3-compare { padding: 22px 16px 24px; border-radius: 18px; }
    .pv3-comp-grid { grid-template-columns: 1fr; }
}

/* ================================================================
   帮助文档前置 V2：首页中部嵌入 6 张文档卡片 + 三大入口
   ================================================================ */
.docs-v2 {
    padding: 56px 0 52px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.dv2-head {
    text-align: center;
    margin-bottom: 36px;
}
.dv2-badge {
    display: inline-block;
    padding: 5px 14px;
    background: linear-gradient(90deg, rgba(14,165,233,0.08), rgba(16,185,129,0.08));
    color: #0891b2;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 16px;
    border: 1px solid rgba(8,145,178,0.15);
}
.dv2-head h2 {
    font-size: 32px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 10px;
    letter-spacing: -0.3px;
}
.dv2-head p {
    font-size: 15px;
    color: #64748b;
    margin: 0;
    font-weight: 500;
}
.dv2-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    max-width: 1180px;
    margin: 0 auto 32px;
}
.dv2-card {
    position: relative;
    display: flex;
    gap: 16px;
    padding: 22px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 6px rgba(15,23,42,0.04);
    text-decoration: none !important;
    transition: all 0.26s ease;
    overflow: hidden;
    border-left: 4px solid var(--dv2accent, #2563eb);
}
.dv2-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 36px -14px rgba(15,23,42,0.18);
    border-color: #cbd5e1;
}
.dv2-card::after {
    content: "";
    position: absolute;
    top: -50px;
    right: -50px;
    width: 160px;
    height: 160px;
    background: radial-gradient(circle, rgba(37,99,235,0.05), transparent 68%);
    pointer-events: none;
}
.dv2-icon {
    position: relative;
    z-index: 1;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: var(--dv2accent, #2563eb);
    opacity: 0.12;
    color: var(--dv2accent, #2563eb);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}
.dv2-icon { opacity: 1; }
.dv2-info {
    position: relative;
    z-index: 1;
    flex: 1;
    min-width: 0;
}
.dv2-cat {
    display: inline-block;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.6px;
    color: var(--dv2accent, #2563eb);
    margin-bottom: 6px;
    text-transform: uppercase;
}
.dv2-info h3 {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.45;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.dv2-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 12px;
    color: #94a3b8;
    font-weight: 500;
}
.dv2-arr {
    position: relative;
    z-index: 1;
    align-self: center;
    flex-shrink: 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--dv2accent, #2563eb);
    opacity: 0;
    transform: translateX(-4px);
    transition: all 0.22s ease;
}
.dv2-card:hover .dv2-arr {
    opacity: 1;
    transform: translateX(0);
}
.dv2-entries {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 1180px;
    margin: 0 auto;
}
.dv2-entry {
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 24px 28px;
    border-radius: 16px;
    background: linear-gradient(135deg, #0f172a, #1e293b);
    color: #fff;
    text-decoration: none !important;
    overflow: hidden;
    transition: all 0.26s ease;
}
.dv2-entry:nth-child(1) {
    background: linear-gradient(135deg, #1e40af, #2563eb);
}
.dv2-entry:nth-child(2) {
    background: linear-gradient(135deg, #6d28d9, #7c3aed);
}
.dv2-entry:nth-child(3) {
    background: linear-gradient(135deg, #0f766e, #0d9488);
}
.dv2-entry::after {
    content: "";
    position: absolute;
    top: -40px;
    right: -40px;
    width: 160px;
    height: 160px;
    background: radial-gradient(circle, rgba(255,255,255,0.1), transparent 68%);
    pointer-events: none;
}
.dv2-entry:hover {
    transform: translateY(-3px);
    filter: brightness(1.06);
}
.dv2-entry-icon {
    position: relative;
    z-index: 1;
    width: 50px;
    height: 50px;
    border-radius: 14px;
    background: rgba(255,255,255,0.16);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}
.dv2-entry-info {
    position: relative;
    z-index: 1;
    flex: 1;
    min-width: 0;
}
.dv2-entry-info h3 {
    margin: 0 0 3px;
    font-size: 16px;
    font-weight: 700;
}
.dv2-entry-info p {
    margin: 0;
    font-size: 12.5px;
    color: rgba(255,255,255,0.84);
    font-weight: 500;
}
.dv2-entry-go {
    position: relative;
    z-index: 1;
    font-size: 22px;
    font-weight: 700;
}

/* === PC 三组区块响应式 === */
@media (max-width: 980px) {
    .pv2-wrap,
    .dv2-grid,
    .dv2-entries {
        grid-template-columns: 1fr;
    }
    .pv2-compare-bar {
        flex-direction: column;
        align-items: flex-start;
    }
}
@media (max-width: 640px) {
    .pricing-v2 { padding: 40px 0 32px; }
    .pv2-head h2 { font-size: 24px; }
    .pv2-card { padding: 24px 20px; }
    .dv2-grid { grid-template-columns: 1fr; }
    .dv2-entries { grid-template-columns: 1fr; }
    .dv2-head h2 { font-size: 24px; }
    .pv2-roi {
        grid-template-columns: repeat(3, 1fr);
        padding: 14px 10px;
    }
    .pv2-roi b { font-size: 18px; }
    .pv2-cta { flex-direction: column; align-items: stretch; }
    .pv2-cta-btn { width: 100%; justify-content: center; }
}

/* ================================================================
   产品资源中心 V2（行业资讯产品化：选型+方法论+新功能 70% + 行业 30%）
   ================================================================ */
.resource-v2 {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 60%);
}
.rv2-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}
.rv2-badge {
    display: inline-block;
    padding: 5px 14px;
    background: linear-gradient(90deg, rgba(37,99,235,0.08), rgba(124,58,237,0.08));
    color: #2563eb;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    border: 1px solid rgba(37,99,235,0.14);
}
.rv2-head h2 {
    font-size: 32px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.3px;
}
.rv2-all-btn {
    padding: 11px 22px;
    background: #0f172a;
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.22s ease;
    flex-shrink: 0;
}
.rv2-all-btn:hover {
    background: #2563eb;
    transform: translateY(-2px);
}
.rv2-cats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 26px;
}
.rv2-cat {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    background: #fff;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    border-left: 4px solid var(--rc, #2563eb);
    text-decoration: none !important;
    transition: all 0.22s ease;
    box-shadow: 0 2px 6px rgba(15,23,42,0.04);
}
.rv2-cat:hover {
    transform: translateY(-2px);
    border-color: #cbd5e1;
    border-left-color: var(--rc, #2563eb);
    box-shadow: 0 12px 24px -12px rgba(15,23,42,0.18);
    background: #fbfcfe;
}
.rv2-cat-i {
    font-size: 22px;
    flex-shrink: 0;
}
.rv2-cat-t {
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
    flex: 1;
}
.rv2-cat-n {
    font-size: 11px;
    color: var(--rc, #2563eb);
    font-weight: 600;
    background: color-mix(in srgb, var(--rc, #2563eb) 10%, transparent);
    padding: 3px 10px;
    border-radius: 12px;
    flex-shrink: 0;
}
.rv2-body {
    display: grid;
    grid-template-columns: 1.65fr 1fr;
    gap: 24px;
}
.rv2-left { display: grid; gap: 18px; }
.rv2-right { display: grid; gap: 18px; align-content: start; }

.rv2-hero {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: center;
    padding: 28px 30px;
    background: #fff;
    border-radius: 20px;
    border: 1px solid #e2e8f0;
    border-left: 5px solid var(--rhc, #7c3aed);
    text-decoration: none !important;
    transition: all 0.28s ease;
    box-shadow: 0 4px 14px rgba(15,23,42,0.05);
    overflow: hidden;
    position: relative;
}
.rv2-hero::after {
    content: "";
    position: absolute;
    top: -80px;
    right: -80px;
    width: 260px;
    height: 260px;
    background: radial-gradient(circle, color-mix(in srgb, var(--rhc, #7c3aed) 8%, transparent), transparent 68%);
    pointer-events: none;
}
.rv2-hero:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px -14px rgba(15,23,42,0.18);
    border-color: #cbd5e1;
}
.rv2-hero-left {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    position: relative;
    z-index: 1;
}
.rv2-hero-ico {
    width: 60px;
    height: 60px;
    border-radius: 16px;
    background: color-mix(in srgb, var(--rhc, #7c3aed) 12%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    flex-shrink: 0;
}
.rv2-cat-tag {
    display: inline-block;
    padding: 3px 12px;
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}
.rv2-hero-left h3 {
    margin: 0 0 8px;
    font-size: 22px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.35;
    letter-spacing: -0.15px;
}
.rv2-hero-left p {
    margin: 0 0 12px;
    font-size: 14px;
    color: #475569;
    line-height: 1.7;
    font-weight: 500;
}
.rv2-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.rv2-tags span {
    padding: 4px 10px;
    border-radius: 8px;
    font-size: 11.5px;
    font-weight: 600;
}
.rv2-hero-right {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 20px 22px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--rhc, #7c3aed) 6%, transparent), #ffffff);
    border-radius: 14px;
    min-width: 150px;
    border: 1px solid color-mix(in srgb, var(--rhc, #7c3aed) 15%, transparent);
}
.rv2-hero-stat {
    text-align: center;
}
.rv2-hero-stat b {
    display: block;
    font-size: 20px;
    font-weight: 800;
    color: var(--rhc, #7c3aed);
    margin-bottom: 2px;
}
.rv2-hero-stat i {
    font-style: normal;
    font-size: 11px;
    color: #64748b;
    font-weight: 500;
}
.rv2-hero-divider {
    width: 60%;
    height: 1px;
    background: color-mix(in srgb, var(--rhc, #7c3aed) 15%, transparent);
}
.rv2-hero-cta {
    padding: 9px 18px;
    background: var(--rhc, #7c3aed);
    color: #fff;
    border-radius: 10px;
    font-size: 12.5px;
    font-weight: 700;
}

.rv2-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.rv2-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px 22px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    border-top: 3px solid var(--rcc, #2563eb);
    text-decoration: none !important;
    transition: all 0.24s ease;
    box-shadow: 0 2px 6px rgba(15,23,42,0.04);
}
.rv2-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px -12px rgba(15,23,42,0.18);
    border-color: #cbd5e1;
}
.rv2-card-cat {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 700;
    align-self: flex-start;
}
.rv2-card h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.rv2-card p {
    margin: 0;
    font-size: 13px;
    color: #64748b;
    line-height: 1.65;
    font-weight: 500;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.rv2-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.rv2-card-tags em {
    font-style: normal;
    font-size: 11px;
    color: var(--rcc, #2563eb);
    font-weight: 600;
    background: color-mix(in srgb, var(--rcc, #2563eb) 8%, transparent);
    padding: 3px 8px;
    border-radius: 6px;
}
.rv2-card-foot {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    font-size: 11.5px;
    color: #94a3b8;
    font-weight: 500;
    padding-top: 4px;
    border-top: 1px dashed #e2e8f0;
    margin-top: auto;
}

/* 右栏：时间线 + 热榜 */
.rv2-tl,
.rv2-hot {
    background: #fff;
    border-radius: 18px;
    border: 1px solid #e2e8f0;
    padding: 22px 22px 18px;
    box-shadow: 0 2px 6px rgba(15,23,42,0.04);
}
.rv2-tl-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}
.rv2-tl-title {
    font-size: 16px;
    font-weight: 800;
    color: #0f172a;
}
.rv2-tl-more {
    font-size: 12px;
    color: #2563eb;
    font-weight: 600;
    text-decoration: none !important;
}
.rv2-hot-sub {
    font-size: 11.5px;
    color: #94a3b8;
    font-weight: 500;
}
.rv2-tl-list {
    display: grid;
    gap: 14px;
}
.rv2-tl-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    text-decoration: none !important;
    padding: 8px 4px;
    border-radius: 8px;
    transition: all 0.2s ease;
}
.rv2-tl-item:hover {
    background: #f8fafc;
}
.rv2-tl-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 8px;
    box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 12%, transparent);
    color: inherit;
    background-clip: padding-box;
    position: relative;
}
.rv2-tl-item:not(:last-child) .rv2-tl-dot::after {
    content: "";
    position: absolute;
    left: 4.5px;
    top: 14px;
    width: 1px;
    height: calc(100% + 6px);
    background: #e2e8f0;
}
.rv2-tl-main { flex: 1; min-width: 0; }
.rv2-tl-v {
    font-size: 12.5px;
    font-weight: 700;
    margin-right: 10px;
    letter-spacing: 0.2px;
}
.rv2-tl-d {
    font-size: 11.5px;
    color: #94a3b8;
    font-weight: 500;
}
.rv2-tl-main p {
    margin: 4px 0 0;
    font-size: 13px;
    color: #334155;
    line-height: 1.5;
    font-weight: 500;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.rv2-hot-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 4px;
}
.rv2-hot-list li a {
    display: grid;
    grid-template-columns: 30px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 11px 6px;
    border-radius: 8px;
    text-decoration: none !important;
    transition: all 0.2s ease;
}
.rv2-hot-list li a:hover {
    background: #f8fafc;
}
.rv2-hot-r {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    letter-spacing: -0.3px;
}
.rv2-hot-t {
    font-size: 13.5px;
    color: #334155;
    font-weight: 600;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rv2-hot-list li a:hover .rv2-hot-t { color: #2563eb; }
.rv2-hot-n {
    font-size: 11.5px;
    color: #94a3b8;
    font-weight: 600;
    flex-shrink: 0;
}

/* === 资源中心响应式 === */
@media (max-width: 980px) {
    .rv2-body { grid-template-columns: 1fr; }
    .rv2-cats { grid-template-columns: repeat(2, 1fr); }
    .rv2-cards { grid-template-columns: 1fr; }
    .rv2-hero { grid-template-columns: 1fr; }
    .rv2-hero-right { flex-direction: row; flex-wrap: wrap; min-width: auto; justify-content: center; }
    .rv2-hero-divider { width: 1px; height: 40px; }
}
@media (max-width: 640px) {
    .resource-v2.py-70 { padding: 40px 0 32px; }
    .rv2-head h2 { font-size: 22px; }
    .rv2-cats { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .rv2-cat { padding: 12px; gap: 8px; }
    .rv2-cat-t { font-size: 13px; }
    .rv2-cat-n { display: none; }
    .rv2-hero { padding: 20px; }
    .rv2-hero-left { flex-direction: column; }
    .rv2-hero-left h3 { font-size: 18px; }
    .rv2-cards { grid-template-columns: 1fr; }
    .rv2-card { padding: 16px; }
    .rv2-tl, .rv2-hot { padding: 16px; }
}

/* ================================================================
   PC：关于我们单页 V2（产品导向 80%，公司 20%）
   ================================================================ */
.ab-breadcrumb {
    background: #f8fafc;
    padding: 14px 0;
    border-bottom: 1px solid #e2e8f0;
    font-size: 13.5px;
    color: #64748b;
}
.ab-breadcrumb .container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
.ab-breadcrumb a {
    color: #475569;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}
.ab-breadcrumb a:hover { color: #2563eb; }
.ab-breadcrumb .sep { opacity: 0.5; }
.ab-breadcrumb .cur { color: #0f172a; font-weight: 700; }
.ab-breadcrumb .cur-light { color: #2563eb; font-weight: 600; }

.ab-hero {
    background:
        radial-gradient(circle at 10% 0%, rgba(37,99,235,0.10), transparent 50%),
        radial-gradient(circle at 90% 100%, rgba(124,58,237,0.10), transparent 50%),
        linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
    padding: 72px 0 64px;
    overflow: hidden;
}
.ab-hero-inner {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 48px;
    align-items: center;
}
.ab-badge {
    display: inline-block;
    padding: 7px 16px;
    background: rgba(37,99,235,0.10);
    color: #2563eb;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 18px;
    border: 1px solid rgba(37,99,235,0.18);
}
.ab-hero-left h1 {
    font-size: 42px;
    line-height: 1.25;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.5px;
    margin: 0 0 18px;
}
.grad-text {
    background: linear-gradient(90deg,#2563eb 0%,#7c3aed 50%,#0ea5e9 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}
.ab-hero-desc {
    font-size: 15.5px;
    line-height: 1.8;
    color: #475569;
    margin: 0 0 24px;
    font-weight: 500;
}
.ab-hero-desc b { color: #0f172a; font-weight: 700; }
.ab-hero-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 18px;
}
.ab-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 24px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.25s ease;
    border: 2px solid transparent;
    letter-spacing: 0.2px;
}
.ab-btn-primary {
    background: linear-gradient(135deg,#2563eb,#7c3aed);
    color: #fff;
    box-shadow: 0 10px 25px -10px rgba(37,99,235,0.55);
}
.ab-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px -10px rgba(37,99,235,0.65);
}
.ab-btn-outline {
    background: #fff;
    color: #2563eb;
    border-color: rgba(37,99,235,0.35);
}
.ab-btn-outline:hover {
    background: #eff6ff;
    border-color: #2563eb;
    transform: translateY(-2px);
}
.ab-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    font-size: 13.5px;
    color: #475569;
    font-weight: 600;
}
.ab-hero-meta span {
    display: inline-flex;
    align-items: center;
}
.ab-stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.ab-stat-card {
    padding: 22px 20px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    border-top: 4px solid var(--sc, #2563eb);
    box-shadow: 0 6px 18px -10px rgba(15,23,42,0.15);
    transition: all 0.25s;
}
.ab-stat-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px -12px rgba(15,23,42,0.25);
}
.ab-stat-num {
    font-size: 30px;
    font-weight: 800;
    color: var(--sc, #2563eb);
    line-height: 1.1;
    margin-bottom: 6px;
    letter-spacing: -0.5px;
}
.ab-stat-label {
    font-size: 13.5px;
    color: #475569;
    font-weight: 600;
}

.ab-section { padding: 72px 0; }
.ab-sec-head {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 44px;
}
.ab-sec-tag {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 16px;
    font-size: 12.5px;
    font-weight: 700;
    margin-bottom: 14px;
    letter-spacing: 0.3px;
}
.ab-sec-head h2 {
    font-size: 32px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.3;
    margin: 0 0 12px;
    letter-spacing: -0.3px;
}
.ab-sec-head p {
    font-size: 15px;
    color: #64748b;
    line-height: 1.7;
    margin: 0;
    font-weight: 500;
}

/* === 核心产品矩阵 === */
.ab-product-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.ab-product-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 32px 30px 28px;
    border-radius: 22px;
    border: 1px solid #e2e8f0;
    border-top: 5px solid var(--pc, #2563eb);
    text-decoration: none !important;
    box-shadow: 0 8px 24px -14px rgba(15,23,42,0.15);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}
.ab-product-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px -16px rgba(15,23,42,0.25);
}
.ab-prod-hd {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}
.ab-prod-tag {
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: 14px;
}
.ab-prod-ico { font-size: 34px; }
.ab-prod-name {
    font-size: 26px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.2px;
    line-height: 1.2;
}
.ab-prod-sub {
    font-size: 14.5px;
    color: var(--pc, #2563eb);
    font-weight: 700;
}
.ab-prod-price {
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    padding: 10px 14px;
    background: rgba(255,255,255,0.75);
    border-radius: 10px;
    border: 1px dashed rgba(15,23,42,0.15);
    margin: 2px 0 4px;
}
.ab-prod-desc {
    font-size: 14px;
    color: #475569;
    line-height: 1.7;
    margin-bottom: 6px;
    font-weight: 500;
}
.ab-prod-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 14px;
    background: rgba(255,255,255,0.8);
    border-radius: 12px;
    margin-bottom: 4px;
}
.ab-prod-metric {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 3px;
}
.ab-prod-metric b {
    font-size: 15px;
    font-weight: 800;
    color: var(--pc, #2563eb);
}
.ab-prod-metric span {
    font-size: 11.5px;
    color: #64748b;
    font-weight: 600;
}
.ab-prod-feats {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.ab-prod-feats li {
    font-size: 13.5px;
    color: #334155;
    font-weight: 600;
    line-height: 1.5;
}
.ab-prod-btn {
    margin-top: 10px;
    padding: 12px 18px;
    border-radius: 10px;
    color: #fff;
    text-align: center;
    font-size: 14.5px;
    font-weight: 700;
    transition: all 0.2s;
    box-shadow: 0 6px 16px -8px var(--pc, #2563eb);
}
.ab-product-card:hover .ab-prod-btn {
    transform: scale(1.02);
    box-shadow: 0 10px 22px -8px var(--pc, #2563eb);
}

/* === 方法论 4 步 === */
.ab-method-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 24px;
}
.ab-method-card {
    background: #fff;
    padding: 24px 20px 22px;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    border-top: 4px solid var(--mc, #2563eb);
    box-shadow: 0 6px 18px -12px rgba(15,23,42,0.18);
    transition: all 0.28s;
}
.ab-method-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px -12px rgba(15,23,42,0.25);
}
.ab-method-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}
.ab-method-step {
    font-size: 24px;
    font-weight: 900;
    color: var(--mc, #2563eb);
    opacity: 0.9;
    letter-spacing: -0.5px;
}
.ab-method-ico { font-size: 26px; }
.ab-method-card h3 {
    font-size: 17px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 8px;
    line-height: 1.3;
}
.ab-method-card p {
    font-size: 13.5px;
    color: #475569;
    line-height: 1.7;
    margin: 0 0 12px;
    font-weight: 500;
}
.ab-method-kpi {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--mc, #2563eb);
    padding: 8px 12px;
    background: color-mix(in srgb, var(--mc, #2563eb) 10%, transparent);
    border-radius: 8px;
}
.ab-method-foot {
    text-align: center;
    margin-top: 20px;
}
.ab-method-arrow {
    font-size: 14px;
    color: #64748b;
    font-weight: 600;
    letter-spacing: 0.4px;
    margin-bottom: 10px;
    opacity: 0.9;
}
.ab-method-loop {
    font-size: 14.5px;
    font-weight: 700;
    color: #0f172a;
    display: inline-block;
    padding: 10px 20px;
    background: #fff;
    border-radius: 14px;
    border: 1.5px dashed #7c3aed;
}

/* === 12 行业 === */
.ab-ind-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.ab-ind-card {
    padding: 22px 18px 20px;
    background: #fff;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    border-top: 4px solid var(--ic, #2563eb);
    transition: all 0.25s;
    box-shadow: 0 4px 14px -10px rgba(15,23,42,0.15);
}
.ab-ind-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px -12px rgba(15,23,42,0.22);
}
.ab-ind-ico {
    font-size: 32px;
    margin-bottom: 10px;
}
.ab-ind-name {
    font-size: 16px;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 10px;
}
.ab-ind-feats {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.ab-ind-feats span {
    font-size: 11.5px;
    font-weight: 700;
    padding: 3px 8px;
    background: color-mix(in srgb, var(--ic, #2563eb) 10%, transparent);
    color: var(--ic, #2563eb);
    border-radius: 6px;
}

/* === 服务保障 === */
.ab-service-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.ab-service-card {
    display: flex;
    gap: 14px;
    padding: 20px 18px;
    background: #fff;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    transition: all 0.25s;
    box-shadow: 0 4px 14px -12px rgba(15,23,42,0.15);
}
.ab-service-card:hover {
    transform: translateY(-3px);
    border-color: #2563eb;
    box-shadow: 0 10px 22px -12px rgba(37,99,235,0.3);
}
.ab-srv-ico {
    font-size: 28px;
    flex-shrink: 0;
}
.ab-srv-body h4 {
    font-size: 15px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 6px;
}
.ab-srv-body p {
    font-size: 12.5px;
    color: #64748b;
    line-height: 1.6;
    margin: 0;
    font-weight: 500;
}

/* === 客户原声 === */
.ab-voice-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}
.ab-voice-card {
    position: relative;
    padding: 28px 28px 24px;
    background: #fff;
    border-radius: 18px;
    border: 1px solid #e2e8f0;
    border-left: 4px solid var(--vc, #2563eb);
    box-shadow: 0 6px 18px -12px rgba(15,23,42,0.18);
    transition: all 0.25s;
}
.ab-voice-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px -14px rgba(15,23,42,0.25);
}
.ab-voice-quote {
    position: absolute;
    top: 10px;
    right: 22px;
    font-size: 56px;
    color: color-mix(in srgb, var(--vc, #2563eb) 20%, transparent);
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
}
.ab-voice-q {
    font-size: 15.5px;
    line-height: 1.8;
    color: #1e293b;
    font-weight: 600;
    margin: 0 0 16px;
    position: relative;
    z-index: 1;
}
.ab-voice-who {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 700;
    color: #475569;
    padding-top: 12px;
    border-top: 1px dashed #e2e8f0;
}
.ab-voice-who span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* === 产品时间线 === */
.ab-tl-wrap {
    position: relative;
    max-width: 1080px;
    margin: 0 auto;
    padding: 18px 0;
}
.ab-tl-line {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(180deg,#2563eb 0%,#7c3aed 50%,#0ea5e9 100%);
    transform: translateX(-50%);
    border-radius: 3px;
    opacity: 0.45;
}
.ab-tl-item {
    position: relative;
    width: 50%;
    padding: 14px 40px;
    box-sizing: border-box;
}
.ab-tl-left { left: 0; text-align: right; }
.ab-tl-right { left: 50%; text-align: left; }
.ab-tl-dot {
    position: absolute;
    top: 30px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    border: 4px solid var(--tc, #2563eb);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--tc, #2563eb) 18%, transparent);
    z-index: 2;
}
.ab-tl-left .ab-tl-dot { right: -8px; }
.ab-tl-right .ab-tl-dot { left: -8px; }
.ab-tl-card {
    display: inline-block;
    padding: 18px 22px;
    background: #fff;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    border-top: 3px solid var(--tc, #2563eb);
    box-shadow: 0 6px 18px -12px rgba(15,23,42,0.2);
    max-width: 100%;
    text-align: left;
}
.ab-tl-year {
    font-size: 18px;
    font-weight: 800;
    color: var(--tc, #2563eb);
    margin-bottom: 4px;
}
.ab-tl-card h4 {
    font-size: 16px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 6px;
    line-height: 1.3;
}
.ab-tl-card p {
    font-size: 13px;
    color: #64748b;
    line-height: 1.65;
    margin: 0;
    font-weight: 500;
}

/* === CTA === */
.ab-cta {
    background: linear-gradient(135deg,#1e3a8a 0%,#4c1d95 60%,#0c4a6e 100%);
    padding: 56px 0;
    color: #fff;
}
.ab-cta-inner {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 36px;
    align-items: center;
}
.ab-cta-left h2 {
    font-size: 28px;
    font-weight: 800;
    line-height: 1.35;
    margin: 0 0 12px;
    letter-spacing: -0.2px;
}
.ab-cta-left p {
    font-size: 15px;
    line-height: 1.75;
    color: rgba(255,255,255,0.82);
    margin: 0 0 18px;
    font-weight: 500;
}
.ab-cta-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    font-size: 13.5px;
    font-weight: 700;
    color: rgba(255,255,255,0.9);
}
.ab-cta-right {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.ab-cta-btn {
    display: inline-block;
    padding: 16px 24px;
    border-radius: 12px;
    background: #fff;
    color: #1e3a8a;
    text-align: center;
    text-decoration: none !important;
    font-weight: 800;
    font-size: 15.5px;
    transition: all 0.25s;
}
.ab-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -10px rgba(0,0,0,0.4);
}
.ab-cta-phone {
    background: linear-gradient(90deg,#f59e0b,#ef4444);
    color: #fff;
}

/* === About 响应式 === */
@media (max-width: 1180px) {
    .ab-hero-inner { grid-template-columns: 1fr; gap: 36px; }
    .ab-cta-inner { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 980px) {
    .ab-hero { padding: 48px 0 44px; }
    .ab-hero-left h1 { font-size: 30px; }
    .ab-section { padding: 48px 0; }
    .ab-sec-head { margin-bottom: 28px; }
    .ab-sec-head h2 { font-size: 24px; }
    .ab-product-grid { grid-template-columns: 1fr; }
    .ab-method-grid { grid-template-columns: repeat(2, 1fr); }
    .ab-ind-grid { grid-template-columns: repeat(3, 1fr); }
    .ab-service-grid { grid-template-columns: repeat(2, 1fr); }
    .ab-voice-grid { grid-template-columns: 1fr; }
    .ab-tl-line { left: 20px; }
    .ab-tl-item { width: 100%; left: 0 !important; text-align: left !important; padding: 10px 0 10px 52px; }
    .ab-tl-dot { left: 12px !important; right: auto !important; }
}
@media (max-width: 640px) {
    .ab-hero-left h1 { font-size: 24px; }
    .ab-hero-desc { font-size: 14px; }
    .ab-btn { padding: 12px 18px; font-size: 13.5px; }
    .ab-stats-grid { grid-template-columns: 1fr 1fr; }
    .ab-stat-card { padding: 16px 14px; }
    .ab-stat-num { font-size: 24px; }
    .ab-method-grid { grid-template-columns: 1fr; }
    .ab-ind-grid { grid-template-columns: repeat(2, 1fr); }
    .ab-service-grid { grid-template-columns: 1fr; }
    .ab-voice-card { padding: 22px 20px 18px; }
    .ab-voice-q { font-size: 14px; }
    .ab-cta { padding: 36px 0; }
    .ab-cta-left h2 { font-size: 21px; }
    .ab-cta-btn { padding: 14px 20px; font-size: 14px; }
}

/* ================================================================
   PC：页脚 V3（产品 80%：产品矩阵卡片 / 行业&模块导航 / 资源 / 极简联系）
   ================================================================ */
.site-footer-v3 {
    background:
        radial-gradient(circle at 0% 0%, rgba(37,99,235,0.08), transparent 50%),
        radial-gradient(circle at 100% 0%, rgba(124,58,237,0.08), transparent 50%),
        linear-gradient(180deg,#0b1220 0%,#0f172a 40%,#111827 100%);
    color: #e2e8f0;
    padding: 0;
    font-family: "PingFang SC","Microsoft YaHei",sans-serif;
}
.fv3-top {
    display: grid;
    grid-template-columns: 1.38fr 0.82fr 0.6fr 0.78fr;
    gap: 26px;
    padding: 44px 0 34px;
    border-bottom: 1px solid rgba(148,163,184,0.16);
}
.fv3-col-title {
    position: relative;
    font-size: 14.5px;
    font-weight: 700;
    color: #f1f5f9;
    margin: 0 0 16px;
    padding-left: 14px;
    line-height: 1.2;
    letter-spacing: 0.2px;
}
.fv3-bar {
    position: absolute;
    left: 0; top: 50%;
    width: 4px; height: 16px;
    transform: translateY(-50%);
    border-radius: 3px;
    background: linear-gradient(180deg,#2563eb,#7c3aed);
}

/* 两大产品矩阵卡片 */
.fv3-prod-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 14px;
}
.fv3-prod-card {
    display: flex;
    flex-direction: column;
    gap: 9px;
    padding: 14px 14px 12px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(148,163,184,0.18);
    border-top: 3px solid var(--fpc, #2563eb);
    border-radius: 12px;
    text-decoration: none !important;
    transition: all 0.25s ease;
    position: relative;
    overflow: hidden;
}
.fv3-prod-card:hover {
    transform: translateY(-3px);
    background: rgba(255,255,255,0.07);
    border-color: color-mix(in srgb, var(--fpc, #2563eb) 50%, rgba(255,255,255,0.3));
    box-shadow: 0 12px 30px -14px rgba(15,23,42,0.9),
                0 0 0 1px color-mix(in srgb, var(--fpc, #2563eb) 25%, transparent);
}
.fv3-prod-hd {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 2px;
}
.fv3-prod-ico {
    flex-shrink: 0;
    width: 36px; height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    color: #fff;
    font-size: 18px;
    box-shadow: 0 4px 10px -4px color-mix(in srgb, var(--fpc, #2563eb) 70%, transparent);
}
.fv3-prod-name-block {
    min-width: 0;
    flex: 1;
}
.fv3-prod-name {
    font-size: 16px;
    font-weight: 800;
    color: #f8fafc;
    display: flex;
    align-items: center;
    gap: 7px;
    line-height: 1.2;
}
.fv3-prod-tag {
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 10px;
    line-height: 1.5;
}
.fv3-prod-sub {
    font-size: 11.5px;
    color: color-mix(in srgb, var(--fpc, #2563eb) 85%, #cbd5e1);
    font-weight: 600;
    margin-top: 2px;
    letter-spacing: 0.1px;
}
.fv3-prod-price {
    font-size: 12.5px;
    font-weight: 700;
    color: #f1f5f9;
    padding: 7px 10px;
    background: rgba(255,255,255,0.05);
    border-radius: 8px;
    border: 1px dashed rgba(148,163,184,0.3);
}
.fv3-prod-desc {
    font-size: 12px;
    color: #94a3b8;
    line-height: 1.55;
    font-weight: 500;
}
.fv3-prod-feats {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 4px;
}
.fv3-prod-feats li {
    font-size: 11.5px;
    color: #cbd5e1;
    font-weight: 600;
    line-height: 1.4;
}
.fv3-prod-cta {
    margin-top: 2px;
    padding: 8px 10px;
    border-radius: 8px;
    color: #fff;
    text-align: center;
    font-size: 12.5px;
    font-weight: 700;
    transition: all 0.2s;
}
.fv3-prod-card:hover .fv3-prod-cta {
    box-shadow: 0 8px 16px -6px color-mix(in srgb, var(--fpc, #2563eb) 75%, transparent);
    transform: scale(1.015);
}
.fv3-quick-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 10px;
    padding: 11px 14px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(148,163,184,0.14);
    border-radius: 10px;
    font-size: 12.5px;
}
.fv3-quick-row a {
    color: #cbd5e1;
    text-decoration: none !important;
    font-weight: 600;
    transition: color 0.2s;
}
.fv3-quick-row a:hover { color: #60a5fa; }
.fv3-dot { color: #475569; font-weight: 700; }

/* 行业 & 模块双栏导航 */
.fv3-nav-group { margin-bottom: 18px; }
.fv3-nav-group:last-child { margin-bottom: 0; }
.fv3-nav-ttl {
    display: inline-block;
    font-size: 12.5px;
    font-weight: 700;
    color: #f1f5f9;
    margin-bottom: 9px;
    padding: 4px 9px;
    background: rgba(37,99,235,0.12);
    border-radius: 7px;
    border: 1px solid rgba(37,99,235,0.2);
}
.fv3-nav-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3px 8px;
}
.fv3-nav-links a {
    font-size: 12px;
    color: #94a3b8;
    font-weight: 500;
    padding: 5px 6px;
    border-radius: 5px;
    transition: all 0.18s;
    text-decoration: none !important;
    line-height: 1.3;
}
.fv3-nav-links a:hover {
    background: rgba(59,130,246,0.12);
    color: #93c5fd;
    transform: translateX(1px);
}

/* 学习资源 */
.fv3-res-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 4px;
}
.fv3-res-list li a {
    display: flex;
    align-items: center;
    padding: 7px 10px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(148,163,184,0.10);
    border-radius: 7px;
    color: #cbd5e1;
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.18s;
}
.fv3-res-list li a:hover {
    background: rgba(59,130,246,0.12);
    color: #93c5fd;
    border-color: rgba(59,130,246,0.25);
    transform: translateX(1px);
}

/* 立即体验联系 */
.fv3-contact-card {
    padding: 16px 14px 14px;
    background:
        linear-gradient(135deg, rgba(37,99,235,0.18), rgba(124,58,237,0.18));
    border: 1px solid rgba(99,102,241,0.25);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.fv3-phone-block {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding-bottom: 12px;
    border-bottom: 1px dashed rgba(148,163,184,0.2);
}
.fv3-phone-label {
    font-size: 11px;
    color: #93c5fd;
    font-weight: 600;
}
.fv3-phone-num {
    font-size: 22px;
    font-weight: 800;
    color: #fff;
    letter-spacing: 0.2px;
    text-decoration: none !important;
    line-height: 1.2;
    margin: 2px 0;
}
.fv3-phone-num:hover { color: #bfdbfe; }
.fv3-phone-time {
    font-size: 10.5px;
    color: #94a3b8;
    font-weight: 600;
}
.fv3-email {
    font-size: 11.5px;
    color: #cbd5e1;
    font-weight: 600;
    line-height: 1.4;
}
.fv3-email a {
    color: #e2e8f0;
    text-decoration: none !important;
}
.fv3-email a:hover { color: #60a5fa; }
.fv3-cta-row {
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.fv3-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 10px;
    border-radius: 8px;
    font-size: 12.5px;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.22s;
}
.fv3-cta-main {
    background: linear-gradient(135deg,#2563eb,#7c3aed);
    color: #fff;
    box-shadow: 0 8px 16px -8px rgba(37,99,235,0.6);
}
.fv3-cta-main:hover {
    transform: translateY(-1.5px);
    box-shadow: 0 12px 22px -10px rgba(37,99,235,0.8);
    color: #fff;
}
.fv3-cta-sub {
    background: rgba(255,255,255,0.06);
    color: #e2e8f0;
    border: 1px solid rgba(148,163,184,0.25);
}
.fv3-cta-sub:hover {
    background: rgba(255,255,255,0.10);
    border-color: rgba(148,163,184,0.45);
    color: #fff;
}
.fv3-trust {
    display: flex;
    justify-content: space-between;
    gap: 4px;
    padding: 8px 9px 7px;
    background: rgba(0,0,0,0.2);
    border-radius: 7px;
}
.fv3-trust span {
    font-size: 10.5px;
    color: #cbd5e1;
    font-weight: 600;
    line-height: 1.4;
}

/* 友情链接 + 版权底栏 */
.fv3-fl {
    background: transparent !important;
    border: none !important;
    padding: 22px 0 18px !important;
    border-top: none !important;
}
.fv3-fl-row {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 16px;
    align-items: start;
}
.fv3-fl-title {
    font-size: 12.5px;
    font-weight: 700;
    color: #94a3b8 !important;
    padding: 4px 0 0 !important;
    margin: 0 !important;
    border: none !important;
}
.fv3-fl-list {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
}
.fv3-fl-list a {
    font-size: 12px;
    color: #94a3b8;
    font-weight: 500;
    text-decoration: none !important;
    padding: 2px 0;
    transition: color 0.18s;
}
.fv3-fl-list a:hover { color: #60a5fa; }
.fv3-fl-sitemap {
    color: #93c5fd !important;
    font-weight: 600 !important;
}
.fv3-bottom {
    border-top: 1px solid rgba(148,163,184,0.12);
    padding: 14px 0 18px;
}
.fv3-bottom p {
    font-size: 11.5px;
    color: #64748b;
    line-height: 1.9;
    text-align: center;
    margin: 0;
    font-weight: 500;
    letter-spacing: 0.2px;
}

/* fv3 响应式 */
@media (max-width: 1180px) {
    .fv3-top { grid-template-columns: 1.2fr 1fr; gap: 22px; }
    .fv3-contact { grid-column: 1 / -1; }
    .fv3-contact-card {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 18px;
        align-items: start;
    }
    .fv3-phone-block { border-bottom: none; padding-bottom: 0; border-right: 1px dashed rgba(148,163,184,0.2); padding-right: 18px;}
    .fv3-cta-row { border-right: 1px dashed rgba(148,163,184,0.2); padding-right: 18px; }
    .fv3-trust { grid-column: 1 / -1; margin-top: 0; }
}
@media (max-width: 820px) {
    .fv3-top {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 32px 0 26px;
    }
    .fv3-contact-card { grid-template-columns: 1fr; }
    .fv3-phone-block { border-right: none; border-bottom: 1px dashed rgba(148,163,184,0.2); padding: 0 0 12px; padding-right: 0;}
    .fv3-cta-row { border-right: none; padding-right: 0; }
    .fv3-fl-row { grid-template-columns: 1fr; gap: 8px; }
}
@media (max-width: 560px) {
    .fv3-prod-grid { grid-template-columns: 1fr; }
    .fv3-nav-links { grid-template-columns: 1fr 1fr; }
}

/* ================================================================
   PC：页脚 V3S 极简版（去掉重复产品卡片/模块列表/资源列表）
   ================================================================ */
.site-footer-v3s {
    background:
        radial-gradient(circle at 10% 0%, rgba(37,99,235,0.08), transparent 55%),
        radial-gradient(circle at 90% 0%, rgba(124,58,237,0.08), transparent 55%),
        linear-gradient(180deg,#0b1220 0%,#0f172a 40%,#111827 100%);
    color: #cbd5e1;
    padding: 32px 0 20px;
    font-family: "PingFang SC","Microsoft YaHei",sans-serif;
}
.fs3-body {
    display: grid;
    grid-template-columns: 1fr 2.6fr;
    gap: 30px;
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(148,163,184,0.14);
}

/* 左：品牌 + 一句话简介 */
.fs3-logo {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    text-decoration: none !important;
    margin-bottom: 11px;
}
.fs3-logo-ico {
    width: 36px; height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg,#2563eb,#7c3aed);
    color: #fff;
    border-radius: 10px;
    font-size: 18px;
    box-shadow: 0 4px 12px -6px rgba(37,99,235,0.6);
}
.fs3-logo-txt {
    font-size: 18px;
    font-weight: 800;
    color: #f1f5f9;
    line-height: 1.1;
    letter-spacing: -0.1px;
}
.fs3-logo-txt em {
    display: block;
    font-style: normal;
    font-size: 11.5px;
    font-weight: 500;
    color: #94a3b8;
    margin-top: 3px;
    letter-spacing: 0;
}
.fs3-slogan {
    font-size: 13px;
    color: #94a3b8;
    line-height: 1.7;
    margin: 0 0 14px;
    font-weight: 500;
}
.fs3-slogan b { color: #cbd5e1; font-weight: 700; }

/* 中：两小组快速导航 */
.fs3-navs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.fs3-nav-col h6 {
    font-size: 14px;
    font-weight: 700;
    color: #f1f5f9;
    margin: 0 0 10px;
    line-height: 1.2;
    padding-bottom: 7px;
    border-bottom: 1px solid rgba(148,163,184,0.14);
}
.fs3-nav-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 5px;
}
.fs3-nav-col li a {
    display: flex;
    align-items: center;
    padding: 5px 7px;
    border-radius: 5px;
    font-size: 13.5px;
    font-weight: 500;
    color: #94a3b8;
    text-decoration: none !important;
    transition: all 0.18s;
    line-height: 1.4;
}
.fs3-nav-col li a:hover {
    background: rgba(59,130,246,0.1);
    color: #93c5fd;
    transform: translateX(2px);
}

/* 右：1 CTA + 电话 + 邮箱 */
.fs3-contact {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.fs3-main-cta {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 11px;
    align-items: center;
    padding: 12px 14px;
    background: linear-gradient(135deg,#2563eb 0%,#7c3aed 100%);
    border-radius: 11px;
    color: #fff;
    text-decoration: none !important;
    box-shadow: 0 10px 22px -10px rgba(37,99,235,0.7);
    transition: all 0.22s;
}
.fs3-main-cta:hover {
    transform: translateY(-2px);
    color: #fff;
    box-shadow: 0 14px 28px -10px rgba(37,99,235,0.85);
}
.fs3-mc-ico {
    width: 34px; height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.18);
    border-radius: 9px;
    font-size: 17px;
}
.fs3-mc-txt {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.fs3-mc-txt b {
    font-size: 14.5px;
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
}
.fs3-mc-txt i {
    font-style: normal;
    font-size: 11px;
    color: rgba(255,255,255,0.82);
    font-weight: 500;
    line-height: 1.3;
}
.fs3-phone {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 11px;
    align-items: center;
    padding: 10px 12px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(148,163,184,0.14);
    border-radius: 10px;
    text-decoration: none !important;
    transition: all 0.2s;
}
.fs3-phone:hover {
    background: rgba(255,255,255,0.06);
    border-color: rgba(99,102,241,0.35);
}
.fs3-ph-ico {
    width: 32px; height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(245,158,11,0.15);
    color: #fbbf24;
    border-radius: 8px;
    font-size: 16px;
}
.fs3-ph-txt {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.fs3-ph-txt em {
    font-style: normal;
    font-size: 10.5px;
    color: #94a3b8;
    font-weight: 600;
    line-height: 1.2;
}
.fs3-ph-txt b {
    font-size: 18px;
    font-weight: 800;
    color: #f8fafc;
    letter-spacing: 0.2px;
    line-height: 1.15;
}
.fs3-ph-txt small {
    font-size: 10px;
    color: #64748b;
    font-weight: 500;
    line-height: 1.3;
}
.fs3-email {
    font-size: 12px;
    color: #cbd5e1;
    font-weight: 600;
    padding: 6px 10px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(148,163,184,0.12);
    border-radius: 7px;
    text-decoration: none !important;
    transition: all 0.18s;
    text-align: center;
}
.fs3-email:hover {
    background: rgba(59,130,246,0.1);
    color: #93c5fd;
}
/* 版权底栏 */
.fs3-copy {
    font-size: 11px;
    color: #475569;
    line-height: 1.85;
    text-align: center;
    padding: 10px 0 4px;
    font-weight: 500;
    letter-spacing: 0.1px;
}

/* V3S 响应式 */
@media (max-width: 980px) {
    .fs3-body { grid-template-columns: 1fr 1fr; gap: 22px; }
    .fs3-contact { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
    .site-footer-v3s { padding: 24px 0 14px; }
    .fs3-body { grid-template-columns: 1fr; gap: 20px; padding-bottom: 18px; }
    .fs3-navs { grid-template-columns: 1fr 1fr; }
}

/* ============================================
   产品总览页 /product.html（ov-*）
   ============================================ */
.ov-hero { padding: 56px 0 46px; background: radial-gradient(1000px 420px at 15% -10%, rgba(6,99,190,0.10), transparent 60%), radial-gradient(800px 420px at 85% -10%, rgba(0,167,176,0.10), transparent 60%), linear-gradient(180deg, #f4f8fd 0%, #ffffff 100%); }
.ov-badge { display: inline-flex; align-items: center; padding: 5px 14px; border-radius: 999px; background: rgba(6,99,190,0.08); color: var(--c-primary, #0663BE); font-size: 13px; font-weight: 600; }
.ov-hero h1 { margin: 16px 0 12px; font-size: 36px; font-weight: 800; color: #0b1220; letter-spacing: -0.5px; line-height: 1.25; }
.ov-sub { max-width: 760px; margin: 0 0 24px; color: #4b5563; font-size: 15px; line-height: 1.8; }
.ov-hero-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 34px; }
.ov-hl-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ov-hl-card { padding: 28px 22px; background: #fff; border: 1px solid var(--c-border, #eeeeee); border-radius: 14px; text-align: center; transition: all .25s ease; }
.ov-hl-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px -14px rgba(15,23,42,.18); }
.ov-hl-ico { width: 56px; height: 56px; margin: 0 auto 14px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 26px; }
.ov-hl-card h3 { margin: 0 0 8px; font-size: 17px; color: #111827; }
.ov-hl-card p { margin: 0; font-size: 13px; color: #6b7280; line-height: 1.7; }
.ov-qsel-grid { max-width: 860px; margin: 0 auto; display: grid; gap: 12px; }
.ov-qsel-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 22px; background: #fff; border: 1px solid rgba(148,163,184,.22); border-radius: 12px; font-size: 14.5px; color: #334155; }
.ov-qsel-row b { color: #0b1220; }
.ov-qsel-row .pick { font-style: normal; flex-shrink: 0; padding: 5px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; color: #fff; }
.ov-qsel-row .pick.cloud { background: linear-gradient(135deg, #2563eb, #3b82f6); }
.ov-qsel-row .pick.jinshi { background: linear-gradient(135deg, #7c3aed, #a855f7); }
.ov-qsel-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 30px; }
@media (max-width: 900px) { .ov-hl-grid { grid-template-columns: repeat(2, 1fr); } .ov-hero h1 { font-size: 28px; } }

/* ===== 产品介绍组件化美化（pd-card：产品详情页 detail_html 富渲染） ===== */
.pd-card {
    position: relative;
    padding: 44px 42px !important;
    border-radius: 16px !important;
    overflow: hidden;
    border: 1px solid #e8eef7 !important;
    background: linear-gradient(180deg, #fbfdff 0%, #ffffff 140px) !important;
}
.pd-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, #0663be, #22b1e5 45%, #059669);
}
.pd-card .product-detail-content { line-height: 1.9; font-size: 15px; }
.pd-card h3 {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 22px;
    font-weight: 800;
    color: #0b1220;
    margin: 36px 0 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #eef2f8;
}
.pd-card h3:first-child { margin-top: 0; }
.pd-card h3::before {
    content: '';
    flex: none;
    width: 8px;
    height: 22px;
    border-radius: 4px;
    background: linear-gradient(180deg, #0663be, #22b1e5);
}
.pd-card h4 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16.5px;
    font-weight: 700;
    color: #063b6e;
    background: linear-gradient(90deg, #eff6ff, #f8fbff 75%);
    border-left: 4px solid #0663be;
    border-radius: 0 10px 10px 0;
    padding: 10px 16px;
    margin: 24px 0 12px;
}
.pd-card p { color: #4b5563; font-size: 15px; margin: 0 0 12px; text-align: justify; }
.pd-card ol {
    list-style: none;
    counter-reset: pdfeat;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin: 18px 0 4px;
    padding: 0;
}
.pd-card ol li {
    counter-increment: pdfeat;
    position: relative;
    background: #fff;
    border: 1px solid #e8eef7;
    border-radius: 12px;
    padding: 15px 16px 15px 60px;
    font-size: 14px;
    color: #4b5563;
    line-height: 1.75;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.pd-card ol li::before {
    content: counter(pdfeat, decimal-leading-zero);
    position: absolute;
    left: 16px;
    top: 15px;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    background: linear-gradient(135deg, #0663be, #22b1e5);
    color: #fff;
    font-weight: 800;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pd-card ol li strong { display: block; font-size: 15px; color: #0b1220; margin-bottom: 4px; }
.pd-card ol li:hover {
    transform: translateY(-3px);
    border-color: #bcd7f5;
    box-shadow: 0 12px 24px -12px rgba(6, 99, 190, 0.25);
}
@media (max-width: 768px) {
    .pd-card { padding: 26px 20px !important; }
    .pd-card h3 { font-size: 19px; }
    .pd-card ol { grid-template-columns: 1fr; }
}
