/* SENYU 子页面。一切数值取自基础规范的 tokens.css（03-foundations/tokens/senyu.css 的副本）：
   字号只用 √2 阶梯的七档（标签 13、小字 15、正文 18、小标题 25、标题 36、大标题 51、展示 86），
   标题一律无衬线 700，衬线只排别人的话；间距只用 U = 12 的阶梯；12 栏、边距 72、栏距 24、区块间距 144。
   每一节同一个结构：顶线，左 3 栏是栏目标签，右 9 栏是标题、说明与内容。层级只靠这一种关系。
   首屏一屏墨底的光（light.js）；往下是纸。出现按深度：线由界线色显出墨色，内容淡入 200 ms，不移动。 */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0; background: var(--senyu-ink); color: var(--senyu-paper); -webkit-font-smoothing: antialiased; overflow-x: clip; }
img, svg, video, canvas { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
p, figure, blockquote, dl, dd, h1, h2, h3, h4 { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
:focus-visible { outline: 2px solid currentColor; outline-offset: var(--space-hair); }
.skip { position: absolute; left: -9999px; }
.skip:focus { left: var(--space-2); top: var(--space-1); z-index: 99; background: var(--senyu-paper); color: var(--senyu-ink); padding: var(--space-0-75) var(--space-1-5); }
.c2 { color: var(--color-text-2); }
.mo { display: none; }
.nb { white-space: nowrap; }

/* ---------- 画布与标注 ---------- */
#gl { position: fixed; inset: 0; width: 100vw; height: 100vh; z-index: 0; opacity: 0; transition: opacity var(--motion-brand-travel) var(--ease-response); }
.gl-ready #gl { opacity: 1; }
.pins { position: fixed; inset: 0; z-index: 1; pointer-events: none; color: #fff; mix-blend-mode: difference; overflow: hidden; }
.pins span { position: absolute; left: 0; top: 0; display: flex; align-items: center; gap: var(--space-0-75); font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: var(--track-mono); white-space: nowrap; opacity: 0; transition: opacity var(--motion-travel) var(--ease-response); will-change: transform; }
.pins span::before { content: ""; width: 7px; height: 7px; margin-left: -3.5px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgb(255 255 255 / .18); }
.pins span.dg::before { display: none; }
.pins span.on { opacity: .9; }
.pins em { font-style: normal; }

/* ---------- 导航：首屏只放字标；离开首屏换 24 px 组合。差值混合，墨上白、纸上墨 ---------- */
.hnav { position: fixed; top: 0; left: 0; right: 0; z-index: 20; color: #fff; mix-blend-mode: difference; }
.hnav .l-wrap { height: var(--nav-h); display: flex; align-items: center; gap: var(--space-4); }
/* 两个文件都带保护区：字标按大写高 14 放（98.77 × 28.45，左移 7），组合按 24 px 放（137 × 48，四边各让 12） */
.hnav .logo { position: relative; display: block; width: 113px; height: 24px; }
.hnav .logo img { position: absolute; max-width: none; }
.hnav .logo .wm { left: -7px; top: -2.23px; width: 98.77px; height: 28.45px; }
.hnav .logo .lk { display: none; left: -12px; top: -12px; width: 137px; height: 48px; }
.hnav.past .logo .wm { display: none; }
.hnav.past .logo .lk { display: block; }
.hnav nav { margin-left: auto; display: flex; gap: var(--space-4); }
.hnav nav a { opacity: .72; transition: opacity var(--motion-response) var(--ease-response); }
.hnav nav a:hover, .hnav nav a[aria-current] { opacity: 1; }
.hnav nav a[aria-current] { box-shadow: 0 1px 0 currentColor; }
.hnav .cta { padding: var(--space-0-5) var(--space-1); box-shadow: inset 0 0 0 1px currentColor; }
/* 盖在纸上：实底，墨字，底边一条界线（nav.js）。纸上用墨色组合，不再反色 */
.hnav { transition: background-color var(--motion-response) var(--ease-response), box-shadow var(--motion-response) var(--ease-response); }
.hnav .logo .lk-ink { display: none; left: -12px; top: -12px; width: 137px; height: 48px; }
.hnav.paper { mix-blend-mode: normal; color: var(--senyu-ink); background: var(--nav-bg, var(--senyu-paper)); box-shadow: 0 1px 0 var(--color-border); }
.hnav.paper .logo .wm, .hnav.paper .logo .lk { display: none; }
.hnav.paper .logo .lk-ink { display: block; }
main { position: relative; z-index: 2; }

/* ---------- 按钮与链接 ---------- */
.ctas { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1-5) var(--space-3); margin-top: var(--space-4); }
.btn { display: inline-flex; align-items: center; height: var(--space-4); padding: 0 var(--space-2); font-size: var(--fs-small); font-weight: var(--w-ui); transition: background-color var(--motion-response) var(--ease-response), color var(--motion-response) var(--ease-response); }
.btn:hover { transition-duration: var(--motion-instant); }
.btn.solid { background: var(--senyu-paper); color: var(--senyu-ink); }
.btn.solid:hover { background: var(--senyu-n8); }
.btn.line { box-shadow: inset 0 0 0 1px currentColor; }
.btn.line:hover { background: rgb(244 242 236 / .1); }
.sheet .btn.solid { background: var(--senyu-ink); color: var(--senyu-paper); }
.sheet .btn.solid:hover { background: var(--senyu-n3); }
.lnk { text-decoration: underline; text-decoration-color: var(--color-link-underline); text-decoration-thickness: 1px; text-underline-offset: .28em; font-weight: var(--w-ui); transition: text-decoration-color var(--motion-response) var(--ease-response); }
.lnk:hover { text-decoration-color: currentColor; transition-duration: var(--motion-instant); }

/* ---------- 首屏：墨底的光，文字在左 6 栏，标题行框顶 22U ---------- */
.phero { position: relative; min-height: 100vh; min-height: 100svh; }
.phero.short { min-height: 72vh; min-height: 72svh; }
.phero .l-wrap { position: relative; padding-top: var(--hero-text-top, 192px); padding-bottom: var(--space-8); }
.phero .t { width: min(100%, 576px); }
.phero .t-label { display: block; margin-bottom: var(--space-3); color: var(--senyu-n7); }
.phero .t-label a:hover { color: var(--senyu-paper); }
.phero h1 { color: var(--senyu-paper); }
.phero .t-body { margin-top: var(--space-3); color: var(--senyu-n7); max-width: 28em; }
.phero .t > * { animation: phIn var(--motion-brand-response) var(--ease-response) both; animation-delay: 1.1s; }
.phero .t > :nth-child(2) { animation-delay: 1.2s; }
.phero .t > :nth-child(3) { animation-delay: 1.3s; }
.phero .t > :nth-child(4) { animation-delay: 1.4s; }
.hnav { animation: phIn var(--motion-brand-response) var(--ease-response) .6s both; }
@keyframes phIn { from { opacity: 0; } to { opacity: 1; } }

/* ---------- 纸 ---------- */
.sheet { position: relative; z-index: 3; background: var(--senyu-paper); color: var(--senyu-ink); padding-top: var(--section-gap); padding-bottom: var(--section-gap); }
.sheet ::selection { background: var(--color-selection); }
.ray { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 1; }
.ray line { stroke: var(--senyu-ink); stroke-width: 1; }
.ray circle { fill: var(--senyu-ink); }
.sec + .sec { margin-top: var(--section-gap); }
.sec[id] { scroll-margin-top: var(--nav-h); }

/* 节头：顶线；左 3 栏标签，右 9 栏标题与说明 */
.sh { border-top: 1px solid; padding-top: var(--space-1); row-gap: var(--space-2); }
.sh .k { color: var(--color-text-2); }
.sh .t-body { margin-top: var(--space-2); max-width: 32em; color: var(--senyu-n4); }
.r { margin-top: var(--space-6); }

/* 行：编号、名称、说明、附注 */
.rows > li { padding: var(--space-2) 0 var(--space-3); border-top: 1px solid; }
.rows > li:last-child { box-shadow: 0 1px 0 var(--color-border); }
.rows .n { font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: var(--track-mono); color: var(--color-text-2); padding-top: .7em; }
.rows p { color: var(--senyu-n4); }
.rows .note { font-size: var(--fs-small); color: var(--color-text-2); padding-top: .2em; }

/* 三栏 */
.cols3 > * { padding-top: var(--space-1); border-top: 1px solid; display: flex; flex-direction: column; gap: var(--space-1); }
.cols3 .k { color: var(--color-text-2); margin-bottom: var(--space-1); }
.cols3 p { color: var(--senyu-n4); }
.cols3 .go { margin-top: auto; padding-top: var(--space-1-5); align-self: flex-start; }

/* 索引：一行一条 */
.index > a { padding: var(--space-2) 0; border-top: 1px solid; align-items: baseline; transition: background-color var(--motion-response) var(--ease-response); }
.index > a:last-child { box-shadow: 0 1px 0 var(--color-border); }
.index > a:hover { background: var(--color-fill); transition-duration: var(--motion-instant); }
.index .k, .index .m { color: var(--color-text-2); }

/* 数据页（原型 05）：左 5 栏标题、一个数、两行说明；右 7 栏一张图 */
.datum .num { font-size: var(--fs-display); font-weight: var(--w-head); letter-spacing: var(--track-display); line-height: 1.2; font-variant-numeric: tabular-nums; margin-top: var(--space-3); white-space: nowrap; }
.datum .num small { font-size: var(--fs-h3); font-weight: var(--w-ui); color: var(--color-text-2); margin-left: var(--space-0-5); letter-spacing: 0; }
.datum .t-body { margin-top: var(--space-1); color: var(--senyu-n4); max-width: 22em; }
.figs { margin-top: var(--space-4); border-top: 1px solid var(--color-border); }
.figs > div { display: flex; justify-content: space-between; gap: var(--space-2); padding: var(--space-1) 0; border-bottom: 1px solid var(--color-border); }
.figs b { font-weight: var(--w-head); font-variant-numeric: tabular-nums; white-space: nowrap; }
.figs span { color: var(--color-text-2); }
.chart .plot { position: relative; height: 288px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--grid-gutter); align-items: end; border-bottom: 1px solid var(--senyu-n7);
  background: repeating-linear-gradient(to top, transparent 0 calc(25% - 1px), var(--senyu-n9) calc(25% - 1px) 25%); }
.chart .bar { position: relative; height: var(--h); min-height: 2px; background: var(--senyu-n6); }
.chart .bar.on { background: var(--senyu-ink); }
.chart .bar b { position: absolute; bottom: 100%; left: 0; padding-bottom: var(--space-0-5); font-weight: var(--w-ui); font-variant-numeric: tabular-nums; }
.chart .x { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--grid-gutter); margin-top: var(--space-1); color: var(--color-text-2); }
.chart .src { margin-top: var(--space-3); color: var(--color-text-2); }
.chart h3 + p { margin-top: var(--space-0-75); margin-bottom: var(--space-6); color: var(--senyu-n4); }

/* 表 */
.tbl { width: 100%; border-collapse: collapse; }
.tbl th { text-align: left; font-weight: var(--w-ui); color: var(--color-text-2); padding: 0 var(--space-1) var(--space-1) 0; border-bottom: 1px solid var(--senyu-ink); }
.tbl td { padding: var(--space-1) var(--space-1) var(--space-1) 0; border-bottom: 1px solid var(--color-border); vertical-align: baseline; }
.tbl td.i { width: 3em; font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: var(--track-mono); color: var(--color-text-2); }
.tbl td.t { width: 7em; font-weight: var(--w-ui); }
.tbl .who { font-weight: var(--w-ui); white-space: nowrap; }
.tbl .who.h { color: var(--color-text-2); }
.tbl .who::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: var(--space-0-75); background: currentColor; vertical-align: .08em; }
.tbl .who.h::before { background: none; box-shadow: inset 0 0 0 1px currentColor; }

/* 产品行（原型 04 的网页做法）：通用 1–3 栏，行业 5–12 栏，每条 2 栏 */
.cat .grp { padding-top: var(--space-1); border-top: 1px solid; }
.cat .grp-h { display: block; color: var(--color-text-2); margin-bottom: var(--space-2); }
.cat .ent { display: block; }
.cat .ent .sq { width: 100%; height: auto; aspect-ratio: 1; }
.cat .ent .sq.dash { border: 1px dashed var(--senyu-n6); }
.cat .ent .sig { height: 36px; display: flex; align-items: flex-end; margin-top: var(--space-2); }
.cat .ent .sig img { height: 100%; width: auto; }
.cat .ent p { margin-top: var(--space-0-75); color: var(--senyu-n4); }
.cat .ent .lnk { display: inline-block; margin-top: var(--space-1); }

/* 截图 */
.shot img { width: 100%; height: auto; box-shadow: 0 0 0 1px var(--color-border); }
.shot figcaption, .slides figcaption { margin-top: var(--space-1); color: var(--color-text-2); }
.phones { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--grid-gutter); }
.phones figure { overflow: hidden; border-radius: var(--space-3); box-shadow: 0 0 0 1px var(--color-border); background: #fff; }
.phones img { width: 100%; height: auto; }
.slides { display: grid; grid-template-columns: 1fr; row-gap: var(--space-3); }
.slides img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; box-shadow: 0 0 0 1px var(--color-border); }

/* 标志构造 */
.anat svg { width: 100%; height: auto; overflow: visible; }
.facts { margin-top: var(--space-4); }
.facts div { display: grid; grid-template-columns: 6em 1fr; padding: var(--space-1) 0; border-top: 1px solid var(--color-border); }
.facts div:last-child { border-bottom: 1px solid var(--color-border); }
.facts dt { color: var(--color-text-2); }

/* 联系 */
.mail { display: inline-block; font-size: var(--fs-h1); font-weight: var(--w-head); line-height: 1.25; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .2em; text-decoration-color: var(--senyu-n8); transition: text-decoration-color var(--motion-response) var(--ease-response); }
.mail:hover { text-decoration-color: currentColor; transition-duration: var(--motion-instant); }

/* 文章 */
.art .body > * + * { margin-top: var(--space-2); }
.art .body h2 { margin-top: var(--space-6); }
.art .body h2:first-child { margin-top: 0; }
.art .body p { color: var(--senyu-n3); }
.art .body b { color: var(--senyu-ink); font-weight: var(--w-ui); }
.art .body u { text-decoration-thickness: 1px; text-underline-offset: .25em; }
.art .body .say { padding: var(--space-2); background: var(--color-fill); }
.art .body .say .k { display: block; margin-bottom: var(--space-1); color: var(--color-text-2); }
.art .body .say p { color: var(--senyu-ink); }
.art .body blockquote { padding-left: var(--space-2); border-left: 1px solid var(--senyu-ink); color: var(--senyu-ink); }
.art .body cite { display: block; margin-top: var(--space-1); font-style: normal; color: var(--color-text-2); }
.art .body .tbl { margin: var(--space-3) 0; }
.art .meta { display: flex; flex-direction: column; gap: var(--space-0-75); color: var(--color-text-2); align-self: start; }
.art .meta a:hover { color: var(--senyu-ink); }

/* ---------- 网格位置：手机 4 栏、平板 8 栏、桌面 12 栏 ---------- */
.g { display: grid; grid-template-columns: repeat(var(--grid-cols), minmax(0, 1fr)); column-gap: var(--grid-gutter); }
.g > * { grid-column: 1 / -1; }
.rows > li { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--grid-gutter); row-gap: var(--space-0-75); }
.rows .n { grid-column: 1 / -1; padding-top: 0; }
.rows h3, .rows p, .rows .note { grid-column: 1 / -1; }
.cols3 { display: grid; grid-template-columns: 1fr; row-gap: var(--space-4); }
.index > a { display: grid; grid-template-columns: 1fr; row-gap: var(--space-0-5); }
.cat { row-gap: var(--space-6); }
.cat .ents { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--grid-gutter); }
.cat .ent-abel { width: calc(50% - var(--grid-gutter) / 2); }
.datum .chart, .two > .b { margin-top: var(--space-6); }
.art .meta { margin-bottom: var(--space-4); }
.anat .fig { max-width: 336px; margin-bottom: var(--space-6); }

@media (min-width: 768px) {
  .g > .k { grid-column: 1 / span 2; }
  .g > .b { grid-column: 3 / -1; }
  .rows > li { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .rows .n { grid-column: 1 / span 1; padding-top: .7em; }
  .rows h3 { grid-column: 2 / span 2; }
  .rows p, .rows .note { grid-column: 2 / -1; }
  .cols3 { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--grid-gutter); }
  .index > a { grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--grid-gutter); }
  .index .k { grid-column: 1 / span 2; }
  .index b { grid-column: 3 / span 3; }
  .index .m { grid-column: 6 / span 1; justify-self: end; }
  .cat .ents { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cat .ent-abel { width: calc(25% - var(--grid-gutter) * 3 / 4); }
  .slides { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--grid-gutter); }
}

@media (min-width: 1200px) {
  .g > .k { grid-column: 1 / span 3; }
  .g > .b { grid-column: 4 / -1; }
  .rows > li { grid-template-columns: repeat(9, minmax(0, 1fr)); }
  .rows h3 { grid-column: 2 / span 2; }
  .rows p { grid-column: 4 / span 4; grid-row: 1; }
  .rows .note { grid-column: 8 / span 2; grid-row: 1; }
  .index > a { grid-template-columns: repeat(9, minmax(0, 1fr)); }
  .index .k { grid-column: 1 / span 2; }
  .index b { grid-column: 3 / span 5; }
  .index .m { grid-column: 8 / span 2; }
  .cat > .grp-gen { grid-column: 1 / span 3; }
  .cat > .grp-ind { grid-column: 5 / span 8; }
  .cat .ent-abel { width: auto; }
  .cat .ent-abel::before { content: ""; display: block; padding-top: calc((100% - 2 * var(--grid-gutter)) * 2 / 3 + var(--grid-gutter)); }
  .datum > .l { grid-column: 1 / span 5; }
  .datum > .chart { grid-column: 7 / -1; margin-top: 0; }
  .two > .a { grid-column: 4 / span 5; }
  .two > .b { grid-column: 10 / -1; margin-top: 0; }
  .art > .meta { grid-column: 1 / span 3; position: sticky; top: calc(var(--nav-h) + var(--space-3)); margin-bottom: 0; }
  .art > .body { grid-column: 4 / span 6; }
  .anat > .fig { grid-column: 4 / span 4; max-width: none; margin-bottom: 0; }
  .anat > .txt { grid-column: 9 / -1; }
}

/* ---------- 出现：按深度（规范：线由界线色显出本色，内容淡入 200 ms，不移动） ---------- */
.m-ready [data-d] { opacity: 0; transition: opacity var(--motion-response) var(--ease-response) calc(var(--m-delay, 0) * 1ms); }
.m-ready [data-d].is-in { opacity: 1; }
.m-ready [data-ln] { border-top-color: var(--color-border); transition: border-top-color var(--motion-response) var(--ease-response) calc(var(--m-delay, 0) * 1ms); }
.m-ready [data-ln].is-in { border-top-color: var(--senyu-ink); }

/* ---------- 页脚 ---------- */
.foot { position: relative; z-index: 4; background: var(--senyu-paper); color: var(--color-text-2); border-top: 1px solid var(--color-border); padding: var(--space-8) 0 var(--space-3); }
.foot .cols { row-gap: var(--space-4); }
.foot .cols > div { grid-column: span 2; }
.foot .cols > :first-child { grid-column: 1 / -1; }
.foot .flogo { display: block; width: 113px; height: 24px; position: relative; }
.foot .flogo img { position: absolute; left: -12px; top: -12px; width: 137px; height: 48px; max-width: none; }
.foot h4 { color: var(--senyu-ink); font-weight: var(--w-ui); margin-bottom: var(--space-1); }
.foot li + li { margin-top: var(--space-0-5); }
.foot a:hover { color: var(--senyu-ink); }
.foot .base { margin-top: var(--space-6); padding-top: var(--space-2); border-top: 1px solid var(--color-border); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-1); }
@media (min-width: 768px) { .foot .cols > :first-child { grid-column: 1 / -1; } }
@media (min-width: 1200px) {
  .foot .cols > :first-child { grid-column: 1 / span 4; }
  .foot .cols > div { grid-column: span 2; }
}

/* ---------- 窄屏与竖屏：文字在下，光在上 ---------- */
@media (max-width: 767px) {
  .hnav nav { display: none; }
  .hnav .cta { margin-left: auto; }
  .mo { display: inline; }
  .phones figure { border-radius: var(--space-1-5); }
  .ray { display: none; }
}
@media (max-width: 767px), (max-aspect-ratio: 4/5) {
  .phero .l-wrap { min-height: 100svh; display: flex; align-items: flex-end; padding-top: 50vh; padding-bottom: var(--space-6); }
  .phero.short .l-wrap { min-height: 72svh; padding-top: 40vh; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0ms !important; transition-delay: 0ms !important; animation: none !important; }
}

/* 宽行：名称占 4 栏，说明占 5 栏（信念、习惯、步骤这类一句话的名称） */
@media (min-width: 768px) {
  .rows.wide h3 { grid-column: 2 / -1; }
  .rows.wide p { grid-column: 2 / -1; }
}
@media (min-width: 1200px) {
  .rows.wide h3 { grid-column: 2 / span 4; }
  .rows.wide p { grid-column: 6 / span 4; grid-row: 1; }
}
.sh .t-h1 { max-width: 14em; }
.art .body blockquote .t-quote { color: var(--senyu-ink); }
.cat .ent .sig .t-h3 { line-height: 1; }
.cat .ent .sq { display: block; }
.sh .t-h1 { max-width: none; }
@media (min-width: 1200px) { .phones { width: calc(100% * 6 / 9 + var(--grid-gutter) / 3); } }
@media (max-width: 767px) { .mail { font-size: var(--fs-h2); overflow-wrap: anywhere; } }

/* ---------- 产品页 ---------- */
/* 首屏的产品列表：三块材料同时在光里，列表只是往下看的入口 */
.pick { margin-top: var(--space-4); border-top: 1px solid var(--senyu-divider-dark); max-width: 456px; }
.pick a { display: grid; grid-template-columns: 8.5em 1fr auto; align-items: baseline; gap: var(--space-1); padding: var(--space-1-5) 0; border-bottom: 1px solid var(--senyu-divider-dark); color: var(--senyu-n7); transition: color var(--motion-response) var(--ease-response); }
.pick b { font-size: var(--fs-body); font-weight: var(--w-ui); color: var(--senyu-paper); }
.pick span { font-size: var(--fs-small); }
.pick i { font-style: normal; color: var(--senyu-n6); }
.pick a:hover { color: var(--senyu-paper); transition-duration: var(--motion-instant); }
.pick a:hover i { color: var(--senyu-paper); }

/* 一个产品：左 5 栏文字，右 6 栏图 */
.pr { border-top: 1px solid var(--senyu-ink); padding-top: var(--space-1); row-gap: var(--space-6); }
.pr .pt > * + * { margin-top: var(--space-2); }
.pr .sig { height: 38px; width: auto; margin-top: var(--space-4); }
.pr h2 { margin-top: var(--space-3); }
.pr .t-body { color: var(--senyu-n4); max-width: 26em; }
.pr .facts { margin-top: var(--space-4); }
.pr .ctas { margin-top: var(--space-4); }
.pr .pm { display: grid; row-gap: var(--space-3); align-content: start; }
.sw { display: inline-block; width: 10px; height: 10px; margin-right: var(--space-0-75); background: var(--senyu-v-jade); vertical-align: .05em; }
.film { position: relative; display: block; width: 100%; padding: 0; border: 0; background: var(--senyu-ink); cursor: pointer; }
.film img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; opacity: .9; transition: opacity var(--motion-response) var(--ease-response); }
.film > span { position: absolute; left: var(--space-2); bottom: var(--space-2); display: inline-flex; align-items: center; gap: var(--space-1); height: var(--space-4); padding: 0 var(--space-2); background: var(--senyu-paper); color: var(--senyu-ink); font-weight: var(--w-ui); }
.film > span i { font-style: normal; font-size: .8em; }
.film:hover img { opacity: 1; transition-duration: var(--motion-instant); }
.pr .phones { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--grid-gutter); width: 100%; }
.pr .phones figure:nth-child(2) { margin-top: var(--space-6); }

/* 行业落地：四步一张表，璞玉走完四步，下一个行业停在第 1 步，Abel 横跨不分行业 */
.track { border-top: 1px solid var(--senyu-ink); }
.track .tr { display: grid; grid-template-columns: minmax(0, 3fr) repeat(4, minmax(0, 1.5fr)); column-gap: var(--grid-gutter); align-items: center; padding: var(--space-2) 0; border-bottom: 1px solid var(--color-border); }
.track .th { padding: var(--space-1) 0; color: var(--color-text-2); }
.track [role="rowheader"] { display: grid; grid-template-columns: var(--space-4) 1fr; column-gap: var(--space-1-5); align-items: center; }
.track [role="rowheader"] img, .track .dash { grid-row: 1 / span 2; width: var(--space-4); height: var(--space-4); }
.track .dash { border: 1px dashed var(--senyu-n6); }
.track [role="rowheader"] b { line-height: 1.3; }
.track [role="rowheader"] em { font-style: normal; color: var(--color-text-2); }
.track i { position: relative; display: block; height: var(--space-3); }
.track i::before { content: ""; position: absolute; left: 0; right: calc(-1 * var(--grid-gutter)); top: 50%; height: 0; border-top: 1px solid var(--color-border); }
.track i::after { content: ""; position: absolute; left: 0; top: 50%; width: 11px; height: 11px; margin-top: -5.5px; border-radius: 50%; background: var(--senyu-paper); box-shadow: inset 0 0 0 1px var(--senyu-n7); }
.track i:last-child::before { right: 0; }
.track .done i::before { border-top: 2px solid var(--senyu-ink); margin-top: -.5px; }
.track .done i::after { background: var(--senyu-ink); box-shadow: none; }
.track .done i:last-child::after { background: var(--senyu-v-jade); box-shadow: 0 0 0 2px var(--senyu-ink); }
.track .open i:first-of-type::after { width: 15px; height: 15px; margin-top: -7.5px; margin-left: -2px; background: var(--senyu-paper); box-shadow: none; border: 1px dashed var(--senyu-ink); }
.track .gen i.span { grid-column: 2 / -1; }
.track .gen i.span::after { display: none; }
.track .gen i.span::before { right: 0; border-top: 1px dashed var(--senyu-ink); }

/* 宣传片 */
#film { width: min(1120px, 92vw); max-width: none; padding: 0; border: 0; background: #000; overflow: visible; }
#film::backdrop { background: rgb(5 5 6 / .9); }
#film video { width: 100%; aspect-ratio: 16 / 9; background: #000; }
#film .close { position: absolute; right: 0; top: calc(-1 * var(--space-4)); height: var(--space-3); padding: 0; border: 0; background: none; color: var(--senyu-paper); cursor: pointer; opacity: .8; }
#film .close:hover { opacity: 1; }

@media (min-width: 1200px) {
  .pr > .pt { grid-column: 1 / span 5; }
  .pr > .pm { grid-column: 7 / -1; }
  .pr .sig { margin-top: var(--space-6); }
}
@media (max-width: 767px) {
  .pick a { grid-template-columns: 7em 1fr auto; }
  .track .th { display: none; }
  .track .tr { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: var(--space-1-5); }
  .track [role="rowheader"] { grid-column: 1 / -1; }
  .track .gen i.span { grid-column: 1 / -1; }
  .pr .phones figure:nth-child(2) { margin-top: var(--space-3); }
}
.pr .sig[src*="jade"] { height: 46px; margin-left: -4px; }
@media (max-width: 767px), (max-aspect-ratio: 4/5) {
  .pins em { display: none; }
  .bench .l-wrap { padding-top: 50vh; padding-bottom: var(--space-4); }
  .bench .t > .t-body { display: none; }
  .bench .pick { margin-top: var(--space-3); }
  .pick a { padding: var(--space-1) 0; }
}
