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

/* 小红书系强调色：仅用于按钮、图标、链接与焦点，不改变全站区块背景 */
:root {
    --brand: #ff2442;
    --brand-deep: #e11d48;
    --brand-soft: #ff6b81;
    --brand-glow: rgba(255, 36, 66, 0.28);
    --brand-ghost: rgba(255, 36, 66, 0.1);
}

body {
    font-family: 'Plus Jakarta Sans', 'Inter', 'PingFang SC', 'Microsoft YaHei UI', system-ui, sans-serif;
    background-color: #ffffff;
    color: #1e293b;
    line-height: 1.5;
}

.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
}

/* 按钮样式 */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: 40px;
    font-weight: 600;
    transition: all 0.3s ease;
    cursor: pointer;
    border: none;
    font-size: 1rem;
    text-decoration: none;
}

.btn-primary {
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand-soft) 100%);
    color: #fff;
    box-shadow: 0 4px 14px var(--brand-glow);
}

    .btn-primary:hover {
        background: linear-gradient(135deg, var(--brand-deep) 0%, var(--brand) 100%);
        transform: translateY(-2px);
        box-shadow: 0 8px 22px rgba(255, 36, 66, 0.35);
    }

.btn-outline {
    background: transparent;
    border: 1.5px solid var(--brand);
    color: var(--brand);
}

    .btn-outline:hover {
        background: var(--brand-ghost);
        color: var(--brand-deep);
        border-color: var(--brand-deep);
        transform: translateY(-2px);
    }

/* 深色背景上的描边按钮：与 .btn-outline 同形，用于服务页收尾条等 */
.btn-outline-light {
    background: transparent;
    border: 1.5px solid rgba(255, 255, 255, 0.52);
    color: #e2e8f0;
}

    .btn-outline-light:hover {
        background: rgba(255, 255, 255, 0.1);
        color: #fff;
        border-color: rgba(255, 255, 255, 0.88);
        transform: translateY(-2px);
    }

/* 全站顶栏：仅用 .site-header，避免与正文里语义化 <header>（如服务页区块标题）全局冲突 */
header.site-header {
    position: relative;
    z-index: 20;
    background: #ffffff;
    border-bottom: 1px solid rgba(226, 232, 240, 0.98);
    box-shadow: 0 6px 24px -18px rgba(15, 23, 42, 0.08);
}

.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.8rem 0;
    flex-wrap: wrap;
}

.logo img {
    height: 48px;
    width: auto;
    display: block;
}

.nav-links {
    display: flex;
    gap: 2rem;
    align-items: center;
    flex-wrap: wrap;
}

    .nav-links a {
        font-weight: 500;
        transition: color 0.2s;
        text-decoration: none;
        color: #1e293b;
    }

        .nav-links a.nav-link {
            position: relative;
        }

            .nav-links a.nav-link:hover {
                color: var(--brand);
            }

            .nav-links a.nav-link.is-active {
                color: var(--brand-deep);
                font-weight: 700;
            }

@media (min-width: 993px) {
    .nav-links a.nav-link.is-active::after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        bottom: -0.5rem;
        height: 2px;
        background: var(--brand);
        border-radius: 1px;
    }
}

@media (max-width: 992px) {
    .nav-links a.nav-link.is-active {
        border-left: 3px solid var(--brand);
        padding-left: 0.5rem;
        margin-left: -0.5rem;
    }
}

.contact-phone {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    background: #f1f5f9;
    padding: 8px 16px;
    border-radius: 40px;
    font-weight: 600;
    color: var(--brand-deep);
    text-decoration: none;
    border: 1px solid rgba(255, 36, 66, 0.2);
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

    .contact-phone:hover {
        background: #fff;
        border-color: rgba(255, 36, 66, 0.45);
        color: var(--brand);
        box-shadow: 0 2px 12px rgba(255, 36, 66, 0.12);
    }

    .contact-phone .fas {
        font-size: 0.9em;
        opacity: 0.95;
    }

/* 联系区块内 .contact-phone：与顶栏同源药丸样式，由左侧列表图标承担与地址行对齐 */

/* 移动端汉堡菜单 */
.menu-toggle {
    display: none;
    font-size: 1.5rem;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--brand);
}

/* Hero 区域 */
.hero {
    /* 让首屏更“饱满”：即使内容不多也能撑起高度 */
    min-height: clamp(560px, 82vh, 760px);
    padding: clamp(3rem, 8vh, 4.5rem) 0 clamp(3.5rem, 6vh, 5rem);
    display: flex;
    align-items: center;
    background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
    position: relative;
    overflow: hidden;
}

    .hero::before,
    .hero::after {
        content: '';
        position: absolute;
        inset: auto;
        width: 520px;
        height: 520px;
        border-radius: 999px;
        filter: blur(40px);
        opacity: 0.22;
        pointer-events: none;
    }

    .hero::before {
        top: -220px;
        right: -220px;
        background: radial-gradient(circle at 30% 30%, #2b7a62 0%, transparent 60%);
    }

    .hero::after {
        bottom: -260px;
        left: -260px;
        background: radial-gradient(circle at 30% 30%, #1a4c6e 0%, transparent 60%);
    }

.hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
    position: relative;
    z-index: 1;
}

.hero-content h1 {
    font-size: 2rem;
    font-weight: 800;
    line-height: 2;
    margin-bottom: 1.5rem;
    color: #0b2b3b;
}

.hero-content .highlight {
    color: var(--brand);
    background: transparent;
    padding: 0 0.15rem;
    box-shadow: 0 3px 0 0 rgba(255, 36, 66, 0.35);
}

.hero-desc {
    font-size: 1.2rem;
    color: #334155;
    margin-bottom: 2rem;
    max-width: 90%;
}

.hero-buttons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

    .hero-buttons .btn {
        will-change: transform, box-shadow;
    }

.btn:focus-visible {
    outline: 3px solid var(--brand-glow);
    outline-offset: 3px;
}

.btn:active {
    transform: translateY(0);
}

.hero-features {
    background: white;
    padding: 2rem;
    border-radius: 32px;
    box-shadow: 0 20px 35px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(226, 232, 240, 0.85);
    transform: translateY(0);
    transition: transform 220ms ease, box-shadow 220ms ease;
    font-size: 1.05rem;
    line-height: 1.7;
}

    .hero-features:hover {
        transform: translateY(-4px);
        box-shadow: 0 28px 50px -18px rgba(0, 0, 0, 0.18);
    }

    .hero-features p {
        margin-bottom: 1rem;
        font-weight: 500;
    }

        .hero-features p strong {
            font-size: 1.1rem;
            font-weight: 800;
            color: #0b2b3b;
        }

    .hero-features ul {
        list-style: none;
    }

    .hero-features li {
        margin-bottom: 1rem;
        display: flex;
        align-items: center;
        gap: 0.75rem;
        font-size: 1.05rem;
    }

    .hero-features i {
        color: var(--brand);
    }

/* 通用 section 样式 */
.section {
    padding: 5rem 0;
}

.section-title {
    text-align: center;
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #0f2c40;
}

.section-sub {
    text-align: center;
    color: #5b6e8c;
    margin: 0 auto 3rem auto;
    font-size: 1.1rem;
}

.home-promo-links {
    padding: 2rem 0;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}

.home-promo-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
}

.home-promo-card {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1rem;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #0f2c40;
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.home-promo-card:hover {
    border-color: var(--brand, #ff8fab);
    box-shadow: 0 4px 14px rgba(15, 44, 64, 0.08);
}

/* 服务卡片 */
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

.service-card {
    container-type: inline-size;
    background: white;
    border-radius: 28px;
    padding: 0;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.02);
    border: 1px solid #edf2f7;
}

/* 16:9 横向缩略图；最大高度 10rem（根字号 16px 时为 160px） */
.service-cover {
    width: 100%;
    height: 10rem;
    height: min(10rem, calc(100cqw * 9 / 16));
    position: relative;
    overflow: hidden;
    background: #f1f5f9;
}

    .service-cover img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

.service-card-body {
    padding: 2rem;
}

.service-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 30px -12px rgba(0, 0, 0, 0.1);
    border-color: #cbd5e1;
}

.footer-col a.footer-xhs-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

    .footer-col a.footer-xhs-link .icon-xhs {
        width: 1rem;
        height: 1rem;
        flex-shrink: 0;
    }

.service-card h3 {
    font-size: 1.5rem;
    margin-bottom: 0.75rem;
    font-weight: 700;
}

.service-card p {
    color: #4a5a72;
    margin-bottom: 1rem;
    line-height:2rem;
}

.read-more {
    color: var(--brand);
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

    .read-more:hover {
        color: var(--brand-deep);
    }

/* 新闻/文章区域（首页）：最多一行 3 卡，避免宽屏挤成 4 列 */
.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

@media (max-width: 992px) {
    .news-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .news-grid {
        grid-template-columns: 1fr;
    }
}

.news-card {
    background: #ffffff;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    transition: all 0.3s;
}

    .news-card:hover {
        transform: translateY(-5px);
    }

/* 头图区域：小红书笔记常用 4:3 画幅 */
.news-img {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    height: auto;
    background: #eef2ff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(1.75rem, 5vw, 2.5rem);
    color: var(--brand);
}

    .news-img img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.news-card h4 {
    padding: 1rem 1.2rem 0;
    font-size: 1.2rem;
}

.news-card p {
    padding: 0.5rem 1.2rem;
    color: #5b6e8c;
    line-height:2rem;
}

.news-card .read-more {
    margin: 0 1.2rem 1.2rem 1.2rem;
    display: inline-block;
}

/* —— FAQ 列表页（/faq，导航不显示） —— */
.faq-page {
    background: #fdfdfd;
}

.faq-body {
    padding-top: clamp(1.75rem, 4vw, 2.5rem);
    padding-bottom: clamp(2.75rem, 6vw, 4rem);
}

.faq-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    align-items: center;
    margin-bottom: 1.35rem;
}

.faq-filter__tag {
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.92);
    color: #475569;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

    .faq-filter__tag:hover {
        transform: translateY(-1px);
        border-color: rgba(255, 36, 66, 0.22);
    }

    .faq-filter__tag.is-active {
        color: #fff;
        border-color: transparent;
        background: linear-gradient(135deg, var(--brand) 0%, var(--brand-soft) 100%);
    }

.faq-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.faq-card {
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 44px -36px rgba(15, 23, 42, 0.16);
    padding: 1.15rem 1.2rem;
}

.faq-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 0.5rem;
    color: #64748b;
    font-size: 0.85rem;
}

.faq-card__svc {
    color: #0f172a;
    text-decoration: none;
    font-weight: 800;
}

    .faq-card__svc:hover {
        color: var(--brand-deep);
    }

.faq-card__dot {
    opacity: 0.7;
}

.faq-card__theme {
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    font-size: 0.78rem;
    padding: 0.1rem 0.55rem;
    border-radius: 999px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(15, 23, 42, 0.04);
}

.faq-card__q {
    margin: 0 0 0.65rem;
    font-size: 1.1rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.35;
}

.faq-card__a {
    margin: 0;
    padding-left: 1.15rem;
    color: #475569;
    font-size: 0.92rem;
    line-height: 1.72;
}

    .faq-card__a li {
        margin-bottom: 0.3rem;
    }

/* FAQ 列表空状态：居中留白，避免内容挤在左上角 */
.faq-empty {
    box-sizing: border-box;
    padding: clamp(5rem, 5vw, 5.75rem) clamp(5.5rem, 4vw, 5.25rem);
    text-align: center;
    border-radius: 20px;
}

.faq-empty__title {
    margin: 0 0 0.65rem;
    font-size: clamp(1.2rem, 2.1vw, 1.42rem);
    font-weight: 900;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.3;
}

.faq-empty__lead {
    margin: 0 0 1.35rem;
    font-size: 0.95rem;
    line-height: 1.75;
    color: #64748b;
    font-weight: 600;
}

.faq-empty .btn {
    min-width: 11rem;
    justify-content: center;
    box-shadow: 0 12px 28px -18px rgba(255, 36, 66, 0.55);
}

@media (max-width: 520px) {
    .faq-empty {
        margin-left: 0;
        margin-right: 0;
        max-width: none;
    }
}

.pager {
    margin-top: 1.35rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    justify-content: center;
}

.pager__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.55rem 0.95rem;
    border-radius: 999px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.92);
    color: #0f172a;
    text-decoration: none;
    font-weight: 800;
}

    .pager__btn:hover {
        border-color: rgba(255, 36, 66, 0.22);
        color: var(--brand-deep);
    }

    .pager__btn.is-disabled,
    .pager__btn.is-disabled:hover {
        opacity: 0.45;
        pointer-events: none;
    }

.pager__info {
    color: #64748b;
    font-size: 0.9rem;
    font-weight: 700;
}

.svc-flow__more {
    margin-top: 1.75rem;
    text-align: center;
}

/* FAQ 区域 - 双列垂直标签：左列表 + 右问答面板 */
.faq-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

.faq-section {
    background: #f9f9f9;
}

/* 与上下区块共用 .container（max-width:1280px + 左右 24px），不再单独收窄 */

.faq-tabs-heading {
    text-align: center;
    color: #333;
}

.faq-tabs {
    display: flex;
    width: 100%;
    max-width: none;
    margin: 0;
    background: #fff;
    border-radius: 0.25rem;
    overflow: hidden;
    box-shadow: 0 0.0625rem 0.5rem rgba(0, 0, 0, 0.06);
    border: 0.0625rem solid rgba(0, 0, 0, 0.06);
    min-height: 17.5rem;
    font-size: 1rem;
    line-height: 1.75;
}

.faq-tabs-nav {
    flex: 0 0 38%;
    max-width: 30rem;
    background: #f5f5f5;
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

    .faq-tabs-nav button {
        width: 100%;
        text-align: left;
        border: none;
        background: transparent;
        cursor: pointer;
        box-sizing: border-box;
        min-height: 4.6875rem; /* 75px @ 16px root */
        padding: 0.75rem 1rem 0.75rem 1.125rem;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-family: inherit;
        font-size: 1rem;
        line-height: 1.75;
        color: #333;
        transition: background 0.15s ease, color 0.15s ease;
        border-right: 0.1875rem solid transparent;
    }

        .faq-tabs-nav button:hover {
            background: rgba(255, 255, 255, 0.65);
        }

        .faq-tabs-nav button.is-active {
            background: #fff;
            color: #1a1a1a;
            font-weight: 600;
            border-right-color: #fff;
            margin-right: -0.0625rem;
            box-shadow: none;
        }

.faq-tabs-num {
    flex: 0 0 auto;
    color: var(--brand);
    font-weight: 700;
    min-width: 1.5em;
}

.faq-tabs-qtext {
    flex: 1;
    min-width: 0;
}

.faq-tabs-main {
    flex: 1;
    min-width: 0;
    padding: 2rem;
    background: #fff;
}

.faq-tabs-row {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

    .faq-tabs-row + .faq-tabs-row {
        margin-top: 1.25rem;
    }

.faq-tabs-tag {
    flex: 0 0 auto;
    width: 1.75rem;
    height: 1.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}

.faq-tabs-tag--q {
    background: linear-gradient(145deg, #ffb3c6, #ff8fab);
}

.faq-tabs-tag--a {
    background: linear-gradient(145deg, var(--brand), var(--brand-deep));
}

.faq-tabs-qtitle {
    font-size: 1rem;
    font-weight: 700;
    color: #333;
    line-height: 1.75;
    padding-top: 0.125rem;
}

.faq-tabs-atext {
    margin: 0;
    font-size: 1rem;
    line-height: 2;
    color: #666;
    padding-top: 0.125rem;
}

.faq-tabs-more {
    text-align: center;
    margin-top: 2rem;
}

.faq-tabs-more-btn {
    display: inline-block;
    padding: 0.75rem 3rem;
    background: #fff;
    border: 0.0625rem solid #ddd;
    color: #666;
    font-size: 1rem;
    line-height: 1.75;
    text-decoration: none;
    border-radius: 0.125rem;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

    .faq-tabs-more-btn:hover {
        border-color: var(--brand);
        color: var(--brand);
        background: rgba(255, 36, 66, 0.06);
    }

/* 首页 FAQ：每条进入独立 CMS 问答 URL，摘要与 JSON-LD 对齐 */
.faq-section--home-cards .section-sub,
.faq-section--home-tabs .section-sub {
    max-width: 50rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.faq-tabs-nav li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.faq-tabs-main .faq-tabs-qtitle {
    margin: 0;
}

.home-faq-grid {
    list-style: none;
    margin: 1.75rem 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr));
    gap: 1.25rem;
}

.home-faq-card {
    height: 100%;
    background: #fff;
    border: 0.0625rem solid rgba(0, 0, 0, 0.08);
    border-radius: 0.75rem;
    padding: 1.125rem 1.25rem;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.home-faq-card__title {
    margin: 0;
    font-size: 1.0625rem;
    line-height: 1.45;
    font-weight: 700;
}

.home-faq-card__title-link {
    color: #0b2b3b;
    text-decoration: none;
}

.home-faq-card__title-link:hover {
    color: var(--brand);
}

.home-faq-card__excerpt {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.65;
    color: #555;
    flex: 1;
}

.home-faq-card__more {
    margin-top: 0.25rem;
    font-size: 0.875rem;
}

.home-faq-actions {
    text-align: center;
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
    align-items: center;
}

/* /faq 聚合页：标题链到独立问答 */
.faq-card__q-link {
    color: inherit;
    text-decoration: none;
}

.faq-card__q-link:hover {
    color: var(--brand);
}

.faq-card__more {
    margin-top: 0.65rem;
}

/* —— FAQ 详情页（CMS 文章 slug 以 faq- 开头）：与新闻详情、/faq 列表同一视觉体系 —— */
.faq-detail-page {
    background: #fdfdfd;
}

.faq-detail-hero .faq-detail-eyebrow {
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-size: 0.8125rem;
}

.faq-detail-hero .faq-detail-hero-svc-link {
    margin: 0.75rem 0 0;
    font-size: 0.95rem;
}

/*
 * FAQ 详情 · 英雄区主标题（独立类名，不挂 .service-pro-hero-title）
 * 当前数值对齐原服务/营销英雄标题，仅在此文件内改即可单独调试 FAQ。
 */
.faq-detail-hero-title {
    margin: 0 auto 1.35rem;
    font-size: clamp(2rem, 4.5vw, 2.65rem);
    font-weight: 800;
    letter-spacing: -0.035em;
    color: #0a1628;
    line-height: 1.2;
    text-wrap: balance;
}

    .faq-detail-hero-title strong {
        color: var(--brand);
        font-weight: 800;
    }

.faq-detail-breadcrumb-bar {
    border-top-color: rgba(99, 102, 241, 0.35);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.98) 0%, #f1f5f9 100%);
}

.faq-detail-body {
    padding-top: clamp(1.5rem, 3.5vw, 2.25rem);
    padding-bottom: clamp(2.5rem, 5vw, 3.75rem);
}

.faq-detail-container {
    margin-left: auto;
    margin-right: auto;
}

.faq-detail-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    margin: 0 0 1rem;
    font-size: 0.875rem;
    color: #64748b;
}

.faq-detail-meta__item {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

    .faq-detail-meta__item i {
        color: #94a3b8;
        font-size: 0.82rem;
    }

.faq-detail-meta__sep {
    color: #cbd5e1;
    user-select: none;
}

.faq-detail-meta__pill {
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.05);
    border: 1px solid rgba(226, 232, 240, 0.95);
    color: #475569;
}

.faq-detail-article-card {
    border-radius: 20px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 22px 48px -32px rgba(15, 23, 42, 0.18);
    padding: 0;
    overflow: hidden;
}

.faq-detail-article-card__label {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.85rem 1.25rem;
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
}

.faq-detail-article-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(145deg, #6366f1 0%, #4f46e5 100%);
    box-shadow: 0 4px 12px -4px rgba(79, 70, 229, 0.55);
}

.faq-detail-article-card__label-text {
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #475569;
}

.faq-detail-prose {
    padding: clamp(1.25rem, 3vw, 1.85rem) clamp(1.15rem, 3vw, 1.75rem) clamp(1.5rem, 3vw, 2rem);
}

    .faq-detail-prose .faq-cms {
        margin: 0;
    }

    .faq-detail-prose .faq-cms--structured .faq-cms__body {
        margin-top: 0.35rem;
    }

    .faq-detail-prose .faq-cms__lead {
        margin-bottom: 1.1rem;
    }

    .faq-detail-prose .faq-cms p {
        margin: 0 0 1.1rem;
        font-size: 1.0625rem;
        line-height: 1.88;
        color: #334155;
    }

        .faq-detail-prose .faq-cms p:last-child {
            margin-bottom: 0;
        }

    .faq-detail-prose .faq-cms strong {
        color: #0f172a;
        font-weight: 800;
    }

    .faq-detail-prose :where(h2, h3) {
        margin: 1.35rem 0 0.65rem;
        font-weight: 900;
        color: #0f172a;
        line-height: 1.35;
    }

    .faq-detail-prose :where(h2, h3):first-child {
        margin-top: 0;
    }

    .faq-detail-prose :where(ul, ol) {
        margin: 0 0 1.1rem;
        padding-left: 1.35rem;
        color: #334155;
        line-height: 1.8;
    }

    .faq-detail-prose li {
        margin-bottom: 0.35rem;
    }

.faq-detail-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    justify-content: center;
    align-items: center;
    margin-top: clamp(1.75rem, 4vw, 2.5rem);
    padding-top: clamp(1.5rem, 3vw, 2rem);
    border-top: 1px solid rgba(226, 232, 240, 0.95);
}

@media (max-width: 640px) {
    .faq-detail-hero-title {
        font-size: clamp(1.55rem, 6.5vw, 2rem);
    }

    .faq-detail-meta {
        font-size: 0.8125rem;
    }

    .faq-detail-cta {
        flex-direction: column;
        align-items: stretch;
    }

        .faq-detail-cta .btn {
            width: 100%;
            justify-content: center;
        }
}

details.faq-card {
    background: #ffffff;
    border: 0.0625rem solid rgba(226, 232, 240, 0.9);
    border-radius: 1.125rem;
    box-shadow: 0 0.375rem 1.125rem rgba(0, 0, 0, 0.04);
    overflow: hidden;
}

    details.faq-card > summary {
        list-style: none;
        cursor: pointer;
        padding: 0.875rem 1rem;
        font-weight: 800;
        color: #0b2b3b;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.625rem;
    }

        details.faq-card > summary::-webkit-details-marker {
            display: none;
        }

        details.faq-card > summary::after {
            content: '＋';
            font-weight: 900;
            color: var(--brand);
        }

    details.faq-card[open] > summary::after {
        content: '－';
    }

.faq-card-body {
    padding: 0 1rem 0.875rem;
    color: #4b5563;
    line-height: 1.7;
}

.faq-col {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.faq-item {
    border-bottom: 0.0625rem solid #e2e8f0;
    padding-bottom: 1rem;
}

.faq-question {
    font-weight: 700;
    font-size: 1.05rem;
    margin-bottom: 0.5rem;
    color: #0f2c40;
}

.faq-answer {
    color: #4b5563;
    font-size: 0.95rem;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 联系区域 */
.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    background: #f8fafc;
    border-radius: 48px;
    padding: 3rem;
}

.contact-info h3 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
}

.contact-details {
    margin: 2rem 0;
}

    .contact-details div {
        display: flex;
        align-items: center;
        gap: 1rem;
        margin-bottom: 1.5rem;
    }

    .contact-details i {
        color: var(--brand);
        width: 1.25rem;
        text-align: center;
    }

.contact-form input,
.contact-form textarea {
    width: 100%;
    padding: 12px 18px;
    border: 1px solid #cbd5e1;
    border-radius: 32px;
    margin-bottom: 1rem;
    font-family: inherit;
    background: white;
}

.contact-form textarea {
    border-radius: 24px;
    resize: vertical;
}

    .contact-form input:focus,
    .contact-form textarea:focus {
        outline: none;
        border-color: var(--brand-soft);
        box-shadow: 0 0 0 3px var(--brand-ghost);
    }

/* 服务项目列表与详情 */
/* 详情页英雄区由 .service-pro-hero + .service-detail-hero 叠加，与列表页同一套渐变与底部分割线 */
.service-pro-hero.service-detail-hero .service-pro-hero-title {
    font-size: clamp(1.85rem, 4.2vw, 2.45rem);
}

.service-detail-hero-kicker {
    margin: 0 0 1.05rem;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #64748b;
}

.service-detail-page {
    background: linear-gradient(180deg, #fdfdfd 0%, #f1f5f9 18%, #f8fafc 42%, #fdfdfd 100%);
    background-attachment: fixed;
}

@media (max-width: 768px) {
    .service-detail-page {
        background-attachment: scroll;
    }
}

.service-detail-main {
    position: relative;
    padding-bottom: 0.5rem;
}

/* —— 服务列表页：高端单行版式（心理：决策焦虑 → 逐项对号入座） —— */
.services-pro-page {
    background: #fdfdfd;
}

@media (prefers-reduced-motion: no-preference) {
    html:has(.services-pro-page) {
        scroll-behavior: smooth;
    }
}

.service-pro-hero {
    position: relative;
    padding: clamp(3rem, 8vw, 4.5rem) 0 clamp(3rem, 6vw, 4rem);
    text-align: center;
    background: linear-gradient(180deg, #f8fafc 0%, #fdfdfd 72%);
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
}

    /* 与下方主营业务区原顶条同款通栏渐变，仅保留一条作为英雄区与正文衔接 */
    .service-pro-hero::after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 3px;
        background: linear-gradient(90deg, transparent 8%, var(--brand) 50%, transparent 92%);
        opacity: 0.45;
        pointer-events: none;
    }

.service-pro-hero-strap {
    margin: 0 0 1rem;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    color: var(--brand);
}

.service-pro-hero-title {
    margin: 0 0 1.35rem;
    font-size: clamp(2rem, 4.5vw, 2.65rem);
    font-weight: 800;
    letter-spacing: -0.035em;
    color: #0a1628;
    line-height: 1.2;
}

    .service-pro-hero-title strong {
        color: var(--brand);
        font-weight: 800;
    }

.service-pro-hero-lead {
    margin: 0 auto;
    font-size: 1.08rem;
    line-height: 1.85;
    color: #475569;
}

    .service-pro-hero-lead strong {
        color: #1e293b;
        font-weight: 700;
    }

.service-pro-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem 2rem;
    justify-content: center;
    align-items: center;
    margin-top: 2.25rem;
}

.services-pro-section {
    padding-top: clamp(2.5rem, 5vw, 3.75rem);
    padding-bottom: 0;
    background: #fdfdfd;
}

/* 六大主营业务：版心由外层 .container 与首页一致，此处铺满容器内容区 */
.services-pro-jumpboard {
    width: 100%;
    padding-bottom: clamp(1.25rem, 3vw, 2rem);
    box-sizing: border-box;
}

.services-pro-jumpboard-surface {
    position: relative;
    border-radius: 22px;
    padding: clamp(1.5rem, 3.5vw, 2.5rem) 0;
}

.services-pro-jumpboard-intro {
    text-align: center;
    width: 100%;
    max-width: none;
    margin: 0 auto clamp(1.35rem, 3vw, 1.85rem);
    box-sizing: border-box;
}

.services-pro-jumpboard-eyebrow {
    margin: 0 0 0.6rem;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--brand);
}

.services-pro-jumpboard-title {
    margin: 0 0 0.85rem;
    font-size: clamp(1.45rem, 2.8vw, 1.9rem);
    font-weight: 800;
    letter-spacing: 0.1em;
    color: #0f2c40;
}

.services-pro-jumpboard-lead {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.78;
    color: #64748b;
}

    .services-pro-jumpboard-lead strong {
        color: #334155;
        font-weight: 700;
    }

.services-pro-picker-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.45rem 1.25rem;
    margin-bottom: 0.95rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
}

.services-pro-picker-label {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 700;
    color: #0f2c40;
    letter-spacing: 0.02em;
}

.services-pro-picker-hint {
    font-size: 0.78rem;
    color: #94a3b8;
    font-weight: 500;
}

.services-pro-picker-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

@media (min-width: 720px) {
    .services-pro-picker-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.8rem;
    }
}

@media (min-width: 1024px) {
    .services-pro-picker-grid {
        gap: 0.95rem;
    }
}

@media (max-width: 400px) {
    .services-pro-picker-grid {
        grid-template-columns: 1fr;
    }
}

.services-pro-picker-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.6rem 0.7rem;
    padding: 0.8rem 0.85rem;
    min-height: 100%;
    border-radius: 14px;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border: 1px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 1) inset;
    transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease, background-color 0.22s ease;
}

    .services-pro-picker-card:hover {
        border-color: rgba(255, 36, 66, 0.3);
        box-shadow: 0 1px 0 rgba(255, 255, 255, 1) inset, 0 14px 32px -18px rgba(255, 36, 66, 0.22), 0 10px 24px -14px rgba(15, 23, 42, 0.1);
        transform: translateY(-2px);
    }

    .services-pro-picker-card:focus-visible {
        outline: 2px solid var(--brand);
        outline-offset: 2px;
    }

.services-pro-picker-icon {
    width: 2.45rem;
    height: 2.45rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(255, 36, 66, 0.11) 0%, rgba(255, 36, 66, 0.04) 100%);
    color: var(--brand);
    font-size: 1.02rem;
    flex-shrink: 0;
    transition: transform 0.22s ease, background 0.22s ease;
}

.services-pro-picker-card:hover .services-pro-picker-icon {
    transform: scale(1.06);
    background: linear-gradient(145deg, rgba(255, 36, 66, 0.18) 0%, rgba(255, 36, 66, 0.07) 100%);
}

.services-pro-picker-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.services-pro-picker-num {
    font-variant-numeric: tabular-nums;
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: var(--brand);
}

.services-pro-picker-name {
    font-size: 0.93rem;
    font-weight: 700;
    color: #0f2c40;
    line-height: 1.28;
}

.services-pro-picker-hook {
    font-size: 0.7rem;
    line-height: 1.38;
    color: #64748b;
}

.services-pro-picker-cta {
    color: #cbd5e1;
    font-size: 0.82rem;
    align-self: end;
    padding-bottom: 0.1rem;
    transition: color 0.2s ease, transform 0.2s ease;
}

.services-pro-picker-card:hover .services-pro-picker-cta {
    color: var(--brand);
    transform: translateY(3px);
}

@media (prefers-reduced-motion: reduce) {
    .services-pro-picker-card,
    .services-pro-picker-card:hover,
    .services-pro-picker-icon,
    .services-pro-picker-card:hover .services-pro-picker-icon,
    .services-pro-picker-cta,
    .services-pro-picker-card:hover .services-pro-picker-cta {
        transition: none;
        transform: none;
    }
}

.services-pro-list {
    margin-top: clamp(0.5rem, 1.5vw, 1rem);
    border-top: 1px solid #e8edf3;
}

.service-pro-row {
    border-bottom: 1px solid #e8edf3;
    scroll-margin-top: 0.75rem;
}

    .service-pro-row:target {
        background: linear-gradient(90deg, rgba(255, 36, 66, 0.055) 0%, rgba(253, 253, 253, 0) 52%);
    }

.service-pro-row-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(220px, 360px);
    grid-template-areas: 'copy media';
    gap: clamp(2rem, 4.5vw, 3.75rem);
    align-items: center;
    padding: clamp(2.6rem, 5vw, 3.85rem) 0;
    width: 100%;
    box-sizing: border-box;
}

.service-pro-row--reverse .service-pro-row-inner {
    grid-template-areas: 'media copy';
}

.service-pro-copy {
    grid-area: copy;
    min-width: 0;
}

.service-pro-figure {
    grid-area: media;
    margin: 0;
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset, 0 28px 56px -32px rgba(15, 23, 42, 0.45);
    border: 1px solid rgba(226, 232, 240, 0.95);
}

    .service-pro-figure::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(145deg, rgba(255, 255, 255, 0.08) 0%, transparent 42%);
        pointer-events: none;
        z-index: 1;
    }

    .service-pro-figure img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
    }

.service-pro-row:hover .service-pro-figure img {
    transform: scale(1.04);
}

.service-pro-index {
    margin: 0 0 0.75rem;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.35em;
    color: var(--brand);
    opacity: 0.88;
}

.service-pro-eyebrow {
    margin: 0 0 0.45rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--brand);
    letter-spacing: 0.04em;
}

.service-pro-title {
    margin: 0 0 1rem;
    font-size: clamp(1.38rem, 2.4vw, 1.72rem);
    font-weight: 700;
    color: #0a1628;
    line-height: 1.28;
    letter-spacing: -0.02em;
}

.service-pro-desc {
    margin: 0 0 1.65rem;
    font-size: 1.02rem;
    line-height: 1.82;
    color: #475569;
    max-width: 38rem;
}

    .service-pro-desc strong {
        color: #334155;
        font-weight: 600;
    }

.service-pro-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #0f172a;
    text-decoration: none;
    padding-bottom: 0.15rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.18);
    transition: color 0.2s ease, border-color 0.2s ease, gap 0.25s ease;
}

    .service-pro-link:hover {
        color: var(--brand-deep);
        border-bottom-color: var(--brand);
        gap: 0.7rem;
    }

    .service-pro-link:focus-visible {
        outline: 2px solid var(--brand);
        outline-offset: 4px;
        border-radius: 2px;
    }

@media (max-width: 900px) {
    .service-pro-row-inner {
        grid-template-columns: 1fr;
        grid-template-areas:
            'media'
            'copy';
        padding: 2.35rem 0;
    }

    .service-pro-row--reverse .service-pro-row-inner {
        grid-template-areas:
            'media'
            'copy';
    }

    .service-pro-figure {
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
    }

    .service-pro-copy {
        text-align: center;
    }

    .service-pro-desc {
        margin-left: auto;
        margin-right: auto;
    }

    .service-pro-index {
        letter-spacing: 0.25em;
    }
}

@media (prefers-reduced-motion: reduce) {
    .service-pro-row:hover .service-pro-figure img {
        transform: none;
    }
}

.service-detail-cover-wrap {
    max-width: 52rem;
    margin: -1.25rem auto 2.25rem;
    position: relative;
    z-index: 1;
}

    .service-detail-cover-wrap img {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
        object-fit: cover;
        border-radius: 22px;
        box-shadow: 0 22px 48px -20px rgba(15, 23, 42, 0.2);
        border: 1px solid #e8edf3;
    }

.service-detail-body {
    padding-top: clamp(1.75rem, 4vw, 2.5rem);
    padding-bottom: clamp(2rem, 5vw, 3rem);
}

.service-detail-section {
    background: linear-gradient(165deg, rgba(255, 255, 255, 0.97) 0%, rgba(248, 250, 252, 0.99) 100%);
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 20px;
    padding: 1.5rem 1.5rem 1.35rem;
    margin-bottom: 1.25rem;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 20px 48px -34px rgba(15, 44, 64, 0.22);
    transition: border-color 0.28s ease, box-shadow 0.28s ease, transform 0.28s ease;
}

    .service-detail-section:hover {
        border-color: rgba(255, 36, 66, 0.22);
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.95) inset, 0 26px 56px -32px rgba(255, 36, 66, 0.12), 0 18px 40px -28px rgba(15, 23, 42, 0.12);
        transform: translateY(-2px);
    }

.service-detail-block-title {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    font-size: clamp(1.22rem, 2.5vw, 1.52rem);
    font-weight: 800;
    color: #0f2c40;
    margin: 0 0 0.85rem;
    text-align: left;
    line-height: 1.35;
    padding-bottom: 0;
    border-bottom: none;
}

    .service-detail-block-title::before {
        content: '';
        width: 4px;
        height: 1.2em;
        border-radius: 4px;
        background: linear-gradient(180deg, var(--brand) 0%, rgba(255, 36, 66, 0.45) 100%);
        flex-shrink: 0;
        box-shadow: 0 2px 8px -2px rgba(255, 36, 66, 0.45);
    }

.service-detail-section--steps .service-detail-block-title::before {
    background: linear-gradient(180deg, #6366f1 0%, var(--brand) 100%);
    box-shadow: 0 2px 10px -2px rgba(99, 102, 241, 0.35);
}

.service-detail-block-intro {
    font-size: 1.02rem;
    color: #475569;
    line-height: 1.75;
    margin: 0 0 1rem;
    padding: 0.65rem 0.85rem;
    border-radius: 12px;
    background: rgba(255, 36, 66, 0.045);
    border-left: 3px solid rgba(255, 36, 66, 0.35);
}

.service-detail-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

    .service-detail-list li {
        position: relative;
        padding: 0.65rem 0.85rem 0.65rem 2.15rem;
        margin-bottom: 0.5rem;
        font-size: 1.02rem;
        line-height: 1.72;
        color: #334155;
        border-radius: 12px;
        transition: background-color 0.22s ease, transform 0.22s ease;
    }

        .service-detail-list li:hover {
            background: linear-gradient(90deg, rgba(255, 36, 66, 0.06) 0%, rgba(255, 255, 255, 0) 88%);
            transform: translateX(2px);
        }

        .service-detail-list li::before {
            content: '';
            position: absolute;
            left: 0.65rem;
            top: 1rem;
            width: 0.5rem;
            height: 0.5rem;
            border-radius: 50%;
            background: radial-gradient(circle at 30% 30%, #ff5c7a 0%, var(--brand) 100%);
            box-shadow: 0 0 0 3px rgba(255, 36, 66, 0.12);
        }

.service-detail-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: svc-step;
    color: #334155;
    line-height: 1.72;
    font-size: 1.02rem;
}

    .service-detail-steps li {
        counter-increment: svc-step;
        position: relative;
        margin-bottom: 0.65rem;
        padding: 0.9rem 1rem 0.9rem 3.35rem;
        border-radius: 14px;
        border: 1px solid rgba(226, 232, 240, 0.95);
        background: linear-gradient(100deg, rgba(99, 102, 241, 0.06) 0%, rgba(255, 255, 255, 0.92) 55%);
        transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
    }

        .service-detail-steps li:hover {
            border-color: rgba(99, 102, 241, 0.35);
            box-shadow: 0 10px 28px -18px rgba(99, 102, 241, 0.35);
            transform: translateX(3px);
        }

        .service-detail-steps li::before {
            content: counter(svc-step, decimal-leading-zero);
            position: absolute;
            left: 0.85rem;
            top: 50%;
            transform: translateY(-50%);
            width: 2rem;
            height: 2rem;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.72rem;
            font-weight: 800;
            letter-spacing: 0.02em;
            color: #fff;
            border-radius: 10px;
            background: linear-gradient(145deg, #6366f1 0%, var(--brand) 100%);
            box-shadow: 0 4px 14px -4px rgba(99, 102, 241, 0.55);
        }

.service-detail-synergy {
    position: relative;
    border-radius: 20px;
    padding: 1.45rem 1.55rem;
    margin: 1.75rem 0 2rem;
    background: linear-gradient(135deg, rgba(255, 36, 66, 0.07) 0%, rgba(99, 102, 241, 0.06) 50%, rgba(248, 250, 252, 0.95) 100%);
    border: 1px solid rgba(255, 36, 66, 0.2);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.75) inset, 0 20px 44px -28px rgba(255, 36, 66, 0.25);
    overflow: hidden;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

    .service-detail-synergy::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 3px;
        background: linear-gradient(90deg, var(--brand), #6366f1, var(--brand-soft));
        opacity: 0.85;
        pointer-events: none;
    }

    .service-detail-synergy:hover {
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset, 0 24px 50px -26px rgba(255, 36, 66, 0.3);
        transform: translateY(-2px);
    }

    .service-detail-synergy strong {
        display: flex;
        align-items: center;
        gap: 0.55rem;
        color: #0f2c40;
        font-size: 1.06rem;
        margin-bottom: 0.65rem;
    }

        .service-detail-synergy strong i {
            color: var(--brand);
            font-size: 1.1rem;
        }

    .service-detail-synergy p {
        margin: 0;
        color: #475569;
        line-height: 1.78;
        font-size: 0.99rem;
    }

.service-detail-page-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.25rem;
    justify-content: center;
    align-items: center;
    padding: 2rem 1.5rem 0.75rem;
    margin-top: 0.25rem;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.65) 0%, rgba(241, 245, 249, 0.5) 100%);
    border: 1px dashed rgba(148, 163, 184, 0.45);
}

@media (prefers-reduced-motion: reduce) {
    .service-detail-section,
    .service-detail-section:hover,
    .service-detail-list li,
    .service-detail-list li:hover,
    .service-detail-steps li,
    .service-detail-steps li:hover,
    .service-detail-synergy,
    .service-detail-synergy:hover {
        transition: none;
        transform: none;
    }
}

/* —— 服务详情：面包屑（默认在英雄区下方 + 斜杠路径） —— */
.svc-breadcrumb-bar {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    padding: 0.55rem 0;
}

.svc-breadcrumb-bar--below-hero {
    border-top: 3px solid transparent;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, #f8fafc 100%);
}

.svc-breadcrumb-bar--theme-xhs-ops {
    border-top-color: rgba(249, 115, 22, 0.65);
    background: linear-gradient(180deg, rgba(255, 251, 247, 0.98) 0%, #f8fafc 100%);
}

.svc-breadcrumb-bar--theme-xhs-promo {
    border-top-color: rgba(255, 36, 66, 0.55);
    background: linear-gradient(180deg, rgba(255, 247, 248, 0.98) 0%, #f8fafc 100%);
}

.svc-breadcrumb-bar--theme-geo {
    border-top-color: rgba(99, 102, 241, 0.55);
    background: linear-gradient(180deg, rgba(247, 248, 255, 0.98) 0%, #f8fafc 100%);
}

.svc-breadcrumb-bar--theme-aicg {
    border-top-color: rgba(14, 165, 233, 0.55);
    background: linear-gradient(180deg, rgba(240, 249, 255, 0.98) 0%, #f8fafc 100%);
}

.svc-breadcrumb-bar--theme-baidu {
    border-top-color: rgba(220, 38, 38, 0.55);
    background: linear-gradient(180deg, rgba(255, 247, 247, 0.98) 0%, #f8fafc 100%);
}

.svc-breadcrumb-bar--theme-douyin {
    border-top-color: rgba(168, 85, 247, 0.55);
    background: linear-gradient(180deg, rgba(253, 250, 255, 0.98) 0%, #f8fafc 100%);
}

.svc-crumb {
    margin: 0;
}

.svc-crumb__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.2rem 0.1rem;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.8125rem;
    line-height: 1.5;
}

.svc-crumb__item {
    display: inline-flex;
    align-items: center;
}

.svc-crumb__sep {
    color: #cbd5e1;
    user-select: none;
    margin: 0 0.28rem;
    font-weight: 400;
}

.svc-crumb__link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: #64748b;
    font-weight: 500;
    text-decoration: none;
    border-radius: 6px;
    padding: 0.2rem 0.4rem;
    margin: -0.2rem -0.4rem;
    transition: color 0.2s ease, background-color 0.2s ease;
}

    .svc-crumb__link:hover {
        color: var(--brand);
        background: rgba(255, 36, 66, 0.07);
    }

    .svc-crumb__link .fa-home {
        font-size: 0.72rem;
        opacity: 0.88;
    }

.svc-crumb__here {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(226, 232, 240, 0.95);
    color: #0f172a;
    font-weight: 600;
    line-height: 1.45;
    box-shadow: 0 2px 10px -6px rgba(15, 23, 42, 0.12);
}

.service-detail-audience {
    margin: 0 auto 1.15rem;
    padding: 0.55rem 1rem;
    border-radius: 12px;
    font-size: 0.95rem;
    line-height: 1.65;
    color: #475569;
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(8px);
    border-left: 3px solid rgba(255, 36, 66, 0.35);
    box-shadow: 0 4px 24px -18px rgba(15, 23, 42, 0.18);
}

/* 英雄区：分业务彩色背景图（分层渐变 + 柔光色块，无外链图片） */
.service-pro-hero.service-detail-hero.sd-hero-art {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border-bottom: none;
}

.sd-hero-art__layers {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.sd-hero-art__mesh {
    position: absolute;
    inset: 0;
    opacity: 0.35;
    background-image: radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.5) 0%, transparent 45%), radial-gradient(circle at 80% 70%, rgba(255, 255, 255, 0.35) 0%, transparent 40%);
}

.sd-hero-art__shape {
    position: absolute;
    border-radius: 50%;
    filter: blur(52px);
    opacity: 0.72;
    mix-blend-mode: multiply;
}

.sd-hero-art__content {
    position: relative;
    z-index: 1;
}

.service-pro-hero.service-detail-hero.sd-hero-art::after {
    z-index: 2;
    opacity: 0.65;
}

/* 小红书代运营：暖橙日历感 */
.sd-hero-art--xhs-ops {
    background: linear-gradient(165deg, #fff7ed 0%, #ffedd5 35%, #fffbeb 72%, #fefce8 100%);
}

    .sd-hero-art--xhs-ops .sd-hero-art__shape--1 {
        width: min(85vw, 520px);
        height: min(85vw, 520px);
        top: -18%;
        right: -12%;
        background: radial-gradient(circle, rgba(251, 146, 60, 0.95) 0%, rgba(234, 88, 12, 0.35) 52%, transparent 72%);
    }

    .sd-hero-art--xhs-ops .sd-hero-art__shape--2 {
        width: min(70vw, 420px);
        height: min(70vw, 420px);
        bottom: -22%;
        left: -15%;
        background: radial-gradient(circle, rgba(253, 186, 116, 0.9) 0%, rgba(245, 158, 11, 0.25) 55%, transparent 70%);
        filter: blur(48px);
    }

    .sd-hero-art--xhs-ops .sd-hero-art__shape--3 {
        width: 240px;
        height: 240px;
        top: 38%;
        left: 8%;
        background: radial-gradient(circle, rgba(255, 255, 255, 0.85) 0%, transparent 65%);
        mix-blend-mode: soft-light;
        opacity: 0.9;
        filter: blur(20px);
    }

    .sd-hero-art--xhs-ops .sd-hero-art__mesh {
        background-image: radial-gradient(circle at 0% 100%, rgba(251, 146, 60, 0.12) 0%, transparent 50%), repeating-linear-gradient( -12deg, transparent, transparent 14px, rgba(255, 255, 255, 0.06) 14px, rgba(255, 255, 255, 0.06) 15px );
        opacity: 0.5;
    }

.sd-theme-xhs-ops .service-detail-hero-kicker {
    color: #c2410c;
}

.sd-theme-xhs-ops .service-pro-hero::after {
    background: linear-gradient(90deg, transparent 5%, #f97316 42%, var(--brand) 58%, transparent 95%);
}

.sd-theme-xhs-ops .service-detail-audience {
    border-left-color: rgba(234, 88, 12, 0.45);
}

/* 小红书推广：玫红数据感 */
.sd-hero-art--xhs-promo {
    background: linear-gradient(155deg, #fff1f2 0%, #ffe4e6 38%, #fdf2f8 100%);
}

    .sd-hero-art--xhs-promo .sd-hero-art__shape--1 {
        width: min(90vw, 560px);
        height: min(90vw, 560px);
        top: -25%;
        left: 50%;
        transform: translateX(-50%);
        background: radial-gradient(circle, rgba(251, 113, 133, 0.85) 0%, rgba(255, 36, 66, 0.35) 50%, transparent 68%);
    }

    .sd-hero-art--xhs-promo .sd-hero-art__shape--2 {
        width: min(65vw, 380px);
        height: min(65vw, 380px);
        bottom: -20%;
        right: -8%;
        background: radial-gradient(circle, rgba(244, 63, 94, 0.55) 0%, transparent 65%);
    }

    .sd-hero-art--xhs-promo .sd-hero-art__shape--3 {
        width: 200px;
        height: 200px;
        top: 20%;
        left: 5%;
        background: radial-gradient(circle, rgba(255, 255, 255, 0.75) 0%, transparent 60%);
        mix-blend-mode: overlay;
        filter: blur(16px);
        opacity: 0.85;
    }

    .sd-hero-art--xhs-promo .sd-hero-art__mesh {
        background-image: repeating-linear-gradient( 90deg, transparent, transparent 48px, rgba(255, 36, 66, 0.04) 48px, rgba(255, 36, 66, 0.04) 49px );
        opacity: 0.55;
    }

.sd-theme-xhs-promo .service-detail-hero-kicker {
    color: #be123c;
}

.sd-theme-xhs-promo .service-pro-hero::after {
    background: linear-gradient(90deg, transparent 4%, var(--brand) 48%, #fb7185 70%, transparent 96%);
}

.sd-theme-xhs-promo .service-detail-audience {
    border-left-color: rgba(225, 29, 72, 0.45);
}

/* GEO：靛紫对话场 */
.sd-hero-art--geo {
    background: linear-gradient(160deg, #eef2ff 0%, #e0e7ff 40%, #f5f3ff 88%);
}

    .sd-hero-art--geo .sd-hero-art__shape--1 {
        width: min(75vw, 480px);
        height: min(75vw, 480px);
        top: -15%;
        left: -18%;
        background: radial-gradient(circle, rgba(129, 140, 248, 0.85) 0%, rgba(99, 102, 241, 0.3) 55%, transparent 72%);
    }

    .sd-hero-art--geo .sd-hero-art__shape--2 {
        width: min(70vw, 440px);
        height: min(70vw, 440px);
        bottom: -18%;
        right: -12%;
        background: radial-gradient(circle, rgba(167, 139, 250, 0.75) 0%, rgba(139, 92, 246, 0.25) 58%, transparent 72%);
    }

    .sd-hero-art--geo .sd-hero-art__shape--3 {
        width: 280px;
        height: 280px;
        top: 35%;
        right: 12%;
        background: radial-gradient(circle, rgba(255, 255, 255, 0.65) 0%, transparent 62%);
        mix-blend-mode: soft-light;
        filter: blur(24px);
    }

    .sd-hero-art--geo .sd-hero-art__mesh {
        background-image: radial-gradient(ellipse 80% 50% at 50% 0%, rgba(99, 102, 241, 0.08) 0%, transparent 55%), radial-gradient(ellipse 60% 40% at 100% 100%, rgba(139, 92, 246, 0.1) 0%, transparent 50%);
        opacity: 0.65;
    }

.sd-theme-geo .service-detail-hero-kicker {
    color: #4f46e5;
}

.sd-theme-geo .service-pro-hero::after {
    background: linear-gradient(90deg, transparent 6%, #6366f1 45%, #8b5cf6 62%, transparent 92%);
}

.sd-theme-geo .service-detail-audience {
    border-left-color: rgba(99, 102, 241, 0.45);
}

/* 爱采购：青蓝工业感 */
.sd-hero-art--aicg {
    background: linear-gradient(175deg, #ecfeff 0%, #e0f2fe 45%, #f0f9ff 100%);
}

    .sd-hero-art--aicg .sd-hero-art__shape--1 {
        width: 100%;
        height: 45%;
        bottom: 0;
        left: 0;
        border-radius: 0;
        background: linear-gradient(12deg, rgba(14, 165, 233, 0.22) 0%, rgba(56, 189, 248, 0.08) 45%, transparent 85%);
        filter: blur(36px);
        mix-blend-mode: multiply;
    }

    .sd-hero-art--aicg .sd-hero-art__shape--2 {
        width: min(72vw, 440px);
        height: min(72vw, 440px);
        top: -20%;
        right: -10%;
        background: radial-gradient(circle, rgba(56, 189, 248, 0.65) 0%, rgba(3, 105, 161, 0.2) 55%, transparent 70%);
    }

    .sd-hero-art--aicg .sd-hero-art__shape--3 {
        width: 220px;
        height: 220px;
        top: 25%;
        left: 10%;
        background: radial-gradient(circle, rgba(255, 255, 255, 0.8) 0%, transparent 65%);
        filter: blur(18px);
        mix-blend-mode: overlay;
    }

    .sd-hero-art--aicg .sd-hero-art__mesh {
        background-image: linear-gradient(rgba(14, 165, 233, 0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(14, 165, 233, 0.04) 1px, transparent 1px);
        background-size: 28px 28px;
        opacity: 0.45;
    }

.sd-theme-aicg .service-detail-hero-kicker {
    color: #0369a1;
}

.sd-theme-aicg .service-pro-hero::after {
    background: linear-gradient(90deg, transparent 8%, #0ea5e9 48%, #0284c7 58%, transparent 90%);
}

.sd-theme-aicg .service-detail-audience {
    border-left-color: rgba(14, 165, 233, 0.5);
}

/* 百度推广：红金意图 */
.sd-hero-art--baidu {
    background: linear-gradient(168deg, #fef2f2 0%, #ffe4e6 32%, #f8fafc 100%);
}

    .sd-hero-art--baidu .sd-hero-art__shape--1 {
        width: min(88vw, 540px);
        height: min(88vw, 540px);
        top: -30%;
        right: -20%;
        background: radial-gradient(circle at 30% 30%, rgba(248, 113, 113, 0.75) 0%, rgba(220, 38, 38, 0.35) 48%, transparent 68%);
    }

    .sd-hero-art--baidu .sd-hero-art__shape--2 {
        width: min(55vw, 320px);
        height: min(55vw, 320px);
        bottom: -12%;
        left: -5%;
        background: radial-gradient(circle, rgba(252, 211, 77, 0.45) 0%, transparent 62%);
        filter: blur(40px);
        mix-blend-mode: multiply;
    }

    .sd-hero-art--baidu .sd-hero-art__shape--3 {
        width: min(55vw, 340px);
        height: min(40vw, 220px);
        top: 8%;
        left: 3%;
        border-radius: 45% 55% 48% 52%;
        background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.35) 0%, transparent 68%);
        filter: blur(26px);
        mix-blend-mode: soft-light;
        opacity: 0.95;
    }

    .sd-hero-art--baidu .sd-hero-art__mesh {
        background-image: repeating-linear-gradient( -35deg, transparent, transparent 32px, rgba(220, 38, 38, 0.03) 32px, rgba(220, 38, 38, 0.03) 33px );
        opacity: 0.55;
    }

.sd-theme-baidu .service-detail-hero-kicker {
    color: #b91c1c;
}

.sd-theme-baidu .service-pro-hero::after {
    background: linear-gradient(90deg, transparent 3%, #dc2626 40%, var(--brand) 62%, transparent 97%);
}

.sd-theme-baidu .service-detail-audience {
    border-left-color: rgba(220, 38, 38, 0.45);
}

/* 抖音 / 视频号：紫粉动感 */
.sd-hero-art--douyin {
    background: linear-gradient(145deg, #faf5ff 0%, #fce7f3 42%, #fdf4ff 100%);
}

    .sd-hero-art--douyin .sd-hero-art__shape--1 {
        width: min(85vw, 500px);
        height: min(85vw, 500px);
        top: -22%;
        left: -15%;
        background: radial-gradient(circle, rgba(192, 132, 252, 0.75) 0%, rgba(168, 85, 247, 0.28) 52%, transparent 70%);
    }

    .sd-hero-art--douyin .sd-hero-art__shape--2 {
        width: min(78vw, 460px);
        height: min(78vw, 460px);
        bottom: -25%;
        right: -18%;
        background: radial-gradient(circle, rgba(244, 114, 182, 0.65) 0%, rgba(236, 72, 153, 0.22) 55%, transparent 70%);
    }

    .sd-hero-art--douyin .sd-hero-art__shape--3 {
        width: 100%;
        height: 40%;
        top: 20%;
        left: 0;
        border-radius: 0;
        background: linear-gradient( 105deg, transparent 0%, rgba(255, 255, 255, 0.15) 25%, transparent 50%, rgba(236, 72, 153, 0.08) 75%, transparent 100% );
        filter: blur(30px);
        mix-blend-mode: overlay;
    }

    .sd-hero-art--douyin .sd-hero-art__mesh {
        background-image: repeating-linear-gradient( -8deg, transparent, transparent 40px, rgba(168, 85, 247, 0.035) 40px, rgba(168, 85, 247, 0.035) 41px );
        opacity: 0.6;
    }

.sd-theme-douyin .service-detail-hero-kicker {
    color: #7e22ce;
}

.sd-theme-douyin .service-pro-hero::after {
    background: linear-gradient(90deg, transparent 5%, #a855f7 44%, #ec4899 58%, transparent 94%);
}

.sd-theme-douyin .service-detail-audience {
    border-left-color: rgba(168, 85, 247, 0.45);
}

@media (prefers-reduced-motion: reduce) {
    .sd-hero-art__shape {
        filter: blur(28px);
        opacity: 0.38;
    }

    .sd-hero-art__mesh {
        opacity: 0.22;
    }
}

/* —— 服务详情：五步营销流 —— */
.svc-cover-wrap {
    padding-top: clamp(1rem, 3vw, 1.75rem);
    padding-bottom: 0.25rem;
}

.svc-cover {
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 24px 56px -32px rgba(15, 23, 42, 0.25);
}

    .svc-cover img {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
        object-fit: cover;
    }

.svc-flow {
    padding: clamp(2rem, 5vw, 3rem) 0;
}

.svc-flow--pain {
    background: #fdfdfd;
}

.svc-flow--solution {
    background: linear-gradient(180deg, #f8fafc 0%, #fdfdfd 100%);
}

.svc-flow--advantage {
    background: #fdfdfd;
}

.svc-flow--cases {
    background: linear-gradient(180deg, #f1f5f9 0%, #f8fafc 50%, #fdfdfd 100%);
}

.svc-flow--faq {
    background: #fdfdfd;
}

.svc-flow__header {
    margin: 0 auto 1.65rem;
    text-align: left;
}

.svc-flow__tag {
    display: inline-block;
    margin-bottom: 0.65rem;
    padding: 0.3rem 0.8rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    color: #fff;
    background: linear-gradient(135deg, #334155 0%, #0f172a 100%);
    box-shadow: 0 6px 20px -8px rgba(15, 23, 42, 0.45);
}

.sd-theme-xhs-ops .svc-flow__tag {
    background: linear-gradient(135deg, #ea580c 0%, #f97316 100%);
}

.sd-theme-xhs-promo .svc-flow__tag {
    background: linear-gradient(135deg, var(--brand) 0%, #fb7185 100%);
}

.sd-theme-geo .svc-flow__tag {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
}

.sd-theme-aicg .svc-flow__tag {
    background: linear-gradient(135deg, #0284c7 0%, #0ea5e9 100%);
}

.sd-theme-baidu .svc-flow__tag {
    background: linear-gradient(135deg, #dc2626 0%, var(--brand) 100%);
}

.sd-theme-douyin .svc-flow__tag {
    background: linear-gradient(135deg, #a855f7 0%, #ec4899 100%);
}

.svc-flow__title {
    margin: 0 0 0.65rem;
    font-size: clamp(1.32rem, 3.2vw, 1.72rem);
    font-weight: 800;
    letter-spacing: -0.025em;
    color: #0f172a;
    line-height: 1.3;
}

.svc-flow__lede {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.75;
    color: #64748b;
}

.svc-flow__note {
    margin: 1.5rem auto 0;
    text-align: center;
    font-size: 0.88rem;
    line-height: 1.65;
    color: #64748b;
    font-style: italic;
}

.svc-pain-cards {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.9rem;
}

@media (min-width: 768px) {
    .svc-pain-cards {
        grid-template-columns: 1fr 1fr;
    }
}

.svc-pain-card {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
    padding: 1.1rem 1.2rem;
    border-radius: 16px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.99) 100%);
    box-shadow: 0 14px 40px -26px rgba(15, 23, 42, 0.22);
}

.svc-pain-card__idx {
    flex-shrink: 0;
    width: 2.1rem;
    height: 2.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 0.72rem;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(145deg, var(--brand) 0%, #fb7185 100%);
}

.svc-pain-card__text {
    font-size: 0.98rem;
    line-height: 1.72;
    color: #334155;
}

.svc-bullet-list {
    list-style: none;
    margin: 0 0 1.5rem;
    padding: 0;
}

    .svc-bullet-list li {
        position: relative;
        padding: 0.72rem 1rem 0.72rem 2.35rem;
        margin-bottom: 0.5rem;
        border-radius: 12px;
        font-size: 0.98rem;
        line-height: 1.72;
        color: #334155;
        background: rgba(255, 255, 255, 0.72);
        border: 1px solid rgba(226, 232, 240, 0.9);
    }

        .svc-bullet-list li::before {
            content: '';
            position: absolute;
            left: 0.85rem;
            top: 1.05rem;
            width: 0.45rem;
            height: 0.45rem;
            border-radius: 50%;
            background: radial-gradient(circle at 30% 30%, #ff5c7a 0%, var(--brand) 100%);
            box-shadow: 0 0 0 3px rgba(255, 36, 66, 0.1);
        }

.svc-boundary {
    margin: 0 0 1.75rem;
    padding: 1.1rem 1.25rem;
    border-radius: 14px;
    background: rgba(241, 245, 249, 0.95);
    border: 1px dashed rgba(148, 163, 184, 0.55);
}

.svc-boundary__title {
    display: block;
    margin-bottom: 0.55rem;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #64748b;
}

.svc-boundary__list {
    margin: 0;
    padding-left: 1.15rem;
    font-size: 0.88rem;
    line-height: 1.65;
    color: #64748b;
}

    .svc-boundary__list li {
        margin-bottom: 0.35rem;
    }

.svc-subtitle {
    margin: 0 0 0.85rem;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
    text-align: left;
}

.svc-process-list {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: svcproc;
}

    .svc-process-list li {
        counter-increment: svcproc;
        position: relative;
        margin-bottom: 0.6rem;
        padding: 0.85rem 1rem 0.85rem 3.2rem;
        border-radius: 14px;
        border: 1px solid rgba(226, 232, 240, 0.95);
        background: linear-gradient(100deg, rgba(99, 102, 241, 0.06) 0%, rgba(255, 255, 255, 0.95) 55%);
        font-size: 0.96rem;
        line-height: 1.7;
        color: #334155;
    }

        .svc-process-list li::before {
            content: counter(svcproc, decimal-leading-zero);
            position: absolute;
            left: 0.75rem;
            top: 50%;
            transform: translateY(-50%);
            width: 2rem;
            height: 2rem;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.7rem;
            font-weight: 800;
            color: #fff;
            border-radius: 10px;
            background: linear-gradient(145deg, #6366f1 0%, var(--brand) 100%);
            box-shadow: 0 4px 12px -4px rgba(99, 102, 241, 0.45);
        }

.svc-adv-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.65rem;
}

@media (min-width: 768px) {
    .svc-adv-list {
        grid-template-columns: 1fr 1fr;
    }
}

.svc-adv-list li {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 1rem 1.1rem;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.9);
    font-size: 0.95rem;
    line-height: 1.68;
    color: #334155;
    box-shadow: 0 10px 30px -22px rgba(15, 23, 42, 0.15);
}

.svc-adv-list__mark {
    flex-shrink: 0;
    width: 1.65rem;
    height: 1.65rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 0.72rem;
    color: #fff;
    background: linear-gradient(145deg, #22c55e 0%, #16a34a 100%);
}

.svc-case-grid {
    display: grid;
    gap: 1.1rem;
}

@media (min-width: 768px) {
    .svc-case-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.svc-case-card {
    position: relative;
    padding: 1.35rem 1.4rem 1.25rem;
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.99) 100%);
    box-shadow: 0 18px 44px -28px rgba(15, 23, 42, 0.2);
}

.svc-case-card__tag {
    position: absolute;
    top: 1rem;
    right: 1rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--brand-deep);
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: rgba(255, 36, 66, 0.08);
    border: 1px solid rgba(255, 36, 66, 0.15);
}

.svc-case-card__title {
    margin: 0 0 0.55rem;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.35;
}

.svc-case-card--tagged .svc-case-card__title {
    padding-right: 5rem;
}

.svc-case-card__summary {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.72;
    color: #475569;
}

/* —— 成功案例：瀑布流 + 下拉加载（/cases） —— */
.cases-page {
    background: #fdfdfd;
}

.cases-body {
    padding-top: clamp(1.75rem, 4vw, 2.5rem);
    padding-bottom: clamp(2.75rem, 6vw, 4rem);
}

.cases-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    align-items: center;
    margin-bottom: 1.35rem;
}

.cases-filter__btn {
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.92);
    color: #475569;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

    .cases-filter__btn:hover {
        transform: translateY(-1px);
        border-color: rgba(255, 36, 66, 0.22);
    }

    .cases-filter__btn.is-active {
        color: #fff;
        border-color: transparent;
        background: linear-gradient(135deg, var(--brand) 0%, var(--brand-soft) 100%);
    }

.cases-masonry {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.1rem;
    transition: opacity 0.18s ease;
}

    .cases-masonry.is-switching {
        opacity: 0.35;
    }

@media (min-width: 768px) {
    .cases-masonry {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1100px) {
    .cases-masonry {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.cases-card {
    display: block;
    width: 100%;
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    overflow: hidden;
    background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.99) 100%);
    box-shadow: 0 18px 44px -30px rgba(15, 23, 42, 0.18);
}

.cases-card__media {
    position: relative;
    background: #0f172a;
}

    .cases-card__media img {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
        object-fit: cover;
    }

.cases-card__body {
    padding: 1.15rem 1.2rem 1.1rem;
}

.cases-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.6rem;
    align-items: center;
    margin-bottom: 0.65rem;
}

.cases-card__service {
    font-size: 0.75rem;
    font-weight: 800;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.04);
    border: 1px solid rgba(226, 232, 240, 0.95);
    color: #0f172a;
}

.cases-card__tag {
    font-size: 0.75rem;
    font-weight: 800;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    background: rgba(255, 36, 66, 0.08);
    border: 1px solid rgba(255, 36, 66, 0.15);
    color: var(--brand-deep);
}

.cases-card__title {
    margin: 0 0 0.55rem;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.35;
    color: #0f172a;
}

    .cases-card__title a {
        color: inherit;
        text-decoration: none;
    }

        .cases-card__title a:hover {
            color: var(--brand);
        }

.cases-card__readmore {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.65rem;
}

.cases-card__summary {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.72;
    color: #475569;
}

.cases-card__highlights {
    margin: 0.85rem 0 0;
    padding-left: 1.15rem;
    color: #475569;
    font-size: 0.88rem;
    line-height: 1.65;
}

    .cases-card__highlights li {
        margin-bottom: 0.3rem;
    }

.cases-load {
    padding-top: 0.25rem;
}

.cases-sentinel {
    height: 1px;
}

.cases-spinner {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.85rem 0;
    color: #64748b;
    font-size: 0.9rem;
}

.cases-spinner__dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.8);
    animation: casesDot 1s infinite ease-in-out;
}

    .cases-spinner__dot:nth-child(2) {
        animation-delay: 0.15s;
    }

    .cases-spinner__dot:nth-child(3) {
        animation-delay: 0.3s;
    }

.cases-spinner__text {
    margin-left: 0.35rem;
}

@keyframes casesDot {
    0%, 100% {
        transform: translateY(0);
        opacity: 0.55;
    }

    50% {
        transform: translateY(-3px);
        opacity: 1;
    }
}

.cases-end {
    margin: 0.75rem 0 0;
    color: #94a3b8;
    font-size: 0.88rem;
}

/* —— 新闻动态：列表与详情（/news） —— */
.news-page {
    background: #fdfdfd;
}

.news-body {
    padding-top: clamp(1.75rem, 4vw, 2.5rem);
    padding-bottom: clamp(2.75rem, 6vw, 4rem);
}

.news-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    align-items: center;
    margin-bottom: 1.35rem;
}

.news-filter__tag {
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.92);
    color: #475569;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

    .news-filter__tag:hover {
        transform: translateY(-1px);
        border-color: rgba(255, 36, 66, 0.22);
    }

    .news-filter__tag.is-active {
        color: #fff;
        border-color: transparent;
        background: linear-gradient(135deg, var(--brand) 0%, var(--brand-soft) 100%);
    }

.news-list {
    display: grid;
    gap: 1rem;
}

.news-item {
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.99) 100%);
    box-shadow: 0 18px 44px -30px rgba(15, 23, 42, 0.18);
    padding: 1.25rem 1.35rem;
}

.news-item__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.65rem;
    align-items: center;
    color: #94a3b8;
    font-size: 0.85rem;
    margin-bottom: 0.65rem;
}

.news-item__views i {
    margin-right: 0.35rem;
    color: #cbd5e1;
}

.news-item__tags {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.5rem;
}

.news-item__tag {
    text-decoration: none;
    color: #64748b;
    font-weight: 700;
}

    .news-item__tag:hover {
        color: var(--brand);
    }

.news-item__title {
    margin: 0 0 0.65rem;
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

    .news-item__title a {
        color: #0f172a;
        text-decoration: none;
    }

        .news-item__title a:hover {
            color: var(--brand);
        }

.news-item__excerpt {
    margin: 0 0 0.85rem;
    color: #475569;
    font-size: 1rem;
    line-height: 1.75;
}

.news-item__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    text-decoration: none;
    font-weight: 800;
    color: var(--brand-deep);
}

    .news-item__cta:hover {
        color: var(--brand);
    }

/* 新闻列表分页：与全站「药丸按钮/标签」风格保持一致 */
.news-pager {
    margin-top: 1.25rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    justify-content: center;
}

.news-pager__meta {
    color: #94a3b8;
    font-weight: 700;
    font-size: 0.92rem;
}

.news-pager__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.92);
    color: #475569;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.news-pager__btn:hover {
    transform: translateY(-1px);
    border-color: rgba(255, 36, 66, 0.22);
    color: var(--brand-deep);
    box-shadow: 0 12px 32px -26px rgba(15, 23, 42, 0.24);
}

.news-pager__btn.is-disabled,
.news-pager__btn[aria-disabled="true"] {
    opacity: 0.45;
    pointer-events: none;
    transform: none;
    box-shadow: none;
}

.news-pager__pages {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    justify-content: center;
}

.news-pager__page {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    height: 2.25rem;
    padding: 0 0.65rem;
    border-radius: 999px;
    font-weight: 900;
    text-decoration: none;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.92);
    color: #475569;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.news-pager__page:hover {
    transform: translateY(-1px);
    border-color: rgba(255, 36, 66, 0.22);
    color: var(--brand-deep);
}

.news-pager__page.is-active {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand-soft) 100%);
}

.news-pager__ellipsis {
    color: #94a3b8;
    font-weight: 900;
    padding: 0 0.2rem;
}

.news-detail-page {
    background: #fdfdfd;
}

.news-detail-body {
    padding-top: clamp(1.75rem, 4vw, 2.5rem);
    padding-bottom: clamp(2.75rem, 6vw, 4rem);
}

.news-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 0.85rem;
    align-items: center;
    color: #64748b;
    font-size: 0.92rem;
    margin-bottom: 0.85rem;
}

    .news-detail-meta i {
        color: #94a3b8;
        margin-right: 0.35rem;
    }

.news-detail-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-bottom: 1.4rem;
}

.news-detail-tag {
    text-decoration: none;
    font-weight: 800;
    font-size: 0.9rem;
    color: #475569;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(226, 232, 240, 0.95);
}

    .news-detail-tag:hover {
        color: var(--brand);
        border-color: rgba(255, 36, 66, 0.22);
    }

.news-article {
    border-radius: 20px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.92);
    padding: 1.4rem 1.45rem;
    box-shadow: 0 18px 44px -30px rgba(15, 23, 42, 0.14);
}

.news-article__excerpt {
    margin: 0 0 1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.7;
}

.news-article__section p {
    margin: 0 0 1rem;
    color: #334155;
    line-height: 1.9;
    font-size: 1.02rem;
}

.news-article__cover {
    margin: 1rem 0 1.25rem;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 22px 52px -34px rgba(15, 23, 42, 0.22);
}

    .news-article__cover img {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
        object-fit: cover;
    }

.news-article__body :where(h2, h3) {
    margin-top: 1.35rem;
    margin-bottom: 0.75rem;
    font-weight: 900;
    color: #0f172a;
}

.news-article__body p {
    margin: 0 0 1rem;
    color: #334155;
    line-height: 2;
    font-size: 1.025rem;
}

.news-article__body :where(ul, ol) {
    margin: 1rem 0 1rem;
    padding-left: 2rem;
    color: #334155;
    line-height: 2;
    font-size: 1.025rem;
}

.news-article__body :where(li) {
    margin: 0.35rem 0;
}

.news-article__body :where(blockquote) {
    margin: 1rem 0;
    padding: 0.75rem 1rem;
    border-left: 4px solid rgba(255, 36, 66, 0.35);
    background: rgba(248, 250, 252, 0.9);
    border-radius: 12px;
    color: #0f172a;
}

.news-article__body :where(pre) {
    margin: 1rem 0;
    padding: 0.9rem 1rem;
    border-radius: 14px;
    background: #0b1220;
    color: #e2e8f0;
    overflow: auto;
}

.news-article__body :where(code) {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.95em;
}

.news-article__body :where(pre code) {
    padding: 0;
    background: transparent;
    color: inherit;
}

.news-article__body a {
    color: var(--brand-deep);
    font-weight: 800;
}

    .news-article__body a:hover {
        color: var(--brand);
    }

.news-related {
    margin-top: 2rem;
}

.news-related__title {
    margin: 0 0 1rem;
    font-size: 1.25rem;
    font-weight: 900;
    color: #0f172a;
}

.news-related__grid {
    display: grid;
    gap: 1rem;
}

@media (min-width: 768px) {
    .news-related__grid {
        grid-template-columns: 1fr 1fr;
    }
}

.news-related__card {
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.99) 100%);
    box-shadow: 0 18px 44px -30px rgba(15, 23, 42, 0.16);
    padding: 1.1rem 1.25rem;
}

.news-related__card-title {
    margin: 0.35rem 0 0.55rem;
    font-size: 1.05rem;
    font-weight: 900;
    line-height: 1.35;
}

    .news-related__card-title a {
        color: #0f172a;
        text-decoration: none;
    }

        .news-related__card-title a:hover {
            color: var(--brand);
        }

.news-related__card-excerpt {
    margin: 0 0 0.75rem;
    color: #475569;
    line-height: 1.75;
    font-size: 0.95rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.news-related__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.6rem;
    font-size: 0.85rem;
}

    .news-related__tags a {
        text-decoration: none;
        color: #64748b;
        font-weight: 700;
    }

        .news-related__tags a:hover {
            color: var(--brand);
        }

.news-nextstep {
    margin-top: 2.25rem;
}

.news-nextstep__inner {
    border-radius: 20px;
    padding: 1.6rem 1.5rem;
    border: 1px dashed rgba(148, 163, 184, 0.45);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.65) 0%, rgba(241, 245, 249, 0.55) 100%);
}

.news-nextstep__title {
    margin: 0 0 0.45rem;
    font-size: 1.12rem;
    font-weight: 900;
    color: #0f172a;
}

.news-nextstep__lead {
    margin: 0 0 1.15rem;
    color: #475569;
    line-height: 1.75;
}

.news-nextstep__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    align-items: center;
}


.svc-faq {
    margin: 0 auto;
    display: grid;
    gap: 0.75rem;
}

.svc-faq-item {
    border-radius: 16px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 16px 44px -30px rgba(15, 23, 42, 0.18);
    overflow: hidden;
}

.svc-faq-q {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 1rem 1.15rem;
    cursor: pointer;
    user-select: none;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.92) 0%, rgba(255, 255, 255, 0.92) 100%);
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    transition: background-color 0.2s ease;
}

    .svc-faq-q::-webkit-details-marker {
        display: none;
    }

.svc-faq-item:hover .svc-faq-q {
    background: linear-gradient(180deg, rgba(241, 245, 249, 0.95) 0%, rgba(255, 255, 255, 0.94) 100%);
}

.svc-faq-item[open] .svc-faq-q {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 250, 252, 0.96) 100%);
}

.svc-faq-q__idx {
    flex: 0 0 auto;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(145deg, var(--brand) 0%, #fb7185 100%);
}

.svc-faq-q__text {
    flex: 1 1 auto;
    font-size: 0.98rem;
    line-height: 1.55;
    font-weight: 700;
    color: #0f172a;
}

.svc-faq-q__icon {
    flex: 0 0 auto;
    color: #94a3b8;
    transition: transform 0.2s ease;
}

.svc-faq-item[open] .svc-faq-q__icon {
    transform: rotate(180deg);
}

.svc-faq-a {
    padding: 1.05rem;
    color: #475569;
    font-size: 0.92rem;
    line-height: 1.75;
}

.svc-faq-a__list {
    margin: 0;
    padding-left: 1.15rem;
}

    .svc-faq-a__list li {
        margin-bottom: 0.35rem;
    }

.svc-faq-a__full {
    margin: 0.85rem 0 0;
    padding-top: 0.65rem;
    border-top: 1px solid rgba(148, 163, 184, 0.35);
}

/* FAQ 指示色：随业务主题变化 */
.svc-detail-flow--xhs-ops .svc-faq-q__idx {
    background: linear-gradient(145deg, #ea580c 0%, #f97316 100%);
}

.svc-detail-flow--xhs-promo .svc-faq-q__idx {
    background: linear-gradient(145deg, #e11d48 0%, var(--brand) 100%);
}

.svc-detail-flow--geo .svc-faq-q__idx {
    background: linear-gradient(145deg, #4f46e5 0%, #8b5cf6 100%);
}

.svc-detail-flow--aicg .svc-faq-q__idx {
    background: linear-gradient(145deg, #0284c7 0%, #0ea5e9 100%);
}

.svc-detail-flow--baidu .svc-faq-q__idx {
    background: linear-gradient(145deg, #b91c1c 0%, #dc2626 100%);
}

.svc-detail-flow--douyin .svc-faq-q__idx {
    background: linear-gradient(145deg, #a855f7 0%, #ec4899 100%);
}

/* 同结构、不同业务界面气质（正文五步流） */
.svc-detail-flow--xhs-ops .svc-flow--pain .svc-flow__header,
.svc-detail-flow--xhs-ops .svc-flow--solution .svc-flow__header {
    text-align: left;
    margin-left: 0;
    margin-right: auto;
}

.svc-detail-flow--xhs-ops .svc-pain-card {
    border-radius: 4px 18px 18px 4px;
    border-left: 4px solid #fb923c;
}

.svc-detail-flow--xhs-ops .svc-pain-card__idx {
    border-radius: 50%;
    background: linear-gradient(145deg, #ea580c 0%, #f97316 100%);
}

.svc-detail-flow--xhs-ops .svc-subtitle {
    text-align: left;
}

.svc-detail-flow--xhs-ops .svc-process-list li {
    background: linear-gradient(100deg, rgba(255, 237, 213, 0.55) 0%, rgba(255, 255, 255, 0.96) 58%);
}

    .svc-detail-flow--xhs-ops .svc-process-list li::before {
        background: linear-gradient(145deg, #ea580c 0%, #f97316 100%);
        box-shadow: 0 4px 12px -4px rgba(234, 88, 12, 0.4);
    }

.svc-detail-flow--xhs-promo .svc-pain-card {
    border-radius: 14px;
    border-top: 3px solid var(--brand);
    border-left-color: rgba(255, 36, 66, 0.12);
}

.svc-detail-flow--xhs-promo .svc-pain-card__idx {
    border-radius: 8px;
    background: linear-gradient(145deg, #e11d48 0%, var(--brand) 100%);
}

.svc-detail-flow--xhs-promo .svc-bullet-list li {
    border-left: 4px solid rgba(255, 36, 66, 0.35);
}

.svc-detail-flow--xhs-promo .svc-process-list li {
    background: linear-gradient(100deg, rgba(255, 228, 230, 0.5) 0%, rgba(255, 255, 255, 0.96) 58%);
}

    .svc-detail-flow--xhs-promo .svc-process-list li::before {
        background: linear-gradient(145deg, #e11d48 0%, var(--brand) 100%);
        box-shadow: 0 4px 12px -4px rgba(255, 36, 66, 0.4);
    }

.svc-detail-flow--geo .svc-flow--pain,
.svc-detail-flow--geo .svc-flow--solution {
    background: linear-gradient(180deg, #fdfdff 0%, #f8fafc 100%);
}


.svc-detail-flow--geo .svc-pain-card {
    border-radius: 12px;
    border: 1px solid rgba(199, 210, 254, 0.85);
    background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(238, 242, 255, 0.55) 100%);
}

.svc-detail-flow--geo .svc-pain-card__idx {
    background: linear-gradient(145deg, #6366f1 0%, #8b5cf6 100%);
}

.svc-detail-flow--geo .svc-case-card {
    border-radius: 10px;
    border-top: 3px solid #6366f1;
}

.svc-detail-flow--geo .svc-process-list li::before {
    background: linear-gradient(145deg, #4f46e5 0%, #8b5cf6 100%);
    box-shadow: 0 4px 12px -4px rgba(99, 102, 241, 0.45);
}

.svc-detail-flow--aicg .svc-pain-card,
.svc-detail-flow--aicg .svc-adv-list li {
    border-radius: 10px;
}

.svc-detail-flow--aicg .svc-pain-card__idx {
    border-radius: 6px;
    background: linear-gradient(145deg, #0369a1 0%, #0ea5e9 100%);
}

.svc-detail-flow--aicg .svc-process-list li {
    border-radius: 8px;
    background: linear-gradient(100deg, rgba(224, 242, 254, 0.65) 0%, rgba(255, 255, 255, 0.96) 60%);
}

    .svc-detail-flow--aicg .svc-process-list li::before {
        border-radius: 6px;
        background: linear-gradient(145deg, #0284c7 0%, #0ea5e9 100%);
    }

.svc-detail-flow--aicg .svc-case-card {
    border: 1px solid rgba(125, 211, 252, 0.65);
    border-radius: 12px;
}

.svc-detail-flow--baidu .svc-pain-card {
    border-radius: 6px 18px 18px 6px;
    border-left: 5px solid #dc2626;
}

.svc-detail-flow--baidu .svc-pain-card__idx {
    border-radius: 4px;
    background: linear-gradient(145deg, #b91c1c 0%, #dc2626 100%);
}

.svc-detail-flow--baidu .svc-bullet-list li::before {
    border-radius: 2px;
    width: 0.42rem;
    height: 0.42rem;
    background: linear-gradient(145deg, #f87171 0%, #dc2626 100%);
}

.svc-detail-flow--baidu .svc-adv-list__mark {
    border-radius: 4px;
}

.svc-detail-flow--baidu .svc-case-card {
    border-left: 4px solid rgba(220, 38, 38, 0.45);
    border-radius: 12px;
}

.svc-detail-flow--baidu .svc-process-list li {
    background: linear-gradient(100deg, rgba(254, 226, 226, 0.55) 0%, rgba(255, 255, 255, 0.96) 58%);
}

    .svc-detail-flow--baidu .svc-process-list li::before {
        background: linear-gradient(145deg, #b91c1c 0%, #dc2626 100%);
        box-shadow: 0 4px 12px -4px rgba(220, 38, 38, 0.4);
    }

.svc-detail-flow--douyin .svc-pain-card {
    border-radius: 22px;
    border: 1px solid rgba(233, 213, 255, 0.85);
    box-shadow: 0 0 0 1px rgba(168, 85, 247, 0.06), 0 20px 48px -28px rgba(236, 72, 153, 0.22);
}

.svc-detail-flow--douyin .svc-pain-card__idx {
    border-radius: 12px;
    background: linear-gradient(145deg, #a855f7 0%, #ec4899 100%);
}

.svc-detail-flow--douyin .svc-case-card {
    border-radius: 22px;
    border: 2px solid transparent;
    background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, rgba(168, 85, 247, 0.45), rgba(236, 72, 153, 0.45)) border-box;
}

.svc-detail-flow--douyin .svc-adv-list__mark {
    border-radius: 10px;
    background: linear-gradient(145deg, #a855f7 0%, #c026d3 100%);
}

.svc-detail-flow--douyin .svc-process-list li {
    background: linear-gradient(100deg, rgba(250, 245, 255, 0.75) 0%, rgba(255, 255, 255, 0.96) 58%);
}

    .svc-detail-flow--douyin .svc-process-list li::before {
        background: linear-gradient(145deg, #a855f7 0%, #ec4899 100%);
        box-shadow: 0 4px 12px -4px rgba(168, 85, 247, 0.4);
    }

@media (prefers-reduced-motion: reduce) {
    .svc-crumb__link,
    .svc-pain-card,
    .svc-case-card {
        transition: none;
    }
}

/* 关于我们 */
.about-page-hero {
    padding: 4.5rem 0 4.75rem;
    background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
    position: relative;
    overflow: hidden;
}

    .about-page-hero::before {
        content: '';
        position: absolute;
        top: -120px;
        right: -120px;
        width: 320px;
        height: 320px;
        border-radius: 999px;
        background: radial-gradient(circle at 30% 30%, rgba(255, 36, 66, 0.12) 0%, transparent 65%);
        pointer-events: none;
    }

.about-page-hero-inner {
    position: relative;
    z-index: 1;
    text-align: center;
    /* 与 .container 同宽，不另设窄栏；导语行长与首页 .section-sub 一致 */
    max-width: none;
    margin: 0 auto;
}

    .about-page-hero-inner h1 {
        font-size: clamp(1.85rem, 4vw, 2.4rem);
        font-weight: 800;
        color: #0b2b3b;
        margin-bottom: 1.25rem;
        line-height: 1.35;
    }

    .about-page-hero-inner .about-page-lead {
        font-size: 1.12rem;
        color: #475569;
        line-height: 1.8;
        margin-left: auto;
        margin-right: auto;
    }

        .about-page-hero-inner .about-page-lead strong {
            color: var(--brand-deep);
            font-weight: 700;
        }

    .about-page-hero-inner .highlight {
        color: var(--brand);
        background: transparent;
        padding: 0 0.15rem;
        box-shadow: 0 3px 0 0 rgba(255, 36, 66, 0.35);
    }

.about-prose {
    /* 与首页各 section 内正文一致：占满 .container 内容宽，不单列收窄 */
    max-width: none;
    margin: 0;
    font-size: 1.05rem;
    color: #334155;
    line-height: 1.85;
}

    .about-prose p + p {
        margin-top: 1.25rem;
    }

.about-values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.5rem;
}


.about-value-card {
    background: white;
    border-radius: 28px;
    padding: 1.75rem 2rem;
    border: 1px solid #edf2f7;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.02);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

    .about-value-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 20px 30px -12px rgba(0, 0, 0, 0.1);
        border-color: #cbd5e1;
    }

.about-value-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: var(--brand-ghost);
    color: var(--brand);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    margin-bottom: 1rem;
}

.about-value-card h3 {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 0.65rem;
    color: #0f2c40;
}

.about-value-card p {
    color: #4a5a72;
    font-size: 1rem;
    line-height: 1.65;
    margin: 0;
}

/* 关于我们 · 服务配盘：与首页产品区互补（逻辑/定义/内链，非重复大图卡片） */
.about-journey {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    margin: 0.5rem 0 2.5rem;
}

.about-journey-step {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 22px;
    padding: 1.45rem 1.35rem;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04);
}

.about-journey-num {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    align-items: center;
    justify-content: center;
    background: var(--brand-ghost);
    color: var(--brand-deep);
    border-radius: 50%;
    font-weight: 800;
    font-size: 0.875rem;
    margin-bottom: 0.75rem;
}

.about-journey-step h3 {
    font-size: 1.08rem;
    font-weight: 700;
    color: #0f2c40;
    margin-bottom: 0.65rem;
    line-height: 1.35;
}

.about-journey-step p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.72;
    color: #475569;
}

.about-journey-step a {
    color: var(--brand-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

    .about-journey-step a:hover {
        color: var(--brand);
    }

/* 关于我们 · 能力清单：卡片网格（替代长定义列表，提升扫读） */
.about-capabilities-block {
    margin-bottom: 2rem;
}

.about-geo-kicker {
    margin: 0 0 0.35rem;
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--brand);
}

.about-capabilities-block > h3 {
    font-size: 1.28rem;
    font-weight: 700;
    color: #0f2c40;
    margin-bottom: 0.65rem;
    line-height: 1.4;
}

.about-geo-lead {
    font-size: 0.98rem;
    color: #64748b;
    margin: 0 0 1.75rem;
    line-height: 1.7;
}

.about-capability-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.35rem;
}

    .about-capability-grid > li {
        margin: 0;
        padding: 0;
        min-width: 0;
    }

.about-cap-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e8edf3;
    border-radius: 22px;
    padding: 1.45rem 1.35rem 1.35rem;
    box-shadow: 0 6px 24px rgba(15, 23, 42, 0.055);
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

    .about-cap-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 18px 40px -14px rgba(15, 23, 42, 0.14);
        border-color: #cbd5e1;
    }

.about-cap-card-head {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin-bottom: 0.95rem;
}

.about-cap-card-icon {
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 14px;
    background: var(--brand-ghost);
    color: var(--brand);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}

.about-cap-card-title {
    margin: 0;
    padding-top: 0.2rem;
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f2c40;
    line-height: 1.35;
}

.about-cap-card-desc {
    margin: 0 0 0.85rem;
    font-size: 0.93rem;
    line-height: 1.68;
    color: #475569;
    flex: 1;
}

.about-cap-card-need {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.55;
    color: #64748b;
    padding: 0.65rem 0.75rem;
    background: #f8fafc;
    border-radius: 12px;
    border: 1px solid #eef2f7;
}

.about-cap-card-need-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: var(--brand-deep);
    margin-bottom: 0.35rem;
}

.about-cap-card-more {
    margin-top: 1.1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--brand);
    text-decoration: none;
}

    .about-cap-card-more:hover {
        color: var(--brand-deep);
    }

    .about-cap-card-more:focus-visible {
        outline: 2px solid var(--brand);
        outline-offset: 3px;
        border-radius: 4px;
    }

@media (max-width: 1100px) {
    .about-capability-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .about-capability-grid {
        grid-template-columns: 1fr;
    }
}

.about-delegate-home {
    text-align: center;
    margin: 0 auto 1.75rem;
    font-size: 0.98rem;
    color: #64748b;
    line-height: 1.75;
}

    .about-delegate-home a {
        color: var(--brand-deep);
        font-weight: 600;
        text-decoration: underline;
        text-underline-offset: 3px;
    }

.about-services-footer-cta {
    text-align: center;
    margin-top: 0.25rem;
}

@media (max-width: 1100px) {
    .about-journey {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .about-journey {
        grid-template-columns: 1fr;
    }
}

.about-cta-band {
    text-align: center;
    padding: 3rem 1.5rem;
    border-radius: 28px;
    background: linear-gradient(135deg, #fff5f7 0%, #eef2ff 100%);
    border: 1px solid rgba(255, 36, 66, 0.12);
    max-width: none;
    margin: 0 auto;
    box-sizing: border-box;
}

    .about-cta-band p {
        color: #475569;
        font-size: 1.08rem;
        line-height: 1.7;
        max-width: 700px;
        margin: 0 auto 1.5rem;
    }

.about-cta-band-heading {
    margin: 0 auto 0.85rem;
    max-width: 720px;
    font-size: clamp(1.22rem, 2.4vw, 1.48rem);
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.5;
}

.about-cta-band-note {
    margin: 1.35rem auto 0;
    padding-top: 1.1rem;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    max-width: 640px;
    font-size: 0.92rem;
    line-height: 1.65;
    color: #64748b;
    text-align: center;
}

    .about-cta-band-note i {
        margin-right: 0.35rem;
        color: var(--brand);
        opacity: 0.9;
    }

.about-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
    padding-bottom:1rem;
}

/* 站点实体条（NAP，与 basic:* 同源） */
.site-entity-bar {
    background: linear-gradient(180deg, #1e293b 0%, #1a2332 100%);
    color: #94a3b8;
    font-size: 0.875rem;
    padding: 0.85rem 0;
    border-top: 1px solid #334155;
}

.site-entity-bar-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem 1.75rem;
}

.site-entity-primary {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
}

.site-entity-name {
    font-weight: 600;
    color: #f1f5f9;
    font-size: 0.9375rem;
    letter-spacing: 0.01em;
    line-height: 1.35;
}

.site-entity-addr {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin: 0;
    line-height: 1.55;
    color: #94a3b8;
    font-size: 0.8125rem;
}

.site-entity-addr .fas {
    margin-top: 0.2rem;
    color: #64748b;
    flex-shrink: 0;
    font-size: 0.75rem;
}

.site-entity-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
    margin-left: auto;
}

.site-entity-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.95rem;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.1);
    color: #e2e8f0 !important;
    text-decoration: none !important;
    font-size: 0.8125rem;
    font-weight: 500;
    border: 1px solid rgba(100, 116, 139, 0.35);
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
}

.site-entity-chip .fas {
    font-size: 0.75rem;
    opacity: 0.9;
}

.site-entity-chip:hover {
    background: rgba(255, 143, 171, 0.14);
    border-color: rgba(255, 143, 171, 0.45);
    color: #ff8fab !important;
    transform: translateY(-1px);
}

.site-entity-chip:hover .fas {
    opacity: 1;
}

@media (max-width: 576px) {
    .site-entity-bar-inner {
        flex-direction: column;
        align-items: stretch;
    }

    .site-entity-actions {
        margin-left: 0;
        justify-content: flex-start;
    }

    .site-entity-chip {
        flex: 1 1 auto;
        justify-content: center;
        min-width: calc(50% - 0.25rem);
    }
}

.footer-phone a {
    color: #cbd5e6;
    text-decoration: none;
}

.footer-phone a:hover {
    color: #ff8fab;
}

/* 页脚 */
footer {
    background: #0f172a;
    color: #cbd5e6;
    padding: 3rem 0 1.5rem;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
    margin-bottom: 2rem;
}

.footer-col h4 {
    color: white;
    margin-bottom: 1rem;
}

/* 页脚第一列：品牌简介（避免标题下大段正文顶满、电话弱化） */
.footer-col--brand {
    max-width: 22rem;
}

.footer-brand-tagline {
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #94a3b8;
    margin: -0.35rem 0 0.75rem;
    line-height: 1.5;
}

.footer-brand-desc {
    font-size: 0.875rem;
    line-height: 1.75;
    color: #94a3b8;
    margin: 0 0 1.125rem;
}

.footer-brand-phone {
    margin: 0;
}

.footer-col .footer-brand-phone-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 999px;
    background: rgba(255, 143, 171, 0.14);
    color: #ff8fab !important;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 0.9rem;
    margin-bottom: 0 !important;
    transition: background 0.2s ease, color 0.2s ease, transform 0.15s ease;
}

.footer-col .footer-brand-phone-link:hover {
    background: rgba(255, 143, 171, 0.26);
    color: #ffc2d1 !important;
    transform: translateY(-1px);
}

@media (min-width: 1100px) {
    .footer-grid:has(.footer-col--brand) {
        grid-template-columns: minmax(240px, 1.15fr) repeat(3, 1fr);
        align-items: start;
    }
}

.footer-col a {
    display: block;
    margin-bottom: 0.5rem;
    color: #94a3b8;
    text-decoration: none;
    transition: color 0.2s ease;
}

    .footer-col a:hover {
        color: #ff8fab;
    }

.copyright {
    text-align: center;
    border-top: 1px solid #1e293b;
    padding-top: 2rem;
    font-size: 0.85rem;
}

/* 响应式 */
@media (max-width: 992px) {
    .hero {
        /* 移动端首屏更紧凑一些，避免过长 */
        min-height: clamp(520px, 72vh, 700px);
        padding: 3rem 0 2.5rem;
    }

    .hero-grid,
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .hero-content .hero-desc {
        max-width: 100%;
    }

    .navbar {
        flex-direction: row;
        justify-content: space-between;
    }

    .menu-toggle {
        display: block;
    }

    .nav-links {
        display: none;
        width: 100%;
        flex-direction: column;
        align-items: center;
        gap: 1rem;
        padding: 1rem 0;
    }

        .nav-links.show {
            display: flex;
        }

    .section-title {
        font-size: 1.8rem;
    }

    .faq-wrapper {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .faq-tabs {
        flex-direction: column;
        min-height: 0;
        overflow: visible;
    }

    .faq-tabs-nav {
        flex: none;
        max-width: none;
        width: 100%;
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x proximity;
        border-bottom: 0.0625rem solid #e8e8e8;
        gap: 0;
    }

        .faq-tabs-nav li {
            flex: 0 0 auto;
            scroll-snap-align: start;
        }

        .faq-tabs-nav button {
            flex: 0 0 auto;
            max-width: min(16.25rem, 85vw);
            width: auto;
            border-right: none !important;
            border-bottom: 0.1875rem solid transparent;
            margin-right: 0 !important;
            margin-bottom: -0.0625rem;
            min-height: auto;
            min-width: 0;
            padding: 0.75rem 0.875rem;
            align-items: center;
            box-sizing: border-box;
        }

            .faq-tabs-nav button.is-active {
                border-right: none !important;
                border-right-color: transparent !important;
                border-bottom-color: var(--brand);
                margin-right: 0 !important;
                box-shadow: none;
            }

    .faq-tabs-main {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding: 1.5rem 1.25rem;
        box-sizing: border-box;
    }

    .home-faq-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .container {
        padding: 0 20px;
    }

    .hero {
        padding: 2rem 0;
    }

    .hero-content h1 {
        font-size: 2rem;
    }

    .btn {
        padding: 10px 20px;
    }

    .contact-grid {
        padding: 1.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .btn,
    .service-card,
    .news-card,
    .hero-features,
    .about-value-card,
    .about-cap-card {
        transition: none !important;
    }
}

/* —— 隐私政策 / 服务条款 / 法律类单页 —— */
.legal-page-wrap {
    padding: 3rem 0 4.5rem;
}

.legal-page {
    margin: 0 auto;
}

    .legal-page__header {
        margin-bottom: 1.75rem;
        padding-bottom: 1.25rem;
        border-bottom: 0.0625rem solid rgba(15, 23, 42, 0.08);
    }

    .legal-page__title {
        text-align: left;
        margin-bottom: 0.5rem;
    }

    .legal-page__meta {
        margin: 0;
        font-size: 0.9375rem;
    }

    .legal-page__notice {
        padding: 1rem 1.15rem;
        margin: 0 0 1.75rem;
        background: rgba(15, 23, 42, 0.03);
        border-radius: 0.5rem;
        border-left: 0.25rem solid var(--brand);
        line-height: 1.75;
        color: #334155;
    }

    .legal-page__h2 {
        margin: 2rem 0 0.75rem;
        font-size: 1.125rem;
        font-weight: 700;
        color: #0f172a;
        letter-spacing: 0.02em;
    }

    .legal-page p {
        margin: 0 0 1rem;
        line-height: 1.85;
        color: #334155;
        font-size: 1rem;
    }

    .legal-page__list {
        margin: 0 0 1.15rem;
        padding-left: 1.35rem;
        color: #334155;
        line-height: 1.85;
    }

        .legal-page__list li {
            margin-bottom: 0.5rem;
        }

    .legal-page__contact a {
        color: var(--brand-deep);
        font-weight: 600;
        text-decoration: none;
    }

        .legal-page__contact a:hover {
            text-decoration: underline;
        }

    .legal-page__footer-note {
        margin-top: 2.5rem;
        padding-top: 1.25rem;
        border-top: 0.0625rem solid rgba(15, 23, 42, 0.08);
        font-size: 0.875rem;
        line-height: 1.65;
    }

/* —— 在线咨询浮层（前台组件，预留接入 AI 客服） —— */
.consult-widget {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 9999;
}

.consult-widget__fab {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border: none;
    cursor: pointer;
    padding: 0.85rem 1.05rem;
    border-radius: 999px;
    background: linear-gradient(145deg, var(--brand), var(--brand-deep));
    color: #fff;
    font-weight: 700;
    box-shadow: 0 0.75rem 2rem rgba(255, 36, 66, 0.28);
}

.consult-widget__fab i {
    font-size: 0.95rem;
}

.consult-widget__panel {
    position: absolute;
    right: 0;
    bottom: calc(100% + 0.75rem);
    width: min(28.5rem, calc(100vw - 2.5rem));
    height: min(38rem, calc(100vh - 7rem));
    background: #fff;
    border: 0.0625rem solid rgba(15, 23, 42, 0.12);
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 1.5rem 3rem rgba(15, 23, 42, 0.18);
    display: flex;
    flex-direction: column;
}

/* 兜底：确保默认隐藏的面板不被样式覆盖 */
.consult-widget__panel[hidden] {
    display: none !important;
}

.consult-widget__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1rem;
    background: #0f172a;
    color: #e2e8f0;
}

.consult-widget__title {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.consult-widget__title strong {
    font-size: 0.95rem;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.consult-widget__subtitle {
    font-size: 0.8125rem;
    color: #94a3b8;
}

.consult-widget__close {
    border: none;
    background: transparent;
    color: #cbd5e1;
    cursor: pointer;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.consult-widget__close:hover {
    background: rgba(148, 163, 184, 0.12);
    color: #fff;
}

.consult-widget__body {
    padding: 1rem;
    overflow: auto;
    flex: 1;
}

.consult-widget__msg {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 0.75rem;
}

.consult-widget__meta {
    font-size: 0.75rem;
    line-height: 1.2;
    color: #64748b;
    margin: 0 0 0.35rem 0.2rem;
    letter-spacing: 0.02em;
}

.consult-widget__bubble {
    padding: 0.8rem 0.9rem;
    border-radius: 0.85rem;
    font-size: 0.9375rem;
    line-height: 1.65;
    color: #0f172a;
    background: #f1f5f9;
    max-width: 100%;
    white-space: pre-wrap;
    word-break: break-word;
}

.consult-widget__bubble a {
    color: var(--brand-deep);
    font-weight: 700;
    text-decoration: underline;
}

.consult-widget__bubble a:hover {
    color: var(--brand);
}

.consult-widget__msg--user {
    align-items: flex-end;
}

.consult-widget__msg--fade {
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 260ms ease, transform 260ms ease;
}

.consult-widget__msg--fade.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.consult-widget__bubble--user {
    background: rgba(255, 36, 66, 0.10);
    border: 1px solid rgba(255, 36, 66, 0.18);
}

.consult-widget__bubble--thinking {
    background: #eef2ff;
    border: 1px solid rgba(99, 102, 241, 0.18);
}

.consult-widget__dots::after {
    content: "";
    display: inline-block;
    width: 1.2rem;
    text-align: left;
    margin-left: 0.25rem;
    animation: consultDots 1.2s steps(4, end) infinite;
}

@keyframes consultDots {
    0% { content: ""; }
    25% { content: "."; }
    50% { content: ".."; }
    75% { content: "..."; }
    100% { content: ""; }
}

.consult-widget__cta {
    display: grid;
    gap: 0.5rem;
    margin-top: 0.85rem;
}

.consult-widget__cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 0.75rem;
    border-radius: 0.75rem;
    border: 0.0625rem solid rgba(15, 23, 42, 0.1);
    text-decoration: none;
    color: #0f172a;
    background: #fff;
    font-weight: 600;
}

.consult-widget__cta-btn:hover {
    border-color: rgba(255, 36, 66, 0.3);
    box-shadow: 0 0.75rem 1.75rem rgba(255, 36, 66, 0.10);
    color: var(--brand-deep);
}

.consult-widget__composer {
    padding: 0.85rem 0.9rem;
    border-top: 0.0625rem solid rgba(15, 23, 42, 0.08);
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.consult-widget__contact {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 0.75rem;
    padding: 0.62rem 0.75rem;
    font-family: inherit;
    font-size: 0.95rem;
    outline: none;
}

.consult-widget__contact[hidden] {
    display: none !important;
}

.consult-widget__contact:focus {
    border-color: rgba(255, 36, 66, 0.55);
    box-shadow: 0 0 0 4px rgba(255, 36, 66, 0.12);
}

.consult-widget__input {
    resize: none;
    border: 1px solid #cbd5e1;
    border-radius: 0.75rem;
    padding: 0.62rem 0.75rem;
    font-family: inherit;
    font-size: 0.95rem;
    line-height: 1.55;
    outline: none;
}

.consult-widget__input:focus {
    border-color: rgba(255, 36, 66, 0.55);
    box-shadow: 0 0 0 4px rgba(255, 36, 66, 0.12);
}

.consult-widget__send {
    border: none;
    border-radius: 0.75rem;
    padding: 0.65rem 0.95rem;
    background: linear-gradient(145deg, var(--brand), var(--brand-deep));
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    align-self: flex-end;
    min-width: 4.25rem;
}

.consult-widget__send[disabled] {
    background: #e2e8f0;
    color: #64748b;
    cursor: not-allowed;
}

.consult-widget.is-sending .consult-widget__send {
    cursor: progress;
    opacity: 0.9;
}

@media (max-width: 640px) {
    .consult-widget {
        right: 1rem;
        bottom: 1rem;
    }

    .consult-widget__panel {
        position: fixed;
        right: 0.75rem;
        left: 0.75rem;
        bottom: 5.25rem;
        width: auto;
        height: min(80vh, 42rem);
    }
}

/* 案例详情 /cases/{slug}：与新闻详情共用 .news-detail-* / .news-article__*；补充要点条、阅读提示、缩小封面与文末免责 */
.news-article--case .news-article__cover--case {
/*    max-width: min(100%, 28rem);*/
    margin: 0.5rem auto 0.65rem;
    border-radius: 14px;
    box-shadow: 0 14px 36px -28px rgba(15, 23, 42, 0.22);
}

.news-article--case .news-article__cover--case img {
    display: block;
    width: 100%;
/*    max-height: 12.5rem;*/
    height: auto;
    object-fit: cover;
    object-position: center;
    aspect-ratio: auto;
}

.case-keyline {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem 0.75rem;
    margin: 0 0 1rem;
    padding: 0.65rem 0.85rem;
    border-radius: 12px;
    border: 1px solid rgba(226, 232, 240, 0.98);
    background: linear-gradient(135deg, rgba(255, 36, 66, 0.04) 0%, rgba(248, 250, 252, 0.95) 100%);
}

.case-keyline__badge {
    flex: 0 0 auto;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--brand-deep);
}

.case-keyline__text {
    flex: 1 1 12rem;
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.55;
    color: #475569;
}

.case-keyline__text strong {
    color: #0f172a;
    font-weight: 800;
}

.case-reading-guide {
    margin: 0 0 1.15rem;
    padding: 0.85rem 1rem 0.95rem;
    border-radius: 14px;
    border: 1px dashed rgba(148, 163, 184, 0.45);
    background: rgba(248, 250, 252, 0.65);
}

.case-reading-guide__title {
    margin: 0 0 0.55rem;
    font-size: 0.82rem;
    font-weight: 800;
    color: #0f172a;
}

.case-reading-guide__list {
    margin: 0;
    padding: 0 0 0 1.1rem;
    color: #475569;
    font-size: 0.86rem;
    line-height: 1.6;
}

.case-reading-guide__list li {
    margin-bottom: 0.4rem;
}

.case-reading-guide__list li:last-child {
    margin-bottom: 0;
}

.news-article__cover-note {
    margin: 0.15rem auto 1.1rem;
    max-width: min(100%, 28rem);
    font-size: 0.8rem;
    line-height: 1.5;
    color: #94a3b8;
    text-align: center;
}

.news-article__disclaimer {
    margin: 1.35rem 0 0;
    padding-top: 1rem;
    border-top: 1px dashed rgba(148, 163, 184, 0.4);
    font-size: 0.8rem;
    line-height: 1.6;
    color: #94a3b8;
}
