  .banner{position:relative;overflow:hidden;isolation:isolate;
          display:flex;flex-direction:column;justify-content:center;
          min-height:min(86vh,790px);padding:88px 0 40px}
  .scene{position:absolute;inset:0;z-index:-3;background-size:cover;background-position:center}
  .veil{position:absolute;inset:0;z-index:-2}
  .glow{position:absolute;z-index:-2;border-radius:50%;filter:blur(90px)}

  /* ---------- shared top bar ---------- */
  .topbar{position:absolute;top:clamp(20px,2.6vw,36px);left:0;right:0;z-index:6;
    display:flex;align-items:center;justify-content:space-between;
    padding:0 clamp(20px,5vw,72px)}
  .brand{display:flex;align-items:center;gap:11px}
  .mark{width:30px;height:30px;display:flex;align-items:flex-end;justify-content:center}
  .bname{font-family:"Helvetica Neue",Arial,sans-serif;font-size:clamp(17px,1.5vw,21px);
    font-weight:700;letter-spacing:1.4px;color:var(--brand-ink)}
  .bname em{font-style:normal;font-family:"PingFang SC";font-size:.72em;font-weight:400;
    letter-spacing:1px;color:var(--brand-sub);margin-left:8px}
  .index{display:flex;align-items:baseline;gap:7px;font-family:"Helvetica Neue",Arial,sans-serif;
    color:var(--brand-sub);font-size:13px;letter-spacing:1.5px}
  .index b{font-size:20px;font-weight:700;color:var(--brand-ink)}
  .dots{display:flex;align-items:center;gap:6px;margin-left:12px}
  .dots i{display:block;width:6px;height:6px;border-radius:50%;background:var(--dot-off)}
  .dots i.on{width:22px;border-radius:4px;background:var(--dot-on)}

  /* ---------- shared type ---------- */
  .eyebrow{display:inline-flex;align-items:center;gap:9px;
    padding:8px 17px 8px 12px;border-radius:999px;
    background:var(--eb-bg);border:1px solid var(--eb-bd);
    font-size:clamp(12.5px,1vw,15px);letter-spacing:1.3px;font-weight:500;color:var(--eb-ink)}
  .eyebrow b{display:block;width:7px;height:7px;border-radius:50%;background:var(--accent2);
    box-shadow:0 0 0 4px var(--eb-dot)}
  h1{font-size:clamp(36px,5.2vw,68px);line-height:1.12;font-weight:700;
     letter-spacing:-1.4px;color:var(--ink);margin-top:clamp(16px,1.8vw,24px)}
  h1 .em{background:var(--em-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .sub{margin-top:clamp(12px,1.4vw,18px);font-size:clamp(15px,1.3vw,18px);
    line-height:1.72;font-weight:400;color:var(--ink-2)}
  .sub b{font-weight:600;color:var(--ink)}
  .chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:clamp(14px,1.6vw,22px)}
  .chips span{padding:9px 17px;border-radius:999px;font-size:clamp(12.5px,.95vw,15px);
    letter-spacing:.3px;color:var(--chip-ink);background:var(--chip-bg);
    border:1px solid var(--chip-bd);box-shadow:var(--chip-shadow)}
  .chips span.hot{background:var(--chip-hot);color:var(--chip-hot-ink);
    border-color:transparent;font-weight:600;box-shadow:var(--chip-hot-shadow)}

  /* ==========================================================
     B1 · GEO  —  中轴对称 / 搜索框 + 横向答案条
     ========================================================== */
  .b1{--bg:url("assets/gen/bg-geo-v7.jpg");
    --ink:#0a1a2c;--ink-2:#33475e;--accent:#2e7be0;--accent2:#f5a623;
    --eb-bg:rgba(46,123,224,.10);--eb-bd:rgba(46,123,224,.30);--eb-ink:#1b5fc4;
    --eb-dot:rgba(245,166,35,.28);
    --chip-bg:rgba(255,255,255,.86);--chip-ink:#2c4058;--chip-bd:rgba(10,26,44,.12);
    --chip-shadow:0 6px 16px rgba(23,52,92,.08);
    --chip-hot:linear-gradient(135deg,#f5a623,#ffb320);--chip-hot-ink:#3e2a00;
    --chip-hot-shadow:0 10px 22px rgba(255,178,32,.40);
    --em-grad:linear-gradient(100deg,#1b5fc4,#5a9fff 60%,#86bfff);
    --brand-ink:#0a1a2c;--brand-sub:#6a7d94;
    --dot-off:rgba(10,26,44,.18);--dot-on:linear-gradient(90deg,#2e7be0,#f5a623)}
  .b1 .scene{background-image:var(--bg);background-position:70% 55%}
  .b1 .veil{background:
    radial-gradient(ellipse 82% 64% at 50% 46%,rgba(255,255,255,.93) 0%,
      rgba(255,255,255,.70) 50%,rgba(255,255,255,.34) 78%,rgba(255,255,255,.14) 100%)}
  .b1 .glow{left:-140px;top:-180px;width:520px;height:520px;background:rgba(150,190,255,.16)}
  .b1 .glow.g2{left:auto;right:-160px;bottom:-220px;width:520px;height:520px;
    background:rgba(255,201,120,.13)}

  .b1-wrap{width:100%;max-width:1000px;margin:0 auto;
    padding:0 clamp(20px,5vw,40px);text-align:center}
  .b1-wrap .eyebrow{align-self:center}
  .b1-wrap h1{letter-spacing:-1.8px}
  .b1-wrap .sub{max-width:600px;margin-left:auto;margin-right:auto}
  .b1-wrap .chips{justify-content:center}

  .b1stats{display:flex;justify-content:center;gap:clamp(28px,5vw,64px);
    margin-top:clamp(16px,1.8vw,22px);padding-top:clamp(14px,1.6vw,18px);
    border-top:1px solid rgba(10,26,44,.10)}
  .b1stats div{text-align:center}
  .b1stats b{display:block;font-family:"Helvetica Neue",Arial,sans-serif;
    font-size:clamp(21px,2.3vw,27px);font-weight:700;letter-spacing:-.8px;line-height:1;
    color:#0a1a2c}
  .b1stats b em{font-style:normal;font-size:.5em;font-weight:500;color:#5f748c;margin-left:2px}
  .b1stats small{display:block;margin-top:7px;font-size:11.5px;letter-spacing:.5px;color:#5f748c}

  .searchbar{display:flex;align-items:center;gap:12px;
    width:100%;max-width:720px;margin:clamp(18px,2.1vw,26px) auto 0;
    padding:11px 11px 11px 18px;border-radius:999px;
    background:rgba(255,255,255,.94);border:1px solid rgba(10,26,44,.10);
    box-shadow:0 18px 44px rgba(24,52,92,.14),inset 0 1px 0 #fff}
  .searchbar .sicon{flex:none;width:20px;height:20px;color:#7d90a8}
  .searchbar .q{flex:1;min-width:0;text-align:left;font-size:clamp(14px,1.25vw,17px);
    color:#20344c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .searchbar .go{flex:none;padding:9px 20px;border-radius:999px;font-size:14px;font-weight:600;
    color:#fff;background:linear-gradient(135deg,#2e7be0,#3d82ef);
    box-shadow:0 8px 20px rgba(46,123,224,.34)}

  .engines{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;
    margin-top:14px;font-size:12.5px;color:#5f748c}
  .engines span{padding:5px 12px;border-radius:8px;color:#4a6076;
    background:rgba(255,255,255,.72);border:1px solid rgba(10,26,44,.10)}
  .engines span.on{color:#fff;font-weight:600;border-color:transparent;
    background:linear-gradient(135deg,#2e7be0,#3d82ef)}

  /* dark answer bar (horizontal) */
  .answer{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;
    gap:clamp(18px,2.4vw,34px);width:100%;max-width:880px;
    margin:clamp(16px,1.9vw,24px) auto 0;padding:clamp(16px,1.8vw,20px) clamp(20px,2.2vw,26px);
    border-radius:20px;text-align:left;
    background:rgba(9,19,36,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.13);
    box-shadow:0 30px 70px rgba(8,20,40,.30)}
  .answer .tag{display:inline-flex;align-items:center;gap:7px;font-size:11px;letter-spacing:1.4px;
    color:#9db0cc}
  .answer .tag i{width:6px;height:6px;border-radius:50%;background:#7fd0ff}
  .answer p{margin-top:9px;font-size:clamp(13.5px,1.15vw,15.5px);line-height:1.7;color:#d3dff2}
  .answer .cite{display:flex;align-items:center;gap:12px;
    padding:12px 14px;border-radius:13px;
    background:linear-gradient(90deg,rgba(245,166,35,.22),rgba(245,166,35,.04));
    border:1px solid rgba(245,166,35,.40);border-left:3px solid #f5a623}
  .answer .cite .rank{flex:none;font-family:"Helvetica Neue",Arial,sans-serif;font-size:11.5px;
    font-weight:700;color:#b88407;background:#fff;border:1px solid rgba(245,166,35,.5);
    border-radius:5px;padding:2px 7px}
  .answer .cite b{display:block;font-size:14.5px;font-weight:600;color:#fff}
  .answer .cite small{display:block;font-size:11px;color:#a9b8d2;margin-top:2px}
  .answer .cite .badge{margin-left:auto;flex:none;font-size:10.5px;font-weight:700;
    color:#3e2a00;background:linear-gradient(135deg,#f5a623,#ffb320);
    padding:4px 9px;border-radius:6px}

  /* ==========================================================
     B2 · 新媒体视频  —  画面主导 / 左视频 右精简文案
     ========================================================== */
  .b2{--bg:url("assets/gen/bg-media-v7.jpg");
    --ink:#ffffff;--ink-2:rgba(255,255,255,.82);--accent:#ffb43c;--accent2:#7fd0ff;
    --eb-bg:rgba(255,180,60,.16);--eb-bd:rgba(255,180,60,.42);--eb-ink:#ffd27a;
    --eb-dot:rgba(255,180,60,.30);
    --chip-bg:rgba(255,255,255,.10);--chip-ink:#eaf1ff;--chip-bd:rgba(255,255,255,.22);
    --chip-shadow:none;
    --chip-hot:linear-gradient(135deg,#ffb43c,#ff9b2e);--chip-hot-ink:#3e2400;
    --chip-hot-shadow:0 10px 24px rgba(255,160,40,.42);
    --em-grad:linear-gradient(100deg,#ffd27a,#ffb43c 55%,#ff9b2e);
    --brand-ink:#fff;--brand-sub:rgba(255,255,255,.68);
    --dot-off:rgba(255,255,255,.28);--dot-on:linear-gradient(90deg,#ffb43c,#7fd0ff)}
  .b2 .scene{background-image:var(--bg);background-position:center 42%}
  .b2 .veil{background:
    linear-gradient(95deg,rgba(6,12,22,.30) 0%,rgba(6,12,22,.48) 46%,rgba(6,12,22,.86) 78%,rgba(6,12,22,.92) 100%),
    linear-gradient(180deg,rgba(6,12,22,.55) 0%,rgba(6,12,22,.10) 30%,rgba(6,12,22,.20) 70%,rgba(6,12,22,.72) 100%)}
  .b2 .glow{right:-120px;top:-180px;width:600px;height:600px;background:rgba(255,180,60,.26)}
  .b2 .glow.g2{left:-180px;bottom:-220px;width:520px;height:520px;background:rgba(127,208,255,.18)}

  .b2-grid{width:100%;max-width:1360px;margin:0 auto;
    padding:0 clamp(20px,4.4vw,56px);
    display:grid;grid-template-columns:1.22fr .78fr;
    gap:clamp(26px,3.4vw,50px);align-items:center}
  .b2-grid .copy{min-width:0;order:2}
  .b2-grid .vinema{min-width:0;order:1}
  .b2 h1{letter-spacing:-1.6px}

  .vinema{display:flex;flex-direction:column;gap:clamp(12px,1.5vw,18px)}
  .frame{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;
    border:1px solid rgba(255,255,255,.20);
    box-shadow:0 40px 90px rgba(0,0,0,.60)}
  .frame .fb{position:absolute;inset:0;background-image:url("assets/gen/bg-media-v7.jpg");
    background-size:cover;background-position:center 30%;
    filter:brightness(1.30) contrast(1.05) saturate(1.12)}
  .frame .fv{position:absolute;inset:0;
    background:linear-gradient(155deg,rgba(46,123,224,.16),rgba(46,123,224,0) 46%),
              linear-gradient(to top,rgba(4,12,24,.56),rgba(4,12,24,0) 58%)}
  .frame .rec{position:absolute;left:14px;top:14px;display:flex;align-items:center;gap:6px;
    font-family:"Helvetica Neue",Arial,sans-serif;font-size:10.5px;letter-spacing:1.4px;color:#fff;
    background:rgba(10,20,36,.44);padding:5px 10px;border-radius:999px;backdrop-filter:blur(6px)}
  .frame .rec i{width:6px;height:6px;border-radius:50%;background:#ffb43c;
    box-shadow:0 0 8px rgba(255,180,60,.9);animation:blink 1.7s steps(2,end) infinite}
  .frame .play{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);
    width:clamp(52px,5.6vw,72px);height:clamp(52px,5.6vw,72px);border-radius:50%;
    background:rgba(255,255,255,.20);border:1.5px solid rgba(255,255,255,.92);
    backdrop-filter:blur(6px);box-shadow:0 12px 34px rgba(0,0,0,.38)}
  .frame .play::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    border-left:16px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent;
    margin-left:4px}
  .frame .cap{position:absolute;left:15px;bottom:12px;font-size:14px;font-weight:600;color:#fff;
    letter-spacing:.5px;text-shadow:0 2px 14px rgba(0,0,0,.7)}
  .frame .dur{position:absolute;right:13px;bottom:12px;font-family:"Helvetica Neue",Arial,sans-serif;
    font-size:10.5px;letter-spacing:.8px;color:#fff;background:rgba(10,20,36,.44);
    padding:3px 8px;border-radius:5px}

  .strip{display:flex;align-items:flex-end;justify-content:center;
    gap:clamp(12px,1.8vw,22px);
    --h:clamp(84px,10.4vw,138px)}
  .shot{display:flex;flex-direction:column;align-items:center;gap:7px;flex:none;min-width:0}
  .shot .box{height:var(--h);border-radius:9px;overflow:hidden;position:relative;
    border:1px solid rgba(255,255,255,.20);box-shadow:0 12px 26px rgba(0,0,0,.34)}
  .shot.w .box{aspect-ratio:16/9}
  .shot.p .box{aspect-ratio:9/16}
  .shot.s .box{aspect-ratio:1/1}
  .shot .box .c{position:absolute;inset:0;background-image:url("assets/gen/bg-media-v7.jpg");
    background-size:cover;filter:brightness(1.42) contrast(1.06) saturate(1.14)}
  .shot .box::after{content:"";position:absolute;inset:0;
    background:linear-gradient(to top,rgba(4,12,24,.30),rgba(4,12,24,0) 58%)}
  .shot.w .box .c{background-position:78% 22%}
  .shot.p .box .c{background-position:88% 16%}
  .shot.s .box .c{background-position:70% 30%}
  .shot figcaption{font-size:10.5px;letter-spacing:.3px;line-height:1.2;
    color:rgba(255,255,255,.60);white-space:nowrap}

  .wline{display:flex;align-items:center;justify-content:space-between;gap:8px;
    margin-top:4px;padding-top:14px;border-top:1px dashed rgba(255,255,255,.22)}
  .wline span{flex:none;white-space:nowrap;font-size:11.5px;letter-spacing:.3px;
    color:rgba(255,255,255,.80);background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.16);padding:6px 11px;border-radius:7px}
  .wline span.hi{color:#3e2400;font-weight:600;border-color:transparent;
    background:linear-gradient(135deg,#ffb43c,#ff9b2e);
    box-shadow:0 8px 18px rgba(255,160,40,.34)}
  .wline i{flex:1;height:1px;background:rgba(255,255,255,.24);min-width:6px}

  .stats{display:flex;gap:clamp(16px,2vw,30px);margin-top:clamp(22px,2.8vw,36px);
    padding-top:clamp(18px,2.2vw,26px);border-top:1px solid rgba(255,255,255,.14)}
  .stats div{flex:1;min-width:0}
  .stats b{display:block;font-family:"Helvetica Neue",Arial,sans-serif;
    font-size:clamp(21px,2.4vw,28px);font-weight:700;letter-spacing:-.8px;line-height:1;
    color:#fff}
  .stats b em{font-style:normal;font-size:.48em;font-weight:500;
    color:rgba(255,255,255,.62);margin-left:2px;letter-spacing:0}
  .stats small{display:block;margin-top:7px;font-size:11.5px;letter-spacing:.5px;
    color:rgba(255,255,255,.58)}

  /* ==========================================================
     B3 · 企业 AI 提效  —  通栏横向流程带 / 靠边对齐
     ========================================================== */
  .b3{--bg:url("assets/gen/bg-ai-v7.jpg");
    --ink:#08192b;--ink-2:#374b62;--accent:#5b6cf0;--accent2:#15bfa0;
    --eb-bg:rgba(91,108,240,.12);--eb-bd:rgba(91,108,240,.34);--eb-ink:#3f4fd6;
    --eb-dot:rgba(21,191,160,.30);
    --chip-bg:rgba(255,255,255,.82);--chip-ink:#2c3a66;--chip-bd:rgba(8,25,43,.12);
    --chip-shadow:0 6px 16px rgba(20,40,80,.10);
    --chip-hot:linear-gradient(135deg,#5b6cf0,#7a86f5);--chip-hot-ink:#fff;
    --chip-hot-shadow:0 10px 22px rgba(91,108,240,.38);
    --em-grad:linear-gradient(100deg,#3f4fd6,#7a86f5 55%,#15bfa0);
    --brand-ink:#08192b;--brand-sub:#67798f;
    --dot-off:rgba(8,25,43,.18);--dot-on:linear-gradient(90deg,#5b6cf0,#15bfa0)}
  .b3 .scene{background-image:var(--bg);background-position:center 68%}
  .b3 .veil{background:
    linear-gradient(100deg,rgba(240,246,254,.97) 0%,rgba(240,246,254,.88) 38%,
      rgba(240,246,254,.66) 66%,rgba(240,246,254,.44) 100%)}
  .b3 .blueprint{position:absolute;inset:0;z-index:-2;opacity:.55;
    background-image:
      linear-gradient(rgba(91,108,240,.10) 1px,transparent 1px),
      linear-gradient(90deg,rgba(91,108,240,.10) 1px,transparent 1px);
    background-size:56px 56px;
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 26%,#000 78%,transparent 100%);
            mask-image:linear-gradient(180deg,transparent 0%,#000 26%,#000 78%,transparent 100%)}
  .b3 .glow{right:-140px;top:-160px;width:560px;height:560px;background:rgba(91,108,240,.22)}
  .b3 .glow.g2{left:auto;right:260px;bottom:-240px;width:500px;height:500px;
    background:rgba(21,191,160,.18)}

  /* ---- 发散式智能体 logo 场：大=虚(远)、小=实(近)，制造景深与漂浮感 ---- */
  .field{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
  .lg{position:absolute;left:var(--x);top:var(--y);
    width:var(--s);height:var(--s);
    margin:calc(var(--s) * -0.5) 0 0 calc(var(--s) * -0.5);
    filter:blur(var(--b));opacity:var(--o);
    animation:drift var(--dur,15s) ease-in-out infinite;
    animation-delay:var(--del,0s);
    will-change:transform}
  .lg i{display:flex;align-items:center;justify-content:center;
    width:100%;height:100%;border-radius:30%;
    transform:rotate(var(--r,0deg));
    background:rgba(255,255,255,.82);color:var(--c);
    box-shadow:0 12px 30px rgba(24,52,92,.12),inset 0 0 0 1px rgba(255,255,255,.92)}
  .lg svg{width:54%;height:54%;display:block}
  /* 更远的虚化光斑（纯色块，不看细节） */
  .lg.bokeh i{border-radius:50%;background:var(--c);box-shadow:none;opacity:.30}
  @keyframes drift{
    0%,100%{transform:translate3d(0,0,0)}
    50%{transform:translate3d(var(--dx,7px),var(--dy,-14px),0)}
  }
  @media (prefers-reduced-motion:reduce){
    .lg{animation:none}
  }

  .b3-wrap{position:relative;z-index:2;
    width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}
  .b3-copy{max-width:690px}
  .b3 h1{letter-spacing:-1.7px}

  /* ---- 智能体工作台窗口 ---- */
  .stage{margin-top:clamp(20px,2.4vw,32px);position:relative}
  .win{background:rgba(255,255,255,.94);border:1px solid rgba(8,25,43,.10);
    border-radius:16px;overflow:hidden;
    box-shadow:0 34px 80px rgba(20,40,80,.20),0 2px 6px rgba(20,40,80,.06);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}

  .win-bar{display:flex;align-items:center;gap:10px;
    padding:12px 18px;background:rgba(245,248,253,.96);
    border-bottom:1px solid rgba(8,25,43,.08)}
  .win-bar .tl{display:flex;gap:6px;flex:none}
  .win-bar .tl i{display:block;width:10px;height:10px;border-radius:50%;background:#d7dee9}
  .win-bar .tl i:nth-child(1){background:#ff6b5e}
  .win-bar .tl i:nth-child(2){background:#ffbd2e}
  .win-bar .tl i:nth-child(3){background:#28c840}
  .win-bar .wtitle{font-size:13px;letter-spacing:.3px;color:#44586f;
    margin-left:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .win-bar .wstat{margin-left:auto;display:flex;align-items:center;gap:6px;flex:none;
    font-size:11.5px;letter-spacing:.4px;color:#0f9e84;
    background:rgba(21,191,160,.12);border:1px solid rgba(21,191,160,.28);
    padding:4px 10px;border-radius:6px}
  .win-bar .wstat i{width:6px;height:6px;border-radius:50%;background:#15bfa0;
    animation:pulse 1.8s ease-in-out infinite}

  .win-body{display:grid;grid-template-columns:190px 1fr}

  .rail{padding:14px 10px;border-right:1px solid rgba(8,25,43,.07);
    background:rgba(249,251,254,.9)}
  .rail-t{font-size:10px;letter-spacing:1.5px;color:#8fa0b5;
    padding:0 8px 10px;text-transform:uppercase}
  .ag{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:9px;
    margin-bottom:4px}
  .ag .mk{flex:none;width:25px;height:25px;border-radius:7px;display:flex;
    align-items:center;justify-content:center;background:#eef2f9;
    box-shadow:inset 0 0 0 1px rgba(8,25,43,.06)}
  .ag .nm{font-size:12.5px;color:#3a4d63;letter-spacing:.2px;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ag.on{background:rgba(91,108,240,.10);
    box-shadow:inset 0 0 0 1px rgba(91,108,240,.22)}
  .ag.on .nm{color:#3f4fd6;font-weight:600}

  .chat{padding:clamp(16px,1.8vw,22px) clamp(18px,2.2vw,28px);min-width:0}
  .ask-row{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#08192b;
    background:rgba(91,108,240,.09);border:1px solid rgba(91,108,240,.18);
    border-radius:10px;padding:10px 14px}
  .ask-row .u{flex:none;font-size:10.5px;letter-spacing:.6px;color:#5b6cf0;
    background:#fff;border:1px solid rgba(91,108,240,.26);
    padding:2px 7px;border-radius:5px}
  .ask-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  .steps{list-style:none;margin-top:14px;display:grid;gap:10px}
  .steps li{display:flex;align-items:center;gap:10px;font-size:13px;color:#4c6078}
  .steps li .ck{flex:none;width:17px;height:17px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:rgba(21,191,160,.14);border:1px solid rgba(21,191,160,.38)}
  .steps li .ck svg{width:10px;height:10px}
  .steps li b{color:#08192b;font-weight:600}
  .steps li.run .ck{background:rgba(91,108,240,.14);border-color:rgba(91,108,240,.4);
    animation:pulse 1.6s ease-in-out infinite}

  .out{margin-top:14px;padding:12px 15px;border-radius:10px;
    background:linear-gradient(90deg,rgba(21,191,160,.10),rgba(21,191,160,.03));
    border-left:2px solid #15bfa0;font-size:13px;line-height:1.6;color:#374b62}
  .out b{color:#08192b;font-weight:600}

  .clients{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
    padding:11px 18px;border-top:1px solid rgba(8,25,43,.07);
    background:rgba(249,251,254,.9)}
  .clients .lab{font-size:10px;letter-spacing:1.2px;color:#8fa0b5;flex:none}
  .clients .cl{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#42566d;
    background:#fff;border:1px solid rgba(8,25,43,.10);
    padding:4px 9px 4px 5px;border-radius:7px;white-space:nowrap}
  .clients .cl .mk{width:16px;height:16px;border-radius:5px;display:flex;
    align-items:center;justify-content:center;flex:none}

  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}

  /* ---------- motion ---------- */
  @keyframes blink{0%{opacity:1}50%{opacity:.2}100%{opacity:1}}
  @media (prefers-reduced-motion:reduce){.frame .rec i{animation:none}}

  /* ---------- responsive ---------- */
  @media (max-width:1024px){
    .b2-grid{grid-template-columns:1fr;gap:28px}
    .b2-grid .copy{order:1}
    .b2-grid .vinema{order:2}
    .b2 .veil{background:
      linear-gradient(180deg,rgba(6,12,22,.86) 0%,rgba(6,12,22,.66) 42%,rgba(6,12,22,.42) 62%,rgba(6,12,22,.80) 100%)}
    .answer{grid-template-columns:1fr}
  }
  @media (max-width:820px){
    .banner{min-height:auto;padding:104px 0 56px}
    h1{letter-spacing:-1px}
    /* 窄屏：logo 场退为极淡的氛围层，避免压住文案 */
    .field{opacity:.40}
    .lg{animation:none}
  }
  @media (max-width:700px){
    .win-body{grid-template-columns:1fr}
    .rail{display:flex;flex-wrap:wrap;gap:5px;padding:9px;align-items:center;
      border-right:none;border-bottom:1px solid rgba(8,25,43,.07)}
    .rail-t{width:100%;padding:0 3px 3px}
    .ag{margin-bottom:0;padding:4px 8px 4px 5px}
    .ag .mk{width:18px;height:18px;border-radius:5px}
    .ag .nm{font-size:10.5px}
    .clients{gap:5px;padding:8px 12px}
    .clients .cl{font-size:10px;padding:2px 6px 2px 3px}
    .wline{flex-wrap:wrap;justify-content:flex-start;gap:6px}
    .wline i{display:none}
  }
  @media (max-width:560px){
    .b1 .veil{background:radial-gradient(ellipse 130% 70% at 50% 42%,
      rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 48%,rgba(255,255,255,.44) 78%,rgba(255,255,255,.18) 100%)}
    .searchbar{padding:11px 11px 11px 16px;gap:9px}
    .searchbar .go{padding:8px 14px;font-size:13px}
    .answer{padding:16px 16px}
    .strip{gap:8px}
    .dots{display:none}
    .index span{display:none}
  }
/* ==========================================================
   新版 Banner 轮播容器（追加，2026-11-04）
   ========================================================== */
.nb-banner{position:relative;overflow:hidden;background:#0a0f1a;
  -webkit-user-select:none;user-select:none}
.nb-track{display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;
  will-change:transform}
.nb-slide{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;
  width:100%;min-width:100%;
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-orient:vertical;-webkit-box-direction:normal;
  -ms-flex-direction:column;flex-direction:column}
.nb-slide>.banner{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}
.nb-slide .banner{height:auto;min-height:min(86vh,790px);
  /* 站点 header 为 fixed（约 114px），顶部留白要大于 header 高度，避免首屏文案被压住；
     顶部加高后相应减少底部留白，保持整屏高度不变 */
  padding-top:118px;padding-bottom:54px}

/* 左右箭头：垂直居中；默认白色半透明圆形底 */
.nb-arrow{position:absolute;top:50%;bottom:auto;margin-top:0;z-index:9;
  width:52px;height:52px;padding:0;border:1px solid rgba(255,255,255,.6);border-radius:50%;
  cursor:pointer;
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;
  background:rgba(255,255,255,.3);
  -webkit-box-shadow:0 4px 14px rgba(16,36,60,.12);box-shadow:0 4px 14px rgba(16,36,60,.12);
  -webkit-transform:translateY(-50%);transform:translateY(-50%);
  -webkit-transition:background .25s,opacity .25s;transition:background .25s,opacity .25s}
.nb-arrow span{display:block;width:11px;height:11px;
  border-top:2px solid #22344b;border-right:2px solid #22344b}
.nb-arrow:hover{background:rgba(255,255,255,.6)}
.nb-arrow.nb-prev{left:150px}
.nb-arrow.nb-prev span{-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}
.nb-arrow.nb-next{right:150px}
.nb-arrow.nb-next span{-webkit-transform:rotate(45deg);transform:rotate(45deg)}

/* 圆点（数量由 JS 按 banner 个数自动生成） */
.nb-dots{position:absolute;left:50%;bottom:22px;z-index:9;
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  padding:8px 14px;border-radius:999px;
  background:rgba(8,20,38,.42);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  -webkit-transform:translateX(-50%);transform:translateX(-50%)}
.nb-dots i+i{margin-left:9px}
.nb-dots i{display:block;width:8px;height:8px;border-radius:99px;cursor:pointer;
  background:rgba(255,255,255,.92);box-shadow:0 1px 3px rgba(10,24,44,.28);
  -webkit-transition:width .35s,background .35s;transition:width .35s,background .35s}
.nb-dots i.on{width:26px;background:-webkit-linear-gradient(left,#2e7be0,#f5a623);
  background:linear-gradient(90deg,#2e7be0,#f5a623);box-shadow:none}

@media (max-width:820px){
  .nb-slide .banner{min-height:auto;padding-top:104px;padding-bottom:70px}
  .nb-arrow{width:40px;height:40px;bottom:auto;margin-top:0}
  .nb-arrow span{width:9px;height:9px}
  .nb-arrow.nb-prev{left:8px}
  .nb-arrow.nb-next{right:8px}
  .nb-dots{bottom:14px;padding:6px 11px}
  .nb-dots i+i{margin-left:7px}
  .nb-dots i{width:7px;height:7px}
  .nb-dots i.on{width:20px}
  /* 窄屏下把 b1 背景图裁到左侧干净区域，避免右侧棱镜压住标题文字 */
  .nb-slide .b1 .scene{background-position:0% 50%}
}
@media (max-width:560px){
  .nb-arrow{opacity:.75}
}
