/* ============================================================================
   Feasify /pricing 组件层  ·  8-291 工序④  ·  2026-09-01  ·  design
   ----------------------------------------------------------------------------
   这个文件是**给生产 static/pricing.html 直接 <link> 的**，不是只给原型看的。
   落地方式：pricing.html 依次 link
       /static/design/tokens.css        （或生产既有的 :root，见落地规格 §2）
       /static/design/ds/price8291/pricing8291.css
   然后把 proto.html 的 <body> 结构整段搬过去，类名一个不改。

   ── 设计意图（一句话）────────────────────────────────────────────────────
   给正在比价的建筑师/规划师看，气质是**克制的确定性**：不吼、不倒计时、不促销红，
   用「账本讲得清」说服人。参照 Stripe pricing（单一强调色 + 留白做层级 +
   把订阅价换算成用户脑子里的单位 $1.63/份）与 FT 表格（tabular-nums、单条 hairline）。

   ── 硬规自查 ─────────────────────────────────────────────────────────────
   ① 全页强调色**只有 teal 一个**。年付徽章、推荐卡、锚点右格全部走 teal，
      刻意不引第二个强调色（省 30% 用绿会变成第二强调色 ⇒ 层级打架）。
   ② 字号全部来自 tokens 字阶（--fs-*），页面不出现阶外字号；
      hero 用 clamp(--fs-d3, 5vw, --fs-d2)，两端都在阶上。
   ③ 间距沿 8pt 律。营销页的大节奏需要 48/64/80 三档，原在本文件续接成
      --pr-sp-12/16/20 并挂账；8-291 D4 拍板后**已并入 tokens.css 阶梯**成
      --sp-12/16/20，本文件的局部定义随之删除 —— 挂账就此销账。
   ④ 🔴 09-01 R2：**深绿弃用**，品牌实底回身份色 #0EA882（--brand-face）。
      白字压 #0EA882 只有 3.03，所以这一族是「亮 teal 面 + 深墨字」而不是「压暗的面 + 白字」：
      --brand-face / --brand-face-fg(5.37) / --brand-face-fg-soft(4.63) / --brand-face-hair。
      连同 --brand-text-strong（tint 上的小字 5.70）与 --fg-muted-on-bg（--bg 上 5.04），
      三条上一轮的挂账**已整族并入 tokens.css**（用户 09-01 第 6 条拍板），
      本文件因此**零新增色值**，也不再需要自己的深色态覆盖块。
   ⑤ 🔴 布局与文本长度无关（i18n 红线）：全文件**没有一处写死 width/height 卡文本**，
      按钮/药丸一律 min-height + padding，栅格一律 fr / minmax，
      唯一的 white-space:nowrap 落在价格数字上（数字不随语言变长）。
   ========================================================================== */

.pr{
  /* 🔴 09-02 快修③：1120 → 1160。Pro 要加宽，而**三卡是零和的** —— 只调栅格比，
     Pro 多出来的宽度就是从 Free / Premium 身上扣的，实测扣完 Free 有两条本来一行的
     卖点（「CV, title and a utilities summary included」/「3 welcome credits…」）开始折行，
     正是「别挤到别的档位卡」那一条。算下来也确实塞不下：Free 那两条要 244px 的文字宽
     ⇒ 侧卡列 ≥312px，Pro 要 380px 内容 ⇒ 中列 ≥424px，合计 1048 > 容器只给的 1032。
     所以真正的解不是重新分配，是**把这一行的总宽给够**：容器 +40px，三张卡一起变宽
     （Free 315→320 · Pro 403→432），没有一张被挤。正文测量不受影响 —— 本页的散文
     宽度全是 ch 封顶（lead 56ch / 段头 64ch / FAQ 78ch），不吃容器宽。 */
  --pr-maxw:1160px;
  /* 本页底是 --bg 不是白，--fg-muted 的 4.76 在这里只剩 4.26 —— 换成 tokens 里
     成对的那一档（浅 5.04 / 深 7.12），作用域内一次性接住 30 处 var(--fg-muted)。 */
  --fg-muted:var(--fg-muted-on-bg);

  background:var(--bg);
  color:var(--fg);
  font-family:var(--font-sans);
  font-size:var(--fs-md);
  line-height:var(--lh-normal);
  -webkit-font-smoothing:antialiased;
}

.pr *{box-sizing:border-box;}
.pr-wrap{max-width:var(--pr-maxw);margin:0 auto;padding:0 var(--sp-6);}
.pr-num{font-variant-numeric:tabular-nums;}

/* ── 区块壳 ────────────────────────────────────────────────────────────────
   留白即层级：段与段之间 --sp-20，段内标题到内容 --sp-6。 */
.pr-sec{padding-top:var(--sp-20);}
.pr-sec__hd{max-width:64ch;margin:0 0 var(--sp-6);}
.pr-h2{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);
       letter-spacing:var(--ls-tight);margin:0 0 var(--sp-2);}
.pr-say{font-size:var(--fs-lg);color:var(--fg-muted);margin:0;}
.pr-eyebrow{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);
            text-transform:uppercase;color:var(--fg-muted);margin:0 0 var(--sp-3);}

/* ── ① Hero ──────────────────────────────────────────────────────────────── */
.pr-hero{padding:var(--sp-16) 0 0;text-align:center;}
.pr-hero .pr-eyebrow{color:var(--brand-text-strong);}
.pr-h1{font-size:clamp(var(--fs-d3),5vw,var(--fs-d2));font-weight:var(--fw-semibold);
       line-height:var(--lh-tight);letter-spacing:var(--ls-display);margin:0 auto var(--sp-4);
       max-width:30ch;}
.pr-lead{font-size:var(--fs-lg);color:var(--fg-muted);margin:0 auto;max-width:56ch;
         text-wrap:pretty;}

/* 月/年切换：segmented control。宽度由文字撑，不写死。 */
.pr-cycle{display:inline-flex;gap:var(--sp-1);margin-top:var(--sp-8);padding:var(--sp-1_5);
          background:var(--bg-muted);border-radius:var(--r-full);}
.pr-cycle button{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:44px;
          padding:0 var(--sp-5);border:0;border-radius:var(--r-full);background:transparent;
          font:inherit;font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--fg-muted);
          cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast);}
.pr-cycle button:hover{color:var(--fg);}
.pr-cycle button[aria-pressed="true"]{background:var(--bg-surface);color:var(--fg);
          box-shadow:var(--shadow-xs);}
.pr-cycle button:focus-visible{outline:0;box-shadow:var(--focus-ring);}
.pr-save{font-size:var(--fs-xs);font-weight:var(--fw-bold);border-radius:var(--r-full);
         padding:3px var(--sp-2_5);background:var(--brand-tint-md);color:var(--brand-text-strong);}

/* ── ② 三卡 ───────────────────────────────────────────────────────────────
   🔴 R4（09-01 用户六点拍板）。R3 的「等高 + 行网格」保留，其余四处翻向：

   ① $9.9 转正为主角（D1 拍定：突出 $9.9 不是 $49）。Pro 的 .pr-amt 现在装的是首月价，
      $49 变成它左边划掉的 .pr-was（≤0.55×）。「一张卡只剩一个最大数字」的原则没变，
      换的是那个数字是谁 —— 三卡的 .pr-amt 仍然同字号（--fs-d2），口径统一没破。
      年付态没有 FOUNDER 首月 ⇒ 主角换回 $420、划价整条隐藏（见 proto 渲染层）。

   ② Pro 加宽 + 强调加码（用户：R2 平涂页眉过头、R3 矫枉过正，取中间值）。
      栅格从等宽改 1 : 1.28 : 1；强调由 R3 的四件弱信号升级为：
        满幅品牌实底**顶条**（≈34px，不是 R2 那块 250px 的页眉）+ 2px 品牌描边
        + 6% tint 卡底 + 浮起阴影 + 唯一实心 CTA + Pro 专属的品牌对勾。
      🔴 判据 ⑥ 随之从「越少越好」翻成**两侧都卡的区间**：品牌实底占三卡面积的比例
      必须落在 [2.5%, 6.5%] —— R3 的 1.64% 太少会红，R2 的 ~10% 太多也会红。
      「取中间值」这句话只有写成区间才是可量的。

   ③ 整页变短：**首月带整块删除**，内容并进「试用 eyebrow（行 4）」与「副行（行 6）」，
      每张卡少一整行；卖点行距收到 8pt 律的 10px。行槽由九个变九个（带→eyebrow 换位）。

   ④ 两侧不再是配角：三卡都配顶条（Free/Premium 中性、Pro 品牌），
      **Premium 取消灰底与灰价**（D5 拍定：三档颜色完全统一）。

   九槽顺序（行网格靠顺序对齐，空槽也要留元素）：
     顶条 → 卡名 → 受众 → 试用 eyebrow → 价格 → 副行 → CTA → 保证行 → 卖点区(1fr) */
.pr-plans{
  /* 🔴 1.35 是**解出来的不是试出来的**（量见 --pr-maxw 那段）：容器给到 1112、
     去掉两道 20px 间隙剩 1072，取 Pro 432 / 侧卡各 320 ⇒ 比 1.35。
     Pro 内容 388px（两条目标行分别要 373 / 380，余 8px）、Free 文字宽 252px
     （最长那条要 244，余 8px）—— 两侧都留了余量，不是卡在小数点上。 */
  display:grid;grid-template-columns:1fr 1.35fr 1fr;
  grid-template-rows:auto auto auto auto auto auto auto auto 1fr;
  column-gap:var(--sp-5);row-gap:0;align-items:stretch;margin-top:var(--sp-12);
}
.pr-plan{display:grid;grid-row:1/-1;grid-template-rows:subgrid;row-gap:0;
         background:var(--bg-surface);border:1px solid var(--border-solid);
         border-radius:var(--r-lg);padding:0 var(--sp-5) var(--sp-5);
         box-shadow:var(--shadow-xs);overflow:hidden;}
@supports not (grid-template-rows:subgrid){
  .pr-plan{grid-template-rows:auto auto auto auto auto auto auto auto 1fr;}
}

/* 顶条：三卡都有，满幅出血。Pro 那条是全页最大的一块品牌实底（≈34px 高），
   R2 是把整个页眉（约 250px）涂满 —— 同一件事的两个量级。 */
.pr-cap{margin:0 calc(var(--sp-5) * -1) var(--sp-5);padding:9px var(--sp-5);
        font-size:var(--fs-3xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);
        text-transform:uppercase;text-align:center;}
.pr-cap--mute{background:var(--bg-muted);color:var(--fg-muted);}
.pr-cap--brand{background:var(--brand-face);color:var(--brand-face-fg);}

.pr-name{font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);
         letter-spacing:var(--ls-tight);margin:0 0 var(--sp-1);}
.pr-for{font-size:var(--fs-sm);color:var(--fg-muted);margin:0 0 var(--sp-4);line-height:var(--lh-snug);}

/* 试用 eyebrow（行 4）：三连钩的第一跳，必须排在 $9.9 之前（判据 ⑪ 读顺序）。 */
.pr-trial{display:flex;align-items:center;gap:var(--sp-1_5);min-height:18px;
         font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);
         color:var(--brand-text-strong);margin:0 0 var(--sp-2);}
.pr-trial svg{width:14px;height:14px;flex:none;}

.pr-price{display:flex;align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;margin:0 0 var(--sp-2);}
.pr-amt{font-size:var(--fs-d2);font-weight:var(--fw-semibold);line-height:var(--lh-none);
        letter-spacing:var(--ls-display);font-variant-numeric:tabular-nums;white-space:nowrap;}
/* 划掉的正价：旧生产页那种写法。刻意只有 .pr-amt 的 ~0.45，判据 ⑫ 卡 ≤0.55×。 */
.pr-was{font-size:var(--fs-xl);font-weight:var(--fw-medium);color:var(--fg-muted);
        text-decoration:line-through;text-decoration-thickness:1.5px;
        font-variant-numeric:tabular-nums;white-space:nowrap;}
.pr-was[hidden]{display:none;}
.pr-per{font-size:var(--fs-sm);color:var(--fg-muted);}
.pr-perrep{margin-left:auto;margin-right:2px;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);
        color:var(--brand-text-strong);background:var(--brand-tint-md);
        border-radius:var(--r-full);padding:3px var(--sp-2);white-space:nowrap;}
.pr-sub{font-size:var(--fs-xs);color:var(--fg-muted);line-height:var(--lh-snug);margin:0 0 var(--sp-4);}

.pr-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;
        padding:var(--sp-3) var(--sp-5);border-radius:var(--r-sm);font:inherit;
        font-size:var(--fs-md);font-weight:var(--fw-semibold);text-decoration:none;
        text-align:center;cursor:pointer;margin:0 0 var(--sp-2);
        transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast);}
.pr-cta:focus-visible{outline:0;box-shadow:var(--focus-ring);}
.pr-cta--ghost{background:var(--bg-surface);color:var(--fg);border:1px solid var(--border-strong);}
.pr-cta--ghost:hover{background:var(--bg-muted);}
.pr-cta--solid{background:var(--brand-face);color:var(--brand-face-fg);
               border:1px solid var(--brand-face);}
.pr-cta--solid:hover{background:var(--brand-face-hover);border-color:var(--brand-face-hover);}
.pr-reassure{font-size:var(--fs-2xs);color:var(--fg-muted);line-height:var(--lh-snug);
        text-align:center;margin:0 0 var(--sp-4);}

/* 第 9 行：卖点区。发丝线分开「买什么价」与「买到什么」。 */
.pr-plan__body{display:flex;flex-direction:column;gap:var(--sp-4);
        margin:0 calc(var(--sp-5) * -1);padding:var(--sp-4) var(--sp-5) 0;
        border-top:1px solid var(--divider-subtle);}
.pr-feat{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2_5);}
.pr-feat li{display:grid;grid-template-columns:18px 1fr;gap:var(--sp-2);align-items:start;
            font-size:var(--fs-sm);line-height:var(--lh-snug);}
.pr-feat svg{width:18px;height:18px;margin-top:1px;flex:none;color:var(--fg-faint);}
/* Pro 的对勾用品牌色 —— 强调加码的一部分（描边色，不计入实底面积）。 */
.pr-plan--pro .pr-feat svg{color:var(--brand);}
.pr-feat b{font-weight:var(--fw-semibold);}

.pr-hook__same[hidden]{display:none;}
.pr-hook__same{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--brand-text-strong);
        line-height:var(--lh-snug);margin:0;}
.pr-fine{font-size:var(--fs-2xs);color:var(--fg-muted);line-height:var(--lh-snug);
        margin:auto 0 0;padding-top:var(--sp-3);border-top:1px solid var(--divider-subtle);}

/* Pro 加码：品牌顶条 + 2px 描边 + 6% tint 卡底 + 浮起。tint 是 6% 的面，不是平涂。 */
.pr-plan--pro{border:2px solid var(--brand);background:var(--brand-tint);
              box-shadow:var(--shadow-float);padding:0 calc(var(--sp-5) - 1px) calc(var(--sp-5) - 1px);}
.pr-plan--pro .pr-cap{margin-left:calc(var(--sp-5) * -1 + 1px);margin-right:calc(var(--sp-5) * -1 + 1px);}
.pr-plan--pro .pr-plan__body{margin-left:calc(var(--sp-5) * -1 + 1px);margin-right:calc(var(--sp-5) * -1 + 1px);}

/* 🔴 D5 拍定：三档颜色完全统一 —— Premium 的灰底与灰价取消，
   「暂不开购」只由顶条文案与 waitlist CTA 表达，不再靠把整张卡压灰。 */
.pr-plan--soon .pr-cta--ghost{background:transparent;}

/* Premium 的企业批量通道：卡本身不可购，但团队 / 批量今天就能谈。
   折扣数字**刻意不写**（等用户拍板），只给「有折扣 + 现有联系入口」。 */
.pr-ent{border-top:1px solid var(--divider-subtle);padding-top:var(--sp-3);margin-top:auto;}
.pr-ent > b{display:block;font-size:var(--fs-sm);font-weight:var(--fw-semibold);
        margin-bottom:var(--sp-1);}
.pr-ent > span{display:block;font-size:var(--fs-2xs);color:var(--fg-muted);line-height:var(--lh-snug);}
.pr-ent__cta{display:inline-flex;align-items:center;min-height:28px;margin-top:var(--sp-1);
        font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--brand-text);
        text-decoration:underline;text-underline-offset:3px;}
.pr-ent__cta:focus-visible{outline:0;box-shadow:var(--focus-ring);border-radius:var(--r-2xs);}

/* ── ③ 两档产品条 ──────────────────────────────────────────────────────────
   刻意做成「两个用途不同的产品」而不是「档次高低」：列头写用途，不写 Free/Pro。 */
.pr-tiers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-5);}
.pr-tier{background:var(--bg-surface);border:1px solid var(--border-solid);
         border-radius:var(--r-lg);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4);}
.pr-tier--full{border-color:var(--brand-line);background:var(--brand-tint);}
.pr-tier__top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;}
.pr-tier__cost{font-size:var(--fs-md);font-weight:var(--fw-semibold);white-space:nowrap;}
.pr-tier--full .pr-tier__cost{color:var(--brand-text-strong);}
.pr-rows{list-style:none;margin:0;padding:0;}
.pr-rows li{display:grid;grid-template-columns:minmax(9ch,auto) 1fr;gap:var(--sp-4);
            padding:var(--sp-2_5) 0;border-top:1px solid var(--divider-subtle);
            font-size:var(--fs-sm);line-height:var(--lh-snug);}
.pr-rows li:first-child{border-top:0;}
.pr-rows dt,.pr-rows .k{color:var(--fg-muted);}

/* ── ④ credit 说明条 ──────────────────────────────────────────────────────── */
.pr-credit{background:var(--bg-surface);border:1px solid var(--border-solid);
           border-radius:var(--r-lg);padding:var(--sp-6);}
.pr-uses{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-4);
         margin:0 0 var(--sp-5);padding:0;list-style:none;}
.pr-use{border:1px solid var(--divider-subtle);border-radius:var(--r-md);padding:var(--sp-4);
        background:var(--bg-sunken);}
.pr-coin{display:inline-flex;align-items:center;gap:var(--sp-1_5);font-size:var(--fs-2xs);
         font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);border-radius:var(--r-full);
         padding:2px var(--sp-2);background:var(--brand-tint-md);color:var(--brand-text-strong);
         margin-bottom:var(--sp-2);white-space:nowrap;}
.pr-use > b{display:block;font-size:var(--fs-md);font-weight:var(--fw-semibold);margin-bottom:var(--sp-1);}
.pr-use > span{font-size:var(--fs-xs);color:var(--fg-muted);}

.pr-buy{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-4);
        margin:0 0 var(--sp-5);padding:0;list-style:none;}
.pr-buy li{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);
           border:1px solid var(--divider-subtle);border-radius:var(--r-md);
           padding:var(--sp-3) var(--sp-4);font-size:var(--fs-sm);}
.pr-buy .pr-amt{font-size:var(--fs-xl);}

.pr-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--sp-4);
          margin:0;padding:var(--sp-5) 0 0;list-style:none;border-top:1px solid var(--divider-subtle);}
.pr-rules li{font-size:var(--fs-sm);line-height:var(--lh-snug);color:var(--fg-muted);}
.pr-rules b{display:block;color:var(--fg);font-weight:var(--fw-semibold);margin-bottom:2px;}

/* ── ⑤ 为什么值 六格 ───────────────────────────────────────────────────── */
.pr-why{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--sp-5);
        margin:0;padding:0;list-style:none;}
/* 🔴 R3：这六条原是 2px 品牌绿。用户第 ③ 条把主色的用途点名到「描边/CTA/badge」三处，
   装饰性的分隔规则不在其中 —— 改中性，teal 只留给有语义的地方（是不是我方、是不是要点它）。 */
.pr-why li{border-top:2px solid var(--border-strong);padding-top:var(--sp-4);}
.pr-why li > b{display:block;font-size:var(--fs-lg);font-weight:var(--fw-semibold);
          line-height:var(--lh-tight);margin-bottom:var(--sp-2);}
.pr-why li > span{font-size:var(--fs-sm);color:var(--fg-muted);line-height:var(--lh-snug);display:block;}

/* ── ⑥ 单件商品条 ─────────────────────────────────────────────────────── */
.pr-skus{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-4);
         margin:0;padding:0;list-style:none;}
.pr-sku{background:var(--bg-surface);border:1px solid var(--border-solid);border-radius:var(--r-md);
        padding:var(--sp-4) var(--sp-5);display:flex;align-items:baseline;
        justify-content:space-between;gap:var(--sp-4);}
.pr-sku b{font-size:var(--fs-md);font-weight:var(--fw-semibold);}
.pr-sku > div > span{display:block;font-size:var(--fs-xs);color:var(--fg-muted);
        font-weight:var(--fw-regular);margin-top:2px;line-height:var(--lh-snug);}
.pr-sku .pr-amt{font-size:var(--fs-xl);}

/* ── ⑦ 竞品匿名锚 ─────────────────────────────────────────────────────── */
.pr-cmp{background:var(--bg-sunken);border:1px solid var(--divider-subtle);
        border-radius:var(--r-lg);padding:var(--sp-6);
        display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-6);}
.pr-cmp div > b{display:block;font-size:var(--fs-2xl);font-weight:var(--fw-semibold);
              font-variant-numeric:tabular-nums;letter-spacing:var(--ls-tight);margin-bottom:var(--sp-1);}
.pr-cmp .pr-mine > b{color:var(--brand-text-strong);}
.pr-kick{font-size:var(--fs-lg);font-weight:var(--fw-medium);color:var(--fg);margin:var(--sp-5) 0 0;}
.pr-cmp div > span{font-size:var(--fs-sm);color:var(--fg-muted);line-height:var(--lh-snug);}

/* ── ⑧ FAQ ────────────────────────────────────────────────────────────── */
.pr-faq{border-top:1px solid var(--divider);}
.pr-faq details{border-bottom:1px solid var(--divider-subtle);}
.pr-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;
                justify-content:space-between;gap:var(--sp-4);min-height:56px;
                font-size:var(--fs-md);font-weight:var(--fw-medium);}
.pr-faq summary::-webkit-details-marker{display:none;}
.pr-faq summary::after{content:"+";font-size:var(--fs-lg);color:var(--fg-muted);flex:none;}
.pr-faq details[open] summary::after{content:"–";}
.pr-faq summary:focus-visible{outline:0;box-shadow:var(--focus-ring);border-radius:var(--r-2xs);}
.pr-faq p{margin:0;padding:0 0 var(--sp-5);font-size:var(--fs-sm);color:var(--fg-muted);
          max-width:78ch;line-height:var(--lh-normal);}

.pr-foot{margin-top:var(--sp-20);padding:var(--sp-6) 0 var(--sp-16);
         border-top:1px solid var(--divider-subtle);font-size:var(--fs-xs);color:var(--fg-muted);}

/* ── 响应式：断点只改栅格列数，不改字阶、不动文案 ─────────────────────── */
@media (max-width:980px){
  /* 单列时行网格没有对齐对象，整套 subgrid 退回 flex —— 卡各按内容高才不留空槽。 */
  .pr-plans{grid-template-columns:1fr;grid-template-rows:none;row-gap:var(--sp-6);}
  .pr-plan{grid-row:auto;grid-template-rows:none;display:flex;flex-direction:column;}
  .pr-plan--pro{order:-1;}
  .pr-trial:empty,.pr-reassure:empty{display:none;}
  .pr-tiers{grid-template-columns:1fr;}
}
@media (max-width:620px){
  .pr-sec{padding-top:var(--sp-16);}
  .pr-hero{padding-top:var(--sp-12);}
  .pr-credit,.pr-cmp{padding:var(--sp-5);}
}
