/* ==========================================================================
   sections.css — 首页各板块的版式度量
   ========================================================================== */

.page { display: flex; flex-direction: column; min-height: 100vh; background: var(--color-bg-page); }
.hero-portal { position: relative; }

/* ------------------------------ 首屏（mimo sections.css:10-52） ------------------------------ */
.hero {
  width: calc(100% - (var(--gutter) * 2));
  max-width: var(--container);
  margin-inline: auto;
  padding: 40px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hero__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  width: 603px;
  max-width: 100%;
}
.hero__text { display: flex; flex-direction: column; align-items: center; gap: 33px; width: 100%; }
.hero__slot { position: relative; display: block; width: 100%; }
.hero__line {
  width: 100%;
  font-family: var(--font-hero);
  font-size: 48px;
  font-weight: 500;
  line-height: 49px;
  text-align: center;
  white-space: nowrap;
  color: var(--color-text-strong);
}
.hero__line--sizer { opacity: 0; }                 /* 只负责撑宽，永远不可见 */
.hero__line--type { position: absolute; inset: 0; }
.hero__caret {
  display: inline-block;
  width: 2px; height: 40px;
  margin-left: 4px;
  vertical-align: -3px;
  background: var(--color-highlight);
  opacity: 0;
}
.hero__caret.is-on { animation: caret 1s steps(1) infinite; }
@keyframes caret { 0%,49% { opacity: 1 } 50%,100% { opacity: 0 } }

.hero__btns { display: flex; justify-content: center; flex-wrap: wrap; }
.hero__btns .pill + .pill { margin-left: 12px; }   /* 线上 gap 为 normal，用外边距得到同一 12px */

/* 副标题与数据小字条（门户自有，非 mimo 搬运） */
.hero__sub {
  width: 100%; max-width: 640px;
  font-size: 15px; line-height: 26px;
  text-align: center;
  color: var(--color-text-secondary);
}
.hero__facts {
  width: 100%;
  justify-content: center;
  font-family: var(--font-mono);
  font-size: 12px; letter-spacing: .04em;
  color: var(--color-faint);
  display: flex; align-items: center; gap: 10px;
}
.hero__facts::before, .hero__facts::after {
  content: ""; width: 36px; height: 1px; background: var(--color-border-warm);
}
.hero__content { gap: 32px; }

@media (max-width: 919px) {
  .hero { padding: 28px 0; }
  .hero__content { gap: 24px; }
  .hero__text { gap: 14px; }
  .hero__line { font-size: clamp(26px, 7.6vw, 40px); line-height: 1.25; white-space: normal; }
  .hero__line--sizer { display: none; }
  .hero__line--type { position: static; }
  .hero__sub { font-size: 13.5px; line-height: 23px; }
  .hero__facts { font-size: 11px; }
  .pill { min-width: 0; }
}

/* ------------------------ 能力跑马灯（Kimi styles.css:241-266） ------------------------
   外层沿用 mimo banner 的溢出与居中尺寸（sections.css:55-61），
   内容换成本站能力条，不放三方 logo。                                  */
.loop-wrap {
  width: calc(100% - (var(--gutter) * 2) - (var(--bleed) * 2));
  max-width: calc(var(--container) + (var(--bleed) * 2));
  margin-inline: auto;
  padding-bottom: 72px;
}
.logolabel { font-size: 13px; line-height: 20px; color: var(--color-text-secondary); margin-bottom: 16px; }
.logoloop {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.logoloop__track { display: flex; width: max-content; animation: logoScroll 48s linear infinite; }
.logoloop:hover .logoloop__track { animation-play-state: paused; }
.logoloop__list { display: flex; align-items: center; height: 72px; padding-right: 8px; }
.logoloop__list li { flex: none; }
.loopchip {
  display: flex; align-items: center; gap: 8px;
  height: 44px; padding: 0 18px; margin-right: 8px;
  border: 1px solid var(--color-border-warm);
  border-radius: var(--r-999);
  background: var(--color-card);
  font-family: var(--font-mono);
  font-size: 13px; line-height: 20px; color: var(--color-text);
  white-space: nowrap;
}
.loopchip i { width: 5px; height: 5px; border-radius: 50%; background: var(--color-faint); flex: none; }
@keyframes logoScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* --------------------- 最新动态（mimo sections.css:94-135） ---------------------
   标题条吸顶（top 52，被导航压住的那条），左特色卡再往下吸顶（top 148），右侧三张长滚 */
.updates__sticky {
  position: sticky;
  top: var(--sticky-top);
  z-index: 5;
  height: 96px;
  background: var(--color-bg-page);
}
.updates__layout { display: flex; gap: 24px; align-items: flex-start; }
.updates__feature { position: sticky; top: var(--sticky-feat); flex: 0 0 920px; max-width: 920px; }
.updates__feature-link { display: block; }
.updates__feature .u-img { width: 920px; height: 460px; }
.u-info { padding-top: 16px; }
.u-title {
  font-size: 24px; font-weight: 700; line-height: 1.16; letter-spacing: -.72px;
  font-family: var(--font-main);
  color: var(--color-text-strong);
}
.u-title--sm { font-size: 18px; line-height: 24px; letter-spacing: -.18px; }
.u-desc {
  font-size: 16px; line-height: 24px; letter-spacing: -.18px;
  color: var(--color-text-50);
  font-family: var(--font-main);
}
.u-info .u-desc { margin-top: 4px; }
.updates__side { flex: 1 1 316px; min-width: 0; display: flex; flex-direction: column; gap: 64px; }
.updates__item { display: block; }
.updates__item .u-img { width: 100%; aspect-ratio: 1 / 1; }
.updates__item .u-info { padding-top: 16px; height: 90px; }
.u-img img, .updates__item img { transition: transform .8s var(--ease-out-expo); }
.updates__item:hover .u-img img,
.updates__feature-link:hover .u-img img { transform: scale(1.03); }

/* 自绘图位（替掉 mimo 的线上配图）：细网格 + mono 标签，色值全部取主题变量 */
.u-art {
  position: relative; width: 100%; height: 100%;
  background:
    radial-gradient(72% 88% at 18% 10%, var(--art-a), transparent 62%),
    radial-gradient(64% 80% at 86% 82%, var(--art-b), transparent 60%),
    var(--color-bg-card);
  display: flex; align-items: flex-end; padding: 20px;
  overflow: hidden;
}
.u-art::after {
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(var(--color-border-warm) 1px, transparent 1px),
                    linear-gradient(90deg, var(--color-border-warm) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: .5;
  -webkit-mask-image: linear-gradient(160deg, #000 6%, transparent 72%);
  mask-image: linear-gradient(160deg, #000 6%, transparent 72%);
}
.u-art span {
  position: relative; z-index: 1;
  font-family: var(--font-mono); font-size: 12px; line-height: 18px;
  color: var(--color-text-secondary);
  background: var(--color-chip);
  padding: 4px 10px; border-radius: var(--r-6);
}
.u-art--rows { flex-direction: column; align-items: stretch; justify-content: center; gap: 10px; padding: 28px; }
.u-art__row {
  position: relative; z-index: 1;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 10px 12px; border-radius: var(--r-8);
  border: 1px solid var(--color-border-warm);
  background: var(--color-card);
  font-family: var(--font-mono); font-size: 12px; color: var(--color-text);
}
.u-art__row b { font-weight: 500; color: var(--color-text-strong); }
.u-art__row em { font-style: normal; color: var(--color-text-secondary); }
.art-a { --art-a: rgba(31, 35, 41, .07); --art-b: rgba(31, 35, 41, .03); }
html[data-theme="dark"] .art-a { --art-a: rgba(255, 255, 255, .07); --art-b: rgba(255, 255, 255, .03); }
.art-b { --art-a: rgba(120, 90, 40, .10); --art-b: rgba(31, 35, 41, .04); }
html[data-theme="dark"] .art-b { --art-a: rgba(255, 255, 255, .10); --art-b: rgba(255, 255, 255, .04); }

@media (max-width: 1180px) {
  .updates__feature { flex-basis: 62%; }
  .updates__feature .u-img { width: 100%; height: auto; aspect-ratio: 2 / 1; }
}
@media (max-width: 919px) {
  .updates__sticky { position: static; height: auto; padding-bottom: 24px; }
  .updates__layout { flex-direction: column; }
  .updates__feature { position: static; flex: none; max-width: none; width: 100%; }
  .updates__side { gap: 40px; }
  .sec-title { font-size: 30px; }
}

/* ------------------- 协议卡（Kimi styles.css:306-364） -------------------
   原站 3 列放三个模型；我们四种协议 → 4 列，单列宽 297px 与 mimo m-card 同值 */
.model-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.model-card {
  display: flex; flex-direction: column;
  border: 1px solid var(--color-border-warm);
  border-radius: var(--r-card);
  background: var(--color-card);
  overflow: hidden;
  transition: transform .35s var(--ease-std), box-shadow .35s var(--ease-std);
}
.model-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px var(--color-shadow); }
.model-card__header { position: relative; height: 184px; flex: none; }
.model-card__texture {
  position: absolute;
  top: 8px; left: 8px; right: 8px;
  width: calc(100% - 16px);
  height: 176px;
  border-radius: var(--r-6);
  background:
    radial-gradient(66% 92% at 20% 14%, var(--art-a), transparent 60%),
    radial-gradient(58% 78% at 84% 80%, var(--art-b), transparent 58%),
    var(--color-bg-card);
}
.model-card__texture::after {
  content: ""; position: absolute; inset: 0; border-radius: var(--r-6);
  background-image: linear-gradient(var(--color-border-warm) 1px, transparent 1px),
                    linear-gradient(90deg, var(--color-border-warm) 1px, transparent 1px);
  background-size: 22px 22px;
  opacity: .6;
  -webkit-mask-image: linear-gradient(150deg, #000 12%, transparent 74%);
  mask-image: linear-gradient(150deg, #000 12%, transparent 74%);
}
.model-card__name {
  position: absolute;
  top: 50%; left: 0; right: 0;
  transform: translateY(-50%);
  font-family: var(--font-mono);
  font-size: 32px; line-height: 32px;
  font-weight: 400;
  color: var(--color-text-strong);
  text-align: center;
  z-index: 1;
}
.model-card__desc { padding: 24px; }
.model-card__desc p { font-size: 15px; line-height: 22px; color: var(--color-text-secondary); font-family: var(--font-main); }
.model-card__divider { height: 1px; background: var(--color-border-warm); flex: none; }
.model-card__pricing { padding: 32px 24px; display: flex; flex-direction: column; gap: 16px; }
.price-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; height: 24px; }
.price-row dt { font-size: 14px; color: var(--color-text-secondary); font-family: var(--font-main); }
.price-row dd { font-size: 14px; color: var(--color-text-strong); font-family: var(--font-mono); text-align: right; }

@media (max-width: 1180px) { .model-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 919px)  { .model-grid { grid-template-columns: 1fr; } }

/* ------------------- 能力格（Kimi styles.css:367-407） ------------------- */
.tools-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  border: 1px solid var(--color-border-warm);
  border-radius: var(--r-card);
  overflow: hidden;
  background: var(--color-card);
}
.tool-cell {
  display: flex; align-items: center; gap: 16px;
  padding: 16px 24px; min-height: 82px;
  border-right: 1px solid var(--color-border-warm);
  border-bottom: 1px solid var(--color-border-warm);
  transition: background-color .15s var(--ease-std);
}
.tool-cell:hover { background: var(--color-bg-card); }
.tools-grid .tool-cell:nth-child(2n) { border-right: none; }
.tool-cell--wide { grid-column: 1 / -1; border-right: none; }
.tools-grid .tool-cell:nth-last-child(-n+2):not(.tool-cell--wide) { border-bottom: none; }
.tool-cell__icon {
  flex: none; width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--color-border-warm);
  border-radius: var(--r-8);
  color: var(--color-text);
}
.tool-cell__icon svg { width: 20px; height: 20px; }
.tool-cell__body h3 { font-size: 16px; line-height: 24px; font-weight: 500; color: var(--color-text-strong); }
.tool-cell__body p { font-size: 14px; line-height: 20px; color: var(--color-text-secondary); margin-top: 2px; }
.tool-cell__body .m-txt { font-size: 12px; line-height: 18px; color: var(--color-faint); }

@media (max-width: 919px) {
  .tools-grid { grid-template-columns: 1fr; }
  .tools-grid .tool-cell { border-right: none; border-bottom: 1px solid var(--color-border-warm); }
  .tools-grid .tool-cell:last-child { border-bottom: none; }
}

/* ------------------- 架构四宫格（Kimi styles.css:410-448） ------------------- */
.complex-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--color-border-warm); border-radius: var(--r-card); overflow: hidden; background: var(--color-card); }
.complex-card { display: flex; flex-direction: column; gap: 16px; overflow: hidden; }
.complex-card:not(:first-child) { border-left: 1px solid var(--color-border-warm); }
.complex-card__texture { padding: 8px 8px 0; flex: none; }
.complex-card__texture .u-art { height: 176px; border-radius: var(--r-6); }
.complex-card__body { padding: 0 24px 24px; display: flex; flex-direction: column; gap: 8px; }
.complex-card__body h3 { font-size: 16px; line-height: 24px; font-weight: 500; color: var(--color-text-strong); }
.complex-card__body p { font-size: 15px; line-height: 22px; color: var(--color-text-secondary); }
.complex-card__num { font-family: var(--font-mono); font-size: 11px; letter-spacing: .12em; color: var(--color-faint); }

@media (max-width: 1180px) {
  .complex-grid { grid-template-columns: repeat(2, 1fr); }
  .complex-card { border: none; border-bottom: 1px solid var(--color-border-warm); }
  .complex-card:nth-child(2n) { border-left: 1px solid var(--color-border-warm); }
  .complex-card:nth-child(n+3) { border-bottom: none; }
}
@media (max-width: 919px) {
  .complex-grid { grid-template-columns: 1fr; }
  .complex-card { border-left: none !important; border-bottom: 1px solid var(--color-border-warm) !important; }
  .complex-card:last-child { border-bottom: none !important; }
}

/* ------------------- 快速开始（Kimi styles.css:484-548） ------------------- */
.qs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.qs-col {
  border: 1px solid var(--color-border-warm);
  border-radius: var(--r-card);
  background: var(--color-card);
  overflow: hidden;
  display: flex; flex-direction: column;
}
.qs-header { padding: 8px; }
.qs-header .u-art { height: 200px; border-radius: var(--r-6); }
.qs-info__head { padding: 24px 24px 0; display: flex; flex-direction: column; gap: 4px; }
.qs-info__head h3 { font-size: 18px; line-height: 26px; font-weight: 500; color: var(--color-text-strong); }
.qs-info__head p { font-size: 16px; line-height: 24px; color: var(--color-text-secondary); }
.qs-features { padding: 16px 24px 0; display: flex; flex-direction: column; gap: 16px; }
.qs-features li {
  position: relative; padding-left: 24px;
  font-size: 16px; line-height: 24px; color: var(--color-text-secondary);
}
.qs-features li::before {
  content: ""; position: absolute; left: 0; top: 4px;
  width: 14px; height: 14px; background: var(--color-text-50);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2.5 7.5 3 3 6-6.5'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2.5 7.5 3 3 6-6.5'/%3E%3C/svg%3E") no-repeat center / contain;
}
.qs-features li .m-txt { color: var(--color-text-strong); font-size: 14px; }
.qs-btn-row { padding: 24px; margin-top: auto; }
.qs-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 480px; max-width: 100%; height: 40px;
  font-size: 14px; font-weight: 500;
  transition: background-color .15s var(--ease-std);
}
.qs-btn--primary { background: var(--color-invert); color: var(--color-on-invert); border-radius: var(--r-8); }
.qs-btn--primary:hover { background: var(--color-primary-85); }
.qs-btn--secondary { background: var(--color-bg-section); color: var(--color-text); border-radius: var(--r-12); }
.qs-btn--secondary:hover { background: var(--color-surface-hover); }

@media (max-width: 919px) {
  .qs-grid { grid-template-columns: 1fr; }
  .qs-btn { width: 100%; }
}

/* ------------------- 为什么选 OM：6 特性卡（原 eco 生态格位） ------------------- */
.eco-sec .why { margin-top: 48px; }
.why { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.why__card {
  display: flex; flex-direction: column; gap: 12px;
  padding: 28px 26px;
  background: var(--color-card);
  border: 1px solid var(--color-border-warm);
  border-radius: var(--r-24);
  transition: transform .3s var(--ease-std), box-shadow .3s var(--ease-std), border-color .3s var(--ease-std);
}
.why__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 36px var(--color-shadow);
  border-color: var(--accent-line);
}
.why__ico {
  display: grid; place-items: center;
  width: 44px; height: 44px;
  border-radius: var(--r-12);
  background: var(--accent-soft);
  color: var(--accent-ink);
}
.why__ico svg { width: 22px; height: 22px; }
.why__card h3 {
  font-size: 17px; line-height: 25px; font-weight: 600;
  font-family: var(--font-main); color: var(--color-text-strong);
}
.why__card p {
  font-size: 13.5px; line-height: 22px; color: var(--color-text-secondary);
}
@media (max-width: 1180px) { .why { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 719px)  { .why { grid-template-columns: 1fr; } }

/* mimo index.html:169 的板块容器（原站无额外规则，此处仅保持列居中） */
.page-inner { width: 100%; display: flex; flex-direction: column; align-items: center; }

/* ==========================================================================
   以下按 mimo 原规则补搬：首屏海报 / 模型轮播 / 产品矩阵手风琴 / 关于我们
   来源行号：sections.css:55-77（banner）、137-220（轮播）、222-273（pm）、314-327（about）
   改动仅限：#fff/#000 等写死色换成主题变量，图片位换自绘，视频与粒子不搬
   ========================================================================== */

/* ---------------- 首屏海报位 → 请求演示面板（gw） ---------------- */
.hero__banner-wrap {
  width: calc(100% - (var(--gutter) * 2) - (var(--bleed) * 2));
  max-width: calc(var(--container) + (var(--bleed) * 2));
  margin-inline: auto;
  padding-bottom: 72px;
  position: relative;
}
/* 网关演示面板：终端气质，深浅两套都成立 */
.gw {
  position: relative;
  width: min(var(--container), 100%);
  height: 480px;
  margin-inline: auto;
  border-radius: var(--r-24);
  overflow: hidden;
  background: var(--color-card);
  border: 1px solid var(--color-border-warm);
  box-shadow: 0 24px 70px var(--color-shadow);
  display: flex;
  flex-direction: column;
}
.gw__bar {
  flex: none;
  display: flex; align-items: center; gap: 16px;
  height: 52px; padding: 0 20px;
  border-bottom: 1px solid var(--color-border-warm);
  background: var(--color-bg-section);
}
.gw__win { display: flex; gap: 6px; }
.gw__win i { width: 10px; height: 10px; border-radius: 50%; background: var(--color-chip); }
.gw__name { font-size: 13px; font-weight: 600; color: var(--color-text-strong); font-family: var(--font-mono); }
.gw__tabs { margin-left: auto; display: flex; gap: 4px; padding: 3px; border-radius: var(--r-999); background: var(--color-card); border: 1px solid var(--color-border-warm); }
.gw__tab {
  height: 28px; padding: 0 14px; border-radius: var(--r-999);
  font-size: 12px; font-family: var(--font-mono); color: var(--color-text-secondary);
  transition: background-color .15s var(--ease-std), color .15s var(--ease-std);
}
.gw__tab.is-on { background: var(--accent-soft); color: var(--accent-ink); font-weight: 700; }

.gw__pane { flex: 1; min-height: 0; display: grid; grid-template-columns: 1fr 218px 1fr; gap: 0; }
.gw__col { min-width: 0; padding: 26px 30px; display: flex; flex-direction: column; }
.gw__label { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; color: var(--color-text-secondary); margin-bottom: 14px; flex: none; }
.gw__pin { width: 7px; height: 7px; border-radius: 50%; background: var(--color-text-secondary); }
.gw__pin--ok { background: var(--color-ok); box-shadow: 0 0 0 3px var(--color-ok-soft); }

.gw__code {
  margin: 0; padding: 18px 20px;
  border-radius: var(--r-12);
  background: var(--color-bg-section);
  border: 1px solid var(--color-border-warm);
  font-family: var(--font-mono); font-size: 13px; line-height: 21px;
  color: var(--color-text); white-space: pre-wrap; word-break: break-all;
  overflow: hidden;
}
.gw__code--res { flex: none; }
.gw__ln { display: block; opacity: 0; transform: translateY(4px); transition: opacity .4s var(--ease-std), transform .4s var(--ease-std); }
.gw__ln.show { opacity: 1; transform: none; }
.gw__ln:nth-child(2), .gw__ln:nth-child(4) { color: var(--accent-ink); }

.gw__usage {
  margin-top: 14px; flex: none;
  display: flex; align-items: center;
  min-height: 40px; padding: 8px 16px;
  border-radius: var(--r-999);
  background: var(--accent-soft);
  border: 1px solid var(--accent-line);
  font-family: var(--font-mono); font-size: 12px; color: var(--accent-ink);
  opacity: 0; transform: translateY(6px);
  transition: opacity .5s var(--ease-std), transform .5s var(--ease-std);
}
.gw__usage.is-on { opacity: 1; transform: none; }

.gw__flow {
  align-self: stretch;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
  padding: 0 6px;
  border-left: 1px dashed var(--color-border-warm);
  border-right: 1px dashed var(--color-border-warm);
}
.gw__node {
  font-size: 11px; font-family: var(--font-mono); color: var(--color-text-secondary);
  padding: 0 10px; height: 26px; display: flex; align-items: center;
  border: 1px solid var(--color-border-warm); border-radius: var(--r-999);
  background: var(--color-bg-section); white-space: nowrap;
}
.gw__node--hub { color: var(--accent-ink); border-color: var(--accent-line); background: var(--accent-soft); font-weight: 700; }
.gw__wire { width: 1px; flex: 1; max-height: 44px; min-height: 20px; background: repeating-linear-gradient(to bottom, var(--accent-line) 0 4px, transparent 4px 9px); background-size: 1px 9px; animation: gwWire 1s linear infinite; }
@keyframes gwWire { to { background-position: 0 9px; } }

@media (max-width: 919px) {
  .gw { height: auto; }
  .hero__banner-wrap { padding-bottom: 40px; }
  .gw__bar { flex-wrap: wrap; height: auto; padding: 10px 14px; gap: 8px 12px; }
  .gw__name { flex: 1 1 auto; }
  .gw__tabs { margin-left: 0; width: 100%; }
  .gw__tab { flex: 1; padding: 0 6px; }
  .gw__pane { grid-template-columns: 1fr; }
  .gw__flow { flex-direction: row; padding: 10px 14px; border: 0; border-top: 1px dashed var(--color-border-warm); border-bottom: 1px dashed var(--color-border-warm); }
  .gw__wire { width: auto; height: 1px; flex: 1; max-height: none; min-width: 20px; background: repeating-linear-gradient(to right, var(--accent-line) 0 4px, transparent 4px 9px); background-size: 9px 1px; }
  .gw__col { padding: 16px 18px; }
  .gw__code { font-size: 11.5px; line-height: 18px; padding: 14px 16px; }
}

/* ---------------- 模型轮播 ---------------- */
.sec-head--action .see-all {
  position: absolute; right: 0; top: 18px;
  display: flex; align-items: center; gap: 8px;
  font-size: 14px; line-height: 22px;
  color: var(--color-text-secondary);
  transition: color .15s var(--ease-std);
}
.sec-head--action .see-all:hover { color: var(--color-text-strong); }
.models__track-wrap { margin-top: 48px; overflow: hidden; }
.models__track { display: flex; gap: 24px; transition: transform .6s var(--ease-out-expo); }
.m-card {
  flex: 0 0 297px;
  width: 297px; height: 508px;
  background: var(--color-card);
  border: 1px solid var(--color-border-warm);
  border-radius: var(--r-24);
  overflow: hidden;
  transition: transform .35s var(--ease-std), box-shadow .35s var(--ease-std);
}
.m-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px var(--color-shadow); }
.m-card > a { display: block; height: 100%; }
.m-card__head { position: relative; height: 152px; padding: 0; display: flex; align-items: flex-end; }
.m-card__chip {
  position: relative;
  background: var(--color-chip);
  margin: 0 12px;
  padding: 0 16px;
  font-size: 24px; font-weight: 600; line-height: 32px;
  font-family: var(--font-main);
  color: var(--color-text-strong);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  max-width: 100%;
}
.m-card__chip--tight { font-size: 18px; letter-spacing: -.3px; }
.m-card__body { padding: 20px; display: flex; flex-direction: column; height: 356px; }
.m-card__row { display: flex; align-items: center; gap: 8px; height: 24px; flex-wrap: wrap; }
.m-card__name { font-size: 16px; font-weight: 600; font-family: var(--font-main); color: var(--color-text-strong); }
.tag {
  font-size: 11px; line-height: 18px; padding: 0 7px; border-radius: var(--r-999);
  background: var(--color-bg-section); color: var(--color-text-secondary);
  font-family: var(--font-mono);
}
.m-card__desc {
  margin-top: 12px;
  font-size: 14px; line-height: 23.8px; color: var(--color-muted);
  font-family: var(--font-main);
  height: 143px; overflow: hidden;
}
.m-card__rule { height: 1px; background: var(--color-border-warm); margin: 16px 0 0; }
.price { margin-top: auto; display: flex; flex-direction: column; }
.price__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 4px 0; height: 29px; }
.price__k { font-size: 14px; line-height: 20px; color: var(--color-faint); font-family: var(--font-main); }
.price__v { font-size: 16px; line-height: 21px; color: var(--color-text-strong); text-align: right; font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

.models__nav { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 20px; }
.arw {
  width: 34px; height: 34px; padding: 8px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--color-border-warm);
  border-radius: var(--r-6);
  color: var(--color-icon);
  transition: all .2s var(--ease-std);
}
.arw:hover:not([disabled]) { background: var(--color-card); color: var(--color-text-strong); border-color: var(--color-line); }
.arw[disabled] { opacity: .7; cursor: default; }
.arw svg { width: 100%; height: 100%; }
.dots { display: flex; align-items: center; }
.dot { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; }
.dot i { width: 4px; height: 4px; border-radius: var(--r-999); background: var(--color-faint); transition: width .3s var(--ease-std), background .3s var(--ease-std); }
.dot--on i { width: 16px; height: 4px; background: var(--color-invert); }

@media (max-width: 919px) {
  .models__track-wrap { overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
  .models__track { transform: none !important; }
  .models__track::-webkit-scrollbar { display: none; }
  .m-card { scroll-snap-align: start; flex-basis: min(297px, 82vw); width: min(297px, 82vw); height: auto; }
  .m-card__desc { height: auto; }
  .models__nav { display: none; }
}

/* ---------------- 产品矩阵手风琴 ---------------- */
.pm { display: flex; gap: 16px; height: 480px; margin-top: 48px; }
.pm__card {
  position: relative;
  flex: 0 0 auto;
  width: 171px; height: 100%;
  background: var(--color-card);
  border: 1px solid var(--color-border-warm);
  border-radius: var(--r-24);
  overflow: hidden;
  cursor: pointer;
  transition: width .7s var(--ease-out-expo), box-shadow .5s var(--ease-std);
}
.pm__card.is-on { width: 513px; box-shadow: 0 18px 44px var(--color-shadow); }
.pm__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 60px; padding: 24px 24px 0; }
.pm__title { font-size: 24px; font-weight: 700; line-height: 36px; color: var(--color-pm-title); white-space: nowrap; font-family: var(--font-main); }
.pm__try {
  display: none;
  align-items: center; gap: 8px;
  height: 32px; padding: 5px 16px;
  border: 1px solid var(--color-hairline);
  border-radius: var(--r-999);
  font-size: 14px;
  font-family: var(--font-main);
  color: var(--color-text-strong);
  transition: border-color .2s var(--ease-std);
}
.pm__card.is-on .pm__try { display: flex; }
.pm__card:not(.is-on) .pm__sub { white-space: nowrap; overflow: hidden; }
.pm__try svg { width: 14px; height: 14px; }
.pm__try:hover { border-color: var(--color-line); }
.pm__body { padding: 0 24px; }
.pm__sub { padding-top: 24px; font-size: 16px; line-height: 26px; color: var(--color-text-secondary); font-family: var(--font-main); }
.pm__preview { padding: 20px 24px 24px; }
.pm__shot {
  position: relative; width: 465px; height: 326px;
  border-radius: var(--r-20); overflow: hidden;
  background: var(--color-card-img);
}
@media (max-width: 1180px) {
  .pm__card { width: 64px; }
  .pm__card.is-on { width: calc(100% - 256px); }
  .pm__shot { width: 100%; }
}
@media (max-width: 919px) {
  .pm { flex-direction: column; height: auto; gap: 12px; }
  .pm__card, .pm__card.is-on { width: 100%; height: auto; }
  .pm__shot { height: 200px; }
  .pm__body { display: none; }
  .pm__card.is-on .pm__body { display: block; }
  .pm__preview { padding: 16px; }
}

/* ---------------- 关于我们 ---------------- */
.about__body { display: flex; flex-direction: column; align-items: center; gap: 48px; margin-top: 48px; }
.about__text { width: 660px; max-width: 100%; display: flex; flex-direction: column; gap: 20px; }
.about__text p { font-size: 20px; line-height: 34px; color: var(--color-text-secondary); font-family: var(--font-main); }
.about__text b { color: var(--color-text-strong); font-weight: 600; }
.about__img { width: 200px; display: flex; justify-content: center; }
.about__mascot {
  position: relative; width: 160px; height: 133px;
  border-radius: 26px; background: var(--color-bg-section);
  display: grid; place-items: center; grid-auto-flow: column; gap: 26px;
}
.about__mascot i { width: 13px; height: 13px; border-radius: 50%; background: var(--color-highlight); animation: blink 4.2s var(--ease-std) infinite; }
@keyframes blink { 0%,92%,100% { transform: scaleY(1) } 95% { transform: scaleY(.12) } }
