/* Nexis 官网公共样式:首页与各产品页共用。设计语言见 index.html 头注释。 */
  @font-face {
    font-family: 'Smiley Hero';
    src: url('/fonts/smiley-hero.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  :root {
    --bg: #070808;
    --bg-deep: #050606;
    --text: rgba(255, 255, 255, 0.92);
    --text-mid: rgba(255, 255, 255, 0.62);
    --muted: rgba(255, 255, 255, 0.42);
    --faint: rgba(255, 255, 255, 0.3);
    --line: rgba(255, 255, 255, 0.1);
    --line-strong: rgba(255, 255, 255, 0.16);
    --glass: rgba(11, 13, 16, 0.78);
    --cyan: #24d6c6;
    --cyan-soft: rgba(36, 214, 198, 0.12);
    --cyan-glow: rgba(36, 214, 198, 0.72);
    --blue: #4f7cff;
    --violet: #b98cff;
    --pink: #ff6d8d;
    --gold: #e6c85c;
    --grad-a: linear-gradient(105deg, #4f7cff 0%, #24d6c6 54%, #d8d34f 100%);
    --grad-b: linear-gradient(105deg, #f0d858 0%, #ff8a4f 34%, #ff5f91 68%, #b98cff 100%);
    --radius-card: 16px;
    --font-display: 'Smiley Hero', -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  }

  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

  body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Segoe UI', 'Microsoft YaHei', sans-serif;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
  }

  /* ---- 极光背景与罩层(portal 同款) ---- */
  #aurora { position: fixed; inset: 0; z-index: 0; transition: opacity 1.2s ease; }
  #aurora.dim { opacity: 0.35; }
  .veil {
    position: fixed; inset: 0; z-index: 1; pointer-events: none;
    background:
      radial-gradient(ellipse at center, rgba(255, 255, 255, 0.045), transparent 34%),
      linear-gradient(180deg, #0a0b0c 0%, rgba(7, 8, 8, 0.28) 47%, #050606 100%);
  }
  .veil::before {
    content: ''; position: absolute; inset: 0; opacity: 0.035;
    background:
      linear-gradient(to right, rgba(255, 255, 255, 0.13) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(255, 255, 255, 0.13) 1px, transparent 1px);
    background-size: 104px 104px;
  }

  main, footer { position: relative; z-index: 2; }
  /* header 必须自成一层且高于 main:内层 .nav 的 z-index 只在 header 的层叠上下文里生效,
     若 header 与 main 同为 z-index:2,后出现的 main 会盖住固定导航(遮挡 + 吃掉点击)。 */
  header { position: relative; z-index: 20; }

  /* ---- 导航 ---- */
  .nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 10;
    display: flex; align-items: center; justify-content: space-between;
    height: 68px; padding: 0 clamp(20px, 4vw, 48px);
    background: transparent;
    transition: background-color 0.3s ease, border-color 0.3s ease, backdrop-filter 0.3s ease;
    border-bottom: 1px solid transparent;
  }
  .nav.scrolled {
    background: rgba(7, 8, 8, 0.72);
    border-bottom-color: var(--line);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
  }
  .nav-brand { display: flex; align-items: center; }
  .nav-brand img { height: 24px; width: auto; display: block; }
  .nav-links { display: flex; gap: 26px; }
  .nav-links a {
    font-size: 13.5px; color: var(--text-mid); text-decoration: none; transition: color 0.15s ease;
  }
  .nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--text); }
  .nav-actions { display: flex; align-items: center; gap: 20px; }
  .nav-login { font-size: 13.5px; color: var(--text-mid); text-decoration: none; transition: color 0.15s ease; white-space: nowrap; }
  .nav-login:hover { color: var(--text); }
  .nav-cta {
    display: inline-flex; align-items: center; height: 38px; padding: 0 20px;
    border-radius: 999px; border: 1px solid var(--line-strong);
    background: var(--glass); color: var(--text);
    font-size: 13.5px; font-weight: 600; text-decoration: none; white-space: nowrap;
    backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
    box-shadow: 0 0 24px -14px var(--cyan-glow), inset 0 1px 0 rgba(255, 255, 255, 0.14);
    transition: transform 0.2s ease, border-color 0.2s ease;
  }
  .nav-cta:hover { transform: translateY(-1px); border-color: rgba(255, 255, 255, 0.3); }
  /* CTA 从 <a href="#contact"> 换成了 <button>(要开弹窗),按钮不继承字体也不给手型 */
  button.nav-cta, button.cta { font-family: inherit; cursor: pointer; -webkit-appearance: none; appearance: none; }
  @media (max-width: 1020px) { .nav-links { display: none; } }

  /* ---- 通用版式 ---- */
  .wrap { max-width: 1120px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 40px); }
  section { padding: clamp(72px, 11vh, 128px) 0; }
  .sec-title {
    margin: 0 0 18px; font-size: clamp(1.7rem, 3.6vw, 2.5rem);
    font-weight: 800; line-height: 1.25; letter-spacing: 0.01em;
  }
  .sec-body { margin: 0; max-width: 40rem; font-size: 15px; line-height: 1.9; color: var(--text-mid); }
  .accent { color: var(--cyan); }

  /* 滚动显现 */
  .reveal { opacity: 0; transform: translateY(22px); transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); }
  .reveal.in { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) {
    .reveal { opacity: 1; transform: none; transition: none; }
  }

  /* ---- Hero ---- */
  .hero {
    min-height: 100dvh;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; padding: 88px 20px 64px;
  }
  .hero h1 {
    margin: 0; font-size: clamp(2.5rem, 6.6vw, 4.9rem);
    font-family: var(--font-display); font-weight: 800; font-synthesis: none;
    line-height: 1.18; letter-spacing: 0.02em; max-width: 15em;
    padding-right: 0.08em; /* 斜切字形右缘补偿 */
  }
  .hero h1 .grad {
    background: var(--grad-a); -webkit-background-clip: text; background-clip: text; color: transparent;
  }
  .hero .slogan {
    margin: 28px 0 0; font-size: 17px; letter-spacing: 0.14em; color: var(--text-mid);
    font-family: var(--font-display); font-weight: 400; font-synthesis: none;
  }
  .hero .sub {
    margin: 18px 0 0; max-width: 34rem; font-size: 15px; line-height: 1.85; color: var(--muted);
  }
  .hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 44px; flex-wrap: wrap; justify-content: center; }
  .cta {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    height: 56px; padding: 0 32px; border-radius: 999px;
    border: 1px solid var(--line-strong); background: var(--glass);
    color: var(--text); font-size: 15px; font-weight: 600; text-decoration: none;
    backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
    box-shadow:
      0 18px 58px -28px rgba(0, 0, 0, 0.95),
      0 0 34px -18px var(--cyan-glow),
      inset 0 1px 0 rgba(255, 255, 255, 0.16),
      inset 0 -1px 0 rgba(255, 255, 255, 0.08);
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
  }
  .cta:hover { transform: translateY(-2px); border-color: rgba(255, 255, 255, 0.28); background: rgba(17, 21, 26, 0.88); }
  .cta:active { transform: translateY(0) scale(0.98); }
  .cta-arrow { color: #8fe7df; transition: transform 0.2s ease; }
  .cta:hover .cta-arrow { transform: translateX(4px); }
  .text-link {
    font-size: 14px; color: var(--text-mid); text-decoration: underline;
    text-underline-offset: 5px; text-decoration-color: rgba(255, 255, 255, 0.22);
    transition: color 0.15s ease;
  }
  .text-link:hover { color: var(--text); }

  .hero-downloads { margin-top: 30px; scroll-margin-top: 90px; }
  .download-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
  .download-button {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    min-height: 44px; padding: 10px 20px; border-radius: 999px;
    border: 1px solid var(--line-strong); background: rgba(0, 0, 0, 0.25);
    font-size: 13px; color: var(--text-mid); text-decoration: none;
    transition: color 0.2s ease, border-color 0.2s ease;
  }
  .download-button:hover { color: var(--text); border-color: rgba(255, 255, 255, 0.3); }
  .download-button:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
  .download-note { margin: 10px 0 0; font-size: 12px; line-height: 1.7; color: var(--muted); }

  /* ---- 问题陈述:不对称对比 ---- */
  .contrast { display: grid; grid-template-columns: 1fr 1.25fr; gap: 22px; margin-top: 52px; align-items: stretch; }
  .contrast-col { border-radius: var(--radius-card); padding: 30px 30px 32px; }
  .contrast-them { border: 1px dashed var(--line); color: var(--muted); }
  .contrast-us {
    border: 1px solid rgba(36, 214, 198, 0.28);
    background: linear-gradient(160deg, rgba(36, 214, 198, 0.09), rgba(11, 13, 16, 0.6) 55%);
    box-shadow: 0 0 44px -26px var(--cyan-glow), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  }
  .contrast-label { font-size: 12.5px; color: var(--muted); margin: 0 0 12px; }
  .contrast-us .contrast-label { color: rgba(143, 231, 223, 0.85); }
  .contrast-line { margin: 0; font-size: clamp(1.15rem, 2vw, 1.45rem); font-weight: 700; line-height: 1.5; }
  .contrast-them .contrast-line { color: var(--text-mid); font-weight: 600; }
  .contrast-note { margin: 14px 0 0; font-size: 13.5px; line-height: 1.8; color: var(--muted); }
  @media (max-width: 760px) { .contrast { grid-template-columns: 1fr; } }

  /* ---- 三层价值链 ---- */
  .chain { margin-top: 56px; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 14px; align-items: stretch; }
  .chain-node {
    border: 1px solid var(--line); border-radius: var(--radius-card);
    background: rgba(11, 13, 16, 0.55); padding: 26px 24px;
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  }
  .chain-node.core {
    border-color: rgba(36, 214, 198, 0.3);
    box-shadow: 0 0 40px -24px var(--cyan-glow);
  }
  .chain-name { margin: 0; font-size: 17px; font-weight: 800; letter-spacing: 0.02em; }
  .chain-role { margin: 6px 0 14px; font-size: 12.5px; color: var(--cyan); }
  .chain-node.dim .chain-role { color: var(--violet); }
  .chain-desc { margin: 0; font-size: 13px; line-height: 1.8; color: var(--muted); }
  .chain-arrow {
    align-self: center; color: rgba(143, 231, 223, 0.6); font-size: 20px;
    display: flex; align-items: center;
  }
  .chain-flow {
    margin: 30px auto 0; max-width: 46rem; text-align: center;
    font-size: 13.5px; line-height: 2; color: var(--muted);
  }
  .chain-flow strong { color: var(--text-mid); font-weight: 600; }
  @media (max-width: 860px) {
    .chain { grid-template-columns: 1fr; }
    .chain-arrow { transform: rotate(90deg); justify-content: center; padding: 2px 0; }
  }

  /* ---- 三大企业价值:不对称 bento ---- */
  .bento { margin-top: 56px; display: grid; grid-template-columns: 1.4fr 1fr; grid-template-rows: auto auto; gap: 22px; }
  .bento-tile {
    border-radius: var(--radius-card); border: 1px solid var(--line);
    padding: 34px 32px; position: relative; overflow: hidden;
    background: rgba(11, 13, 16, 0.55);
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  }
  .bento-tile.t-govern { grid-row: span 2; background: linear-gradient(170deg, rgba(36, 214, 198, 0.1), rgba(11, 13, 16, 0.6) 52%); border-color: rgba(36, 214, 198, 0.24); }
  .bento-tile.t-accrue { background: linear-gradient(170deg, rgba(79, 124, 255, 0.1), rgba(11, 13, 16, 0.6) 58%); }
  .bento-tile.t-replicate { background: linear-gradient(170deg, rgba(185, 140, 255, 0.09), rgba(11, 13, 16, 0.6) 58%); }
  .bento-kicker { margin: 0 0 10px; font-size: 13px; color: var(--cyan); font-weight: 600; }
  .t-accrue .bento-kicker { color: #8fa8ff; }
  .t-replicate .bento-kicker { color: #cdaaff; }
  .bento-title { margin: 0 0 12px; font-size: clamp(1.3rem, 2.2vw, 1.65rem); font-weight: 800; }
  .bento-body { margin: 0 0 22px; font-size: 13.5px; line-height: 1.85; color: var(--text-mid); }
  .chip-row { display: flex; flex-wrap: wrap; gap: 8px; }
  .chip {
    display: inline-flex; align-items: center; height: 30px; padding: 0 14px;
    border-radius: 999px; border: 1px solid var(--line);
    font-size: 12.5px; color: var(--text-mid); background: rgba(0, 0, 0, 0.25);
  }
  .t-govern .qa { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); }
  .t-govern .qa p { margin: 0; font-size: 13px; line-height: 1.9; color: var(--muted); }
  .t-govern .qa p strong { color: var(--text-mid); font-weight: 600; }
  @media (max-width: 860px) { .bento { grid-template-columns: 1fr; } .bento-tile.t-govern { grid-row: auto; } }

  /* ---- 数字员工:分屏 ---- */
  .split { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(36px, 6vw, 80px); align-items: center; }
  .trait-list { margin: 30px 0 0; padding: 0; list-style: none; display: grid; gap: 0; }
  .trait-list li {
    display: grid; grid-template-columns: 100px 1fr; gap: 18px;
    padding: 15px 0; font-size: 14px; line-height: 1.7;
  }
  .trait-list li + li { border-top: 1px solid var(--line); }
  .trait-k { color: var(--text); font-weight: 700; }
  .trait-v { color: var(--muted); }
  /* 数字员工工牌:品牌插画,非产品截图 */
  .badge-card {
    border-radius: 20px; border: 1px solid var(--line-strong);
    background: var(--glass); padding: 34px 32px;
    backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
    box-shadow: 0 30px 80px -40px rgba(0, 0, 0, 0.9), 0 0 50px -30px var(--cyan-glow), inset 0 1px 0 rgba(255, 255, 255, 0.1);
    max-width: 380px; margin: 0 auto;
  }
  .badge-avatar {
    width: 64px; height: 64px; border-radius: 50%;
    background: var(--grad-a); position: relative; margin-bottom: 20px;
  }
  .badge-avatar::after {
    content: ''; position: absolute; inset: 3px; border-radius: 50%; background: #0b0d10;
  }
  .badge-avatar span {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    font-size: 22px; font-weight: 800; z-index: 1;
    background: var(--grad-a); -webkit-background-clip: text; background-clip: text; color: transparent;
  }
  .badge-name { margin: 0; font-size: 19px; font-weight: 800; }
  .badge-role { margin: 4px 0 22px; font-size: 13px; color: var(--cyan); }
  .badge-rows { display: grid; gap: 0; }
  .badge-row {
    display: flex; justify-content: space-between; gap: 16px;
    padding: 11px 0; font-size: 13px;
  }
  .badge-row + .badge-row { border-top: 1px solid var(--line); }
  .badge-row .k { color: var(--muted); }
  .badge-row .v { color: var(--text-mid); text-align: right; }
  .badge-foot { margin: 22px 0 0; font-size: 11.5px; color: var(--faint); text-align: right; }
  @media (max-width: 860px) { .split { grid-template-columns: 1fr; } }

  /* ---- 交付模式:时间线 ---- */
  .steps { margin-top: 60px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; position: relative; }
  .steps::before {
    content: ''; position: absolute; top: 7px; left: calc(12.5% ); right: calc(12.5%);
    height: 1px; background: linear-gradient(90deg, rgba(36, 214, 198, 0.5), rgba(79, 124, 255, 0.35), rgba(185, 140, 255, 0.3));
  }
  .step { padding: 0 18px; text-align: center; }
  .step-dot {
    width: 15px; height: 15px; border-radius: 50%; margin: 0 auto 22px;
    background: var(--bg); border: 2px solid var(--cyan); position: relative; z-index: 1;
    box-shadow: 0 0 14px -2px var(--cyan-glow);
  }
  .step-name { margin: 0 0 10px; font-size: 16.5px; font-weight: 800; }
  .step-desc { margin: 0; font-size: 13px; line-height: 1.8; color: var(--muted); }
  .tpl-note {
    margin: 56px auto 0; max-width: 44rem; text-align: center;
    font-size: 13.5px; line-height: 1.9; color: var(--muted);
  }
  .tpl-chips { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 18px; }
  @media (max-width: 860px) {
    .steps { grid-template-columns: 1fr; gap: 30px; }
    .steps::before { display: none; }
    .step { text-align: left; padding: 0; display: grid; grid-template-columns: 15px 1fr; gap: 18px; }
    .step-dot { margin: 5px 0 0; }
  }

  /* ---- 安全与数据边界 ---- */
  .security { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(36px, 6vw, 80px); align-items: start; }
  .sec-check { margin: 0; padding: 0; list-style: none; display: grid; gap: 20px; }
  .sec-check li { display: grid; grid-template-columns: 24px 1fr; gap: 14px; }
  .sec-check .ck {
    width: 22px; height: 22px; border-radius: 50%; margin-top: 1px;
    background: var(--cyan-soft); border: 1px solid rgba(36, 214, 198, 0.4);
    display: flex; align-items: center; justify-content: center;
  }
  .sec-check .ck svg { width: 11px; height: 11px; }
  .sec-check h4 { margin: 0 0 4px; font-size: 14.5px; font-weight: 700; }
  .sec-check p { margin: 0; font-size: 13px; line-height: 1.75; color: var(--muted); }
  @media (max-width: 860px) { .security { grid-template-columns: 1fr; } }

  /* ---- 尾部 CTA ---- */
  .final { text-align: center; }
  .final .sec-title {
    font-size: clamp(2rem, 4.4vw, 3rem);
    font-family: var(--font-display); font-weight: 800; font-synthesis: none;
    letter-spacing: 0.02em;
  }
  .final .sec-body { margin: 0 auto; }
  .final-actions { display: flex; align-items: center; justify-content: center; gap: 28px; margin-top: 40px; flex-wrap: wrap; }

  /* ---- 申请试用弹窗 ----
     圆角按全站规则:单行输入与按钮走胶囊 999px,面板与多行文本域走 16px。 */
  .trial-mask {
    position: fixed; inset: 0; z-index: 60;
    display: none; align-items: center; justify-content: center;
    padding: 24px;
    background: rgba(3, 4, 5, 0.74);
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  }
  .trial-mask.open { display: flex; }
  .trial-panel {
    position: relative;
    width: min(524px, 100%);
    max-height: calc(100vh - 48px); overflow-y: auto;
    padding: 34px 34px 30px;
    border-radius: var(--radius-card);
    border: 1px solid var(--line-strong);
    background: linear-gradient(180deg, rgba(18, 21, 25, 0.97), rgba(9, 11, 13, 0.97));
    box-shadow:
      0 44px 120px -44px rgba(0, 0, 0, 0.96),
      0 0 70px -44px var(--cyan-glow),
      inset 0 1px 0 rgba(255, 255, 255, 0.1);
  }
  .trial-close {
    position: absolute; top: 16px; right: 16px;
    width: 32px; height: 32px; display: flex; align-items: center; justify-content: center;
    border-radius: 999px; border: 1px solid transparent; background: transparent;
    color: var(--muted); font-size: 19px; line-height: 1; cursor: pointer;
    transition: color 0.15s ease, border-color 0.15s ease;
  }
  .trial-close:hover { color: var(--text); border-color: var(--line); }
  .trial-title { margin: 0; font-size: 22px; font-weight: 700; letter-spacing: 0.01em; }
  .trial-note {
    margin: 12px 0 0; font-size: 13px; line-height: 1.75; color: var(--text-mid);
    padding: 12px 14px; border-radius: 12px;
    border: 1px solid rgba(36, 214, 198, 0.2); background: var(--cyan-soft);
  }
  .trial-form { margin-top: 22px; display: flex; flex-direction: column; gap: 16px; }
  .trial-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  @media (max-width: 520px) { .trial-row { grid-template-columns: 1fr; } .trial-panel { padding: 28px 22px 24px; } }
  .tf-label { display: block; margin: 0 0 8px; font-size: 12.5px; color: var(--muted); letter-spacing: 0.04em; }
  .tf-req { color: var(--cyan); margin-left: 3px; }
  .tf-input, .tf-textarea {
    width: 100%; font-family: inherit; font-size: 14px; color: var(--text);
    background: rgba(255, 255, 255, 0.04); border: 1px solid var(--line); outline: none;
    transition: border-color 0.18s ease, background-color 0.18s ease;
  }
  .tf-input { height: 44px; padding: 0 18px; border-radius: 999px; }
  .tf-textarea { min-height: 90px; padding: 12px 18px; border-radius: var(--radius-card); resize: vertical; line-height: 1.7; }
  .tf-input::placeholder, .tf-textarea::placeholder { color: var(--faint); }
  .tf-input:focus, .tf-textarea:focus { border-color: rgba(36, 214, 198, 0.55); background: rgba(255, 255, 255, 0.06); }
  /* 蜜罐:必须真的看不见又不进 tab 序列,但不能用 display:none —— 有些机器人只填可见树之外的框 */
  .tf-trap { position: absolute; left: -9999px; top: 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
  .trial-submit {
    width: 100%; height: 48px; margin-top: 4px;
    border-radius: 999px; border: 1px solid rgba(36, 214, 198, 0.42);
    background: linear-gradient(105deg, rgba(79, 124, 255, 0.24), rgba(36, 214, 198, 0.26));
    color: var(--text); font-family: inherit; font-size: 15px; font-weight: 600; cursor: pointer;
    box-shadow: 0 0 34px -18px var(--cyan-glow), inset 0 1px 0 rgba(255, 255, 255, 0.14);
    transition: transform 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
  }
  .trial-submit:hover { transform: translateY(-1px); border-color: rgba(36, 214, 198, 0.7); }
  .trial-submit:active { transform: translateY(0) scale(0.99); }
  .trial-submit[disabled] { opacity: 0.55; cursor: default; transform: none; }
  .trial-error { margin: 0; font-size: 13px; line-height: 1.7; color: var(--pink); }
  .trial-error:empty { display: none; }
  .trial-legal { margin: 2px 0 0; font-size: 12px; line-height: 1.7; color: var(--faint); }
  .trial-done { display: none; padding: 8px 0 6px; }
  .trial-done .trial-title { margin-bottom: 12px; }
  .trial-done p { margin: 0; font-size: 14px; line-height: 1.85; color: var(--text-mid); }
  .trial-mask.sent .trial-form, .trial-mask.sent .trial-note, .trial-mask.sent > .trial-panel > .trial-title { display: none; }
  .trial-mask.sent .trial-done { display: block; }
  body.modal-open { overflow: hidden; }

  /* ---- 页脚 ---- */
  .footer { border-top: 1px solid var(--line); padding: 44px 0 40px; }
  .footer-grid { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  .footer-brand { display: inline-block; }
  .footer-brand img { height: 19px; width: auto; display: block; }
  .footer-slogan { margin: 12px 0 0; font-size: 12.5px; color: var(--faint); letter-spacing: 0; }
  .footer-links { display: flex; gap: 16px 26px; flex-wrap: wrap; }
  .footer-links a { font-size: 13px; color: var(--muted); text-decoration: none; transition: color 0.15s ease; }
  .footer-links a:hover { color: var(--text); }
  .footer-about { margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--line); }
  .footer-heading { margin: 0 0 10px; font-size: 14px; font-weight: 600; color: var(--text); }
  .footer-description { max-width: 800px; margin: 0; font-size: 13px; line-height: 1.9; color: var(--text-mid); }
  .footer-legal { margin-top: 34px; font-size: 12px; line-height: 1.9; color: var(--faint); }
  .footer-legal a { display: inline-block; color: inherit; text-decoration: none; transition: color 0.15s ease; }
  .footer-legal a:hover { color: var(--text-mid); }
  .footer-legal .beian-icon { width: 18px; height: 20px; margin-right: 5px; vertical-align: middle; }

  /* ================================================================
     官网 v2(2026-10):四件套、Hub、连接器目录新增样式
     ================================================================ */

  /* 大写字距 eyebrow */
  .eyebrow {
    margin: 0 0 18px; font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase;
    color: rgba(143, 231, 223, 0.85); font-weight: 600;
  }

  /* 能力状态三态:可用 / 预览 / 规划中 —— 规划中的不写成已有(战略文档 §6.1) */
  .pill {
    display: inline-flex; align-items: center; gap: 7px; height: 24px; padding: 0 11px;
    border-radius: 999px; font-size: 11.5px; font-weight: 600; white-space: nowrap;
    border: 1px solid var(--line); color: var(--muted); background: rgba(0, 0, 0, 0.25);
  }
  .pill::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
  .pill.s-live { color: #8fe7df; border-color: rgba(36, 214, 198, 0.35); background: var(--cyan-soft); }
  .pill.s-live::before { box-shadow: 0 0 8px var(--cyan-glow); animation: breathe 2.4s ease-in-out infinite; }
  .pill.s-preview { color: #a9bcff; border-color: rgba(79, 124, 255, 0.35); background: rgba(79, 124, 255, 0.1); }
  .pill.s-plan { color: var(--muted); border-style: dashed; }
  .pill.s-oss { color: #e9d98a; border-color: rgba(230, 200, 92, 0.32); background: rgba(230, 200, 92, 0.08); }
  @keyframes breathe { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }
  @media (prefers-reduced-motion: reduce) { .pill.s-live::before { animation: none; } }
  .legend { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; font-size: 12.5px; color: var(--muted); }
  .legend span.pill { margin-right: 6px; }

  /* ---- 四件套架构 ---- */
  .suite { margin-top: 56px; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 14px; align-items: stretch; }
  .suite-cloud { grid-column: 1 / -1; }
  .suite-card {
    border: 1px solid var(--line); border-radius: var(--radius-card);
    background: rgba(11, 13, 16, 0.55); padding: 24px 24px 26px;
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    display: flex; flex-direction: column;
  }
  .suite-cloud { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 28px; align-items: center;
    background: linear-gradient(105deg, rgba(79, 124, 255, 0.1), rgba(11, 13, 16, 0.55) 60%); }
  .suite-card.hub { border-color: rgba(36, 214, 198, 0.32); box-shadow: 0 0 44px -26px var(--cyan-glow);
    background: linear-gradient(170deg, rgba(36, 214, 198, 0.09), rgba(11, 13, 16, 0.6) 55%); }
  .suite-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
  .suite-name { margin: 0; font-size: 17px; font-weight: 800; letter-spacing: 0.02em; }
  .suite-role { margin: 6px 0 12px; font-size: 12.5px; color: var(--cyan); }
  .suite-card.agency .suite-role { color: #8fa8ff; }
  .suite-card.xenyan .suite-role { color: #cdaaff; }
  .suite-cloud .suite-role { color: #a9bcff; margin-bottom: 0; }
  .suite-desc { margin: 0; font-size: 13px; line-height: 1.8; color: var(--muted); }
  .suite-cloud .suite-desc { grid-column: 1 / -1; }
  .suite-arrow { align-self: center; color: rgba(143, 231, 223, 0.6); font-size: 20px; display: flex; align-items: center; }
  .suite-systems { margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--line); font-size: 12px; color: var(--faint); line-height: 1.8; }
  @media (max-width: 860px) {
    .suite { grid-template-columns: 1fr; }
    .suite-cloud { grid-template-columns: 1fr; }
    .suite-arrow { transform: rotate(90deg); justify-content: center; padding: 2px 0; }
  }

  /* ---- 首页 Hub 分区:左文右「连接器面板」插画 ---- */
  .hub-points { margin: 30px 0 0; padding: 0; list-style: none; }
  .hub-points li { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 15px 0; }
  .hub-points li + li { border-top: 1px solid var(--line); }
  .hub-points h4 { margin: 0 0 4px; font-size: 14.5px; font-weight: 700; }
  .hub-points p { margin: 0; font-size: 13px; line-height: 1.75; color: var(--muted); }
  .hub-links { display: flex; gap: 26px; align-items: center; flex-wrap: wrap; margin-top: 34px; }
  .panel {
    border-radius: 20px; border: 1px solid var(--line-strong); background: var(--glass);
    padding: 26px 26px 20px; backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
    box-shadow: 0 30px 80px -40px rgba(0, 0, 0, 0.9), 0 0 50px -30px var(--cyan-glow), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  }
  .panel-title { margin: 0 0 4px; font-size: 13px; color: var(--muted); letter-spacing: 0.04em; }
  .panel-rows { margin-top: 10px; }
  .panel-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; font-size: 13.5px; }
  .panel-row + .panel-row { border-top: 1px solid var(--line); }
  .panel-row .k { color: var(--text); font-weight: 600; }
  .panel-row .k small { display: block; margin-top: 2px; font-size: 12px; font-weight: 400; color: var(--faint); }
  .panel-foot { margin: 14px 0 0; font-size: 11.5px; color: var(--faint); text-align: right; }

  /* ---- 子页首屏 ---- */
  .page-hero {
    min-height: 78dvh; display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; padding: 120px 20px 56px;
  }
  .page-hero.compact { min-height: 0; padding: 150px 20px 30px; }
  /* 得意黑只子集化了首页 hero 字符,子页标题用系统字体,避免逐字回落成混排 */
  .page-title {
    margin: 0; font-size: clamp(2.1rem, 5.4vw, 3.9rem); font-weight: 800;
    line-height: 1.22; letter-spacing: 0.01em; max-width: 16em;
  }
  .page-title .grad { background: var(--grad-a); -webkit-background-clip: text; background-clip: text; color: transparent; }
  .page-hero .sub { margin: 24px auto 0; max-width: 38rem; font-size: 15.5px; line-height: 1.9; color: var(--text-mid); }
  .page-hero .pill { margin-top: 26px; }
  .final.plain .sec-title { font-family: inherit; font-size: clamp(1.8rem, 3.8vw, 2.6rem); letter-spacing: 0.01em; }

  /* ---- 卡片网格(问题、部署形态、连接器) ---- */
  .cards { margin-top: 52px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .cards.two { grid-template-columns: repeat(2, 1fr); }
  .card {
    border: 1px solid var(--line); border-radius: var(--radius-card); background: rgba(11, 13, 16, 0.55);
    padding: 26px 26px 28px; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  }
  .card.warn { border-style: dashed; }
  .card-kicker { margin: 0 0 10px; font-size: 12.5px; color: var(--pink); font-weight: 600; }
  .card-title { margin: 0 0 10px; font-size: 17px; font-weight: 800; }
  .card-body { margin: 0; font-size: 13.5px; line-height: 1.85; color: var(--text-mid); }
  .card-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
  .card-head .card-title { margin: 0; }
  .card dl { margin: 18px 0 0; display: grid; gap: 0; }
  .card dl div { display: grid; grid-template-columns: 76px 1fr; gap: 14px; padding: 10px 0; font-size: 13px; }
  .card dl div + div { border-top: 1px solid var(--line); }
  .card dt { color: var(--muted); }
  .card dd { margin: 0; color: var(--text-mid); line-height: 1.7; }
  @media (max-width: 860px) { .cards, .cards.two { grid-template-columns: 1fr; } }

  /* ---- Hub 工作原理示意 ---- */
  .flow { margin-top: 56px; display: grid; grid-template-columns: 1fr auto 1.25fr auto 1fr; gap: 14px; align-items: stretch; }
  .flow-col { border: 1px solid var(--line); border-radius: var(--radius-card); background: rgba(11, 13, 16, 0.55); padding: 22px; }
  .flow-col.core { border-color: rgba(36, 214, 198, 0.32); box-shadow: 0 0 44px -26px var(--cyan-glow);
    background: linear-gradient(170deg, rgba(36, 214, 198, 0.09), rgba(11, 13, 16, 0.6) 55%); }
  .flow-label { margin: 0 0 14px; font-size: 12px; letter-spacing: 0.12em; color: var(--muted); }
  .flow-col.core .flow-label { color: #8fe7df; }
  .flow-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
  .flow-list li { font-size: 13px; color: var(--text-mid); padding: 9px 12px; border-radius: 10px; background: rgba(255, 255, 255, 0.035); border: 1px solid var(--line); }
  .flow-arrow { align-self: center; color: rgba(143, 231, 223, 0.6); font-size: 20px; }
  .flow-cloud {
    grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 12px 24px; flex-wrap: wrap;
    border: 1px dashed rgba(79, 124, 255, 0.4); border-radius: var(--radius-card); padding: 16px 22px;
    font-size: 13px; color: var(--text-mid); background: rgba(79, 124, 255, 0.05);
  }
  .flow-cloud strong { color: var(--text); }
  .flow-cloud span.note { color: var(--muted); font-size: 12.5px; }
  @media (max-width: 860px) {
    .flow { grid-template-columns: 1fr; }
    .flow-arrow { transform: rotate(90deg); text-align: center; }
  }

  /* ---- 能力清单表 ---- */
  .cap-table { margin-top: 48px; border-top: 1px solid var(--line); }
  .cap-row { display: grid; grid-template-columns: 220px 1fr auto; gap: 24px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--line); }
  .cap-row h4 { margin: 0; font-size: 14.5px; font-weight: 700; }
  .cap-row p { margin: 0; font-size: 13px; line-height: 1.75; color: var(--muted); }
  @media (max-width: 760px) { .cap-row { grid-template-columns: 1fr auto; gap: 6px 16px; } .cap-row p { grid-column: 1 / -1; grid-row: 2; } }

  /* ---- 连接器目录 ---- */
  .filters { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
  .filter {
    height: 36px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--line);
    background: rgba(0, 0, 0, 0.25); color: var(--text-mid); font-family: inherit; font-size: 13px; cursor: pointer;
    transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
  }
  .filter:hover { color: var(--text); border-color: var(--line-strong); }
  .filter[aria-pressed="true"] { color: var(--text); border-color: rgba(36, 214, 198, 0.5); background: var(--cyan-soft); }
  .filter:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
  .conn-grid { margin-top: 28px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
  .conn { display: flex; flex-direction: column; }
  .conn[hidden] { display: none; }
  .conn-cat { margin: 4px 0 0; font-size: 12px; color: var(--faint); }
  .conn .card-body { margin-top: 12px; }
  .conn-tools { margin: 16px 0 0; padding: 14px 0 0; border-top: 1px dashed var(--line); list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
  .conn-tools li { font-size: 12px; color: var(--text-mid); padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line); }
  .conn-note { margin: auto 0 0; padding-top: 14px; font-size: 12px; color: var(--faint); line-height: 1.7; }
  .disclaimer { margin: 36px 0 0; font-size: 12px; line-height: 1.8; color: var(--faint); }
  @media (max-width: 960px) { .conn-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 640px) { .conn-grid { grid-template-columns: 1fr; } }
