/* ============================================================
   定价系统 /pricing 与 /pricing/*（scripts/build-pricing.mjs 生成）
   /pricing 主线：首屏（规模 + 币种）→ 三张方案卡 → Adis 估价入口 → 订阅里含什么 → 四个入口 → 逐项对比 → 常见问题 → 开始
   子页面：用量表 usage、Adis 估价 estimate、跨品牌对比 compare、私有化模型 private
   与首页同一套语言：白底、Geist、单一信号橙；标题、FAQ、收尾沿用 home.css 的 .hd-* 契约。
   类名一律 pr- 开头，只作用于 .pr 容器；颜色只用 site.css 的令牌（深色主题自动跟随）。
   面分层（docs/site-design.md）：方案卡、入口卡、表单块都是灰面，不画 1px 边框；推荐的方案是浮起的白卡。
   ============================================================ */
.pr { --pr-r: 24px; --pr-ink-12: color-mix(in srgb, var(--ink-strong) 12%, transparent); }
/* hidden 属性优先于本页各处的 display（结果面板、按条件出现的行） */
.pr [hidden] { display: none !important; }
.pr .sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.pr .pr-num, .pr [data-p], .pr [data-calc], .pr [data-mx] { font-feature-settings: "tnum" 1; }
/* site.css 给 p a / li a 加了橙色下划线，这页的链接自己管 */
.pr p a, .pr li a { border-bottom: 0; }

/* ============ 首屏 ============ */
.pr-hero { padding-top: clamp(56px, 8vw, 112px); text-align: center; }
.pr-hero h1 { font-size: clamp(2.6rem, 5.4vw, 4.6rem); font-weight: 600; line-height: 1.05; letter-spacing: -0.05em; }
.pr .pr-hero-sub { margin: 20px auto 0; max-width: 36em; font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.6; color: var(--mut); }
.pr-cur { margin-top: 28px; display: inline-flex; align-items: center; gap: 10px; }
.pr-cur label { font-size: 0.875rem; color: var(--mut); }
.pr-sel { position: relative; display: inline-flex; }
.pr-sel::after { content: ""; position: absolute; right: 14px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: solid var(--ink-strong); border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); pointer-events: none; }
.pr-sel select {
  appearance: none; -webkit-appearance: none; margin: 0; font: inherit; font-size: 0.9375rem; font-weight: 500;
  color: var(--ink-strong); background: var(--fill); border: 0; border-radius: 999px;
  padding: 8px 36px 8px 16px; cursor: pointer; font-feature-settings: "tnum" 1;
  transition: background 0.15s ease;
}
.pr-sel select:hover { background: var(--fill-hover); }
.pr-sel select:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }

/* ============ 三张方案卡 ============ */
.pr-plans { padding-top: clamp(40px, 5vw, 64px); }
.pr-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.pr-card { --fill: var(--raised); --fill-hover: var(--raised-hover); position: relative; display: flex; flex-direction: column; min-width: 0; padding: 12px 12px 28px; border-radius: var(--pr-r); background: var(--surface); }
.pr-card > :not(.pr-card-art) { margin-left: 14px; margin-right: 14px; }
/* 推荐的方案：浮起的白卡 + 一圈橙色；卡里的灰色控件跟着换回灰色 */
.pr-card--pick { --fill: var(--surface); --fill-hover: var(--surface-hover); background: var(--raised); box-shadow: 0 0 0 1.5px color-mix(in srgb, var(--signal) 55%, transparent), var(--elev-3); }
.pr-badge { position: absolute; top: 22px; right: 22px; z-index: 1; margin: 0 !important; padding: 4px 11px; border-radius: 999px; background: var(--signal-soft); color: var(--signal); font-size: 0.75rem; font-weight: 600; }
/* 桌面三列：subgrid 让三张卡的每一行对齐（名字、标语换行时，价格与按钮仍在同一条线上） */
@supports (grid-template-rows: subgrid) {
  @media (min-width: 1101px) {
    .pr-cards { grid-template-rows: repeat(12, auto); row-gap: 0; }
    .pr-card { display: grid; grid-row: span 12; grid-template-rows: subgrid; row-gap: 0; align-content: start; }
    .pr-card > * { align-self: start; }
  }
}
.pr-card-art { display: grid; place-items: center; aspect-ratio: 16 / 10; border-radius: 16px; background: var(--raised); overflow: hidden; }
.pr-card--pick .pr-card-art { background: var(--surface); }
.pr-card-art img { width: 90%; height: 90%; object-fit: contain; }
.pr-card-k { margin-top: 22px; font-size: 0.8125rem; font-weight: 500; color: var(--mut); }
.pr .pr-card-name { margin-top: 4px; font-size: 1.6rem; font-weight: 600; line-height: 1.2; letter-spacing: -0.03em; }
.pr .pr-card-tag { margin-top: 6px; font-size: 1rem; line-height: 1.5; color: var(--mut); }
.pr-price { margin-top: 24px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.pr-amt { font-size: clamp(2rem, 2.9vw, 2.6rem); font-weight: 600; line-height: 1.05; letter-spacing: -0.045em; color: var(--ink-strong); }
.pr-amt-note { font-size: 0.875rem; color: var(--mut); }
.pr .pr-seat { margin-top: 8px; font-size: 1rem; color: var(--ink); }
.pr-seat b { font-weight: 600; color: var(--ink-strong); }
.pr .pr-ex { margin-top: 6px; font-size: 0.875rem; color: var(--mut); }
.pr-ex b { font-weight: 500; color: var(--ink); }
.pr-card .btn { margin-top: 22px; width: auto; justify-content: center; }
.pr-prods { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 6px; }
.pr-prod { display: inline-flex; align-items: center; gap: 6px; padding: 3px 11px 3px 3px; border-radius: 999px; background: var(--fill); font-size: 0.8125rem; font-weight: 500; color: var(--ink-strong); white-space: nowrap; }
.pr-prod img { width: 22px; height: 22px; border-radius: 6px; }
.pr-prod.is-new { background: var(--signal-soft); }
.pr .pr-feats { list-style: none; margin-top: 26px; padding: 0; display: grid; gap: 12px; }
.pr-feats li { position: relative; padding-left: 26px; font-size: 0.9375rem; line-height: 1.5; color: var(--ink); }
.pr-feats li::before {
  content: ""; position: absolute; left: 0; top: 0.2em; width: 16px; height: 16px; background: var(--signal);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l2.9 2.9 6.1-6.6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l2.9 2.9 6.1-6.6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.pr-feats li.pr-feats-h { padding-left: 0; font-size: 0.875rem; font-weight: 600; color: var(--ink-strong); }
.pr-feats li.pr-feats-h::before { display: none; }
.pr .pr-fine { margin-top: 24px; text-align: center; font-size: 0.8125rem; line-height: 1.6; color: var(--mut-2); }

/* ============ 逐项对比（竖表，表头吸顶） ============ */
.pr-cmp { position: relative; }
.pr-cmp-row { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); gap: 0 20px; align-items: center; }
.pr-cmp-head { position: sticky; top: var(--nav-h); z-index: 5; background: var(--bg); box-shadow: 0 1px 0 var(--line); }
.pr-cmp-top { padding: 18px 0 20px; align-items: end; }
.pr-cmp-plan { min-width: 0; }
.pr-cmp-plan b { display: block; font-size: 1rem; font-weight: 600; line-height: 1.3; color: var(--ink-strong); }
.pr-cmp-price { display: block; margin-top: 6px; font-size: 1.4rem; font-weight: 600; letter-spacing: -0.035em; color: var(--ink-strong); }
.pr-cmp-plan small { display: block; margin-top: 2px; font-size: 0.8125rem; color: var(--mut); }
.pr .btn--sm { height: 34px; margin-top: 12px; padding: 0 14px; font-size: 0.8125rem; }
.pr-cmp-g { display: block; padding: 44px 0 12px; }
.pr .pr-cmp-gt { font-size: 1.3rem; font-weight: 600; letter-spacing: -0.025em; color: var(--ink-strong); }
.pr-cmp-grp .pr-cmp-row:not(.pr-cmp-g) { min-height: 58px; padding: 14px 0; border-bottom: 1px solid var(--line-soft); }
.pr-cmp-lab { min-width: 0; display: flex; align-items: center; gap: 12px; font-size: 0.9375rem; line-height: 1.5; color: var(--ink); }
.pr-cmp-lab img { flex: none; width: 28px; height: 28px; }
.pr-cmp-pn b { font-weight: 600; color: var(--ink-strong); }
.pr-cmp-pn small { margin-left: 8px; font-size: 0.875rem; color: var(--mut); }
.pr-cmp-c { min-width: 0; font-size: 0.9375rem; line-height: 1.5; color: var(--ink-strong); }
.pr-cmp-c .pr-strong { font-weight: 600; }
.pr-y { display: inline-block; width: 20px; height: 20px; vertical-align: middle; background: var(--ink-strong);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.5 10.4l3.6 3.6 7.4-8' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.5 10.4l3.6 3.6 7.4-8' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.pr-no { display: inline-block; width: 14px; height: 1.5px; vertical-align: middle; border-radius: 1px; background: var(--mut-2); opacity: 0.7; }

/* 「查看更多 →」链接（各区块共用） */
.pr-more { display: inline-flex; align-items: center; gap: 8px; margin-top: 28px; font-size: 0.9375rem; font-weight: 600; color: var(--ink-strong); }
.pr-more .arr { transition: transform 0.18s var(--hd-ease); }
.pr-more:hover { color: var(--signal); }
.pr-more:hover .arr { transform: translateX(3px); }

/* ============ 首屏控件：规模 + 币种 ============ */
.pr-ctl { margin-top: 28px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 20px; }
.pr-ctl .pr-cur { margin-top: 0; }
.pr-seg { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 4px; padding: 4px; border-radius: 999px; background: var(--fill); }
.pr-seg button {
  padding: 7px 16px; border: 0; border-radius: 999px; background: transparent; color: var(--mut);
  font: inherit; font-size: 0.875rem; font-weight: 500; font-feature-settings: "tnum" 1; cursor: pointer; white-space: nowrap;
  transition: background 0.15s ease, color 0.15s ease, transform 0.1s ease;
}
.pr-seg button:hover { color: var(--ink-strong); }
.pr-seg button:active { transform: scale(0.97); }
.pr-seg button[aria-pressed="true"] { background: var(--raised); color: var(--ink-strong); box-shadow: var(--elev-1); }
.pr-seg button:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.pr-seg--sm button { padding: 6px 12px; font-size: 0.8125rem; }

/* 卡片：配额行、这一带不提供时 */
.pr .pr-quota { margin-top: 4px; font-size: 0.875rem; color: var(--mut); }
.pr-quota b { font-weight: 500; color: var(--ink); font-feature-settings: "tnum" 1; }
.pr-card.is-na .pr-amt, .pr-card.is-na .pr-seat, .pr-card.is-na .pr-quota { opacity: 0.45; }
.pr-card.is-na .pr-ex { color: var(--ink); }

/* ============ Adis 估价入口 ============ */
.pr-ask-sec { padding-top: clamp(40px, 5vw, 64px); }
.pr-ask { max-width: 760px; margin: 0 auto; padding: 26px; border-radius: var(--pr-r); background: var(--surface); }
.pr-ask-h { display: block; margin-bottom: 14px; font-size: 1.05rem; font-weight: 600; color: var(--ink-strong); }
.pr-ask-row { display: flex; gap: 10px; }
.pr-ask-row input {
  flex: 1; min-width: 0; height: 46px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--raised);
  color: var(--ink-strong); font: inherit; font-size: 1rem; box-shadow: var(--elev-1); transition: box-shadow 0.15s ease;
}
.pr-ask-row input:hover { box-shadow: var(--ring), var(--elev-1); }
.pr-ask-row input:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.pr-ask-row .btn { flex: none; }

/* ============ 订阅里包含什么 ============ */
.pr-inc { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.pr-inc-i { padding: 26px; border-radius: var(--pr-r); background: var(--surface); }
.pr-inc-ico { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--signal-soft); color: var(--signal); }
.pr-inc-ico svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.pr-inc-i b { display: block; margin-top: 18px; font-size: 1.125rem; font-weight: 600; color: var(--ink-strong); }
.pr-inc-i p { margin-top: 8px; font-size: 0.9375rem; line-height: 1.65; color: var(--mut); }

/* ============ 四个入口 ============ */
.pr-lks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
/* 媒体卡：图在灰色圆角面里，名字与说明在面下面 */
.pr-lk { display: grid; align-content: start; gap: 6px; padding: 0 0 8px; color: inherit; }
.pr-lk figure { display: grid; place-items: center; aspect-ratio: 16 / 10; margin-bottom: 12px; border-radius: var(--pr-r); background: var(--surface); overflow: hidden; transition: background 0.25s ease; }
.pr-lk figure img { transition: transform 0.5s var(--hd-ease); }
.pr-lk:hover figure { background: var(--surface-hover); }
.pr-lk:hover figure img { transform: scale(1.03); }
.pr-lk figure img { width: 92%; height: 92%; object-fit: contain; }
.pr-lk b, .pr-lk span { margin: 0 6px; }
.pr-lk b { font-size: 1.125rem; font-weight: 600; color: var(--ink-strong); }
.pr-lk span { font-size: 0.9375rem; line-height: 1.6; color: var(--mut); }

/* ============ 子页面：首屏 ============ */
.pr-sub { padding-top: clamp(40px, 6vw, 88px); }
.pr-sub-grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.pr-crumb { display: inline-flex; align-items: center; gap: 6px; font-size: 0.875rem; font-weight: 500; color: var(--mut); }
.pr-crumb:hover { color: var(--ink-strong); }
.pr-kick { display: flex; align-items: center; gap: 10px; margin-top: 28px; font-size: 0.875rem; font-weight: 600; color: var(--signal); }
.pr-sub h1 { margin-top: 12px; font-size: clamp(2.4rem, 4.8vw, 4rem); font-weight: 600; line-height: 1.08; letter-spacing: -0.05em; }
.pr-sub .pr-hero-sub { margin: 20px 0 0; text-align: left; }
.pr-sub-art img { width: 100%; height: auto; }
.pr-sub-ctl { padding-top: 24px; }
.pr-sub-ctl .wrap { display: flex; justify-content: flex-end; }
.pr-sub-ctl--in { display: flex; justify-content: flex-end; padding: 0 0 12px; }
.pr .pr-fine--l { text-align: left; max-width: 60em; }
.pr-end { margin-top: 48px; }

/* ============ 表格（用量表 / 私有化机型 / 对比） ============ */
.pr-tbl-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.pr-tbl { width: 100%; min-width: 720px; margin: 0; border-collapse: collapse; font-size: inherit; }
.pr-tbl th, .pr-tbl td { padding: 14px 12px; border-bottom: 1px solid var(--line-soft); text-align: right; vertical-align: middle; font-family: inherit; letter-spacing: normal; text-transform: none; background: none; font-feature-settings: "tnum" 1; }
.pr-tbl tr:hover td { background: none; }
.pr-tbl th:first-child, .pr-tbl td:first-child { padding-left: 0; text-align: left; }
.pr-tbl th:last-child, .pr-tbl td:last-child { padding-right: 0; }
.pr-tbl thead th { border-bottom-color: var(--line); font-size: 0.8125rem; font-weight: 500; color: var(--mut); white-space: nowrap; }
.pr-tbl thead tr + tr th { border-bottom-color: var(--line); }
.pr-tbl thead th[colspan] { text-align: center; border-bottom-color: var(--line-soft); }
.pr-tbl tbody th { font-size: 0.9375rem; font-weight: 600; color: var(--ink-strong); }
.pr-tbl td { font-size: 0.9375rem; color: var(--ink-strong); white-space: nowrap; }
.pr-tbl td small, .pr-tbl th small { font-size: 0.8125rem; font-weight: 400; color: var(--mut); }
.pr-tbl td b { font-weight: 600; }
.pr-tbl .pr-vrow th { padding-top: 28px; font-size: 1rem; }
.pr-tbl .pr-vrow th > * { vertical-align: middle; }
.pr-vrow span { margin-left: 10px; }
.pr .pr-vi { display: inline-block; flex: none; vertical-align: middle; }
[data-theme="dark"] .pr .pr-vi, [data-theme="dark"] .pr .mono { filter: invert(1); }
.pr-mname { margin-right: 8px; }
.pr-cls { display: inline-block; padding: 1px 9px; border-radius: 999px; background: var(--fill); font-size: 0.75rem; font-weight: 500; color: var(--mut); vertical-align: 1px; }
.pr-cls--frontier { background: var(--signal-soft); color: var(--signal); }
.pr-cls--standard { background: var(--ink-strong); color: var(--bg); }
.pr-src { margin-top: 20px; font-size: 0.8125rem; color: var(--mut); }
.pr-src-list { list-style: none; margin-top: 6px; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 0.8125rem; color: var(--mut-2); }
.pr-src-list a { color: var(--mut); border-bottom: 0; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--line); }
.pr-mut { color: var(--mut-2); }

/* ============ 用量表：配额池、单位、超出单价 ============ */
.pr-pool { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 16px; align-items: stretch; }
.pr-pool-ex { padding: 28px; border-radius: var(--pr-r); background: var(--ink-strong); color: var(--bg); }
.pr-pool-ex .pr-kick { margin-top: 0; color: var(--signal-hover); }
.pr-pool-ex b { display: block; margin-top: 10px; font-size: 1.3rem; font-weight: 600; line-height: 1.35; color: var(--bg); }
.pr .pr-pool-ex p { margin-top: 12px; font-size: 1rem; line-height: 1.7; color: color-mix(in srgb, var(--bg) 78%, transparent); }
.pr-rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pr-rule { padding: 22px; border-radius: var(--pr-r); background: var(--surface); }
.pr-rule b { display: block; font-size: 1rem; font-weight: 600; color: var(--ink-strong); }
.pr-rule p { margin-top: 6px; font-size: 0.875rem; line-height: 1.6; color: var(--mut); }
.pr-units { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pr-unit { padding: 26px; border-radius: var(--pr-r); background: var(--surface); }
.pr-unit b { display: block; font-size: 1.15rem; font-weight: 600; color: var(--ink-strong); }
.pr-unit p { margin-top: 8px; font-size: 0.9375rem; line-height: 1.7; color: var(--ink); }
.pr-unit code { display: block; margin-top: 14px; padding: 10px 14px; border-radius: 12px; background: var(--raised); font-family: var(--font-mono); font-size: 0.8125rem; color: var(--ink-strong); overflow-x: auto; white-space: nowrap; }
.pr-over { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pr-over-i { display: grid; align-content: start; gap: 6px; padding: 26px; border-radius: var(--pr-r); background: var(--surface); }
.pr-over-i > span { font-size: 0.875rem; color: var(--mut); }
.pr-over-i > b { font-size: 1.5rem; font-weight: 600; letter-spacing: -0.03em; color: var(--ink-strong); }
.pr-over-i p { font-size: 0.9375rem; line-height: 1.65; color: var(--ink); }
.pr-over-i .pr-more { margin-top: 10px; }

/* ============ Adis 估价页 ============ */
.pr-est { padding-top: clamp(32px, 4vw, 56px); }
.pr-est-form { max-width: 860px; }
.pr-chips { margin-top: 14px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pr-chips-l { font-size: 0.8125rem; color: var(--mut); margin-right: 4px; }
.pr-chip { padding: 6px 14px; border: 0; border-radius: 999px; background: var(--fill); color: var(--ink); font: inherit; font-size: 0.8125rem; cursor: pointer; transition: background 0.15s ease, color 0.15s ease; }
.pr-chip:hover { background: var(--fill-hover); color: var(--ink-strong); }
.pr-chip:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.pr .pr-est-st { min-height: 1.6em; margin-top: 16px; font-size: 0.9375rem; color: var(--mut); }
.pr-est-st.is-busy::before { content: "//"; display: inline-block; margin-right: 8px; font-weight: 700; color: var(--signal); animation: prPulse 1s ease-in-out infinite; }
@keyframes prPulse { 50% { opacity: 0.25; } }
.pr-est-st.is-warn { color: var(--signal); }
.pr-out { margin-top: 20px; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 16px; align-items: start; }
.pr-out-l, .pr-out-r { display: grid; gap: 16px; min-width: 0; }
.pr-panel { --fill: var(--raised); --fill-hover: var(--raised-hover); padding: 26px; border-radius: var(--pr-r); background: var(--surface); }
.pr .pr-panel h2 { font-size: 1.05rem; font-weight: 600; letter-spacing: -0.01em; color: var(--ink-strong); }
.pr-judge dl { margin-top: 12px; display: grid; }
.pr-judge dl > div { display: grid; grid-template-columns: 7.5em minmax(0, 1fr); gap: 12px; padding: 12px 0; border-top: 1px solid var(--line-soft); }
.pr-judge dt { font-size: 0.875rem; color: var(--mut); }
.pr-judge dd { min-width: 0; }
.pr-judge dd > b { display: block; font-size: 1rem; font-weight: 600; color: var(--ink-strong); }
.pr-conf { display: flex; align-items: center; gap: 10px; margin-top: 6px; }
.pr-conf i { position: relative; flex: none; width: 88px; height: 4px; border-radius: 99px; background: var(--pr-ink-12); overflow: hidden; }
.pr-conf i::after { content: ""; position: absolute; inset: 0; width: calc(var(--c, 0) * 100%); border-radius: inherit; background: var(--signal); transition: width 0.5s var(--hd-ease); }
.pr-conf small { font-size: 0.75rem; color: var(--mut); font-feature-settings: "tnum" 1; }
.pr-adj { display: grid; gap: 16px; }
.pr-f { display: grid; gap: 6px; font-size: 0.875rem; color: var(--mut); }
.pr-f small { font-size: 0.75rem; color: var(--mut-2); }
.pr-f b { color: var(--ink-strong); font-weight: 600; }
.pr-f input[type="number"] { height: 40px; padding: 0 14px; border: 0; border-radius: 12px; background: var(--raised); box-shadow: var(--elev-1); color: var(--ink-strong); font: inherit; font-size: 1rem; font-feature-settings: "tnum" 1; }
.pr-f input[type="number"]:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.pr-f .pr-seg { justify-content: flex-start; }
.pr-f .pr-sel select { width: 100%; }
.pr-check { display: flex; align-items: center; gap: 10px; font-size: 0.9375rem; color: var(--ink-strong); cursor: pointer; }
.pr-check input { width: 18px; height: 18px; accent-color: var(--signal); }
.pr-adj .pr-cur { margin: 0; justify-content: space-between; }
.pr-range { --p: 30%; -webkit-appearance: none; appearance: none; display: block; width: 100%; height: 24px; margin: 0; background: transparent; cursor: pointer; }
.pr-range::-webkit-slider-runnable-track { height: 4px; border-radius: 99px; background: linear-gradient(90deg, var(--signal) var(--p), var(--pr-ink-12) var(--p)); }
.pr-range::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; margin-top: -9px; border-radius: 50%; background: var(--raised); border: 0; box-shadow: 0 0 0 1px rgba(20, 20, 18, 0.08), 0 2px 8px rgba(20, 20, 18, 0.18); }
.pr-range::-moz-range-track { height: 4px; border-radius: 99px; background: var(--pr-ink-12); }
.pr-range::-moz-range-progress { height: 4px; border-radius: 99px; background: var(--signal); }
.pr-range::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: var(--raised); border: 0; box-shadow: 0 0 0 1px rgba(20, 20, 18, 0.08), 0 2px 8px rgba(20, 20, 18, 0.18); }
.pr-range:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; border-radius: 8px; }
.pr-quote .pr-changed { margin-top: 10px; padding: 10px 12px; border-radius: 10px; background: var(--signal-soft); font-size: 0.875rem; color: var(--ink-strong); }
.pr-big { margin-top: 16px; display: grid; gap: 2px; }
.pr-big span { font-size: 0.875rem; color: var(--mut); }
.pr-big b { font-size: clamp(2.4rem, 4.6vw, 3.6rem); font-weight: 600; line-height: 1.05; letter-spacing: -0.05em; color: var(--ink-strong); font-feature-settings: "tnum" 1; }
.pr-kv { margin-top: 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; }
.pr-kv dt { font-size: 0.8125rem; color: var(--mut); }
.pr-kv dd { margin-top: 2px; font-size: 1.2rem; font-weight: 600; letter-spacing: -0.02em; color: var(--ink-strong); font-feature-settings: "tnum" 1; }
.pr .pr-lines { list-style: none; margin-top: 18px; padding: 16px 0 0; border-top: 1px solid var(--line-soft); display: grid; gap: 8px; font-size: 0.9375rem; color: var(--ink); }
.pr-lines b { font-weight: 600; color: var(--ink-strong); font-feature-settings: "tnum" 1; }
.pr-quote .btn-row { margin-top: 22px; }
.pr-why ol { margin-top: 12px; padding-left: 1.3em; display: grid; gap: 8px; font-size: 0.9375rem; line-height: 1.6; color: var(--ink); }
.pr-why b { font-weight: 600; color: var(--ink-strong); font-feature-settings: "tnum" 1; }
.pr-privp .pr-more { margin-top: 14px; }
.pr-how { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; counter-reset: prhow; }
.pr-how li { counter-increment: prhow; padding: 24px; border-radius: var(--pr-r); background: var(--surface); }
.pr-how li::before { content: "0" counter(prhow); font-size: 0.8125rem; font-weight: 600; color: var(--signal); font-feature-settings: "tnum" 1; }
.pr-how b { display: block; margin-top: 10px; font-size: 1rem; font-weight: 600; color: var(--ink-strong); }
.pr-how p { margin-top: 6px; font-size: 0.875rem; line-height: 1.65; color: var(--mut); }

/* ============ 私有化模型 ============ */
.pr-tags { padding-top: clamp(40px, 5vw, 64px); }
.pr-tags ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pr-tags li { padding: 24px 26px; border-radius: var(--pr-r); background: var(--surface); font-size: clamp(1.05rem, 1.6vw, 1.3rem); font-weight: 600; letter-spacing: -0.02em; color: var(--ink-strong); }
.pr-aws { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.pr .pr-aws-logo { display: block; width: 72px; height: 72px; }
.pr-aws .pr-kick { margin-top: 18px; }
.pr-svcs { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 8px; }
.pr-svcs span { padding: 5px 13px; border-radius: 999px; background: var(--fill); font-size: 0.8125rem; font-weight: 500; color: var(--ink-strong); }
.pr-aws .hd-h2 { margin-top: 14px; }
.pr .pr-logo { display: inline-block; flex: none; vertical-align: middle; }
.pr-aws-list { display: grid; gap: 0; padding: 4px 26px; border-radius: var(--pr-r); background: var(--surface); }
.pr-aws-list > div { padding: 20px 0; }
.pr-aws-list > div + div { border-top: 1px solid var(--line-soft); }
.pr-aws-list b { display: flex; align-items: center; gap: 8px; font-size: 1.1rem; font-weight: 600; color: var(--ink-strong); }
.pr-aws-list p { margin-top: 6px; font-size: 0.9375rem; line-height: 1.7; color: var(--ink); }
.pr-ways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pr-way { display: grid; align-content: start; gap: 8px; padding: 26px; border-radius: var(--pr-r); background: var(--surface); }
.pr-way-n { font-size: 0.8125rem; font-weight: 600; color: var(--signal); font-feature-settings: "tnum" 1; }
.pr-way b { font-size: 1.15rem; font-weight: 600; color: var(--ink-strong); }
.pr-way p { font-size: 0.9375rem; line-height: 1.65; color: var(--ink); }
.pr-way small { margin-top: 8px; padding: 10px 14px; border-radius: 12px; background: var(--raised); font-size: 0.875rem; color: var(--ink-strong); }
.pr .pr-fee { margin-top: 20px; padding: 16px 20px; border-radius: 16px; background: var(--surface); font-size: 0.9375rem; line-height: 1.7; color: var(--ink-strong); }
.pr-eco { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pr-eco-c { padding: 26px; border-radius: var(--pr-r); background: var(--surface); }
.pr-eco-c--hi { background: color-mix(in srgb, var(--signal) 7%, var(--surface)); }
.pr-eco-c b { font-size: 1.15rem; font-weight: 600; color: var(--ink-strong); }
.pr-eco-c ul { list-style: none; margin-top: 12px; padding: 0; display: grid; gap: 8px; }
.pr-eco-c li { position: relative; padding-left: 18px; font-size: 0.9375rem; color: var(--ink); }
.pr-eco-c li::before { content: ""; position: absolute; left: 2px; top: 0.6em; width: 6px; height: 6px; border-radius: 50%; background: var(--mut-2); }
.pr-eco-c--hi li::before { background: var(--signal); }
.pr-oms { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.pr-om { display: grid; align-content: start; gap: 8px; padding: 24px; border-radius: var(--pr-r); background: var(--surface); }
.pr-om b { font-size: 1.1rem; font-weight: 600; color: var(--ink-strong); }
.pr-lic { font-size: 0.8125rem; color: var(--mut); }
.pr-lic--open { color: var(--ink-strong); }
.pr-om small { font-size: 0.8125rem; color: var(--mut-2); }

/* ============ 跨品牌对比 ============ */
.pr-ref-sec { padding-top: 24px; }
.pr-ref { display: grid; gap: 6px; padding: 26px 30px; border-radius: var(--pr-r); background: var(--surface); }
.pr-ref .pr-kick { margin-top: 0; }
.pr-ref b { font-size: clamp(1.15rem, 1.8vw, 1.45rem); font-weight: 600; letter-spacing: -0.02em; color: var(--ink-strong); }
.pr-ref p { font-size: 0.9375rem; line-height: 1.7; color: var(--mut); }
.pr-bars { display: grid; gap: 28px; }
.pr-bar-grp { display: grid; gap: 10px; }
.pr-bar-cat { font-size: 0.8125rem; font-weight: 600; color: var(--mut); }
.pr-bar-row { display: grid; grid-template-columns: minmax(0, 15em) minmax(0, 1fr) minmax(0, 13em); gap: 16px; align-items: center; }
.pr-bar-name { display: flex; align-items: center; gap: 10px; min-width: 0; font-size: 0.9375rem; font-weight: 500; color: var(--ink-strong); }
.pr-bar-name span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pr-bar-track { position: relative; height: 12px; border-radius: 99px; background: var(--surface); }
.pr-bar-track i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 99px; }
.pr-bar-track .hi { background: color-mix(in srgb, var(--ink-strong) 16%, transparent); }
.pr-bar-track .lo { z-index: 1; background: color-mix(in srgb, var(--ink-strong) 62%, transparent); }
.pr-bar-row.is-aidc .pr-bar-track .lo { background: var(--signal); }
.pr-bar-row.is-aidc .pr-bar-track .hi { background: var(--signal-soft); }
.pr-bar-row.is-aidc .pr-bar-name { color: var(--signal); font-weight: 600; }
.pr-bar-v { font-size: 0.9375rem; font-weight: 600; color: var(--ink-strong); font-feature-settings: "tnum" 1; text-align: right; white-space: nowrap; }
.pr-bar-v small { font-size: 0.75rem; font-weight: 400; color: var(--mut); }
.pr-bars--m { gap: 8px; }
.pr .pr-bl { display: inline-block; flex: none; width: 20px; height: 20px; object-fit: contain; vertical-align: middle; }
.pr .pr-bl--txt { display: inline-grid; place-items: center; border-radius: 6px; background: var(--ink-strong); color: var(--bg); font-size: 0.625rem; font-weight: 700; letter-spacing: 0; }
.pr .pr-bl--txt.is-aidc { background: var(--signal); color: #fff; font-style: italic; }
.pr-brand { display: inline-flex; align-items: center; gap: 10px; }
.pr-tbl--c td { white-space: normal; text-align: left; font-size: 0.875rem; line-height: 1.55; }
.pr-tbl--c th, .pr-tbl--c td { text-align: left; vertical-align: top; }
.pr-tbl--c td b { white-space: nowrap; }
.pr-tbl--c tr.is-aidc th, .pr-tbl--c tr.is-aidc td { background: color-mix(in srgb, var(--signal) 5%, transparent); }
.pr-tbl--c tr.is-aidc th .pr-brand span { color: var(--signal); }
.pr-tag { display: inline-block; padding: 1px 9px; border-radius: 999px; background: var(--fill); font-size: 0.75rem; font-weight: 500; color: var(--mut); white-space: nowrap; }
.pr-tag--y { background: var(--ink-strong); color: var(--bg); }
.pr-src-c { font-size: 0.8125rem; }
.pr-src-c a { color: var(--mut); border-bottom: 0; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--line); }
.pr-src-c small { color: var(--mut-2); }
.pr .pr-notes { margin: 0; padding-left: 1.3em; display: grid; gap: 10px; max-width: 52em; font-size: 0.9375rem; line-height: 1.7; color: var(--ink); }

/* ============ 响应式 ============ */
/* ============ AIDC Cloud（/pricing/cloud 与 /pricing 的 200 人以内一节） ============ */
.pr-card--cloud { padding-top: 26px; }
.pr-card--cloud .pr-feats { margin-top: 18px; }
.pr-card--cloud .btn { margin-top: auto; }
.pr-card--cloud .pr-feats + .btn { margin-top: 24px; }
/* Cloud 的三张卡行数不同，不用主页三套系统那套 12 行 subgrid */
@media (min-width: 1101px) {
  .pr-cards.pr-cards--cloud { grid-template-rows: none; row-gap: 16px; }
  .pr-cards--cloud .pr-card { display: flex; grid-row: auto; grid-template-rows: none; }
}
.pr-tbl--units thead th:nth-child(2) { text-align: left; }
.pr-tbl--units { min-width: 760px; }
.pr-tbl--units td:nth-child(2) { white-space: normal; text-align: left; font-size: 0.875rem; line-height: 1.6; color: var(--mut); min-width: 22em; }
.pr-tbl--units td:last-child span { font-size: 0.8125rem; color: var(--mut); }
.pr-bills { align-items: start; }
.pr-bill p { color: var(--mut); }
.pr-bill .pr-tbl--bill { min-width: 0; margin-top: 4px; }
.pr-tbl--bill th, .pr-tbl--bill td { padding: 9px 0; font-size: 0.9375rem; }
.pr-tbl--bill tbody th { font-weight: 400; color: var(--mut); }
.pr-bill-total th, .pr-bill-total td { border-bottom: 0; border-top: 1px solid var(--line); color: var(--ink-strong); font-weight: 600 !important; }
.pr-cloud-vs { --fill: var(--raised); --fill-hover: var(--raised-hover); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; margin-top: 24px; padding: 24px 26px; border-radius: var(--pr-r); background: var(--surface); }
.pr-cloud-vs b { font-size: 1.1rem; font-weight: 600; color: var(--ink-strong); }
.pr-cloud-vs p { margin-top: 4px; max-width: 46em; line-height: 1.6; color: var(--mut); }
/* 灰色舞台里放三张白卡（第二层） */
.pr-cloud { --fill: var(--raised); --fill-hover: var(--raised-hover); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.5fr); gap: 28px 40px; align-items: center; padding: clamp(24px, 3vw, 36px); border-radius: 32px; background: var(--surface); }
.pr-cloud-copy .pr-kick { display: inline-flex; align-items: center; gap: 8px; }
.pr .pr-cloud-copy .hd-h2 { margin-top: 10px; font-size: clamp(1.6rem, 2.3vw, 2.15rem); line-height: 1.2; }
.pr-cloud-copy p { margin-top: 10px; line-height: 1.65; color: var(--mut); }
.pr-cloud-copy .btn-row { margin-top: 18px; }
.pr-cloud-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pr-cloud-plan { display: grid; align-content: start; gap: 6px; padding: 20px 20px 22px; border-radius: 20px; background: var(--raised); box-shadow: var(--elev-1); }
.pr-cloud-plan b { font-size: 1.05rem; font-weight: 600; color: var(--ink-strong); }
.pr-cloud-plan .pr-amt { font-size: 1.6rem; }
.pr-cloud-plan small { font-size: 0.8125rem; line-height: 1.5; color: var(--mut); }

@media (max-width: 1100px) {
  .pr-cards { grid-template-columns: 1fr; max-width: 620px; margin: 0 auto; }
  .pr-inc, .pr-lks, .pr-oms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pr-how { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pr-rules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pr-out { grid-template-columns: 1fr; }
  .pr-pool, .pr-aws, .pr-sub-grid { grid-template-columns: 1fr; }
  .pr-sub-art { max-width: 560px; }
}
@media (max-width: 760px) {
  .pr-cloud, .pr-cloud-plans { grid-template-columns: minmax(0, 1fr); }
  .pr-inc, .pr-lks, .pr-oms, .pr-how, .pr-rules, .pr-units, .pr-over, .pr-ways, .pr-eco { grid-template-columns: 1fr; }
  .pr-tags ul { grid-template-columns: 1fr; }
  .pr-ask-row { flex-direction: column; }
  .pr-ask-row input { flex: none; width: 100%; }
  .pr-ask-row .btn { width: 100%; }
  .pr-seg { border-radius: 16px; }
  .pr-kv { grid-template-columns: 1fr 1fr; }
  .pr-judge dl > div { grid-template-columns: 1fr; gap: 4px; }
  .pr-sub-ctl .wrap, .pr-sub-ctl--in { justify-content: flex-start; }
  .pr-bar-row { grid-template-columns: 1fr; gap: 6px; }
  .pr-bar-v { text-align: left; }
  /* 对比表：项目名占一整行，三列值排在下面；表头只留名字与价格 */
  .pr-cmp-row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 12px; }
  .pr-cmp-lab { grid-column: 1 / -1; }
  .pr-cmp-top .pr-cmp-lab { display: none; }
  .pr-cmp-top { padding: 12px 0 14px; }
  .pr-cmp-plan b { font-size: 0.8125rem; }
  .pr-cmp-price { margin-top: 2px; font-size: 1rem; }
  .pr-cmp-plan small, .pr-cmp-plan .btn { display: none; }
  .pr-cmp-lab { font-weight: 500; color: var(--ink-strong); }
  .pr-cmp-pn small { display: block; margin: 0; }
  .pr-cmp-c { font-size: 0.875rem; }
  .pr-cmp-g { padding-top: 36px; }
  .pr-card .btn { width: auto; align-self: stretch; }
}
