  * { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
    --violet: #2D5596; --violet-d: #244A82; --violet-l: #3a6bb5;
    --ink: #16181d; --muted: #6b7280; --line: #e7e8ee; --soft: #f3f5fb;
    --bg: #fafbff; --card: #ffffff;
  }
  html { scroll-behavior: smooth; }
  body { font-family: -apple-system, "Segoe UI", "Microsoft YaHei", system-ui, sans-serif;
    color: var(--ink); background: var(--bg); line-height: 1.65; -webkit-font-smoothing: antialiased; }
  a { color: var(--violet); text-decoration: none; }
  .wrap { max-width: 1040px; margin: 0 auto; padding: 0 22px; }

  /* ============ 顶部导航 ============ */
  .nav { position: sticky; top: 0; z-index: 20; background: rgba(250,251,255,.82);
    backdrop-filter: saturate(160%) blur(10px); border-bottom: 1px solid var(--line); }
  .nav .wrap { display: flex; align-items: center; justify-content: space-between; height: 58px; }
  .brand { display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: 18px; letter-spacing: .5px; }
  .brand img { width: 30px; height: 30px; border-radius: 8px; }
  .brand small { color: var(--muted); font-weight: 600; font-size: 13px; letter-spacing: 1px; }
  .nav-links { display: flex; align-items: center; gap: 22px; }
  .nav-links a { color: var(--ink); font-size: 14px; font-weight: 500; }
  .nav-links a:hover { color: var(--violet); }
  .nav-cta { background: var(--violet); color: #fff !important; padding: 8px 18px; border-radius: 9px; font-weight: 600; }
  .nav-cta:hover { background: var(--violet-d); }
  @media (max-width: 720px) { .nav-links a.hide-sm { display: none; } }

  /* ============ Hero ============ */
  .hero { position: relative; overflow: hidden; text-align: center;
    background:
      radial-gradient(900px 460px at 50% -220px, rgba(255,255,255,.12), transparent 70%),
      linear-gradient(165deg, #335f9b 0%, #2D5596 52%, #223f6c 100%);
    color: #fff; padding: 78px 22px 44px; }
  .badge { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600;
    background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.28); color: #fff;
    padding: 6px 14px; border-radius: 999px; margin-bottom: 22px; }
  .badge .dot { width: 7px; height: 7px; border-radius: 50%; background: #7Cf5b6; box-shadow: 0 0 0 3px rgba(124,245,182,.3); }
  .hero h1 { font-size: 44px; line-height: 1.18; letter-spacing: .5px; font-weight: 800; }
  .hero h1 .hl { background: linear-gradient(90deg,#cfe2ff,#fff); -webkit-background-clip: text; background-clip: text; color: transparent; }
  .hero .sub { font-size: 18px; opacity: .94; margin-top: 16px; max-width: 620px; margin-left: auto; margin-right: auto; }
  .btns { margin-top: 32px; display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
  .btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 28px; border-radius: 11px;
    font-size: 16px; font-weight: 600; transition: transform .12s ease, box-shadow .12s ease, background .15s; }
  .btn[hidden] { display: none; } /* .btn 的 display 会盖过 [hidden]，显式补一条让隐藏生效 */
  .btn-primary { background: #fff; color: var(--violet); box-shadow: 0 10px 28px rgba(0,0,0,.22); }
  .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(0,0,0,.28); }
  .btn-ghost { border: 1px solid rgba(255,255,255,.55); color: #fff; }
  .btn-ghost:hover { background: rgba(255,255,255,.12); }
  .req { margin-top: 16px; font-size: 13px; opacity: .82; }
  .hero-guide { margin-top: 22px; }  /* 往下挪：和 .req 拉开点距离、压掉下方多余留白 */
  @media (max-width: 600px) { .hero h1 { font-size: 33px; } .hero { padding: 56px 20px 48px; } }

  /* ============ 通用区块 ============ */
  section.block { padding: 70px 0; }
  .eyebrow { color: var(--violet); font-weight: 700; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; }
  .h2 { font-size: 30px; font-weight: 800; margin: 8px 0 10px; letter-spacing: .3px; }
  .lead { color: var(--muted); font-size: 16px; max-width: 640px; }
  .center { text-align: center; }
  .center .lead { margin: 0 auto; }

  /* ============ 能力橱窗（图文交错） ============ */
  .showcase { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; padding: 46px 0; }
  .showcase.rev .txt { order: 2; }
  .showcase .txt h3 { font-size: 23px; font-weight: 800; margin-bottom: 10px; }
  .showcase .txt p { color: var(--muted); font-size: 15.5px; }
  .showcase .txt .pills { margin-top: 16px; display: flex; gap: 8px; flex-wrap: wrap; }
  .pill { font-size: 12.5px; font-weight: 600; color: var(--violet); background: var(--soft);
    border: 1px solid #dde6f6; padding: 5px 12px; border-radius: 999px; }
  @media (max-width: 740px) {
    .showcase { grid-template-columns: 1fr; gap: 26px; }
    .showcase.rev .txt { order: 0; }
  }

  /* 模拟界面卡片 */
  .mock { background: var(--card); border: 1px solid var(--line); border-radius: 16px;
    box-shadow: 0 18px 40px -18px rgba(45,85,150,.28); overflow: hidden; }
  .mock-bar { display: flex; align-items: center; gap: 7px; padding: 11px 14px; border-bottom: 1px solid var(--line); background: #fbfcfe; }
  .mock-bar i { width: 10px; height: 10px; border-radius: 50%; background: #e2e4ec; display: inline-block; }
  .mock-bar i.r { background: #ff6159; } .mock-bar i.y { background: #ffbd2e; } .mock-bar i.g { background: #28c840; }
  .mock-bar span { margin-left: 8px; font-size: 12px; color: var(--muted); }
  .mock-body { padding: 16px; display: flex; flex-direction: column; gap: 12px; }
  .bubble { max-width: 86%; padding: 10px 14px; border-radius: 13px; font-size: 14px; line-height: 1.55; }
  .bubble.user { align-self: flex-end; background: var(--violet); color: #fff; border-bottom-right-radius: 4px; }
  .bubble.ai { align-self: flex-start; background: var(--soft); color: var(--ink); border-bottom-left-radius: 4px; }
  .code { margin-top: 8px; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 12.5px;
    background: #0f172a; color: #d7e3f4; border-radius: 9px; padding: 10px 12px; overflow-x: auto; }
  .code .add { color: #7ee0a8; } .code .mut { color: #8b9bb4; }
  .genimg { aspect-ratio: 16/10; border-radius: 11px; position: relative; overflow: hidden;
    background: linear-gradient(135deg,#6a5cff 0%, #e15bd0 45%, #ff9a5b 100%); }
  .genimg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 32%; display: block; }
  .genimg::before { content: ""; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(to top, rgba(0,0,0,.5), transparent 42%); }
  .genimg span { position: absolute; left: 12px; bottom: 10px; z-index: 2; color: #fff; font-size: 12.5px; font-weight: 600;
    text-shadow: 0 1px 6px rgba(0,0,0,.4); }
  .typing { align-self: flex-start; display: inline-flex; gap: 4px; background: var(--soft); padding: 11px 14px; border-radius: 13px; }
  .typing i { width: 6px; height: 6px; border-radius: 50%; background: #b9c2d6; animation: blink 1.2s infinite; }
  .typing i:nth-child(2){ animation-delay:.2s } .typing i:nth-child(3){ animation-delay:.4s }
  @keyframes blink { 0%,60%,100%{opacity:.3} 30%{opacity:1} }

  /* ============ 特性卡片 ============ */
  .features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 38px; }
  @media (max-width: 820px) { .features { grid-template-columns: repeat(2,1fr); } }
  @media (max-width: 520px) { .features { grid-template-columns: 1fr; } }
  .card { background: var(--card); border: 1px solid var(--line); border-radius: 15px; padding: 24px;
    transition: transform .14s ease, box-shadow .14s ease, border-color .14s; }
  .card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px -16px rgba(45,85,150,.3); border-color: #d6e0f3; }
  .card .ico { font-size: 25px; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center;
    background: var(--soft); border-radius: 12px; }
  .card h3 { font-size: 16.5px; margin: 14px 0 7px; }
  .card p { color: var(--muted); font-size: 14px; }

  /* ============ 三步 ============ */
  .steps-band { background: var(--soft); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .step-row { display: flex; gap: 18px; flex-wrap: wrap; justify-content: center; margin-top: 30px; }
  .step { flex: 1; min-width: 180px; max-width: 280px; text-align: center; background: var(--card);
    border: 1px solid var(--line); border-radius: 14px; padding: 26px 18px; }
  .step .n { width: 40px; height: 40px; margin: 0 auto 12px; border-radius: 50%;
    background: linear-gradient(135deg,var(--violet-l),var(--violet)); color: #fff;
    display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 17px; }
  .step .t { font-size: 15px; font-weight: 700; }
  .step .d { font-size: 13px; color: var(--muted); margin-top: 4px; }

  /* ============ 下载 CTA ============ */
  .cta { text-align: center; }
  .cta-box { background: linear-gradient(135deg, var(--violet) 0%, var(--violet-l) 100%); color: #fff;
    border-radius: 22px; padding: 52px 28px; box-shadow: 0 24px 60px -26px rgba(45,85,150,.6); }
  .cta-box h2 { font-size: 28px; font-weight: 800; }
  .cta-box p { opacity: .92; margin-top: 8px; font-size: 15.5px; }
  .cta-box .btns { margin-top: 26px; }
  .cta-box .web-note { margin-top: 14px; font-size: 13px; opacity: .85; }

  /* ============ 页脚 ============ */
  footer { border-top: 1px solid var(--line); padding: 30px 22px; text-align: center; color: var(--muted); font-size: 13px; }
  footer a { color: var(--muted); }
  footer .row { margin-top: 6px; }

  /* ============ 动效 ============ */
  /* Hero 柔光：缓慢呼吸 + 漂移，营造"活"的感觉 */
  .hero::before { content: ""; position: absolute; top: -34%; left: 50%; width: 720px; height: 520px;
    transform: translateX(-50%); pointer-events: none; filter: blur(16px); will-change: transform, opacity;
    background: radial-gradient(closest-side, rgba(130,180,255,.32), transparent 70%); }
  @media (prefers-reduced-motion: no-preference) {
    .hero::before { animation: drift 11s ease-in-out infinite; }
    @keyframes drift { 0%,100% { transform: translateX(-55%) scale(1); opacity:.7 }
                       50% { transform: translateX(-45%) scale(1.14); opacity:1 } }
    /* 滚动进入：淡入上移 */
    .reveal { opacity: 0; transform: translateY(26px); will-change: transform, opacity;
      backface-visibility: hidden; -webkit-font-smoothing: antialiased;
      transition: opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1); }
    .reveal.in { opacity: 1; transform: translateY(0); }
    /* 分组逐个进入（特性卡 / 步骤） */
    .reveal-group > * { opacity: 0; transform: translateY(24px); will-change: transform, opacity;
      backface-visibility: hidden; -webkit-font-smoothing: antialiased;
      transition: opacity .6s cubic-bezier(.22,.61,.36,1), transform .6s cubic-bezier(.22,.61,.36,1); }
    .reveal-group.in > * { opacity: 1; transform: translateY(0); }
    .reveal-group.in > *:nth-child(2){ transition-delay:.07s }
    .reveal-group.in > *:nth-child(3){ transition-delay:.14s }
    .reveal-group.in > *:nth-child(4){ transition-delay:.21s }
    .reveal-group.in > *:nth-child(5){ transition-delay:.28s }
    .reveal-group.in > *:nth-child(6){ transition-delay:.35s }
    /* Hero 入场：加载即播，逐级延迟 */
    .hero .badge, .hero h1, .hero .sub, .hero .btns, .hero .req {
      opacity: 0; backface-visibility: hidden; will-change: transform, opacity;
      animation: heroUp .85s cubic-bezier(.22,.61,.36,1) forwards; }
    .hero .badge { animation-delay:.05s } .hero h1 { animation-delay:.16s }
    .hero .sub { animation-delay:.3s } .hero .btns { animation-delay:.44s } .hero .req { animation-delay:.56s }
    @keyframes heroUp { from { opacity:0; transform: translateY(20px) } to { opacity:1; transform:none } }
  }

  /* ============ 登录 / 注册 ============ */
  .nav-link { color: var(--ink); font-size: 14px; font-weight: 600; cursor: pointer; }
  .nav-link:hover { color: var(--violet); }
  .user-chip { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; }
  .user-chip[hidden] { display: none; }
  .user-chip #user-name { font-weight: 700; color: var(--ink); max-width: 140px; overflow: hidden;
    text-overflow: ellipsis; white-space: nowrap; }
  .user-chip a { color: var(--muted); font-size: 13px; }
  .user-chip a:hover { color: var(--violet); }
  .user-chip .ws-link { background: var(--violet); color: #fff; padding: 7px 16px; border-radius: 9px;
    font-weight: 700; font-size: 14px; }
  .user-chip .ws-link:hover { background: var(--violet-d); color: #fff; }
  .auth-overlay { position: fixed; inset: 0; z-index: 50; display: none; align-items: center; justify-content: center;
    background: rgba(18,26,46,.5); backdrop-filter: blur(3px); padding: 20px; }
  .auth-card { position: relative; width: 100%; max-width: 384px; background: #fff; border-radius: 18px;
    padding: 30px 28px 22px; box-shadow: 0 30px 70px -20px rgba(20,40,90,.5); animation: pop .24s ease; }
  @keyframes pop { from { opacity:0; transform: translateY(12px) scale(.985) } to { opacity:1; transform:none } }
  .auth-close { position: absolute; top: 14px; right: 16px; border: 0; background: none; font-size: 18px;
    color: var(--muted); cursor: pointer; line-height: 1; }
  .auth-close:hover { color: var(--ink); }
  .image-lightbox { position:fixed; inset:0; z-index:80; display:grid; place-items:center; padding:24px;
    background:rgba(9,18,35,.78); backdrop-filter:blur(7px); }
  .image-lightbox[hidden] { display:none; }
  .image-lightbox-dialog { position:relative; display:flex; flex-direction:column; align-items:center; gap:11px;
    width:min(1240px, calc(100vw - 48px)); max-height:calc(100vh - 48px); padding:16px;
    border:1px solid rgba(255,255,255,.2); border-radius:14px; background:rgba(244,248,253,.97);
    box-shadow:0 30px 90px rgba(0,0,0,.42); animation:lightbox-in .2s ease; }
  @keyframes lightbox-in { from { opacity:0; transform:scale(.97) translateY(8px); } to { opacity:1; transform:none; } }
  .image-lightbox-image { display:block; width:auto; max-width:100%; max-height:calc(100vh - 112px); object-fit:contain;
    border-radius:8px; background:#fff; box-shadow:0 8px 30px rgba(24,45,76,.16); }
  .image-lightbox-close { position:absolute; top:8px; right:8px; z-index:1; width:34px; height:34px;
    border:1px solid rgba(20,32,51,.12); border-radius:50%; background:rgba(255,255,255,.92); color:#24344e;
    font-size:25px; line-height:1; cursor:pointer; box-shadow:0 2px 8px rgba(20,40,70,.12); }
  .image-lightbox-close:hover { background:#fff; color:var(--v2-blue); }
  .image-lightbox-caption { max-width:100%; color:#61708a; font-size:13px; font-weight:700; text-align:center; }
  body.lightbox-open { overflow:hidden; }
  .auth-tabs { display: flex; gap: 6px; background: var(--soft); border-radius: 12px; padding: 4px; margin-bottom: 18px; }
  .auth-tabs button { flex: 1; border: 0; background: none; padding: 9px; border-radius: 9px; font-size: 15px;
    font-weight: 700; color: var(--muted); cursor: pointer; transition: background .15s, color .15s; }
  .auth-tabs button.active { background: #fff; color: var(--violet); box-shadow: 0 1px 4px rgba(0,0,0,.09); }
  .auth-card form { display: flex; flex-direction: column; gap: 12px; }
  .auth-card form[hidden] { display: none; }
  .auth-card input { width: 100%; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px;
    font-size: 15px; outline: none; transition: border-color .15s, box-shadow .15s; }
  .auth-card input:focus { border-color: var(--violet); box-shadow: 0 0 0 3px rgba(45,85,150,.12); }
  .auth-submit { background: var(--violet); color: #fff; border: 0; padding: 12px; border-radius: 10px;
    font-size: 15.5px; font-weight: 700; cursor: pointer; margin-top: 4px; transition: background .15s, opacity .15s; }
  .auth-submit:hover { background: var(--violet-d); }
  .auth-submit:disabled { opacity: .6; cursor: default; }
  .auth-err { display: none; background: #fff1f0; border: 1px solid #ffccc7; color: #cf1322;
    font-size: 13px; padding: 9px 12px; border-radius: 9px; margin-bottom: 14px; }
  .auth-foot { text-align: center; color: var(--muted); font-size: 12px; margin-top: 16px; }

  /* ============ 安装指引（越过 Windows 安全提示 · 浮层版）============ */
  .kicker { display:inline-block; font-size:13px; font-weight:700; letter-spacing:1px; color:var(--violet);
    background:var(--soft); padding:4px 13px; border-radius:999px; margin-bottom:12px; }
  /* 浮层卡片：比登录卡宽、可纵向滚动（步骤+两张示意图较高，小屏要能滚）。复用 .auth-overlay 的遮罩与居中。 */
  .guide-card { max-width:560px; max-height:90vh; overflow-y:auto; padding:26px 26px 22px; text-align:left; }
  .guide-hd { text-align:center; margin-bottom:6px; }
  .guide-ok { display:inline-block; background:#e7f7ec; color:#1a7f37; font-size:13px; font-weight:700;
    padding:4px 14px; border-radius:999px; }
  /* hero 下载按钮下的小字入口：低调但点得到，给想提前看的人。 */
  /* 入口在深蓝 hero 上：必须用浅色（var(--violet) 是深蓝紫，压深蓝背景=隐身）。
     给个半透明胶囊底，浅色字，既显眼又像可点。 */
  .hero-guide { margin-top:14px; font-size:13.5px; }
  .hero-guide a { display:inline-block; color:#eaf2ff; font-weight:600; text-decoration:none;
    background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.30);
    padding:6px 15px; border-radius:999px; transition:background .15s,border-color .15s; }
  .hero-guide a:hover { background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.55); color:#fff; }
  /* 浮层内的步骤列表：占满卡片宽度、收紧上间距（非整页版那种 720/30 居中布局）。 */
  .guide-card .guide-steps { max-width:none; margin:16px 0 0; }
  .guide-card .win-dialog { max-width:none; }
  .guide-steps { max-width:720px; margin:30px auto 0; list-style:none; display:grid; gap:14px; }
  .guide-steps li { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px 18px; }
  .guide-steps li.key { border-color:var(--violet); box-shadow:0 10px 30px rgba(45,85,150,.12); }
  .gs-head { display:flex; align-items:center; gap:10px; font-weight:700; font-size:16px; }
  .gs-n { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; flex:none;
    border-radius:50%; background:var(--violet); color:#fff; font-size:13px; font-weight:700; }
  .guide-steps p { color:var(--muted); margin-top:8px; font-size:14.5px; }
  .tag { margin-left:auto; background:#fde8e8; color:#d92d2d; font-size:12px; font-weight:700; padding:2px 10px; border-radius:999px; }
  .kbd { display:inline-block; background:var(--soft); border:1px solid var(--line); border-radius:6px;
    padding:1px 8px; font-weight:600; color:var(--ink); font-size:13.5px; }
  /* Windows「已保护你的电脑」示意框 */
  .win-dialog { margin:12px 0; max-width:440px; background:#0f6cbd; color:#fff; border-radius:8px;
    padding:16px 18px; box-shadow:0 12px 32px rgba(15,108,189,.32); }
  .wd-title { font-size:17px; font-weight:700; margin-bottom:8px; }
  .wd-text { font-size:13px; opacity:.92; line-height:1.5; }
  .wd-link { margin-top:14px; font-size:14px; }
  .wd-link .hot { text-decoration:underline; font-weight:700; }
  .wd-btns { margin-top:16px; display:flex; gap:10px; }
  .wd-btn { display:inline-block; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.5);
    color:#fff; padding:6px 16px; border-radius:4px; font-size:13px; }
  .wd-btn.hot { background:#fff; color:#0f6cbd; border-color:#fff; font-weight:700; box-shadow:0 0 0 3px rgba(255,255,255,.5); }
  /* 两步弹窗：按钮右对齐 + 步骤间箭头 + 蓝框内黄色提示 */
  .wd-btns.end { justify-content: flex-end; }
  .wd-callout { display:inline-block; color:#ffd86b; font-size:13px; font-weight:700; margin-left:6px; }
  .guide-steps p.wd-arrow { text-align:center; color:var(--violet); font-weight:700; font-size:14px; }
  /* 用红框框住「该点的目标」，让眼睛一眼锁定（覆盖前面的白框样式）*/
  .wd-link .hot { display:inline-block; border:2px solid #ff3b30; border-radius:6px; padding:1px 9px; box-shadow:0 0 0 4px rgba(255,59,48,.30); }
  .wd-btn.hot { border:2px solid #ff3b30; box-shadow:0 0 0 4px rgba(255,59,48,.42); }

  /* ============ 2026 landing v2：产品证据优先 ============
     首屏用真实工作台截图，文案只做定位；旧版宣传区保留在 DOM 里便于回滚但不参与渲染。 */
  :root { --v2-ink:#142033; --v2-muted:#64748b; --v2-line:#dfe7f0; --v2-bg:#f7f9fc;
    --v2-blue:#2d5596; --v2-blue-d:#203f72; --v2-pale:#edf3fa; }
  body { background:#fff; color:var(--v2-ink); overflow-x:hidden; }
  .legacy-page { display:none; }
  .nav { background:rgba(255,255,255,.92); border-bottom:1px solid var(--v2-line); }
  .nav .wrap { max-width:1060px; height:68px; }
  .brand { color:var(--v2-ink); letter-spacing:.1px; }
  .brand small { color:#8491a5; letter-spacing:.4px; }
  .nav-links { gap:26px; }
  .nav-links a { color:#536174; }
  .nav-links a:hover { color:var(--v2-blue); }
  .nav-cta { background:var(--v2-blue); border-radius:7px; padding:9px 19px; }
  .nav-cta:hover { background:var(--v2-blue-d); }

  .hero-v2 { overflow:hidden; position:relative; display:block; max-width:none; padding:0;
    background:var(--v2-bg); color:var(--v2-ink); text-align:left; border-bottom:1px solid var(--v2-line); }
  .hero-v2::before { display:none; }
  .hero-shell { display:grid; grid-template-columns:420px minmax(0,540px); gap:60px; align-items:center;
    width:100%; max-width:1060px; margin:0 auto; padding:112px 20px 98px; }
  .hero-v2 .hero-copy { max-width:420px; position:relative; z-index:1; }
  .hero-v2 .eyebrow, .section-heading .eyebrow, .workflow-inner .eyebrow, .download-v2 .eyebrow { color:var(--v2-blue);
    font-size:12px; font-weight:800; letter-spacing:1.8px; text-transform:uppercase; }
  .hero-v2 h1 { margin-top:20px; font-size:clamp(46px,4.5vw,64px); line-height:1.09; letter-spacing:-1.5px; font-weight:800; }
  .hero-v2 h1 em { color:var(--v2-blue); font-style:normal; }
  .hero-v2 .sub { max-width:350px; margin-top:26px; color:#5d6b7e; font-size:16px; line-height:1.85; }
  .hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; min-height:48px; margin-top:34px; }
  .hero-actions .btn { min-width:132px; justify-content:center; padding:12px 22px; border-radius:8px; }
  .hero-v2 .btn-primary { background:var(--v2-blue); color:#fff; box-shadow:0 12px 24px -15px rgba(45,85,150,.85); }
  .hero-v2 .btn-primary:hover { background:var(--v2-blue-d); box-shadow:0 15px 28px -15px rgba(45,85,150,.9); }
  .text-action { display:inline-flex; align-items:center; gap:7px; color:var(--v2-blue); font-weight:700; font-size:15px; }
  /* 登录态 CTA 必须真正互斥，避免 display 覆盖 HTML 的 hidden 属性。 */
  .text-action[hidden] { display:none; }
  .text-action span { font-size:18px; transition:transform .15s ease; }
  .text-action:hover span { transform:translate(2px,-2px); }
  .hero-download-link { padding:10px 0; font-size:14px; }
  .hero-meta { display:flex; flex-wrap:wrap; gap:14px; margin-top:22px; color:#8491a5; font-size:12px; }
  .hero-meta span + span { border-left:1px solid #cbd5e1; padding-left:14px; }
  .hero-v2 .hero-guide { margin-top:30px; font-size:12px; }
  .hero-v2 .hero-guide a { padding:0; color:#8995a6; background:none; border:0; border-radius:0; font-weight:600; }
  .hero-v2 .hero-guide a:hover { color:var(--v2-blue); background:none; border:0; }
  .hero-product { min-width:0; width:100%; max-width:540px; position:relative; justify-self:end; }
  .product-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 0 13px; }
  .product-tabs { display:inline-flex; align-items:center; gap:2px; padding:3px; border:1px solid #dce4ee; border-radius:8px; background:#edf2f7; }
  .product-tabs button { min-width:58px; height:28px; padding:0 10px; border:0; border-radius:6px; background:transparent; color:#7b8798; font:700 12px/1 inherit; cursor:pointer; transition:background .2s ease,color .2s ease,box-shadow .2s ease; }
  .product-tabs button:hover { color:var(--v2-blue); }
  .product-tabs button.is-active { background:#fff; color:var(--v2-blue); box-shadow:0 1px 5px rgba(38,60,90,.12); }
  .product-tabs button:focus-visible { outline:2px solid var(--v2-blue); outline-offset:2px; }
  .product-caption { display:flex; align-items:center; justify-content:flex-end; gap:8px; min-width:0; color:#748196; font-size:12px; font-weight:700; white-space:nowrap; }
  .caption-dot { width:7px; height:7px; border-radius:50%; background:#46b88b; box-shadow:0 0 0 4px rgba(70,184,139,.12); }
  .product-frame { overflow:hidden; position:relative; aspect-ratio:16/10; border:1px solid #d9e2ec; border-radius:12px; background:#f1f5f9; box-shadow:0 28px 60px -32px rgba(24,45,76,.55), 0 8px 24px rgba(32,63,114,.08); transition:aspect-ratio .38s ease, max-width .38s ease, transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s ease; }
  .product-frame[data-active="mobile"] { max-width:430px; aspect-ratio:4/5; margin-left:auto; }
  .product-shot { position:absolute; inset:0; display:grid; place-items:center; margin:0; opacity:0; transform:translateY(7px) scale(.992); transition:opacity .32s ease,transform .42s cubic-bezier(.22,.61,.36,1); }
  .product-zoom-trigger { cursor:zoom-in; }
  .product-zoom-trigger:focus-visible { outline:3px solid #77a7ed; outline-offset:-5px; }
  .product-shot[hidden] { display:none; }
  .product-shot.is-active { opacity:1; transform:none; }
  .product-shot img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; object-position:center; background:#fff; }
  .product-shot:not(.product-shot-mobile) img { width:100%; height:100%; }
  .product-shot-mobile { padding:14px; background-color:#e8eef5; background-image:url('/mobile-preview.png?v=20260808-full-preview'); background-repeat:no-repeat; background-position:center; background-size:contain; background-origin:content-box; background-clip:content-box; }

  .proof-band { display:grid; grid-template-columns:repeat(3,1fr); max-width:1060px; margin:0 auto; padding:38px 20px;
    border-bottom:1px solid var(--v2-line); }
  .proof-item { display:flex; flex-direction:column; gap:7px; padding:0 34px; }
  .proof-item + .proof-item { border-left:1px solid var(--v2-line); }
  .proof-item strong { color:var(--v2-ink); font-size:14px; }
  .proof-item span { color:#8a96a7; font-size:13px; }

  .scene-section { max-width:1060px; margin:0 auto; padding:126px 20px 132px; }
  .section-heading { max-width:560px; }
  .section-heading h2, .workflow-inner h2, .download-v2 h2 { margin-top:14px; color:var(--v2-ink); font-size:38px; line-height:1.2; letter-spacing:-.8px; }
  .section-heading p, .workflow-inner p, .download-v2 p { margin-top:14px; color:var(--v2-muted); font-size:16px; line-height:1.8; }
  .scene-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:56px; }
  .scene { min-height:265px; display:flex; flex-direction:column; align-items:flex-start; padding:30px; border-radius:10px; color:#fff; transition:transform .18s ease, box-shadow .18s ease; }
  .scene:hover { transform:translateY(-4px); box-shadow:0 20px 30px -24px rgba(20,32,51,.7); }
  .scene-blue { background:#dbe8f7; color:#17345f; }
  .scene-ink { background:#17243a; }
  .scene-slate { background:#e9eef3; color:#26384e; }
  .scene-index { font-size:12px; font-weight:800; letter-spacing:1px; opacity:.66; }
  .scene h3 { margin-top:58px; font-size:24px; letter-spacing:-.2px; }
  .scene p { max-width:230px; margin-top:8px; font-size:14px; line-height:1.65; opacity:.78; }
  .scene-link { display:flex; align-items:center; gap:8px; margin-top:auto; font-size:13px; font-weight:800; }
  .scene-link b { font-size:17px; font-weight:500; transition:transform .18s ease; }
  .scene:hover .scene-link b { transform:translate(3px,-3px); }

  .workflow-band { background:#142238; color:#fff; }
  .workflow-inner { display:grid; grid-template-columns:1fr 1fr; gap:100px; max-width:1060px; margin:0 auto; padding:112px 20px; align-items:center; }
  .workflow-inner .eyebrow { color:#9bb6d8; }
  .workflow-inner h2 { color:#fff; }
  .workflow-inner p { max-width:430px; color:#b3c0d1; }
  .workflow-list { display:grid; gap:0; border-top:1px solid rgba(255,255,255,.18); }
  .workflow-list div { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:16px; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.18); }
  .workflow-list span { color:#89a9d3; font:700 12px ui-monospace,monospace; }
  .workflow-list strong { font-size:16px; }
  .workflow-list em { color:#aab8ca; font-size:13px; font-style:normal; }

  .download-v2 { max-width:1060px; margin:0 auto; padding:104px 20px 118px; }
  .download-v2-inner { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; padding:42px 0 0; border-top:1px solid var(--v2-line); }
  .download-v2 h2 { font-size:32px; }
  .download-actions { display:flex; align-items:center; gap:24px; flex:none; padding-bottom:6px; }
  .download-actions .btn-primary { background:var(--v2-blue); color:#fff; }

  /* 动态只帮助建立层级：首屏依次落位、滚动区沿用现有 IntersectionObserver。
     不做持续漂浮的大块装饰，避免页面像模板演示。 */
  .product-frame { transition:transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s ease; }
  .product-frame:hover { transform:translateY(-4px); box-shadow:0 34px 68px -34px rgba(24,45,76,.62), 0 12px 28px rgba(32,63,114,.11); }
  @media (prefers-reduced-motion:no-preference) {
    .hero-v2 .eyebrow { opacity:0; animation:v2Rise .65s .04s cubic-bezier(.22,.61,.36,1) forwards; }
    .hero-v2 .hero-actions { opacity:0; animation:v2Rise .72s .4s cubic-bezier(.22,.61,.36,1) forwards; }
    .hero-v2 .hero-meta { opacity:0; animation:v2Rise .72s .52s cubic-bezier(.22,.61,.36,1) forwards; }
    .hero-product { opacity:0; transform:translateY(18px) scale(.975);
      animation:v2ProductIn .9s .2s cubic-bezier(.16,1,.3,1) forwards; }
    .caption-dot { animation:v2Pulse 2.4s ease-in-out infinite; }
    @keyframes v2Rise { from { opacity:0; transform:translateY(16px) } to { opacity:1; transform:none } }
    @keyframes v2ProductIn { to { opacity:1; transform:none } }
    @keyframes v2Pulse { 0%,100% { box-shadow:0 0 0 4px rgba(70,184,139,.12) }
      50% { box-shadow:0 0 0 8px rgba(70,184,139,0) } }
  }
  @media (prefers-reduced-motion:reduce) {
    .product-frame, .product-shot, .product-tabs button, .scene, .scene-link b { transition:none; }
  }

  @media (max-width:900px) {
    .hero-shell { grid-template-columns:1fr; gap:58px; padding:82px 24px 72px; }
    .hero-v2 .hero-copy { max-width:620px; }
    .hero-v2 .sub { max-width:600px; }
    .hero-product { max-width:760px; }
    .workflow-inner { gap:48px; }
  }
  @media (max-width:640px) {
    .nav .wrap { height:60px; padding:0 16px; position:relative; }
    .nav-links { position:absolute; right:16px; gap:12px; margin-left:0; flex:none; }
    .nav-links .nav-link { display:none; }
    .nav-links .nav-cta { display:inline-flex; }
    .hero-shell { padding:64px 18px 50px; gap:42px; }
    .hero-v2 h1 { font-size:48px; letter-spacing:-1.4px; }
    .hero-v2 .sub { width:100%; max-width:100%; font-size:15px; line-height:1.7; overflow-wrap:anywhere; }
    .hero-actions { gap:18px; margin-top:30px; }
    .hero-actions .btn { min-width:128px; }
    .hero-meta { gap:9px; }
    .hero-meta span + span { padding-left:9px; }
    .product-toolbar { align-items:flex-start; flex-direction:column; gap:9px; }
    .product-caption { justify-content:flex-start; padding-left:4px; }
    .product-tabs { width:100%; }
    .product-tabs button { flex:1; min-width:0; }
    .product-frame[data-active="mobile"] { max-width:none; }
    .product-shot-mobile { padding:11px; }
    .proof-band { grid-template-columns:1fr; gap:17px; padding:23px 18px; }
    .proof-item { padding:0; }
    .proof-item + .proof-item { border-left:0; }
    .scene-section { padding:72px 18px 76px; }
    .section-heading h2, .workflow-inner h2 { font-size:31px; }
    .scene-grid { grid-template-columns:1fr; gap:10px; margin-top:32px; }
    .scene { min-height:205px; padding:23px; }
    .scene h3 { margin-top:34px; }
    .workflow-inner { grid-template-columns:1fr; gap:42px; padding:70px 18px; }
    .workflow-list div { grid-template-columns:36px 1fr; }
    .workflow-list em { grid-column:2; margin-top:-10px; }
    .download-v2 { padding:68px 18px 78px; }
    .download-v2-inner { display:block; }
    .download-v2 h2 { font-size:29px; }
    .download-actions { margin-top:30px; flex-wrap:wrap; }
  }
