/* 本文件已由 scripts/scope-landing-css.mjs 加 .tb-landingpage 作用域；从兄弟仓同步后须重跑该脚本，勿手改 */
/* =========================================================
   TradeBB 落地页参考样式（richtext 模式，给前端）
   - 正文 HTML 来自 CMS（tools/landing-to-html.pl 生成的 <slug>.cms.json → richtext_html），只有语义标签 + 固定 lp- class，无内联样式
   - 前端把 richtext 放进 <main class="tb-landingpage" data-theme="violet|midnight|editorial|grid">；主题来自 cms.json 的 theme 字段
   - 有交互的页面：richtext 里有 <div class="lp-widget" data-widget="…">，页面另外加载 cms.json assets 里的 js / css，由 js 挂载
   - 四套主题与 设计素材/demo-落地页/renderer.js 的 THEMES 同一套取值；class 名不要改
   ========================================================= */
.tb-landingpage { --lp-brand:#5e4cff; --lp-brand-2:#1a00ff; --lp-ink:#0f172a; --lp-text:#475569; --lp-line:#e2e8f0; --lp-soft:#f4f4ff; --lp-soft-2:#fbfbff;
  --lp-hero-bg:#fbfbff; --lp-hero-ink:var(--lp-ink); --lp-hero-text:var(--lp-text); --lp-band-bg:linear-gradient(135deg,#8b4bff,#1d03ff); --lp-btn-bg:linear-gradient(90deg,#8e4cff,#1a00ff);
  --lp-font-display:"Plus Jakarta Sans", Inter, sans-serif; --lp-font-sans:Inter, system-ui, sans-serif; --lp-radius:16px; --lp-shadow:0 20px 40px rgba(94,76,255,.14);
  color:var(--lp-text); font:17px/1.7 var(--lp-font-sans); -webkit-font-smoothing:antialiased; }
.tb-landingpage[data-theme="midnight"] { --lp-ink:#0b1020; --lp-text:#54607a; --lp-soft:#f7f8fc; --lp-soft-2:#fff; --lp-hero-bg:radial-gradient(1100px 480px at 80% 0%, rgba(94,76,255,.35), transparent 60%), #0b1020; --lp-hero-ink:#fff; --lp-hero-text:#b8c0d9;
  --lp-band-bg:radial-gradient(900px 400px at 50% 0%, rgba(94,76,255,.45), transparent 70%), #0b1020; --lp-btn-bg:#5e4cff; --lp-font-display:Manrope, Inter, sans-serif; --lp-radius:14px; --lp-shadow:0 24px 48px rgba(11,16,32,.12); }
.tb-landingpage[data-theme="editorial"] { --lp-ink:#1c1917; --lp-text:#57534e; --lp-line:#e4ded3; --lp-soft:#f6f1e8; --lp-soft-2:#fbf8f3; --lp-hero-bg:#fbf8f3; --lp-band-bg:#1c1917; --lp-btn-bg:#1c1917;
  --lp-font-display:Fraunces, Georgia, serif; --lp-radius:8px; --lp-shadow:none; background:#fbf8f3; }
.tb-landingpage[data-theme="grid"] { --lp-brand:#4f46e5; --lp-ink:#0f172a; --lp-text:#475569; --lp-soft:#f8fafc; --lp-soft-2:#fff; --lp-btn-bg:#4f46e5;
  --lp-hero-bg:#fff linear-gradient(rgba(79,70,229,.07) 1px, transparent 1px) 0 0 / 32px 32px, linear-gradient(90deg, rgba(79,70,229,.07) 1px, transparent 1px) 0 0 / 32px 32px;
  --lp-band-bg:#0f172a linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px) 0 0 / 32px 32px; --lp-font-display:"Space Grotesk", Inter, sans-serif; --lp-radius:12px; --lp-shadow:0 18px 36px rgba(15,23,42,.10); }

.tb-landingpage a { color:var(--lp-brand); font-weight:600; text-decoration:none; } .tb-landingpage a:hover { text-decoration:underline; }
.tb-landingpage h1, .tb-landingpage h2, .tb-landingpage h3 { font-family:var(--lp-font-display); color:var(--lp-ink); letter-spacing:-.015em; }
.tb-landingpage strong { color:var(--lp-ink); font-weight:600; }
.tb-landingpage > section { padding:72px 20px; }
.tb-landingpage > section > * { max-width:1080px; margin-left:auto; margin-right:auto; }
.tb-landingpage > section:nth-of-type(even):not(.lp-hero):not(.lp-cta) { background:var(--lp-soft-2); }
.tb-landingpage > section:nth-of-type(odd):not(.lp-hero):not(.lp-cta) { background:#fff; }
.tb-landingpage[data-theme="editorial"] > section:not(.lp-hero):not(.lp-cta):not(.lp-sources) { border-top:1px solid var(--lp-line); background:transparent; }

/* 眉标（分区标签）：<p class="lp-eyebrow">THE FORMULA</p> */
/* 2026-10-24：标签做成胶囊（圆角背景 + 细边 + 小圆点），不再是光秃秃的一行字；居中节里居中，左右图文 / 首屏左栏里左对齐 */
.tb-landingpage .lp-eyebrow { display:table; margin:0 auto 16px !important; padding:6px 14px 6px 12px; border-radius:999px; font-size:12px; line-height:1.4; font-weight:700; letter-spacing:.12em; text-transform:uppercase; text-align:center;
  color:var(--lp-brand); background:color-mix(in srgb, var(--lp-brand) 8%, #fff); border:1px solid color-mix(in srgb, var(--lp-brand) 22%, #fff); box-shadow:0 1px 2px rgba(15,23,42,.04); }
.tb-landingpage .lp-eyebrow::before { content:''; display:inline-block; width:6px; height:6px; margin:0 8px 1px 0; border-radius:50%; vertical-align:middle; background:var(--lp-btn-bg); }
.tb-landingpage[data-theme="grid"] .lp-eyebrow { font-family:"JetBrains Mono", monospace; letter-spacing:.08em; border-radius:8px; }
.tb-landingpage[data-theme="midnight"] .lp-hero .lp-eyebrow { color:#c7c2ff; background:rgba(94,76,255,.16); border-color:rgba(199,194,255,.3); }
.tb-landingpage[data-theme="editorial"] .lp-eyebrow { font-family:Fraunces, Georgia, serif; font-style:italic; text-transform:none; letter-spacing:.02em; font-weight:500; font-size:14px; color:#8a6f50; background:#f6efe3; border-color:#e4d7c3; }
.tb-landingpage[data-theme="editorial"] .lp-eyebrow::before { background:#8a6f50; }
.tb-landingpage .lp-feature-text .lp-eyebrow, .tb-landingpage .lp-hero--split .lp-eyebrow { margin:0 0 16px !important; }
.tb-landingpage .lp-section > h2, .tb-landingpage .lp-faq > h2 { text-align:center; font-size:clamp(28px,4vw,42px); line-height:1.2; margin-top:0; margin-bottom:22px; }
.tb-landingpage .lp-section > p, .tb-landingpage .lp-section > ul, .tb-landingpage .lp-section > ol, .tb-landingpage .lp-section > .lp-formula, .tb-landingpage .lp-section > .lp-table { max-width:760px; }

/* 首屏：<section class="lp-hero"> 眉标 + h1 + .lp-subtitle + .lp-definition + 挂件 + .lp-result-cta + .lp-note */
.tb-landingpage .lp-hero { background:var(--lp-hero-bg); padding-top:64px !important; text-align:center; }
.tb-landingpage .lp-hero h1 { color:var(--lp-hero-ink); font-size:clamp(36px,5.5vw,56px); line-height:1.1; margin:0 auto 16px; max-width:820px; }
.tb-landingpage .lp-hero .lp-subtitle { color:var(--lp-hero-text); font-size:20px; line-height:1.55; max-width:680px; margin:0 auto 14px; }
.tb-landingpage .lp-hero .lp-definition { color:var(--lp-hero-text); font-size:15.5px; line-height:1.65; max-width:680px; margin:0 auto 34px; }
.tb-landingpage .lp-hero .lp-note { font-size:13.5px; color:var(--lp-hero-text); opacity:.85; margin:18px auto 0; }
/* 首屏背景图版（2026-10-28，/integrations，MD 写"首屏背景：brokers"）：沿用线上的券商 Logo 背景——桌面 Logo 在左右两侧、手机在下方；文字收窄放进中间空白。图在图片云 images/integrations/（预览页内嵌） */
.tb-landingpage .lp-hero--bg-brokers { background:#fff url(https://static.tradebb.ai/images/integrations/brokers-hero-background.webp) 50% 50% / contain no-repeat; min-height:520px; display:flex; flex-direction:column; justify-content:center; padding-bottom:64px !important; }
.tb-landingpage .lp-hero--bg-brokers h1 { font-size:clamp(30px,3.1vw,40px); max-width:460px; }
.tb-landingpage .lp-hero--bg-brokers .lp-subtitle { font-size:17px; max-width:430px; }
.tb-landingpage .lp-hero--bg-brokers::before, .tb-landingpage .lp-hero--bg-brokers::after { display:none; }   /* 背景图本身就是装饰，不再叠光晕和网格 */
@media (max-width:1000px) {
  .tb-landingpage .lp-hero--bg-brokers { background-image:url(https://static.tradebb.ai/images/integrations/brokers-hero-background-mobile.webp); background-position:50% 100%; background-size:min(100%,560px) auto; min-height:0; display:block; padding-top:40px !important; padding-bottom:calc(min(100vw,560px) * .9) !important; }
  .tb-landingpage .lp-hero--bg-brokers h1, .tb-landingpage .lp-hero--bg-brokers .lp-subtitle { max-width:560px; }
}
/* 首屏叠加小卡（2026-10-28，首页；沿用线上做法）：<figure class="lp-figure lp-figure--composite lp-hero-stack"><img 主图><span class="lp-hero-card lp-hero-card--tr|bl"><img></span></figure>
   主图右上一张、左侧偏下一张；全边细框 + 半透明浅底（不用单边色条）；手机上隐藏，只留主图 */
.tb-landingpage .lp-hero-stack { position:relative; overflow:visible; }
.tb-landingpage .lp-hero-card { position:absolute; z-index:1; width:min(196px, 34%); box-sizing:border-box; padding:6px; border:1px solid var(--lp-brand); border-radius:12px; background:rgba(243,243,255,.9); box-shadow:0 12px 24px rgba(94,76,255,.18); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.tb-landingpage .lp-hero-card img { display:block; width:100%; height:auto; border-radius:8px; box-shadow:0 1px 2px rgba(15,23,42,.06); }
.tb-landingpage .lp-hero-card--tr { top:-32px; right:8px; }
.tb-landingpage .lp-hero-card--bl { bottom:25%; left:-32px; }
@media (max-width:767px) { .tb-landingpage .lp-hero-card { display:none; } }
/* 首屏有主视觉图时：左文右图（<section class="lp-hero lp-hero--split"><div class="lp-hero-body"><div class="lp-hero-text">…</div><figure class="lp-figure">…</figure></div>） */
.tb-landingpage .lp-hero--split { text-align:left; padding-bottom:80px !important; }
.tb-landingpage .lp-hero--split > .lp-hero-body { max-width:1160px; margin:0 auto; display:grid; gap:44px; align-items:center; }
@media (min-width:1000px) { .tb-landingpage .lp-hero--split > .lp-hero-body { grid-template-columns:minmax(0,5fr) minmax(0,6.4fr); gap:56px; } }
.tb-landingpage .lp-hero--split h1 { font-size:clamp(34px,4.1vw,52px); line-height:1.08; margin:0 0 18px; max-width:none; }
.tb-landingpage .lp-hero--split .lp-subtitle { font-size:18.5px; margin:0 0 26px; max-width:560px; }
.tb-landingpage .lp-hero--split .lp-definition { margin:0 0 26px; max-width:560px; }
.tb-landingpage .lp-hero--split .lp-hero-text > p:has(> .lp-btn) { margin:0; }
.tb-landingpage .lp-hero--split .lp-figure { box-shadow:0 30px 60px -18px rgba(30,27,75,.28); }
/* 挂件挂载点：<div class="lp-widget" data-widget="consistency-rule-calculator"></div>（js 未加载时显示虚线占位） */
.tb-landingpage .lp-widget { max-width:1000px; margin:0 auto; text-align:left; }
.tb-landingpage .lp-widget:empty { min-height:220px; border:2px dashed #c7c2ff; border-radius:var(--lp-radius); background:rgba(255,255,255,.6); }
/* 结果旁注册入口：<aside class="lp-result-cta"><p>…</p><p><a class="lp-btn">…</a></p></aside>（挂件 js 会把它移到结果卡下方） */
.tb-landingpage .lp-result-cta { max-width:1000px; margin:16px auto 0; padding:18px 22px; border:1px solid var(--lp-line); border-radius:var(--lp-radius); background:#fff; display:flex; gap:18px; align-items:center; justify-content:space-between; text-align:left; }
.tb-landingpage .lp-result-cta p { margin:0; color:var(--lp-text); } .tb-landingpage .lp-result-cta p:last-child { flex:none; }

/* 按钮 */
.tb-landingpage .lp-btn { display:inline-flex; align-items:center; gap:8px; background:var(--lp-btn-bg); color:#fff !important; font-weight:700; padding:13px 22px; border-radius:10px; box-shadow:0 10px 20px rgba(94,76,255,.25); text-decoration:none !important; }
.tb-landingpage[data-theme="editorial"] .lp-btn { border-radius:999px; box-shadow:none; }

/* 正文组件 */
.tb-landingpage .lp-formula { padding:20px 24px; background:var(--lp-soft); border:1px solid var(--lp-ring); border-radius:14px; font-size:20px; text-align:center; margin-top:8px; margin-bottom:22px; }
.tb-landingpage .lp-table { overflow-x:auto; border:1px solid var(--lp-line); border-radius:12px; margin-top:8px; margin-bottom:22px; background:#fff; }
.tb-landingpage .lp-table table { width:100%; border-collapse:collapse; font-size:15px; line-height:1.5; }
.tb-landingpage .lp-table th { text-align:left; background:var(--lp-soft); color:var(--lp-ink); font-weight:600; padding:12px 14px; border-bottom:1px solid var(--lp-line); }
.tb-landingpage .lp-table td { padding:11px 14px; border-bottom:1px solid var(--lp-line); vertical-align:top; } .tb-landingpage .lp-table tr:last-child td { border-bottom:0; }
.tb-landingpage .lp-section ul li::marker, .tb-landingpage .lp-section ol li::marker { color:var(--lp-brand); }
.tb-landingpage .lp-inline-cta { text-align:center; } .tb-landingpage .lp-inline-cta a { font-size:17px; }

/* 图文节：<section class="lp-feature lp-feature--image-right|image-left|stacked"><div class="lp-feature-text">…</div><figure class="lp-figure">…</figure></section> */
.tb-landingpage .lp-feature > .lp-feature-body { display:grid; gap:48px; align-items:center; }
@media (min-width:960px) { .tb-landingpage .lp-feature--image-right > .lp-feature-body { grid-template-columns:5fr 7fr; } .tb-landingpage .lp-feature--image-left > .lp-feature-body { grid-template-columns:7fr 5fr; } .tb-landingpage .lp-feature--image-left .lp-figure { order:-1; } }
.tb-landingpage .lp-feature h2 { font-size:clamp(26px,3.4vw,38px); line-height:1.2; margin:0 0 14px; }
/* 2026-10-24：左右图文的标题在文字栏里左对齐；正文收紧一档，让文字栏高度与图片接近（不再明显高出图片） */
.tb-landingpage .lp-feature .lp-feature-text h2 { text-align:left; font-size:clamp(26px,2.9vw,34px); line-height:1.18; margin:0 0 14px; }
.tb-landingpage .lp-feature .lp-feature-text p, .tb-landingpage .lp-feature .lp-feature-text li { font-size:16px; line-height:1.6; }
.tb-landingpage .lp-feature .lp-feature-text p { margin:0 0 14px; }
.tb-landingpage .lp-feature .lp-feature-text ul { margin:0 0 14px; padding-left:20px; } .tb-landingpage .lp-feature .lp-feature-text li { margin:0 0 6px; }
.tb-landingpage .lp-feature .lp-feature-text > :last-child { margin-bottom:0; }
@media (min-width:960px) { .tb-landingpage .lp-feature > .lp-feature-body { gap:56px; } .tb-landingpage .lp-feature--image-right > .lp-feature-body, .tb-landingpage .lp-feature--image-left > .lp-feature-body { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
.tb-landingpage .lp-feature > .lp-feature-body { max-width:1160px; }
.tb-landingpage .lp-figure { margin:0; border:1px solid var(--lp-line); border-radius:var(--lp-radius); padding:10px; background:#fff; box-shadow:var(--lp-shadow); }
.tb-landingpage .lp-figure img, .tb-landingpage .lp-figure svg { display:block; width:100%; height:auto; border-radius:8px; }
.tb-landingpage .lp-figure figcaption { font-size:13.5px; color:var(--lp-text); margin:8px 4px 0; font-style:italic; }

/* FAQ：<section class="lp-faq"><h2>…</h2><div class="lp-faq-list"><h3>问</h3><p>答</p>…</div></section> */
.tb-landingpage .lp-faq-list { max-width:820px; border-top:1px solid var(--lp-line); }
.tb-landingpage .lp-faq-list h3 { font-family:var(--lp-font-sans); font-size:18px; letter-spacing:0; margin:0; padding:20px 0 6px; }
.tb-landingpage .lp-faq-list p { margin:0; padding-bottom:20px; border-bottom:1px solid var(--lp-line); }

/* 收尾 CTA：<section class="lp-cta"><h2>…</h2><p>…</p><p><a class="lp-btn">…</a></p><p class="lp-below">…</p></section> */
/* 2026-10-24 改版：不再是整条色带，而是浮在页面上的大卡片 + 两层装饰（::before 光晕 / 纹理，::after 点阵 / 网格 / 引号 / 光线），每个主题一套视觉 */
.tb-landingpage > section.lp-cta { position:relative; overflow:hidden; isolation:isolate; text-align:center;
  max-width:1160px; margin:32px auto 80px; padding:104px 32px 96px; border-radius:28px; background:var(--lp-band-bg); }
@media (max-width:700px) { .tb-landingpage > section.lp-cta { margin:16px 20px 56px; padding:72px 22px 64px; border-radius:22px; } }
.tb-landingpage .lp-cta::before, .tb-landingpage .lp-cta::after { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; }
.tb-landingpage .lp-cta > * { position:relative; }
.tb-landingpage .lp-cta h2 { color:#fff; font-size:clamp(34px,5vw,58px); line-height:1.08; letter-spacing:-.025em; margin:0 auto 18px; max-width:820px; }
.tb-landingpage .lp-cta p { color:rgba(255,255,255,.82); font-size:18px; margin:0 auto 30px; max-width:600px; }
.tb-landingpage .lp-cta .lp-btn { font-size:17px; padding:16px 30px; border-radius:12px; transition:transform .15s, box-shadow .15s; }
.tb-landingpage .lp-cta .lp-btn:hover { transform:translateY(-2px); }
.tb-landingpage .lp-cta .lp-below { margin:22px auto 0; font-size:15px; }
.tb-landingpage .lp-cta .lp-below a { color:rgba(255,255,255,.78); font-weight:500; text-decoration:underline; text-decoration-color:rgba(255,255,255,.35); text-underline-offset:4px; }

/* violet：紫蓝渐变 + 白 / 粉紫两团柔光 + 淡点阵（中心最清楚，往外淡出） */
.tb-landingpage[data-theme="violet"] > section.lp-cta { background:linear-gradient(135deg,#7b3cff 0%,#4a1fff 50%,#1a00ff 100%); box-shadow:0 40px 80px -20px rgba(70,40,255,.45); }
.tb-landingpage[data-theme="violet"] .lp-cta::before { background:radial-gradient(520px 300px at 12% 0%, rgba(255,255,255,.28), transparent 70%), radial-gradient(560px 340px at 92% 110%, rgba(255,120,220,.45), transparent 70%); }
.tb-landingpage[data-theme="violet"] .lp-cta::after { background:radial-gradient(rgba(255,255,255,.22) 1.2px, transparent 1.6px) 0 0 / 22px 22px; -webkit-mask-image:radial-gradient(ellipse at center, #000 30%, transparent 75%); mask-image:radial-gradient(ellipse at center, #000 30%, transparent 75%); }
.tb-landingpage[data-theme="violet"] .lp-cta .lp-btn { background:#fff; color:#4a1fff !important; box-shadow:0 14px 30px rgba(20,0,120,.35); }

/* midnight：深海军蓝 + 紫 / 天蓝两道极光 + 顶边高光 + 中心淡出的暗网格；标题渐变字、按钮发光 */
.tb-landingpage[data-theme="midnight"] > section.lp-cta { background:#0b1020; border:1px solid rgba(255,255,255,.08); box-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 40px 80px -24px rgba(11,16,32,.55); }
.tb-landingpage[data-theme="midnight"] .lp-cta::before { background:radial-gradient(620px 320px at 18% -10%, rgba(94,76,255,.6), transparent 70%), radial-gradient(560px 320px at 88% 115%, rgba(56,189,248,.38), transparent 70%); }
.tb-landingpage[data-theme="midnight"] .lp-cta::after { background:linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px) 0 0 / 40px 40px, linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px) 0 0 / 40px 40px; -webkit-mask-image:radial-gradient(ellipse at center, #000 20%, transparent 70%); mask-image:radial-gradient(ellipse at center, #000 20%, transparent 70%); }
.tb-landingpage[data-theme="midnight"] .lp-cta h2 { background:linear-gradient(180deg,#fff 30%,#b9b0ff 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.tb-landingpage[data-theme="midnight"] .lp-cta p { color:#b8c0d9; }
.tb-landingpage[data-theme="midnight"] .lp-cta .lp-btn { background:#5e4cff; color:#fff !important; box-shadow:0 0 0 6px rgba(94,76,255,.18), 0 18px 40px rgba(94,76,255,.55); }

/* editorial：暖米色纸面 + 内嵌细线框 + 超大淡色衬线引号；墨黑衬线标题、黑胶囊按钮，像杂志版式 */
.tb-landingpage[data-theme="editorial"] > section.lp-cta { background:#f3ece0; border:1px solid #d9cdb9; border-radius:24px; }
.tb-landingpage[data-theme="editorial"] .lp-cta::before { inset:12px; border:1px solid #d9cdb9; border-radius:16px; }
.tb-landingpage[data-theme="editorial"] .lp-cta::after { content:'\201C'; inset:auto auto auto 28px; top:-40px; font:600 280px/1 Fraunces, Georgia, serif; color:rgba(28,25,23,.06); }
.tb-landingpage[data-theme="editorial"] .lp-cta h2 { color:#1c1917; font-weight:600; letter-spacing:-.015em; }
.tb-landingpage[data-theme="editorial"] .lp-cta p { color:#57534e; }
.tb-landingpage[data-theme="editorial"] .lp-cta .lp-btn { background:#1c1917; color:#fbf8f3 !important; border-radius:999px; box-shadow:none; }
.tb-landingpage[data-theme="editorial"] .lp-cta .lp-below a { color:#1c1917; text-decoration-color:#bfae93; }

/* grid：深石板色 + 中心淡出的网格 + 顶边靛蓝→青色光线 + 中央靛蓝柔光 */
.tb-landingpage[data-theme="grid"] > section.lp-cta { background:radial-gradient(600px 300px at 50% 40%, rgba(79,70,229,.35), transparent 70%), #0f172a; border-radius:20px; box-shadow:0 40px 80px -24px rgba(15,23,42,.5); }
.tb-landingpage[data-theme="grid"] .lp-cta::before { background:linear-gradient(rgba(148,163,184,.12) 1px, transparent 1px) 0 0 / 32px 32px, linear-gradient(90deg, rgba(148,163,184,.12) 1px, transparent 1px) 0 0 / 32px 32px; -webkit-mask-image:radial-gradient(ellipse at center, #000 25%, transparent 72%); mask-image:radial-gradient(ellipse at center, #000 25%, transparent 72%); }
.tb-landingpage[data-theme="grid"] .lp-cta p { color:#cbd5e1; }
.tb-landingpage[data-theme="grid"] .lp-cta .lp-btn { background:#4f46e5; color:#fff !important; border-radius:10px; box-shadow:inset 0 1px 0 rgba(255,255,255,.25), 0 14px 30px rgba(79,70,229,.45); }

/* 来源小字（页尾，CTA 之后）：<section class="lp-sources"><p>…</p></section> */
.tb-landingpage > section.lp-sources { padding:28px 20px 36px; background:#fff; border-top:1px solid var(--lp-line); }
.tb-landingpage .lp-sources p { max-width:820px; font-size:13px; line-height:1.6; color:#64748b; margin:0 auto 6px; }

/* ---------- 2026-10-24 试点四页新增组件（颜色全部取主题变量，四套主题自动适配） ---------- */
/* 两栏：<div class="lp-cols"><div class="lp-col"><p><strong>小标题</strong></p><ul>…</ul></div>…</div>（FIT、"Arrives on its own / You add"） */
.tb-landingpage .lp-cols { display:grid; gap:20px; max-width:960px; }
@media (min-width:760px) { .tb-landingpage .lp-cols { grid-template-columns:1fr 1fr; } }
.tb-landingpage .lp-col { border:1px solid var(--lp-line); border-radius:var(--lp-radius); padding:22px 24px 8px; background:#fff; }
.tb-landingpage .lp-col > p:first-child { margin:0 0 6px; font-size:15px; letter-spacing:.02em; }
.tb-landingpage .lp-col > p:first-child strong { color:var(--lp-brand); }
.tb-landingpage .lp-col ul { padding-left:20px; margin:0 0 14px; }
/* 节末纯按钮：<p class="lp-section-cta"><a class="lp-btn">…</a></p> */
.tb-landingpage .lp-section-cta { text-align:center; margin-top:40px !important; }
/* 并排按钮：<p class="lp-btns"><a class="lp-btn">…</a><a class="lp-btn lp-btn--ghost">…</a></p>（2026-10-26，模板页：下载 / 复制模板 + 注册） */
.tb-landingpage .lp-btns { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:24px !important; }
.tb-landingpage .lp-hero:not(.lp-hero--split) .lp-btns, .tb-landingpage .lp-cta .lp-btns, .tb-landingpage .lp-section > .lp-btns { justify-content:center; margin-left:auto !important; margin-right:auto !important; }

.tb-landingpage .lp-btn.lp-btn--ghost { background:#fff; color:var(--lp-brand) !important; border:1px solid color-mix(in srgb, var(--lp-brand) 35%, transparent); box-shadow:0 6px 16px -10px rgba(94,76,255,.45); }
.tb-landingpage .lp-btn.lp-btn--ghost:hover { border-color:var(--lp-brand); }
.tb-landingpage .lp-cta .lp-btn.lp-btn--ghost { background:rgba(255,255,255,.12); color:#fff !important; border:1px solid rgba(255,255,255,.5); box-shadow:none; }   /* 选择器加 .tb-landingpage，压过各主题 CTA 按钮规则 */
.tb-landingpage .lp-feature-text .lp-section-cta { text-align:left; margin:28px 0 0 !important; }   /* 左右图文节：按钮在文字栏里、跟文字左对齐（2026-10-26） */
.tb-landingpage p.lp-eyebrow { font-size:12px; line-height:1.4; }   /* 2026-10-26：左右图文节里 .lp-feature-text p 会把标签放大到 16px，这里统一回 12px，和居中节一致 */
.tb-landingpage .lp-section p.lp-lead { text-align:center; margin-left:auto; margin-right:auto; text-wrap:balance; }   /* 居中标题下的短导语（≤160 字符）一起居中（2026-10-26） */
/* 三卡并排：<div class="lp-cards"><div class="lp-card"><p class="lp-card-label">…</p><p class="lp-card-quote">“…”</p><p>…</p></div>…</div> */
.tb-landingpage .lp-cards { display:grid; gap:20px; }
@media (min-width:860px) { .tb-landingpage .lp-cards { grid-template-columns:repeat(3, 1fr); } }
.tb-landingpage .lp-card { position:relative; border:1px solid var(--lp-line); border-radius:var(--lp-radius); padding:26px 24px 10px; background:#fff; box-shadow:var(--lp-shadow); }
.tb-landingpage .lp-card-label { margin:0 0 10px; font-size:12.5px; font-weight:800; letter-spacing:.14em; color:var(--lp-brand); }
.tb-landingpage .lp-card-quote { margin:0 0 12px; font-family:var(--lp-font-display); font-size:19px; line-height:1.35; color:var(--lp-ink); font-weight:600; }
.tb-landingpage .lp-card p { font-size:15.5px; }
/* 证言：<div class="lp-quotes"><figure class="lp-quote"><blockquote><p>…</p></blockquote><figcaption><span class="lp-quote-avatar">RO</span><span><strong>…</strong> · …</span></figcaption></figure>…</div> */
.tb-landingpage .lp-quotes { display:grid; gap:20px; }
@media (min-width:760px) { .tb-landingpage .lp-quotes { grid-template-columns:repeat(2, 1fr); } }
@media (min-width:1080px) { .tb-landingpage .lp-quotes { grid-template-columns:repeat(3, 1fr); } }
.tb-landingpage .lp-quote { margin:0; display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--lp-line); border-radius:var(--lp-radius); padding:24px; background:#fff; }
.tb-landingpage .lp-quote blockquote { margin:0 0 18px; } .tb-landingpage .lp-quote blockquote p { margin:0; font-size:16px; line-height:1.65; color:var(--lp-ink); }
.tb-landingpage .lp-quote figcaption { display:flex; align-items:center; gap:12px; font-size:13.5px; line-height:1.45; }
.tb-landingpage .lp-quote-avatar { flex:none; width:38px; height:38px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:#fff; background:var(--lp-btn-bg); }
/* 产品导览 Tab：<div class="lp-tabs" data-widget="tabs"><div class="lp-tab" data-tab="Dashboard"><div class="lp-tab-text"><h3>…</h3><p>…</p></div><figure class="lp-figure">…</figure></div>…</div>
   没有 JS 时六块依次排开（内容都在 HTML 里，SEO 不受影响）；public/js/tabs.js 加上标签条、一次显示一块 */
.tb-landingpage .lp-tabs { display:grid; gap:40px; }
.tb-landingpage .lp-tab { display:grid; gap:32px; align-items:center; }
@media (min-width:960px) { .tb-landingpage .lp-tab { grid-template-columns:5fr 7fr; } }
.tb-landingpage .lp-tab-text h3 { font-size:clamp(22px,2.6vw,28px); line-height:1.25; margin:0 0 10px; }

/* =========================================================
   2026-10-24 视觉系统（用户：排版、图片、设计元素——箭头、图形、渐变背景——要有高级感，并且视觉对齐）
   一套规则管四件事：① 统一内容宽度与对齐 ② 图片"展台" ③ 首屏与节背景的装饰图形 ④ 列表 / 卡片 / 证言 / FAQ / 按钮的细节
   颜色全部来自主题变量（--lp-brand / --lp-btn-bg / --lp-line …），四套主题自动适配；editorial 在末尾单独收敛
   ========================================================= */
.tb-landingpage { --lp-wide:1120px; --lp-read:740px;
  --lp-tint:color-mix(in srgb, var(--lp-brand) 7%, #fff); --lp-tint-2:color-mix(in srgb, var(--lp-brand) 14%, #fff); --lp-ring:color-mix(in srgb, var(--lp-brand) 18%, #fff); }

/* ① 对齐：所有宽元素同一条左右边线（--lp-wide），阅读段落同一宽度（--lp-read）居中 */
.tb-landingpage > section > * { max-width:var(--lp-wide); }
.tb-landingpage .lp-section > p, .tb-landingpage .lp-section > ul, .tb-landingpage .lp-section > ol, .tb-landingpage .lp-section > h3, .tb-landingpage .lp-section > .lp-formula, .tb-landingpage .lp-section > .lp-table { max-width:var(--lp-read); }   /* h3：节里的小标题和正文同一栏对齐（2026-10-26，模板页） */
.tb-landingpage .lp-section > h2 { max-width:860px; }
.tb-landingpage .lp-feature > .lp-feature-body, .tb-landingpage .lp-hero--split > .lp-hero-body, .tb-landingpage .lp-cols, .tb-landingpage .lp-cards, .tb-landingpage .lp-quotes, .tb-landingpage .lp-tabs, .tb-landingpage .lp-section > .lp-figure { max-width:var(--lp-wide); margin-left:auto; margin-right:auto; }
.tb-landingpage .lp-section > .lp-figure { margin-top:40px; }
.tb-landingpage > section { padding:96px 20px; }   /* 两侧 20px：和博客、帮助页、全站导航页脚同一条边线（2026-10-27） */
@media (max-width:700px) { .tb-landingpage > section { padding:64px 20px; } }

/* ② 图片展台：圆角渐变底 + 渐隐网格 + 光晕；单屏截图浮成白卡，合成图（透明底）直接放在展台上 */
.tb-landingpage .lp-figure { position:relative; isolation:isolate; overflow:hidden; margin:0; padding:clamp(16px,2.4vw,30px); border-radius:24px; border:1px solid var(--lp-ring);
  background:radial-gradient(120% 90% at 100% 0%, var(--lp-tint-2) 0%, transparent 55%), radial-gradient(90% 80% at 0% 100%, color-mix(in srgb, #38bdf8 10%, #fff) 0%, transparent 60%), linear-gradient(180deg, #fff, var(--lp-tint));
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset, 0 40px 80px -48px color-mix(in srgb, var(--lp-brand) 60%, transparent); }
.tb-landingpage .lp-figure::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:linear-gradient(color-mix(in srgb, var(--lp-brand) 9%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--lp-brand) 9%, transparent) 1px, transparent 1px); background-size:26px 26px;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 70% 20%, #000, transparent 75%); mask-image:radial-gradient(ellipse 80% 70% at 70% 20%, #000, transparent 75%); }
.tb-landingpage .lp-figure img, .tb-landingpage .lp-figure svg { position:relative; display:block; width:100%; height:auto; border-radius:14px; }
.tb-landingpage .lp-figure--screen img { background:#fff; box-shadow:0 0 0 1px rgba(15,23,42,.06), 0 24px 48px -22px rgba(30,27,75,.35); }
.tb-landingpage .lp-figure--composite { padding:clamp(10px,1.6vw,20px); }
.tb-landingpage .lp-figure--composite img { border-radius:0; }
.tb-landingpage .lp-figure figcaption { position:relative; margin:14px 4px 0; font-size:13.5px; color:var(--lp-text); font-style:normal; text-align:center; }

/* ③ 首屏：两团光晕 + 渐隐网格（2026-10-26 去掉了按钮旁的虚线弧形箭头，用户：不需要） */
.tb-landingpage .lp-hero { position:relative; isolation:isolate; overflow:hidden; }
.tb-landingpage .lp-hero::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(700px 420px at 85% 10%, color-mix(in srgb, var(--lp-brand) 16%, transparent), transparent 70%), radial-gradient(520px 360px at 5% 95%, color-mix(in srgb, #38bdf8 12%, transparent), transparent 70%); }
.tb-landingpage .lp-hero::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:linear-gradient(color-mix(in srgb, var(--lp-brand) 7%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--lp-brand) 7%, transparent) 1px, transparent 1px); background-size:40px 40px;
  -webkit-mask-image:radial-gradient(ellipse 60% 70% at 75% 30%, #000, transparent 75%); mask-image:radial-gradient(ellipse 60% 70% at 75% 30%, #000, transparent 75%); }
.tb-landingpage .lp-hero--split { padding-top:88px !important; padding-bottom:104px !important; }
.tb-landingpage .lp-hero--split .lp-hero-text { position:relative; }
.tb-landingpage .lp-hero--split .lp-figure { box-shadow:0 1px 0 rgba(255,255,255,.9) inset, 0 50px 100px -50px color-mix(in srgb, var(--lp-brand) 70%, transparent); }

/* ③ 节背景：浅色节交替放两团柔光（左上 / 右下 ↔ 右上 / 左下），不抢内容；节与节之间一条渐隐细线 */
.tb-landingpage > section.lp-section, .tb-landingpage > section.lp-faq { position:relative; isolation:isolate; }
.tb-landingpage > section.lp-section::before, .tb-landingpage > section.lp-faq::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(520px 320px at 0% 0%, color-mix(in srgb, var(--lp-brand) 6%, transparent), transparent 70%), radial-gradient(520px 320px at 100% 100%, color-mix(in srgb, #38bdf8 6%, transparent), transparent 70%); }
.tb-landingpage > section.lp-section:nth-of-type(odd)::before { background:radial-gradient(520px 320px at 100% 0%, color-mix(in srgb, var(--lp-brand) 6%, transparent), transparent 70%), radial-gradient(520px 320px at 0% 100%, color-mix(in srgb, #38bdf8 5%, transparent), transparent 70%); }
.tb-landingpage > section.lp-section + section::after { content:""; position:absolute; left:50%; top:0; width:min(var(--lp-wide), 90%); height:1px; transform:translateX(-50%);
  background:linear-gradient(90deg, transparent, var(--lp-ring), transparent); }

/* ④ 列表：勾选圆点图标（品牌色），替代默认圆点 */
.tb-landingpage .lp-section ul { list-style:none; padding-left:0 !important; }
.tb-landingpage .lp-section ul > li { position:relative; padding-left:30px; }
.tb-landingpage .lp-section ul > li::before { content:""; position:absolute; left:0; top:.3em; width:19px; height:19px; border-radius:50%; background:var(--lp-tint-2); }
.tb-landingpage .lp-section ul > li::after { content:""; position:absolute; left:5px; top:calc(.3em + 6px); width:8px; height:4.5px; border-left:2px solid var(--lp-brand); border-bottom:2px solid var(--lp-brand); transform:rotate(-45deg); }
/* FIT 第二栏："不适合你如果……"用 ✕ 标记 */
.tb-landingpage #fit .lp-col + .lp-col li::before { background:color-mix(in srgb, #e11d48 10%, #fff); }
.tb-landingpage #fit .lp-col + .lp-col li::after { left:5.5px; top:calc(.3em + 5.5px); width:8px; height:8px; border:0; transform:none;
  background:linear-gradient(45deg, transparent 42%, #e11d48 42%, #e11d48 58%, transparent 58%), linear-gradient(-45deg, transparent 42%, #e11d48 42%, #e11d48 58%, transparent 58%); }
.tb-landingpage #fit .lp-col + .lp-col > p:first-child strong { color:#be123c; }

/* ④ 两栏：白卡 + 顶部渐变细条 + 小标题做成大写标签 */
.tb-landingpage .lp-col { position:relative; padding:28px 28px 14px; border-radius:20px; border-color:var(--lp-ring); box-shadow:0 20px 40px -30px rgba(30,27,75,.25); }
.tb-landingpage .lp-col > p:first-child { font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; margin-bottom:12px; }

/* ④ 三卡：右上角大号渐变编号 01 / 02 / 03 + 悬停上浮 */
.tb-landingpage .lp-cards { counter-reset:lpcard; }
.tb-landingpage .lp-card { counter-increment:lpcard; padding:30px 26px 14px; border-radius:20px; border-color:var(--lp-ring); transition:transform .2s ease, box-shadow .2s ease; }
.tb-landingpage .lp-card::after { content:counter(lpcard, decimal-leading-zero); position:absolute; right:22px; top:14px; font:800 46px/1 var(--lp-font-display); letter-spacing:-.04em;
  background:linear-gradient(180deg, var(--lp-ring), transparent); -webkit-background-clip:text; background-clip:text; color:transparent; }
.tb-landingpage .lp-card:hover { transform:translateY(-4px); box-shadow:0 30px 60px -30px color-mix(in srgb, var(--lp-brand) 45%, transparent); }
.tb-landingpage .lp-card-label, .tb-landingpage .lp-card-quote { position:relative; z-index:1; padding-right:56px; }

/* ④ 证言：左上大引号 */
.tb-landingpage .lp-quote { position:relative; padding:38px 26px 24px; border-radius:20px; border-color:var(--lp-ring); box-shadow:0 18px 36px -28px rgba(30,27,75,.3); }
.tb-landingpage .lp-quote::before { content:"\201C"; position:absolute; left:20px; top:-4px; font:700 76px/1 Georgia, serif; color:var(--lp-ring); }
.tb-landingpage .lp-quote blockquote { position:relative; }

/* ④ 产品导览 Tab 条加阴影 */
.tb-landingpage .lp-tabs .lp-tabbar { box-shadow:0 12px 30px -18px rgba(30,27,75,.35); }

/* ④ FAQ：整块放进一张白卡，问题前加编号圆点 */
.tb-landingpage .lp-faq-list { counter-reset:lpfaq; max-width:880px; margin:0 auto; padding:8px 32px; border:1px solid var(--lp-ring); border-radius:22px; background:#fff; box-shadow:0 30px 60px -40px rgba(30,27,75,.3); }
.tb-landingpage .lp-faq-list h3 { counter-increment:lpfaq; position:relative; padding:22px 0 6px 44px; }
.tb-landingpage .lp-faq-list h3::before { content:counter(lpfaq); position:absolute; left:0; top:20px; width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font:700 13px/1 var(--lp-font-sans); color:var(--lp-brand); background:var(--lp-tint-2); }
.tb-landingpage .lp-faq-list p { padding-left:44px; }
.tb-landingpage .lp-faq-list p:last-child { border-bottom:0; }

/* ④ 按钮：悬停上浮、光晕加深 */
.tb-landingpage .lp-btn { transition:transform .18s ease, box-shadow .18s ease; }
.tb-landingpage .lp-btn:hover { transform:translateY(-2px); box-shadow:0 16px 32px -10px color-mix(in srgb, var(--lp-brand) 60%, transparent); text-decoration:none !important; }

/* editorial 主题：去掉光晕与网格，展台改纸色细边，保持杂志感 */
.tb-landingpage[data-theme="editorial"] .lp-figure { background:#fbf8f3; border-color:var(--lp-line); box-shadow:none; }
.tb-landingpage[data-theme="editorial"] .lp-figure::before, .tb-landingpage[data-theme="editorial"] .lp-hero::after, .tb-landingpage[data-theme="editorial"] section.lp-section::before, .tb-landingpage[data-theme="editorial"] .lp-faq::before { display:none; }
/* midnight 主题首屏是深底：网格淡一些 */
.tb-landingpage[data-theme="midnight"] .lp-hero::after { opacity:.5; }

/* ---------- 视觉规范第 8 条：连续纯文字节，第 2、4… 节套面板（<section class="lp-section lp-section--panel"><div class="lp-panel">…</div></section>），打断单调 ---------- */
.tb-landingpage .lp-section--panel > .lp-panel { position:relative; max-width:960px; margin:0 auto; padding:clamp(32px,5vw,56px) clamp(22px,5vw,64px); border-radius:28px; border:1px solid var(--lp-ring); background:#fff;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset, 0 40px 80px -56px color-mix(in srgb, var(--lp-brand) 55%, transparent); }
.tb-landingpage .lp-panel > * { margin-left:auto; margin-right:auto; }
.tb-landingpage .lp-panel > p, .tb-landingpage .lp-panel > ul, .tb-landingpage .lp-panel > ol, .tb-landingpage .lp-panel > h3, .tb-landingpage .lp-panel > .lp-formula, .tb-landingpage .lp-panel > .lp-table { max-width:var(--lp-read); }
.tb-landingpage .lp-panel > h2 { text-align:center; font-size:clamp(26px,3.4vw,38px); line-height:1.2; margin-top:0; margin-bottom:22px; }
.tb-landingpage[data-theme="editorial"] .lp-section--panel > .lp-panel { background:#fffdf9; box-shadow:none; }

/* ---------- 视觉规范第 10 条：标题平衡换行、段落避免孤字（不支持的浏览器忽略；转换脚本另把标题最后两个词用不换行空格连起来兜底） ---------- */
.tb-landingpage h1, .tb-landingpage h2, .tb-landingpage h3, .tb-landingpage .lp-card-quote { text-wrap:balance; }
.tb-landingpage p, .tb-landingpage li { text-wrap:pretty; }

/* ---------- 视觉规范第 9 条：进入视口时轻微淡入上移（纯 CSS 滚动驱动动画；首屏不加，避免拖慢首屏渲染；
   用户开启"减少动态效果"或浏览器不支持时，内容直接显示，不受影响） ---------- */
@keyframes lp-reveal { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .tb-landingpage .lp-section > .lp-eyebrow, .tb-landingpage .lp-section > h2, .tb-landingpage .lp-section > .lp-figure, .tb-landingpage .lp-feature-body > *, .tb-landingpage .lp-cols > *, .tb-landingpage .lp-cards > *, .tb-landingpage .lp-quotes > *, .tb-landingpage .lp-tabs, .tb-landingpage .lp-panel, .tb-landingpage .lp-faq-list, .tb-landingpage > section.lp-cta > * {
      animation:lp-reveal linear both; animation-timeline:view(); animation-range:entry 5% entry 45%; }
    .tb-landingpage .lp-cards > :nth-child(2), .tb-landingpage .lp-quotes > :nth-child(3n+2), .tb-landingpage .lp-cols > :nth-child(2), .tb-landingpage .lp-feature-body > :nth-child(2) { animation-range:entry 10% entry 50%; }
    .tb-landingpage .lp-cards > :nth-child(3), .tb-landingpage .lp-quotes > :nth-child(3n) { animation-range:entry 15% entry 55%; }
  }
}

/* ---------- 视觉规范第 10 条：手机宽度 ---------- */
@media (max-width:700px) {
  .tb-landingpage .lp-hero--split h1 { font-size:clamp(30px,8.4vw,38px); }
  .tb-landingpage .lp-hero--split .lp-hero-text { text-align:left; }
  .tb-landingpage .lp-figure { padding:12px; border-radius:18px; }
  .tb-landingpage .lp-figure--composite { padding:8px; }
  .tb-landingpage .lp-feature .lp-feature-text h2, .tb-landingpage .lp-section > h2, .tb-landingpage .lp-panel > h2 { font-size:clamp(24px,7vw,30px); }
  .tb-landingpage .lp-col, .tb-landingpage .lp-card, .tb-landingpage .lp-quote { padding-left:20px; padding-right:20px; }
  .tb-landingpage .lp-faq-list { padding:4px 18px; }
  .tb-landingpage .lp-faq-list h3, .tb-landingpage .lp-faq-list p { padding-left:38px; }
  .tb-landingpage .lp-tabs .lp-tabbar { max-width:100%; justify-content:flex-start; }
  .tb-landingpage .lp-btn { max-width:100%; }
  .tb-landingpage .lp-table { overflow-x:auto; }
}

/* ---------- 2026-10-24 用户反馈：截图有两层边框和阴影（展台一层 + 截图一层），看着怪 → 只保留一层 ----------
   展台去掉边框和阴影，只剩柔和的渐变底（衬托用，不是框）；单屏截图保留一条细边 + 一层柔阴影；合成图里的小卡自带阴影，展台也不再加 */
.tb-landingpage .lp-figure, .tb-landingpage .lp-hero--split .lp-figure { border:0; box-shadow:none; }
.tb-landingpage .lp-figure--screen img { box-shadow:0 0 0 1px rgba(15,23,42,.07), 0 18px 40px -20px rgba(30,27,75,.28); }
.tb-landingpage[data-theme="editorial"] .lp-figure { border:0; }

/* ---------- 2026-10-24 用户反馈：展台的渐变底色看起来还是一圈边框 → 去掉展台，图片直接放在节背景上 ----------
   单屏截图 = 一张白卡（一条细边 + 一层柔阴影）；合成图透明底，里面的小卡自带阴影；figure 本身不再有底色、内边距、网格 */
.tb-landingpage .lp-figure, .tb-landingpage .lp-hero--split .lp-figure, .tb-landingpage .lp-figure--composite, .tb-landingpage[data-theme="editorial"] .lp-figure { background:none; padding:0; border:0; border-radius:0; box-shadow:none; overflow:visible; }
.tb-landingpage .lp-figure::before { display:none; }
.tb-landingpage .lp-figure--screen img { border-radius:14px; }

/* 一节多图并排：<div class="lp-figs lp-figs--2|3">figure…</div>（卡片版式 1×2 / 1×3；手机上单列） */
.tb-landingpage .lp-figs { display:grid; gap:24px; align-items:start; max-width:var(--lp-wide); margin:40px auto 0; }
@media (min-width:760px) { .tb-landingpage .lp-figs--2 { grid-template-columns:1fr 1fr; } .tb-landingpage .lp-figs--3 { grid-template-columns:repeat(3, 1fr); } }
.tb-landingpage .lp-figs > .lp-figure { margin:0; }

/* 找券商（/integrations，2026-10-26）：richtext 里是插槽 <div class="lp-slot" data-slot="brokers">，前端服务端渲染时换成下面的结构（数据来自券商接口）
   div.lp-broker-finder > div.lp-broker-tools（input.lp-broker-search + div.lp-broker-filters > button[aria-pressed]）+ ul.lp-broker-grid > li[data-markets] > a.lp-broker（img + span）
   筛选 / 搜索只在前端隐藏 li（加 hidden 属性），不改 URL */
.tb-landingpage .lp-broker-finder { max-width:var(--lp-wide); margin:36px auto 0; text-align:left; }
.tb-landingpage .lp-broker-tools { display:flex; flex-wrap:wrap; gap:14px 18px; align-items:center; justify-content:space-between; margin-bottom:22px; }
.tb-landingpage .lp-broker-search { box-sizing:border-box; flex:1 1 300px; max-width:420px; height:46px; padding:0 16px 0 44px; border:1px solid var(--lp-line); border-radius:12px; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='m16 16-3.5-3.5'/%3E%3C/svg%3E") no-repeat 16px 50%;
  font:15px/1 var(--lp-font-sans); color:var(--lp-ink); outline:none; transition:border-color .15s, box-shadow .15s; }
.tb-landingpage .lp-broker-search:focus { border-color:var(--lp-brand); box-shadow:0 0 0 4px var(--lp-tint-2); }
.tb-landingpage .lp-broker-filters { display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; }
.tb-landingpage .lp-broker-filters button { flex-shrink:0; padding:8px 16px; border:1px solid var(--lp-line); border-radius:999px; background:#fff; color:var(--lp-text); font:500 14px/1.4 var(--lp-font-sans); cursor:pointer; transition:border-color .15s, color .15s; }
.tb-landingpage .lp-broker-filters button:hover { border-color:var(--lp-ring); color:var(--lp-brand); }
.tb-landingpage .lp-broker-filters button[aria-pressed="true"] { background:var(--lp-brand); border-color:var(--lp-brand); color:#fff; }
.tb-landingpage .lp-broker-grid { list-style:none; margin:0; padding:0; display:grid; gap:12px; grid-template-columns:repeat(2, minmax(0,1fr)); }
@media (min-width:640px) { .tb-landingpage .lp-broker-grid { grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (min-width:960px) { .tb-landingpage .lp-broker-grid { grid-template-columns:repeat(4, minmax(0,1fr)); } }
.tb-landingpage .lp-section .lp-broker-grid > li { margin:0; padding:0; } .tb-landingpage .lp-section .lp-broker-grid > li::before, .tb-landingpage .lp-section .lp-broker-grid > li::after { content:none; } .tb-landingpage .lp-broker-grid > li[hidden] { display:none; }   /* 去掉节内列表的 ✓ 圆点 */
.tb-landingpage .lp-broker { box-sizing:border-box; display:flex; align-items:center; gap:12px; height:100%; min-height:68px; padding:14px 16px; border:1px solid var(--lp-line); border-radius:14px; background:#fff; color:var(--lp-ink); text-decoration:none; font:600 15px/1.3 var(--lp-font-sans); transition:border-color .15s, transform .15s, box-shadow .15s; }
.tb-landingpage a.lp-broker:hover { text-decoration:none; border-color:var(--lp-ring); transform:translateY(-2px); box-shadow:0 14px 28px -20px rgba(30,27,75,.4); color:var(--lp-brand); }
.tb-landingpage .lp-broker img { width:36px; height:36px; object-fit:contain; flex-shrink:0; }
.tb-landingpage .lp-broker span { min-width:0; overflow-wrap:anywhere; }
/* 接入方式标签（2026-10-28）：a.lp-broker > span.lp-broker-info > span.lp-broker-name + span.lp-broker-tags > span.lp-broker-tag.lp-broker-tag--{sync|file|manual}
   只出现支持的方式（不放灰色"不支持"）；三种各一个浅色底 + 小图标，深浅相同、不分主次 */
.tb-landingpage .lp-broker-info { display:flex; flex-direction:column; gap:6px; }
.tb-landingpage .lp-broker-tags { display:flex; flex-wrap:wrap; gap:4px; }
.tb-landingpage .lp-broker-tag { display:inline-flex; align-items:center; gap:3px; padding:1px 6px 1px 5px; border:1px solid var(--lp-tag-line); border-radius:6px; background:var(--lp-tag-bg); color:var(--lp-tag-ink); font:600 11px/1.5 var(--lp-font-sans); white-space:nowrap; }
.tb-landingpage .lp-broker-tag::before { content:""; width:10px; height:10px; flex-shrink:0; background:currentColor; opacity:.9; -webkit-mask:var(--lp-tag-icon) center / contain no-repeat; mask:var(--lp-tag-icon) center / contain no-repeat; }
.tb-landingpage .lp-broker-tag--sync { --lp-tag-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.5 6.5A5.5 5.5 0 0 0 3.2 4.6M2.5 9.5a5.5 5.5 0 0 0 10.3 1.9'/%3E%3Cpath d='M3 2v3h3M13 14v-3h-3'/%3E%3C/svg%3E"); }
.tb-landingpage .lp-broker-tag--file { --lp-tag-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M9.5 1.5H4a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V5z'/%3E%3Cpath d='M9.5 1.5V5H13'/%3E%3C/svg%3E"); }
.tb-landingpage .lp-broker-tag--manual { --lp-tag-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 2.5l2.5 2.5L6 12.5H3.5V10z'/%3E%3C/svg%3E"); }
.tb-landingpage a.lp-broker:hover .lp-broker-tag { color:var(--lp-tag-ink); }
/* 三种各一个浅色底（用户 10-28：全是灰色不好区分）：Sync 品牌紫、File 天蓝、Manual 琥珀；不用绿 / 红（只表示盈亏）；同样的深浅，不分主次 */
.tb-landingpage .lp-broker-tag--sync { --lp-tag-bg:#f1eeff; --lp-tag-line:#dcd5ff; --lp-tag-ink:#5536e8; }
.tb-landingpage .lp-broker-tag--file { --lp-tag-bg:#e9f5fd; --lp-tag-line:#cbe6f8; --lp-tag-ink:#0a6fae; }
.tb-landingpage .lp-broker-tag--manual { --lp-tag-bg:#fff4e5; --lp-tag-line:#fbdfb8; --lp-tag-ink:#a2520a; }
@media (max-width:640px) { .tb-landingpage .lp-broker { min-height:60px; padding:12px; gap:10px; font-size:14px; } .tb-landingpage .lp-broker img { width:28px; height:28px; } .tb-landingpage .lp-broker-filters { width:100%; } }
