/* ============================================================
   Utilities
   ============================================================ */
/* 51 处 · 原内联: style="text-decoration:none;" */
.xlx-u-01 { text-decoration:none; }

/* 10 处 · 原内联: style="font-size:var(--text-base);line-height:1.75;color:var(--color-text-secondary);margin-bottom:var(--space-6);" */
.xlx-u-02 { font-size:var(--text-base);line-height:1.75;color:var(--color-text-secondary);margin-bottom:var(--space-6); }

/* 10 处 · 原内联: style="margin:0;" */
.xlx-u-03 { margin:0; }

/* 8 处 · 原内联: style="width:100%;" */
.xlx-u-04 { width:100%; }

/* 8 处 · 原内联: style="width:100%;height:100%;" */
.xlx-u-05 { width:100%;height:100%; }

/* 7 处 · 原内联: style="text-decoration:none;color:var(--color-primary);" */
.xlx-u-06 { text-decoration:none;color:var(--color-primary); }

/* 5 处 · 原内联: style="color:var(--color-text-secondary);" */
.xlx-u-07 { color:var(--color-text-secondary); }

/* 5 处 · 原内联: style="font-size:var(--text-sm);" */
.xlx-u-08 { font-size:var(--text-sm); }

/* 5 处 · 原内联: style="margin-top:var(--space-2);" */
.xlx-u-09 { margin-top:var(--space-2); }

/* 4 处 · 原内联: style="background:var(--color-info-light);color:var(--color-info);" */
.xlx-u-10 { background:var(--color-info-light);color:var(--color-info); }

/* 4 处 · 原内联: style="background:var(--color-primary-light);color:var(--color-primary);" */
.xlx-u-11 { background:var(--color-primary-light);color:var(--color-primary); }

/* 4 处 · 原内联: style="background:var(--color-warning-light);color:var(--color-warning);" */
.xlx-u-12 { background:var(--color-warning-light);color:var(--color-warning); }

/* 4 处 · 原内联: style="margin-bottom: var(--space-12);" */
.xlx-u-13 { margin-bottom: var(--space-12); }

/* 4 处 · 原内联: style="margin-top: var(--space-4);" */
.xlx-u-14 { margin-top: var(--space-4); }

/* 3 处 · 原内联: style="background:var(--color-success-light);color:var(--color-success);" */
.xlx-u-15 { background:var(--color-success-light);color:var(--color-success); }

/* 3 处 · 原内联: style="min-width:200px;" */
.xlx-u-16 { min-width:200px; }

/* 3 处 · 原内联: style="text-align:center;" */
.xlx-u-17 { text-align:center; }

/* 2 处 · 原内联: style="--delay:0.15s" */
.xlx-u-18 { --delay:0.15s; }

/* 2 处 · 原内联: style="--delay:0.3s" */
.xlx-u-19 { --delay:0.3s; }

/* 2 处 · 原内联: style="--delay:0s" */
.xlx-u-20 { --delay:0s; }

/* 2 处 · 原内联: style="background:var(--color-brand-accent-purple-light);color:var(--color-brand-accent-purple);" */
.xlx-u-21 { background:var(--color-brand-accent-purple-light);color:var(--color-brand-accent-purple); }

/* 2 处 · 原内联: style="background:var(--color-info-light);" */
.xlx-u-22 { background:var(--color-info-light); }

/* 2 处 · 原内联: style="background:var(--color-primary-light);" */
.xlx-u-23 { background:var(--color-primary-light); }

/* 2 处 · 原内联: style="font-size:var(--text-base);" */
.xlx-u-24 { font-size:var(--text-base); }

/* 2 处 · 原内联: style="font-size:var(--text-section-title);font-weight: 400;margin-bottom: var(--space-6);" */
.xlx-u-25 { font-size:var(--text-section-title);font-weight:var(--font-weight-medium);margin-bottom: var(--space-6); }

/* 2 处 · 原内联: style="margin-top:48px;" */
.xlx-u-26 { margin-top:48px; }

/* 2 处 · 原内联: style="min-width:220px;" */
.xlx-u-27 { min-width:220px; }

/* 2 处 · 原内联: style="text-align:center;margin-left:auto;margin-right:auto;" */
.xlx-u-28 { text-align:center;margin-left:auto;margin-right:auto; }

/* 2 处 · 原内联: style="width:65%" */
.xlx-u-29 { width:65%; }

/* 2 处 · 原内联: style="width:72%" */
.xlx-u-30 { width:72%; }

/* 2 处 · 原内联: style="width:78%" */
.xlx-u-31 { width:78%; }

/* 2 处 · 原内联: style="width:80%" */
.xlx-u-32 { width:80%; }

/* 2 处 · 原内联: style="width:85%" */
.xlx-u-33 { width:85%; }

/* 2 处 · 原内联: style="width:92%" */
.xlx-u-34 { width:92%; }

/* 1 处 · 原内联: style="background:#f0f4ff;border-radius:16px;padding:40px;text-align:center;margin:32px 0;" */
.xlx-u-35 { background:#f0f4ff;border-radius:16px;padding:40px;text-align:center;margin:32px 0; }

/* 1 处 · 原内联: style="background:linear-gradient(135deg, rgba(0,168,107,0.04), rgba(0,212,255,0.06));border:1px dashed rgba(0,168,107,0.12);" */
.xlx-u-36 { background:linear-gradient(135deg, rgba(0,168,107,0.04), rgba(0,212,255,0.06));border:1px dashed rgba(0,168,107,0.12); }

/* 1 处 · 原内联: style="background:linear-gradient(135deg, rgba(0,212,255,0.04), rgba(22,119,255,0.06));border:1px dashed rgba(0,212,255,0.12);" */
.xlx-u-37 { background:linear-gradient(135deg, rgba(0,212,255,0.04), rgba(22,119,255,0.06));border:1px dashed rgba(0,212,255,0.12); }

/* 1 处 · 原内联: style="background:linear-gradient(135deg, rgba(10,61,255,0.04), rgba(123,97,255,0.06));border:1px dashed rgba(10,61,255,0.12);" */
.xlx-u-38 { background:linear-gradient(135deg, rgba(10,61,255,0.04), rgba(123,97,255,0.06));border:1px dashed rgba(10,61,255,0.12); }

/* 1 处 · 原内联: style="background:linear-gradient(135deg, rgba(123,97,255,0.04), rgba(10,61,255,0.06));border:1px dashed rgba(123,97,255,0.12);" */
.xlx-u-39 { background:linear-gradient(135deg, rgba(123,97,255,0.04), rgba(10,61,255,0.06));border:1px dashed rgba(123,97,255,0.12); }

/* 1 处 · 原内联: style="background:linear-gradient(135deg, rgba(22,119,255,0.04), rgba(0,212,255,0.06));border:1px dashed rgba(22,119,255,0.12);" */
.xlx-u-40 { background:linear-gradient(135deg, rgba(22,119,255,0.04), rgba(0,212,255,0.06));border:1px dashed rgba(22,119,255,0.12); }

/* 1 处 · 原内联: style="background:linear-gradient(135deg, rgba(255,176,32,0.04), rgba(123,97,255,0.06));border:1px dashed rgba(255,176,32,0.12);" */
.xlx-u-41 { background:linear-gradient(135deg, rgba(255,176,32,0.04), rgba(123,97,255,0.06));border:1px dashed rgba(255,176,32,0.12); }

/* 1 处 · 原内联: style="background:linear-gradient(135deg,#E0FBFF,#CFE6FF);" */
.xlx-u-42 { background:linear-gradient(135deg,#E0FBFF,#CFE6FF); }

/* 1 处 · 原内联: style="background:linear-gradient(135deg,#E6F2FF,#CFE6FF);" */
.xlx-u-43 { background:linear-gradient(135deg,#E6F2FF,#CFE6FF); }

/* 1 处 · 原内联: style="background:linear-gradient(135deg,#F0FFF7,#E6F2FF);" */
.xlx-u-44 { background:linear-gradient(135deg,#F0FFF7,#E6F2FF); }

/* 1 处 · 原内联: style="background:linear-gradient(135deg,#FFF8F0,#E6F2FF);" */
.xlx-u-45 { background:linear-gradient(135deg,#FFF8F0,#E6F2FF); }

/* 1 处 · 原内联: style="background:rgba(0,168,107,.08);" */
.xlx-u-46 { background:rgba(0,168,107,.08); }

/* 1 处 · 原内联: style="background:rgba(10,61,255,.08);" */
.xlx-u-47 { background:rgba(10,61,255,.08); }

/* 1 处 · 原内联: style="background:rgba(22,119,255,.08);" */
.xlx-u-48 { background:rgba(22,119,255,.08); }

/* 1 处 · 原内联: style="background:rgba(255,107,53,0.1);color:#FF6B35;" */
.xlx-u-49 { background:rgba(255,107,53,0.1);color:#FF6B35; }

/* 1 处 · 原内联: style="background:rgba(255,176,32,.08);" */
.xlx-u-50 { background:rgba(255,176,32,.08); }

/* 1 处 · 原内联: style="background:rgba(255,176,32,0.1);color:#FFB020;" */
.xlx-u-51 { background:rgba(255,176,32,0.1);color:#FFB020; }

/* 1 处 · 原内联: style="background:var(--color-error-light);color:var(--color-error);" */
.xlx-u-52 { background:var(--color-error-light);color:var(--color-error); }

/* 1 处 · 原内联: style="background:var(--color-success-light);" */
.xlx-u-53 { background:var(--color-success-light); }

/* 1 处 · 原内联: style="background:var(--color-warning-light);" */
.xlx-u-54 { background:var(--color-warning-light); }

/* 1 处 · 原内联: style="border-color:rgba(255,255,255,0.2);color:var(--color-text-inverse);" */
.xlx-u-55 { border-color:rgba(255,255,255,0.2);color:var(--color-text-inverse); }

/* 1 处 · 原内联: style="color:#1F2329;font-size:14px;margin:0;" */
.xlx-u-56 { color:#1F2329;font-size:14px;margin:0; }

/* 1 处 · 原内联: style="color:#fff;border-color:rgba(255,255,255,0.3);" */
.xlx-u-57 { color:#fff;border-color:rgba(255,255,255,0.3); }

/* 1 处 · 原内联: style="color:var(--color-primary);" */
.xlx-u-58 { color:var(--color-primary); }

/* 1 处 · 原内联: style="display:flex;align-items:center;gap:var(--space-4);margin-bottom: var(--space-6);" */
.xlx-u-59 { display:flex;align-items:center;gap:var(--space-4);margin-bottom: var(--space-6); }

/* 1 处 · 原内联: style="display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap;" */
.xlx-u-60 { display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap; }

/* 1 处 · 原内联: style="font-size: var(--text-sm); color: var(--color-text-tertiary);" */
.xlx-u-61 { font-size: var(--text-sm); color: var(--color-text-tertiary); }

/* 1 处 · 原内联: style="font-size:16px;color:var(--color-text-tertiary);text-decoration:none;font-weight:var(--font-weight-medium);" */
.xlx-u-62 { font-size:16px;color:var(--color-text-tertiary);text-decoration:none;font-weight:var(--font-weight-medium); }

/* 1 处 · 原内联: style="font-size:var(--text-base);color:var(--color-text-tertiary);line-height:var(--leading-relaxed);margin:0 0 var(--space-8);max-width:420px;" */
.xlx-u-63 { font-size:var(--text-base);color:var(--color-text-tertiary);line-height:var(--leading-relaxed);margin:0 0 var(--space-8);max-width:420px; }

/* 1 处 · 原内联: style="font-size:var(--text-hero-inner);font-weight: 400;line-height:1.4;letter-spacing:-0.01em;color:var(--color-text-primary);margin:0 0 var(--space-4);" */
.xlx-u-64 { font-size:var(--text-hero-inner);font-weight: 400;line-height:1.4;letter-spacing:-0.01em;color:var(--color-text-primary);margin:0 0 var(--space-4); }

/* 1 处 · 原内联: style="font-size:var(--text-lead);color:var(--color-text-secondary);" */
.xlx-u-65 { font-size:var(--text-lead);color:var(--color-text-secondary); }

/* 1 处 · 原内联: style="font-size:var(--text-lg);color:var(--color-text-secondary);line-height:var(--leading-loose);margin:0 0 var(--space-2);" */
.xlx-u-66 { font-size:var(--text-lg);color:var(--color-text-secondary);line-height:var(--leading-loose);margin:0 0 var(--space-2); }

/* 1 处 · 原内联: style="font-size:var(--text-section-title);font-weight: 400;color:var(--color-text-primary);margin-bottom:var(--space-4);" */
.xlx-u-67 { font-size:var(--text-section-title);font-weight: 400;color:var(--color-text-primary);margin-bottom:var(--space-4); }

/* 1 处 · 原内联: style="font-size:var(--text-section-title);font-weight: 400;margin-bottom:var(--space-6);" */
.xlx-u-68 { font-size:var(--text-section-title);font-weight: 400;margin-bottom:var(--space-6); }

/* 1 处 · 原内联: style="margin-left:auto;margin-right:auto;" */
.xlx-u-69 { margin-left:auto;margin-right:auto; }

/* 1 处 · 原内联: style="margin-top:24px;font-size:17px;line-height:1.75;" */
.xlx-u-70 { margin-top:24px;font-size:17px;line-height:1.75; }

/* 1 处 · 原内联: style="max-width:600px;margin:0 auto;" */
.xlx-u-71 { max-width:600px;margin:0 auto; }

/* 1 处 · 原内联: style="position:relative;" */
.xlx-u-72 { position:relative; }

/* 1 处 · 原内联: style="text-align:center;padding:16px 0;" */
.xlx-u-73 { text-align:center;padding:16px 0; }

/* 1 处 · 原内联: style="width:100%;height:auto;display:block;" */
.xlx-u-74 { width:100%;height:auto;display:block; }

/* 1 处 · 原内联: style="width:65%;background:linear-gradient(90deg,#FFB020,#FF8C00)" */
.xlx-u-75 { width:65%;background:linear-gradient(90deg,#FFB020,#FF8C00); }

/* 1 处 · 原内联: style="width:72%;background:linear-gradient(90deg,#00D4FF,#7B61FF)" */
.xlx-u-76 { width:72%;background:linear-gradient(90deg,#00D4FF,#7B61FF); }

/* 1 处 · 原内联: style="width:78%;background:linear-gradient(90deg,#00A86B,#12B76A)" */
.xlx-u-77 { width:78%;background:linear-gradient(90deg,#00A86B,#12B76A); }

/* 1 处 · 原内联: style="width:85%;background:linear-gradient(90deg,#1677FF,#00D4FF)" */
.xlx-u-78 { width:85%;background:linear-gradient(90deg,#1677FF,#00D4FF); }

/* 1 处 · 原内联: style="width:92%;background:linear-gradient(90deg,#0A3DFF,#1677FF)" */
.xlx-u-79 { width:92%;background:linear-gradient(90deg,#0A3DFF,#1677FF); }

/* ── 问答块 ── */
.faq-block { max-width: 760px; margin: 0 auto; padding: var(--space-8, 32px) 0 var(--space-16, 64px); }
.faq-block__title { font-size: 22px; font-weight: 400; color: var(--color-text-primary); margin: 0 0 var(--space-6, 24px); }
.faq-block__item { border: 1px solid var(--color-border-default, #E2E8F0); border-radius: 10px; margin-bottom: var(--space-3, 12px); overflow: hidden; background: var(--color-bg-primary, #FFFFFF); }
.faq-block__q { position: relative; display: block; font-size: 16px; line-height: 1.6; color: var(--color-text-primary); padding: 14px 48px 14px 16px; cursor: pointer; list-style: none; }
.faq-block__q::-webkit-details-marker { display: none; }
.faq-block__q::after { content: '+'; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 22px; line-height: 1; color: var(--color-primary, #635BFF); }
.faq-block__item[open] .faq-block__q::after { content: '−'; }
.faq-block__a { font-size: 14px; line-height: 1.75; color: var(--color-text-secondary, #475569); padding: 0 16px 8px; }
.faq-block__evidence { font-size: 14px; line-height: 1.7; color: var(--color-text-tertiary, #94A3B8); padding: 0 16px 16px; margin: 0; border-top: 1px dashed var(--color-border-default, #E2E8F0); padding-top: 8px; }
.faq-block:empty { display: none; }
/* 权威背书卡 */
.section__title { font-size: 26px; font-weight: 400; color: var(--color-text-primary); margin: 0 0 var(--space-3, 12px); }
.section__desc { font-size: 15px; line-height: 1.75; color: var(--color-text-secondary, #475569); margin: 0 0 var(--space-6, 24px); max-width: 720px; }
.evidence-card { border: 1px solid var(--color-border-default, #E2E8F0); border-radius: 12px; padding: var(--space-5, 20px); background: var(--color-bg-primary, #FFFFFF); }
.evidence-card p { font-size: 15px; line-height: 1.8; color: var(--color-text-secondary, #475569); margin: 0 0 8px; }
.evidence-card p:last-child { margin: 0; color: var(--color-text-tertiary, #94A3B8); font-size: 14px; }

/* 客户名单 */
.client-logos-list__ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--space-3, 12px); list-style: none; margin: 0; padding: 0; }
.client-logos-list__item { display: flex; flex-direction: column; gap: 4px; border: 1px solid var(--color-border-default, #E2E8F0); border-radius: 10px; padding: var(--space-4, 16px); background: var(--color-bg-primary, #FFFFFF); font-size: 15px; color: var(--color-text-primary); }
.client-logos-list__meta { font-size: 14px; color: var(--color-text-tertiary, #94A3B8); }
.client-logos-list__empty { font-size: 14px; color: var(--color-text-tertiary, #94A3B8); margin: 0; }
/* 内容型页面 CTA */
.GeoPageCta { position: relative; padding: clamp(56px, 5vw, 88px) 0; overflow: hidden; background: linear-gradient(118deg, #0A1F5C 0%, #17307A 44%, #3B2E8F 100%); }
.GeoPageCta__bg { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; pointer-events: none; background: radial-gradient(ellipse 55% 60% at 12% 20%, rgba(0, 212, 255, 0.10) 0%, transparent 60%), radial-gradient(ellipse 50% 50% at 88% 80%, rgba(123, 97, 255, 0.14) 0%, transparent 60%); }
.GeoPageCta__inner { position: relative; z-index: 2; max-width: 1120px; margin: 0 auto; padding: 0 var(--container-padding-inline); display: flex; align-items: center; justify-content: space-between; gap: clamp(24px, 3vw, 56px); }
.GeoPageCta__text { min-width: 0; }
.GeoPageCta__title { font-size: var(--text-section-title); font-weight: var(--font-weight-light); color: #FFFFFF; margin: 0 0 var(--space-3, 12px); line-height: var(--leading-snug); }
.GeoPageCta__desc { font-size: var(--text-lead, 18px); color: rgba(255, 255, 255, 0.72); margin: 0; max-width: 620px; line-height: 1.7; }
.GeoPageCta__actions { display: flex; gap: var(--space-4, 16px); flex-shrink: 0; }
@media (max-width: 900px) {
  .GeoPageCta__inner { flex-direction: column; align-items: flex-start; }
  .GeoPageCta__actions { width: 100%; flex-direction: column; }
  .GeoPageCta__actions .btn { width: 100%; text-align: center; justify-content: center; }
}
@media (max-width: 480px) {
  .faq-block { padding-left: var(--space-4, 16px); padding-right: var(--space-4, 16px); }
  .faq-block__q { font-size: 15px; }
}

/* ── 详情页面包屑（GEO/SEO 导航上下文；insight-detail / case-detail 共用） ── */
.page-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 14px; line-height: 1.6; color: var(--color-text-secondary, #475569); padding: var(--space-6, 24px) 0 var(--space-4, 16px); }
.page-crumbs a { color: var(--color-text-secondary, #475569); text-decoration: none; }
.page-crumbs a:hover { color: var(--color-primary, #635BFF); }
.page-crumbs__current { color: var(--color-text-primary); }
@media (max-width: 480px) {
  .page-crumbs { padding-left: var(--space-4, 16px); padding-right: var(--space-4, 16px); }
}

/* 问答中心 / 相关问题 */
.FaqPage {
  --faq-surface: #FFFFFF;
  --faq-surface-2: #F4F7FE;
  --faq-open: #F4F8FF;
  --faq-border: rgba(24, 45, 92, .1);
  --faq-border-strong: rgba(24, 45, 92, .2);
  --faq-text: #172033;
  --faq-text-2: #4A5A72;
  --faq-text-3: #6B7A90;
  --faq-brand: #2454FF;
  --faq-shadow: 0 12px 36px rgba(15, 33, 76, .07);
  background: linear-gradient(180deg, #F7F9FE 0%, #F3F7FE 100%);
}
/* 阅读页版心收窄：正文不做满屏宽行。
   仍需保留 88vw 上限，否则窄屏下内容盒等于 body 宽、再叠加左右内边距会横向溢出。 */
/* 版心统一：问答中心不再使用私有容器宽度，与全站共用 --container-main */
.FaqPage .container { max-width: var(--container-main); }

/* ── Hero：内容页节奏，略微收紧下留白（首屏不做超高） ── */
.FaqHero { padding-bottom: clamp(32px, 3vw, 52px); }

/* ── Hero 右侧「热门问题」知识卡 ── */
.BrandHero__visual .faq-hero-slot { width: 100%; max-width: min(100%, 560px); }
.FaqHeroCard { width: 100%; max-width: 560px; padding: 24px; background: var(--faq-surface, #FFFFFF); border: 1px solid var(--faq-border, rgba(24, 45, 92, .1)); border-radius: 18px; box-shadow: 0 18px 46px rgba(15, 33, 76, .08); }
.FaqHeroCard__title { margin: 0 0 6px; font-size: 15px; font-weight: 500; letter-spacing: .02em; color: var(--faq-text, #172033); }
.FaqHeroCard__list { margin: 0; padding: 0; list-style: none; }
.FaqHeroCard__item { border-bottom: 1px solid var(--faq-border, rgba(24, 45, 92, .1)); }
.FaqHeroCard__item:last-child { border-bottom: 0; }
.FaqHeroCard__item a { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; font-size: 14.5px; line-height: 1.55; color: var(--faq-text-2, #4A5A72); text-decoration: none; transition: color .18s ease; }
.FaqHeroCard__item a:hover { color: var(--faq-brand, #2454FF); }
.FaqHeroCard__question { flex: 1 1 auto; min-width: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.FaqHeroCard__topic { flex: 0 1 auto; max-width: 44%; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; padding: 1px 8px; border-radius: 999px; font-size: 14px; line-height: 1.7; color: var(--faq-brand, #2454FF); background: rgba(36, 84, 255, .08); white-space: nowrap; }
.FaqHeroCard__arrow { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 3px; color: var(--faq-border-strong, rgba(24, 45, 92, .2)); transition: transform .18s ease, color .18s ease; }
.FaqHeroCard__item a:hover .FaqHeroCard__arrow { transform: translateX(2px); color: var(--faq-brand, #2454FF); }
.FaqHeroCard__meta { margin: 14px 0 0; padding-top: 14px; border-top: 1px solid var(--faq-border, rgba(24, 45, 92, .1)); font-size: 14px; color: var(--faq-text-3, #6B7A90); }

/* ── 搜索层 ── */
.FaqPage .BrandHero + .FaqSearchBar { padding-top: clamp(32px, 3vw, 48px); }
.FaqSearchBar { position: relative; padding: 0 0 clamp(40px, 4vw, 56px); }
.FaqSearch { max-width: none; margin: 0; }
.FaqSearch__label { display: block; margin-bottom: 10px; font-size: 14px; color: var(--faq-text-2, #4A5A72); }
.FaqSearch__box { position: relative; display: flex; align-items: center; }
.FaqSearch__icon { position: absolute; left: 18px; display: inline-flex; width: 20px; height: 20px; color: var(--faq-text-3, #6B7A90); pointer-events: none; }
.FaqSearch__icon svg { width: 20px; height: 20px; }
.FaqSearch__input { width: 100%; height: 60px; box-sizing: border-box; padding: 0 56px; font-size: 16px; font-family: inherit; color: var(--faq-text, #172033); background: var(--faq-surface, #FFFFFF); border: 1px solid var(--faq-border, rgba(24, 45, 92, .1)); border-radius: 16px; box-shadow: 0 10px 30px rgba(15, 33, 76, .05); outline: none; -webkit-appearance: none; appearance: none; transition: border-color .18s ease, box-shadow .18s ease; }
.FaqSearch__input::placeholder { color: #93A1B5; }
.FaqSearch__input::-webkit-search-cancel-button { -webkit-appearance: none; }
.FaqSearch__input:focus { border-color: rgba(10, 61, 255, .45); box-shadow: 0 0 0 4px rgba(10, 61, 255, .1), 0 10px 30px rgba(15, 33, 76, .06); }
.FaqSearch__clear { position: absolute; right: 14px; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; color: var(--faq-text-3, #6B7A90); background: var(--faq-surface-2, #F4F7FE); border: 0; border-radius: 50%; cursor: pointer; }
.FaqSearch__clear svg { width: 14px; height: 14px; }
.FaqSearch__clear:hover { color: var(--faq-text, #172033); }
.FaqSearch__hint { margin: 12px 0 0; font-size: 15px; line-height: 1.7; color: var(--faq-text-3, #6B7A90); }

/* 搜索结果列表（键盘 ↑↓ 选择，Enter 打开） */
.FaqSearch__results { margin-top: 10px; padding: 6px; max-height: 384px; overflow-y: auto; background: var(--faq-surface, #FFFFFF); border: 1px solid var(--faq-border, rgba(24, 45, 92, .1)); border-radius: 14px; box-shadow: var(--faq-shadow, 0 12px 36px rgba(15, 33, 76, .07)); }
.FaqSearch__result { display: flex; align-items: flex-start; gap: 10px; padding: 11px 12px; border-radius: 10px; text-decoration: none; color: inherit; }
.FaqSearch__result:hover,
.FaqSearch__result.is-active { background: rgba(10, 61, 255, .06); }
.FaqSearch__resultText { flex: 1 1 auto; min-width: 0; }
.FaqSearch__resultTitle { display: block; font-size: 15px; line-height: 1.55; color: var(--faq-text, #172033); }
.FaqSearch__resultCat { display: block; margin-top: 3px; font-size: 14px; color: var(--faq-text-3, #6B7A90); }
.FaqSearch__resultArrow { flex: 0 0 auto; width: 15px; height: 15px; margin-top: 4px; color: var(--faq-border-strong, rgba(24, 45, 92, .2)); }
.FaqSearch__result.is-active .FaqSearch__resultArrow { color: var(--faq-brand, #0A3DFF); }

/* 搜索无结果 */
.FaqEmpty { margin-top: 12px; padding: 28px 20px; text-align: center; background: var(--faq-surface, #FFFFFF); border: 1px dashed var(--faq-border-strong, rgba(24, 45, 92, .2)); border-radius: 14px; }
.FaqEmpty__title { margin: 0 0 6px; font-size: 17px; color: var(--faq-text, #172033); }
.FaqEmpty__desc { margin: 0 0 16px; font-size: 14px; line-height: 1.7; color: var(--faq-text-2, #4A5A72); }

/* ── 主体：左侧分类导航 + 右侧阅读区 ── */
.FaqHub { padding: clamp(8px, 1vw, 16px) 0 clamp(56px, 5vw, 80px); }
.FaqHub__layout { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: clamp(32px, 4vw, 64px); align-items: start; }
.FaqHub__navWrap { position: sticky; top: 104px; }
.FaqHub__body { min-width: 0; }
.FaqHub__empty { padding: 48px 0; font-size: 15px; color: var(--faq-text-2, #4A5A72); }

/* 分类导航 */
.FaqNav__title { margin: 0 0 14px; font-size: 14px; letter-spacing: .06em; color: var(--faq-text-3, #6B7A90); }
.FaqNav { display: flex; flex-direction: column; gap: 2px; }
.FaqNav__item { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; font-size: 14.5px; line-height: 1.45; color: var(--faq-text-2, #4A5A72); text-decoration: none; transition: background .16s ease, color .16s ease; }
.FaqNav__item:hover { background: rgba(10, 61, 255, .05); color: var(--faq-text, #172033); }
.FaqNav__item.is-active { background: rgba(10, 61, 255, .08); color: var(--faq-brand, #0A3DFF); }
.FaqNav__index { flex: 0 0 auto; font-size: 14px; letter-spacing: .04em; color: var(--faq-text-2, #4A5A72); }
.FaqNav__item.is-active .FaqNav__index { color: var(--faq-brand, #0A3DFF); }
.FaqNav__label { flex: 1 1 auto; min-width: 0; }
.FaqNav__count { flex: 0 0 auto; font-size: 14px; color: var(--faq-text-2, #4A5A72); }

/* 分类分组：组间留出明显节奏（56–80px） */
.FaqCat { margin-bottom: clamp(56px, 5vw, 80px); scroll-margin-top: 104px; }
.FaqCat:last-of-type { margin-bottom: 0; }
.FaqCat__eyebrow { margin: 0 0 8px; font-size: 14px; letter-spacing: .08em; color: var(--faq-brand, #0A3DFF); }
.FaqCat__title { margin: 0 0 8px; font-size: clamp(26px, 2vw, 28px); font-weight: var(--font-weight-medium); line-height: 1.4; color: var(--faq-text, #172033); }
.FaqCat__desc { margin: 0 0 22px; font-size: 14.5px; line-height: 1.75; color: var(--faq-text-2, #4A5A72); }
.FaqCat__list { display: flex; flex-direction: column; gap: 10px; }

/* ── 单条问答 ── */
.FaqItem { box-sizing: border-box; background: var(--faq-surface, #FFFFFF); border: 1px solid var(--faq-border, rgba(24, 45, 92, .1)); border-radius: 14px; scroll-margin-top: 104px; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.FaqItem:hover { border-color: var(--faq-border-strong, rgba(24, 45, 92, .2)); box-shadow: 0 8px 22px rgba(15, 33, 76, .05); }
.FaqItem.is-collapsed { background: var(--faq-surface-2, #F4F7FE); }
.FaqItem:not(.is-collapsed) { background: var(--faq-open, #F4F8FF); border-color: rgba(10, 61, 255, .18); }
.FaqItem__q { margin: 0; font-size: 16px; font-weight: 400; }
.FaqItem__toggle { display: flex; align-items: center; gap: 14px; width: 100%; box-sizing: border-box; min-height: 56px; padding: 15px 18px; font: inherit; font-size: 16px; font-weight: 500; color: var(--faq-text, #172033); text-align: left; background: none; border: 0; cursor: pointer; }
.FaqItem__toggle:focus-visible { outline: 2px solid var(--faq-brand, #0A3DFF); outline-offset: -2px; border-radius: 14px; }
.FaqItem__text { flex: 1 1 auto; min-width: 0; line-height: 1.6; }
.FaqItem__icon { flex: 0 0 auto; display: inline-flex; width: 22px; height: 22px; color: var(--faq-text-3, #6B7A90); transition: transform .22s cubic-bezier(.4, 0, .2, 1), color .18s ease; }
.FaqItem__icon svg { width: 22px; height: 22px; }
.FaqItem.is-collapsed .FaqItem__icon { transform: rotate(-90deg); }
.FaqItem:not(.is-collapsed) .FaqItem__icon { color: var(--faq-brand, #0A3DFF); }
/* 高度动画：0fr↔1fr，正文始终在 DOM 中（可抓取、无 JS 时由 noscript 展开） */
.FaqItem__aWrap { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .22s cubic-bezier(.4, 0, .2, 1); }
.FaqItem.is-collapsed .FaqItem__aWrap { grid-template-rows: 0fr; }
.FaqItem__a { min-height: 0; overflow: hidden; }
.FaqItem__aInner { padding: 0 18px 18px; font-size: 15.5px; line-height: 1.85; color: var(--faq-text-2, #4A5A72); }
.FaqItem__aInner p { margin: 0 0 12px; }
.FaqItem__aInner p:last-child { margin-bottom: 0; }
.FaqItem__aInner strong { font-weight: 500; color: var(--faq-text, #172033); }
.FaqItem__aInner ul, .FaqItem__aInner ol { margin: 0 0 12px; padding-left: 20px; }
.FaqItem__aInner li { margin-bottom: 6px; }

/* 参考来源 */
.FaqItem__source { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; padding-top: 12px; font-size: 14px; line-height: 1.7; color: var(--faq-text-3, #6B7A90); border-top: 1px solid var(--faq-border, rgba(24, 45, 92, .1)); }
.FaqItem__sourceLabel { flex: 0 0 auto; padding: 1px 7px; border-radius: 5px; background: rgba(24, 45, 92, .06); font-size: 14px; letter-spacing: .04em; color: #4a5a70; }
.FaqItem__source a { display: inline-flex; align-items: center; gap: 4px; color: var(--faq-brand, #0A3DFF); text-decoration: none; }
.FaqItem__source a:hover { text-decoration: underline; }
.FaqItem__sourceIcon { width: 13px; height: 13px; flex: 0 0 auto; }
.FaqItem__copy { margin-left: 8px; padding: 0; font-size: 15px; color: var(--faq-text-3, #6B7A90); background: none; border: 0; cursor: pointer; }
.FaqItem__copy:hover { color: var(--faq-brand, #0A3DFF); }

/* ── 政策与资料来源 ── */
.FaqSources { padding: clamp(56px, 5vw, 80px) 0; background: linear-gradient(180deg, #F1F5FD 0%, #F5F8FE 100%); }
.FaqSources__title { margin: 0 0 10px; font-size: var(--text-section-title); font-weight: var(--font-weight-medium); color: var(--faq-text, #172033); }
.FaqSources__desc { margin: 0 0 24px; font-size: 14.5px; line-height: 1.75; color: var(--faq-text-2, #4A5A72); }
.FaqSources__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 12px; margin: 0 0 20px; padding: 0; list-style: none; }
.FaqSources__item { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 18px; background: var(--faq-surface, #FFFFFF); border: 1px solid var(--faq-border, rgba(24, 45, 92, .1)); border-radius: 12px; }
.FaqSources__doc { min-width: 0; font-size: 14.5px; line-height: 1.6; color: var(--faq-text, #172033); }
.FaqSources__link { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 4px; font-size: 14px; color: var(--faq-brand, #0A3DFF); text-decoration: none; }
.FaqSources__link:hover { text-decoration: underline; }
.FaqSources__icon { width: 13px; height: 13px; }
.FaqSources__note { margin: 0; font-size: 15px; line-height: 1.8; color: var(--faq-text-3, #6B7A90); max-width: 860px; }

/* ── 相关资源：横向资源卡 ── */
.FaqResources { padding: clamp(56px, 5vw, 80px) 0; }
.FaqResources__title { margin: 0 0 24px; font-size: var(--text-section-title); font-weight: var(--font-weight-medium); color: var(--faq-text, #172033); }
.FaqResources__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 16px; }
.FaqResources__item { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 22px 20px; text-decoration: none; background: var(--card-surface-bg, #FFFFFF); border: 1px solid var(--card-surface-border, #E2E7F0); border-radius: var(--radius-card, 14px); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.FaqResources__item:hover { transform: translateY(-3px); border-color: rgba(36, 84, 255, .28); box-shadow: var(--card-elevated-shadow, 0 6px 24px rgba(24, 32, 51, .06)); }
.FaqResources__itemType { font-size: 14px; letter-spacing: .06em; color: var(--faq-brand, #0A3DFF); }
.FaqResources__itemTitle { font-size: 17px; line-height: 1.45; color: var(--faq-text, #172033); }
.FaqResources__itemDesc { font-size: 14px; line-height: 1.7; color: var(--faq-text-2, #4A5A72); }
.FaqResources__itemArrow { position: absolute; top: 22px; right: 20px; width: 16px; height: 16px; color: var(--faq-border-strong, rgba(24, 45, 92, .2)); transition: transform .18s ease, color .18s ease; }
.FaqResources__item:hover .FaqResources__itemArrow { transform: translateX(3px); color: var(--faq-brand, #0A3DFF); }

/* ── 内容页「相关问题」模块 ── */
.FaqRelated { margin-top: 8px; }
.FaqRelated__title { margin: 0 0 16px; font-size: 20px; font-weight: 400; color: var(--color-text-primary, #172033); }
.FaqRelated__list { display: flex; flex-direction: column; gap: 10px; }
.FaqRelated__more { margin: 16px 0 0; font-size: 14px; }
.FaqRelated__more a { color: var(--color-text-link, #0A3DFF); text-decoration: none; }
.FaqRelated__more a:hover { text-decoration: underline; }

/* ── 深色主题：整体重设，不做简单反色 ── */
html[data-theme="dark"] .FaqPage {
  --faq-surface: #0F1D33;
  --faq-surface-2: #0C1830;
  --faq-open: #14284A;
  --faq-border: rgba(153, 181, 226, .16);
  --faq-border-strong: rgba(153, 181, 226, .3);
  --faq-text: #EEF4FF;
  --faq-text-2: #C2CCE0;
  --faq-text-3: #94A3BA;
  --faq-brand: #78B8FF;
  --faq-shadow: 0 16px 40px rgba(0, 0, 0, .35);
  background: linear-gradient(180deg, #060F1F 0%, #08152B 100%);
}
html[data-theme="dark"] .FaqSources { background: linear-gradient(180deg, #081327 0%, #0A1830 100%); }
html[data-theme="dark"] .FaqItem:not(.is-collapsed) { border-color: rgba(120, 184, 255, .3); }
html[data-theme="dark"] .FaqItem__sourceLabel { background: rgba(153, 181, 226, .14); }
html[data-theme="dark"] .FaqSearch__input { box-shadow: none; }
html[data-theme="dark"] .FaqSearch__input::placeholder { color: #7C8DA6; }
html[data-theme="dark"] .GeoPageCta { background: linear-gradient(118deg, #071634 0%, #10265C 46%, #221A5E 100%); }

/* ── 响应式 ── */
@media (max-width: 1024px) {
  .FaqHeroCard { max-width: none; }
  /* 分类导航改为顶部横向可滑动 pills */
  .FaqHub__layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .FaqHub__navWrap { position: sticky; top: 72px; z-index: 5; margin: 0 -12px; padding: 10px 12px; background: rgba(247, 249, 254, .94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 1px solid var(--faq-border, rgba(24, 45, 92, .1)); }
  html[data-theme="dark"] .FaqHub__navWrap { background: rgba(8, 21, 43, .94); }
  .FaqNav__title { display: none; }
  .FaqNav { flex-direction: row; flex-wrap: nowrap; gap: 8px; overflow-x: auto; padding-bottom: 4px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .FaqNav::-webkit-scrollbar { display: none; }
  .FaqNav__item { flex: 0 0 auto; white-space: nowrap; gap: 8px; padding: 9px 14px; border-radius: 999px; background: var(--faq-surface, #FFFFFF); border: 1px solid var(--faq-border, rgba(24, 45, 92, .1)); }
  .FaqNav__index { display: none; }
  .FaqCat { scroll-margin-top: 148px; }
  .FaqItem { scroll-margin-top: 148px; }
}
@media (max-width: 768px) {
  .FaqSearch__input { height: 54px; padding: 0 50px; }
  .FaqCat__title { font-size: 21px; }
  .FaqResources__grid { grid-template-columns: minmax(0, 1fr); }
  .FaqSources__list { grid-template-columns: minmax(0, 1fr); }
  .FaqItem__toggle { font-size: 15.5px; padding: 14px 16px; }
  .FaqItem__aInner { padding: 0 16px 16px; font-size: 15px; }
}
@media (max-width: 480px) {
  .FaqHub__navWrap { margin: 0 -10px; padding: 10px; }
  .FaqItem__copy { display: none; }
  .FaqSources__item { flex-direction: column; align-items: flex-start; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .FaqItem__aWrap,
  .FaqItem__icon,
  .FaqResources__item { transition: none; }
}

/* Typography 2.0 */
:root {
  /* ── 语义层级：Display / Section / Module ── */
  --typo-display: clamp(38px, 3.6vw, 54px);
  --typo-display-line: 1.16;
  --typo-display-weight: 600;
  --typo-display-tracking: -0.02em;

  --typo-section: clamp(32px, 2.9vw, 44px);
  --typo-section-line: 1.24;
  --typo-section-weight: 600;
  --typo-section-tracking: -0.015em;

  --typo-module: clamp(22px, 1.7vw, 28px);
  --typo-module-line: 1.4;
  --typo-module-weight: 600;

  /* ── 语义层级：Lead / Body / Supporting ── */
  --typo-lead: 19px;
  --typo-lead-line: 1.7;
  --typo-lead-weight: 400;

  --typo-body: 17px;
  --typo-body-line: 1.75;
  --typo-body-weight: 400;

  --typo-supporting: 17px;
  --typo-supporting-line: 1.65;
  --typo-supporting-weight: 400;

  /* ── 功能文字：Nav / Button / Tag / Meta / Caption ── */
  --typo-nav: 16px;
  --typo-nav-weight: 500;
  --typo-button: 16px;
  --typo-button-lg: 16px;
  --typo-button-weight: 600;
  --typo-tag: 15px;
  --typo-tag-weight: 500;
  --typo-meta: 15px;
  --typo-meta-weight: 400;
  --typo-caption: 13px;          /* 仅 Footer 法务 / 图注 / 非核心来源 */
  --typo-footer-link: 14px;

  /* ── 图表 / SVG 节点 ── */
  --typo-diagram-title: 16px;
  --typo-diagram-title-line: 1.35;
  --typo-diagram-desc: 15px;
  --typo-diagram-desc-line: 1.45;
  --typo-diagram-center-title: 18px;
  --typo-diagram-center-desc: 15px;

  /* ── 字重收敛：仅保留 400 / 500 / 600（700 仅重要数字） ── */
  --font-weight-light: 400;
  --font-weight-book: 400;

  /* 字号下限修正 */
  --text-xs: 0.875rem;                          /* 12 → 14 */
  --text-small: clamp(16px, 1.05vw, 18px);      /* 13 → >=14 */
  --text-sm: 0.875rem;                          /* 14 */
  --text-body: clamp(17px, 1.15vw, 19px);        /* 15.5 → >=16 */
  --text-lead: clamp(19px, 1.3vw, 23px);
  --text-nav: clamp(16px, 0.95vw, 18px);
  --text-btn: clamp(16px, 0.95vw, 18px);
  --text-card-title: clamp(22px, 1.7vw, 28px);
  --text-section-title: clamp(32px, 2.9vw, 44px);
  --text-hero-inner: clamp(38px, 3.6vw, 54px);
}

/* ── 语义类：相同语义必须调用同一类 ── */
.typo-display {
  font-family: var(--font-display);
  font-size: var(--typo-display);
  font-weight: var(--typo-display-weight);
  line-height: var(--typo-display-line);
  letter-spacing: var(--typo-display-tracking);
}

.typo-section {
  font-family: var(--font-display);
  font-size: var(--typo-section);
  font-weight: var(--typo-section-weight);
  line-height: var(--typo-section-line);
  letter-spacing: var(--typo-section-tracking);
}

.typo-module {
  font-size: var(--typo-module);
  font-weight: var(--typo-module-weight);
  line-height: var(--typo-module-line);
  letter-spacing: 0;
}

.typo-lead {
  font-size: var(--typo-lead);
  font-weight: var(--typo-lead-weight);
  line-height: var(--typo-lead-line);
  letter-spacing: 0;
}

.typo-body {
  font-size: var(--typo-body);
  font-weight: var(--typo-body-weight);
  line-height: var(--typo-body-line);
  letter-spacing: 0;
}

.typo-supporting {
  font-size: var(--typo-supporting);
  font-weight: var(--typo-supporting-weight);
  line-height: var(--typo-supporting-line);
  letter-spacing: 0;
}

.typo-nav {
  font-size: var(--typo-nav);
  font-weight: var(--typo-nav-weight);
  line-height: 1.4;
  letter-spacing: 0;
}

.typo-button {
  font-size: var(--typo-button);
  font-weight: var(--typo-button-weight);
  line-height: 1.2;
  letter-spacing: 0;
}

.typo-tag {
  font-size: var(--typo-tag);
  font-weight: var(--typo-tag-weight);
  line-height: 1.4;
  letter-spacing: 0;
}

.typo-meta {
  font-size: var(--typo-meta);
  font-weight: var(--typo-meta-weight);
  line-height: 1.5;
  letter-spacing: 0;
}

/* 图表 / SVG 节点 */
.typo-diagram-title {
  font-size: var(--typo-diagram-title);
  font-weight: 600;
  line-height: var(--typo-diagram-title-line);
  letter-spacing: 0;
}

.typo-diagram-desc {
  font-size: var(--typo-diagram-desc);
  font-weight: 400;
  line-height: var(--typo-diagram-desc-line);
  letter-spacing: 0;
}

/* ── 次级文字对比度：正文/说明不用极浅灰 ── */
:root {
  --color-text-tertiary: #5B6678;
}

/* ── 全局字体 ── */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* SVG 内文字 */
svg text { font-family: var(--font-body); }

@media (max-width: 767px) {
  /* Mobile 不整体缩小正文：正文仍 16px，说明仍 15px，Tag 仍 14px */
  .typo-body { font-size: 16px; }
  .typo-supporting { font-size: 15px; }
  .typo-tag, .typo-meta { font-size: 14px; }
  .typo-diagram-desc { font-size: 14px; }
}
