/* =========================================================================
   感尊官网 · 服务组页面样式 pages-service.css（设计师 C，2026-10-24）
   适用：services.html（含 #ai 一节）/ service-ai-agent.html（跳转说明示意）/ service-miniprogram.html / solution-real-estate.html
   规矩：只用 site.css 的令牌变量，不写裸颜色；在 site.css 之后引入；不改 site.css 已有组件。
   目录：1 首屏舞台  2 交付形态 Bento  3 AI 能力表  4 计价因素与报价单  5 保障与一套后端
        6 场景卡（AI / 代码 / 人）  7 四道闸（全站科技感最重的区块）  8 交付物  9 标注手机
        10 上线代办  11 方案结构图  12 行业卡点  13 多端设备排  14 相关推荐  15 咨询区  16 手机适配
   ========================================================================= */

/* ===== 1 首屏舞台 .sv-stage：右栏的真实截图 + AI 卡叠放 ===== */
.sv-stage { position: relative; height: var(--sv-stage-h, 460px); }
.sv-stage > * { position: absolute; }
.sv-stage__note { left: 0; right: 0; bottom: calc(var(--s-5) * -1); text-align: center; font-size: var(--fs-xs); color: var(--ink-3); }
.sv-stage__tag { z-index: 5; display: inline-flex; align-items: center; gap: var(--s-1); height: 28px; padding: 0 var(--s-3); border-radius: var(--r-pill); background: var(--surface); box-shadow: var(--sh-2); font-size: var(--fs-xs); font-weight: var(--fw-semi); color: var(--ink); white-space: nowrap; }
.sv-stage__tag .spark { width: 13px; height: 13px; color: var(--ai-ink); }
.sv-stage .agent-steps { background: var(--surface); }
/* 手机截图裁上半截：屏幕改矮比例，整机底部渐隐，字更大 */
.sv-phone-crop .device-phone__screen { aspect-ratio: 9 / var(--crop, 15); }
.sv-phone-fade { -webkit-mask-image: linear-gradient(to bottom, var(--ink) 78%, transparent); mask-image: linear-gradient(to bottom, var(--ink) 78%, transparent); }

/* 定制开发总页：后台 + 员工端 + 录房助手 */
/* 第二轮遮挡规则：手机只盖后台截图的侧栏（整块菜单），后台标题与指标卡完整露出；后台截图在卡片之间的空白处截断；
   AI 卡放在后台框下方、手机右侧，不压任何截图里的字；标签只贴在设备框外沿 */
.sv-stage--services { --sv-stage-h: 520px; }
.sv-stage--services .sv-stage__browser { right: 0; top: 0; width: 520px; }
.sv-stage--services .sv-stage__browser .device-browser__screen { --ratio: 16 / 8; }
.sv-stage--services .sv-stage__phone { left: 0; top: 96px; z-index: 2; --phone-w: 196px; }
.sv-stage--services .sv-stage__card { right: 0; top: 312px; z-index: 3; width: 340px; }
.sv-stage--services .sv-stage__tag { left: 0; top: 456px; }

/* AI 智能体页：原话气泡 → 说话找房步骤卡 → 员工端截图 */
/* 第二轮：卡与手机并排、不再相互遮挡；原话气泡在卡上方 */
.sv-stage--agent { --sv-stage-h: 468px; }
.sv-stage--agent .sv-stage__phone { right: 0; top: 0; z-index: 1; --phone-w: 268px; }
.sv-stage--agent .sv-stage__card { left: 0; top: 236px; z-index: 3; width: 312px; }
.sv-stage--agent .sv-stage__bubble { left: var(--s-5); top: var(--s-5); z-index: 4; max-width: 280px; }
.sv-bubble { padding: var(--s-3) var(--s-4); border-radius: var(--r-md) var(--r-md) var(--r-md) var(--r-xs); background: var(--paper); box-shadow: 0 0 0 1px var(--paper-line), var(--sh-2); font-size: var(--fs-ui, 15px); line-height: 1.7; color: var(--ink); }
.sv-bubble__who { display: flex; align-items: center; gap: var(--s-1); font-size: var(--fs-xs); color: var(--ink-3); margin-bottom: var(--s-1); }
.sv-bubble__who .icon { width: 14px; height: 14px; }

/* 小程序页：三台手机扇形 + 上线代办卡 */
.sv-stage--mini .device-fan { position: absolute; left: 0; right: 0; top: 0; --fan-h: 440px; --fan-step: 170px; }
.sv-stage--mini .sv-stage__card { left: 0; bottom: calc(var(--s-6) * -1); z-index: 5; width: 300px; }
.sv-stage--mini .sv-stage__tag--ai { left: 0; top: var(--s-6); text-decoration: none; border: 1.5px solid transparent; background: linear-gradient(var(--surface), var(--surface)) padding-box, var(--grad-ai) border-box; box-shadow: var(--sh-glow); min-height: 32px; height: auto; color: var(--ink); }
.sv-stage--mini .sv-stage__tag--ai:hover { text-decoration: none; color: var(--ai-ink); }

/* 房产方案：后台 + 顾客端首页 */
.sv-stage--estate { --sv-stage-h: 520px; }
.sv-stage--estate .sv-stage__browser { right: 0; top: 0; width: 540px; }
.sv-stage--estate .sv-stage__browser .device-browser__screen { --ratio: 16 / 8; }
.sv-stage--estate .sv-stage__phone { left: 0; top: 90px; z-index: 2; --phone-w: 180px; }
.sv-stage--estate .sv-stage__card { right: 0; top: 322px; z-index: 3; width: 340px; }
.sv-stage--estate .sv-stage__tag--a { left: 0; top: 460px; }
.sv-stage--estate .sv-stage__tag--b { right: var(--s-4); top: 0; }

/* ===== 2 交付形态 Bento .sv-forms ===== */
.sv-forms { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--s-5); }
.sv-forms > * { min-width: 0; }
.sv-form { position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-2); padding: var(--s-6); color: var(--ink); text-decoration: none; transition: transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out); }
.sv-form:hover { text-decoration: none; box-shadow: var(--sh-2-hover); }
.sv-form .card__desc { max-width: 520px; }
.sv-form .checks { margin-top: var(--s-4); font-size: var(--fs-sm); }
.sv-form__go { margin-top: auto; padding-top: var(--s-4); display: inline-flex; align-items: center; gap: var(--s-1); font-size: var(--fs-sm); font-weight: var(--fw-semi); color: var(--brand-ink); }
.sv-form__go .icon { transition: transform var(--dur-1) var(--ease-out); }
.sv-form:hover .sv-form__go .icon { transform: translateX(3px); }
.sv-form--mini { grid-column: span 4; grid-row: span 2; padding-bottom: 0; }
.sv-form--admin { grid-column: span 8; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: var(--s-5); padding-bottom: 0; }
.sv-form--admin .sv-form__text { display: flex; flex-direction: column; padding-bottom: var(--s-6); }
.sv-form--app, .sv-form--saas { grid-column: span 4; }
.sv-form--site { grid-column: span 12; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--s-6); padding-block: var(--s-5); background: linear-gradient(160deg, var(--brand-soft), var(--surface) 70%); }
.sv-form--site .sv-form__go { margin-top: 0; padding-top: 0; }
.sv-form__phone { position: relative; margin-top: var(--s-5); height: 300px; }
.sv-form__phone .device-phone { position: absolute; left: 50%; top: 0; transform: translateX(-50%); --phone-w: 236px; }
.sv-form__shot { position: relative; align-self: end; margin-right: calc(var(--s-6) * -1); }
.sv-form__shot .device-browser { border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom: 0; box-shadow: var(--sh-2); }
.sv-form__shot .device-browser__screen { --ratio: 16 / 9.4; }
.sv-form__art { margin-top: var(--s-4); width: 100%; height: auto; }
.sv-form__art text { font-family: var(--font-sans); font-size: var(--fs-xs); fill: var(--ink-2); stroke: none; }
.sv-form__art .t-strong { fill: var(--ink); font-weight: var(--fw-semi); }

/* ===== 3 AI 能力表与入口 ===== */
.sv-ai-table .table th[scope="row"] a { display: inline-flex; align-items: center; gap: var(--s-2); color: var(--ink); font-weight: var(--fw-semi); }
.sv-ai-table .table th[scope="row"] .icon { color: var(--ai-ink); width: 18px; height: 18px; }
.sv-ai-table .table thead .sv-who { display: inline-flex; align-items: center; gap: var(--s-1); }
.sv-ai-table .table thead .spark { width: 14px; height: 14px; color: var(--ai-ink); }
.sv-ai-table .table td { color: var(--ink-2); }
.sv-ai-table .table td.is-key { color: var(--ink); }
.sv-ai-table .table td small { display: block; margin-top: var(--s-1); font-size: var(--fs-xs); color: var(--ink-3); }
.sv-ai-off { margin-top: var(--s-5); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-3) var(--s-5); padding: var(--s-4) var(--s-5); border-radius: var(--r-md); background: var(--surface); box-shadow: var(--sh-1); font-size: var(--fs-ui, 15px); color: var(--ink-2); }
.sv-ai-off strong { color: var(--ink); font-weight: var(--fw-semi); }
.sv-ai-off__item { display: inline-flex; align-items: center; gap: var(--s-2); }
.sv-ai-off__item .icon { width: 18px; height: 18px; color: var(--ok); }

/* ===== 4 计价因素 + 报价单样张 ===== */
.sv-price { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: var(--s-6); align-items: stretch; }
.sv-factors { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: var(--s-3); }
.sv-factors--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sv-price .sv-factors { grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; gap: var(--s-2); }
.sv-price .sv-factor { align-items: center; padding: var(--s-3) var(--s-4); }
.sv-factor { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: var(--s-1) var(--s-3); padding: var(--s-4); border-radius: var(--r-md); background: var(--surface); box-shadow: var(--sh-1); }
.sv-factor .card__icon { grid-row: span 2; }
.sv-factor__k { font-weight: var(--fw-semi); font-size: var(--fs-body); line-height: 1.4; }
.sv-factor__v { font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.6; }
.sv-quote { position: relative; padding: var(--s-5) var(--s-6) var(--s-6); border-radius: var(--r-lg); background: var(--grad-paper); box-shadow: 0 0 0 1px var(--paper-line), var(--sh-2); }
.sv-quote__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-3); padding-bottom: var(--s-3); border-bottom: 1px dashed var(--line-strong); }
.sv-quote__title { font-weight: var(--fw-bold); font-size: var(--fs-h4); }
.sv-quote__rows { list-style: none; padding: 0; margin: var(--s-2) 0 0; }
.sv-quote__rows li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-4); padding: var(--s-3) 0; border-bottom: 1px solid var(--paper-line); font-size: var(--fs-ui, 15px); }
.sv-quote__rows li span:last-child { color: var(--ink-3); font-size: var(--fs-sm); text-align: right; }
.sv-quote__foot { margin-top: var(--s-4); display: flex; justify-content: space-between; align-items: center; gap: var(--s-4); font-size: var(--fs-sm); color: var(--ink-2); }
.sv-quote .stamp--inline { flex: none; }

/* ===== 5 保障清单 + 一套后端线稿 ===== */
.sv-assure-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: var(--s-6); align-items: stretch; }
.sv-backend { display: flex; flex-direction: column; }
.sv-backend svg { margin-top: var(--s-5); width: 100%; height: auto; }
.sv-backend svg text { font-family: var(--font-sans); font-size: var(--fs-xs); fill: var(--ink-2); stroke: none; }
.sv-backend svg .t-ai { fill: var(--ai-ink); font-weight: var(--fw-semi); }
.sv-backend svg .t-strong { fill: var(--ink); font-weight: var(--fw-semi); }
.sv-backend .node-ai { stroke: var(--ai-2); stroke-opacity: 0.55; fill: var(--ai-soft); }
.sv-backend .node-core { stroke: var(--brand); stroke-opacity: 0.6; fill: var(--brand-soft); }
.sv-backend__foot { margin-top: auto; padding-top: var(--s-4); font-size: var(--fs-sm); color: var(--ink-2); }
.sv-assure { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3); }
.sv-assure li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: var(--s-1) var(--s-3); padding: var(--s-4) var(--s-5); border-radius: var(--r-md); background: var(--surface); box-shadow: var(--sh-1); }
.sv-assure .icon { width: 22px; height: 22px; color: var(--brand); margin-top: 1px; }
.sv-assure b { font-weight: var(--fw-semi); font-size: var(--fs-body); }
.sv-assure p { grid-column: 2; font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.6; }

/* ===== 6 场景卡（AI 做 / 代码做 / 人做） ===== */
.sv-scenes { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--s-5); }
.sv-scenes > * { min-width: 0; }
.sv-scene { scroll-margin-top: calc(var(--nav-h) + var(--s-5)); position: relative; display: flex; flex-direction: column; grid-column: span 3; padding: var(--s-6); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-2); }
.sv-scene--lead { grid-column: span 12; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr) 236px; gap: var(--s-5); padding-bottom: 0; border: 1px solid transparent; background: linear-gradient(var(--surface), var(--surface)) padding-box, var(--grad-edge) border-box; }
.sv-scene--lead .sv-scene__text { padding-bottom: var(--s-6); display: flex; flex-direction: column; }
.sv-scene__media { position: relative; align-self: end; height: 100%; min-height: 320px; }
.sv-scene__media .device-phone { position: absolute; left: 0; top: 0; --phone-w: 236px; }
.sv-scene__ex { margin-top: var(--s-3); padding: var(--s-2) var(--s-3); border-radius: var(--r-sm); background: var(--paper); box-shadow: inset 0 0 0 1px var(--paper-line); font-size: var(--fs-sm); color: var(--ink); line-height: 1.6; }
.sv-scene__ex b { color: var(--ink-3); font-weight: var(--fw-semi); margin-right: var(--s-1); }
.sv-trio { margin: var(--s-4) 0 0; display: grid; gap: var(--s-2); }
.sv-trio > div { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: var(--s-3); align-items: baseline; font-size: var(--fs-sm); }
.sv-trio dt { display: inline-flex; align-items: center; gap: var(--s-1); font-size: var(--fs-xs); font-weight: var(--fw-semi); white-space: nowrap; }
.sv-trio dd { margin: 0; color: var(--ink-2); line-height: 1.6; }
.sv-trio .is-ai dt { color: var(--ai-ink); }
.sv-trio .is-code dt { color: var(--brand-ink); }
.sv-trio .is-code dd { color: var(--ink); }
.sv-trio .is-human dt { color: var(--ok); }
.sv-trio .spark { width: 12px; height: 12px; }
.sv-scene .link-more { margin-top: auto; padding-top: var(--s-3); }
.sv-scene__links { list-style: none; padding: var(--s-3) 0 0; margin: auto 0 0; display: grid; gap: var(--s-1); border-top: 1px dashed var(--line-strong); }
.sv-scene--lead .sv-scene__links { margin-top: var(--s-4); }
.sv-scene__links a { display: inline-flex; align-items: center; min-height: 32px; font-size: var(--fs-sm); line-height: 1.5; color: var(--brand-ink); }
p.sv-scene__links { border-top: 1px dashed var(--line-strong); }
p.sv-scene__links .link-more { margin-top: 0; padding-top: 0; }

/* ===== 7 四道闸 .sv-gates（AI 智能体页的主证据：彩虹光边 + 流动数据线 + 印章 + AI 开关） ===== */
.sv-gates-sec { position: relative; isolation: isolate; overflow: hidden; }
.sv-gates-sec > .tech-grid { z-index: -1; background-image: linear-gradient(to right, var(--line-grid) 1px, transparent 1px), linear-gradient(to bottom, var(--line-grid) 1px, transparent 1px);
  -webkit-mask-image: radial-gradient(70% 60% at 50% 40%, var(--ink) 20%, transparent 80%); mask-image: radial-gradient(70% 60% at 50% 40%, var(--ink) 20%, transparent 80%); }
.sv-gates-sec > .glow-spot { z-index: -1; left: 50%; top: 18%; width: 900px; height: 520px; transform: translateX(-50%); opacity: 0.85; }
.sv-gates { border-radius: var(--r-xl); }
.sv-gates.ai-frame::before { inset: -2px; }
.sv-gates.ai-frame::after { inset: -16px; border-radius: calc(var(--r-xl) + 16px); filter: blur(28px); opacity: 0.4; }
.sv-gates__inner { position: relative; overflow: hidden; border-radius: var(--r-xl); background: var(--surface); padding: var(--s-6); }
.sv-gates__inner > .tech-dots { opacity: 0.7; -webkit-mask-image: radial-gradient(60% 50% at 50% 0%, var(--ink) 10%, transparent 75%); mask-image: radial-gradient(60% 50% at 50% 0%, var(--ink) 10%, transparent 75%); }
.sv-gates__head { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-3) var(--s-5); }
.sv-gates__title { display: flex; align-items: center; gap: var(--s-2); font-weight: var(--fw-semi); font-size: var(--fs-body-lg, 17px); }
.sv-gates__title .spark { color: var(--ai-ink); }
.sv-gates__ctrl { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3); }
.sv-gates__status { display: inline-flex; align-items: center; gap: var(--s-2); font-size: var(--fs-xs); color: var(--ink-3); white-space: nowrap; }
.sv-gates .tabs__panel { margin-top: var(--s-5); }
/* 输入原话 → 输出结果 */
.sv-gates__io { display: grid; grid-template-columns: minmax(0, 1.4fr) 48px minmax(0, 1fr); gap: var(--s-3); align-items: stretch; }
.sv-gates__io .ai-run__quote { min-height: 0; font-size: var(--fs-h4); }
.sv-gates__arrow { display: grid; place-items: center; color: var(--ai-ink); }
.sv-gates__arrow svg { width: 40px; height: 16px; }
.sv-gates__out { display: flex; flex-direction: column; justify-content: center; gap: var(--s-1); padding: var(--s-3) var(--s-4); border-radius: var(--r-sm); background: var(--ok-soft); box-shadow: inset 0 0 0 1px color-mix(in oklch, var(--ok) 18%, transparent); }
.sv-gates__out-k { font-size: var(--fs-xs); color: var(--ink-3); }
.sv-gates__out-v { display: inline-flex; align-items: center; gap: var(--s-2); font-weight: var(--fw-semi); color: var(--ok); }
.sv-gates__out-v .icon { width: 18px; height: 18px; }
.sv-gates__out-s { font-size: var(--fs-sm); color: var(--ink-2); }
/* 四道闸本体：上面一根渐变数据线，数据包从左走到右 */
.sv-gates__flow { position: relative; margin-top: var(--s-6); }
.sv-rail { position: absolute; left: calc(12.5% - var(--s-2)); right: calc(12.5% - var(--s-2)); top: 19px; height: 2px; border-radius: 2px; background: var(--grad-ai); opacity: 0.5; }
.sv-rail__packet { position: absolute; top: -3px; left: 0; width: 72px; height: 8px; border-radius: var(--r-pill); background: linear-gradient(90deg, transparent, var(--ai-2), var(--ai-3)); filter: drop-shadow(0 0 6px var(--ai-2)); opacity: 0; }
.sv-gates__list { list-style: none; padding: 0; margin: 0; position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-4); }
.sv-gate { position: relative; display: flex; flex-direction: column; min-width: 0; }
.sv-gate__top { display: flex; align-items: center; justify-content: center; margin-bottom: var(--s-3); }
.sv-gate__num { position: relative; z-index: 1; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid transparent; background: linear-gradient(var(--surface), var(--surface)) padding-box, var(--grad-ai) border-box; box-shadow: var(--sh-glow); font-weight: var(--fw-bold); }
.sv-gate__num span { background: var(--grad-ai-text); -webkit-background-clip: text; background-clip: text; color: transparent; font-size: var(--fs-body-lg, 17px); }
.sv-gate__card { position: relative; flex: 1; display: flex; flex-direction: column; gap: var(--s-3); padding: var(--s-4); border-radius: var(--r-md); background: var(--bg-subtle); box-shadow: inset 0 0 0 1px var(--line); }
.sv-gate__card .term { background: linear-gradient(var(--surface), var(--surface)) padding-box, var(--grad-edge) border-box; }
.sv-gate__card .sv-draft { background: var(--surface); }
.sv-gate__who { align-self: flex-start; display: inline-flex; align-items: center; gap: var(--s-1); height: 24px; padding: 0 var(--s-2); border-radius: var(--r-pill); font-size: var(--fs-xs); font-weight: var(--fw-semi); background: var(--bg-muted); color: var(--ink-2); }
.sv-gate__who .icon, .sv-gate__who .spark { width: 13px; height: 13px; }
.sv-gate__who--ai { background: var(--ai-soft); color: var(--ai-ink); }
.sv-gate__who--code { background: var(--brand-soft); color: var(--brand-ink); }
.sv-gate__who--human { background: var(--ok-soft); color: var(--ok); }
.sv-gate__title { font-size: var(--fs-h4); font-weight: var(--fw-semi); line-height: 1.4; }
.sv-gate__demo { display: grid; gap: var(--s-2); }
.sv-gate__demo .field-chip { min-height: 40px; padding: var(--s-1) var(--s-3); }
.sv-gate__demo .field-chip__v { font-size: var(--fs-sm); }
.sv-gate__demo .field-chip > span:first-child { display: flex; align-items: baseline; gap: var(--s-2); min-width: 0; }
.sv-gate__demo .field-chip__k { display: inline; white-space: nowrap; }
.sv-gate__demo .field-chip__v { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sv-draft { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-1) var(--s-3); padding: var(--s-2) var(--s-3); border-radius: var(--r-sm); background: var(--bg-subtle); box-shadow: inset 0 0 0 1px var(--line); }
.sv-draft dt { font-size: var(--fs-xs); color: var(--ink-3); }
.sv-draft dd { margin: 0; font-size: var(--fs-sm); font-weight: var(--fw-semi); color: var(--ink); white-space: nowrap; }
.sv-gate__demo .term { font-size: var(--fs-xs); padding: var(--s-2) var(--s-3); }
.sv-gate__demo .term__line { white-space: pre-wrap; }
.sv-gate__stamp { position: absolute; right: var(--s-2); bottom: var(--s-1); }
.sv-gate__calc { position: relative; }
.sv-gate__rule { margin-top: auto; padding-top: var(--s-3); border-top: 1px dashed var(--line-strong); font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.6; }
.sv-gate__rule b { color: var(--ink); font-weight: var(--fw-semi); }
.sv-gate__ask { font-size: var(--fs-sm); color: var(--ink); padding: var(--s-2) var(--s-3); border-radius: var(--r-sm); background: var(--hl); }
.sv-gate__btns { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.sv-gate__btns .mock-btn { height: 32px; padding: 0 var(--s-3); }
.sv-log { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--s-1); font-size: var(--fs-xs); }
.sv-log li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: var(--s-2); color: var(--ink-2); line-height: 1.55; }
.sv-log time { font-family: var(--font-mono); color: var(--ink-3); }
.sv-tag-ask { background: var(--hl); color: var(--ink); }
.sv-gate__off { display: none; padding: var(--s-3); border-radius: var(--r-sm); background: var(--bg-subtle); box-shadow: inset 0 0 0 1px var(--line); font-size: var(--fs-sm); color: var(--ink); line-height: 1.6; }
.sv-gate__off .icon { display: inline-block; vertical-align: -3px; width: 16px; height: 16px; color: var(--ink-3); margin-right: var(--s-1); }
.sv-gates__foot { margin-top: var(--s-5); padding-top: var(--s-4); border-top: 1px dashed var(--line-strong); display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); font-size: var(--fs-sm); color: var(--ink-2); }
.sv-gates__foot span { display: inline-flex; align-items: center; gap: var(--s-1); }
.sv-gates__foot .icon { width: 16px; height: 16px; color: var(--ok); }
/* AI 开关：关掉后闸 1 换成「人手动填」，其余三道照常 */
.sv-switch { display: inline-flex; align-items: center; gap: var(--s-2); min-height: 40px; padding: 0 var(--s-3) 0 var(--s-2); border: 1px solid var(--line-strong); border-radius: var(--r-pill); background: var(--surface); color: var(--ink); font-size: var(--fs-sm); font-weight: var(--fw-semi); }
.sv-switch:hover { border-color: var(--ink-3); }
.sv-switch__track { position: relative; width: 36px; height: 20px; border-radius: var(--r-pill); background: var(--grad-ai); transition: background-color var(--dur-2) var(--ease-out); }
.sv-switch__thumb { position: absolute; top: 2px; left: 18px; width: 16px; height: 16px; border-radius: 50%; background: var(--surface); box-shadow: var(--sh-1); transition: transform var(--dur-2) var(--ease-out); }
.sv-switch__off { display: none; }
.sv-switch[aria-checked="false"] .sv-switch__track { background: var(--line-strong); }
.sv-switch[aria-checked="false"] .sv-switch__thumb { transform: translateX(-16px); }
.sv-switch[aria-checked="false"] .sv-switch__on { display: none; }
.sv-switch[aria-checked="false"] .sv-switch__off { display: inline; }
.sv-gates.is-ai-off .sv-gate--ai .sv-gate__demo { display: none; }
.sv-gates.is-ai-off .sv-gate--ai .sv-gate__off { display: block; }
.sv-gates.is-ai-off .sv-gate--ai .sv-gate__who--ai { background: var(--bg-muted); color: var(--ink-3); }
.sv-gates.is-ai-off .sv-gate--ai .sv-gate__num { background: var(--surface); box-shadow: inset 0 0 0 1.5px var(--line-strong); border-color: transparent; }
.sv-gates.is-ai-off .sv-gate--ai .sv-gate__num span { background: none; color: var(--ink-3); }
.sv-gates.is-ai-off .sv-rail { background: linear-gradient(90deg, var(--line-strong) 26%, var(--ai-2) 30%, var(--ai-3)); }
.sv-gates .sv-off-only { display: none; }
.sv-gates.is-ai-off .sv-on-only { display: none; }
.sv-gates.is-ai-off .sv-off-only { display: inline; }
@media (prefers-reduced-motion: no-preference) {
  .sv-gates.is-live .sv-rail__packet { opacity: 1; animation: sv-packet 3.6s var(--ease-inout) infinite; }
  .sv-gates.is-live.is-ai-off .sv-rail__packet { animation-name: sv-packet-off; }
}
@keyframes sv-packet { 0% { left: 0; opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { left: calc(100% - 72px); opacity: 0; } }
@keyframes sv-packet-off { 0% { left: 33%; opacity: 0; } 14% { opacity: 1; } 90% { opacity: 1; } 100% { left: calc(100% - 72px); opacity: 0; } }

/* ===== 8 交付物 ===== */
.sv-deliver { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-6); align-items: start; }
.sv-deliver__list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-3); }
.sv-deliver__list li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: var(--s-1) var(--s-3); padding: var(--s-4); border-radius: var(--r-md); background: var(--surface); box-shadow: var(--sh-1); }
.sv-deliver__list .icon { width: 20px; height: 20px; color: var(--brand); margin-top: 2px; }
.sv-deliver__list b { font-weight: var(--fw-semi); }
.sv-deliver__list p { grid-column: 2; font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.6; }

/* ===== 9 标注手机 .sv-annot：截图上打点，两侧写清每一处怎么做 ===== */
.sv-annot { display: grid; grid-template-columns: minmax(0, 1fr) 300px minmax(0, 1fr); gap: var(--s-6); align-items: center; }
.sv-annot__col { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--s-4); }
.sv-annot__item { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: var(--s-1) var(--s-3); padding: var(--s-4); border-radius: var(--r-md); background: var(--surface); box-shadow: var(--sh-1); }
.sv-annot__item b { font-weight: var(--fw-semi); font-size: var(--fs-body); line-height: 1.45; }
.sv-annot__item p { grid-column: 2; font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.6; }
.sv-pin { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; font-size: var(--fs-xs); font-weight: var(--fw-bold); color: var(--on-brand); background: var(--brand); box-shadow: 0 0 0 3px var(--surface), 0 6px 14px -4px color-mix(in oklch, var(--brand) 55%, transparent); }
.sv-annot__phone { position: relative; justify-self: center; }
.sv-annot__phone .device-phone { --phone-w: 300px; }
.sv-annot__phone .sv-pin { position: absolute; z-index: 3; left: var(--x); top: var(--y); transform: translate(-50%, -50%); }

/* ===== 10 上线代办 ===== */
.sv-launch { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-7); align-items: start; }
.sv-launch .steps--vertical .steps__desc { font-size: var(--fs-ui, 15px); }
.sv-launch__aside > * + * { margin-top: var(--s-4); }

/* ===== 11 方案结构图 .sv-arch（实线 = 现成产品，虚线 = 可按需定制） ===== */
.sv-arch { position: relative; padding: var(--s-6); border-radius: var(--r-xl); background: var(--surface); box-shadow: var(--sh-2); overflow: hidden; isolation: isolate; }
.sv-arch > .tech-dots { z-index: -1; opacity: 0.8; }
.sv-arch__legend { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); font-size: var(--fs-sm); color: var(--ink-2); margin-bottom: var(--s-5); }
.sv-arch__legend span { display: inline-flex; align-items: center; gap: var(--s-2); }
.sv-arch__legend i { width: 28px; height: 14px; border-radius: 4px; }
.sv-arch__legend .is-solid { background: var(--brand-soft); box-shadow: inset 0 0 0 1.5px var(--brand); }
.sv-arch__legend .is-dash { border: 1.5px dashed var(--ink-3); }
.sv-arch__legend .is-ai { background: var(--ai-soft); box-shadow: inset 0 0 0 1.5px var(--ai-2); }
.sv-arch__row { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: var(--s-5); align-items: center; }
.sv-arch__row + .sv-arch__row { margin-top: var(--s-6); }
.sv-arch__label { font-size: var(--fs-sm); font-weight: var(--fw-semi); color: var(--ink-3); }
.sv-arch__label small { display: block; font-weight: var(--fw-regular); font-size: var(--fs-xs); }
.sv-arch__nodes { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: var(--s-3); position: relative; }
.sv-node { display: flex; align-items: center; gap: var(--s-2); min-height: 52px; padding: var(--s-2) var(--s-3); border-radius: var(--r-sm); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line-strong); font-size: var(--fs-ui, 15px); font-weight: var(--fw-semi); color: var(--ink); }
.sv-node small { display: block; font-size: var(--fs-xs); font-weight: var(--fw-regular); color: var(--ink-3); }
.sv-node .icon { width: 20px; height: 20px; color: var(--brand); flex: none; }
.sv-node--core { background: var(--brand-soft); box-shadow: inset 0 0 0 1.5px var(--brand); }
.sv-node--ai { background: var(--ai-soft); box-shadow: inset 0 0 0 1.5px var(--ai-2); }
.sv-node--ai .spark { width: 18px; height: 18px; color: var(--ai-ink); flex: none; }
.sv-node--dash { background: color-mix(in oklch, var(--surface) 70%, transparent); box-shadow: none; border: 1.5px dashed var(--ink-3); font-weight: var(--fw-medium); }
.sv-node--dash .icon { color: var(--ink-3); }
.sv-arch__core { padding: var(--s-4); border-radius: var(--r-lg); border: 1px solid transparent; background: linear-gradient(var(--surface), var(--surface)) padding-box, var(--grad-edge) border-box; box-shadow: var(--sh-2); }
.sv-arch__core-title { display: flex; align-items: center; gap: var(--s-2); font-weight: var(--fw-bold); margin-bottom: var(--s-3); }
.sv-arch__link { position: relative; height: 32px; margin: var(--s-2) 0 calc(var(--s-6) * -1 + var(--s-2)); }
.sv-arch__link svg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; }

/* ===== 12 行业卡点 .sv-pain（卡点 → 怎么解） ===== */
.sv-pain { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); }
.sv-pain li { display: grid; grid-template-rows: auto auto 1fr; gap: var(--s-2); padding: var(--s-5) var(--s-6); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); }
.sv-pain__q { font-size: var(--fs-h4); font-weight: var(--fw-semi); line-height: 1.45; }
.sv-pain__now { font-size: var(--fs-sm); color: var(--ink-3); }
.sv-pain__fix { display: flex; gap: var(--s-2); align-items: flex-start; margin-top: var(--s-2); padding-top: var(--s-3); border-top: 1px dashed var(--line-strong); font-size: var(--fs-ui, 15px); color: var(--ink); line-height: 1.65; }
.sv-pain__fix .icon { width: 18px; height: 18px; color: var(--ok); margin-top: 4px; flex: none; }

/* ===== 13 多端设备排 .sv-devices ===== */
.sv-devices { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: var(--s-5); align-items: start; }
.sv-devices li { display: grid; justify-items: center; gap: var(--s-3); text-align: center; }
.sv-devices .device-phone { --phone-w: 236px; }
.sv-devices__cap { font-weight: var(--fw-semi); }
.sv-devices__cap small { display: block; font-weight: var(--fw-regular); font-size: var(--fs-sm); color: var(--ink-2); margin-top: 2px; }

/* ===== 14 相关推荐 ===== */
.sv-related { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-6); align-items: start; }
.sv-prod { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: var(--s-4); align-items: center; padding: var(--s-5); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-2); color: var(--ink); text-decoration: none; transition: transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out); overflow: hidden; }
.sv-prod:hover { text-decoration: none; box-shadow: var(--sh-2-hover); }
.sv-prod + .sv-prod { margin-top: var(--s-4); }
.sv-prod__media { position: relative; height: 132px; }
.sv-prod__media .device-phone { position: absolute; left: 0; top: 0; --phone-w: 112px; padding: 4px; border-radius: 20px; }
.sv-prod__media .device-phone__screen { border-radius: 16px; }
.sv-prod__media .device-phone__island { display: none; }
.sv-prod__name { display: flex; align-items: center; gap: var(--s-2); font-weight: var(--fw-semi); font-size: var(--fs-body-lg, 17px); white-space: nowrap; }
.sv-prod__desc { margin-top: var(--s-1); font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.6; }
.sv-prod__go { margin-top: var(--s-2); display: inline-flex; align-items: center; gap: var(--s-1); font-size: var(--fs-sm); font-weight: var(--fw-semi); color: var(--brand-ink); }
.sv-posts { list-style: none; padding: 0; margin: 0; }
.sv-posts li + li { border-top: 1px solid var(--line); }
.sv-posts a { display: grid; gap: var(--s-1); padding: var(--s-4) 0; color: var(--ink); text-decoration: none; }
.sv-posts a:hover .sv-posts__t { color: var(--brand-ink); }
.sv-posts__t { font-size: var(--fs-body-lg, 17px); font-weight: var(--fw-semi); line-height: 1.5; transition: color var(--dur-1); text-wrap: pretty; }
.sv-posts__s { font-size: var(--fs-sm); color: var(--ink-2); }
.sv-posts__m { display: flex; gap: var(--s-3); align-items: center; font-size: var(--fs-xs); color: var(--ink-3); }

/* ===== 15 咨询区 .sv-consult：左边「接下来会怎样」，右边需求框 / 两步留资 ===== */
.sv-consult { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--s-7); align-items: center; }
.sv-consult__copy > * + * { margin-top: var(--s-4); }
.sv-next { list-style: none; padding: 0; margin: var(--s-5) 0 0; display: grid; gap: var(--s-4); }
.sv-next li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: var(--s-1) var(--s-4); }
.sv-next .card__icon { grid-row: span 2; }
.sv-next b { font-weight: var(--fw-semi); }
.sv-next p { grid-column: 2; font-size: var(--fs-sm); color: var(--ink-2); }
.sv-consult .ask { max-width: none; }
.sv-consult .ask__input { min-height: 96px; }
.sv-consult .ask__examples { justify-content: flex-start; }
.sv-consult .lead-form__step[data-step="2"] .ask__box, .sv-consult .lead-form__done { padding: var(--s-5); }

/* 交付流程补一行「你拿到什么」 */
.sv-steps-out { display: block; margin-top: var(--s-2); font-size: var(--fs-xs); color: var(--ink-3); }
.sv-steps-out b { margin-right: var(--s-1); }
.sv-steps-out b { color: var(--ink-2); font-weight: var(--fw-semi); }
.sv-free-note { margin-top: var(--s-5); display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); font-size: var(--fs-sm); color: var(--ink-2); }
.sv-free-note span { display: inline-flex; align-items: center; gap: var(--s-1); }
.sv-free-note .icon { width: 16px; height: 16px; color: var(--ok); }

/* 通用小件 */
.sv-section-head-link { margin-top: var(--s-3); }
.sv-note { font-size: var(--fs-xs); color: var(--ink-3); }
.sv-hero-trust { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); font-size: var(--fs-sm); color: var(--ink-2); }
.sv-hero-trust li { display: inline-flex; align-items: center; gap: var(--s-1); }
.sv-hero-trust .icon { width: 16px; height: 16px; color: var(--ok); }
.sv-kinds { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-3); }
.sv-kinds li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: var(--s-1) var(--s-3); align-items: center; padding: var(--s-4); border-radius: var(--r-md); background: var(--surface); box-shadow: var(--sh-1); }
.sv-kinds .card__icon { grid-row: span 2; }
.sv-kinds b { font-weight: var(--fw-semi); }
.sv-kinds span:last-child { grid-column: 2; font-size: var(--fs-sm); color: var(--ink-2); }
.sv-tabs-center { display: flex; justify-content: center; }
.sv-ai-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-5); }
.sv-ai-card { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 200px; gap: var(--s-5); padding: var(--s-6) var(--s-6) 0; border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-2); overflow: hidden; }
.sv-ai-card__text { padding-bottom: var(--s-6); display: flex; flex-direction: column; gap: var(--s-3); }
.sv-ai-card__media { position: relative; min-height: 360px; }
.sv-ai-card__media .device-phone { position: absolute; left: 0; top: 0; --phone-w: 200px; }
.sv-ai-card .agent-steps { padding: var(--s-3) var(--s-4); background: var(--surface); }
.sv-ai-card .ai-frame { margin-top: var(--s-2); }
.sv-ai-card .term { font-size: var(--fs-xs); padding-right: 84px; }

/* ===== 15b 第二轮新增 ===== */
/* 案例区诚实版：未取得书面授权前不放客户卡 */
.sv-case-honest { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--s-6); align-items: center; }
.sv-case-honest__text > * + * { margin-top: var(--s-3); }
.sv-case-honest__text .sv-ctas { margin-top: var(--s-5); }
.sv-case-honest__list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--s-2); }
.sv-case-honest__list li { display: flex; align-items: center; gap: var(--s-3); min-height: 48px; padding: 0 var(--s-4); border-radius: var(--r-sm); background: var(--bg-subtle); box-shadow: inset 0 0 0 1px var(--line); font-size: var(--fs-ui, 15px); color: var(--ink); }
.sv-case-honest__list .icon { color: var(--brand); }
.sv-case-demo { display: grid; gap: var(--s-2); padding: var(--s-5); border-radius: var(--r-md); background: var(--bg-subtle); box-shadow: inset 0 0 0 1px var(--line); color: var(--ink); text-decoration: none; transition: box-shadow var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out); }
.sv-case-demo:hover { text-decoration: none; box-shadow: inset 0 0 0 1px var(--brand-soft-2), var(--sh-2); }
.sv-case-demo__meta { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.sv-case-demo__title { font-size: var(--fs-h4); font-weight: var(--fw-semi); line-height: 1.45; }
.sv-case-demo__desc { font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.65; }
.sv-ai-card .sv-bubble { font-size: var(--fs-ui, 15px); }
/* 识别与录入通栏：中间一栏放 AI / 代码 / 人 */
.sv-scene--lead .sv-trio { margin-top: 0; align-self: center; }
.sv-scene--lead { overflow: hidden; }
.sv-scene--lead .sv-scene__media { min-height: 300px; }

/* ===== 15c 最终版新增 ===== */
/* 正文断行：孤字孤标点交给浏览器挑断点（不支持时自动回退） */
main p, main li, main dd, .faq summary, .card__desc, .sv-devices__cap small { text-wrap: pretty; }
main h2, main h3 { text-wrap: balance; }

/* 吸顶页内导航（与产品页 .pp-subnav 同一长相） */
.sv-subnav { position: sticky; top: var(--nav-h); z-index: 40; background: color-mix(in oklab, var(--bg) 88%, transparent);
  -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); box-shadow: inset 0 -1px 0 var(--line); }
.sv-subnav__bar { display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); min-height: 52px; }
.sv-subnav__links { display: flex; gap: var(--s-1); list-style: none; margin: 0; padding: 0; overflow-x: auto; scrollbar-width: none; }
.sv-subnav__links::-webkit-scrollbar { display: none; }
.sv-subnav__links a { display: inline-flex; align-items: center; justify-content: center; min-width: var(--hit); min-height: 36px; padding: 0 var(--s-3); border-radius: var(--r-pill); font-size: var(--fs-sm); color: var(--ink-2); white-space: nowrap; transition: background-color var(--dur-1), color var(--dur-1); }
.sv-subnav__links a:hover { background: var(--bg-muted); color: var(--ink); text-decoration: none; }
.sv-subnav__links a[aria-current="true"] { background: var(--brand-soft); color: var(--brand-ink); font-weight: var(--fw-semi); }
.sv-subnav__cta { min-height: 36px; flex: none; }
html:has(.sv-subnav) { scroll-padding-top: calc(var(--nav-h) + 52px + var(--s-4)); }

/* 场景方案互链块 */
.sv-uc { margin-top: var(--s-6); padding: var(--s-5); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); }
.sv-uc__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-3); margin-bottom: var(--s-3); }
.sv-uc__title { font-weight: var(--fw-semi); font-size: var(--fs-body); }
.sv-uc__hubs { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.sv-uc__hub { display: inline-flex; align-items: center; gap: var(--s-1); min-height: 36px; padding: 0 var(--s-3); border-radius: var(--r-pill); background: var(--brand-soft); color: var(--brand-ink); font-size: var(--fs-sm); font-weight: var(--fw-semi); white-space: nowrap; }
.sv-uc__hub:hover { background: var(--brand-soft-2); text-decoration: none; }
.sv-uc__list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-2) var(--s-4); }
.sv-uc__list a { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; gap: var(--s-1) var(--s-2); height: 100%; padding: var(--s-3) var(--s-4); border-radius: var(--r-sm); background: var(--bg-subtle); color: var(--ink); text-decoration: none; transition: background-color var(--dur-1); }
.sv-uc__list a:hover { background: var(--brand-soft); text-decoration: none; }
.sv-uc__list a:hover .sv-uc__t { color: var(--brand-ink); }
.sv-uc__tag { grid-column: 1; font-size: var(--fs-xs); color: var(--ink-3); }
.sv-uc__t { grid-column: 1; font-size: var(--fs-ui, 15px); font-weight: var(--fw-semi); line-height: 1.5; }
.sv-uc__list a .icon { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--brand-ink); }

/* 官网卡线框缩略图、一套后端手机列表、方案页句末链接、事实胶囊链接 */
.sv-form--site { grid-template-columns: minmax(0, 1fr) 240px auto; }
.sv-form__site-art { width: 240px; height: auto; }
.sv-backend__list { display: none; list-style: none; padding: 0; margin: var(--s-4) 0 0; gap: var(--s-2); }
.sv-backend__list li { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-3) var(--s-4); border-radius: var(--r-sm); background: var(--bg-subtle); font-size: var(--fs-sm); color: var(--ink-2); }
.sv-backend__list b { display: block; color: var(--ink); font-size: var(--fs-ui, 15px); }
.sv-backend__list .icon { color: var(--brand); }
.sv-backend__list .spark { color: var(--ai-ink); }
.sv-inline-note { margin-top: var(--s-5); font-size: var(--fs-sm); color: var(--ink-2); }
.sv-inline-note .link-more { min-height: 0; margin-left: var(--s-1); }
.sv-fact-link { text-decoration: none; color: var(--ink); }
.sv-fact-link:hover { text-decoration: none; box-shadow: inset 0 0 0 1px var(--ai-2); }
/* FAQ 两列等高 */
.faq--cols { align-items: stretch; }
.faq--cols details { height: 100%; }

/* 悬停上浮只给能悬停的指针、且允许动效时（触屏点按后不会卡在抬起状态） */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .sv-form:hover, .sv-prod:hover { transform: translateY(-4px); }
  .sv-case-demo:hover { transform: translateY(-2px); }
}
.sv-subnav__links a, .sv-uc__hub, .sv-uc__list a, .sv-switch, .tabs__tab { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
/* 吸顶子导航不遮住锚点标题 */
main section[id] { scroll-margin-top: calc(var(--nav-h) + 52px + var(--s-4)); }

/* ===== 15d D-108 合并：行业总页（行业卡、卡点、岗位场景、合规）与能力页「能做什么」 ===== */
.sv-hero-meta { font-size: var(--fs-xs); color: var(--ink-3); }
.sv-sub-t { margin: var(--s-8) 0 var(--s-5); }
/* 行业概况 + 行业卡 */
.sv-indintro { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: var(--s-7); align-items: start; }
.sv-indintro__prose { margin-top: var(--s-4); max-width: var(--measure); }
.sv-indintro__prose > * + * { margin-top: var(--s-4); }
.sv-indintro__prose p { font-size: var(--fs-body-lg, 17px); line-height: 1.8; color: var(--ink-2); }
.sv-indcard { padding: var(--s-5); border-radius: var(--r-lg); border: 1px solid transparent; background: linear-gradient(var(--surface), var(--surface)) padding-box, var(--grad-edge) border-box; box-shadow: var(--sh-2); }
.sv-indcard__title { display: flex; align-items: center; gap: var(--s-2); font-weight: var(--fw-semi); }
.sv-indcard__title .spark { color: var(--ai-ink); }
.sv-indcard__title .tag { margin-left: auto; }
.sv-indcard__stats { margin: var(--s-4) 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-2); }
.sv-indcard__stats > div { padding: var(--s-3) var(--s-4); border-radius: var(--r-sm); background: var(--bg-subtle); }
.sv-indcard__stats dt { font-size: var(--fs-xs); color: var(--ink-3); }
.sv-indcard__stats dd { margin: 0; font-size: 28px; line-height: 1.2; font-weight: var(--fw-bold); font-variant-numeric: tabular-nums; }
.sv-indcard__stats small { font-size: var(--fs-sm); font-weight: var(--fw-regular); color: var(--ink-2); margin-left: 2px; }
.sv-indcard__foot { margin-top: var(--s-4); font-size: var(--fs-xs); color: var(--ink-3); line-height: 1.6; }
.sv-pain__fix > span { display: block; }
.sv-pain__fix .tag { margin-left: var(--s-2); vertical-align: 1px; }
/* 岗位场景 */
.sv-legend { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); margin-bottom: var(--s-4); font-size: var(--fs-sm); color: var(--ink-2); }
.sv-legend > span { display: inline-flex; align-items: center; gap: var(--s-2); }
.sv-role-nav { margin-bottom: var(--s-5); }
.sv-roles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5); align-items: stretch; }
.sv-role { padding: var(--s-5); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-2); }
.sv-role__head { display: flex; align-items: center; gap: var(--s-3); margin-bottom: var(--s-4); }
.sv-role__name { font-size: var(--fs-h4); font-weight: var(--fw-semi); }
.sv-role__desc { font-size: var(--fs-sm); color: var(--ink-3); }
.sv-role__n { margin-left: auto; font-size: var(--fs-xs); color: var(--ink-3); white-space: nowrap; }
.sv-scn-list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--s-2); }
.sv-scn { display: grid; gap: var(--s-1); padding: var(--s-3) var(--s-4); border-radius: var(--r-sm); background: var(--bg-subtle); color: var(--ink); text-decoration: none; transition: background-color var(--dur-1); }
.sv-scn:hover { background: var(--brand-soft); text-decoration: none; }
.sv-scn:hover .sv-scn__t { color: var(--brand-ink); }
.sv-scn__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); font-size: var(--fs-xs); color: var(--ink-3); }
.sv-scn__cap { display: inline-flex; align-items: center; gap: 4px; }
.sv-scn__cap .spark { width: 12px; height: 12px; color: var(--ai-ink); }
.sv-scn__t { font-size: var(--fs-ui, 15px); font-weight: var(--fw-semi); line-height: 1.5; transition: color var(--dur-1); }
.sv-scn__s { font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.6; }
/* 现成产品 + 定制入口 */
.sv-offer { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--s-5); align-items: stretch; }
.sv-offer__prod { display: grid; grid-template-columns: minmax(0, 1fr) 200px; gap: var(--s-5); padding-bottom: 0; overflow: hidden; }
.sv-offer__text { display: grid; gap: var(--s-3); align-content: start; padding-bottom: var(--s-6); }
.sv-offer__media { position: relative; min-height: 300px; }
.sv-offer__media .device-phone { position: absolute; left: 0; top: 0; --phone-w: 200px; }
.sv-offer__custom { display: grid; gap: var(--s-3); align-content: start; }
/* 合规要点 */
.sv-rules { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--s-3); }
.sv-rule { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: var(--s-4); padding: var(--s-5); border-radius: var(--r-md); background: var(--surface); box-shadow: var(--sh-1); }
.sv-rule__id { align-self: start; display: inline-grid; place-items: center; height: 28px; border-radius: var(--r-pill); background: var(--bg-muted); font-size: var(--fs-xs); font-weight: var(--fw-semi); color: var(--ink-2); font-variant-numeric: tabular-nums; }
.sv-rule__t { font-weight: var(--fw-semi); font-size: var(--fs-body); }
.sv-rule__d { margin-top: var(--s-1); font-size: var(--fs-ui, 15px); color: var(--ink-2); line-height: 1.7; max-width: var(--measure); }
.sv-rule cite { display: block; margin-top: var(--s-2); font-style: normal; font-size: var(--fs-xs); color: var(--ink-3); }
/* 能力页「能做什么」：先说答案 + 四类能力 + 按行业页签 */
.sv-answer { margin-bottom: var(--s-6); }
.sv-answer__meta { margin-top: var(--s-2); font-size: var(--fs-xs) !important; color: var(--ink-3) !important; }
.sv-caps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-4); }
.sv-cap { padding: var(--s-5); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); }
.sv-cap__head { display: flex; gap: var(--s-3); align-items: center; margin-bottom: var(--s-3); }
.sv-cap__head b { display: block; font-size: var(--fs-h4); }
.sv-cap__head small { display: block; font-size: var(--fs-xs); color: var(--ink-3); }
.sv-cap__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 2px; }
.sv-cap__list a { display: flex; align-items: center; min-height: 36px; padding: var(--s-1) 0; font-size: var(--fs-sm); color: var(--ink); border-bottom: 1px dashed var(--line); }
.sv-cap__list li:last-child a { border-bottom: 0; }
.sv-cap__list a:hover { color: var(--brand-ink); text-decoration: none; }
.sv-byind { margin-top: var(--s-6); padding: var(--s-5); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); }
.sv-byind__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-3); }
.sv-byind .tabs__panel .sv-scn-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sv-byind .tabs__tab .chip__count { margin-left: var(--s-1); }
.sv-scn-foot { margin-top: var(--s-3); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-2) var(--s-4); font-size: var(--fs-sm); }

/* D-108 二次修订：定制开发页「能交付哪些端」页签 + 小程序上线代办折叠 */
.sv-ends { padding: var(--s-5); border-radius: var(--r-xl); background: var(--surface); box-shadow: var(--sh-2); }
.sv-ends__tabs { display: flex; flex-wrap: wrap; width: fit-content; max-width: 100%; }
.sv-ends__tabs .tabs__tab { display: inline-flex; align-items: center; gap: var(--s-2); }
.sv-ends__tabs .tabs__tab .icon { color: var(--brand); }
.sv-end { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: var(--s-7); align-items: center; }
.sv-end[hidden] { display: none; }
.sv-end__text > * + * { margin-top: var(--s-2); }
.sv-end__k { margin-top: var(--s-5) !important; font-size: var(--fs-xs); font-weight: var(--fw-semi); color: var(--ink-3); }
.sv-end__fit { font-size: var(--fs-body-lg, 17px); line-height: 1.7; color: var(--ink); max-width: 34em; }
.sv-end__media { margin: 0; display: grid; justify-items: center; min-height: 420px; align-content: center; }
.sv-end__media .device-phone { --phone-w: 240px; }
.sv-end__media .device-browser, .sv-end__media .device-tablet, .sv-end__shot { width: 100%; }
.sv-end__shot { border-radius: var(--r-md); overflow: hidden; box-shadow: var(--sh-3); border: 1px solid var(--line); background: var(--surface); }
.sv-end__shot img { width: 100%; height: auto; }
.sv-end__media .device-phone .device-phone__screen { aspect-ratio: 9 / 16; }
.sv-more { margin-top: var(--s-5); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--sh-1); }
.sv-more summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); min-height: 64px; padding: var(--s-3) var(--s-5); cursor: pointer; border-radius: var(--r-lg); }
.sv-more summary::-webkit-details-marker { display: none; }
.sv-more summary b { display: block; font-weight: var(--fw-semi); }
.sv-more summary small { display: block; font-size: var(--fs-sm); color: var(--ink-2); }
.sv-more summary .icon { color: var(--ink-3); transition: transform var(--dur-2) var(--ease-out); flex: none; }
.sv-more[open] summary .icon { transform: rotate(180deg); }
.sv-more__body { padding: var(--s-2) var(--s-5) var(--s-5); }
.sv-more__note { margin-top: var(--s-5); font-size: var(--fs-sm); color: var(--ink-2); }

/* D-108 二次修订：行业页系统目录（每项一句话 + 方案文章链接） */
.sv-syslist { list-style: none; padding: 0; margin: var(--s-6) 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-4); }
.sv-sys { display: flex; flex-direction: column; gap: var(--s-2); padding: var(--s-4) var(--s-5); border-radius: var(--r-md); background: var(--surface); box-shadow: var(--sh-1); }
.sv-sys__head { display: flex; align-items: center; justify-content: space-between; gap: var(--s-2); }
.sv-sys__name { display: inline-flex; align-items: center; gap: var(--s-1); font-weight: var(--fw-semi); font-size: var(--fs-body); }
.sv-sys__name .spark { width: 14px; height: 14px; color: var(--ai-ink); }
.sv-sys__s { font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.6; }
.sv-sys__who { display: block; margin-top: var(--s-1); font-size: var(--fs-xs); color: var(--ink-3); }
.sv-sys__link { margin-top: auto; padding-top: var(--s-2); border-top: 1px dashed var(--line); display: inline-flex; align-items: flex-start; gap: var(--s-1); font-size: var(--fs-sm); font-weight: var(--fw-semi); line-height: 1.5; color: var(--brand-ink); }
.sv-sys__link .icon { margin-top: 3px; flex: none; }
.sv-indintro .sv-legend { margin-top: var(--s-5); }

/* review-merge 收尾 */
.sv-scene--lead { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) !important; padding-bottom: var(--s-6) !important; align-items: center; }
.sv-scene--lead .sv-scene__text { padding-bottom: 0 !important; }
.sv-scene__aside { padding: var(--s-4) var(--s-5); border-radius: var(--r-md); background: var(--bg-subtle); }
.sv-scene__aside-t { font-size: var(--fs-xs); font-weight: var(--fw-semi); color: var(--ink-3); }
.sv-scene__aside .sv-scene__links { border-top: 0; padding-top: var(--s-2); margin: 0; }
.sv-scene--fold { display: flex; flex-direction: column; }
.sv-scene--fold .sv-scene__links { margin-top: auto; }
.sv-assure-grid--one { grid-template-columns: minmax(0, 1fr); }
.sv-assure-grid--one .sv-assure { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sv-ai-table .sec-head .btn--ai { flex: none; }
.sv-receipt { padding: var(--s-3) var(--s-4); border-radius: var(--r-md); background: var(--paper); box-shadow: 0 0 0 1px var(--paper-line), var(--sh-2); min-width: 260px; }
.sv-receipt__rows { margin: var(--s-2) 0 0; display: grid; gap: var(--s-1); font-size: var(--fs-sm); }
.sv-receipt__rows > div { display: flex; justify-content: space-between; gap: var(--s-4); }
.sv-receipt__rows dt { color: var(--ink-2); }
.sv-receipt__rows dd { margin: 0; font-variant-numeric: tabular-nums; }
.sv-receipt__sum { padding-top: var(--s-1); border-top: 1px dashed var(--line-strong); font-weight: var(--fw-semi); }
.sv-stage--receipt { --sv-stage-h: 400px; }
.sv-stage--receipt .sv-stage__bubble { left: auto; right: 0; top: 0; }
.sv-stage--receipt .sv-stage__card { left: 0; top: 190px; width: 360px; }
.sv-scene--fold > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); cursor: default; }
.sv-scene--fold > summary::-webkit-details-marker { display: none; }
.sv-scene__chev { display: none; color: var(--ink-3); transition: transform var(--dur-2) var(--ease-out); }
.sv-scene__body { display: flex; flex-direction: column; flex: 1; }
.sv-syslist { grid-auto-rows: auto; }
.sv-sys { display: grid; grid-row: span 3; grid-template-rows: subgrid; gap: var(--s-2); }
.sv-sys__link { margin-top: 0; align-self: start; }
.sv-offer__media { display: grid; align-items: end; justify-items: center; }
.sv-offer__media .device-phone { position: static; --phone-w: 180px; }

/* ===== 16 适配 ===== */
@media (max-width: 1280px) {
  .sv-stage--services .sv-stage__browser { width: 470px; }
  .sv-stage--services .sv-stage__card { width: 316px; top: 290px; }
  .sv-stage--agent .sv-stage__card { width: 300px; }
  .sv-stage--estate .sv-stage__browser { width: 480px; }
  .sv-stage--estate .sv-stage__card { top: 292px; width: 316px; }
  .sv-gates__inner { padding: var(--s-5); }
  .sv-annot { grid-template-columns: minmax(0, 1fr) 280px minmax(0, 1fr); gap: var(--s-5); }
  .sv-annot__phone .device-phone { --phone-w: 280px; }
}
@media (max-width: 1080px) {
  .sv-stage { max-width: 620px; margin-inline: auto; width: 100%; }
  .sv-form--mini { grid-column: span 12; grid-row: auto; }
  .sv-form--admin { grid-column: span 12; }
  .sv-form--app, .sv-form--saas { grid-column: span 6; }
  .sv-scene, .sv-scene--lead { grid-column: span 12; }
  .sv-scene:not(.sv-scene--lead) { grid-column: span 6; }
  .sv-gates__list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--s-5); }
  .sv-rail { display: none; }
  .sv-price, .sv-assure-grid, .sv-deliver, .sv-launch, .sv-consult, .sv-related { grid-template-columns: minmax(0, 1fr); }
  .sv-annot { grid-template-columns: minmax(0, 1fr) 260px; }
  .sv-annot__phone { grid-row: span 2; grid-column: 2; }
  .sv-annot__phone .device-phone { --phone-w: 260px; }
  .sv-devices { --n: 2 !important; }
  .sv-ai-pair { grid-template-columns: minmax(0, 1fr); }
  .sv-kinds, .sv-factors--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sv-uc__list { grid-template-columns: minmax(0, 1fr); }
  .sv-indintro, .sv-offer { grid-template-columns: minmax(0, 1fr); }
  .sv-assure-grid--one .sv-assure { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sv-syslist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sv-end { grid-template-columns: minmax(0, 1fr); gap: var(--s-5); }
  .sv-end__media { min-height: 0; }
  .sv-caps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sv-form--site { grid-template-columns: minmax(0, 1fr) auto; }
  .sv-form__site-art { display: none; }
  .sv-scene--lead { grid-template-columns: minmax(0, 1fr) 236px; }
  .sv-scene--lead > .sv-trio { grid-column: 1; }
  .sv-case-honest { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  /* 首屏舞台改成竖排：只留手机 + AI 卡，不再叠放 */
  .sv-stage { height: auto; display: grid; justify-items: center; gap: var(--s-4); padding-bottom: 0; }
  .sv-stage > * { position: relative; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important; }
  .sv-stage__browser { display: none; }
  .sv-stage__card { width: 100% !important; }
  .sv-stage__note { margin-top: 0; }
  .sv-stage__tag { display: none; }
  .sv-stage--agent .sv-stage__bubble { max-width: none; width: 100%; order: -1; }
  .sv-stage--agent .sv-stage__phone, .sv-stage--estate .sv-stage__phone, .sv-stage--services .sv-stage__phone { --phone-w: 240px; }
  .sv-stage--mini .device-fan { position: relative; width: 100%; --fan-h: 380px; --fan-step: 96px; }
  .sv-stage--mini .device-fan .device-phone { --phone-w: 180px !important; }
  .sv-forms { grid-template-columns: minmax(0, 1fr); gap: var(--s-4); }
  .sv-forms > * { grid-column: 1 / -1 !important; grid-row: auto !important; }
  .sv-form { padding: var(--s-5); }
  .sv-form--mini, .sv-form--admin { padding-bottom: 0; }
  .sv-form--admin { grid-template-columns: minmax(0, 1fr); gap: var(--s-3); }
  .sv-form--admin .sv-form__text { padding-bottom: 0; }
  .sv-form__shot { margin-right: calc(var(--s-5) * -1); }
  .sv-form__phone { height: 250px; }
  .sv-form__phone .device-phone { --phone-w: 200px; }
  .sv-form--site { grid-template-columns: minmax(0, 1fr); gap: var(--s-3); }
  .sv-factors, .sv-assure, .sv-deliver__list, .sv-pain, .sv-kinds { grid-template-columns: minmax(0, 1fr); }
  .sv-quote { padding: var(--s-5); }
  .sv-quote__foot { flex-direction: column; align-items: flex-start; }
  .sv-scenes { grid-template-columns: minmax(0, 1fr); gap: var(--s-4); }
  .sv-scene, .sv-scene--lead, .sv-scene:not(.sv-scene--lead) { grid-column: 1 / -1; padding: var(--s-5); }
  .sv-scene--lead { grid-template-columns: minmax(0, 1fr); padding-bottom: 0; }
  .sv-scene--lead .sv-scene__text { padding-bottom: 0; }
  .sv-scene__media { min-height: 280px; }
  .sv-scene__media .device-phone { left: 50%; transform: translateX(-50%); --phone-w: 220px; }
  .sv-trio > div { grid-template-columns: 56px minmax(0, 1fr); }
  .sv-gates { border-radius: var(--r-lg); }
  .sv-gates__inner { padding: var(--s-4); border-radius: var(--r-lg); }
  .sv-gates.ai-frame::after { inset: -8px; filter: blur(14px); opacity: 0.25; border-radius: calc(var(--r-lg) + 8px); }
  .sv-gates__ctrl { width: 100%; justify-content: space-between; }
  .sv-gates .tabs__list { width: 100%; }
  .sv-gates .tabs__tab { flex: 1; padding-inline: var(--s-3); }
  .sv-gates__io { grid-template-columns: minmax(0, 1fr); }
  .sv-gates__arrow { transform: rotate(90deg); height: 32px; }
  .sv-gates__list { grid-template-columns: minmax(0, 1fr); gap: var(--s-4); }
  .sv-gates__list::before { content: ""; position: absolute; left: 19px; top: 20px; bottom: 20px; width: 2px; background: var(--grad-ai); opacity: 0.35; border-radius: 2px; }
  .sv-gate { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: var(--s-3); }
  .sv-gate__top { margin: 0; align-items: flex-start; }
  .sv-gates__foot { display: grid; gap: var(--s-2); }
  .sv-switch { min-height: var(--hit); }
  .sv-annot { grid-template-columns: minmax(0, 1fr); }
  .sv-annot__phone { grid-row: auto; grid-column: auto; order: -1; }
  .sv-annot__phone .device-phone { --phone-w: 260px; }
  .sv-arch { padding: var(--s-4); }
  .sv-arch__row { grid-template-columns: minmax(0, 1fr); gap: var(--s-2); }
  .sv-arch__nodes { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
  .sv-arch__nodes--wide { grid-template-columns: minmax(0, 1fr) !important; }
  .sv-arch__link { display: none; }
  .sv-arch__row + .sv-arch__row { margin-top: var(--s-5); }
  .sv-pain li { padding: var(--s-5); }
  .sv-devices { gap: var(--s-4) var(--s-3); }
  .sv-devices .device-phone { --phone-w: 150px; padding: 5px; border-radius: 24px; }
  .sv-devices .device-phone__screen { border-radius: 19px; }
  .sv-devices .device-phone__island { top: 9px; height: 12px; }
  .sv-ai-card { grid-template-columns: minmax(0, 1fr); padding: var(--s-5) var(--s-5) 0; }
  .sv-ai-card__text { padding-bottom: 0; }
  .sv-ai-card__media { min-height: 300px; }
  .sv-ai-card__media .device-phone { left: 50%; transform: translateX(-50%); }
  .sv-prod { grid-template-columns: minmax(0, 1fr) 96px; }
  .sv-prod__media .device-phone { --phone-w: 96px; }
  .sv-consult { gap: var(--s-6); }
  .sv-ai-off { padding: var(--s-4); }
  .sv-ai-table .table--stack td::before { min-width: 4em; }
  .sv-ai-table .table--stack td { display: grid; grid-template-columns: 4.5em minmax(0, 1fr); gap: var(--s-2); text-align: left; }
  .sv-ai-table .table--stack td small { grid-column: 2; }
  .sv-ai-table .table th[scope="row"] a { min-height: var(--hit); }
  .sv-gate__demo .field-chip { flex-direction: row; align-items: center; }
  .sv-gate__demo .term { padding-right: var(--s-3); font-size: var(--fs-xs); }
  .sv-gate__demo .term__line { white-space: pre; }
  .sv-deliver .steps--vertical, .sv-launch .steps--vertical { grid-template-columns: minmax(0, 1fr); gap: var(--s-4); }
  .sv-factors { grid-auto-rows: auto; }
  .sv-ai-card .term { padding-right: 76px; }
  /* 第二轮：手机端主按钮通栏上下排（与产品组一致）；六步单列；结构图行之间分隔 */
  .sv-ctas { flex-direction: column; align-items: stretch; }
  .sv-ctas .btn { width: 100%; }
  .sv-ctas .link-more { align-self: flex-start; }
  .sv-steps { grid-template-columns: minmax(0, 1fr) !important; }
  /* 行之间隔着 .sv-arch__link，所以用 ~ 而不是 +（第二轮写成 + 没命中） */
  .sv-arch__row ~ .sv-arch__row { margin-top: var(--s-6); padding-top: var(--s-5); border-top: 1px dashed var(--line-strong); }
  .sv-scene--lead { grid-template-columns: minmax(0, 1fr); }
  .sv-prod { grid-template-columns: minmax(0, 1fr) 96px; }
  .sv-prod__media .device-phone { --phone-w: 96px; }
  .sv-prod__name { font-size: var(--fs-body); }
  .sv-stage--mini .sv-stage__tag--ai { display: none; }
  /* 最终版手机端 */
  .sv-subnav { -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--bg); }
  .sv-subnav__cta { display: none; }
  .sv-subnav__links { -webkit-mask-image: linear-gradient(90deg, var(--ink) 82%, transparent); mask-image: linear-gradient(90deg, var(--ink) 82%, transparent); padding-right: var(--s-6); }
  .sv-subnav__links a { min-height: var(--hit); }
  .sv-uc { padding: var(--s-4); }
  .sv-uc__hub { min-height: var(--hit); }
  .sv-backend svg { display: none; }
  .sv-backend__list { display: grid; }
  .sv-gates-sec .sec-head--center { text-align: left; }
  .sv-gates-sec .sec-head--center .sec-head__desc { margin-inline: 0; }
  .sv-fact-link { min-height: var(--hit); }
  .sv-inline-note .link-more { min-height: var(--hit); }
  /* D-108 手机端 */
  .sv-ends__tabs { -webkit-mask-image: linear-gradient(90deg, var(--ink) 80%, transparent); mask-image: linear-gradient(90deg, var(--ink) 80%, transparent); padding-right: var(--s-7); }
  .sv-assure-grid--one .sv-assure { grid-template-columns: minmax(0, 1fr); }
  .sv-scene--fold > summary { cursor: pointer; min-height: var(--hit); }
  .sv-scene--lead { grid-template-columns: minmax(0, 1fr) !important; padding-bottom: var(--s-5) !important; }
  .sv-scene__chev { display: block; }
  .sv-scene--fold[open] .sv-scene__chev { transform: rotate(180deg); }
  .sv-stage--receipt .sv-stage__bubble { width: 100%; }
  .sv-receipt { min-width: 0; }
  .sv-ends { padding: var(--s-4); }
  .sv-ends__tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; width: 100%; }
  .sv-ends__tabs .tabs__tab { flex: none; padding-inline: var(--s-3); }
  .sv-end__media .device-phone { --phone-w: 200px; }
  .sv-more summary { padding: var(--s-3) var(--s-4); }
  .sv-more__body { padding: var(--s-2) var(--s-4) var(--s-4); }
  .sv-syslist { grid-template-columns: minmax(0, 1fr); gap: var(--s-3); }
  .sv-scene__links a { min-height: var(--hit); }
  .sv-sys__link { min-height: var(--hit); }
  .sv-roles, .sv-caps, .sv-byind .tabs__panel .sv-scn-list { grid-template-columns: minmax(0, 1fr); }
  .sv-role, .sv-cap, .sv-byind { padding: var(--s-4); }
  .sv-offer__prod { grid-template-columns: minmax(0, 1fr); padding-bottom: 0; }
  .sv-offer__text { padding-bottom: 0; }
  .sv-offer__media { min-height: 260px; }
  .sv-offer__media .device-phone { --phone-w: 200px; }  /* 2026-10-24 修：上面已改成 static + 网格居中，原来的 translateX(-50%) 会把手机推出卡片左边 */
  .sv-rule { grid-template-columns: minmax(0, 1fr); gap: var(--s-2); padding: var(--s-4); }
  .sv-rule__id { justify-self: start; padding: 0 var(--s-3); }
  .sv-sub-t { margin-top: var(--s-7); }
  .sv-byind .tabs__list { width: 100%; overflow-x: auto; scrollbar-width: none; }
  .sv-byind .tabs__tab { flex: none; padding-inline: var(--s-3); }
  .sv-cap__list a { min-height: var(--hit); }
  .sv-role-nav .chip { min-height: var(--hit); }
  /* 终审：手机端第 2 道闸给印章留出右侧位置；相关产品卡名称可换行，不再钻到缩略图下面 */
  .sv-gate__demo .term { padding-right: 76px; }
  .sv-gate__demo .term__line { white-space: pre-wrap; }
  .sv-prod > span:first-child { min-width: 0; }
  .sv-prod__name { flex-wrap: wrap; white-space: normal; row-gap: var(--s-1); }
  .faq--cols details { height: auto; }
}

/* ===== 学校与幼儿园行业页 .sc-*（solution-school.html，2026-10-24）=====
   首屏右下卡：模板首页四入口；「用感尊 · 智慧物资怎么配」：页签复用 site.css 的 .tabs（[data-tabs]）。
   智慧物资不带 AI：这里不用 AI 光边、星芒，产品色只走 --wuzi。 */
.sc-entry-card { padding: var(--s-4) var(--s-5); }
.sc-entry-card__t { display: flex; align-items: center; gap: var(--s-2); margin-bottom: var(--s-3); font-size: var(--fs-sm); font-weight: var(--fw-semi); color: var(--ink); }
.sc-entry-card__t .icon { color: var(--wuzi); }
.sc-entries { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-2); }
.sc-entries li { display: grid; justify-items: center; gap: var(--s-1); padding: var(--s-3) var(--s-1); border-radius: var(--r-sm); background: var(--bg-subtle); font-size: var(--fs-sm); font-weight: var(--fw-semi); color: var(--ink); text-align: center; }
.sc-entries li span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: var(--r-pill); background: color-mix(in oklab, var(--wuzi) 14%, var(--surface)); color: color-mix(in oklab, var(--wuzi) 62%, var(--ink)); font-size: var(--fs-xs); font-variant-numeric: tabular-nums; }

.sc-setup { margin-top: var(--s-7); padding: var(--s-6); border-radius: var(--r-xl); background: var(--surface); box-shadow: var(--sh-1); scroll-margin-top: calc(var(--nav-h) + var(--s-8)); }
.sc-setup__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--s-4); }
.sc-setup__note { margin-top: var(--s-1); }
.sc-setup__for { display: flex; align-items: center; gap: var(--s-2); margin-bottom: var(--s-4); font-size: var(--fs-ui); color: var(--ink-2); }
.sc-cfg { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3); margin: 0; }
.sc-cfg__row { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-2); align-content: start; padding: var(--s-4) var(--s-5); border-radius: var(--r-md); background: var(--bg-subtle); }
.sc-cfg__row dt { font-size: var(--fs-xs); font-weight: var(--fw-semi); color: var(--ink-3); letter-spacing: 0.04em; }
.sc-cfg__row dd { margin: 0; font-size: var(--fs-ui); color: var(--ink); line-height: 1.7; }
.sc-cfg__list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--s-1); }
.sc-cfg__list li { position: relative; padding-left: var(--s-4); }
.sc-cfg__list li::before { content: ""; position: absolute; left: 0; top: 0.75em; width: 6px; height: 6px; border-radius: var(--r-pill); background: var(--wuzi); }
.sc-cfg__row--full { grid-column: 1 / -1; }
.sc-cfg__terms { font-weight: var(--fw-semi); letter-spacing: 0.02em; }
.sc-cfg__row .sc-entries li { background: var(--surface); }
.sc-setup__foot { margin-top: var(--s-5); display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); font-size: var(--fs-sm); color: var(--ink-2); }
@media (max-width: 1080px) {
  .sc-cfg { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .sc-setup { padding: var(--s-5) var(--s-4); border-radius: var(--r-lg); }
  .sc-setup__head { align-items: flex-start; }
  .sc-cfg__row { padding: var(--s-4); }
  .sc-entries li { font-size: var(--fs-xs); }
  .sc-setup__foot .link-more { min-height: var(--hit); display: inline-flex; align-items: center; }
}

/* ===== 第二轮（D-112）：AI 一节并入定制开发 · 验证级别标签 · 计价参考区间 ===== */
.sv-level { display: inline-flex; align-items: center; gap: var(--s-1); width: fit-content; min-height: 26px; padding: 2px var(--s-3); border-radius: var(--r-pill); font-size: var(--fs-xs); font-weight: var(--fw-semi); line-height: 1.4; }
.sv-level::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: none; }
.sv-level--semi { background: var(--ai-soft); color: var(--ai-ink); }
.sv-level--suggest { background: var(--bg-subtle); color: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); }
.sv-scene__body > .sv-level { margin-bottom: var(--s-3); }
.sv-ai-off.sv-ai-rules { list-style: none; margin: var(--s-6) 0 0; padding: var(--s-4) var(--s-5); }
.sv-gates__panel { margin-top: var(--s-5); }
.sv-quote__range { margin-top: var(--s-4); padding: var(--s-4); border-radius: var(--r-md); background: var(--surface); box-shadow: 0 0 0 1px var(--paper-line); display: grid; gap: var(--s-2); }
.sv-quote__range-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-4); align-items: baseline; font-size: var(--fs-sm); color: var(--ink-2); }
.sv-quote__range-v { color: var(--ink); font-weight: var(--fw-semi); font-variant-numeric: tabular-nums; white-space: nowrap; }
.sv-quote__range-note { margin: var(--s-1) 0 0; font-size: var(--fs-xs); color: var(--ink-3); line-height: 1.6; }
.sv-quote__range-note .tag { height: 20px; padding: 0 var(--s-2); margin-right: var(--s-2); font-size: var(--fs-xs); }
.sv-quote__range-note b { color: var(--ink-2); }

/* 跳转说明示意（service-ai-agent.html，不上线） */
.sv-moved { padding-bottom: var(--s-9); }
.sv-moved__card { max-width: 760px; margin: var(--s-7) auto 0; padding: var(--s-7); display: grid; gap: var(--s-4); }
.sv-moved__kicker { display: flex; flex-wrap: wrap; gap: var(--s-2); margin: 0; }
.sv-moved__card .lead { margin: 0; }
.sv-moved__ctas { align-items: center; gap: var(--s-5); margin-top: var(--s-2); }
.sv-moved__note { margin: var(--s-2) 0 0; padding-top: var(--s-4); border-top: 1px solid var(--line); font-size: var(--fs-xs); color: var(--ink-3); line-height: 1.7; }
@media (max-width: 760px) { .sv-moved__card { padding: var(--s-5); margin-top: var(--s-5); } }

/* ===== 第二轮（D-112）：行业页 · 本行业全部方案文章（倒序 + 数字分页） ===== */
.sv-indintro--one { grid-template-columns: minmax(0, 1fr); }
.sv-artlist { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.sv-artlist > li { border-bottom: 1px solid var(--line); }
.sv-art { display: grid; grid-template-columns: 112px minmax(0, 1fr) auto; gap: var(--s-2) var(--s-5); align-items: center; padding: var(--s-4) var(--s-2); color: var(--ink); text-decoration: none; border-radius: var(--r-sm); }
.sv-art:hover { background: var(--bg-subtle); text-decoration: none; }
.sv-art:hover .sv-art__t { color: var(--brand-ink); }
.sv-art__d { font-size: var(--fs-sm); color: var(--ink-3); font-variant-numeric: tabular-nums; }
.sv-art__t { font-weight: var(--fw-semi); font-size: var(--fs-ui); line-height: 1.5; }
.sv-art__m { display: inline-flex; align-items: center; gap: var(--s-2); justify-self: end; }
.sv-artpager { margin-top: var(--s-6); }
.sv-artpager__note { margin: var(--s-3) 0 0; text-align: center; font-size: var(--fs-xs); color: var(--ink-3); }
@media (max-width: 760px) {
  .sv-art { grid-template-columns: minmax(0, 1fr); gap: var(--s-1); padding: var(--s-4) 0; }
  .sv-art__d { order: 2; font-size: var(--fs-xs); }
  .sv-art__m { justify-self: start; order: 3; }
}
@media (max-width: 760px) {
  .sv-scene--lead .card__head { flex-wrap: wrap; row-gap: var(--s-2); }
  .sv-scene--lead .card__head .sv-level { white-space: nowrap; }
}
.sv-quote__range-t { margin: 0 0 var(--s-1); font-size: var(--fs-sm); font-weight: var(--fw-semi); color: var(--ink); }
.sv-artpager .sv-artpager__gap { display: none; }
@media (max-width: 760px) {
  .sv-artpager { flex-wrap: nowrap; }
  .sv-artpager .pager__mid { display: none; }
  .sv-artpager .sv-artpager__gap { display: inline-grid; }
}
.sv-artpager .pager__dir { white-space: nowrap; }
@media (max-width: 760px) { .sv-artpager { gap: var(--s-1); } .sv-artpager .pager__dir { padding: 0 var(--s-2); } }
.sv-moved__card .h2 { max-width: none; }

/* ===== 开发还原追加（第 1 次迭代前台；设计稿行内样式收进这里，截图取景参数不是设计令牌） ===== */
.sv-spark-sm { color: var(--ai-ink); width: 13px; height: 13px; }
.sv-shot-hero { --shot-w: 150%; --shot-x: 0; --shot-y: 0; }
.sv-shot-admin { --ratio: 16 / 11; --shot-w: 140%; --shot-x: -15.5%; --shot-y: -2.5%; }
.sv-crop-16 { --crop: 16; }
.sv-stage__card--round { border-radius: var(--r-lg); }
.sv-gap-2 { gap: var(--s-2); }
.sv-ic-brand { color: var(--brand); }
.sv-tablet-full { --tablet-w: 100%; }
.sv-steps--5 { --steps: 5; }
.sv-err { margin-top: var(--s-2); }
.sv-row { align-items: center; }
.sv-faq-group { margin: var(--s-5) 0 var(--s-3); }
.sv-faq-group:first-of-type { margin-top: 0; }
.sv-page-no { font-size: var(--fs-h4); color: var(--ink-3); margin-left: var(--s-2); }
.sv-ind-art { width: 100%; max-width: 420px; height: auto; display: block; margin-inline: auto; }
.sv-offer--one { grid-template-columns: minmax(0, 1fr); }
.sv-cta-desc { margin-top: var(--s-2); }

/* ===== 17 2026-11-01 体检修复（方案服务组 S-06～S-10、S-14、H-24） ===== */
/* S-07：系统卡按张数排列，3 张就 3 列，不留空的第 4 列 */
.sv-syslist--n1 { grid-template-columns: minmax(0, 1fr); max-width: 420px; }
.sv-syslist--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sv-syslist--n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sv-sys__ic { flex: none; color: var(--brand); }
/* S-08：计价因素卡不随右侧报价单拉高，标题和说明贴在一起 */
.sv-price { align-items: start; }
.sv-price .sv-factors { align-content: start; }
.sv-price .sv-factor { align-content: center; }
.sv-price-quote { margin-top: var(--s-4); }
/* S-06：只有手机截图时的首屏 —— 手机居中加大，旁边叠系统小卡，说明紧贴在手机下方 */
.sv-solo { display: grid; grid-template-columns: auto minmax(0, 260px); grid-template-areas: "phone cards" "note note"; justify-content: center; align-items: center; gap: var(--s-4) var(--s-6); }
.sv-solo__phone { grid-area: phone; --phone-w: 236px; }
.sv-solo__cards { grid-area: cards; list-style: none; padding: 0; margin: 0; display: grid; gap: var(--s-3); }
.sv-solo__cards .sv-sysmini { padding: var(--s-3) var(--s-4); border-radius: var(--r-md); background: var(--surface); box-shadow: var(--sh-2); }
.sv-solo__note { grid-area: note; text-align: center; font-size: var(--fs-xs); color: var(--ink-3); }
/* 系统小卡（首屏 solo 与系统示意卡共用）：实心图标 + 名称 + 标记 + 一句话 */
.sv-sysmini { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: var(--s-1) var(--s-3); }
.sv-sysmini .card__icon { grid-row: span 2; background: var(--brand); color: var(--on-brand); }
.sv-sysmini .card__icon--ai { background: var(--ai-ink); color: var(--on-brand); }
.sv-sysmini__t { font-weight: var(--fw-semi); font-size: var(--fs-body); line-height: 1.4; }
.sv-sysmini__d { grid-column: 2 / -1; font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.5; }
/* S-09：一张截图都没有时，首屏右栏是「能做的系统」示意卡，不再是像没加载出来的空线框 */
.sv-sysboard { padding: var(--s-6); max-width: 460px; margin-inline: auto; width: 100%; }
.sv-sysboard__t { font-size: var(--fs-sm); font-weight: var(--fw-semi); color: var(--ink-3); }
.sv-sysboard__list { list-style: none; padding: 0; margin: var(--s-4) 0 0; display: grid; gap: 0; }
.sv-sysboard__list .sv-sysmini { padding: var(--s-3) 0; }
.sv-sysboard__list .sv-sysmini + .sv-sysmini { border-top: 1px dashed var(--line); }
.sv-sysboard__foot { margin-top: var(--s-3); padding-top: var(--s-3); border-top: 1px solid var(--line); font-size: var(--fs-xs); color: var(--ink-3); }
/* S-10：没有方案文章时，五类活的「看方案」链接收成区块底部一条 */
.sv-scenes-more { margin-top: var(--s-5); }
/* S-14：单页正文放进卡片，和全页同宽对齐 */
.sv-more-body { padding: var(--s-6); }
.sv-more-body .prose { max-width: 72ch; }
@media (max-width: 1080px) {
  .sv-syslist--n3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .sv-syslist--n2, .sv-syslist--n3 { grid-template-columns: minmax(0, 1fr); }
  .sv-solo { grid-template-columns: minmax(0, 1fr); grid-template-areas: "phone" "note" "cards"; justify-items: center; gap: var(--s-3); }
  .sv-solo__phone { --phone-w: 200px; }
  .sv-solo__cards { display: none; }   /* 手机上紧接着就是系统清单，首屏不再重复一遍（体检 S-09：首屏别被示意图占掉） */
  .sv-sysboard { display: none; }
  .sv-more-body { padding: var(--s-5); }
}
