
:root {
  --paper: #F3F4EF;
  --surface: #FFFFFF;
  --surface-2: #E9EBE4;
  --ink: #14243A;
  --ink-2: #33415A;
  --mute: #5D6875;
  --line: #D3D7CE;
  --line-strong: #B9BFB4;
  --amber: #D08A0E;
  --amber-ink: #8F5E06;
  --amber-soft: #F6E3BF;
  --steel: #2F6FB5;
  --steel-soft: #DCE7F4;
  --chart-a: #2F6FB5;
  --chart-b: #D08A0E;
  --ok: #2E7D4F;
  --ok-soft: #DCEFE3;
  --focus: #2F6FB5;
  --shadow: 0 10px 30px rgba(20,36,58,.10);
  --display: "ZCOOL QingKe HuangYou", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --body: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  --mono: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #0F1822; --surface: #18232F; --surface-2: #1F2C3A;
    --ink: #E4E8EC; --ink-2: #C6CED8; --mute: #9AA5B1;
    --line: #2A3641; --line-strong: #3A4856;
    --amber: #E0A63A; --amber-ink: #F0BE5C; --amber-soft: #3A2E14;
    --steel: #5E97D6; --steel-soft: #1E3247;
    --chart-a: #5E97D6; --chart-b: #B37A12;
    --ok: #6CC391; --ok-soft: #173325; --focus: #7FB1E6;
    --shadow: 0 10px 30px rgba(0,0,0,.35);
  }
}
:root[data-theme="dark"] {
  --paper: #0F1822; --surface: #18232F; --surface-2: #1F2C3A;
  --ink: #E4E8EC; --ink-2: #C6CED8; --mute: #9AA5B1;
  --line: #2A3641; --line-strong: #3A4856;
  --amber: #E0A63A; --amber-ink: #F0BE5C; --amber-soft: #3A2E14;
  --steel: #5E97D6; --steel-soft: #1E3247;
  --chart-a: #5E97D6; --chart-b: #B37A12;
  --ok: #6CC391; --ok-soft: #173325; --focus: #7FB1E6;
  --shadow: 0 10px 30px rgba(0,0,0,.35);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { animation: none !important; transition: none !important; } }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); font-size: 16px; line-height: 1.75; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
h1, h2, h3, h4 { margin: 0; font-weight: 400; text-wrap: balance; line-height: 1.2; }
p { margin: 0; }
.num { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.wrap { width: min(1160px, 100%); margin-inline: auto; padding-inline: clamp(16px, 4vw, 40px); }
.eyebrow { font-family: var(--mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--amber-ink); font-weight: 600; }

/* nav */
.nav { position: sticky; top: 0; z-index: 20; background: color-mix(in srgb, var(--paper) 88%, transparent); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.nav .wrap { display: flex; align-items: center; gap: 24px; min-height: 58px; }
.brand { display: flex; align-items: center; gap: 10px; font-family: var(--display); font-size: 22px; letter-spacing: .04em; text-decoration: none; }
.brand-mark { width: 26px; height: 26px; position: relative; flex-shrink: 0; }
.brand-mark::before { content: ""; position: absolute; inset: 0 6px 6px 0; background: var(--ink); border-radius: 3px; }
.brand-mark::after { content: ""; position: absolute; inset: 8px 0 0 8px; background: var(--amber); border-radius: 3px; mix-blend-mode: multiply; }
:root[data-theme="dark"] .brand-mark::after { mix-blend-mode: normal; opacity: .92; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .brand-mark::after { mix-blend-mode: normal; opacity: .92; } }
.nav-links { display: flex; gap: 22px; margin-left: auto; font-size: 14px; }
.nav-links a { text-decoration: none; color: var(--ink-2); padding: 4px 0; border-bottom: 2px solid transparent; }
.nav-links a:hover { border-bottom-color: var(--amber); }
.nav-cta { margin-left: 12px; }
@media (max-width: 720px) { .nav-links { display: none; } .nav-cta { margin-left: auto; } }

.btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 4px; font-size: 15px; font-weight: 500; text-decoration: none; border: 1px solid var(--ink); background: var(--ink); color: var(--paper); cursor: pointer; }
.btn:hover { background: var(--ink-2); border-color: var(--ink-2); }
.btn.ghost { background: transparent; color: var(--ink); }
.btn.ghost:hover { background: var(--surface-2); }
.btn.small { padding: 7px 14px; font-size: 14px; }

/* hero (index) */
.hero { padding-block: clamp(48px, 8vw, 96px) clamp(40px, 6vw, 72px); border-bottom: 1px solid var(--line); }
.hero .wrap { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
@media (max-width: 900px) { .hero .wrap { grid-template-columns: 1fr; } }
.hero h1 { font-family: var(--display); font-size: clamp(38px, 5.6vw, 66px); letter-spacing: .01em; line-height: 1.12; margin-top: 18px; }
.hero h1 em { font-style: normal; color: var(--amber); }
.hero .lede { font-size: clamp(16px, 1.4vw, 19px); color: var(--ink-2); max-width: 34em; margin-top: 22px; }
.hero .ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hero .fine { margin-top: 18px; font-size: 13px; color: var(--mute); }

.ledger { background: var(--surface); border: 1px solid var(--line-strong); border-radius: 6px; box-shadow: var(--shadow); overflow: hidden; }
.ledger-head { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 20px; border-bottom: 1px dashed var(--line-strong); background: var(--surface-2); }
.ledger-head b { font-family: var(--display); font-weight: 400; font-size: 18px; letter-spacing: .04em; }
.ledger-head span { font-family: var(--mono); font-size: 11px; color: var(--mute); letter-spacing: .08em; }
.ledger-row { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: baseline; padding: 14px 20px; border-bottom: 1px solid var(--line); }
.ledger-row:last-child { border-bottom: 0; }
.ledger-row .v { font-family: var(--mono); font-size: 30px; font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; line-height: 1; min-width: 4.2ch; }
.ledger-row .v small { font-size: 15px; font-weight: 500; color: var(--mute); margin-left: 2px; }
.ledger-row .k { font-size: 14px; color: var(--ink-2); line-height: 1.45; }
.ledger-row .k i { display: block; font-style: normal; color: var(--mute); font-size: 12px; }

/* sections */
section { padding-block: clamp(48px, 7vw, 88px); }
section + section { border-top: 1px solid var(--line); }
.sec-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 48px; align-items: end; margin-bottom: clamp(28px, 4vw, 44px); }
@media (max-width: 800px) { .sec-head { grid-template-columns: 1fr; } }
.sec-head h2 { font-family: var(--display); font-size: clamp(30px, 3.6vw, 44px); letter-spacing: .02em; margin-top: 10px; }
.sec-head p { color: var(--ink-2); max-width: 36em; }

/* product lines (index) */
.line-block { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 32px; padding-block: 36px; border-top: 1px solid var(--line-strong); }
.line-block:first-of-type { border-top: 2px solid var(--ink); }
@media (max-width: 900px) { .line-block { grid-template-columns: 1fr; gap: 16px; } }
.line-side { position: sticky; top: 76px; align-self: start; }
.line-side .code { font-family: var(--mono); font-size: 12px; letter-spacing: .14em; color: var(--amber-ink); font-weight: 600; }
.line-side h3 { font-family: var(--display); font-size: 30px; letter-spacing: .03em; margin-top: 6px; }
.line-side p { color: var(--mute); font-size: 14px; margin-top: 10px; line-height: 1.6; }
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 18px; }
.cards.two { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.cards.one { grid-template-columns: 1fr; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 24px 24px 20px; display: flex; flex-direction: column; gap: 14px; }
.card.lead { border-color: var(--line-strong); box-shadow: var(--shadow); }
.card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.card h4 { font-family: var(--display); font-size: 24px; letter-spacing: .02em; }
.card h4 a { text-decoration: none; }
.card h4 a:hover { color: var(--amber-ink); }
.card .tag { font-size: 14px; color: var(--ink-2); margin-top: 4px; }
.chip { flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 11px; letter-spacing: .06em; padding: 4px 9px; border-radius: 999px; border: 1px solid var(--line-strong); color: var(--mute); white-space: nowrap; }
.chip.live { background: var(--ok-soft); color: var(--ok); border-color: transparent; }
.chip.live::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ok); }
.chip.dev { background: var(--steel-soft); color: var(--steel); border-color: transparent; }
.pain { font-size: 14px; color: var(--mute); padding-left: 12px; border-left: 3px solid var(--amber-soft); }
.pain b { color: var(--ink-2); font-weight: 500; }
.card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; font-size: 14.5px; color: var(--ink-2); }
.card.wide ul { grid-template-columns: 1fr 1fr; gap: 7px 28px; }
@media (max-width: 700px) { .card.wide ul { grid-template-columns: 1fr; } }
.card li { padding-left: 18px; position: relative; line-height: 1.55; }
.card li::before { content: ""; position: absolute; left: 2px; top: .68em; width: 8px; height: 2px; background: var(--amber); }
.card-foot { margin-top: auto; padding-top: 12px; border-top: 1px dashed var(--line); display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12.5px; color: var(--mute); align-items: center; }
.card-foot b { color: var(--ink-2); font-weight: 500; }
.card-foot .more { margin-left: auto; color: var(--steel); text-decoration: none; font-weight: 500; font-size: 13px; }
.card-foot .more:hover { text-decoration: underline; }

/* evidence */
.evidence-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); gap: 32px; align-items: start; }
@media (max-width: 900px) { .evidence-grid { grid-template-columns: 1fr; } }
.figure { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 22px 22px 16px; margin: 0; }
.figure-head { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; align-items: baseline; margin-bottom: 14px; }
.figure-head h3 { font-size: 17px; font-weight: 700; }
.figure-head p { font-size: 13px; color: var(--mute); }
.legend { display: flex; gap: 18px; font-size: 13px; color: var(--ink-2); margin-bottom: 14px; }
.legend span { display: inline-flex; align-items: center; gap: 7px; }
.legend i { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }
.legend .a i { background: var(--chart-a); }
.legend .b i { background: var(--chart-b); }
.chart { position: relative; }
.chart svg { width: 100%; height: auto; display: block; overflow: visible; }
.chart .bar { transition: opacity .15s; }
.chart .grp:hover .bar { opacity: .85; }
.chart text { font-family: var(--body); fill: var(--ink-2); font-size: 12.5px; }
.chart text.val { font-family: var(--mono); fill: var(--ink-2); font-size: 12px; }
.chart text.mult { font-family: var(--mono); fill: var(--ink); font-size: 13px; font-weight: 600; }
.chart text.req { fill: var(--ink); font-size: 13px; }
.chart text.req tspan.id { fill: var(--mute); font-family: var(--mono); font-size: 11px; }
.chart line.grid { stroke: var(--line); stroke-width: 1; }
.chart line.axis { stroke: var(--line-strong); stroke-width: 1; }
.chart .bar.a { fill: var(--chart-a); }
.chart .bar.b { fill: var(--chart-b); }
.tip { position: absolute; pointer-events: none; background: var(--ink); color: var(--paper); font-size: 12.5px; line-height: 1.5; padding: 8px 10px; border-radius: 4px; box-shadow: var(--shadow); opacity: 0; transform: translate(-50%, -100%); transition: opacity .12s; white-space: nowrap; }
.tip.show { opacity: 1; }
.figure-foot { font-size: 12.5px; color: var(--mute); margin-top: 12px; }
details.tbl { margin-top: 10px; font-size: 13px; }
details.tbl summary { cursor: pointer; color: var(--steel); }
details.tbl table { border-collapse: collapse; width: 100%; margin-top: 8px; }
details.tbl th, details.tbl td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--line); }
details.tbl th { font-weight: 500; color: var(--mute); }
details.tbl td.n { font-family: var(--mono); font-variant-numeric: tabular-nums; text-align: right; }
details.tbl th.n { text-align: right; }
.proof-list { display: grid; gap: 14px; }
.proof { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 18px 20px; }
.proof .eyebrow { display: block; margin-bottom: 6px; }
.proof h3 { font-size: 17px; font-weight: 700; }
.proof p { font-size: 14px; color: var(--ink-2); margin-top: 6px; }

.case { background: var(--surface); border: 1px solid var(--line-strong); border-radius: 6px; box-shadow: var(--shadow); overflow: hidden; }
.case-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 20px; background: var(--surface-2); border-bottom: 1px dashed var(--line-strong); }
.case-head b { font-family: var(--display); font-weight: 400; font-size: 18px; letter-spacing: .04em; }
.case-head span { font-family: var(--mono); font-size: 11px; color: var(--mute); letter-spacing: .08em; }
.case-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
.case-grid div { padding: 18px 20px; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); }
.case-grid div:nth-child(2n) { border-right: 0; }
.case-grid b { display: block; font-family: var(--mono); font-size: 34px; font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; }
.case-grid b small { font-size: 14px; font-weight: 500; color: var(--mute); margin-left: 3px; }
.case-grid span { display: block; font-size: 13px; color: var(--ink-2); margin-top: 8px; }
.case-notes { list-style: none; margin: 0; padding: 14px 20px 16px; display: grid; gap: 8px; font-size: 14px; color: var(--ink-2); }
.case-notes li { padding-left: 18px; position: relative; line-height: 1.55; }
.case-notes li::before { content: ""; position: absolute; left: 2px; top: .68em; width: 8px; height: 2px; background: var(--amber); }

/* delivery */
.combo { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; margin-bottom: 24px; overflow: hidden; }
.combo-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 20px; background: var(--surface-2); border-bottom: 1px dashed var(--line-strong); }
.combo-head b { font-family: var(--display); font-weight: 400; font-size: 18px; letter-spacing: .04em; }
.combo-head span { font-size: 12.5px; color: var(--mute); }
.combo-row { display: grid; grid-template-columns: minmax(160px, 220px) 1fr; gap: 12px 20px; padding: 11px 20px; border-bottom: 1px solid var(--line); font-size: 14.5px; }
.combo-row:last-child { border-bottom: 0; }
.combo-k { color: var(--ink-2); font-weight: 500; }
.combo-v { color: var(--ink); }
.combo-v a { text-decoration: none; border-bottom: 1px solid var(--line-strong); }
.combo-v a:hover { border-bottom-color: var(--amber); }
@media (max-width: 600px) { .combo-row { grid-template-columns: 1fr; gap: 2px; } .combo-k::after { content: ""; display: block; width: 18px; height: 2px; background: var(--amber); margin-top: 4px; } }
.tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 900px) { .tiers { grid-template-columns: 1fr; } }
.tier { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 26px 24px; display: flex; flex-direction: column; gap: 14px; }
.tier.hi { border: 2px solid var(--ink); box-shadow: var(--shadow); }
.tier .eyebrow { display: block; }
.tier h3 { font-family: var(--display); font-size: 28px; letter-spacing: .02em; }
.tier .who { font-size: 14px; color: var(--mute); }
.tier .price { font-family: var(--mono); font-size: 24px; font-weight: 600; padding: 12px 0; border-top: 1px dashed var(--line); border-bottom: 1px dashed var(--line); }
.tier .price small { display: block; font-family: var(--body); font-size: 12.5px; font-weight: 400; color: var(--mute); margin-top: 2px; }
.tier ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 14.5px; color: var(--ink-2); }
.tier li { padding-left: 22px; position: relative; }
.tier li::before { content: "✓"; position: absolute; left: 0; color: var(--ok); font-weight: 700; }
.tier .btn { margin-top: auto; justify-content: center; }

.steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border: 1px solid var(--line-strong); border-radius: 6px; overflow: hidden; background: var(--surface); }
@media (max-width: 900px) { .steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .steps { grid-template-columns: 1fr; } }
.step { padding: 22px 22px 24px; border-right: 1px solid var(--line); }
.step:last-child { border-right: 0; }
@media (max-width: 900px) { .step:nth-child(2) { border-right: 0; } .step:nth-child(-n+2) { border-bottom: 1px solid var(--line); } }
@media (max-width: 520px) { .step { border-right: 0; border-bottom: 1px solid var(--line); } .step:last-child { border-bottom: 0; } }
.step .n { font-family: var(--mono); font-size: 12px; color: var(--amber-ink); letter-spacing: .12em; font-weight: 600; }
.step h3 { font-family: var(--display); font-size: 24px; margin-top: 6px; letter-spacing: .02em; }
.step .dur { font-family: var(--mono); font-size: 12px; color: var(--mute); margin-top: 2px; }
.step p { font-size: 14px; color: var(--ink-2); margin-top: 10px; }

/* contact + footer */
.contact { background: var(--ink); color: var(--paper); border-top: 0; }
.contact .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr); gap: 40px; align-items: center; }
@media (max-width: 800px) { .contact .wrap { grid-template-columns: 1fr; } }
.contact h2 { font-family: var(--display); font-size: clamp(30px, 3.6vw, 44px); letter-spacing: .02em; }
.contact p { color: color-mix(in srgb, var(--paper) 78%, transparent); margin-top: 14px; max-width: 32em; }
.contact .eyebrow { color: var(--amber); }
.contact-card { background: color-mix(in srgb, var(--paper) 8%, transparent); border: 1px solid color-mix(in srgb, var(--paper) 22%, transparent); border-radius: 6px; padding: 22px 24px; display: grid; gap: 12px; }
.contact-card dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 8px 16px; font-size: 14.5px; }
.contact-card dt { color: color-mix(in srgb, var(--paper) 60%, transparent); }
.contact-card dd { margin: 0; font-family: var(--mono); }
.contact-card .fill { color: var(--amber); }
.contact .btn { background: var(--amber); border-color: var(--amber); color: #14243A; }
.contact .btn:hover { background: #E7A22A; border-color: #E7A22A; }
footer { padding-block: 20px; font-size: 12.5px; color: var(--mute); border-top: 1px solid var(--line); }
footer .wrap { display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; }

/* ===== product detail pages ===== */
.crumb { font-size: 13px; color: var(--mute); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.crumb a { text-decoration: none; color: var(--ink-2); }
.crumb a:hover { color: var(--amber-ink); }
.crumb i { font-style: normal; color: var(--line-strong); }
.phero { padding-block: clamp(36px, 6vw, 72px) clamp(32px, 5vw, 56px); border-bottom: 1px solid var(--line); }
.phero .wrap { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
@media (max-width: 900px) { .phero .wrap { grid-template-columns: 1fr; } }
.phero .line-tag { display: inline-flex; gap: 10px; align-items: center; margin-top: 22px; }
.phero h1 { font-family: var(--display); font-size: clamp(36px, 5vw, 60px); letter-spacing: .01em; line-height: 1.12; margin-top: 12px; }
.phero .tagline { font-size: clamp(17px, 1.5vw, 21px); color: var(--ink-2); margin-top: 14px; max-width: 30em; }
.phero .summary { margin-top: 18px; color: var(--ink-2); max-width: 36em; font-size: 15.5px; }
.phero .ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.who { background: var(--surface); border: 1px solid var(--line-strong); border-radius: 6px; box-shadow: var(--shadow); overflow: hidden; }
.who-head { padding: 12px 20px; background: var(--surface-2); border-bottom: 1px dashed var(--line-strong); font-family: var(--display); font-size: 18px; letter-spacing: .04em; }
.who ul { list-style: none; margin: 0; padding: 8px 20px 12px; display: grid; gap: 6px; font-size: 14.5px; color: var(--ink-2); }
.who li { padding: 6px 0 6px 18px; position: relative; border-bottom: 1px solid var(--line); }
.who li:last-child { border-bottom: 0; }
.who li::before { content: ""; position: absolute; left: 0; top: 1.05em; width: 8px; height: 2px; background: var(--amber); }
.who .stat { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); }
.who .stat div { padding: 12px 20px; border-right: 1px solid var(--line); }
.who .stat div:nth-child(2n) { border-right: 0; }
.who .stat div:nth-child(n+3) { border-top: 1px solid var(--line); }
.who .stat b { display: block; font-family: var(--mono); font-size: 22px; font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; }
.who .stat b small { font-size: 12px; font-weight: 500; color: var(--mute); margin-left: 2px; }
.who .stat span { font-size: 12.5px; color: var(--mute); }

.feat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 0; border: 1px solid var(--line-strong); border-radius: 6px; overflow: hidden; background: var(--line); }
.feat { background: var(--surface); padding: 22px 22px 24px; outline: 1px solid var(--line); }
.feat .k { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; color: var(--amber-ink); font-weight: 600; }
.feat h3 { font-size: 17px; font-weight: 700; margin-top: 6px; }
.feat p { font-size: 14px; color: var(--ink-2); margin-top: 8px; }

.flow { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; counter-reset: flow; }
.flow-step { position: relative; background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 18px 18px 20px 18px; }
.flow-step::before { counter-increment: flow; content: counter(flow, decimal-leading-zero); font-family: var(--mono); font-size: 12px; letter-spacing: .12em; color: var(--amber-ink); font-weight: 600; }
.flow-step h3 { font-family: var(--display); font-size: 22px; letter-spacing: .02em; margin-top: 4px; }
.flow-step p { font-size: 13.5px; color: var(--ink-2); margin-top: 8px; }
.flow-step::after { content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--line-strong); font-size: 18px; background: var(--paper); padding: 0 2px; z-index: 1; }
.flow-step:last-child::after { content: none; }
@media (max-width: 700px) { .flow-step::after { content: none; } }

.spec { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; align-items: start; }
@media (max-width: 800px) { .spec { grid-template-columns: 1fr; } }
.spec-table { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.spec-table dl { margin: 0; }
.spec-table div { display: grid; grid-template-columns: 110px 1fr; gap: 12px; padding: 12px 20px; border-bottom: 1px solid var(--line); font-size: 14.5px; }
.spec-table div:last-child { border-bottom: 0; }
.spec-table dt { color: var(--mute); }
.spec-table dd { margin: 0; color: var(--ink); }
.faq { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.faq details { border-bottom: 1px solid var(--line); }
.faq details:last-child { border-bottom: 0; }
.faq summary { cursor: pointer; padding: 14px 20px; font-weight: 500; font-size: 15px; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-family: var(--mono); color: var(--amber-ink); }
.faq details[open] summary::after { content: "–"; }
.faq .a { padding: 0 20px 16px; font-size: 14.5px; color: var(--ink-2); }

.related { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.rel { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 18px 20px; text-decoration: none; display: grid; gap: 6px; }
.rel:hover { border-color: var(--amber); }
.rel .k { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; color: var(--amber-ink); font-weight: 600; }
.rel b { font-family: var(--display); font-weight: 400; font-size: 21px; letter-spacing: .02em; }
.rel span { font-size: 13.5px; color: var(--ink-2); }


/* 延续原站配色；使用系统中文字体，提升长标题与移动端可读性。 */
:root { --display: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif; }
h1,h2,h3,h4 { font-weight: 700; line-height: 1.35; letter-spacing: -.025em; }
body { overflow-wrap: anywhere; }
.hero h1 { font-size: clamp(2.5rem,5vw,4rem); line-height:1.25; }
.phero h1 { font-size:clamp(2rem,4.4vw,3.5rem); line-height:1.3; }
.hero .fine,.section-note { font-size:.875rem; }
.brand { font-weight:700; letter-spacing:0; }
.ledger-head b,.who-head { font-weight:600; }
.ledger-row .k { font-size:1rem; }
.ledger-row .k i { font-size:.875rem; margin-top:6px; }
.ledger-row .v { font-size:1.7rem; color:var(--amber-ink); }
.skip-link { position:fixed; top:-100px; left:16px; z-index:100; padding:12px; background:var(--surface); color:var(--ink); }
.skip-link:focus { top:8px; }
.solution-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.solution { padding:24px; border:1px solid var(--line); border-radius:6px; background:var(--surface); display:flex; flex-direction:column; gap:14px; }
.solution h3 { font-size:1.2rem; }
.solution p { color:var(--ink-2); }
.solution .eyebrow { font-size:.8rem; letter-spacing:.02em; }
.bundle-modules { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; }
.bundle-modules a { font-size:.875rem; padding:3px 8px; border:1px solid var(--line); border-radius:3px; text-decoration:none; }
.text-action { color:var(--steel); font-size:.925rem; text-underline-offset:4px; }
.section-note { margin-top:20px; color:var(--mute); }
.product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.product-grid .card { box-shadow:none; }
.product-grid h3 { margin-top:6px; font-size:1.3rem; }
.product-grid h3 a { text-decoration:none; }
.card .tag,.card ul,.feat p,.step p,.phero .summary { font-size:1rem; }
.card-foot,.card-foot .more { font-size:.875rem; }
.card-foot .more { margin-left:0; margin-right:auto; }
.sample-grid,.sample-sequence { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.sample-card { padding:24px; border:1px solid var(--line-strong); border-radius:6px; background:var(--surface); }
.sample-label { color:var(--amber-ink); font-size:.825rem; display:block; margin-bottom:12px; }
.sample-card h3 { font-size:1.2rem; }
.sample-card ol { list-style:none; padding:0; margin:20px 0; }
.sample-card li { padding:14px 0; border-top:1px solid var(--line); }
.sample-card li b { font-size:.875rem; color:var(--steel); }
.sample-card p { color:var(--ink-2); }
.sample-card a { color:var(--steel); font-size:.875rem; }
.principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding-top:32px; margin-top:32px; border-top:1px solid var(--line); }
.principles h3 { font-size:1rem; margin-bottom:8px; }
.principles p { font-size:.925rem; color:var(--ink-2); }
.tier h3 { font-size:1.5rem; font-weight:700; }
.tier .price { font-family:var(--body); font-size:1.125rem; }
.tier .price small { font-size:.875rem; }
.tier ul { font-size:1rem; }
.tier li::before { content:'·'; color:var(--amber-ink); }
.pricing-table { margin-top:28px; overflow-x:auto; border:1px solid var(--line); border-radius:6px; background:var(--surface); }
.pricing-table table { width:100%; border-collapse:collapse; font-size:.925rem; }
.pricing-table caption { text-align:left; padding:18px 20px; font-weight:700; background:var(--surface-2); }
.pricing-table th,.pricing-table td { padding:14px 20px; text-align:left; vertical-align:top; border-top:1px solid var(--line); }
.pricing-table tbody th { font-weight:500; min-width:140px; }
.pricing-table td { min-width:180px; }
.contact .wrap { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:start; }
.contact h2 { line-height:1.4; font-size:clamp(1.8rem,3vw,2.65rem); }
.contact .local-note { font-size:.875rem; }
.contact-card { min-width:0; }
fieldset { border:0; margin:0; padding:0; min-width:0; }
legend { padding:0; margin-bottom:10px; font-weight:600; }
.module-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.module-options label { display:flex; gap:8px; align-items:flex-start; font-size:.875rem; padding:8px; border:1px solid color-mix(in srgb,var(--paper) 25%,transparent); border-radius:4px; cursor:pointer; }
.module-options label:has(input:checked) { border-color:var(--amber); background:color-mix(in srgb,var(--amber) 15%,transparent); }
.module-options input { margin-top:5px; flex-shrink:0; width:16px; height:16px; accent-color:var(--amber); }
.contact-card > label,.form-row label { display:grid; gap:5px; font-size:.925rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
select,textarea { width:100%; min-width:0; font:inherit; font-size:1rem; color:var(--ink); background:var(--surface); border:1px solid var(--line-strong); border-radius:4px; padding:10px; }
textarea { resize:vertical; }
.contact .form-status { font-size:.925rem; margin:0; color:var(--paper); }
.form-status:empty { display:none; }
.contact .btn { justify-content:center; min-height:44px; }
#plan-result { border-top:1px solid color-mix(in srgb,var(--paper) 25%,transparent); padding-top:14px; }
#plan-result > label { display:block; margin-bottom:6px; }
.result-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.result-actions .btn { flex:1; }
[hidden] { display:none !important; }
.detail-deliverable { padding:18px 20px; border-top:1px solid var(--line); }
.detail-deliverable b { font-size:.875rem; color:var(--amber-ink); }
.detail-deliverable p { margin-top:6px; font-size:1rem; }
.who ul { font-size:1rem; }
.flow-step h3 { font-size:1.1rem; font-weight:600; }
.flow-step::after { content:none; }
.spec-table div { grid-template-columns:80px minmax(0,1fr); font-size:.925rem; }
.faq .a { font-size:1rem; }
.rel b { font-size:1.2rem; font-weight:600; }
.rel span { font-size:.925rem; }
footer { font-size:.875rem; }
@media(max-width:960px){ .solution-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .nav-links { gap:14px; } }
@media(max-width:800px){ .contact .wrap,.sample-grid,.sample-sequence { grid-template-columns:1fr; } .principles { grid-template-columns:1fr; gap:20px; } }
@media(max-width:600px){ .solution-grid,.product-grid,.module-options { grid-template-columns:1fr; } .hero h1 { font-size:2.55rem; } .contact-card { padding:20px 16px; } .form-row { grid-template-columns:1fr; } .solution,.card,.sample-card { padding:20px; } .spec-table div { grid-template-columns:1fr; gap:4px; } .nav .wrap { gap:12px; } .brand { font-size:1.15rem; } .sec-head h2 { font-size:1.8rem; } }
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
