/* ==========================================================================
   的方式看台 · /assets/site.css
   共享层：重置 / 设计变量 / 中文排版 / 框架式页头 / 页脚 / 通用组件
   ========================================================================== */

/* ---------- 00 · 设计变量 ---------- */
:root{
  /* 色彩 */
  --kb-night:#0B1B2B;
  --kb-deep:#12293D;
  --kb-cyan:#38F2D0;
  --kb-orange:#FF7A2F;
  --kb-chalk:#E8EDF2;
  --kb-gray:#8A97A3;
  --kb-moss:#4F7A5A;
  --kb-clay:#B96A4B;
  --kb-paper:#F4F1E9;
  --kb-track:#1E3A4C;

  --kb-line:#1E3A4C;
  --kb-hair:rgba(232,237,242,.10);

  /* 字体 */
  --kb-serif:"Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,"SimSun",serif;
  --kb-ui:"HarmonyOS Sans SC","Noto Sans SC","PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  --kb-mono:"JetBrains Mono","Roboto Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  /* 框架尺寸 */
  --kb-rail:124px;
  --kb-top:64px;
  --kb-entry:34px;
  --kb-header-h:98px;

  /* 版面 */
  --kb-max:1340px;
  --kb-gut:clamp(18px,3.6vw,52px);
  --kb-cut:14px;
  --kb-block:clamp(48px,7vw,104px);
}

/* ---------- 01 · 重置 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{background:var(--kb-night);-webkit-text-size-adjust:100%}
body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,ul,ol,hr{margin:0}
ul,ol{padding:0;list-style:none}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:2px solid var(--kb-cyan);outline-offset:3px}
::selection{background:var(--kb-cyan);color:var(--kb-night)}

@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
}

/* ---------- 02 · 中文基础排版 ---------- */
body{
  min-height:100vh;
  background:var(--kb-night);
  color:var(--kb-chalk);
  font-family:var(--kb-ui);
  font-size:16.5px;
  line-height:1.75;
  letter-spacing:.012em;
  padding-left:var(--kb-rail);
  padding-top:var(--kb-header-h);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5{font-weight:800;line-height:1.2;letter-spacing:-.006em}
h1{font-size:clamp(30px,5.2vw,62px);line-height:1.04}
h2{font-size:clamp(24px,3.1vw,38px);line-height:1.12}
h3{font-size:clamp(18px,1.9vw,24px)}
h4{font-size:17px;font-weight:800}
small{font-size:13px;line-height:1.6}

@media (min-width:1240px){
  body::after{
    content:"";
    position:fixed;
    top:0;right:0;bottom:0;width:1px;
    background:linear-gradient(180deg,transparent,var(--kb-track) 16%,var(--kb-track) 84%,transparent);
    pointer-events:none;
    z-index:60;
  }
}

/* ---------- 03 · 跳至主内容 ---------- */
.kb-skip{
  position:fixed;
  top:8px;left:8px;
  z-index:200;
  padding:10px 18px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.06em;
  color:var(--kb-night);
  background:var(--kb-cyan);
  transform:translateY(-200%);
  transition:transform .16s ease;
}
.kb-skip:focus{transform:translateY(0)}

/* ---------- 04 · 滚动进度 ---------- */
.kb-progress{
  position:fixed;
  top:0;left:0;right:0;
  height:2px;
  z-index:95;
  pointer-events:none;
}
.kb-progress__bar{
  display:block;
  height:100%;
  width:100%;
  transform:scaleX(0);
  transform-origin:0 50%;
  background:linear-gradient(90deg,var(--kb-cyan),var(--kb-orange));
}

/* ---------- 05 · 框架式页头 ---------- */
.kb-header{position:relative;z-index:80}

.kb-header__rail{
  position:fixed;
  top:0;left:0;bottom:0;
  width:var(--kb-rail);
  z-index:80;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:22px 8px 20px;
  background:var(--kb-night);
  border-right:1px solid var(--kb-line);
}

.kb-header__bar{
  position:fixed;
  top:0;left:var(--kb-rail);right:0;
  z-index:80;
  display:flex;
  flex-direction:column;
  background:var(--kb-night);
  border-bottom:1px solid var(--kb-line);
}

.kb-rail__note{
  writing-mode:vertical-rl;
  margin:0 auto;
  font-family:var(--kb-mono);
  font-size:10px;
  letter-spacing:.42em;
  color:var(--kb-track);
  user-select:none;
}

/* ---------- 06 · 主导航 ---------- */
.kb-nav{width:100%}
.kb-nav__list{display:flex;flex-direction:column;gap:2px}
.kb-nav__link{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:center;
  gap:6px;
  padding:10px 8px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.03em;
  color:var(--kb-gray);
  border-left:2px solid transparent;
  transition:color .12s ease,background-color .12s ease,border-color .12s ease,transform .12s ease;
}
.kb-nav__link:hover{
  color:var(--kb-chalk);
  background:var(--kb-deep);
  border-left-color:var(--kb-track);
  transform:translateX(2px);
}
.kb-nav__link[aria-current="page"]{
  color:var(--kb-cyan);
  background:var(--kb-deep);
  border-left-color:var(--kb-cyan);
}
.kb-nav__index{
  font-family:var(--kb-mono);
  font-size:10px;
  font-weight:400;
  letter-spacing:0;
  color:var(--kb-track);
}
.kb-nav__link[aria-current="page"] .kb-nav__index,
.kb-nav__link:hover .kb-nav__index{color:inherit;opacity:.7}
.kb-nav__label{min-width:0;overflow-wrap:anywhere}

/* ---------- 07 · 顶部横栏 ---------- */
.kb-topbar{
  height:var(--kb-top);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 var(--kb-gut) 0 clamp(16px,2.4vw,32px);
  border-bottom:1px solid var(--kb-hair);
}
.kb-topbar__actions{display:flex;align-items:center;gap:10px}

.kb-brand{display:flex;align-items:center;gap:10px;min-width:0}
.kb-brand__mark{
  flex:none;
  width:30px;height:30px;
  display:grid;place-items:center;
  font-family:var(--kb-mono);
  font-size:14px;
  font-weight:700;
  color:var(--kb-night);
  background:var(--kb-cyan);
  clip-path:polygon(0 0,100% 0,100% 70%,70% 100%,0 100%);
}
.kb-brand__text{display:flex;flex-direction:column;line-height:1.18;min-width:0}
.kb-brand__name{
  font-size:16px;
  font-weight:800;
  letter-spacing:.05em;
  color:var(--kb-chalk);
  white-space:nowrap;
}
.kb-brand__sub{
  font-size:10px;
  letter-spacing:.08em;
  color:var(--kb-gray);
  white-space:nowrap;
}
.kb-brand:hover .kb-brand__name{color:var(--kb-cyan)}
.kb-brand--footer .kb-brand__name{font-size:17px}

.kb-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 20px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  white-space:nowrap;
  color:var(--kb-night);
  background:var(--kb-cyan);
  border-radius:2px;
  transition:background-color .14s ease,color .14s ease,transform .14s ease,box-shadow .14s ease;
}
.kb-btn:hover{background:var(--kb-chalk);transform:translateY(-1px)}
.kb-btn:active{transform:translateY(0)}
.kb-btn--ghost{
  color:var(--kb-chalk);
  background:transparent;
  box-shadow:inset 0 0 0 1px var(--kb-track);
}
.kb-btn--ghost:hover{color:var(--kb-cyan);background:var(--kb-deep);box-shadow:inset 0 0 0 1px var(--kb-cyan)}
.kb-btn--alert{color:#180D06;background:var(--kb-orange)}
.kb-btn--alert:hover{background:#FFB184}

/* ---------- 08 · 入口横条 ---------- */
.kb-entrybar{
  height:var(--kb-entry);
  display:flex;
  align-items:center;
  gap:20px;
  padding:0 var(--kb-gut) 0 clamp(16px,2.4vw,32px);
  background:var(--kb-deep);
  overflow:hidden;
}
.kb-entrybar__lead{
  flex:none;
  display:inline-flex;
  align-items:center;
  gap:7px;
  height:calc(var(--kb-entry) - 12px);
  padding:0 11px;
  color:var(--kb-night);
  background:var(--kb-cyan);
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  transition:background-color .14s ease;
}
.kb-entrybar__lead:hover{background:var(--kb-chalk)}
.kb-entrybar__year{font-family:var(--kb-mono);font-weight:700}
.kb-entrybar__ticker{display:flex;align-items:center;gap:20px;min-width:0;overflow:hidden}
.kb-entrybar__ticker li{position:relative;padding-left:14px}
.kb-entrybar__ticker li::before{
  content:"";
  position:absolute;
  left:0;top:50%;
  width:5px;height:5px;
  background:var(--kb-track);
  transform:translateY(-50%) rotate(45deg);
}
.kb-entrybar__ticker a{
  font-size:11px;
  letter-spacing:.12em;
  color:var(--kb-gray);
  white-space:nowrap;
  transition:color .12s ease;
}
.kb-entrybar__ticker a:hover{color:var(--kb-cyan)}

/* ---------- 09 · 移动导航按钮 ---------- */
.kb-navtoggle{
  display:none;
  align-items:center;
  gap:8px;
  height:38px;
  padding:0 12px;
  color:var(--kb-chalk);
  box-shadow:inset 0 0 0 1px var(--kb-track);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
}
.kb-navtoggle__icon{position:relative;display:block;width:16px;height:10px;flex:none}
.kb-navtoggle__icon::before,
.kb-navtoggle__icon::after{
  content:"";
  position:absolute;
  left:0;
  width:16px;height:2px;
  background:currentColor;
  transition:transform .16s ease;
}
.kb-navtoggle__icon::before{top:0}
.kb-navtoggle__icon::after{bottom:0}
.kb-navtoggle[aria-expanded="true"] .kb-navtoggle__icon::before{transform:translateY(4px) rotate(45deg)}
.kb-navtoggle[aria-expanded="true"] .kb-navtoggle__icon::after{transform:translateY(-4px) rotate(-45deg)}
.kb-navtoggle:hover{color:var(--kb-cyan)}

/* ---------- 10 · 版面容器与栅格 ---------- */
.kb-shell{
  width:100%;
  max-width:var(--kb-max);
  margin:0 auto;
  padding:clamp(26px,4vw,62px) var(--kb-gut);
}
.kb-shell--tight{padding-top:clamp(16px,2vw,28px)}
.kb-section{padding-block:var(--kb-block)}
.kb-grid{display:grid;gap:clamp(16px,2.2vw,30px)}
.kb-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.kb-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.kb-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.kb-grid--split{grid-template-columns:minmax(0,7fr) minmax(0,4fr)}
.kb-grid--split-wide{grid-template-columns:minmax(0,8fr) minmax(0,3fr)}

/* ---------- 11 · 面包屑 ---------- */
.kb-crumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--kb-gray);
}
.kb-crumbs li{display:flex;align-items:center;gap:7px}
.kb-crumbs li:not(:last-child)::after{
  content:"";
  width:10px;height:1px;
  background:var(--kb-track);
}
.kb-crumbs a{transition:color .12s ease}
.kb-crumbs a:hover{color:var(--kb-cyan)}
.kb-crumbs [aria-current="page"]{color:var(--kb-chalk)}

/* ---------- 12 · 切角面板 / 展签 ---------- */
.kb-panel{
  position:relative;
  background:var(--kb-deep);
  padding:clamp(18px,2.4vw,28px);
  clip-path:polygon(
    0 0,
    calc(100% - var(--kb-cut)) 0,
    100% var(--kb-cut),
    100% 100%,
    var(--kb-cut) 100%,
    0 calc(100% - var(--kb-cut))
  );
}
.kb-panel--quiet{background:rgba(18,41,61,.62)}
.kb-panel--paper{
  background:var(--kb-paper);
  color:var(--kb-night);
}
.kb-panel--paper h2,
.kb-panel--paper h3,
.kb-panel--paper h4{color:var(--kb-night)}
.kb-panel--paper .kb-prose{color:#23303C}

.kb-plate{
  position:absolute;
  top:0;left:0;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  background:var(--kb-track);
  color:var(--kb-chalk);
  font-family:var(--kb-mono);
  font-size:10px;
  letter-spacing:.12em;
}
.kb-plate--alert{background:var(--kb-orange);color:#180D06}
.kb-plate--cyan{background:var(--kb-cyan);color:var(--kb-night)}

/* ---------- 13 · 标签 / 数字 ---------- */
.kb-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 9px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  color:var(--kb-cyan);
  background:rgba(56,242,208,.10);
  box-shadow:inset 0 0 0 1px rgba(56,242,208,.28);
}
.kb-tag--alert{color:var(--kb-orange);background:rgba(255,122,47,.12);box-shadow:inset 0 0 0 1px rgba(255,122,47,.32)}
.kb-tag--moss{color:#A6D8B5;background:rgba(79,122,90,.24);box-shadow:inset 0 0 0 1px rgba(79,122,90,.55)}
.kb-tag--clay{color:#E8AB8E;background:rgba(185,106,75,.22);box-shadow:inset 0 0 0 1px rgba(185,106,75,.55)}
.kb-tag--chalk{color:var(--kb-chalk);background:rgba(232,237,242,.08);box-shadow:inset 0 0 0 1px rgba(232,237,242,.2)}

.kb-num{
  font-family:var(--kb-mono);
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
  letter-spacing:-.02em;
}
.kb-score{
  font-family:var(--kb-mono);
  font-variant-numeric:tabular-nums;
  font-weight:700;
  font-size:clamp(38px,7vw,86px);
  line-height:1;
  letter-spacing:-.04em;
  color:var(--kb-chalk);
}
.kb-score--cyan{color:var(--kb-cyan)}
.kb-score--alert{color:var(--kb-orange)}

/* ---------- 14 · 图片容器 ---------- */
.kb-figure{display:block;position:relative;margin:0}
.kb-figure__frame{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:linear-gradient(150deg,var(--kb-track) 0%,var(--kb-deep) 62%,var(--kb-night) 100%);
  clip-path:polygon(0 0,calc(100% - var(--kb-cut)) 0,100% var(--kb-cut),100% 100%,0 100%);
}
.kb-figure__frame img{width:100%;height:100%;object-fit:cover}
.kb-figure__frame::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    repeating-linear-gradient(0deg,rgba(232,237,242,.055) 0 1px,transparent 1px 46px),
    repeating-linear-gradient(90deg,rgba(232,237,242,.055) 0 1px,transparent 1px 46px);
}
.kb-figure__frame--hero{aspect-ratio:21/9}
.kb-figure__frame--tall{aspect-ratio:4/5}
.kb-figure__frame--square{aspect-ratio:1/1}
.kb-figure__caption{
  display:block;
  margin-top:10px;
  padding-left:12px;
  border-left:2px solid var(--kb-track);
  font-size:12.5px;
  line-height:1.65;
  color:var(--kb-gray);
}

/* ---------- 15 · 长文排版 ---------- */
.kb-prose{font-size:16.5px;line-height:1.78;color:var(--kb-chalk)}
.kb-prose p{max-width:68ch;margin-bottom:1.25em}
.kb-prose p:last-child{margin-bottom:0}
.kb-prose h2,.kb-prose h3{margin:2em 0 .7em}
.kb-prose h2:first-child,.kb-prose h3:first-child{margin-top:0}
.kb-prose ul{display:grid;gap:10px;margin-bottom:1.25em}
.kb-prose li{position:relative;padding-left:18px;max-width:66ch}
.kb-prose li::before{
  content:"";
  position:absolute;
  left:0;top:.78em;
  width:7px;height:2px;
  background:var(--kb-cyan);
}
.kb-prose strong{font-weight:800;color:#FFFFFF}
.kb-prose a{color:var(--kb-cyan);border-bottom:1px solid var(--kb-track)}
.kb-prose a:hover{border-bottom-color:var(--kb-cyan)}
.kb-prose blockquote{
  margin:1.6em 0;
  padding:4px 0 4px 20px;
  border-left:3px solid var(--kb-clay);
  font-family:var(--kb-serif);
  font-size:18px;
  line-height:1.7;
  color:var(--kb-chalk);
}
.kb-serif-quote{
  font-family:var(--kb-serif);
  font-weight:700;
  line-height:1.5;
  letter-spacing:.005em;
}

/* ---------- 16 · 显现动效 ---------- */
html.kb-reveal-ready [data-reveal]{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .42s cubic-bezier(.22,.7,.3,1),transform .42s cubic-bezier(.22,.7,.3,1);
}
html.kb-reveal-ready [data-reveal][data-revealed="true"]{opacity:1;transform:none}

/* ---------- 17 · 返回顶部 ---------- */
.kb-totop{
  position:fixed;
  right:clamp(14px,2.4vw,30px);
  bottom:clamp(14px,2.4vw,28px);
  z-index:75;
  width:52px;height:52px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  color:var(--kb-cyan);
  background:var(--kb-deep);
  box-shadow:inset 0 0 0 1px var(--kb-track);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 13px),calc(100% - 13px) 100%,0 100%);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease,background-color .14s ease;
}
.kb-totop[data-visible="true"]{opacity:1;visibility:visible;transform:none}
.kb-totop:hover,.kb-totop:focus-visible{background:var(--kb-track);outline:none}
.kb-totop__arrow{
  width:9px;height:9px;
  border-left:2px solid currentColor;
  border-top:2px solid currentColor;
  transform:rotate(45deg) translate(1px,1px);
}
.kb-totop__text{
  font-family:var(--kb-mono);
  font-size:9px;
  letter-spacing:.14em;
}

/* ---------- 18 · 页脚 ---------- */
.kb-footer{
  position:relative;
  margin-top:var(--kb-block);
  background:var(--kb-deep);
  border-top:1px solid var(--kb-line);
}
.kb-footer::before{
  content:"";
  position:absolute;
  top:-1px;left:0;
  width:clamp(96px,22vw,260px);
  height:3px;
  background:linear-gradient(90deg,var(--kb-cyan),var(--kb-orange));
}
.kb-footer__inner{
  max-width:var(--kb-max);
  margin:0 auto;
  padding:clamp(38px,5.4vw,78px) var(--kb-gut) clamp(28px,3.6vw,50px);
  display:grid;
  grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr)) minmax(0,1.35fr);
  gap:clamp(24px,3.4vw,52px);
}
.kb-footer__brand{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.kb-footer__meta{
  font-size:13px;
  line-height:1.75;
  color:var(--kb-gray);
  max-width:34ch;
}
.kb-footer__col{min-width:0}
.kb-footer__title{
  position:relative;
  margin-bottom:16px;
  padding-left:15px;
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.16em;
  color:var(--kb-chalk);
}
.kb-footer__title::before{
  content:"";
  position:absolute;
  left:0;top:.55em;
  width:6px;height:6px;
  background:var(--kb-cyan);
  transform:rotate(45deg);
}
.kb-footer__list{display:flex;flex-direction:column;gap:9px}
.kb-footer__link{
  display:inline-block;
  font-size:13.5px;
  color:var(--kb-gray);
  transition:color .12s ease,transform .12s ease;
}
.kb-footer__link:hover{color:var(--kb-cyan);transform:translateX(3px)}
.kb-footer__list--plain li{font-size:13.5px;line-height:1.7;color:var(--kb-gray);word-break:break-word}
.kb-footer__note{
  margin-top:14px;
  padding-left:10px;
  border-left:2px solid var(--kb-moss);
  font-size:12px;
  line-height:1.7;
  color:var(--kb-gray);
}
.kb-footer__base{
  max-width:var(--kb-max);
  margin:0 auto;
  padding:16px var(--kb-gut) 22px;
  border-top:1px solid var(--kb-line);
  display:flex;
  flex-wrap:wrap;
  gap:8px 28px;
  align-items:center;
  justify-content:space-between;
  font-size:12px;
  letter-spacing:.04em;
  color:var(--kb-gray);
}
.kb-footer__legal{font-family:var(--kb-mono);letter-spacing:.02em}

/* ---------- 19 · 响应式：平板 ---------- */
@media (max-width:1023.98px){
  :root{--kb-header-h:60px}

  body{padding-left:0;padding-top:var(--kb-header-h)}
  body::after{display:none}

  .kb-header__rail{
    position:static;
    width:auto;height:auto;bottom:auto;
    padding:0;
    border-right:0;
    background:none;
    display:block;
  }
  .kb-rail__note{display:none}

  .kb-nav{
    position:fixed;
    top:var(--kb-header-h);left:0;right:0;
    z-index:79;
    padding:10px 12px 22px;
    background:var(--kb-night);
    border-bottom:1px solid var(--kb-line);
    max-height:calc(100vh - var(--kb-header-h));
    overflow-y:auto;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
  }
  .kb-nav[data-open]{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
  .kb-nav__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .kb-nav__link{
    grid-template-columns:24px minmax(0,1fr);
    padding:14px 12px;
    font-size:14px;
    background:var(--kb-deep);
    border-left-width:3px;
  }
  .kb-nav__link[aria-current="page"]{background:var(--kb-deep);color:var(--kb-cyan)}
  .kb-nav__index{font-size:11px}

  .kb-header__bar{left:0}
  .kb-topbar{
    height:var(--kb-header-h);
    padding:0 14px;
    border-bottom:0;
  }
  .kb-entrybar{display:none}
  .kb-navtoggle{display:inline-flex}

  .kb-grid--3,
  .kb-grid--4,
  .kb-grid--split,
  .kb-grid--split-wide{grid-template-columns:repeat(2,minmax(0,1fr))}

  .kb-footer__inner{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kb-footer__brand{grid-column:1 / -1}
}

/* ---------- 20 · 响应式：手机 ---------- */
@media (max-width:639.98px){
  body{font-size:16px}
  .kb-brand__sub{display:none}
  .kb-btn{padding:10px 14px;font-size:12px;letter-spacing:.06em}
  .kb-btn--ghost{display:none}
  .kb-nav__list{grid-template-columns:minmax(0,1fr)}
  .kb-grid--2,
  .kb-grid--3,
  .kb-grid--4,
  .kb-grid--split,
  .kb-grid--split-wide{grid-template-columns:minmax(0,1fr)}
  .kb-footer__inner{grid-template-columns:minmax(0,1fr)}
  .kb-footer__base{flex-direction:column;align-items:flex-start}
  .kb-totop{width:46px;height:46px}
}

/* ---------- 21 · 减弱动效 ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    transition-delay:0ms !important;
  }
  html.kb-reveal-ready [data-reveal]{opacity:1;transform:none}
  .kb-btn:hover{transform:none}
  .kb-nav__link:hover{transform:none}
  .kb-footer__link:hover{transform:none}
}
