/* =========================================================
   MorssAI 摩斯 GEO 品牌官网主题
   theme id: morssai-geo-20260906
   前缀: ms-  |  设计源: MorssAI/index.png, GEO.png, GEO2.png
   ========================================================= */

:root {
    --ms-ink: #0a0a0a;
    --ms-ink-soft: #111827;
    --ms-body: #4b5563;
    --ms-muted: #9ca3af;
    --ms-cyan: #38bdf8;
    --ms-blue: #2563eb;
    --ms-deep: #1d4ed8;
    --ms-bg: #f6f9fc;
    --ms-line: #e5e7eb;
    --ms-card-grad: linear-gradient(135deg, #eaf3fd 0%, #f8fbff 100%);
    --ms-radius: 20px;
    --ms-shadow: 0 10px 30px rgba(15, 40, 80, 0.08);
    --ms-shadow-hover: 0 16px 40px rgba(15, 40, 80, 0.14);
}

/* ---------- 基础 ---------- */
.ms-body {
    font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
    color: var(--ms-body);
    background: #fff;
    -webkit-font-smoothing: antialiased;
}
.ms-main { overflow-x: clip; }
.ms-shell {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}
.ms-section { padding: 88px 0; }
.ms-section-light { background: var(--ms-bg); }
.ms-section-consult {
    background:
        radial-gradient(1200px 400px at 20% 0%, rgba(56, 189, 248, 0.10), transparent 60%),
        radial-gradient(900px 380px at 90% 100%, rgba(37, 99, 235, 0.08), transparent 55%),
        var(--ms-bg);
}

/* ---------- 按钮 ---------- */
.ms-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 28px;
    border-radius: 9999px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.ms-btn:hover { transform: translateY(-1px); }
.ms-btn-dark { background: var(--ms-ink); color: #fff; }
.ms-btn-dark:hover { background: #1f2937; box-shadow: var(--ms-shadow); }
.ms-btn-light { background: #fff; color: var(--ms-ink); box-shadow: 0 6px 24px rgba(0,0,0,.25); }
.ms-btn-ghost { background: transparent; color: #e5f2ff; border-color: rgba(255,255,255,.35); }
.ms-btn-ghost:hover { background: rgba(255,255,255,.08); }
.ms-btn-sm { padding: 9px 20px; font-size: 14px; }
.ms-btn-block { width: 100%; }

/* ---------- Header ---------- */
.ms-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--ms-line);
}
.ms-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    height: 68px;
}
.ms-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: var(--ms-ink);
}
.ms-brand-logo { height: 36px; width: auto; max-width: 180px; object-fit: contain; }
.ms-brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--ms-cyan), var(--ms-blue));
    color: #fff;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35);
}
.ms-brand-mark svg { width: 20px; height: 20px; }
.ms-brand-mark-lg { width: 56px; height: 56px; border-radius: 16px; }
.ms-brand-mark-lg svg { width: 32px; height: 32px; }
.ms-brand-text { font-size: 18px; font-weight: 700; letter-spacing: .01em; }
.ms-brand-text em { font-style: normal; font-weight: 500; font-size: 14px; color: var(--ms-body); margin-left: 6px; }
.ms-topnav { display: flex; align-items: center; gap: 30px; }
.ms-topnav a {
    font-size: 15px;
    color: var(--ms-ink-soft);
    text-decoration: none;
    padding: 6px 0;
    border-bottom: 2px solid transparent;
    transition: color .15s ease, border-color .15s ease;
}
.ms-topnav a:hover { color: var(--ms-blue); }
.ms-topnav a.is-active { color: var(--ms-blue); border-bottom-color: var(--ms-blue); font-weight: 600; }
.ms-header-actions { display: flex; align-items: center; gap: 14px; }
.ms-search {
    display: flex;
    align-items: center;
    border: 1px solid var(--ms-line);
    border-radius: 9999px;
    overflow: hidden;
    background: #fff;
}
.ms-search input {
    border: 0;
    outline: none;
    padding: 8px 12px;
    font-size: 13px;
    width: 130px;
    background: transparent;
}
.ms-search button {
    border: 0;
    background: transparent;
    padding: 8px 10px;
    color: var(--ms-body);
    cursor: pointer;
    display: inline-flex;
}
.ms-mobile-toggle { display: none; border: 0; background: transparent; color: var(--ms-ink); cursor: pointer; }
.ms-mobile-nav { display: none; border-top: 1px solid var(--ms-line); background: #fff; }
.ms-mobile-nav .ms-shell { display: flex; flex-direction: column; gap: 4px; padding: 14px 24px 20px; }
.ms-mobile-nav a {
    padding: 11px 8px;
    color: var(--ms-ink-soft);
    text-decoration: none;
    font-size: 15px;
    border-radius: 10px;
}
.ms-mobile-nav a:hover { background: var(--ms-bg); }
.ms-mobile-nav.ms-open { display: block; }
@media (max-width: 900px) {
    .ms-topnav, .ms-search { display: none; }
    .ms-mobile-toggle { display: inline-flex; }
    .ms-header-actions .ms-btn { display: none; }
}

/* ---------- Hero ---------- */
.ms-hero {
    position: relative;
    background:
        radial-gradient(900px 420px at 75% 20%, rgba(56, 189, 248, 0.16), transparent 60%),
        radial-gradient(700px 380px at 15% 85%, rgba(216, 180, 120, 0.10), transparent 55%),
        linear-gradient(180deg, #05070c 0%, #0b1220 60%, #0d1526 100%);
    color: #fff;
    overflow: hidden;
}
.ms-hero-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.ms-hero-inner {
    position: relative;
    z-index: 1;
    padding: 130px 24px 150px;
    text-align: center;
}
.ms-hero-title {
    font-size: clamp(32px, 5vw, 56px);
    font-weight: 700;
    line-height: 1.22;
    margin: 0 0 18px;
    letter-spacing: .01em;
}
.ms-hero-title em { font-style: normal; color: var(--ms-cyan); }
.ms-hero-title-sm { font-size: clamp(30px, 4vw, 44px); }
.ms-hero-sub {
    font-size: clamp(17px, 2vw, 22px);
    color: #c7d6ea;
    margin: 0 0 22px;
    letter-spacing: .28em;
}
.ms-hero-sub em { font-style: normal; color: #fff; font-weight: 700; }
.ms-hero-desc {
    max-width: 640px;
    margin: 0 auto 36px;
    color: #8fa3bd;
    font-size: 15px;
    line-height: 1.9;
}
.ms-hero-actions { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }
.ms-hero-kicker {
    display: inline-block;
    font-size: 13px;
    letter-spacing: .5em;
    color: var(--ms-cyan);
    margin: 0 0 18px;
    text-transform: uppercase;
}

/* Services / About hero 变体 */
.ms-hero-services { text-align: left; }
.ms-services-hero-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    align-items: center;
    gap: 40px;
    text-align: left;
    padding: 110px 24px 130px;
}
.ms-services-hero-copy .ms-hero-title-sm { margin-bottom: 0; }
.ms-services-hero-visual { position: relative; height: 220px; }
.ms-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
    opacity: .85;
    animation: ms-float 7s ease-in-out infinite;
}
.ms-orb-1 { width: 120px; height: 120px; left: 8%; top: 20%; background: radial-gradient(circle at 30% 30%, #67e8f9, #2563eb 70%); }
.ms-orb-2 { width: 72px; height: 72px; right: 18%; top: 6%; background: radial-gradient(circle at 30% 30%, #a5b4fc, #4f46e5 70%); animation-delay: -2.4s; }
.ms-orb-3 { width: 52px; height: 52px; right: 30%; bottom: 8%; background: radial-gradient(circle at 30% 30%, #7dd3fc, #0369a1 70%); animation-delay: -4.6s; }
@keyframes ms-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-16px); }
}
@media (max-width: 860px) {
    .ms-services-hero-grid { grid-template-columns: 1fr; }
    .ms-services-hero-visual { display: none; }
}
.ms-hero-about { background:
    radial-gradient(1000px 460px at 50% -10%, rgba(37, 99, 235, 0.35), transparent 60%),
    linear-gradient(180deg, #060b16 0%, #0b1730 100%);
}
.ms-hero-network {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(110, 180, 240, 0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(110, 180, 240, 0.07) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
}
.ms-hero-about .ms-hero-inner { padding: 120px 24px 130px; }

/* ---------- 区块标题 ---------- */
.ms-section-head { text-align: center; max-width: 760px; margin: 0 auto 52px; }
.ms-section-head h2 {
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 700;
    color: var(--ms-ink);
    margin: 0 0 14px;
}
.ms-section-sub { color: var(--ms-body); font-size: 15px; margin: 0; }
.ms-section-lead { color: var(--ms-body); font-size: 15px; line-height: 1.9; margin: 0; }
.ms-section-lead strong { color: var(--ms-ink); font-size: 17px; }
.ms-section-head-row {
    max-width: none;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    text-align: left;
}
.ms-section-head-left { text-align: left; margin-left: 0; }
@media (max-width: 640px) {
    .ms-section-head-row { flex-direction: column; align-items: flex-start; }
}

/* ---------- 服务流程 ---------- */
.ms-flow {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 22px;
    position: relative;
}
.ms-flow-item {
    background: #fff;
    border: 1px solid var(--ms-line);
    border-radius: var(--ms-radius);
    padding: 28px 26px;
    box-shadow: var(--ms-shadow);
    transition: transform .2s ease, box-shadow .2s ease;
}
.ms-flow-item:hover { transform: translateY(-4px); box-shadow: var(--ms-shadow-hover); }
.ms-flow-num {
    display: inline-block;
    font-size: 26px;
    font-weight: 800;
    background: linear-gradient(120deg, var(--ms-cyan), var(--ms-blue));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    margin-bottom: 12px;
}
.ms-flow-item h3 { font-size: 17px; font-weight: 700; color: var(--ms-ink); margin: 0 0 10px; }
.ms-flow-item p { font-size: 13.5px; line-height: 1.85; margin: 0; }

/* ---------- 卡片 / 文章 ---------- */
.ms-card {
    background: #fff;
    border: 1px solid var(--ms-line);
    border-radius: var(--ms-radius);
    box-shadow: var(--ms-shadow);
    padding: 26px;
    transition: transform .2s ease, box-shadow .2s ease;
}
a.ms-card { display: block; text-decoration: none; color: inherit; }
.ms-card:hover { transform: translateY(-4px); box-shadow: var(--ms-shadow-hover); }
.ms-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 22px;
}
.ms-card-grid-3 { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.ms-empty { text-align: center; color: var(--ms-muted); padding: 48px 26px; }
.ms-article-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}
.ms-chip-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ms-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
    color: var(--ms-deep);
    background: #eaf2fe;
    border-radius: 9999px;
    padding: 5px 12px;
    text-decoration: none;
}
.ms-chip-accent { color: #b45309; background: #fef3c7; }
.ms-card-time { font-size: 13px; color: var(--ms-muted); }
.ms-article-card-title { font-size: 18px; font-weight: 700; line-height: 1.5; margin: 0 0 10px; }
.ms-article-card-title a { color: var(--ms-ink); text-decoration: none; }
.ms-article-card-title a:hover { color: var(--ms-blue); }
.ms-article-card-summary {
    font-size: 13.5px;
    line-height: 1.85;
    margin: 0 0 18px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ms-card-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: var(--ms-blue);
    text-decoration: none;
}
.ms-card-more:hover { text-decoration: underline; }

/* ---------- 页头 / 分页 ---------- */
.ms-page-head { margin-bottom: 40px; }
.ms-page-head h1 { font-size: clamp(26px, 3vw, 34px); font-weight: 700; color: var(--ms-ink); margin: 0 0 10px; }
.ms-page-head p { color: var(--ms-body); font-size: 15px; margin: 0; }
.ms-pagination { margin-top: 44px; text-align: center; }
.ms-pagination nav { display: inline-flex; }

/* ---------- 咨询合作 ---------- */
.ms-consult-grid {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 48px;
    align-items: center;
    max-width: 980px;
    margin: 0 auto;
}
@media (max-width: 860px) {
    .ms-consult-grid { grid-template-columns: 1fr; }
}
.ms-consult-side { text-align: center; }
.ms-consult-badge {
    width: 150px;
    height: 150px;
    margin: 0 auto 30px;
    border-radius: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background:
        radial-gradient(circle at 28% 24%, rgba(255,255,255,.55), transparent 42%),
        linear-gradient(140deg, #67e8f9 0%, #3b82f6 55%, #1d4ed8 100%);
    box-shadow: 0 24px 48px rgba(37, 99, 235, 0.35);
}
.ms-consult-badge svg { width: 72px; height: 72px; }
.ms-consult-points {
    list-style: none;
    padding: 0;
    margin: 0 0 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: flex-start;
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
}
.ms-consult-points li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 600;
    color: var(--ms-ink);
}
.ms-consult-points li i { color: var(--ms-blue); }
.ms-consult-phone span { display: block; font-size: 13px; color: var(--ms-muted); margin-bottom: 4px; }
.ms-consult-phone strong { font-size: 26px; color: var(--ms-ink); letter-spacing: .04em; }
.ms-consult-form h3 { font-size: 18px; font-weight: 700; color: var(--ms-ink); margin: 0 0 20px; }
.ms-form-message {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #065f46;
    border-radius: 12px;
    padding: 12px 16px;
    font-size: 14px;
    margin-bottom: 18px;
}
.ms-field { margin-bottom: 16px; }
.ms-field input[type="text"],
.ms-field input[type="email"],
.ms-field input[type="tel"],
.ms-field select,
.ms-field textarea {
    width: 100%;
    border: 1px solid var(--ms-line);
    border-radius: 12px;
    padding: 13px 16px;
    font-size: 14px;
    color: var(--ms-ink);
    background: #fff;
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.ms-field textarea { resize: vertical; }
.ms-field input:focus,
.ms-field select:focus,
.ms-field textarea:focus {
    border-color: var(--ms-blue);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
.ms-field ::placeholder { color: var(--ms-muted); }
.ms-checkbox { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; color: var(--ms-body); }
.ms-field-error { color: #dc2626; font-size: 13px; margin: 6px 0 0; }
.ms-consult-fallback { font-size: 14.5px; line-height: 1.9; margin: 0 0 22px; }
.ms-consult-fallback strong { color: var(--ms-ink); }

/* ---------- 双卡 / 认知层 ---------- */
.ms-duo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    margin-bottom: 22px;
}
@media (max-width: 760px) { .ms-duo-grid { grid-template-columns: 1fr; } }
.ms-duo-card h3, .ms-duo-wide h3 { font-size: 17px; font-weight: 700; color: var(--ms-ink); margin: 0 0 10px; }
.ms-duo-card p, .ms-duo-wide p { font-size: 14px; line-height: 1.85; margin: 0; }
.ms-duo-wide { background: var(--ms-card-grad); border-color: #dbeafe; }

/* ---------- 九域闭环 ---------- */
.ms-nine-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 56px;
    align-items: center;
}
@media (max-width: 900px) {
    .ms-nine-grid { grid-template-columns: 1fr; gap: 32px; }
}
.ms-nine-side h2 { font-size: clamp(24px, 2.6vw, 32px); font-weight: 700; color: var(--ms-ink); line-height: 1.4; margin: 0 0 18px; }
.ms-nine-side p { font-size: 14.5px; line-height: 1.9; margin: 0 0 14px; }
.ms-nine-note { color: var(--ms-muted); font-size: 13px !important; }
.ms-nine-cells {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.ms-nine-cell {
    background: var(--ms-card-grad);
    border: 1px solid #dbeafe;
    border-radius: 16px;
    padding: 34px 12px;
    text-align: center;
    font-size: 17px;
    font-weight: 700;
    color: var(--ms-ink);
    transition: transform .2s ease, box-shadow .2s ease;
}
.ms-nine-cell:hover { transform: translateY(-3px); box-shadow: var(--ms-shadow-hover); }
.ms-nine-title {
    text-align: center;
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 700;
    color: var(--ms-ink);
    margin: 64px 0 0;
}
@media (max-width: 640px) {
    .ms-nine-cells { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- 双赛道 ---------- */
.ms-track { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
@media (max-width: 860px) { .ms-track { grid-template-columns: 1fr; } }
.ms-track-card { padding: 0; overflow: hidden; }
.ms-track-visual { height: 180px; position: relative; }
.ms-track-visual-cn {
    background:
        radial-gradient(300px 140px at 20% 30%, rgba(96, 165, 250, 0.55), transparent 65%),
        radial-gradient(260px 140px at 80% 70%, rgba(56, 189, 248, 0.45), transparent 60%),
        linear-gradient(120deg, #0a1626 0%, #12294a 100%);
}
.ms-track-visual-global {
    background:
        radial-gradient(300px 140px at 75% 25%, rgba(167, 139, 250, 0.5), transparent 65%),
        radial-gradient(260px 140px at 20% 75%, rgba(56, 189, 248, 0.4), transparent 60%),
        linear-gradient(120deg, #101026 0%, #232a5c 100%);
}
.ms-track-card h3 { font-size: 18px; font-weight: 700; color: var(--ms-ink); margin: 22px 24px 12px; }
.ms-track-card p { font-size: 13.5px; line-height: 1.85; margin: 0 24px 24px; }
.ms-track-card .ms-tag-row { margin: 0 24px 16px; }
.ms-tag-row { display: flex; flex-wrap: wrap; gap: 8px; }
.ms-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
    color: var(--ms-deep);
    background: #eaf2fe;
    border: 1px solid #d3e3fd;
    border-radius: 9999px;
    padding: 5px 12px;
}

/* ---------- 优势 / 问题 ---------- */
.ms-adv-grid, .ms-problem-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 22px;
}
.ms-adv-card h3, .ms-problem-card h3 { font-size: 16.5px; font-weight: 700; color: var(--ms-ink); margin: 0 0 10px; }
.ms-adv-card p, .ms-problem-card p { font-size: 13.5px; line-height: 1.85; margin: 0; }
.ms-problem-card { background: var(--ms-card-grad); border-color: #dbeafe; }

/* ---------- 我们如何工作 ---------- */
.ms-work-grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 56px;
    align-items: start;
}
@media (max-width: 900px) {
    .ms-work-grid { grid-template-columns: 1fr; gap: 28px; }
}
.ms-work-kicker { font-size: 13px; letter-spacing: .3em; color: var(--ms-blue); font-weight: 700; margin: 0 0 14px; }
.ms-work-side h2 { font-size: clamp(22px, 2.4vw, 30px); font-weight: 700; color: var(--ms-ink); line-height: 1.5; margin: 0; }
.ms-work-list { display: flex; flex-direction: column; gap: 18px; }
.ms-work-item {
    background: #fff;
    border: 1px solid var(--ms-line);
    border-left: 3px solid var(--ms-blue);
    border-radius: 14px;
    padding: 20px 24px;
    box-shadow: var(--ms-shadow);
}
.ms-work-item h3 { font-size: 16px; font-weight: 700; color: var(--ms-ink); margin: 0 0 6px; }
.ms-work-item p { font-size: 13.5px; line-height: 1.8; margin: 0; }

/* ---------- 关于页 ---------- */
.ms-about-who { max-width: 760px; margin: 0 auto; text-align: center; padding: 40px 32px; }
.ms-about-who p { font-size: 15px; line-height: 2; margin: 0 0 20px; }
.ms-about-logo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--ms-blue);
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 18px;
}
.ms-about-logo em { font-style: normal; font-weight: 500; font-size: 15px; color: var(--ms-body); }
.ms-about-divider { color: var(--ms-muted) !important; font-size: 13.5px !important; margin: 0 !important; }

/* ---------- 文章详情 ---------- */
.ms-article-shell { max-width: 820px; }
.ms-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 13.5px;
    color: var(--ms-muted);
    margin-bottom: 24px;
}
.ms-breadcrumb a { color: var(--ms-body); text-decoration: none; }
.ms-breadcrumb a:hover { color: var(--ms-blue); }
.ms-breadcrumb-current { color: var(--ms-ink); }
.ms-article-detail { padding: 40px 36px; }
.ms-article-head h1 { font-size: clamp(24px, 3vw, 32px); font-weight: 700; color: var(--ms-ink); line-height: 1.4; margin: 14px 0 12px; }
.ms-article-meta { display: flex; gap: 16px; color: var(--ms-muted); font-size: 13.5px; margin-bottom: 20px; }
.ms-article-meta span { display: inline-flex; align-items: center; gap: 5px; }
.ms-article-excerpt {
    background: var(--ms-bg);
    border-left: 3px solid var(--ms-blue);
    border-radius: 0 12px 12px 0;
    padding: 16px 20px;
    font-size: 14.5px;
    line-height: 1.9;
    color: var(--ms-body);
}
.ms-article-prose { font-size: 15.5px; line-height: 2; color: var(--ms-body); }
.ms-article-prose h1, .ms-article-prose h2, .ms-article-prose h3, .ms-article-prose h4 {
    color: var(--ms-ink);
    font-weight: 700;
    line-height: 1.5;
    margin: 1.6em 0 .7em;
}
.ms-article-prose h1 { font-size: 24px; }
.ms-article-prose h2 { font-size: 21px; }
.ms-article-prose h3 { font-size: 18px; }
.ms-article-prose p { margin: 0 0 1.1em; }
.ms-article-prose a { color: var(--ms-blue); }
.ms-article-prose ul, .ms-article-prose ol { padding-left: 1.5em; margin: 0 0 1.1em; }
.ms-article-prose li { margin-bottom: .4em; }
.ms-article-prose img { max-width: 100%; height: auto; border-radius: 12px; margin: 1.2em 0; }
.ms-article-prose blockquote {
    border-left: 3px solid var(--ms-cyan);
    background: var(--ms-bg);
    margin: 1.2em 0;
    padding: 14px 20px;
    border-radius: 0 12px 12px 0;
    color: var(--ms-ink-soft);
}
.ms-article-prose code { background: #eef2f7; border-radius: 6px; padding: 2px 6px; font-size: .9em; }
.ms-article-prose pre {
    background: #0d1526;
    color: #dbeafe;
    border-radius: 12px;
    padding: 18px 20px;
    overflow-x: auto;
    margin: 1.2em 0;
}
.ms-article-prose pre code { background: transparent; padding: 0; color: inherit; }
.ms-article-prose table { width: 100%; border-collapse: collapse; margin: 1.2em 0; font-size: 14px; }
.ms-article-prose th, .ms-article-prose td { border: 1px solid var(--ms-line); padding: 10px 12px; text-align: left; }
.ms-article-prose th { background: var(--ms-bg); color: var(--ms-ink); }
.ms-article-tags { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--ms-line); }
.ms-related { margin-top: 44px; }
.ms-related h2 { font-size: 20px; font-weight: 700; color: var(--ms-ink); margin: 0 0 18px; }
.ms-related-card h3 { font-size: 15.5px; font-weight: 700; color: var(--ms-ink); line-height: 1.55; margin: 0 0 10px; }

/* ---------- 归档 ---------- */
.ms-archive-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
}
.ms-archive-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 15px;
    font-weight: 600;
    color: var(--ms-ink);
    padding: 22px 24px;
}
.ms-archive-count { font-size: 13px; font-weight: 500; color: var(--ms-muted); }

/* ---------- Footer ---------- */
.ms-footer {
    background: #fff;
    border-top: 1px solid var(--ms-line);
    padding: 64px 0 36px;
}
.ms-footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    padding-bottom: 44px;
    border-bottom: 1px solid var(--ms-line);
}
@media (max-width: 760px) { .ms-footer-grid { grid-template-columns: repeat(2, 1fr); } }
.ms-footer-col h4 { font-size: 14.5px; font-weight: 700; color: var(--ms-ink); margin: 0 0 16px; }
.ms-footer-col a {
    display: block;
    font-size: 13.5px;
    color: var(--ms-body);
    text-decoration: none;
    padding: 5px 0;
}
.ms-footer-col a:hover { color: var(--ms-blue); }
.ms-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 28px;
}
.ms-footer-legal { font-size: 12.5px; color: var(--ms-muted); display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.ms-footer-legal a { color: var(--ms-muted); text-decoration: none; }
.ms-footer-tagline { font-size: 12.5px; color: var(--ms-muted); margin: 0; }

/* ================= v2 (2026-09-07 设计稿第二版) ================= */

/* ---------- Hero 高亮行 ---------- */
.ms-hero-desc strong { color: rgba(255, 255, 255, .95); }
.ms-hero-hl { color: #67d4ff; }

/* ---------- 页头区块（子页面） ---------- */
.ms-page-head-section { padding-top: 64px; }
.ms-page-head-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
@media (max-width: 760px) { .ms-page-head-row { flex-direction: column; } }
.ms-section-head-left { text-align: left; }
.ms-section-head-left p { margin-left: 0; }

/* ---------- 顶部横幅视觉 ---------- */
.ms-banner {
    height: 180px;
    border-radius: 18px;
    background:
        radial-gradient(420px 120px at 20% 80%, rgba(56, 189, 248, .5), transparent 70%),
        radial-gradient(500px 150px at 55% 40%, rgba(14, 116, 233, .55), transparent 70%),
        radial-gradient(420px 130px at 85% 70%, rgba(103, 212, 255, .45), transparent 70%),
        linear-gradient(120deg, #050b18, #0b1a33 55%, #071224);
    box-shadow: var(--ms-shadow);
}
.ms-banner-ai {
    background:
        radial-gradient(360px 110px at 50% 50%, rgba(226, 232, 240, .28), transparent 70%),
        repeating-linear-gradient(90deg, rgba(148, 163, 184, .12) 0 2px, transparent 2px 56px),
        linear-gradient(120deg, #e8ecf2, #f4f6f9 60%, #dfe5ee);
    box-shadow: var(--ms-shadow);
}

/* ---------- services：平板 Hero ---------- */
.ms-services-hero-tablet { display: flex; align-items: center; justify-content: center; }
.ms-tablet {
    width: min(300px, 70%);
    aspect-ratio: 4 / 3;
    border-radius: 22px;
    background: linear-gradient(145deg, #10131a, #23262f);
    padding: 12px;
    box-shadow: 0 30px 60px rgba(2, 8, 20, .35);
    transform: rotate(-6deg);
}
.ms-tablet-screen {
    width: 100%;
    height: 100%;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(220px 140px at 30% 30%, rgba(56, 189, 248, .55), transparent 70%),
        radial-gradient(220px 150px at 75% 70%, rgba(168, 85, 247, .5), transparent 70%),
        #0a0f1e;
}
.ms-tablet-glyph {
    font-size: 64px;
    font-weight: 800;
    color: rgba(255, 255, 255, .9);
    font-family: Georgia, serif;
}

/* ---------- services：九维宫格（右列布局 + 链接化单元格） ---------- */
.ms-nine-main { min-width: 0; }
.ms-nine-main .ms-nine-cells { margin-top: 8px; }
.ms-nine-cell { text-decoration: none; display: flex; align-items: center; justify-content: center; }
.ms-nine-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 18px;
    font-size: 14px;
    font-weight: 600;
    color: var(--ms-blue);
    text-decoration: none;
}
.ms-nine-more:hover { text-decoration: underline; }

/* ---------- services：核心优势 kicker ---------- */
.ms-adv-kicker { font-size: 12px; letter-spacing: .18em; color: var(--ms-blue); font-weight: 700; margin: 0 0 8px; }

/* ---------- about：问题面板 ---------- */
.ms-problem-panel { max-width: 880px; }
.ms-problem-lead { font-size: 15.5px; line-height: 1.9; color: var(--ms-ink); margin: 0 0 26px; }
.ms-problem-list { display: flex; flex-direction: column; gap: 20px; margin-bottom: 26px; }
.ms-problem-item { border-bottom: 1px solid var(--ms-line); padding-bottom: 18px; }
.ms-problem-item:last-child { border-bottom: 0; padding-bottom: 0; }
.ms-problem-item h3 { font-size: 16px; font-weight: 700; color: var(--ms-ink); margin: 0 0 6px; }
.ms-problem-item p { font-size: 14px; line-height: 1.85; color: var(--ms-body); margin: 0; }
.ms-problem-note { font-size: 13px; color: var(--ms-muted); line-height: 1.8; margin: 0; }

/* ---------- solutions：九维详解 ---------- */
.ms-nine-detail { padding-top: 24px; }
.ms-nine-detail .ms-shell { display: flex; flex-direction: column; gap: 44px; }
.ms-dim-title { font-size: clamp(19px, 2.2vw, 24px); font-weight: 800; color: var(--ms-ink); margin: 0 0 18px; }
.ms-dim-no { color: var(--ms-ink); }
.ms-dim-sep { color: var(--ms-muted); font-weight: 400; margin: 0 6px; }
.ms-dim-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 22px; }
@media (max-width: 860px) { .ms-dim-grid { grid-template-columns: 1fr; } }
.ms-dim-label { font-size: 12.5px; letter-spacing: .12em; color: var(--ms-muted); margin: 0 0 14px; }
.ms-dim-result blockquote {
    margin: 0;
    font-size: 17px;
    line-height: 1.95;
    color: var(--ms-ink);
    font-weight: 600;
    padding: 4px 0 4px 18px;
    border-left: 3px solid var(--ms-blue);
}
.ms-dim-items ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.ms-dim-items li {
    background: #f4f6fa;
    border: 1px solid #e8edf5;
    border-radius: 12px;
    padding: 12px 16px;
    display: flex;
    gap: 14px;
    align-items: baseline;
}
.ms-dim-items li strong { flex: 0 0 auto; font-size: 13.5px; color: var(--ms-ink); }
.ms-dim-items li span { font-size: 13px; line-height: 1.8; color: var(--ms-body); }

/* ---------- faq：常见问题 ---------- */
.ms-faq-meta { flex: 0 0 auto; display: flex; align-items: center; gap: 12px; }
.ms-faq-count {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    background: #fff;
    border: 1px solid var(--ms-line);
    border-radius: 999px;
    padding: 8px 18px;
    font-size: 12.5px;
    color: var(--ms-muted);
    box-shadow: var(--ms-shadow);
}
.ms-faq-count strong { font-size: 20px; color: var(--ms-ink); }
.ms-faq-search {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: 1px solid var(--ms-line);
    border-radius: 999px;
    padding: 10px 18px;
    max-width: 420px;
    margin-bottom: 28px;
    color: var(--ms-muted);
    box-shadow: var(--ms-shadow);
}
.ms-faq-search input { border: 0; outline: none; flex: 1; font-size: 14px; background: transparent; color: var(--ms-ink); }
.ms-faq-list { display: flex; flex-direction: column; gap: 14px; }
.ms-faq-item { padding: 0; }
.ms-faq-item summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 26px;
}
.ms-faq-item summary::-webkit-details-marker { display: none; }
.ms-faq-q { display: inline-flex; align-items: center; gap: 12px; font-size: 16.5px; font-weight: 700; color: var(--ms-ink); }
.ms-faq-q b {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: var(--ms-ink);
    color: #fff;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.ms-faq-arrow {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #f1f5fb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--ms-ink);
    transition: transform .2s ease, background .2s ease;
}
.ms-faq-item[open] .ms-faq-arrow { transform: rotate(90deg); background: #e2ecf9; }
.ms-faq-item[open] summary { border-bottom: 1px solid var(--ms-line); }
.ms-faq-a { display: flex; gap: 12px; padding: 18px 26px 8px; }
.ms-faq-a b {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: var(--ms-blue);
    color: #fff;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.ms-faq-a p { margin: 0; font-size: 14px; line-height: 1.9; color: var(--ms-body); }
.ms-faq-cat { padding: 0 26px 18px 64px; margin: 0; font-size: 12px; color: var(--ms-muted); }

/* ---------- cases：案例卡片 ---------- */
.ms-case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 960px) { .ms-case-grid { grid-template-columns: 1fr; } }
.ms-case-card { display: flex; flex-direction: column; }
.ms-case-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 16px; }
.ms-case-tag { font-size: 12px; color: var(--ms-blue); font-weight: 600; }
.ms-case-badge {
    font-size: 12px;
    color: #fff;
    background: var(--ms-ink);
    border-radius: 6px;
    padding: 4px 10px;
}
.ms-case-card h3 { font-size: 17.5px; font-weight: 800; line-height: 1.6; color: var(--ms-ink); margin: 0 0 12px; }
.ms-case-pain { font-size: 13.5px; line-height: 1.85; color: var(--ms-body); margin: 0 0 16px; }
.ms-case-label {
    font-size: 12.5px;
    color: var(--ms-blue);
    font-weight: 700;
    border-top: 1px solid var(--ms-line);
    padding-top: 14px;
    margin: 0 0 8px;
}
.ms-case-solution { font-size: 13.5px; line-height: 1.85; color: var(--ms-body); margin: 0 0 18px; flex: 1; }
.ms-case-by { font-size: 12.5px; font-weight: 600; color: var(--ms-ink); margin: 0; border-top: 1px solid var(--ms-line); padding-top: 14px; }

/* ---------- cases：深耕行业 ---------- */
.ms-ind-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 150px;
    gap: 16px;
}
@media (max-width: 760px) { .ms-ind-grid { grid-template-columns: repeat(2, 1fr); } }
.ms-ind-tile {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    box-shadow: var(--ms-shadow);
}
.ms-ind-tile span {
    margin: auto auto auto 20px;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .35);
}
.ms-ind-1 { background: linear-gradient(135deg, #10151c, #2b3340 60%, #454f5e); }
.ms-ind-2 { background: linear-gradient(135deg, #f6ded8, #f9ede9); }
.ms-ind-2 span { color: #b98a80; text-shadow: none; }
.ms-ind-3 { background: linear-gradient(135deg, #e9b9b2, #d99a94); }
.ms-ind-4 { background: linear-gradient(135deg, #5c6446, #8a9270); }
.ms-ind-5 { background: linear-gradient(135deg, #4318c9, #7c3aed); }
.ms-ind-6 { background: linear-gradient(135deg, #f2f0ec, #e5e1da); }
.ms-ind-6 span { color: var(--ms-ink); text-shadow: none; }
.ms-ind-note { font-size: 14.5px; line-height: 2; color: var(--ms-body); margin: 26px 0 0; }
.ms-ind-note strong { color: var(--ms-ink); }

/* ---------- cases：核心深耕行业照片版（v3） ---------- */
.ms-ind-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: auto;
    gap: 16px;
    align-items: start;
}
@media (max-width: 760px) {
    .ms-ind-grid { grid-template-columns: 1fr; }
}
.ms-ind-col { display: flex; flex-direction: column; gap: 16px; }
.ms-ind-tile.ms-ind-photo {
    grid-auto-rows: auto;
    height: 240px;
    background-size: cover;
    background-position: center;
    background-color: #10151c;
    position: relative;
}
.ms-ind-tile.ms-ind-photo.ms-h-tall { height: 320px; }
.ms-ind-tile.ms-ind-photo.ms-h-short { height: 180px; }
.ms-ind-tile.ms-ind-photo::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 10, 20, 0) 45%, rgba(5, 10, 20, .45) 100%);
}
.ms-ind-tile.ms-ind-photo span {
    position: relative;
    z-index: 1;
    margin: 20px auto auto 22px;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .45);
}
.ms-ind-tile.ms-ind-photo.ms-ind-bl span { margin: auto auto 20px 22px; }
.ms-ind-tile.ms-ind-photo.ms-ind-light::before { display: none; }
.ms-ind-tile.ms-ind-photo.ms-ind-light span { color: var(--ms-ink); text-shadow: 0 1px 6px rgba(255, 255, 255, .5); }

/* ---------- cases：Banner 照片版（v4） ---------- */
.ms-banner.ms-banner-photo {
    height: 340px;
    background-size: cover;
    background-position: center;
    background-color: #e8eaee;
}
@media (max-width: 760px) {
    .ms-banner.ms-banner-photo { height: 200px; }
}

/* ================= v5 (2026-09-09 官方素材切换) ================= */

/* ---------- header logo（官方 SVG） ---------- */
.ms-header .ms-brand-logo { height: 30px; }

/* ---------- home：Hero 官方粒子视觉图 ---------- */
.ms-hero.ms-hero-photo {
    background-size: cover;
    background-position: center;
    background-color: #05070d;
}
.ms-hero.ms-hero-photo .ms-hero-inner { position: relative; z-index: 1; padding: 150px 24px 160px; }

/* ---------- home：服务流程花瓣图 ---------- */
.ms-flow-visual { display: flex; justify-content: center; margin: 8px 0 44px; }
.ms-flow-visual img { width: min(720px, 92%); height: auto; border-radius: 18px; }

/* ---------- consult：左侧官方 3D 视觉 ---------- */
.ms-consult-visual { width: min(260px, 80%); height: auto; margin-bottom: 26px; }

/* ---------- services：Hero 官方整幅头图 ---------- */
.ms-hero.ms-hero-svc-photo {
    min-height: 0;
    aspect-ratio: 1080 / 360;
    max-height: 440px;
    background-size: cover;
    background-position: center;
    background-color: #05070d;
}
@media (max-width: 760px) {
    .ms-hero.ms-hero-svc-photo { aspect-ratio: auto; height: 240px; }
}

/* ---------- services：认知层左右对比图 ---------- */
.ms-duo-visual {
    height: 150px;
    border-radius: 12px;
    margin-bottom: 16px;
    background-size: cover;
    background-position: center;
    background-color: #0b1626;
}

/* ---------- services：优势卡片配图 ---------- */
.ms-adv-img { height: 110px; width: auto; margin-bottom: 14px; }

/* ---------- about：Hero 官方背景图 ---------- */
.ms-hero.ms-hero-about-photo { position: relative; background-size: cover; background-position: center; background-color: #0a0f1a; }
.ms-hero.ms-hero-about-photo::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(4, 8, 16, .72), rgba(4, 8, 16, .35) 60%, rgba(4, 8, 16, .55));
}
.ms-hero.ms-hero-about-photo .ms-hero-inner { position: relative; z-index: 1; }

/* ---------- about：我们是谁 LOGO 图 ---------- */
.ms-about-logo-img { max-height: 64px; width: auto; }

/* ---------- about：我们解决什么问题 右侧图 ---------- */
.ms-problem-panel-photo {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 10px 32px;
    max-width: 980px;
}
.ms-problem-panel-photo > *:not(.ms-problem-visual) { grid-column: 1; }
.ms-problem-panel-photo .ms-problem-visual {
    grid-column: 2;
    grid-row: 1 / span 3;
    width: 100%;
    height: 100%;
    max-height: 400px;
    object-fit: cover;
    border-radius: 12px;
    align-self: center;
}
@media (max-width: 860px) {
    .ms-problem-panel-photo { grid-template-columns: 1fr; }
    .ms-problem-panel-photo .ms-problem-visual { grid-column: 1; grid-row: auto; max-height: 240px; margin-bottom: 10px; }
}

/* ---------- about：我们如何工作 左侧图 ---------- */
.ms-work-visual { width: 100%; border-radius: 14px; margin-bottom: 22px; }

/* ================= v7 (2026-09-10 首页按设计稿精修) ================= */

/* ---------- header：设计稿页头仅 logo + 导航 ---------- */
.ms-header .ms-search,
.ms-header .ms-btn-dark.ms-btn-sm { display: none !important; }

/* ---------- Hero：设计稿比例（1920 基准：标题y≈380/60px，副标题30px，大片粒子留白，三行文案，按钮y≈930） ---------- */
.ms-hero.ms-hero-photo .ms-hero-inner { padding: 12.5vw 24px 4.5vw; }
.ms-hero.ms-hero-photo .ms-hero-title {
    font-size: clamp(30px, 3.3vw, 64px);
    font-weight: 800;
    margin: 0 0 2vw;
}
.ms-hero.ms-hero-photo .ms-hero-title em { color: #fff; }
.ms-hero.ms-hero-photo .ms-hero-sub {
    font-size: clamp(15px, 1.55vw, 30px);
    letter-spacing: .24em;
    color: #dfe8f3;
    margin: 0;
}
.ms-hero.ms-hero-photo .ms-hero-desc {
    max-width: 1000px;
    margin: 8.5vw auto 0;
}
.ms-hero-desc-main {
    font-size: clamp(14px, 1.25vw, 24px);
    font-weight: 700;
    color: #f2f6fb;
    margin: 0 0 .55em;
}
.ms-hero-desc-main strong { color: #f2f6fb; }
.ms-hero-desc-sub {
    font-size: clamp(13px, 1.15vw, 22px);
    color: #93a7c1;
    margin: 0 0 .5em;
}
.ms-hero-desc-sub span { color: #67b8ff; }
.ms-hero-desc-dim {
    font-size: clamp(12px, 1.05vw, 20px);
    color: #66788e;
    margin: 0;
}
.ms-hero.ms-hero-photo .ms-hero-actions { margin-top: 4.5vw; }
.ms-hero.ms-hero-photo .ms-hero-actions .ms-btn { min-width: 170px; }

/* ---------- 服务流程：标题左对齐 + 花瓣图放大 ---------- */
.ms-flow-section .ms-section-head,
.ms-section .ms-section-head.ms-section-head-left {
    text-align: left;
    max-width: none;
    margin: 0 0 40px;
}
.ms-section .ms-section-head.ms-section-head-left .ms-section-lead { text-align: left; margin-left: 0; }
.ms-section .ms-section-head.ms-section-head-left .ms-section-lead strong {
    display: block;
    font-size: clamp(16px, 1.45vw, 27px);
    color: var(--ms-ink);
    margin-bottom: .5em;
}
.ms-flow-visual img { width: min(860px, 100%); }

/* v7b：Hero 文案下移至暗区 + 可读性阴影；流程副标题行距收紧 */
.ms-hero.ms-hero-photo .ms-hero-desc { margin: 11vw auto 0; }
.ms-hero-desc-main, .ms-hero-desc-sub, .ms-hero-desc-dim { text-shadow: 0 2px 18px rgba(0, 0, 0, .75); }
.ms-section .ms-section-head.ms-section-head-left .ms-section-lead strong { margin-bottom: .25em; }
.ms-section .ms-section-head.ms-section-head-left .ms-section-lead { line-height: 1.75; }

/* ================= v8 (2026-09-10 服务流程环绕布局 + 表单就绪) ================= */
.ms-flow-wrap { position: relative; padding-bottom: 30px; }
.ms-flow-wrap > img { width: min(860px, 94%); height: auto; display: block; margin: 0 auto; }
@media (min-width: 1024px) {
    .ms-flow-wrap .ms-flow-item {
        position: absolute;
        width: 256px;
        background: transparent;
        border: 0;
        box-shadow: none;
        padding: 0;
        text-align: left;
    }
    .ms-flow-wrap .ms-flow-item:hover { transform: none; box-shadow: none; }
    .ms-flow-wrap .ms-flow-num { font-size: 24px; margin-right: 8px; }
    .ms-flow-wrap .ms-flow-item h3 { display: inline; font-size: 15.5px; margin: 0; vertical-align: 2px; }
    .ms-flow-wrap .ms-flow-item p { font-size: 12.5px; line-height: 1.8; color: var(--ms-body); margin-top: 8px; }
    .ms-fp-1 { left: 66%; top: -2%; }
    .ms-fp-2 { left: 73%; top: 27%; }
    .ms-fp-3 { left: 69%; top: 55%; }
    .ms-fp-4 { left: 55%; top: 84%; }
    .ms-fp-5 { left: 20%; top: 86%; }
    .ms-fp-6 { left: 3%;  top: 55%; }
    .ms-fp-7 { left: 8%;  top: 27%; }
}

/* ================= v9 (2026-09-10 第2屏主图整幅背景) ================= */
.ms-flow-section { padding: 0; background: linear-gradient(100deg, #fefffa 0%, #eef2f6 45%, #c9d7e6 100%); }
.ms-flow-wrap { position: relative; max-width: 1920px; margin: 0 auto; padding-bottom: 0; }
.ms-flow-wrap .ms-flow-bg { width: 100%; height: auto; display: block; }
@media (min-width: 1024px) {
    .ms-flow-wrap .ms-flow-head {
        position: absolute;
        left: 4%;
        top: 5%;
        max-width: 46%;
        margin: 0;
        z-index: 2;
    }
}

/* ================= v10 (2026-09-10 修复 01 项探出图片顶部被 Hero 遮挡) ================= */
@media (min-width: 1024px) {
    .ms-flow-wrap .ms-fp-1 { top: 4%; }
}

/* ================= v11 (2026-09-10 GEO服务页对齐设计图) ================= */
/* Hero：手托平板主图（文案烙于图内），底色用主题浅灰 */
.ms-svc-hero {
    background: linear-gradient(180deg, #f4f5f7 0%, #eef0f3 60%, #e9edf2 100%);
    padding: 28px 0 12px;
}
.ms-svc-hero .ms-shell { display: flex; justify-content: center; }
.ms-svc-hero-art { width: min(1160px, 100%); height: auto; display: block; }
@media (max-width: 1023px) { .ms-svc-hero { padding: 10px 0 4px; } }

/* 认知层：标题置于白色圆角卡内 */
.ms-svc-top { padding-top: 56px; }
.ms-svc-cog-head {
    background: #fff;
    border: 1px solid var(--ms-line);
    border-radius: var(--ms-radius);
    box-shadow: var(--ms-shadow);
    padding: 40px 32px 34px;
    margin-bottom: 22px;
    text-align: center;
}
.ms-svc-cog-head .ms-section-head { margin: 0; }

/* 两张小卡 + 通栏卡：左侧小图标 + 右侧文案 */
.ms-duo-card, .ms-duo-wide { display: flex; align-items: flex-start; gap: 16px; }
.ms-duo-card h3, .ms-duo-wide h3 { margin: 0 0 8px; }
.ms-duo-icon { width: 40px; height: 40px; flex: 0 0 40px; margin-top: 2px; }
.ms-duo-wide > div { flex: 1; }

/* 分层差异化：白色卡 + 青色短横线 */
.ms-nine-side { padding: 36px 32px; }
.ms-nine-side h2 { margin-bottom: 14px; }
.ms-nine-bar { display: block; width: 56px; height: 4px; border-radius: 2px; background: var(--ms-cyan); margin: 0 0 20px; }
.ms-nine-side p { margin: 0; }

/* 双赛道：整体一张白色圆角卡，上下两行图文交错 */
.ms-track-wrap { padding: 40px 40px 8px; }
.ms-track-wrap .ms-section-head { margin-bottom: 8px; }
.ms-track-row {
    display: grid;
    grid-template-columns: 1fr 1.05fr;
    gap: 40px;
    align-items: center;
    padding: 30px 0;
}
.ms-track-img {
    width: 100%;
    aspect-ratio: 560 / 300;
    object-fit: cover;
    border-radius: 14px;
    display: block;
}
.ms-track-body h3 { font-size: 20px; font-weight: 700; color: var(--ms-ink); margin: 0 0 12px; }
.ms-track-body .ms-tag-row { margin: 0 0 14px; }
.ms-track-body p { font-size: 13.5px; line-height: 1.9; color: var(--ms-body); margin: 0 0 14px; }
.ms-track-body p:last-child { margin-bottom: 0; }
@media (max-width: 860px) {
    .ms-track-row { grid-template-columns: 1fr; gap: 18px; padding: 22px 0; }
    .ms-track-row-rev .ms-track-body { order: 1; }
    .ms-track-row-rev .ms-track-img { order: 2; }
    .ms-track-wrap { padding: 28px 22px 4px; }
}

/* 核心服务优势：浅蓝渐变底 + 图标置于文末 */
.ms-svc-adv { background: linear-gradient(180deg, #e9f4fb 0%, #d8eaf7 55%, #c9e2f4 100%); }
.ms-svc-adv .ms-section-head h2 { color: var(--ms-ink); }
.ms-adv-card { display: flex; flex-direction: column; }
.ms-adv-card p:last-of-type { margin-bottom: 10px; }
.ms-adv-card .ms-adv-img {
    height: 150px;
    width: auto;
    max-width: 100%;
    align-self: center;
    margin: auto 0 0;
}
.ms-adv-card .ms-adv-kicker { font-size: 12px; letter-spacing: .02em; color: var(--ms-muted); font-weight: 600; }

/* ================= v12 (2026-09-10 关于我们页对齐设计图) ================= */
/* Hero：整幅背景图 + 居中标题 + 四周标签 */
.ms-ab-hero { position: relative; overflow: hidden; background: #05080f; }
.ms-ab-hero-bg { width: 100%; height: auto; display: block; }
.ms-ab-hero-inner {
    position: absolute; left: 50%; top: 44%; transform: translate(-50%, -50%);
    text-align: center; color: #fff; width: max-content; max-width: 90%;
}
.ms-ab-hero-kicker { margin: 0 0 10px; font-size: 13px; letter-spacing: .42em; font-weight: 600; color: rgba(255,255,255,.92); }
.ms-ab-hero-title { margin: 0; font-size: clamp(22px, 2.6vw, 38px); line-height: 1.5; font-weight: 700; letter-spacing: .04em; text-shadow: 0 2px 24px rgba(0,0,0,.55); }
.ms-ab-tag {
    position: absolute; color: rgba(255,255,255,.82); font-size: clamp(11px, 1vw, 15px);
    line-height: 1.7; letter-spacing: .06em; text-shadow: 0 1px 12px rgba(0,0,0,.6); display: none;
}
@media (min-width: 1024px) {
    .ms-ab-tag { display: block; }
    .ms-ab-tag-l1 { left: 18.5%; top: 36%; }
    .ms-ab-tag-l2 { left: 20%;  top: 66%; }
    .ms-ab-tag-r1 { right: 17%; top: 34%; }
    .ms-ab-tag-r2 { right: 20%; top: 66%; }
}
@media (max-width: 1023px) {
    .ms-ab-hero { min-height: 220px; }
    .ms-ab-hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
    .ms-ab-hero-inner { position: relative; left: 0; top: 0; transform: none; margin: 0 auto; padding: 64px 20px; }
}

/* 区块底色：灰白交替按设计图 */
.ms-ab-sec-gray  { background: #f5f5f7; }
.ms-ab-sec-white { background: #fff; }
.ms-ab-sec-tight { padding-top: 0; }

/* 我们是谁：白色圆角卡（灰底），标题左上 + 居中 LOGO */
.ms-ab-whocard {
    max-width: 1160px; margin: 0 auto; background: #fff; border-radius: 20px;
    box-shadow: 0 10px 34px rgba(15,23,42,.06); padding: 56px 56px 44px; text-align: left;
}
.ms-ab-whocard h2 { margin: 0 0 24px; font-size: 24px; font-weight: 700; color: var(--ms-ink); }
.ms-ab-whotext { font-size: 14.5px; line-height: 2.1; color: var(--ms-body); margin: 0 0 44px; }
.ms-ab-whotext strong { color: var(--ms-ink); }
.ms-ab-logo { display: block; margin: 0 auto; height: 30px; width: auto; }
.ms-ab-logodiv { display: block; width: 34px; height: 3px; background: #2b2b2b; margin: 26px auto 16px; }
.ms-ab-caption { text-align: center; color: var(--ms-muted); font-size: 13px; margin: 0; letter-spacing: .08em; }
@media (max-width: 720px) { .ms-ab-whocard { padding: 32px 22px; } }

/* 解决问题 / 如何工作：整卡内嵌图版式 */
.ms-ab-panel {
    max-width: 1160px; margin: 0 auto; background: #f5f5f7; border-radius: 20px;
    overflow: hidden; display: grid; align-items: stretch;
}
.ms-ab-panel-problem { grid-template-columns: 1fr 1.1fr; }
.ms-ab-panel-how     { grid-template-columns: 1fr 2.6fr; }
.ms-ab-panel-body { padding: 48px 48px 40px; }
.ms-ab-panel-img { width: 100%; height: 100%; object-fit: cover; display: block; }

.ms-ab-lead { font-size: 15px; line-height: 1.95; color: var(--ms-ink); margin: 0 0 30px; }
.ms-ab-item { border-bottom: 1px solid #e3e4e8; padding: 0 0 18px; margin: 0 0 18px; }
.ms-ab-item:last-of-type { margin-bottom: 22px; }
.ms-ab-panel-problem .ms-ab-item:last-of-type { border-bottom: 0; }
.ms-ab-item h3 { font-size: 16px; font-weight: 700; color: var(--ms-ink); margin: 0 0 8px; }
.ms-ab-item p { font-size: 13.5px; line-height: 1.9; color: var(--ms-body); margin: 0; }
.ms-ab-note { font-size: 12.5px; line-height: 1.85; color: var(--ms-muted); margin: 0; }

.ms-ab-kicker { font-size: 14px; font-weight: 700; color: var(--ms-ink); margin: 0 0 4px; }
.ms-ab-coretitle { font-size: 19px; font-weight: 700; color: var(--ms-ink); margin: 0 0 8px; }
.ms-ab-coresub { font-size: 13.5px; color: var(--ms-body); line-height: 1.85; margin: 0 0 26px; }
.ms-ab-panel-how .ms-ab-item:first-of-type { margin-top: 4px; }

/* 交付 + 承诺：一张白色大卡（灰底） */
.ms-ab-deliver {
    max-width: 1160px; margin: 0 auto; background: #fff; border-radius: 20px;
    box-shadow: 0 10px 34px rgba(15,23,42,.06); padding: 56px 56px 48px;
}
.ms-ab-deliver h2 { margin: 0 0 14px; font-size: 24px; font-weight: 700; color: var(--ms-ink); }
.ms-ab-delivlead { font-size: 14px; color: var(--ms-body); margin: 0 0 28px; }
.ms-ab-delivgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ms-ab-delivcard { background: #f5f5f7; border-radius: 14px; padding: 26px 24px; }
.ms-ab-delivcard h3 { font-size: 15.5px; font-weight: 700; color: var(--ms-ink); margin: 0 0 12px; }
.ms-ab-delivcard p { font-size: 13px; line-height: 1.9; color: var(--ms-body); margin: 0; }
.ms-ab-promise-h { margin-top: 52px !important; }
.ms-ab-promisetext { font-size: 14px; color: var(--ms-body); margin: 0; }
@media (max-width: 900px) {
    .ms-ab-panel-problem, .ms-ab-panel-how { grid-template-columns: 1fr; }
    .ms-ab-panel-how .ms-ab-panel-img { order: 2; max-height: 260px; }
    .ms-ab-panel-problem .ms-ab-panel-img { order: 2; max-height: 260px; }
    .ms-ab-delivgrid { grid-template-columns: 1fr; }
    .ms-ab-deliver { padding: 32px 22px; }
    .ms-ab-panel-body { padding: 30px 22px; }
}

/* ================= v13 (2026-09-10 见解列表页对齐 NEWS_list 设计图) ================= */
/* 页头：超大标题 + 双行导语 + 分隔线（全白底） */
.ms-nl-headsec { padding-bottom: 0; }
.ms-nl-head h1 { font-size: clamp(42px, 4.6vw, 64px); font-weight: 900; letter-spacing: .02em; color: var(--ms-ink); margin: 0 0 24px; }
.ms-nl-lead1 { font-size: 14px; line-height: 1.9; color: var(--ms-ink); margin: 0 0 4px; }
.ms-nl-lead2 { font-size: 13.5px; line-height: 1.9; color: var(--ms-muted); margin: 0 0 36px; }
.ms-nl-rule { border: 0; border-top: 1px solid var(--ms-line); margin: 0; }

/* 分区：白底连续，左侧标题 */
.ms-nl-sec { padding-top: 44px; }
.ms-nl-sec .ms-section-head { margin-bottom: 22px; }
.ms-nl-sec .ms-section-head h2 { font-size: clamp(22px, 2.2vw, 30px); font-weight: 800; }

/* 卡片：暖灰底 + 日期 + 大标题 + 摘要 + 右下白色圆形箭头 */
.ms-nl-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.ms-nl-card {
    position: relative; display: flex; flex-direction: column;
    background: #f7f6f2; border-radius: 16px; padding: 32px 28px 76px; min-height: 380px;
}
.ms-nl-date { font-size: 12.5px; letter-spacing: .05em; color: var(--ms-muted); }
.ms-nl-title { font-size: 21px; font-weight: 700; line-height: 1.55; color: var(--ms-ink); margin: 54px 0 0; }
.ms-nl-title a { color: inherit; text-decoration: none; }
.ms-nl-title a:hover { color: var(--ms-blue); }
.ms-nl-excerpt { font-size: 13px; line-height: 1.9; color: var(--ms-muted); margin: 26px 0 0; }
.ms-nl-arrow {
    position: absolute; right: 22px; bottom: 22px; width: 44px; height: 44px;
    border-radius: 50%; background: #fff; color: var(--ms-ink);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 10px rgba(15,23,42,.06); transition: transform .18s ease, box-shadow .18s ease;
}
.ms-nl-arrow:hover { transform: translate(2px, -2px); box-shadow: 0 6px 16px rgba(15,23,42,.12); }
.ms-nl-arrow svg { width: 20px; height: 20px; }
.ms-nl-empty { justify-content: center; align-items: center; color: var(--ms-muted); font-size: 14px; min-height: 200px; }

/* 分页：右对齐圆形页码 */
.ms-nl-pagersec { padding-top: 8px; }
.ms-pagination-right { text-align: right; }
@media (max-width: 960px) {
    .ms-nl-grid { grid-template-columns: 1fr; }
    .ms-nl-card { min-height: 0; padding-bottom: 68px; }
}
.ms-nl-headsec.ms-section-light, .ms-nl-sec.ms-section-light, .ms-nl-pagersec.ms-section-light { background: #fff; }
