

:root {

  --font-sans: "IBM Plex Sans", "IBM Plex Sans SC", ui-sans-serif, -apple-system, BlinkMacSystemFont,
               "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC",
               Helvetica, Arial, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;


  --t-2xs:.6875rem; --t-xs:.75rem; --t-sm:.875rem; --t-base:1rem; --t-md:1.0625rem;
  --t-lg:  clamp(1.25rem, 1.10rem + .5vw, 1.5rem);
  --t-xl:  clamp(1.5rem, 1.20rem + 1.2vw, 2rem);
  --t-2xl: clamp(1.875rem, 1.40rem + 2vw, 2.5rem);
  --t-3xl: clamp(2.25rem, 1.60rem + 2.8vw, 3.25rem);


  --w-reg:400; --w-med:500; --w-semi:600;
  --lh-tight:1.18; --lh-snug:1.40; --lh-body:1.62; --lh-zh:1.80;
  --tr-tight:-.011em; --tr-label:.075em; --tr-zh:.015em;


  --ink-900:#111314; --ink-800:#1B1E1F; --ink-700:#2A2E2F; --ink-600:#43494A;
  --ink-500:#6B716C; --ink-400:#8E948F; --ink-300:#B3B8B3; --ink-200:#D8DAD6;
  --ink-100:#E7E9E5; --ink-050:#F3F4F1;

  --paper:#FBFBFA; --paper-raised:#FFFFFF; --paper-sunken:#F3F4F1;

  --accent-700:#08475E; --accent-600:#0A5C7A; --accent-500:#0E7096;
  --accent-200:#AFCEDC; --accent-100:#DAE9F0; --accent-050:#EEF5F8;


  --sig-verified-700:#155239; --sig-verified-600:#1B6B4A; --sig-verified-100:#DCEFE4;
  --sig-onboard-700:#6E4708;  --sig-onboard-600:#8A5A0B;  --sig-onboard-100:#F6EBD6;

  --text-primary:var(--ink-900); --text-secondary:var(--ink-600); --text-muted:var(--ink-500);
  --link:var(--accent-600); --link-visited:var(--accent-700);
  --line-hair:var(--ink-100); --line:var(--ink-200); --line-strong:var(--ink-800);
  --text-on-ink:#EDF2F5;


  --tape-1:#689E8E; --tape-2:#647DAA; --tape-3:#D0C37C; --tape-4:#767774; --tape-5:#CA7F83;

  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem; --sp-5:1.5rem;
  --sp-6:2rem; --sp-7:3rem; --sp-8:4rem;
  --r:3px; --measure:68ch; --shell:76rem;
}

@media (prefers-color-scheme: dark) {
  :root {
    --paper:#121413; --paper-raised:#191C1A; --paper-sunken:#20241F;
    --text-primary:#EDEFEC; --text-secondary:#9AA29C; --text-muted:#848C86;
    --accent-700:#6FC9E8; --accent-600:#3FB6DF; --accent-500:#2AA3CE;
    --accent-200:#2A4E5E; --accent-100:#17313D; --accent-050:#132832;
    --link:#3FB6DF; --link-visited:#6FC9E8;
    --line-hair:#242826; --line:#2E3230; --line-strong:#C9CCC7;
    --sig-verified-700:#8FD4AC; --sig-verified-600:#6FC495; --sig-verified-100:#12301F;
    --sig-onboard-700:#E7C68B;  --sig-onboard-600:#D8B06A;  --sig-onboard-100:#2E2415;
  }
}

* { box-sizing: border-box; }

[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--paper); color: var(--text-primary);
  font-family: var(--font-sans); font-size: var(--t-base); line-height: var(--lh-body);
  font-weight: var(--w-reg); -webkit-font-smoothing: antialiased;
}

.num, td, th, .stats dd, .ledger__count { font-variant-numeric: tabular-nums lining-nums;
                                          font-feature-settings: "tnum" 1, "lnum" 1; }

.code, .p-spec, .p-proc, .mono, .formula { font-family: var(--font-mono); }

[lang="zh"], :lang(zh) { line-height: var(--lh-zh); letter-spacing: var(--tr-zh); }

:lang(zh) em, [lang="zh-Hans"] em {
  font-style: normal;
  -webkit-text-emphasis: dot;
  text-emphasis: dot;
  -webkit-text-emphasis-position: under right;
  text-emphasis-position: under right;
}

:lang(zh) h1, :lang(zh) h2, :lang(zh) h3 { letter-spacing: 0; }

main { max-width: var(--shell); margin: 0 auto; padding: var(--sp-6) var(--sp-5) var(--sp-8); }
h1,h2,h3 { line-height: var(--lh-tight); letter-spacing: var(--tr-tight); font-weight: var(--w-semi); }
h1 { font-size: var(--t-2xl); margin: 0 0 var(--sp-3); max-width: 24ch; }
h2 { font-size: var(--t-xl); margin: var(--sp-7) 0 var(--sp-3); }
h3 { font-size: var(--t-lg); margin: var(--sp-5) 0 var(--sp-2); font-weight: var(--w-med); }
p { max-width: var(--measure); margin: 0 0 var(--sp-4); }
a { color: var(--link); text-underline-offset: 2px; text-decoration-thickness: 1px; }
a:visited { color: var(--link-visited); }
strong { font-weight: var(--w-semi); }
hr.tape { border: 0; }

.skip { position: absolute; left: -9999px; }
.skip:focus { left: var(--sp-2); top: var(--sp-2); background: var(--paper-raised);
              padding: var(--sp-2) var(--sp-3); z-index: 20; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible {
  outline: 2px solid var(--accent-500); outline-offset: 2px; border-radius: 2px; }

.tape { height: 3px; margin: 0;
  background: linear-gradient(to right,
    var(--tape-1) 0 20%, var(--tape-2) 20% 40%, var(--tape-3) 40% 60%,
    var(--tape-4) 60% 80%, var(--tape-5) 80% 100%); }
.tape--page { height: 4px; }

header.site { max-width: var(--shell); margin: 0 auto; padding: var(--sp-4) var(--sp-5);
              display: flex; gap: var(--sp-5); align-items: center; flex-wrap: wrap; }

.wordmark, .wordmark * { line-height: 1; letter-spacing: normal; }
.wordmark { display: inline-flex; align-items: center; gap: var(--sp-2);
            text-decoration: none; color: var(--text-primary); }
.wordmark svg { display: block; }
.wm-desc { color: var(--text-muted); font-size: var(--t-md); }
header.site nav { margin-left: auto; display: flex; gap: var(--sp-4); flex-wrap: wrap; }
header.site nav a { color: var(--text-secondary); text-decoration: none; font-size: var(--t-sm); }
header.site nav a:hover { color: var(--text-primary); text-decoration: underline; }
header.site nav a.cta { color: var(--accent-600); font-weight: var(--w-med); }

header.site nav a.langswitch { border: 1px solid var(--line-hair); border-radius: 999px;
  padding: 0 14px; min-width: 76px; font-size: var(--t-xs, .78rem);
  color: var(--text-secondary); white-space: nowrap; }
header.site nav a.langswitch:hover { border-color: var(--text-secondary); color: var(--text-primary);
  text-decoration: none; }

footer.site { max-width: var(--shell); margin: var(--sp-8) auto 0; padding: var(--sp-5);
              border-top: 1px solid var(--line-hair); }
.footnav { display: flex; gap: var(--sp-4); flex-wrap: wrap; margin: 0 0 var(--sp-3); }
.footnav a { color: var(--text-secondary); text-decoration: none; font-size: var(--t-sm); }
.footnav a:hover { color: var(--text-primary); text-decoration: underline; }

.lede { font-size: var(--t-md); color: var(--text-secondary); max-width: 62ch; }
.muted { color: var(--text-muted); }
.small { font-size: var(--t-sm); }
.crumb { font-size: var(--t-sm); color: var(--text-muted); margin-bottom: var(--sp-3); }
.eyebrow, .stage-k, .stats dt, .markcell .lbl, table.grid thead th, .p-spec .k, .p-proc .k {
  font-size: var(--t-2xs); text-transform: uppercase; letter-spacing: var(--tr-label);
  color: var(--text-muted); font-weight: var(--w-med); }

.stats { display: flex; gap: var(--sp-6); flex-wrap: wrap; margin: var(--sp-5) 0; padding: 0; }
.stats div { margin: 0; }
.stats dd { margin: var(--sp-1) 0 0; font-size: var(--t-2xl); font-weight: var(--w-semi);
            letter-spacing: -.03em; line-height: 1; }

.scroll-x { overflow-x: auto; margin: var(--sp-4) 0; }
table.grid { border-collapse: collapse; width: 100%; font-size: var(--t-sm); }
table.grid th, table.grid td { text-align: left; padding: var(--sp-2) var(--sp-3);
                               border-bottom: 1px solid var(--line-hair); vertical-align: top; }
table.grid thead th { border-bottom: 2px solid var(--line-strong); }
table.grid tbody th { font-weight: var(--w-med); color: var(--text-secondary); width: 12rem; }
table.grid tbody tr:hover { background: var(--paper-sunken); }
table.grid td.num, table.grid th.num { text-align: right; }

.note { background: var(--paper-sunken); border-left: 2px solid var(--line);
        padding: var(--sp-3) var(--sp-4); font-size: var(--t-sm); color: var(--text-secondary);
        max-width: var(--measure); margin: var(--sp-4) 0; }

.st { display: inline-block; font-size: var(--t-2xs); font-weight: var(--w-semi);
      padding: .15em .55em; border-radius: var(--r); white-space: nowrap; vertical-align: .1em;
      border: 1px solid transparent; }
.st--in       { background: var(--sig-verified-100); color: var(--sig-verified-700); border-color: currentColor; }
.st--onboard  { background: var(--sig-onboard-100);  color: var(--sig-onboard-700);  border-color: currentColor; }
.st--sourced  { background: var(--accent-050);       color: var(--accent-700);       border-color: currentColor; }
.st--eq       { background: var(--paper-sunken);     color: var(--text-secondary);   border-color: var(--line); }
.legend { font-size: var(--t-sm); color: var(--text-secondary); background: var(--paper-sunken);
          padding: var(--sp-3) var(--sp-4); border-radius: var(--r); max-width: var(--measure);
          margin: var(--sp-4) 0 0; }

.ledger { margin: var(--sp-5) 0; border-top: 2px solid var(--line-strong); }
.ledger details { border-bottom: 1px solid var(--line-hair); }
.ledger summary { cursor: pointer; padding: var(--sp-3) var(--sp-2); display: flex;
                  align-items: baseline; gap: var(--sp-3); list-style: none; }
.ledger summary::-webkit-details-marker { display: none; }
.ledger summary::before { content: "▸"; color: var(--text-muted); font-size: var(--t-sm);
                          transition: transform .12s ease; display: inline-block; }
.ledger details[open] > summary::before { transform: rotate(90deg); }
.ledger summary:hover { background: var(--paper-sunken); }
.ledger__name { font-weight: var(--w-med); }
.ledger__cn { color: var(--text-muted); font-size: var(--t-sm); }
.ledger__count { margin-left: auto; color: var(--text-muted); font-size: var(--t-sm); }
.ledger__bar { display: inline-flex; height: 6px; width: 7rem; border-radius: 2px;
               overflow: hidden; background: var(--line-hair); margin-left: var(--sp-3); }
.ledger__bar i { display: block; height: 100%; }
.ledger__bar .b-in { background: var(--sig-verified-600); }
.ledger__bar .b-on { background: var(--sig-onboard-600); }
.ledger__body { padding: 0 var(--sp-2) var(--sp-3) var(--sp-5); }
.ledger .sub-h { display: flex; align-items: baseline; gap: var(--sp-2);
                 padding: var(--sp-2) 0 var(--sp-1); font-size: var(--t-sm);
                 font-weight: var(--w-med); border-bottom: 1px solid var(--line-hair); }
.ledger ul { list-style: none; margin: 0; padding: 0; }

.ledger li { padding: var(--sp-2) 0; border-bottom: 1px solid var(--line-hair);
             display: flex; gap: var(--sp-3); align-items: baseline; flex-wrap: nowrap; }
.ledger li > .st { margin-left: auto; flex: 0 0 auto; }
.ledger li > a, .ledger li > span:not(.st) { min-width: 0; overflow-wrap: break-word; }
.ledger li a { text-decoration: none; }
.ledger li a:hover { text-decoration: underline; }

.sub { margin-top: var(--sp-6); }
ul.prods { list-style: none; padding: 0; margin: 0; }
ul.prods li { padding: var(--sp-3) 0; border-bottom: 1px solid var(--line-hair); }

.p-name { display: flex; gap: var(--sp-2); align-items: baseline; flex-wrap: nowrap; }
.p-name > .st { margin-left: auto; flex: 0 0 auto; }
.p-name > strong { min-width: 0; overflow-wrap: break-word; }
.p-cn { color: var(--text-muted); font-size: var(--t-sm); }
.p-desc { margin: var(--sp-2) 0 0; color: var(--text-secondary); font-size: var(--t-sm); }
.p-spec, .p-proc { margin: var(--sp-2) 0 0; font-size: var(--t-xs); color: var(--text-secondary); }
.p-note { margin: var(--sp-2) 0 0; font-size: var(--t-xs); color: var(--text-muted);
          border-left: 2px solid var(--line-hair); padding-left: var(--sp-2); }

.spec { margin: var(--sp-5) 0; }
.spec dl { display: grid; grid-template-columns: minmax(9rem, 14rem) 1fr; gap: 0;
           margin: 0; border-top: 2px solid var(--line-strong); }
.spec dt, .spec dd { padding: var(--sp-2) var(--sp-3); border-bottom: 1px solid var(--line-hair);
                     margin: 0; font-size: var(--t-sm); }
.spec dt { color: var(--text-secondary); font-weight: var(--w-med); background: var(--paper-sunken); }
.spec dd { font-variant-numeric: tabular-nums lining-nums; }
.spec .std { font-family: var(--font-mono); font-size: var(--t-xs); color: var(--text-muted);
             display: block; margin-top: var(--sp-1); }

.chain { display: flex; align-items: stretch; gap: var(--sp-4); flex-wrap: wrap; margin: var(--sp-4) 0; }
.chain-stage { flex: 1 1 16rem; border: 1px solid var(--line-hair); border-radius: var(--r);
               padding: var(--sp-4); background: var(--paper-raised); }
.chain-stage b { display: block; font-weight: var(--w-med); font-size: var(--t-sm); }
.chain-stage--x { border-top: 3px solid var(--tape-2); }
.chain-stage--i { border-top: 3px solid var(--tape-5); }
.chain-arrow { align-self: center; color: var(--text-muted); font-size: 1.4rem; }
p .stage-k { display: inline-block; margin: 0 .5em 0 0; }

.shot { margin: var(--sp-5) 0; }
.shot img, .shot video { width: 100%; height: auto; display: block; border-radius: var(--r);
                         background: var(--paper-sunken); object-fit: cover; }
.shot figcaption { margin-top: var(--sp-2); font-size: var(--t-sm); color: var(--text-secondary);
                   max-width: var(--measure); }
.shots { display: grid; gap: var(--sp-4); grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); }
.shots .shot { margin: 0; }

.hero { padding: var(--sp-6) 0 var(--sp-4); }
.hero h1 { font-size: var(--t-3xl); max-width: 20ch; }
.hero-note { background: var(--paper-sunken); border-left: 3px solid var(--accent-500);
             padding: var(--sp-3) var(--sp-4); max-width: var(--measure); font-size: var(--t-sm); }
.cols { display: grid; gap: var(--sp-6); grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
        margin-top: var(--sp-7); padding-top: var(--sp-6); border-top: 1px solid var(--line-hair); }
.cols h2 { margin-top: 0; font-size: var(--t-lg); }
.cols p { font-size: var(--t-sm); }
.cta-band { margin-top: var(--sp-7); padding-top: var(--sp-6); border-top: 1px solid var(--line-hair); }
.btn { display: inline-block; padding: var(--sp-3) var(--sp-5); background: var(--accent-600);
       color: #fff; border-radius: var(--r); text-decoration: none; font-weight: var(--w-med); }
.btn, .btn:visited { color: #fff; }
.btn:hover { background: var(--accent-700); }
@media (prefers-color-scheme: dark) { .btn, .btn:visited { color: var(--ink-900); } }

.rfq { max-width: 34rem; margin: var(--sp-4) 0; }
.rfq .f { margin-bottom: var(--sp-3); }
.rfq label { display: block; font-size: var(--t-sm); color: var(--text-secondary);
             margin-bottom: var(--sp-1); font-weight: var(--w-med); }
.rfq input { width: 100%; padding: var(--sp-2) var(--sp-3); border: 1px solid var(--line);
             border-radius: var(--r); background: var(--paper-raised); color: var(--text-primary);
             font: inherit; font-size: var(--t-sm); }
.rfq button { padding: var(--sp-3) var(--sp-5); border: 0; background: var(--accent-600);
              color: #fff; border-radius: var(--r); font: inherit; font-weight: var(--w-med); cursor: pointer; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.rfq-msg { margin: var(--sp-3) 0 0; padding: var(--sp-3) var(--sp-4); border-radius: var(--r);
           font-size: var(--t-sm); max-width: 34rem; border-left: 3px solid; }
.rfq-msg.is-ok   { background: var(--sig-verified-100); color: var(--sig-verified-700); }
.rfq-msg.is-warn { background: var(--sig-onboard-100);  color: var(--sig-onboard-700); }

.tool { border-top: 1px solid var(--line-hair); padding-top: var(--sp-5); margin-top: var(--sp-6); }
.formula { font-size: var(--t-sm); background: var(--paper-sunken); padding: var(--sp-3) var(--sp-4);
           border-radius: var(--r); line-height: 1.9; max-width: var(--measure); }
ul.plain { padding-left: 1.1rem; max-width: var(--measure); }
ul.plain li { margin: var(--sp-2) 0; }

.markrow { border-top: 1px solid var(--line-hair); padding-top: var(--sp-5); margin-top: var(--sp-6); }
.markrow-h { display: flex; align-items: baseline; gap: var(--sp-3); }
.markrow-h h2 { margin: 0; }
.markrow-h code { font-family: var(--font-mono); font-size: var(--t-xs); color: var(--text-muted); }
.markgrid { display: flex; gap: var(--sp-5); flex-wrap: wrap; align-items: flex-end; margin-top: var(--sp-4); }
.markcell { display: flex; flex-direction: column; gap: var(--sp-2); }
.mk { display: flex; align-items: center; gap: var(--sp-2); min-height: 3.5rem;
      padding: var(--sp-3) var(--sp-4); border: 1px solid var(--line-hair); border-radius: var(--r); }
.mk--lock b { font-weight: var(--w-reg); color: var(--text-muted); }
.markcell--inv .mk { background: var(--ink-900); color: var(--text-on-ink); border-color: var(--ink-900); }

@media (max-width: 44rem) {
  main { padding: var(--sp-5) var(--sp-4) var(--sp-7); }
  header.site nav { margin-left: 0; width: 100%; gap: var(--sp-3); }
  .chain-arrow { transform: rotate(90deg); }
  .stats { gap: var(--sp-5); }
  .spec dl { grid-template-columns: 1fr; }
  .spec dt { border-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

.decision { border: 1px solid var(--line); background: var(--paper-raised); margin: var(--sp-5) 0; }
.decision__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-4); border-bottom: 1px solid var(--line); background: var(--paper-sunken); }
.decision__head span { font-family: var(--font-mono); font-size: var(--t-2xs);
  letter-spacing: .14em; text-transform: uppercase; color: var(--text-muted); }
.decision table { width: 100%; border-collapse: collapse; font-size: var(--t-sm); }
.decision th { text-align: left; font-family: var(--font-mono); font-size: var(--t-2xs);
  letter-spacing: .14em; text-transform: uppercase; color: var(--text-muted); font-weight: var(--w-med);
  padding: var(--sp-2) var(--sp-4); border-bottom: 1px solid var(--line); }
.decision td { padding: var(--sp-2) var(--sp-4); border-bottom: 1px solid var(--line-hair); }
.decision tr:last-child td { border-bottom: 0; }
.decision td.k { color: var(--text-secondary); }
.decision td.v { font-family: var(--font-mono); font-variant-numeric: tabular-nums lining-nums;
  color: var(--text-primary); }
.decision td.t, .decision td.m { font-family: var(--font-mono); font-size: var(--t-xs);
  color: var(--text-muted); }

.decision tbody tr:nth-child(even) { background: var(--paper-sunken); }
.code { font-family: var(--font-mono); color: var(--accent-600); font-size: var(--t-xs);
  letter-spacing: .02em; }

.press { background: #0E1519; color: #F2F0EC; margin: var(--sp-7) 0 0; }

.press__bars { height: 7px; background: linear-gradient(to right,
  var(--tape-1) 0 20%, var(--tape-2) 20% 40%, var(--tape-3) 40% 60%,
  var(--tape-4) 60% 80%, var(--tape-5) 80% 100%); }
.press__in { max-width: var(--shell); margin-inline: auto; padding: var(--sp-7) var(--sp-5); }

@media (min-width: 60rem) {
  .press__body { display: grid; grid-template-columns: 1.05fr .95fr; gap: var(--sp-7); align-items: end; }
  .press__body p { margin-top: 0; }
}
.press__reg { display: flex; gap: var(--sp-2); align-items: center; margin-bottom: var(--sp-4); }
.press__reg em { width: 15px; height: 15px; border: 1.5px solid #8D9198; border-radius: 50%;
  position: relative; flex: none; }
.press__reg em::after { content: ""; position: absolute; inset: 5px; background: #8D9198; border-radius: 50%; }
.press__reg span { font-family: var(--font-mono); font-size: var(--t-2xs); letter-spacing: .2em;
  color: #8D9198; text-transform: uppercase; }
.press h2 { font-size: clamp(1.75rem, 1.2rem + 2.4vw, 2.75rem); font-weight: var(--w-semi);
  letter-spacing: -.045em; line-height: 1.05; max-width: 16ch; margin: 0; color: #F2F0EC; }

.press h2 u { text-decoration: none; color: #3FB6DF; }
.press p { color: #8D9198; font-size: var(--t-sm); max-width: 48ch; margin: var(--sp-3) 0 0; }

.press__row { display: flex; border-top: 1px solid #262A30; flex-wrap: wrap;
  max-width: var(--shell); margin-inline: auto;
  padding-inline: calc(var(--sp-5) - var(--sp-4)); }
.press__row div { flex: 1 1 8rem; padding: var(--sp-3) var(--sp-4); border-right: 1px solid #262A30; }
.press__row div:last-child { border-right: 0; }

@media (max-width: 44rem) {
  .press__row { display: grid; grid-template-columns: 1fr 1fr; }
  .press__row div:nth-child(2n) { border-right: 0; }
}
.press__row b { display: block; font-family: var(--font-mono); font-size: 1.05rem;
  font-variant-numeric: tabular-nums; color: #F2F0EC; }
.press__row span { font-family: var(--font-mono); font-size: 9px; letter-spacing: .14em;
  color: #8D9198; text-transform: uppercase; }

.register { border-top: 1px solid var(--line); margin: var(--sp-5) 0; }
.register__row { display: grid; grid-template-columns: auto 1fr auto; gap: var(--sp-4);
  align-items: center; padding: var(--sp-3) 0; border-bottom: 1px solid var(--line-hair); }
.register__idx { font-family: var(--font-mono); font-size: var(--t-2xs); color: var(--text-muted); }
.register__row b { font-size: var(--t-md); font-weight: var(--w-med); display: block; }
.register__row small { color: var(--text-muted); font-size: var(--t-sm); display: block; }
.register__cert { font-family: var(--font-mono); font-size: var(--t-2xs); letter-spacing: .1em;
  color: var(--accent-600); border: 1px solid var(--accent-600); padding: 3px 7px; white-space: nowrap; }
.register__cert--none { color: var(--text-muted); border-color: var(--line); }
@media (max-width: 44rem) {
  .register__row { grid-template-columns: auto 1fr; }

  .register__cert { grid-column: 2; justify-self: start; white-space: normal; }
}

.verify { border: 1px solid var(--line); background: var(--paper-raised); margin: var(--sp-5) 0; }
.verify dl { display: grid; grid-template-columns: minmax(11rem, 16rem) 1fr; margin: 0; }
.verify dt, .verify dd { padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid var(--line-hair);
  margin: 0; font-size: var(--t-sm); }
.verify dt { background: var(--paper-sunken); color: var(--text-secondary); font-weight: var(--w-med); }
.verify dd .code { display: block; margin-top: var(--sp-1); }
@media (max-width: 44rem) { .verify dl { grid-template-columns: 1fr; } .verify dt { border-bottom: 0; } }

.lk { display: inline-flex; align-items: center; gap: 10px; }

.lk__tile { display: block; color: var(--ink-900); --lk-letter: var(--paper); flex: none; }
@media (prefers-color-scheme: dark) { .lk__tile { color: var(--accent-600); --lk-letter: var(--ink-900); } }
.lk__txt { display: flex; flex-direction: column; line-height: 1.15; }
.lk__txt b { font-size: var(--t-md); font-weight: var(--w-semi); letter-spacing: -.02em; }
.lk__txt i { font-style: normal; font-size: 10px; letter-spacing: .16em; text-transform: uppercase;
             color: var(--text-muted); font-family: var(--font-mono); margin-top: 2px; }
.hero-dark .lk__tile { color: #F2F0EC; --lk-letter: #0E1519; }
.hero-dark .lk__txt b { color: #F2F0EC; }
.hero-dark .lk__txt i { color: rgba(242,240,236,.62); }

header.site { position: sticky; top: 0; z-index: 40; background: color-mix(in srgb, var(--paper) 92%, transparent);
              backdrop-filter: saturate(1.6) blur(10px); -webkit-backdrop-filter: saturate(1.6) blur(10px);
              border-bottom: 1px solid var(--line-hair); max-width: none; padding: 0; }
@supports not (backdrop-filter: blur(1px)) { header.site { background: var(--paper); } }
header.site > * { max-width: var(--shell); }
header.site { display: block; }
header.site .wordmark, header.site nav, header.site .navtoggle { }
header.site { display: flex; gap: var(--sp-4); align-items: center; flex-wrap: wrap;
              padding: var(--sp-3) var(--sp-5); }

header.site { --nav-ctl: 36px; }
header.site nav { align-items: center; }
header.site nav a { display: inline-flex; align-items: center; justify-content: center;
                    min-height: var(--nav-ctl); line-height: 1; padding: 0; }
header.site nav a.cta { min-height: var(--nav-ctl); padding: 0 15px; }
.navphone { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono);
            font-size: var(--t-xs) !important; color: var(--text-secondary) !important; }

header.site nav a.cta { background: var(--accent-600); color: #fff !important;
                        border-radius: var(--r); font-weight: var(--w-med); }
header.site nav a.cta:hover { background: var(--accent-700); text-decoration: none; }
@media (prefers-color-scheme: dark) { header.site nav a.cta { color: var(--ink-900) !important; } }

.navtoggle { display: none; margin-left: auto; background: none; border: 1px solid var(--line);
             border-radius: var(--r); width: 40px; height: 34px; cursor: pointer; padding: 8px 9px; }
.navtoggle span { display: block; height: 1.5px; background: var(--text-primary); margin: 3px 0; }

.navdrop { position: relative; display: inline-flex; }
.navdrop > a { display: inline-flex; align-items: center; gap: .3rem; }
.navdrop__c { transition: transform .15s ease; flex: none; }
.navdrop:hover .navdrop__c, .navdrop:focus-within .navdrop__c { transform: rotate(180deg); }

.navdrop__menu {
  position: absolute; top: 100%; left: -.75rem; z-index: 50;
  min-width: 17rem; width: max-content; max-width: min(32rem, calc(100vw - 2rem));
  padding: var(--sp-2) 0; margin-top: 2px;
  background: var(--paper-raised); border: 1px solid var(--line);
  border-radius: var(--r); box-shadow: 0 6px 24px rgb(0 0 0 / 10%);
  opacity: 0; visibility: hidden; transform: translateY(-3px);
  transition: opacity .12s ease, transform .12s ease, visibility .12s;
}
.navdrop:hover .navdrop__menu, .navdrop:focus-within .navdrop__menu {
  opacity: 1; visibility: visible; transform: none;
}

header.site nav .navdrop__menu a {
  display: flex; justify-content: space-between; gap: var(--sp-4);
  padding: .5rem var(--sp-4); color: var(--text-secondary);
  line-height: var(--lh-snug); min-height: 0;

  white-space: nowrap;
}
header.site nav .navdrop__menu a > .muted { flex: none; }
header.site nav .navdrop__menu a:hover { background: var(--paper-sunken);
  color: var(--text-primary); text-decoration: none; }
@media (prefers-reduced-motion: reduce) {
  .navdrop__menu, .navdrop__c { transition: none; }
}

@media (max-width: 60rem) {
  .navtoggle { display: block; }
  header.site nav { display: none; width: 100%; flex-direction: column; align-items: flex-start;
                    gap: var(--sp-2); padding-top: var(--sp-3); margin-left: 0; }
  header.site nav.open { display: flex; }
  header.site nav a.cta { width: 100%; text-align: center; }

  .navdrop { display: block; width: 100%; }
  .navdrop__c { display: none; }

  .navdrop__menu { position: static; opacity: 1; visibility: visible; transform: none;
    min-width: 0; width: auto; max-width: none;
    margin: var(--sp-1) 0 var(--sp-2); padding: 0 0 0 var(--sp-4);
    background: none; border: none; border-left: 1px solid var(--line-hair);
    border-radius: 0; box-shadow: none; }
  header.site nav .navdrop__menu a { padding: .3rem 0; white-space: normal; }
  header.site nav .navdrop__menu a:hover { background: none; }
}

main.wide { max-width: none; padding: 0; }
main.wide > section:not(.hero-full):not(.press) { max-width: var(--shell); margin-inline: auto;
  padding-inline: var(--sp-5); }
.band { padding-block: var(--sp-6); }

.hero-full { position: relative; min-height: 82vh; display: flex; flex-direction: column;
             justify-content: flex-end; overflow: hidden; background: #090E12;
             border-bottom: 3px solid transparent;
             border-image: linear-gradient(to right, var(--tape-1) 0 20%, var(--tape-2) 20% 40%,
               var(--tape-3) 40% 60%, var(--tape-4) 60% 80%, var(--tape-5) 80% 100%) 1; }
.hero-full__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
                 object-position: center 42%; }

.hero-full__bg { filter: saturate(.72) contrast(1.12) brightness(.82) hue-rotate(-4deg); }
.hero-full__scrim { position: absolute; inset: 0;
  background:
    linear-gradient(105deg, rgba(9,14,18,.94) 0%, rgba(9,14,18,.72) 42%, rgba(9,14,18,.42) 78%, rgba(9,14,18,.55) 100%),
    linear-gradient(180deg, rgba(9,14,18,.55) 0%, rgba(9,14,18,.2) 40%, rgba(9,14,18,.9) 100%); }
.hero-full__vig { position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(120% 85% at 42% 45%, rgba(0,0,0,0) 38%, rgba(0,0,0,.42) 100%); }
.hero-full__in { position: relative; z-index: 2; }
.hero-full__strip { position: relative; z-index: 2;
  background: linear-gradient(180deg, rgba(9,14,18,0), rgba(9,14,18,.5)); }
.hero-full__in { position: relative; max-width: var(--shell); margin-inline: auto; width: 100%;
                 padding: var(--sp-8) var(--sp-5) var(--sp-6); }
.hero-full h1 { font-size: clamp(2.5rem, 1.5rem + 4.2vw, 4.5rem); font-weight: var(--w-semi);
                letter-spacing: -.04em; line-height: .98; color: #FBFBFA; max-width: 15ch;
                margin: var(--sp-4) 0 var(--sp-4);
                text-shadow: 0 2px 30px rgba(0,0,0,.5); }

:lang(zh) .hero-full h1 { line-height: 1.15; letter-spacing: 0; }
.hero-full__sub { color: rgba(242,240,236,.82); font-size: var(--t-md); max-width: 60ch;
                  margin: 0 0 var(--sp-5); }
.hero-full__cta { display: flex; gap: var(--sp-3); flex-wrap: wrap; margin: 0; }
.pill { display: inline-flex; align-items: center; gap: 9px; max-width: 100%; border: 1px solid rgba(242,240,236,.28);
        border-radius: 100px; padding: 6px 14px; font-family: var(--font-mono);
        font-size: var(--t-2xs); letter-spacing: .12em; text-transform: uppercase;
        color: rgba(242,240,236,.86); margin: 0; line-height: 1.5; }
.pill__dot { align-self: center; }
.pill__dot { width: 6px; height: 6px; border-radius: 50%; background: #00A3D9; flex: none; }
.hero-full__strip { position: relative; display: flex; flex-wrap: wrap;
  border-top: 1px solid rgba(242,240,236,.16); max-width: var(--shell); margin-inline: auto;
  width: 100%; padding-inline: var(--sp-5); }
.hero-full__strip div { flex: 1 1 9rem; padding: var(--sp-4) var(--sp-4) var(--sp-4) 0; }
.hero-full__strip b { display: block; font-size: 1.5rem; font-weight: var(--w-semi); color: #F2F0EC;
                      font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.hero-full__strip span { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .14em;
                         text-transform: uppercase; color: rgba(242,240,236,.6); }

.btn--lg { padding: var(--sp-3) var(--sp-5); font-size: var(--t-base); }
.btn--ghost { background: transparent; border: 1px solid rgba(242,240,236,.4); color: #F2F0EC; }
.btn--ghost:hover { background: rgba(242,240,236,.1); }
.hero-full .btn--ghost, .hero-full .btn--ghost:visited { color: #F2F0EC; border-color: rgba(242,240,236,.45); }
.hero-full .btn--ghost:hover { background: rgba(242,240,236,.14); color: #F2F0EC; }
.cta-band--big .btn--ghost, .cta-band--big .btn--ghost:visited { border-color: var(--line);
  color: var(--text-primary); background: transparent; }
.cta-band--big .btn--ghost:hover { background: var(--paper-raised); }
.cta-band--big { background: var(--paper-sunken); padding: var(--sp-7) var(--sp-5);
                 margin-top: var(--sp-8); border-top: 1px solid var(--line-hair); }
.cta-band--big h2 { margin-top: 0; }

.fam-grid-wrap { padding-block: var(--sp-7); }
.fam-grid { display: grid; gap: var(--sp-4); margin-top: var(--sp-5);
            grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); }
.fam-card { display: block; text-decoration: none; color: inherit; border: 1px solid var(--line-hair);
            border-radius: var(--r); overflow: hidden; background: var(--paper-raised);
            transition: border-color .15s ease, transform .15s ease; }
.fam-card:hover { border-color: var(--accent-500); transform: translateY(-2px); }
.fam-card img, .fam-card__none { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover;
                                 background: var(--paper-sunken); }
.fam-card__b { display: block; padding: var(--sp-3) var(--sp-4); }
.fam-card__b b { display: block; font-weight: var(--w-med); margin-bottom: 2px; }

@media (max-width: 44rem) {
  .hero-full { min-height: 68vh; }
  .hero-full__in { padding: var(--sp-7) var(--sp-4) var(--sp-5); }
  .hero-full__strip { padding-inline: var(--sp-4); }
  .hero-full__strip div { flex: 1 1 45%; }
  .hero-full__cta .btn { width: 100%; text-align: center; }
}

.fab { position: fixed; right: 18px; bottom: 18px; z-index: 50; display: inline-flex; gap: 9px;
       align-items: center; background: var(--accent-600); color: #fff; padding: 12px 18px;
       border-radius: 100px; text-decoration: none; font-size: var(--t-sm); font-weight: var(--w-med);
       box-shadow: 0 6px 22px rgba(0,0,0,.22); }
.fab:hover { background: var(--accent-700); color: #fff; }
.fab:visited { color: #fff; }
@media (prefers-color-scheme: dark) { .fab, .fab:visited, .fab:hover { color: var(--ink-900); } }
@media (max-width: 44rem) { .fab span { display: none; } .fab { padding: 14px; } }

.footgrid { display: grid; gap: var(--sp-5); grid-template-columns: 1.6fr repeat(4, 1fr);
            margin-bottom: var(--sp-5); }
.footgrid h3 { font-size: var(--t-2xs); text-transform: uppercase; letter-spacing: var(--tr-label);
               color: var(--text-muted); margin: 0 0 var(--sp-3); font-weight: var(--w-med); }
.footgrid a { display: block; color: var(--text-secondary); text-decoration: none;
              font-size: var(--t-sm); padding: 3px 0; }
.footgrid a:hover { color: var(--text-primary); text-decoration: underline; }
.footgrid .wordmark { display: inline-flex; }

.social { margin: var(--sp-3) 0 0; }
.social a, .social__link { display: inline-flex; align-items: center; gap: .5rem;
  color: var(--text-secondary); text-decoration: none; }
.social a { padding: .4rem .7rem .4rem .55rem; border: 1px solid var(--line-hair);
  border-radius: var(--r); font-size: var(--t-sm); font-weight: var(--w-med); }
.social a:hover, .social a:focus-visible { color: var(--link); border-color: currentColor;
  text-decoration: none; }
.social svg, .social__link svg { flex: none; }
.social__link:hover svg { color: var(--link); }
@media (max-width: 60rem) { .footgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 44rem) { .footgrid { grid-template-columns: 1fr; } }

@media (prefers-color-scheme: dark) {
  .rfq button, .fab, .fab:visited, .fab:hover,
  header.site nav a.cta { color: var(--ink-900) !important; }
  .rfq input::placeholder { color: var(--text-muted); opacity: 1; }
}
.rfq input::placeholder { color: var(--text-muted); opacity: 1; }

.shot--inline img { max-height: 15rem; object-position: center 55%; }
@media (min-width: 60rem) {
  .prod-top { display: grid; grid-template-columns: 1.15fr .85fr; gap: var(--sp-5); align-items: start; }
  .prod-top .shot { margin: 0; }
  .prod-top .shot img { max-height: 13rem; }
}

.footgrid { grid-template-columns: 1.7fr repeat(3, 1fr); gap: var(--sp-6) var(--sp-5); }
.footnote { font-size: var(--t-xs); color: var(--text-muted); max-width: 72ch; margin: 0 0 var(--sp-2); }
footer.site { padding-block: var(--sp-6); }
address.small { font-style: normal; line-height: 1.85; margin: var(--sp-3) 0; }
@media (max-width: 60rem) { .footgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 44rem) { .footgrid { grid-template-columns: 1fr; gap: var(--sp-5); } }

.fab--wa { background: #25D366; color: #0B1F14; }
.fab--wa:hover { background: #1FBE5A; color: #0B1F14; }
.fab--wa:visited { color: #0B1F14; }
@media (prefers-color-scheme: dark) { .fab--wa, .fab--wa:visited, .fab--wa:hover { color: #0B1F14 !important; } }

.shot img, .fam-card img { filter: saturate(1.08) contrast(1.05) brightness(1.02); }

.shot, .fam-card img { position: relative; }
.shot img, .fam-card img { box-shadow: inset 0 -60px 60px -60px rgba(14,21,25,.35); }
.fam-card img { transition: transform .35s cubic-bezier(.2,.6,.2,1), filter .35s ease; }
.fam-card:hover img { transform: scale(1.03); filter: saturate(1.14) contrast(1.07) brightness(1.03); }
.fam-card { overflow: hidden; }

.fam-card__dia { position: relative; display: block; width: 100%; aspect-ratio: 16/10;
  background: linear-gradient(0deg, var(--paper-sunken) 0%, var(--paper-raised) 100%);
  overflow: hidden; }
.fam-card__dia svg { display: block; width: 100%; height: 100%; }
.fam-card__diacap { position: absolute; left: var(--sp-3); bottom: var(--sp-3);
  font-family: var(--font-mono); font-size: var(--t-2xs); letter-spacing: .1em;
  text-transform: uppercase; color: var(--text-muted);
  background: var(--paper); padding: 4px 8px; border-radius: var(--r);
  border: 1px solid var(--line); }

.fam-card:hover .fam-card__dia { background: var(--paper-raised); }

.fam-card__none { display: flex; align-items: center; justify-content: center; width: 100%;
  aspect-ratio: 16/10; background:
    repeating-linear-gradient(135deg, var(--paper-sunken) 0 10px, var(--paper-raised) 10px 20px); }
.fam-card__none span { font-family: var(--font-mono); font-size: var(--t-2xs); letter-spacing: .1em;
  text-transform: uppercase; color: var(--text-muted); background: var(--paper);
  padding: 5px 10px; border-radius: var(--r); }

.shot--lead img { max-height: 26rem; }
.gallery { display: grid; gap: var(--sp-3); margin: var(--sp-4) 0 var(--sp-6);
           grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.gallery .shot { margin: 0; }
.gallery .shot img { aspect-ratio: 4/3; object-fit: cover; }
.gallery .shot:nth-child(3n+1) .shot img, .gallery .shot:first-child img { aspect-ratio: 3/2; }
.gallery figcaption { font-size: var(--t-xs); }
.gallery--2 { grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); }

.pagehead { padding-block: var(--sp-5) var(--sp-4); }
.statband { display: flex; flex-wrap: wrap; gap: 1px; background: var(--line-hair);
            border-block: 1px solid var(--line-hair); margin: var(--sp-5) 0; }
.statband div { flex: 1 1 10rem; background: var(--paper); padding: var(--sp-4); }
.statband b { display: block; font-size: 1.6rem; font-weight: var(--w-semi); letter-spacing: -.025em;
              font-variant-numeric: tabular-nums; }
.statband span { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .14em;
                 text-transform: uppercase; color: var(--text-muted); }
.two-col { display: grid; gap: var(--sp-6); grid-template-columns: 1fr 1fr; align-items: start;
           margin: var(--sp-6) 0; }
.two-col h2 { margin-top: 0; }
.chain--stacked { flex-direction: column; }
.chain--stacked .chain-arrow { transform: rotate(90deg); align-self: flex-start; margin-left: 2rem; }
@media (max-width: 52rem) { .two-col { grid-template-columns: 1fr; } }

.register__scope { display: block; margin-top: 2px; font-family: var(--font-mono);
  font-size: var(--t-2xs); letter-spacing: .04em; color: var(--text-muted); text-transform: none; }

.tnum { white-space: nowrap; }

.cat-find[data-enhanced="no"] { display: none; }
.cat-find { display: grid; grid-template-columns: 1fr auto; gap: var(--sp-2) var(--sp-3);
  align-items: center; margin: 0 0 var(--sp-5); }
.cat-find__l { grid-column: 1 / -1; font-family: var(--font-mono); font-size: var(--t-2xs);
  letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); }
.cat-find input {
  width: 100%; font: inherit; font-size: var(--t-md); color: var(--text-primary);
  background: var(--paper-raised); border: 1px solid var(--line);
  border-radius: var(--r); padding: var(--sp-3) var(--sp-4);

  text-overflow: ellipsis; }
.cat-find input::placeholder { color: var(--text-muted); }
.cat-find input:focus-visible { border-color: var(--accent-500); }
.cat-find__x { font: inherit; font-size: var(--t-sm); cursor: pointer;
  background: none; border: 1px solid var(--line); border-radius: var(--r);
  padding: var(--sp-2) var(--sp-3); color: var(--text-secondary); }
.cat-find__x:hover { border-color: var(--line-strong); color: var(--text-primary); }

.cat-find__n { grid-column: 1 / -1; margin: 0; min-height: 1.2em;
  font-family: var(--font-mono); font-size: var(--t-2xs); letter-spacing: .08em;
  color: var(--text-muted); font-variant-numeric: tabular-nums; }
.cat-find__none { margin-top: var(--sp-5); padding: var(--sp-4);
  border: 1px solid var(--line); border-radius: var(--r); background: var(--paper-sunken);
  color: var(--text-secondary); }
@media (max-width: 44rem) {
  .cat-find { grid-template-columns: 1fr; }
  .cat-find__x { justify-self: start; }
}

.register__proc { display: block; margin-top: 3px; font-size: var(--t-sm);
  color: var(--text-muted); line-height: 1.5; }

.famnav { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin: var(--sp-5) 0; }
.famnav a { display: inline-flex; align-items: baseline; gap: .4rem;
  padding: .35rem .7rem; border: 1px solid var(--line-hair); border-radius: var(--r);
  font-size: var(--t-sm); color: var(--text-secondary); text-decoration: none; }
.famnav a:hover { color: var(--link); border-color: currentColor; }

.famgrid { list-style: none; margin: var(--sp-5) 0; padding: 0; display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: var(--sp-3); }
.famgrid a { display: block; height: 100%; padding: var(--sp-4);
  border: 1px solid var(--line-hair); border-radius: var(--r); text-decoration: none;
  color: inherit; }
.famgrid a:hover { border-color: var(--link); }
.famgrid strong { display: block; margin-bottom: .25rem; }
.famgrid span { display: block; }

.fam { margin: var(--sp-7) 0 0; scroll-margin-top: 5rem; }
.fam__h { border-bottom: 1px solid var(--line-hair); padding-bottom: var(--sp-2);
  margin-bottom: var(--sp-4); }
.fam__h h2 { margin: 0 0 .15rem; }
.fam__h p { margin: 0; }

.cards { list-style: none; margin: 0; padding: 0; display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: var(--sp-3); }
.card { display: flex; flex-direction: column; gap: .3rem; padding: var(--sp-3) var(--sp-4);
  border: 1px solid var(--line-hair); border-radius: var(--r); }
.card a { text-decoration: none; color: inherit; }
.card a:hover strong { color: var(--link); text-decoration: underline; }
.card__f { margin-top: auto; padding-top: .4rem; }

a.card { text-decoration: none; color: inherit; background: var(--paper-raised);
  transition: border-color .15s ease, transform .15s ease; }
a.card:hover { border-color: var(--accent-500); transform: translateY(-2px); }
a.card > h2 { font-size: var(--t-lg); line-height: var(--lh-snug); margin: 0; }
a.card:hover > h2 { color: var(--link); }
a.card > p { margin: 0; }

.calc { display: grid; grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr)); gap: var(--sp-3);
        align-items: end; max-width: 34rem; margin: var(--sp-4) 0; padding: var(--sp-4);
        border: 1px solid var(--line-hair); border-radius: var(--r); background: var(--paper-raised); }
.calc label { display: block; font-size: var(--t-xs); color: var(--text-secondary);
              margin-bottom: var(--sp-1); font-weight: var(--w-med); }
.calc input { width: 100%; padding: var(--sp-2) var(--sp-3); border: 1px solid var(--line);
              border-radius: var(--r); background: var(--paper); color: var(--text-primary);
              font: inherit; font-size: var(--t-sm); }
.calc__out { grid-column: 1 / -1; margin: 0; font-size: var(--t-sm); color: var(--text-secondary); }
.calc__out b { color: var(--text-primary); }
