/* ═══════════════════════════════════════════════════════════════
   量子平流 QuantStrato · 官网样式
   设计语言：Swiss Editorial（浅色纸面）+ Charcoal Minimalist（深色）
   默认浅色；html.dark 覆盖为深色。全部颜色走变量，切换零闪烁。
   无外部资源：字体用系统栈，图标全部内联 SVG。
   ═══════════════════════════════════════════════════════════════ */

/* ── 浅色（默认）── */
:root{
  --bg:        #F8F9FA;
  --surface:   #FFFFFF;   /* 卡片 */
  --surface-2: #F3F4F6;   /* 嵌套控件 / 次级块 */
  --recess:    #F3F4F6;

  --line:      #E5E7EB;   /* 主结构线 */
  --line-soft: #F1F3F5;   /* 弱分隔线 */

  --ink:       #111827;
  --ink-2:     #4B5563;
  --mute:      #5F6773;
  --dim:       #6B7280;

  --accent:        #B45309;  /* 琥珀，用于文字/链接 */
  --accent-strong: #D97706;  /* 琥珀，用于圆点/图标 */
  --accent-2:      #0F766E;  /* 青，次级状态 */

  --btn-bg:      #111827;
  --btn-fg:      #FFFFFF;
  --btn-bg-hover:#1F2937;

  --ok:        #047857;
  --ok-bg:     #ECFDF5;
  --ok-line:   rgba(4,120,87,.28);

  --hover:     #FAFBFC;
  --band:      #FFFFFF;
  --hdr-bg:      rgba(248,249,250,.90);
  --hdr-bg-solid:rgba(248,249,250,.97);

  /* 终端始终是深色（隐喻），不随主题变 */
  --term-bg:   #0C0E12;
  --term-line: #1F2531;
  --term-ink:  #EDEFEF;
  --term-dim:  #6B7488;

  --shadow-sm: 0 1px 2px rgba(15,23,42,.05);
  --shadow-md: 0 10px 30px -18px rgba(15,23,42,.25);

  --sans: "Geist","Inter",-apple-system,"SF Pro Text","Segoe UI","PingFang SC",
          "HarmonyOS Sans SC","MiSans","Noto Sans SC","Microsoft YaHei",sans-serif;
  --mono: "JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,
          "Liberation Mono",monospace;

  --wrap: 1440px;
  --pad: 32px;
  --hdr: 64px;
  --r-sm: 4px;
  --r-lg: 8px;
  --ease: cubic-bezier(.2,.7,.3,1);
}

/* ── 深色 ── */
html.dark{
  --bg:        #0C0E12;
  --surface:   #12151B;
  --surface-2: #161A22;
  --recess:    #0A0D11;

  --line:      #1F2531;
  --line-soft: #181D26;

  --ink:       #EDEFEF;
  --ink-2:     #9BA3B4;
  --mute:      #8A93A5;
  --dim:       #5E6677;

  --accent:        #F59E0B;
  --accent-strong: #FBBF24;
  --accent-2:      #2DD4BF;

  --btn-bg:      #F0F2F5;
  --btn-fg:      #0C0E12;
  --btn-bg-hover:#FFFFFF;

  --ok:        #34D399;
  --ok-bg:     rgba(52,211,153,.08);
  --ok-line:   rgba(52,211,153,.3);

  --hover:     #141922;
  --band:      #080A0E;
  --hdr-bg:      rgba(12,14,18,.90);
  --hdr-bg-solid:rgba(12,14,18,.97);

  --term-bg:   #080A0E;
  --term-line: #1C222C;
  --term-ink:  #EDEFEF;
  --term-dim:  #5E6677;

  --shadow-sm: none;
  --shadow-md: 0 20px 40px -20px rgba(0,0,0,.7);
}

html.dark{ color-scheme:dark; }
html:not(.dark){ color-scheme:light; }

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:14px;
  line-height:22px;
  letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  transition:background-color .28s var(--ease), color .28s var(--ease);
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
b{ font-weight:600; }
code{ font-family:var(--mono); font-size:.94em; }
::selection{ background:var(--accent-strong); color:#fff; }
html.dark ::selection{ background:var(--accent-strong); color:#0C0E12; }

:focus-visible{ outline:2px solid var(--accent-strong); outline-offset:2px; }

.skip{
  position:fixed; top:-60px; left:16px; z-index:200;
  background:var(--btn-bg); color:var(--btn-fg); font:500 13px/1 var(--sans);
  padding:10px 16px; border-radius:var(--r-sm);
  transition:top .2s var(--ease);
}
.skip:focus{ top:12px; }

.wrap{ width:min(var(--wrap),100%); margin-inline:auto; padding-inline:var(--pad); }

/* ── 排版 ── */
.mono{ font-family:var(--mono); font-size:12px; line-height:16px; letter-spacing:0; }
.label{
  font-size:10px; line-height:12px; letter-spacing:.09em;
  text-transform:uppercase; color:var(--dim); font-weight:600;
}
.dim{ color:var(--dim); }
.accent-indigo{ color:var(--accent); }
.accent-cyan{ color:var(--accent-2); }
.accent-amber{ color:var(--accent); }
.ok{ color:var(--ok); }

.display{ margin:0; font-size:56px; line-height:64px; font-weight:600; letter-spacing:-.03em; }
.slash{ color:var(--line); font-weight:300; }
.lede{
  margin:12px 0 0; font-size:36px; line-height:44px; font-weight:600;
  letter-spacing:-.025em; color:var(--accent); max-width:52ch;
}
.h2{ margin:12px 0 0; font-size:36px; line-height:44px; font-weight:600; letter-spacing:-.025em; }
.h3{ margin:0 0 12px; font-size:24px; line-height:32px; font-weight:500; letter-spacing:-.02em; }
.h4{ margin:0 0 8px; font-size:18px; line-height:26px; font-weight:500; letter-spacing:-.01em; }
.body-lg{ margin:0; font-size:16px; line-height:26px; letter-spacing:-.01em; color:var(--ink-2); }
.body-lg b{ color:var(--ink); }

/* ── 按钮 ── */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:36px; padding:0 14px; border-radius:var(--r-sm);
  font:500 13px/1 var(--sans); letter-spacing:-.01em;
  border:1px solid transparent; cursor:pointer;
  transition:background .18s var(--ease), border-color .18s var(--ease),
             color .18s var(--ease), transform .12s var(--ease);
}
.btn:active{ transform:translateY(1px); }
.btn-sm{ height:32px; padding:0 12px; font-size:12px; }
.btn-primary{
  background:var(--btn-bg); color:var(--btn-fg); border-color:var(--btn-bg);
}
.btn-primary:hover{ background:var(--btn-bg-hover); border-color:var(--btn-bg-hover); }
.btn-ghost{
  background:var(--surface); color:var(--ink-2); border-color:var(--line);
}
.btn-ghost:hover{ border-color:var(--mute); color:var(--ink); }

/* ── 顶栏 ── */
.hdr{
  position:fixed; inset:0 0 auto 0; z-index:100;
  background:var(--hdr-bg);
  -webkit-backdrop-filter:blur(14px) saturate(1.15);
  backdrop-filter:blur(14px) saturate(1.15);
  border-bottom:1px solid var(--line-soft);
  transition:background-color .25s var(--ease), border-color .25s var(--ease);
}
.hdr.scrolled{ background:var(--hdr-bg-solid); border-bottom-color:var(--line); }
.hdr-in{
  max-width:var(--wrap); margin-inline:auto; padding-inline:var(--pad);
  height:var(--hdr); display:flex; align-items:center; gap:14px;
}

.brand{ display:inline-flex; align-items:center; gap:10px; flex:none; }
.brand-mark{
  width:32px; height:32px; border-radius:var(--r-sm);
  display:grid; place-items:center; flex:none;
  background:var(--surface-2); border:1px solid var(--line); color:var(--accent-strong);
  transition:border-color .18s var(--ease);
}
.brand:hover .brand-mark{ border-color:var(--accent-strong); }
.brand-name{ display:flex; flex-direction:column; line-height:1.1; }
.brand-en{ font:600 15px/18px var(--sans); letter-spacing:-.02em; }
.brand-zh{ font:400 11px/14px var(--mono); color:var(--dim); letter-spacing:.02em; }

.sysbar{
  display:none; align-items:center; gap:6px;
  padding:4px 8px; border-radius:var(--r-sm);
  background:var(--surface); border:1px solid var(--line);
  font:400 11px/14px var(--mono); color:var(--dim);
}
.sys-online{ color:var(--accent-2); font-weight:500; }
.sys-sep{ color:var(--line); }

.nav{ display:none; margin-left:auto; align-items:center; gap:2px; }
.nav a{
  padding:6px 10px; border-radius:var(--r-sm);
  font-size:13px; color:var(--mute);
  transition:color .16s var(--ease), background .16s var(--ease);
}
.nav a:hover{ color:var(--ink); background:var(--surface-2); }
.nav a.is-active{ color:var(--accent); background:var(--surface-2); font-weight:500; }
.nav-ext{ display:inline-flex; align-items:center; gap:4px; }
.nav-ext svg{ opacity:.65; }

.hdr-act{ display:flex; align-items:center; gap:8px; margin-left:auto; }
.nav + .hdr-act{ margin-left:0; }

/* 深浅切换 */
.theme-toggle{
  display:inline-flex; align-items:center; gap:6px;
  height:32px; padding:0 10px; border-radius:var(--r-sm);
  background:var(--surface); border:1px solid var(--line);
  color:var(--ink-2); font:400 11px/1 var(--mono); letter-spacing:.02em;
  cursor:pointer;
  transition:border-color .18s var(--ease), color .18s var(--ease), background .18s var(--ease);
}
.theme-toggle:hover{ border-color:var(--mute); color:var(--ink); }
.theme-toggle .ic-sun{ display:block; color:var(--accent-strong); }
.theme-toggle .ic-moon{ display:none; color:var(--accent); }
html.dark .theme-toggle .ic-sun{ display:none; }
html.dark .theme-toggle .ic-moon{ display:block; }
@media (max-width:639px){ .theme-toggle .tt-label{ display:none; } .theme-toggle{ padding:0 8px; } }

.hdr-menu{
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:var(--r-sm);
  background:var(--surface); border:1px solid var(--line); color:var(--ink-2);
  cursor:pointer;
}
.hdr-menu .ic-close{ display:none; }
.hdr-menu[aria-expanded="true"] .ic-open{ display:none; }
.hdr-menu[aria-expanded="true"] .ic-close{ display:block; }

.mmenu{
  position:fixed; top:var(--hdr); left:0; right:0; z-index:99;
  background:var(--bg); border-bottom:1px solid var(--line);
  padding:8px var(--pad) 20px;
  box-shadow:var(--shadow-md);
}
.mmenu[hidden]{ display:none; }
.mmenu nav{ display:flex; flex-direction:column; }
.mmenu nav a{
  padding:14px 2px; font-size:15px; color:var(--ink-2);
  border-bottom:1px solid var(--line-soft);
}
.mmenu nav a:hover{ color:var(--accent); }
.mmenu .m-cta{ margin-top:16px; border-bottom:0; color:var(--btn-fg); }
.mmenu .m-github{ color:var(--mute); }

@media (min-width:900px){ .sysbar{ display:inline-flex; } }
@media (min-width:1080px){ .nav{ display:flex; } .hdr-menu{ display:none; } }
@media (max-width:1079px){ .hdr-act .btn-sm{ display:none; } }

/* ── 区块 ── */
main{ padding-top:var(--hdr); }
.sec{ padding:80px 0; border-top:1px solid var(--line-soft); scroll-margin-top:var(--hdr); }
.sec:first-child{ border-top:0; }
.sec-alt{ background:var(--band); }
.hero{ padding-top:56px; padding-bottom:0; }

.sec-head{ max-width:720px; margin-bottom:40px; }
.sec-sub{ margin:12px 0 0; font-size:15px; line-height:24px; color:var(--mute); }

.reveal{ opacity:0; transform:translateY(10px); }
.reveal.in{ opacity:1; transform:none; transition:opacity .5s var(--ease), transform .5s var(--ease); }
.reveal.d1.in{ transition-delay:.06s; }
.reveal.d2.in{ transition-delay:.12s; }
.reveal.d3.in{ transition-delay:.18s; }

.statusrow{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:28px; }
.pill{
  display:inline-flex; align-items:center; gap:8px;
  height:28px; padding:0 12px; border-radius:999px;
  background:var(--surface-2); border:1px solid var(--line);
  font:400 11px/1 var(--mono);
}
.pill-quiet{ background:var(--surface); color:var(--dim); }
.dot{ width:6px; height:6px; border-radius:50%; flex:none; }
.dot-indigo{ background:var(--accent-strong); }
.dot-cyan{ background:var(--accent-2); animation:pulse 2.6s ease-in-out infinite; }
.dot-amber{ background:var(--accent-strong); }
@keyframes pulse{ 0%,100%{opacity:1} 50%{opacity:.4} }

/* ── Hero ── */
.hero-grid{ display:grid; grid-template-columns:1fr; gap:24px; padding:32px 0 40px; }
.hero-copy{ display:flex; flex-direction:column; gap:18px; }
.tags{ display:flex; flex-wrap:wrap; gap:6px; }
.tag{ padding:3px 8px; border-radius:var(--r-sm); background:var(--surface-2); color:var(--mute); }
.hero-side{ display:flex; flex-direction:column; gap:8px; }

.gateway{
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:16px; box-shadow:var(--shadow-sm);
}
.gateway-hd{ display:flex; align-items:center; justify-content:space-between; padding-bottom:8px; }
.gateway-actions{ display:flex; flex-direction:column; gap:8px; margin-top:8px; }
.gateway-actions .btn{ width:100%; height:40px; }

.cli{
  background:var(--surface-2); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:10px 12px;
}
.cli-hd{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.cli-copy{
  background:transparent; border:1px solid var(--line); color:var(--mute);
  border-radius:3px; padding:2px 7px; font-size:10px; letter-spacing:.06em;
  cursor:pointer; transition:color .16s var(--ease), border-color .16s var(--ease);
}
.cli-copy:hover{ color:var(--ink); border-color:var(--mute); }
.cli-copy.done{ color:var(--ok); border-color:var(--ok); }
.cli code{ display:block; color:var(--ink); white-space:nowrap; overflow-x:auto; padding-bottom:2px; }
.cli .p{ color:var(--accent); }
.cli .cm{ color:var(--dim); }

/* ── 指标 ── */
.metrics{ display:grid; grid-template-columns:1fr; gap:12px; padding-bottom:80px; }
.metric{
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:16px;
  display:flex; flex-direction:column; gap:10px;
  box-shadow:var(--shadow-sm);
  transition:border-color .2s var(--ease), background .2s var(--ease);
}
.metric:hover{ border-color:var(--mute); }
.metric-hd{ display:flex; align-items:center; justify-content:space-between; }
.metric-v{ display:flex; align-items:baseline; gap:8px; }
.metric-v b{
  font-family:var(--sans); font-size:34px; line-height:38px; font-weight:600;
  letter-spacing:-.035em; font-variant-numeric:tabular-nums;
}
.metric .unit{ color:var(--dim); font-size:10px; letter-spacing:.06em; }
.metric p{ margin:0; font-size:12px; line-height:18px; color:var(--mute); }

/* ── 工作室 ── */
.studio-grid{ display:grid; grid-template-columns:1fr; gap:24px; }
.studio-copy p{ margin:0 0 14px; font-size:14.5px; line-height:24px; color:var(--ink-2); }
.studio-copy code{ background:var(--surface-2); padding:1px 5px; border-radius:3px; color:var(--accent); }
.quote{
  margin:20px 0; padding:14px 0 14px 16px;
  border-left:2px solid var(--accent-strong);
  font-size:15px; line-height:24px; color:var(--ink);
}
.quote cite{ display:block; margin-top:6px; font-style:normal; color:var(--dim); font-size:11px; }
.chips{ display:flex; flex-wrap:wrap; gap:6px; }
.chip{
  padding:3px 8px; border-radius:3px;
  background:var(--surface-2); border:1px solid var(--line);
  color:var(--mute); font-size:11px; line-height:16px;
}
.chip-ok{ color:var(--ok); border-color:var(--ok-line); background:var(--ok-bg); }

/* ── 终端（始终深色）── */
.term{
  background:var(--term-bg); border:1px solid var(--term-line);
  border-radius:var(--r-lg); overflow:hidden; align-self:start;
  box-shadow:var(--shadow-md);
}
.term-hd{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 14px; border-bottom:1px solid var(--term-line);
}
.term-hd .mono{ color:var(--term-dim); }
.term-body{ padding:14px; display:flex; flex-direction:column; gap:4px; }
.t-line{
  margin:0; font-size:12px; line-height:18px; color:var(--term-ink);
  opacity:0; transform:translateY(3px);
}
.t-line.show{ opacity:1; transform:none; transition:opacity .25s var(--ease), transform .25s var(--ease); }
.t-line .p{ color:#A5B4FC; }
.t-line.dim{ color:var(--term-dim); }
.t-line.ok{ color:#34D399; }
.cursor{
  display:inline-block; width:7px; height:13px; vertical-align:-2px;
  background:#A5B4FC; animation:blink 1.1s steps(1) infinite;
}
@keyframes blink{ 0%,49%{opacity:1} 50%,100%{opacity:0} }

/* ── 产品 ── */
.products{ display:grid; grid-template-columns:1fr; gap:12px; }
.prod-main{
  position:relative; background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm);
  transition:border-color .2s var(--ease);
}
.prod-main:hover{ border-color:var(--mute); }
.prod-hd{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:12px 16px; border-bottom:1px solid var(--line);
  background:var(--surface-2);
}
.prod-tags{ display:flex; gap:6px; flex-wrap:wrap; }
.prod-body{ padding:20px 16px; display:flex; flex-direction:column; gap:16px; }
.prod-id{ display:flex; align-items:center; gap:14px; }
.prod-id img{ border-radius:12px; border:1px solid var(--line); }
.prod-name{ margin:0 0 4px; font-size:22px; line-height:28px; font-weight:600; letter-spacing:-.02em; }
.prod-name .mono{ font-size:13px; color:var(--mute); font-weight:400; letter-spacing:0; }
.prod-desc{ margin:0; font-size:14px; line-height:23px; color:var(--ink-2); max-width:60ch; }
.prod-facts{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.prod-facts li{
  display:grid; grid-template-columns:88px 1fr; gap:12px;
  padding:8px 0; border-top:1px solid var(--line-soft);
  font-size:13px; line-height:20px; color:var(--ink-2);
}
.prod-actions{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding-top:4px; }
.prod-visual{ position:absolute; right:14px; top:64px; opacity:.95; pointer-events:none; }
.prod-visual img{ filter:drop-shadow(0 10px 20px rgba(15,23,42,.18)); }
html.dark .prod-visual img{ filter:drop-shadow(0 12px 24px rgba(0,0,0,.6)); }

.prod-side{
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:16px;
  display:flex; flex-direction:column; gap:8px;
  box-shadow:var(--shadow-sm);
  transition:border-color .2s var(--ease), background .2s var(--ease);
}
.prod-side:hover{ border-color:var(--mute); }
.prod-side .prod-hd{ padding:0 0 8px; border-bottom:1px solid var(--line-soft); background:transparent; }
.prod-side h3{ margin:4px 0 0; }
.prod-side p{ margin:0; font-size:13.5px; line-height:22px; color:var(--mute); }
.prod-side p.mono{ color:var(--dim); font-size:11px; }

/* ── 信条 ── */
.creed{ display:grid; grid-template-columns:1fr; border-top:1px solid var(--line); }
.creed-item{ padding:24px 0; border-bottom:1px solid var(--line-soft); }
.creed-no{ display:block; margin-bottom:10px; color:var(--dim); font-size:10px; letter-spacing:.09em; }
.creed-item h3{ margin:0 0 8px; }
.creed-item p{ margin:0; font-size:13.5px; line-height:22px; color:var(--mute); }

/* ── 规格表 ── */
.spec{ margin-top:40px; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; background:var(--surface); }
.spec-hd{ padding:10px 16px; background:var(--surface-2); border-bottom:1px solid var(--line); }
.spec-list{ margin:0; display:flex; flex-direction:column; }
.spec-list > div{
  display:grid; grid-template-columns:92px 1fr; gap:12px;
  padding:14px 16px; border-bottom:1px solid var(--line-soft);
  transition:background .18s var(--ease);
}
.spec-list > div:last-child{ border-bottom:0; }
.spec-list > div:hover{ background:var(--hover); }
.spec-list dt{ color:var(--dim); font-size:11px; letter-spacing:.04em; padding-top:2px; }
.spec-list dd{ margin:0; font-size:13.5px; line-height:22px; color:var(--ink-2); }
.spec-list code{ background:var(--surface-2); padding:1px 5px; border-radius:3px; color:var(--accent); }

/* ── 联系 ── */
.contact{ border-top:1px solid var(--line-soft); background:var(--band); }
.contact-grid{ display:grid; grid-template-columns:1fr; gap:32px; align-items:start; }
.contact-act{ display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.contact-card{
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm);
}
.contact-hd{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 16px; border-bottom:1px solid var(--line); background:var(--surface-2);
}
.contact-list{ margin:0; display:flex; flex-direction:column; }
.contact-list > div{
  display:grid; grid-template-columns:84px 1fr; gap:12px;
  padding:12px 16px; border-bottom:1px solid var(--line-soft);
}
.contact-list > div:last-child{ border-bottom:0; }
.contact-list dt{ color:var(--dim); font-size:11px; letter-spacing:.04em; }
.contact-list dd{ margin:0; font-size:13px; color:var(--ink-2); }

/* ── 页脚 ── */
.ftr{ border-top:1px solid var(--line); background:var(--band); }
.ftr-grid{ display:grid; grid-template-columns:1fr; gap:32px; padding-top:48px; padding-bottom:40px; }
.ftr-brand .brand{ margin-bottom:12px; }
.ftr-blurb{ margin:0 0 10px; font-size:13px; line-height:21px; color:var(--mute); max-width:36ch; }
.ftr-meta{ font-size:10px; letter-spacing:.06em; }
.ftr-col h4{ margin:0 0 12px; }
.ftr-col a{ display:block; padding:5px 0; font-size:13px; color:var(--mute); transition:color .16s var(--ease); }
.ftr-col a:hover{ color:var(--accent); }
.ftr-col p{ margin:0 0 4px; font-size:11px; }
.ftr-base{
  display:flex; flex-wrap:wrap; gap:8px 24px; align-items:center;
  padding-block:16px; border-top:1px solid var(--line-soft); font-size:11px;
}
#ftr-icp a{ color:var(--dim); }

/* ── 子页页头 ── */
.page-head{ padding:56px 0 40px; border-bottom:1px solid var(--line-soft); }
.page-head .label{ display:block; margin-bottom:16px; }
.page-head h1{ margin:0 0 14px; font-size:48px; line-height:56px; font-weight:600; letter-spacing:-.03em; }
.page-head .sub{ margin:0; max-width:64ch; font-size:16px; line-height:27px; color:var(--mute); }

.statrow{ display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.stat-chip{
  display:flex; align-items:center; gap:10px;
  padding:8px 12px; border-radius:var(--r-sm);
  background:var(--surface); border:1px solid var(--line);
}
.stat-chip .k{ font:400 10px/1 var(--mono); letter-spacing:.08em; color:var(--dim); text-transform:uppercase; }
.stat-chip .v{ font:600 15px/1 var(--sans); letter-spacing:-.02em; font-variant-numeric:tabular-nums; }

/* ── 产品清单行 ── */
.prod-rows{ display:flex; flex-direction:column; border-top:1px solid var(--line); }
.prod-row{
  display:grid; grid-template-columns:1fr auto; gap:12px 20px;
  padding:20px 0; border-bottom:1px solid var(--line-soft);
  transition:background .18s var(--ease);
}
.prod-row:hover{ background:var(--hover); }
.prod-row-main{ display:flex; align-items:flex-start; gap:14px; min-width:0; }
.prod-row-ic{
  width:36px; height:36px; border-radius:var(--r-sm); flex:none;
  display:grid; place-items:center;
  background:var(--surface-2); border:1px solid var(--line); color:var(--ink-2);
  font:600 12px/1 var(--mono);
}
.prod-row h3{ margin:0 0 4px; font-size:16px; line-height:24px; font-weight:500; letter-spacing:-.01em; }
.prod-row p{ margin:0; font-size:13px; line-height:21px; color:var(--mute); max-width:62ch; }
.prod-row-meta{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.prod-row-meta .mono{ color:var(--dim); font-size:10px; letter-spacing:.06em; }

/* ── 特性卡 ── */
.feat-grid{ display:grid; grid-template-columns:1fr; gap:12px; }
.feat{
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:20px; box-shadow:var(--shadow-sm);
  transition:border-color .2s var(--ease), background .2s var(--ease);
}
.feat:hover{ border-color:var(--mute); }
.feat-no{ display:block; margin-bottom:12px; color:var(--dim); font:400 10px/1 var(--mono); letter-spacing:.09em; }
.feat h3{ margin:0 0 8px; font-size:17px; line-height:25px; font-weight:500; letter-spacing:-.01em; }
.feat p{ margin:0; font-size:13px; line-height:21px; color:var(--mute); }

/* ── 沙盒预览 ── */
.mock{
  background:var(--surface-2); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:18px; margin-top:8px;
}
.mock-hd{
  display:flex; align-items:center; justify-content:space-between;
  padding-bottom:12px; border-bottom:1px solid var(--line); margin-bottom:16px;
}
.mock-path{ display:flex; flex-wrap:wrap; gap:10px 14px; justify-content:center; padding:8px 0 4px; }
.mock-node{
  width:40px; height:40px; border-radius:50%;
  display:grid; place-items:center; font:500 12px/1 var(--mono);
  background:var(--surface); border:1px solid var(--line); color:var(--dim);
}
.mock-node.done{ background:var(--ok-bg); border-color:var(--ok-line); color:var(--ok); }
.mock-node.now{
  background:var(--accent-strong); border-color:transparent; color:#fff;
  box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-strong) 18%, transparent);
}
html.dark .mock-node.now{ color:#0C0E12; }
.mock-node.chest{ border-color:color-mix(in srgb, var(--accent-strong) 45%, transparent); color:var(--accent); }
.mock-legend{
  display:flex; flex-wrap:wrap; gap:14px; justify-content:center;
  margin-top:14px; font:400 10px/1 var(--mono); color:var(--dim); letter-spacing:.06em;
}

/* ── CTA 带 ── */
.cta-band{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px;
  padding:28px 24px; border-radius:var(--r-lg);
  background:var(--surface); border:1px solid var(--line);
  margin-top:40px; box-shadow:var(--shadow-sm);
}
.cta-band h2{ margin:0 0 6px; font-size:22px; line-height:30px; font-weight:600; letter-spacing:-.02em; }
.cta-band p{ margin:0; font-size:13.5px; line-height:22px; color:var(--mute); }

/* ── 文档页 ── */
.doc{ max-width:760px; margin-inline:auto; padding:72px 0 96px; }
.doc-back{
  display:inline-flex; align-items:center; gap:6px; margin-bottom:28px;
  font:400 12px/1 var(--mono); color:var(--dim);
}
.doc-back:hover{ color:var(--accent); }
.doc h1{ margin:0 0 6px; font-size:36px; line-height:44px; font-weight:600; letter-spacing:-.025em; }
.doc-date{ margin:0 0 40px; font:400 11px/1 var(--mono); color:var(--dim); letter-spacing:.06em; }
.doc h2{
  margin:36px 0 12px; font-size:18px; line-height:26px; font-weight:500; letter-spacing:-.01em;
  padding-top:24px; border-top:1px solid var(--line-soft);
}
.doc p,.doc li{ font-size:14px; line-height:24px; color:var(--mute); }
.doc p{ margin:0 0 12px; }
.doc ul{ margin:0 0 12px; padding-left:20px; }
.doc li{ margin-bottom:6px; }
.doc a{ color:var(--accent); }
.doc strong{ color:var(--ink); font-weight:600; }
.nf{ min-height:100svh; display:grid; place-items:center; text-align:center; padding:24px; }
.nf-code{ margin:0 0 16px; font:400 11px/1 var(--mono); letter-spacing:.3em; color:var(--accent); }
.nf h1{ margin:0 0 12px; font-size:36px; line-height:44px; font-weight:600; letter-spacing:-.025em; }
.nf p{ margin:0 0 28px; font-size:14px; color:var(--mute); }

/* ── 响应式 ── */
@media (min-width:640px){
  .metrics{ grid-template-columns:repeat(2,1fr); }
  .feat-grid{ grid-template-columns:repeat(2,1fr); }
  .creed{ grid-template-columns:repeat(2,1fr); }
  .creed-item{ padding:24px 20px; border-right:1px solid var(--line-soft); }
  .creed-item:nth-child(2n){ border-right:0; }
  .gateway-actions{ flex-direction:row; }
  .gateway-actions .btn{ width:auto; flex:1; }
}

@media (min-width:768px){
  .ftr-grid{ grid-template-columns:1.6fr 1fr 1fr 1fr; }
  .contact-grid{ grid-template-columns:1.1fr .9fr; }
}

@media (min-width:1024px){
  .hero-grid{ grid-template-columns:repeat(12,1fr); gap:24px; }
  .hero-copy{ grid-column:span 7; }
  .hero-side{ grid-column:span 5; }
  .metrics{ grid-template-columns:repeat(4,1fr); }
  .feat-grid{ grid-template-columns:repeat(3,1fr); }
  .page-head h1{ font-size:52px; line-height:60px; }
  .studio-grid{ grid-template-columns:repeat(12,1fr); gap:32px; }
  .studio-copy{ grid-column:span 6; }
  .term{ grid-column:span 6; }
  .products{ grid-template-columns:repeat(12,1fr); }
  .prod-main{ grid-column:span 8; grid-row:span 2; }
  .prod-side{ grid-column:span 4; }
  .creed{ grid-template-columns:repeat(4,1fr); }
  .creed-item{ border-right:1px solid var(--line-soft); border-bottom:0; padding:28px 24px; }
  .creed-item:last-child{ border-right:0; }
  .sec{ padding:96px 0; }
}

@media (max-width:767px){
  :root{ --pad:16px; }
  .display{ font-size:38px; line-height:46px; letter-spacing:-.025em; }
  .lede{ font-size:28px; line-height:36px; letter-spacing:-.02em; }
  .h2{ font-size:28px; line-height:36px; }
  .sec{ padding:56px 0; }
  .sec-head{ margin-bottom:28px; }
  .prod-visual{ display:none; }
  .pill-quiet{ display:none; }
}

/* ── 减少动态 ── */
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; }
  .reveal.in{ transition:none; }
  .t-line{ opacity:1; transform:none; }
  .t-line.show{ transition:none; }
  .cursor{ animation:none; }
  .dot-cyan{ animation:none; }
  .btn, .metric, .prod-side, .spec-list > div{ transition:none; }
  body{ transition:none; }
}

/* ═══════════════════════════════════════════════════════════════
   编辑式首页（按 stitch quantstrato_1 重构）
   锐角（rounded-none）、mono 导航、悬停下拉大菜单、四格编辑卡片
   ═══════════════════════════════════════════════════════════════ */

:root{
  --hdr: 56px;
  --r-sm: 2px;
  --r-lg: 4px;
}
html.dark{
  --r-sm: 2px;
  --r-lg: 4px;
}

/* ── 顶栏（56px，mono 导航）── */
.hdr-in{ gap:14px; }
.brand-mark{
  width:26px; height:26px; border-radius:0;
  background:var(--btn-bg); color:var(--btn-fg);
  font:700 11px/1 var(--mono); letter-spacing:-.05em;
  border:1px solid var(--btn-bg);
}
.brand:hover .brand-mark{ border-color:var(--accent-strong); color:var(--accent-strong); }
.brand-name{ flex-direction:row; align-items:center; gap:8px; }
.brand-en{ font-size:14px; line-height:18px; }
.brand-zh{
  padding-left:8px; border-left:1px solid var(--line);
  font:400 11px/14px var(--mono); letter-spacing:0;
}
.vsep{ width:1px; height:14px; background:var(--line); }

.nav{ font:400 12px/16px var(--mono); letter-spacing:-.01em; gap:0; }
.nav-link{
  display:inline-flex; align-items:center; gap:5px;
  padding:6px 10px; border-radius:0; background:none; border:0;
  font:inherit; color:var(--ink-2); cursor:pointer;
  transition:color .16s var(--ease);
}
.nav-link:hover, .navitem.open > .nav-link{ color:var(--accent); }
.nav-link .ic-chev{ transition:transform .2s var(--ease); opacity:.55; }
.navitem.open > .nav-link .ic-chev{ transform:rotate(180deg); }
.tag{ padding:2px 6px; }
.tag-amber{
  color:var(--accent); background:color-mix(in srgb, var(--accent-strong) 10%, transparent);
  border:1px solid color-mix(in srgb, var(--accent-strong) 30%, transparent);
  font-size:9px; padding:2px 5px;
}
.with-tag{ display:inline-flex; align-items:center; gap:6px; }
.with-tag .tag{ margin-left:2px; }

/* ── 悬停下拉大菜单 ── */
.navitem{ position:relative; display:flex; align-items:center; height:var(--hdr); }
.dropdown{
  position:absolute; top:100%; left:0; z-index:60;
  background:var(--surface); border:1px solid var(--line);
  box-shadow:var(--shadow-md);
  padding:12px; visibility:hidden; opacity:0; transform:translateY(6px);
  transition:opacity .18s var(--ease), transform .18s var(--ease), visibility .18s;
}
.dd-w80{ width:320px; }
.dd-w96{ width:384px; }
.dd-w72{ width:288px; }
.dd-hd{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:2px 8px 8px; margin-bottom:6px; border-bottom:1px solid var(--line);
  font-size:10px; letter-spacing:.09em; text-transform:uppercase; color:var(--dim);
}
.dd-item{
  display:flex; align-items:flex-start; gap:10px; padding:9px 8px;
  transition:background .16s var(--ease);
}
.dd-item:hover{ background:var(--hover); }
.dd-ic{ width:18px; height:18px; flex:none; margin-top:1px; color:var(--dim); }
.dd-item .accent{ color:var(--accent-strong); }
.dd-item b{ display:block; font:600 12px/17px var(--sans); color:var(--ink); }
.dd-item small{ display:block; margin-top:2px; font-size:11px; line-height:15px; color:var(--mute); }
.dd-badge{
  width:28px; height:28px; flex:none; display:grid; place-items:center;
  background:var(--surface-2); border:1px solid var(--line);
  font:700 11px/1 var(--mono); color:var(--ink-2);
}
.dd-badge.amber{
  background:color-mix(in srgb, var(--accent-strong) 10%, transparent);
  border-color:color-mix(in srgb, var(--accent-strong) 30%, transparent);
  color:var(--accent);
}
.dd-rules{ display:flex; flex-direction:column; gap:4px; padding:2px 0; }
.rule{ padding:8px; border-left:2px solid var(--ink); background:var(--surface-2); }
.rule-amber{ border-left-color:var(--accent-strong); }
.rule b{ display:block; font:600 12px/16px var(--sans); color:var(--ink); }
.rule small{ display:block; margin-top:2px; font-size:11px; line-height:15px; color:var(--mute); }
.dd-contact{ padding:2px 8px; display:flex; flex-direction:column; gap:8px; font-size:11px; }
.dd-mail small{ display:block; color:var(--dim); font:400 11px/16px var(--mono); }
.dd-mail b{ font:600 12px/18px var(--mono); color:var(--ink); }
.dd-contact p{ margin:0; font-size:11px; line-height:16px; color:var(--mute); }
.dd-mail-act{ display:flex; gap:8px; padding-top:6px; border-top:1px solid var(--line-soft); }
.dd-mail-act .btn{ flex:1; height:30px; padding:0 10px; font-size:11px; }

/* 悬停 + 键盘 + JS 开启 */
@media (min-width:1080px){
  .navitem:hover > .dropdown,
  .navitem:focus-within > .dropdown,
  .navitem.open > .dropdown{ visibility:visible; opacity:1; transform:translateY(0); }
}
@media (max-width:1079px){
  .dropdown{ display:none; }   /* 移动端走 mmenu 平铺 */
}

.btn-xs{ height:26px; padding:0 9px; font-size:11px; }
.btn.mono{ font-family:var(--mono); font-weight:500; letter-spacing:0; }

/* ── 首屏 ── */
.meta-row{
  display:flex; align-items:center; flex-wrap:wrap; gap:10px;
  font:400 11px/16px var(--mono); letter-spacing:.05em; color:var(--mute);
  margin-bottom:32px;
}
.meta-row b{ color:var(--ink); font-weight:500; }
.meta-row .dim{ color:var(--dim); }
.sq{ width:6px; height:6px; background:var(--ink); flex:none; }
.sq-amber{ background:var(--accent-strong); }
.sq-ok{ background:var(--ok); border-radius:50%; }

.hero-title{ display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.display{ font-size:56px; line-height:1.08; font-weight:700; letter-spacing:-.03em; color:var(--ink); }
.display-en{
  font-size:26px; line-height:1.2; font-weight:300; color:var(--mute); letter-spacing:-.02em;
}
.tagline{
  margin:0; font-size:22px; line-height:32px; font-weight:500;
  letter-spacing:-.02em; color:var(--ink-2);
}
@media (min-width:1024px){
  .hero-title{ flex-direction:row; align-items:baseline; gap:24px; }
  .display{ font-size:72px; line-height:76px; }
  .display-en{ font-size:40px; }
  .tagline{ font-size:26px; line-height:36px; }
}
@media (max-width:767px){
  .display{ font-size:40px; line-height:46px; }
  .display-en{ font-size:18px; }
  .tagline{ font-size:18px; line-height:27px; }
}

.hero-grid{ display:grid; grid-template-columns:1fr; gap:24px; padding:44px 0 0; }
.hero-copy p{ margin:0; font-size:15px; line-height:26px; color:var(--ink-2); max-width:64ch; }
.tags{ display:flex; flex-wrap:wrap; gap:6px; }
.tag{ background:var(--surface-2); border:1px solid var(--line); color:var(--ink-2); }
.hero-side{ display:flex; flex-direction:column; gap:8px; }

.box{
  background:var(--surface); border:1px solid var(--line);
  border-radius:0; box-shadow:var(--shadow-sm);
}
.box-hd{
  display:flex; align-items:center; justify-content:space-between;
  font-size:11px; letter-spacing:.09em; text-transform:uppercase; color:var(--dim);
  padding-bottom:10px; border-bottom:1px solid var(--line-soft); margin-bottom:12px;
}
.gateway{ padding:20px; }
.gateway-actions{ display:flex; flex-direction:column; gap:8px; }
.gateway-actions .btn{ width:100%; height:40px; }

/* ── 指标 ── */
.metrics{
  display:grid; grid-template-columns:repeat(2,1fr); gap:16px;
  padding:32px 0 72px; border-top:1px solid var(--line);
  margin-top:44px; padding-top:32px;
}
.metric{ padding:20px; gap:6px; }
.metric .label{ margin-bottom:2px; }
.metric-v{ display:flex; align-items:baseline; gap:6px; margin:4px 0 2px; }
.metric-v b{
  font:600 26px/32px var(--mono); letter-spacing:-.04em;
  color:var(--ink); font-variant-numeric:tabular-nums;
}
.metric .unit{ font:400 12px/16px var(--sans); color:var(--mute); letter-spacing:0; }
.metric p{ margin:0; font-size:11.5px; line-height:17px; color:var(--mute); }
@media (min-width:1024px){ .metrics{ grid-template-columns:repeat(4,1fr); } }

/* ── 分区标题行 ── */
.sec-head-row{
  display:flex; flex-direction:column; gap:10px;
  justify-content:space-between; align-items:flex-start;
  margin-bottom:40px;
}
.sec-head-row .h2{ margin-top:8px; }
.sec-head-row > p:last-child{ margin:0; max-width:46ch; font-size:12px; line-height:19px; }
.secno{ margin:0 0 10px; font-weight:600; color:var(--ink); letter-spacing:.02em; font-size:11px; }
.sec-alt .secno, .sec:not(.sec-alt) .secno{ color:var(--ink); }

/* ── 分栏（理念） ── */
.split{ display:grid; grid-template-columns:1fr; gap:40px; align-items:start; }
.split-copy .h2{ margin:0 0 16px; }
.split-p{ margin:0 0 8px; font-size:14px; line-height:24px; color:var(--ink-2); }
.quote{
  margin:24px 0 0; padding:14px 16px; background:var(--surface-2);
  border-left:2px solid var(--ink);
  font-size:14px; line-height:22px; color:var(--ink); font-weight:500;
}
.quote cite{ display:block; margin-top:6px; font-style:normal; color:var(--dim); font-size:10px; }
.quad{ display:grid; grid-template-columns:1fr; gap:12px; }
.quad-card{ padding:24px; display:flex; flex-direction:column; gap:10px; }
.quad-no{ font:500 12px/16px var(--mono); color:var(--dim); margin-bottom:4px; }
.quad-no.accent{ color:var(--accent); }
.quad-card h4{ margin:0 0 6px; font-size:14px; line-height:20px; font-weight:600; color:var(--ink); }
.quad-card p{ margin:0; font-size:12px; line-height:19px; color:var(--mute); }
@media (min-width:640px){ .quad{ grid-template-columns:repeat(2,1fr); } .quad-card{ padding:22px; } }
@media (min-width:1024px){
  .split{ grid-template-columns:repeat(12,1fr); gap:48px; }
  .split-copy{ grid-column:span 5; }
  .quad{ grid-column:span 7; }
  .sec{ padding:80px 0; }
}

/* ── 产品主卡 ── */
.prod-hero{ padding:24px; }
.prod-hero-grid{ display:grid; grid-template-columns:1fr; gap:28px; align-items:center; }
.prod-meta{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
.tag-amber-box{
  padding:3px 8px; font-size:11px; font-weight:500;
  color:var(--accent); background:color-mix(in srgb, var(--accent-strong) 10%, transparent);
  border:1px solid color-mix(in srgb, var(--accent-strong) 30%, transparent);
}
.prod-title{ margin:0 0 12px; font-size:30px; line-height:38px; font-weight:700; letter-spacing:-.025em; }
.prod-desc{ margin:0 0 6px; font-size:14px; line-height:24px; color:var(--ink-2); max-width:58ch; }
.prod-act{ display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding-top:8px; }
.prod-shot{
  position:relative; background:var(--recess); border:1px solid var(--line);
  padding:24px; display:grid; place-items:center; overflow:hidden;
}
.prod-shot-badge{
  position:absolute; left:10px; bottom:10px;
  display:inline-flex; align-items:center; gap:8px;
  background:var(--btn-bg); color:var(--btn-fg);
  padding:5px 9px; font-size:10px;
}
@media (min-width:1024px){
  .prod-hero{ padding:40px; }
  .prod-hero-grid{ grid-template-columns:repeat(12,1fr); gap:32px; }
  .prod-hero-copy{ grid-column:span 6; }
  .prod-shot{ grid-column:span 6; padding:32px; }
}

/* ── 双列卡 ── */
.duo{ display:grid; grid-template-columns:1fr; gap:16px; margin-top:16px; }
.duo-card{ padding:24px; display:flex; flex-direction:column; gap:10px; }
.duo-hd{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.duo-title{ margin:2px 0 0; font-size:17px; line-height:25px; font-weight:600; letter-spacing:-.01em; }
.duo-card > p{ margin:0 0 6px; font-size:12.5px; line-height:20px; color:var(--mute); }
.duo-ft{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding-top:12px; border-top:1px solid var(--line-soft);
  font-size:10px; letter-spacing:.05em; color:var(--dim); margin-top:auto;
}
.duo-ft .strong{ color:var(--ink); font-weight:600; display:inline-flex; align-items:center; gap:4px; }
.duo-ft .strong:hover{ color:var(--accent); }
@media (min-width:768px){ .duo{ grid-template-columns:repeat(2,1fr); } }

/* ── 信条卡（锐角版） ── */
.creed{ display:grid; grid-template-columns:1fr; gap:16px; }
.creed-card{ padding:24px; display:flex; flex-direction:column; justify-content:space-between; gap:24px; }
.creed-body{ display:flex; flex-direction:column; gap:8px; }
.creed-k{ font-weight:700; color:var(--ink); font-size:12px; }
.creed-k.accent{ color:var(--accent); }
.creed-card h3{ margin:0; }
.creed-card p{ margin:0; font-size:12px; line-height:19px; color:var(--mute); }
.creed-ft{
  padding-top:12px; border-top:1px solid var(--line-soft);
  color:var(--dim); font-size:10px;
}
@media (min-width:768px){ .creed{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .creed{ grid-template-columns:repeat(4,1fr); } }

/* ── 联络盒 ── */
.contact-box{ padding:24px; }
.contact-grid{ display:grid; grid-template-columns:1fr; gap:32px; align-items:center; }
.contact-copy .h3{ margin:0 0 12px; }
.contact-p{ margin:0 0 18px; font-size:13.5px; line-height:23px; color:var(--mute); max-width:56ch; }
.contact-links{ display:flex; flex-wrap:wrap; gap:8px; }
.contact-side{ background:var(--surface-2); border:1px solid var(--line); padding:20px; }
.contact-hd{
  display:flex; align-items:center; justify-content:space-between;
  font-size:10px; letter-spacing:.09em; text-transform:uppercase; color:var(--dim);
  padding-bottom:12px; border-bottom:1px solid var(--line); margin-bottom:16px;
}
.online{ color:var(--ok); font-weight:600; letter-spacing:0; text-transform:none; display:inline-flex; align-items:center; gap:6px; }
.contact-mail .label{ margin-bottom:8px; }
.mail-row{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:var(--surface); border:1px solid var(--line); padding:10px 12px; margin-bottom:10px;
}
.mail-row .mono{ font-weight:600; font-size:12px; color:var(--ink); user-select:all; }
.contact-mail p{ margin:0; font-size:10px; line-height:15px; color:var(--dim); }
@media (min-width:1024px){
  .contact-box{ padding:40px; }
  .contact-grid{ grid-template-columns:repeat(12,1fr); gap:40px; }
  .contact-copy{ grid-column:span 7; }
  .contact-side{ grid-column:span 5; }
}

/* ── 页脚（mono 四列） ── */
.ftr{ border-top:1px solid var(--line); background:var(--band); padding:48px 0 24px; }
.ftr-grid{ display:grid; grid-template-columns:1fr; gap:32px; padding-bottom:40px; }
.ftr-brand{ display:flex; flex-direction:column; gap:2px; }
.ftr-brand-name{ font:600 14px/20px var(--sans); letter-spacing:-.02em; color:var(--ink); }
.ftr-brand .mono{ font-size:10px; }
.ftr-brand p{ margin:8px 0 0; font-size:12px; line-height:19px; color:var(--mute); max-width:34ch; }
.ftr-col{ display:flex; flex-direction:column; gap:2px; }
.ftr-col .label{ margin-bottom:8px; }
.ftr-col a{ padding:4px 0; font-size:12px; color:var(--mute); transition:color .16s var(--ease); }
.ftr-col a:hover{ color:var(--accent); }
.ftr-p{ margin:0; font-size:12px; color:var(--mute); }
.ftr-p.dim{ color:var(--dim); }
.ftr-base{
  display:flex; flex-wrap:wrap; gap:10px 28px; align-items:center; justify-content:space-between;
  padding-top:20px; border-top:1px solid var(--line-soft);
  font-size:11px; color:var(--dim);
}
.ftr-links{ display:flex; gap:18px; }
.ftr-links a:hover{ color:var(--accent); }
#ftr-icp a{ color:var(--dim); }
@media (min-width:768px){ .ftr-grid{ grid-template-columns:1.4fr 1fr 1fr 1fr; } }

.reveal.d4.in{ transition-delay:.24s; }
