/* =========================================================
   自动化游戏开放平台 · style.css
   方向：机台档案 / 工业技术文档 + 编辑式排版
   纸色底 + 墨黑 + 单一信号红。无卡片、无图标、无阴影、无渐变按钮。
   ========================================================= */

:root{
  --paper:#E9E5DC;
  --paper-2:#F2EFE8;
  --ink:#121316;
  --ink-soft:#1C1E21;
  --body:#3C3D3A;
  --mute:#6E6A61;
  --line:rgba(18,19,22,.13);
  --line-2:rgba(18,19,22,.30);
  --sig:#C0391B;
  --sig-l:#E4553A;
  --dark-line:rgba(237,234,227,.13);
  --dark-line-2:rgba(237,234,227,.28);
  --dark-body:rgba(237,234,227,.62);

  --sans:"Inter","Helvetica Neue",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,"Courier New",monospace;

  --sp:clamp(64px,8vw,132px);
  --pad:clamp(20px,3.4vw,40px);
  --max:1280px;
}

*,*::before,*::after{ box-sizing:border-box; }

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:84px;
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

h1,h2,h3,h4,p,dl,dd,figure,ul,ol{ margin:0; }
ul,ol{ padding:0; list-style:none; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer; }
table{ border-collapse:collapse; }

::selection{ background:var(--sig); color:var(--paper-2); }

:focus-visible{ outline:2px solid var(--sig); outline-offset:3px; }

.wrap{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--pad);
}

/* ============ 左侧装饰栏（仅超大屏） ============ */
.rail{
  position:fixed; left:0; top:0; height:100vh; width:52px;
  display:none; align-items:center; justify-content:center;
  border-right:1px solid var(--line);
  pointer-events:none; z-index:5;
}
@media (min-width:1440px){ .rail{ display:flex; } }
.rail-t{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.24em;
  color:var(--mute);
  white-space:nowrap;
}
.rail-dot{
  position:absolute; top:30px; left:50%; margin-left:-2px;
  width:4px; height:4px; background:var(--sig);
}

/* ============ 导航 ============ */
.nav{
  position:sticky; top:0; z-index:60;
  background:rgba(233,229,220,.93);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line);
  transition:border-color .3s ease;
}
.nav.scrolled{ border-bottom-color:var(--line-2); }

.nav-in{
  display:flex; align-items:center; justify-content:space-between;
  gap:32px; height:64px;
}

.brand{ display:block; flex-shrink:0; }
.brand-n{
  display:block;
  font-size:15px; font-weight:600; letter-spacing:-.01em; line-height:1.2;
}
.brand-s{
  display:block;
  font-family:var(--mono);
  font-size:10.5px; letter-spacing:.07em; color:var(--mute);
  margin-top:3px;
}

.nav-links{ display:flex; align-items:center; gap:26px; }
.nav-links a{
  position:relative;
  font-size:13.5px; color:var(--body);
  padding:4px 0;
  transition:color .2s ease;
}
.nav-links a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:var(--sig);
  transform:scaleX(0); transform-origin:left;
  transition:transform .3s cubic-bezier(.16,1,.3,1);
}
.nav-links a:hover{ color:var(--ink); }
.nav-links a:hover::after{ transform:scaleX(1); }

.nav-r{ display:flex; align-items:center; gap:14px; flex-shrink:0; }

.nav-tel{
  font-family:var(--mono);
  font-size:12.5px; letter-spacing:.05em;
  padding:8px 14px;
  border:1px solid var(--line-2);
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.nav-tel:hover{ background:var(--ink); color:var(--paper); border-color:var(--ink); }

.burger{ display:none; width:26px; height:26px; position:relative; }
.burger span{
  position:absolute; left:2px; width:22px; height:1.5px;
  background:var(--ink);
  transition:transform .3s ease, opacity .3s ease;
}
.burger span:nth-child(1){ top:9px; }
.burger span:nth-child(2){ top:16px; }
.burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(3.5px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ transform:translateY(-3.5px) rotate(-45deg); }

/* ============ 首屏 ============ */
.hero{ padding:clamp(36px,5vw,64px) 0 0; }

.hero-meta{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px 28px;
  font-family:var(--mono);
  font-size:11px; letter-spacing:.09em;
  color:var(--mute);
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}
.hero-meta > span{ position:relative; }
.hero-meta > span + span::before{
  content:""; position:absolute; left:-15px; top:50%;
  width:2px; height:2px; background:var(--line-2);
}
.hero-meta-r{ margin-left:auto; color:var(--sig); }
.hero-meta-r::before{ display:none; }

.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 288px;
  gap:clamp(32px,5vw,80px);
  align-items:end;
  padding-top:clamp(36px,5vw,64px);
}

.h1{
  font-size:clamp(38px,6.1vw,88px);
  line-height:1.09;
  letter-spacing:-.032em;
  font-weight:700;
}
.h1 > span{ display:block; }
.h1 .out{ color:var(--mute); }
@supports ((-webkit-text-stroke:1px #000)){
  .h1 .out{
    color:transparent;
    -webkit-text-stroke:2.4px var(--ink);
  }
}

.lede{
  margin-top:clamp(24px,3vw,36px);
  max-width:52ch;
  font-size:clamp(14.5px,1.15vw,16px);
  line-height:1.9;
  color:var(--body);
}

.acts{
  display:flex; flex-wrap:wrap; align-items:stretch;
  gap:10px;
  margin-top:clamp(28px,3.4vw,40px);
}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid transparent;
  font-size:15px;
  transition:background .22s ease, color .22s ease, border-color .22s ease;
}
.btn-solid{
  flex-direction:column; align-items:flex-start; justify-content:center;
  gap:1px;
  height:60px; padding:0 26px;
  background:var(--ink); color:var(--paper);
}
.btn-solid .btn-k{
  font-family:var(--mono);
  font-size:10px; letter-spacing:.14em;
  color:rgba(233,229,220,.5);
}
.btn-solid .btn-v{ font-size:16px; font-weight:600; letter-spacing:.02em; }
.btn-solid:hover{ background:var(--sig); }
.btn-solid:hover .btn-k{ color:rgba(242,239,232,.75); }

.btn-line{
  height:60px; padding:0 26px;
  border-color:var(--line-2);
  color:var(--ink);
  font-size:14.5px;
}
.btn-line:hover{ background:var(--ink); color:var(--paper); border-color:var(--ink); }

/* 右侧规格表 */
.hero-side{ padding-top:6px; }
.facts{ border-top:1px solid var(--line-2); }
.facts > div{
  display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  padding:11px 0;
  border-bottom:1px solid var(--line);
}
.facts dt{
  font-family:var(--mono);
  font-size:10.5px; letter-spacing:.08em;
  color:var(--mute);
  white-space:nowrap;
}
.facts dd{
  font-family:var(--mono);
  font-size:12.5px; font-weight:500; letter-spacing:.02em;
  font-variant-numeric:tabular-nums;
  text-align:right;
}
.facts dd.hot{ color:var(--sig); }

.side-note{
  margin-top:18px;
  font-size:11.5px; line-height:1.9;
  color:var(--mute);
  max-width:26ch;
  padding-left:12px;
  border-left:1px solid var(--line-2);
}

/* ============ 多开矩阵控制台 ============ */
.console-sec{ margin-top:clamp(48px,6vw,88px); }

.console{
  background:#0B0C0E;
  border-top:1px solid #000;
  border-bottom:1px solid #000;
}

.console-bar{
  display:flex; align-items:center; gap:18px;
  height:46px;
  padding:0 clamp(16px,2.4vw,28px);
  border-bottom:1px solid rgba(255,255,255,.09);
  font-family:var(--mono);
  font-size:11px; letter-spacing:.05em;
  color:#7D838D;
  overflow:hidden;
}
.c-dot{
  width:6px; height:6px; background:#3FB950; flex-shrink:0;
  animation:pulse 2.2s ease-in-out infinite;
}
@keyframes pulse{ 0%,100%{opacity:1} 50%{opacity:.25} }

.c-t{ color:#E6E8EC; font-weight:600; letter-spacing:.06em; white-space:nowrap; }
.c-sep{ width:1px; height:13px; background:rgba(255,255,255,.14); flex-shrink:0; }
.c-i{ white-space:nowrap; }
.c-i b{ color:#E6E8EC; font-weight:600; font-variant-numeric:tabular-nums; }
.c-r{ margin-left:auto; color:var(--sig-l); }

.matrix{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  background:rgba(255,255,255,.07);
}

.win{
  position:relative;
  background:#08090B;
  aspect-ratio:16/10;
  overflow:hidden;
}
.win canvas{
  position:absolute; inset:0;
  width:100%; height:100%;
  display:block;
}

.win-top{
  position:absolute; top:0; left:0; right:0; z-index:2;
  display:flex; align-items:center; justify-content:space-between;
  padding:6px 8px;
  font-family:var(--mono);
  font-size:9px; letter-spacing:.04em;
}
.win-ip{ color:rgba(230,232,236,.55); }
.win-ai{ color:#7FD8C4; }
.win-ai.warn{ color:var(--sig-l); }

.win-bot{
  position:absolute; bottom:0; left:0; right:0; z-index:2;
  display:flex; align-items:center; gap:8px;
  padding:6px 8px;
}
.win-bar{
  flex:1; height:2px;
  background:rgba(255,255,255,.13);
  position:relative; overflow:hidden;
}
.win-bar i{
  position:absolute; left:0; top:0; height:100%;
  width:46%;
  background:#7FD8C4;
  animation:barMove 3.6s ease-in-out infinite;
}
@keyframes barMove{
  0%{ width:14% } 46%{ width:86% } 100%{ width:14% }
}
.win-fps{
  font-family:var(--mono);
  font-size:9px; letter-spacing:.03em;
  color:rgba(230,232,236,.45);
  font-variant-numeric:tabular-nums;
}

.ripple{
  position:absolute;
  width:34px; height:34px; margin:-17px 0 0 -17px;
  border:1px solid rgba(127,216,196,.9);
  border-radius:50%;
  opacity:0;
  pointer-events:none;
  z-index:3;
}
.ripple.go{ animation:rip .72s ease-out; }
@keyframes rip{
  0%{ opacity:.9; transform:scale(.25) }
  100%{ opacity:0; transform:scale(1.7) }
}

.console-foot{
  display:flex; align-items:flex-start; gap:16px;
  padding:14px clamp(16px,2.4vw,28px) 16px;
  border-top:1px solid rgba(255,255,255,.07);
  font-family:var(--mono);
  font-size:10.5px; line-height:1.8;
  color:#6B7178;
}
.fig{ color:var(--sig-l); letter-spacing:.1em; flex-shrink:0; padding-top:1px; }

/* ============ 通用章节 ============ */
.sec{
  padding:var(--sp) 0;
  border-top:1px solid var(--line);
}
.sec-tight{ padding:calc(var(--sp) * .82) 0; }

.sec-head{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) minmax(0,340px);
  align-items:start;
  gap:0 28px;
  padding-bottom:30px;
  border-bottom:1px solid var(--line-2);
}
.sec-head .n{
  font-family:var(--mono);
  font-size:11px; letter-spacing:.1em;
  color:var(--sig);
  padding-top:12px;
}
.sec-head h2{
  font-size:clamp(26px,3.3vw,42px);
  line-height:1.1;
  letter-spacing:-.032em;
  font-weight:700;
}
.sec-head p{
  font-size:13.5px; line-height:1.85;
  color:var(--mute);
  padding-top:10px;
}

/* ============ 01 能力清单 ============ */
.cap-list > li{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 176px;
  align-items:start;
  gap:24px;
  padding:28px 0;
  border-bottom:1px solid var(--line);
  position:relative;
  transition:padding-left .35s cubic-bezier(.16,1,.3,1);
}
.cap-list > li::before{
  content:""; position:absolute; left:0; top:-1px; bottom:-1px;
  width:2px; background:var(--sig);
  transform:scaleY(0); transform-origin:top;
  transition:transform .35s cubic-bezier(.16,1,.3,1);
}
.cap-list > li:hover{ padding-left:18px; }
.cap-list > li:hover::before{ transform:scaleY(1); }

.cap-n{
  font-family:var(--mono);
  font-size:11.5px; letter-spacing:.08em;
  color:var(--mute);
  padding-top:6px;
  transition:color .3s ease;
}
.cap-list > li:hover .cap-n{ color:var(--sig); }

.cap-main h3{
  font-size:clamp(17px,1.5vw,20px);
  font-weight:600;
  letter-spacing:-.012em;
  line-height:1.4;
  margin-bottom:9px;
}
.cap-main p{
  font-size:14px; line-height:1.9;
  color:var(--body);
  max-width:62ch;
}

.cap-metric{
  display:flex; flex-direction:column; align-items:flex-end; gap:3px;
  font-family:var(--mono);
  font-size:clamp(18px,2vw,25px);
  font-weight:600;
  letter-spacing:-.02em;
  line-height:1.1;
  text-align:right;
  font-variant-numeric:tabular-nums;
  padding-top:2px;
}
.cap-metric em{
  font-style:normal;
  font-family:var(--sans);
  font-size:11px; font-weight:400; letter-spacing:.02em;
  color:var(--mute);
}

/* ============ 02 架构（深色） ============ */
.sec-dark{
  background:var(--ink);
  color:#EDEAE3;
  border-top-color:var(--ink);
}
.sec-dark .sec-head{ border-bottom-color:var(--dark-line-2); }
.sec-dark .sec-head .n{ color:var(--sig-l); }
.sec-dark .sec-head p{ color:var(--dark-body); }

.stack{ }
.layer{
  display:grid;
  grid-template-columns:52px 116px minmax(0,1fr) 156px;
  align-items:center;
  gap:24px;
  padding:21px 0;
  border-bottom:1px solid var(--dark-line);
  transition:padding-left .35s cubic-bezier(.16,1,.3,1);
}
.layer:hover{ padding-left:14px; }
.lv{
  font-family:var(--mono);
  font-size:11px; letter-spacing:.08em;
  color:rgba(237,234,227,.38);
  transition:color .3s ease;
}
.layer:hover .lv{ color:var(--sig-l); }
.ln{ font-size:15.5px; font-weight:600; letter-spacing:-.01em; }
.ld{ font-size:13.5px; line-height:1.7; color:var(--dark-body); }
.lm{
  font-family:var(--mono);
  font-size:10.5px; letter-spacing:.05em;
  color:rgba(237,234,227,.4);
  text-align:right;
  font-variant-numeric:tabular-nums;
}

.arch-note{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(28px,4vw,56px);
  margin-top:clamp(36px,4.4vw,56px);
}
.arch-note > div{ border-top:1px solid var(--dark-line-2); padding-top:18px; }
.an-k{
  display:block;
  font-family:var(--mono);
  font-size:10.5px; letter-spacing:.12em;
  color:var(--sig-l);
  margin-bottom:11px;
}
.arch-note p{
  font-size:13.5px; line-height:1.9;
  color:var(--dark-body);
  max-width:44ch;
}

/* ============ 03 交付表 ============ */
.tbl-wrap{ margin-top:8px; overflow-x:auto; }
.tbl{ width:100%; min-width:680px; }
.tbl th{
  font-family:var(--mono);
  font-size:10.5px; font-weight:400; letter-spacing:.1em;
  color:var(--mute);
  text-align:left;
  padding:16px 20px 13px 0;
  border-bottom:1px solid var(--line-2);
  white-space:nowrap;
}
.tbl td{
  padding:19px 20px 19px 0;
  border-bottom:1px solid var(--line);
  font-size:13.5px; line-height:1.75;
  color:var(--body);
  vertical-align:top;
  transition:background .2s ease;
}
.tbl td:last-child, .tbl th:last-child{ padding-right:0; }
.tbl tbody tr:hover td{ background:rgba(18,19,22,.032); }
.tbl th.c-n{ color:var(--mute); }
.tbl .c-n{
  width:56px;
  font-family:var(--mono);
  font-size:11.5px; letter-spacing:.06em;
  color:var(--sig);
  white-space:nowrap;
}
.tbl .c-d{
  width:88px;
  font-family:var(--mono);
  font-size:11.5px; letter-spacing:.04em;
  color:var(--mute);
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}

/* ============ 04 参数 ============ */
.spec{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:clamp(32px,5vw,72px);
  margin-top:8px;
}
.spec > div{
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  gap:20px;
  align-items:baseline;
  padding:15px 0;
  border-bottom:1px solid var(--line);
}
.spec dt{
  font-family:var(--mono);
  font-size:11px; letter-spacing:.07em;
  color:var(--mute);
  white-space:nowrap;
}
.spec dd{ font-size:13.5px; line-height:1.7; color:var(--body); }

/* ============ 05 场景 ============ */
.cases{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin-top:8px;
}
.case{
  padding:30px 0;
  border-bottom:1px solid var(--line);
}
.case:nth-child(odd){ padding-right:clamp(24px,4vw,56px); border-right:1px solid var(--line); }
.case:nth-child(even){ padding-left:clamp(24px,4vw,56px); }

.case-k{
  display:block;
  font-family:var(--mono);
  font-size:11px; letter-spacing:.1em;
  color:var(--sig);
  margin-bottom:13px;
}
.case h3{
  font-size:18px; font-weight:600; letter-spacing:-.012em;
  margin-bottom:10px;
}
.case p{
  font-size:13.5px; line-height:1.9;
  color:var(--body);
  max-width:42ch;
}
.case-m{
  display:block;
  font-family:var(--mono);
  font-size:10.5px; letter-spacing:.05em;
  color:var(--mute);
  margin-top:16px;
}

/* ============ 06 合作 ============ */
.plans{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:8px;
}
.plan{
  padding:30px 0 34px;
  border-bottom:1px solid var(--line);
  display:flex; flex-direction:column;
}
.plan + .plan{
  padding-left:clamp(20px,2.4vw,30px);
  border-left:1px solid var(--line);
}
.plan:not(:last-child){ padding-right:clamp(20px,2.4vw,30px); }

.plan-top{
  display:flex; align-items:center; gap:9px;
  min-height:20px;
  margin-bottom:14px;
}
.plan-k{
  font-family:var(--mono);
  font-size:11px; letter-spacing:.12em;
  color:var(--sig);
}
.plan-tag{
  display:inline-block;
  align-self:flex-start;
  font-family:var(--mono);
  font-size:9.5px; letter-spacing:.1em;
  color:var(--paper);
  background:var(--sig);
  padding:3px 7px;
}
.plan h3{
  font-size:21px; font-weight:600; letter-spacing:-.018em;
  margin-bottom:11px;
}
.plan-d{
  font-size:13.5px; line-height:1.85;
  color:var(--body);
  min-height:76px;
}
.plan ul{ margin:18px 0 26px; }
.plan li{
  position:relative;
  font-size:13px; line-height:1.7;
  color:var(--body);
  padding:6px 0 6px 15px;
}
.plan li::before{
  content:""; position:absolute; left:0; top:13px;
  width:3px; height:3px; background:var(--sig);
}
.plan-link{
  margin-top:auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:12px;
  padding-top:14px;
  border-top:1px solid var(--ink);
  font-size:13.5px; font-weight:600;
  transition:color .2s ease;
}
.plan-link span{
  position:relative; display:block;
  width:22px; height:8px;
  transition:transform .3s cubic-bezier(.16,1,.3,1);
}
.plan-link span::before{
  content:""; position:absolute; left:0; top:50%; width:100%; height:1px;
  background:currentColor;
}
.plan-link span::after{
  content:""; position:absolute; right:0; top:50%;
  width:5px; height:5px;
  border-top:1px solid currentColor; border-right:1px solid currentColor;
  transform:translateY(-50%) rotate(45deg);
}
.plan-link:hover{ color:var(--sig); }
.plan-link:hover span{ transform:translateX(5px); }

.plan-note{
  margin-top:26px;
  font-size:12.5px; line-height:1.8;
  color:var(--mute);
}

/* ============ 07 问答 ============ */
.faq{ margin-top:8px; }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{
  display:grid;
  grid-template-columns:56px minmax(0,1fr) 22px;
  align-items:center;
  gap:8px;
  padding:21px 0;
  cursor:pointer;
  list-style:none;
  font-size:15.5px; font-weight:500;
  letter-spacing:-.008em;
  transition:color .2s ease;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary:hover{ color:var(--sig); }
.faq summary::after{
  content:"+";
  font-family:var(--mono);
  font-size:16px;
  color:var(--mute);
  text-align:right;
  line-height:1;
}
.faq details[open] summary::after{ content:"\2212"; }
.faq-n{
  font-family:var(--mono);
  font-size:11px; letter-spacing:.08em;
  color:var(--mute);
  font-weight:400;
}
.faq details p{
  margin:0 0 24px 56px;
  font-size:13.5px; line-height:1.95;
  color:var(--body);
  max-width:74ch;
}

/* ============ CTA ============ */
.cta{
  background:var(--ink);
  color:#EDEAE3;
  padding:clamp(56px,7vw,110px) 0;
}
.cta-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(32px,5vw,72px);
  align-items:end;
}
.cta-k{
  display:block;
  font-family:var(--mono);
  font-size:10.5px; letter-spacing:.14em;
  color:var(--sig-l);
  margin-bottom:20px;
}
.cta-h{
  font-size:clamp(34px,5.2vw,64px);
  line-height:1.02;
  letter-spacing:-.038em;
  font-weight:700;
}
.cta-r p{
  font-size:14px; line-height:1.95;
  color:var(--dark-body);
  max-width:38ch;
  margin-bottom:30px;
}
.cta-tel{
  display:inline-block;
  font-size:clamp(22px,2.6vw,29px);
  font-weight:600;
  letter-spacing:.01em;
  padding-bottom:7px;
  border-bottom:1px solid var(--sig-l);
  font-variant-numeric:tabular-nums;
  transition:color .2s ease;
}
.cta-tel:hover{ color:var(--sig-l); }
.cta-note{
  display:block;
  margin-top:14px;
  font-family:var(--mono);
  font-size:10.5px; letter-spacing:.07em;
  color:rgba(237,234,227,.42);
}

/* ============ 页脚 ============ */
.foot{
  padding:clamp(40px,5vw,60px) 0 26px;
  border-top:1px solid var(--line-2);
}
.foot-grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));
  gap:clamp(24px,3.4vw,44px);
}
.foot-b p{
  margin-top:16px;
  font-size:12.5px; line-height:1.85;
  color:var(--mute);
  max-width:30ch;
}
.foot-c{ display:flex; flex-direction:column; gap:9px; }
.foot-k{
  font-family:var(--mono);
  font-size:10px; letter-spacing:.12em;
  color:var(--mute);
  margin-bottom:5px;
}
.foot-c a, .foot-c span{
  font-size:12.5px; line-height:1.6;
  color:var(--body);
}
.foot-c a{ transition:color .2s ease; }
.foot-c a:hover{ color:var(--sig); }
.foot-c > span{ color:var(--mute); }

.foot-bot{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:32px;
  margin-top:clamp(36px,4.4vw,56px);
  padding-top:18px;
  border-top:1px solid var(--line);
  font-size:11px; line-height:1.7;
  color:var(--mute);
}
.foot-legal{ max-width:600px; text-align:right; }

/* ============ 滚动揭示 ============ */
.js .reveal{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .7s ease, transform .8s cubic-bezier(.16,1,.3,1);
}
.js .reveal.in{ opacity:1; transform:none; }

/* =========================================================
   响应式
   ========================================================= */
@media (min-width:1200px){
  .matrix{ grid-template-columns:repeat(6,minmax(0,1fr)); }
}

@media (max-width:1080px){
  .hero-grid{ grid-template-columns:1fr; gap:36px; }
  .hero-side{ max-width:420px; }
  .matrix{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .sec-head{ grid-template-columns:56px minmax(0,1fr); }
  .sec-head p{ grid-column:2; padding-top:14px; }
}

@media (max-width:900px){
  .nav-links{
    position:absolute; top:64px; left:0; right:0;
    flex-direction:column; align-items:stretch; gap:0;
    background:var(--paper);
    border-bottom:1px solid var(--line-2);
    padding:0 var(--pad);
    display:none;
  }
  .nav-links.open{ display:flex; }
  .nav-links a{ padding:15px 0; border-bottom:1px solid var(--line); font-size:14px; }
  .nav-links a:last-child{ border-bottom:0; }
  .nav-links a::after{ display:none; }
  .burger{ display:block; }

  .cap-list > li{ grid-template-columns:40px minmax(0,1fr); gap:16px; }
  .cap-metric{
    grid-column:2;
    align-items:flex-start; text-align:left;
    margin-top:16px;
  }
  .plans{ grid-template-columns:1fr; }
  .plan{ padding:26px 0 30px !important; border-left:0 !important; }
  .plan + .plan{ border-top:1px solid var(--line-2); }
  .plan-d{ min-height:0; }
  .cta-grid{ grid-template-columns:1fr; align-items:start; }
  .foot-grid{ grid-template-columns:1fr 1fr; }
  .foot-b{ grid-column:1 / -1; }
  .foot-bot{ flex-direction:column; gap:12px; }
  .foot-legal{ text-align:left; }
}

@media (max-width:800px){
  .layer{ grid-template-columns:40px minmax(0,1fr); gap:6px 16px; }
  .ld, .lm{ grid-column:2; }
  .lm{ text-align:left; margin-top:4px; }
  .arch-note{ grid-template-columns:1fr; }
  .spec{ grid-template-columns:1fr; }
  .cases{ grid-template-columns:1fr; }
  .case:nth-child(odd){ padding-right:0; border-right:0; }
  .case:nth-child(even){ padding-left:0; }
  .console-bar .c-opt{ display:none; }
}

@media (max-width:700px){
  .matrix{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero-meta{ gap:6px 20px; font-size:10px; }
  .hero-meta-r{ margin-left:0; width:100%; }
  .hero-meta > span + span::before{ left:-11px; }
  .acts{ flex-direction:column; align-items:stretch; }
  .btn{ width:100%; }
  .btn-solid{ align-items:center; }
  .sec-head{ grid-template-columns:1fr; gap:0; }
  .sec-head .n{ padding-top:0; margin-bottom:12px; }
  .sec-head p{ grid-column:1; }
  .faq summary{ grid-template-columns:36px minmax(0,1fr) 20px; font-size:14.5px; }
  .faq details p{ margin-left:36px; }
  .console-foot{ flex-direction:column; gap:8px; }
  .foot-grid{ grid-template-columns:1fr; }
}

/* =========================================================
   降低动效：必须给出静态可见状态
   ========================================================= */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation:none !important;
    transition:none !important;
  }
  html{ scroll-behavior:auto; }
  .js .reveal{ opacity:1 !important; transform:none !important; }
  .win-bar i{ width:72%; }
  .ripple{ display:none; }
  .c-dot{ opacity:1; }
}
