/* ============================================================================
 *  base.css —— 字体、色板、排版、按钮、标签、导航、页脚、角色、进场动效、样机框
 *  色板 / 字体 / 缓动全部照 VI（第 08 / 10 / 14 页）：
 *  Savior 蓝 45% · 白 30% · 夜航蓝 12% · 晴空蓝 8% · 笑脸黄 5%（只点睛，不铺大面）
 * ==========================================================================*/
@font-face{font-family:'SV Urbanist';src:url('fonts/Urbanist-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'SV Urbanist';src:url('fonts/Urbanist-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'SV Urbanist';src:url('fonts/Urbanist-800.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:'SV Inter';src:url('fonts/Inter-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'SV Inter';src:url('fonts/Inter-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'SV Inter';src:url('fonts/Inter-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'SV Inter';src:url('fonts/Inter-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'SV Noto';src:url('fonts/NotoSansSC-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'SV Noto';src:url('fonts/NotoSansSC-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'SV Noto';src:url('fonts/NotoSansSC-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'SV Noto';src:url('fonts/NotoSansSC-900.woff2') format('woff2');font-weight:900;font-display:swap}
@font-face{font-family:'SV Display';src:url('fonts/SVDisplay.woff2') format('woff2');font-weight:400;font-display:swap}

:root{
  --blue:#002C96;--night:#061544;--deep:#001A63;--signal:#2F6BFF;--sky:#E8EEFF;--mist:#F4F6FB;--yellow:#FFC53D;--ink:#0C1424;
  --g1:#2B3448;--g2:#5B6477;--g3:#8E97A8;--g4:#C9CFDA;--g5:#E4E8EF;--run:#16B97A;--warn:#FFB020;--alarm:#F0453A;
  --line:rgba(12,20,36,.08);
  --cjk:'SV Noto','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans CJK SC',sans-serif;
  --ui:'SV Inter',var(--cjk);
  --en:'SV Urbanist','SV Inter',var(--cjk);
  --disp:'SV Display','SV Noto','PingFang SC','Microsoft YaHei',sans-serif;
  --ease:cubic-bezier(.65,0,.35,1);        /* 标准：位移、缩放、组合 */
  --ease-in:cubic-bezier(.34,1.56,.64,1);  /* 进场：带 10% 回弹 */
  --ease-out:cubic-bezier(.32,0,.67,0);    /* 退场：加速离开 */
  --ease-soft:cubic-bezier(.22,1,.36,1);
  --r:18px;--r-s:12px;--r-l:28px;          /* 圆角；气泡角那一个角固定 6px */
  --sq:6px;
  --wrap:1240px;--gut:clamp(20px,4vw,48px);
  --shadow-1:0 1px 2px rgba(12,20,36,.06),0 8px 24px -12px rgba(12,20,36,.18);
  --shadow-2:0 2px 4px rgba(12,20,36,.05),0 24px 48px -24px rgba(12,20,36,.28);
  --shadow-3:0 40px 80px -36px rgba(0,26,99,.45),0 12px 24px -12px rgba(0,26,99,.25);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;font:400 17px/1.7 var(--ui);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg,video{display:block;max-width:100%}
img,video{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
::selection{background:var(--yellow);color:var(--ink)}
:focus-visible{outline:3px solid var(--signal);outline-offset:3px;border-radius:6px}
.skip{position:fixed;left:16px;top:-60px;z-index:999;background:var(--yellow);color:var(--ink);padding:10px 16px;border-radius:10px;font-weight:700;transition:top .2s}
.skip:focus{top:12px}
[hidden]{display:none!important}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------------- 版式 ---------------- */
.wrap{width:min(var(--wrap),100% - var(--gut)*2);margin-inline:auto;position:relative}
.wrap.wide{--wrap:1400px}
.wrap.narrow{--wrap:960px}
.sec{position:relative;padding:clamp(80px,11vw,148px) 0}
.sec.tight{padding:clamp(56px,7vw,96px) 0}
.sec.mist{background:var(--mist)}
.sec.sky{background:var(--sky)}
.sec.blue{background:var(--blue);color:#fff}
.sec.night{background:var(--night);color:#fff}
.sec.ink{background:#070D24;color:#fff}
.dark{color:#fff}
.center{text-align:center}
.grid{display:grid;gap:24px}
.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(32px,6vw,96px);align-items:center}
.split.rev>:first-child{order:2}

/* ---------------- 字 ---------------- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 14px/1 var(--ui);letter-spacing:.08em;color:var(--blue);text-transform:uppercase}
.eyebrow .no{font:800 15px/1 var(--en);letter-spacing:.04em}
.eyebrow .no::after{content:'';display:inline-block;width:22px;height:3px;border-radius:2px;background:var(--yellow);margin-left:10px;vertical-align:middle;transform:translateY(-2px)}
.dark .eyebrow,.sec.blue .eyebrow,.sec.night .eyebrow,.sec.ink .eyebrow{color:var(--yellow)}
.disp{font-family:var(--disp);font-weight:400;letter-spacing:.01em;line-height:1.04}
.h1,.h2{text-wrap:balance}
.h1{font-family:var(--disp);font-size:clamp(52px,8.2vw,120px);line-height:1.02;letter-spacing:.01em}
.h2{font:900 clamp(34px,4.6vw,60px)/1.12 var(--cjk);letter-spacing:.005em}
.h2.disp{font-family:var(--disp);font-weight:400;font-size:clamp(40px,5.6vw,76px);line-height:1.06}
.h3{font:700 clamp(21px,2vw,26px)/1.35 var(--cjk)}
.lead{font-size:clamp(17px,1.5vw,20px);line-height:1.75;color:var(--g2)}
.dark .lead,.sec.blue .lead,.sec.night .lead,.sec.ink .lead{color:rgba(255,255,255,.78)}
.muted{color:var(--g3)}
.y{color:var(--yellow)}
.b{color:var(--blue)}
.sig{color:var(--signal)}
.mark-u{position:relative;white-space:nowrap;z-index:0}
.mark-u::after{content:'';position:absolute;left:-.08em;right:-.08em;bottom:.06em;height:.34em;background:var(--yellow);border-radius:4px;z-index:-1;transform-origin:left;transform:scaleX(var(--mk,1));transition:transform .7s var(--ease) .2s}
.js [data-reveal]:not(.in) .mark-u::after{--mk:0}
.foot-note{font-size:13px;line-height:1.6;color:var(--g3)}
.dark .foot-note,.sec.blue .foot-note,.sec.night .foot-note{color:rgba(255,255,255,.5)}
.num{font-family:var(--en);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.sec-head{max-width:820px;margin-bottom:clamp(40px,5vw,64px)}
.sec-head.center{margin-inline:auto}
.sec-head .h2,.sec-head .h2.disp{margin:18px 0 18px}

/* ---------------- 按钮（左下方角 = 小M 在答，VI 第 11 页 01） ---------------- */
.btn{--bg:var(--blue);--fg:#fff;--bd:transparent;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 26px;
  border-radius:16px 16px 16px var(--sq);background:var(--bg);color:var(--fg);border:2px solid var(--bd);font:700 16px/1 var(--cjk);white-space:nowrap;
  transition:transform .18s var(--ease-in),box-shadow .2s var(--ease),background .2s,color .2s;isolation:isolate;overflow:hidden;cursor:pointer;user-select:none}
.btn .ic{width:19px;height:19px;flex:none;transition:transform .25s var(--ease-in)}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px -14px rgba(0,44,150,.55)}
.btn:hover .ic.go{transform:translateX(3px)}
.btn:active{transform:translateY(0) scale(.96);transition-duration:.08s}
.btn::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);z-index:-1}
.btn:hover::after{transform:translateX(120%);transition:transform .7s var(--ease)}
.btn.yellow{--bg:var(--yellow);--fg:var(--ink)}
.btn.yellow:hover{box-shadow:0 14px 30px -14px rgba(255,197,61,.8)}
.btn.white{--bg:#fff;--fg:var(--blue)}
.btn.ghost{--bg:transparent;--fg:var(--blue);--bd:rgba(0,44,150,.22)}
.btn.ghost:hover{--bd:var(--blue);box-shadow:none}
.btn.ghost-w{--bg:rgba(255,255,255,.06);--fg:#fff;--bd:rgba(255,255,255,.35);backdrop-filter:blur(6px)}
.btn.ghost-w:hover{--bd:#fff;box-shadow:none;background:rgba(255,255,255,.12)}
.btn.sm{height:40px;padding:0 16px;font-size:14px;border-radius:12px 12px 12px 5px}
.btn.lg{height:60px;padding:0 32px;font-size:18px;border-radius:18px 18px 18px 7px}
.btn.block{width:100%}
.btn[disabled],.btn.is-off{opacity:.45;pointer-events:none}
.play-dot{width:26px;height:26px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;margin-left:-6px}
.play-dot .ic{width:12px;height:12px;fill:currentColor;stroke:none;transform:translateX(1px)}
.link{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--blue)}
.link .ic{width:17px;height:17px;transition:transform .25s var(--ease-in)}
.link:hover .ic{transform:translateX(4px)}
.dark .link,.sec.blue .link,.sec.night .link{color:var(--yellow)}

/* ---------------- 标签 / 贴纸 ---------------- */
.chip{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:12px 12px 12px 4px;background:var(--sky);color:var(--blue);font:700 14px/1 var(--cjk);white-space:nowrap}
.chip .dot{width:8px;height:8px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 3px rgba(255,197,61,.28)}
.chip.y{background:var(--yellow);color:var(--ink)}
.chip.w{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);backdrop-filter:blur(6px)}
.chip.ink{background:var(--night);color:#fff}
.chip.run{background:rgba(22,185,122,.12);color:#0B8A59}
.chip.sm{height:26px;padding:0 10px;font-size:12px;border-radius:9px 9px 9px 3px}
.sticker{display:inline-block;padding:6px 12px;border-radius:12px 12px 12px 4px;background:var(--yellow);color:var(--ink);font:800 13px/1 var(--cjk);transform:rotate(-4deg);box-shadow:0 6px 14px -6px rgba(255,197,61,.9)}
.tier{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:7px 7px 7px 3px;font:800 12px/1 var(--cjk)}
.tier.native{background:var(--yellow);color:var(--ink)}
.tier.image{background:var(--sky);color:var(--blue)}

/* ---------------- 导航 ---------------- */
.nav{position:fixed;inset:0 0 auto;z-index:100;height:76px;display:flex;align-items:center;transition:background .3s,box-shadow .3s,height .3s,color .3s;color:var(--ink)}
.nav .wrap{display:flex;align-items:center;gap:8px;--wrap:1320px}
.nav .logo{height:30px;width:auto;color:var(--blue);flex:none;overflow:visible}
.nav .brand{display:flex;align-items:center;margin-right:24px;padding:6px 0}
.nav .lg-h,.nav .lg-m{transform-box:view-box;transition:transform .35s var(--ease-in)}
.nav .lg-h{transform-origin:381px 165px}.nav .lg-m{transform-origin:215px 353px}
.nav .brand:hover .lg-h{animation:hop .55s var(--ease) 1}
.nav .brand:hover .lg-m{animation:hop .55s var(--ease) .1s 1}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links a{position:relative;padding:10px 14px;border-radius:12px;font:600 15.5px/1 var(--cjk);opacity:.86;transition:opacity .2s,background .2s}
.nav-links a:hover{opacity:1;background:rgba(0,44,150,.06)}
.nav-links a[aria-current="page"]{opacity:1}
.nav-links a[aria-current="page"]::after{content:'';position:absolute;left:14px;right:14px;bottom:3px;height:3px;border-radius:2px;background:var(--yellow)}
.nav-links a.boss{display:inline-flex;align-items:center;gap:8px;background:var(--sky);color:var(--blue);opacity:1;padding:8px 12px 8px 8px;border-radius:12px 12px 12px 4px;margin-left:6px}
.nav-links a.boss svg{width:30px;height:auto}
.nav-links a.boss:hover{background:#DCE5FF}
.nav-cta{margin-left:auto;display:flex;align-items:center;gap:10px}
.nav-cta .login{padding:10px 14px;font:600 15px/1 var(--cjk);opacity:.86;border-radius:12px}
.nav-cta .login:hover{opacity:1;background:rgba(0,44,150,.06)}
.nav .menu-btn{display:none;width:44px;height:44px;border-radius:12px;place-items:center;margin-left:4px}
.nav .menu-btn .ic{width:24px;height:24px}
.nav.on-dark{color:#fff}
.nav.on-dark .logo{color:#fff}
.nav.on-dark .nav-links a:hover,.nav.on-dark .nav-cta .login:hover{background:rgba(255,255,255,.1)}
.nav.on-dark .nav-links a.boss{background:rgba(255,255,255,.14);color:#fff}
.nav.on-dark .nav-links a.boss:hover{background:rgba(255,255,255,.22)}
.nav.on-dark .nav-cta .btn{--bg:#fff;--fg:var(--blue)}
.nav.on-dark a.boss .rig-bar{fill:#fff}
.nav.on-dark a.boss .rig-face [fill="#fff"]{fill:var(--blue)}
.nav.on-dark a.boss .rig-face [stroke="#fff"]{stroke:var(--blue)}
.nav.scrolled{height:64px;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);box-shadow:0 1px 0 var(--line);color:var(--ink)}
.nav.scrolled .logo{color:var(--blue)}
.nav.scrolled .nav-links a.boss{background:var(--sky);color:var(--blue)}
.nav-progress{position:absolute;left:0;bottom:0;height:2px;width:100%;transform-origin:left;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--signal),var(--yellow));opacity:0;transition:opacity .3s}
.nav.scrolled .nav-progress{opacity:1}
.drawer-nav{position:fixed;inset:0;z-index:120;background:var(--blue);color:#fff;display:flex;flex-direction:column;padding:88px var(--gut) 32px;transform:translateY(-102%);transition:transform .5s var(--ease);overflow:auto}
.drawer-nav.open{transform:none}
.drawer-nav a.dl{display:flex;align-items:center;justify-content:space-between;padding:18px 4px;font:400 34px/1.1 var(--disp);border-bottom:1px solid rgba(255,255,255,.12);opacity:0;transform:translateY(16px);transition:opacity .4s,transform .5s var(--ease-in)}
.drawer-nav.open a.dl{opacity:1;transform:none}
.drawer-nav.open a.dl:nth-child(2){transition-delay:.04s}.drawer-nav.open a.dl:nth-child(3){transition-delay:.08s}
.drawer-nav.open a.dl:nth-child(4){transition-delay:.12s}.drawer-nav.open a.dl:nth-child(5){transition-delay:.16s}.drawer-nav.open a.dl:nth-child(6){transition-delay:.2s}
.drawer-nav .dl small{font:600 13px/1 var(--ui);opacity:.6;letter-spacing:.08em}
.drawer-nav .drawer-cta{margin-top:auto;display:grid;gap:12px;padding-top:28px}
.drawer-nav .close{position:absolute;right:var(--gut);top:16px;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.1)}
.drawer-nav .drawer-rig{position:absolute;right:-30px;bottom:110px;width:220px;opacity:.16;pointer-events:none}

/* ---------------- 页脚 ---------------- */
.foot{background:var(--night);color:rgba(255,255,255,.72);padding:72px 0 36px;position:relative;overflow:hidden}
.foot .top{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:32px}
.foot .logo{height:34px;width:auto;color:#fff}
.foot .slogan{font:400 26px/1.25 var(--disp);color:#fff;margin:22px 0 10px}
.foot h4{font:700 14px/1 var(--cjk);color:#fff;letter-spacing:.06em;margin-bottom:18px}
.foot li{margin:0 0 12px}
.foot li a{font-size:15px;transition:color .2s}
.foot li a:hover{color:var(--yellow)}
.foot .bottom{margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;font-size:13px;color:rgba(255,255,255,.45)}
.foot .bottom a:hover{color:#fff}
.foot .tm{max-width:640px}
.foot .foot-rig{position:absolute;right:-60px;bottom:-40px;width:360px;opacity:.07;pointer-events:none}
.foot .contact{display:flex;flex-direction:column;gap:10px;margin-top:22px;font-size:15px}
.foot .contact a{display:inline-flex;align-items:center;gap:8px}
.foot .contact .ic{width:17px;height:17px;opacity:.7}

/* ---------------- 角色 ---------------- */
.rig{overflow:visible}
.rig [data-e]{opacity:0;transition:opacity .1s linear}
.rig .rig-sq{transform-box:view-box}
.rig .rig-h .rig-sq{transform-origin:381.2px 165px}
.rig .rig-m .rig-sq{transform-origin:214.8px 353px}
.rig .rig-face{transform:translate(var(--lx,0px),var(--ly,0px));transition:transform .45s var(--ease-soft)}
.rig .rig-m .rig-face{transform:translate(var(--mx,var(--lx,0px)),var(--my,var(--ly,0px)))}
.rig .eye{transform-box:fill-box;transform-origin:center;transition:transform .07s linear}
.rig.blink .eye{transform:scaleY(.12)}
.rig.hop .rig-h .rig-sq{animation:hop .62s var(--ease) 1}
.rig.hop .rig-m .rig-sq{animation:hop .62s var(--ease) .1s 1}
.rig.float .rig-h{animation:floatY 3s var(--ease) infinite}
.rig.float .rig-m{animation:floatY 3s var(--ease) .12s infinite}
.rig .dot{animation:typing 1.2s var(--ease) infinite}
.rig .dot:nth-of-type(2){animation-delay:.15s}.rig .dot:nth-of-type(3){animation-delay:.3s}
@keyframes hop{0%{transform:none}18%{transform:scale(1.06,.86)}46%{transform:translateY(-18px) scale(.95,1.08)}72%{transform:scale(1.04,.9)}86%{transform:scale(.99,1.02)}100%{transform:none}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes typing{0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-10px);opacity:1}}

/* ---------------- 进场（只在 JS 跑起来时才先藏起来；head 里 3.5 秒兜底） ---------------- */
.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .8s var(--ease-soft);transition-delay:calc(var(--d,0) * 1s)}
.js [data-reveal="left"]{transform:translateX(-36px)}
.js [data-reveal="right"]{transform:translateX(36px)}
.js [data-reveal="pop"]{transform:scale(.86);transition:opacity .45s var(--ease),transform .6s var(--ease-in);transition-delay:calc(var(--d,0) * 1s)}
.js [data-reveal="fade"]{transform:none}
.js [data-reveal].in{opacity:1;transform:none}
.js .split-ch:not(.split-done){opacity:0}
.js .split-ch .ch{display:inline-block;opacity:0;transform:translateY(.55em) rotate(4deg);transition:opacity .5s var(--ease),transform .7s var(--ease-in);transition-delay:calc(var(--i) * 34ms + var(--d0,0ms))}
.js .split-ch.in .ch{opacity:1;transform:none}

/* ---------------- 样机框 ---------------- */
.win{position:relative;border-radius:16px;background:#fff;box-shadow:var(--shadow-3),0 0 0 1px rgba(12,20,36,.06);overflow:hidden}
.win .bar{height:40px;display:flex;align-items:center;gap:8px;padding:0 14px;background:#F1F4F9;border-bottom:1px solid rgba(12,20,36,.06)}
.win .bar i{width:11px;height:11px;border-radius:50%;background:#FF5F57}
.win .bar i:nth-child(2){background:#FEBC2E}.win .bar i:nth-child(3){background:#28C840}
.win .bar .t{margin-left:10px;font:600 13px/1 var(--ui);color:var(--g2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.win .bar .real{margin-left:auto;font:700 11.5px/1 var(--ui);color:var(--blue);background:var(--sky);padding:5px 8px;border-radius:7px 7px 7px 3px;white-space:nowrap}
.win.dark{background:#0B1430;box-shadow:var(--shadow-3),0 0 0 1px rgba(255,255,255,.08)}
.win.dark .bar{background:#111C3D;border-color:rgba(255,255,255,.06)}
.win.dark .bar .t{color:rgba(255,255,255,.7)}
.win .scr{position:relative;aspect-ratio:16/9;background:#EEF1F6}
.win .scr>img,.win .scr>video{width:100%;height:100%;object-fit:cover;object-position:top left}
.win .scr.tall{aspect-ratio:16/10}
.panel-hw{position:relative;padding:14px 14px 24px;border-radius:18px;background:linear-gradient(160deg,#3A404C,#1C2028 60%,#14171D);box-shadow:0 2px 0 rgba(255,255,255,.08) inset,var(--shadow-3)}
.panel-hw .scr{border-radius:6px;overflow:hidden;background:#000}
.panel-hw::after{content:'';position:absolute;left:50%;bottom:8px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:#22C58B;box-shadow:0 0 8px #22C58B}
.media-play{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:9px 9px 9px 3px;background:rgba(6,21,68,.72);color:#fff;font:700 12px/1 var(--ui);backdrop-filter:blur(6px);pointer-events:none}
.media-play i{width:7px;height:7px;border-radius:50%;background:#FF5A4E;animation:rec 1.4s infinite}
@keyframes rec{50%{opacity:.25}}

/* ---------------- 卡片 ---------------- */
.card{position:relative;background:#fff;border-radius:var(--r) var(--r) var(--r) var(--sq);padding:28px;box-shadow:var(--shadow-1);transition:transform .35s var(--ease-soft),box-shadow .35s var(--ease);isolation:isolate}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}
.card.glow::before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(47,107,255,.12),transparent 42%);opacity:0;transition:opacity .3s;z-index:-1;pointer-events:none}
.card.glow:hover::before{opacity:1}
.card.flat{box-shadow:none;background:var(--mist)}
.card.line{box-shadow:inset 0 0 0 1.5px var(--g5)}
.ico-tile{width:48px;height:48px;border-radius:14px 14px 14px 5px;display:grid;place-items:center;background:var(--sky);color:var(--blue);flex:none}
.ico-tile .ic{width:24px;height:24px}
.ico-tile.y{background:#FFF1CC;color:#7A5300}
.ico-tile.b{background:var(--blue);color:#fff}

/* ---------------- 视频弹窗 ---------------- */
.modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:24px;background:rgba(6,21,68,.72);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .3s}
.modal.open{opacity:1;pointer-events:auto}
.modal .box{width:min(1100px,100%);border-radius:20px 20px 20px 8px;overflow:hidden;background:#000;box-shadow:0 40px 100px -30px rgba(0,0,0,.7);transform:scale(.94);transition:transform .45s var(--ease-in)}
.modal.open .box{transform:none}
.modal video{width:100%;aspect-ratio:16/9;background:#000}
.modal .x{position:absolute;right:20px;top:20px;width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center}
.modal .cap{padding:12px 18px;color:rgba(255,255,255,.6);font-size:13px;background:#070D24}
.modal.is-v .box{width:min(100%,calc((100vh - 170px) * .5625));width:min(100%,calc((100svh - 170px) * .5625))}
.modal.is-v video{aspect-ratio:9/16}

/* ---------------- 宣传片播放器（[data-film]）：海报 + 播放键 + 章节 ---------------- */
.film-box{position:relative;aspect-ratio:16/9;border-radius:22px 22px 22px 8px;overflow:hidden;background:var(--night);box-shadow:var(--shadow-3),0 0 0 1px rgba(12,20,36,.06);isolation:isolate}
.film.is-v .film-box{aspect-ratio:9/16;max-height:80vh;max-height:80svh;margin-inline:auto}
.film-box video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--night);transition:transform .8s var(--ease-soft)}
.film.on .film-box video{object-fit:contain}
.film:not(.on) .film-box:hover video{transform:scale(1.025)}
.film-play{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;justify-content:flex-end;padding:clamp(14px,2.2vw,28px);transition:opacity .3s,visibility .3s}
.film-play::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 58%,rgba(6,21,68,.5))}
.film.is-v .fp{position:absolute;left:50%;top:73%;transform:translate(-50%,-50%)}
.film.on .film-play{opacity:0;visibility:hidden;pointer-events:none}
.fp{display:flex;align-items:center;gap:12px}
.fp-dot{position:relative;flex:none;width:clamp(56px,5vw,74px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--ink);box-shadow:0 16px 32px -12px rgba(255,197,61,.85);transition:transform .35s var(--ease-in)}
.fp-dot::after{content:'';position:absolute;inset:-7px;border-radius:50%;border:2px solid rgba(255,197,61,.75);animation:fppulse 2.2s var(--ease) infinite}
@keyframes fppulse{0%{transform:scale(.82);opacity:1}100%{transform:scale(1.32);opacity:0}}
.fp-dot .ic{width:38%;height:38%;fill:currentColor;stroke:none;transform:translateX(8%)}
.film-box:hover .fp-dot{transform:scale(1.08)}
.fp-t{display:grid;gap:5px;padding:11px 16px;border-radius:14px 14px 14px 5px;background:rgba(6,21,68,.68);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;text-align:left}
.fp-t b{font:800 16px/1.1 var(--cjk);white-space:nowrap}
.fp-t small{font:600 12.5px/1 var(--ui);color:rgba(255,255,255,.72)}
.film-ch{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.film-ch button{display:inline-flex;align-items:baseline;gap:7px;height:42px;padding:0 14px;border-radius:12px 12px 12px 4px;background:var(--mist);font:700 14.5px/42px var(--cjk);color:var(--g1);transition:background .2s,color .2s,transform .25s var(--ease-in)}
.film-ch button i{font:800 12px/1 var(--en);font-style:normal;color:var(--blue)}
.film-ch button small{font:600 12px/1 var(--ui);color:var(--g3)}
.film-ch button:hover{background:var(--sky);transform:translateY(-2px)}
.film-ch button.cur{background:var(--blue);color:#fff}
.film-ch button.cur i{color:var(--yellow)}.film-ch button.cur small{color:rgba(255,255,255,.7)}
.dark .film-ch button,.sec.night .film-ch button{background:rgba(255,255,255,.08);color:#fff}
.dark .film-ch button i,.sec.night .film-ch button i{color:var(--yellow)}
.dark .film-ch button small,.sec.night .film-ch button small{color:rgba(255,255,255,.55)}
.dark .film-ch button:hover,.sec.night .film-ch button:hover{background:rgba(255,255,255,.16)}
.dark .film-ch button.cur,.sec.night .film-ch button.cur{background:var(--yellow);color:var(--ink)}
.dark .film-ch button.cur i,.sec.night .film-ch button.cur i{color:var(--blue)}
.dark .film-ch button.cur small,.sec.night .film-ch button.cur small{color:rgba(12,20,36,.6)}
@media (max-width:720px){.fp-t b{font-size:15px}.film-ch button{height:38px;line-height:38px;padding:0 11px;font-size:13.5px}}

/* ---------------- 小工具 ---------------- */
.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee .track{display:flex;gap:14px;width:max-content;animation:mq var(--dur,40s) linear infinite}
.marquee:hover .track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(calc(-50% - 7px))}}
.toast-cast{position:fixed;left:50%;bottom:28px;z-index:400;transform:translateX(-50%) translateY(20px);opacity:0;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:14px 14px 14px 5px;background:var(--night);color:#fff;font:600 15px/1.3 var(--cjk);box-shadow:var(--shadow-3);transition:opacity .3s,transform .4s var(--ease-in);pointer-events:none}
.toast-cast.show{opacity:1;transform:translateX(-50%)}
.toast-cast svg{width:34px;height:auto}
.eyedots{width:100%;height:auto}
.eyedots .ed-b ellipse{transform-box:fill-box;transform-origin:center;animation:edb 5.5s var(--ease) infinite;animation-delay:var(--d)}
@keyframes edb{0%,92%,100%{transform:none}95%{transform:scaleY(.1)}}
.sflow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.sflow .sf-bars{animation:sfdrift 60s linear infinite}
@keyframes sfdrift{to{transform:translate(-150px,-84px)}}
.grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at 60% 40%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at 60% 40%,#000 30%,transparent 75%);pointer-events:none}
.badge-real{display:inline-flex;align-items:center;gap:6px;font:700 12px/1 var(--ui);color:var(--g2)}
.badge-real::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--run);box-shadow:0 0 0 3px rgba(22,185,122,.2)}
hr.sep{border:0;height:1px;background:var(--line);margin:0}

@media (max-width:1080px){
  .nav-links,.nav-cta .login{display:none}
  .nav .menu-btn{display:grid}
  .foot .top{grid-template-columns:1fr 1fr}
  .foot .top>:first-child{grid-column:1/-1}
  .split{grid-template-columns:minmax(0,1fr)}
  .split.rev>:first-child{order:0}
  .cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  body{font-size:16px}
  .cols-2,.cols-3,.cols-4{grid-template-columns:minmax(0,1fr)}
  .nav{height:64px}
  .nav .logo{height:26px}
  .nav-cta .btn{height:40px;padding:0 14px;font-size:14px}
  .btn.lg{height:56px;padding:0 24px;font-size:17px}
  .foot .top{grid-template-columns:1fr 1fr;gap:28px 16px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  [data-reveal],.split-ch .ch{opacity:1!important;transform:none!important}
  .marquee .track,.sflow .sf-bars{animation:none!important}
}

/* ============================================================================
 *  home.css —— 首页
 * ==========================================================================*/
/* ---------------- 首屏 ---------------- */
.hero{position:relative;min-height:max(760px,100svh);padding:132px 0 0;background:var(--blue);color:#fff;overflow:hidden;display:flex;flex-direction:column}
.hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-bg::before{content:'';position:absolute;inset:0;background:radial-gradient(1100px 700px at 72% 38%,#2357DC 0%,rgba(35,87,220,0) 62%),radial-gradient(800px 600px at 0% 100%,rgba(6,21,68,.55),transparent 70%)}
.hero-glow{position:absolute;width:640px;height:640px;right:6%;top:8%;border-radius:50%;background:radial-gradient(circle,rgba(47,107,255,.55),transparent 65%);filter:blur(20px);animation:glowmove 14s var(--ease) infinite alternate}
@keyframes glowmove{to{transform:translate(-120px,80px) scale(1.15)}}
.hero-in{flex:1;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(24px,4vw,72px);align-items:center;padding-bottom:48px}
.hero-copy{position:relative;z-index:2}
.hero .h1{margin:26px 0 24px}
.hero .lead{max-width:560px;color:rgba(255,255,255,.84);font-size:clamp(17px,1.45vw,21px)}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.hero-cta.center{justify-content:center}
.hero-trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;font-size:14.5px;color:rgba(255,255,255,.74)}
.hero-trust li{display:inline-flex;align-items:center;gap:7px}
.hero-trust .ic{width:16px;height:16px;color:var(--yellow);stroke-width:2.6}
/* 演示舞台 */
.hero-stage{position:relative;z-index:1;aspect-ratio:16/12.2;perspective:1600px}
.hd-win{position:absolute;right:0;top:4%;width:94%;transform:rotateY(-9deg) rotateX(3deg);transform-origin:70% 50%;border-radius:18px;box-shadow:0 60px 120px -40px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.1);animation:winfloat 7s var(--ease) infinite}
@keyframes winfloat{50%{transform:rotateY(-7deg) rotateX(2deg) translateY(-8px)}}
.hd-win .bar{height:42px}
.hd-steps{margin-left:auto;display:flex;gap:6px}
.hd-steps b{font:700 11.5px/1 var(--ui);padding:6px 9px;border-radius:999px;color:rgba(255,255,255,.5);background:rgba(255,255,255,.06);transition:all .3s}
.hd-steps b.on{background:var(--signal);color:#fff}
.win .scr.hd-scr{aspect-ratio:1280/800;background:#0A1430}
.hd-empty{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;color:rgba(232,238,255,.55);font:600 14px/1.4 var(--cjk);
  background-image:radial-gradient(rgba(143,163,214,.22) 1px,transparent 1.2px);background-size:22px 22px;transition:opacity .5s}
.hd-empty span{width:46px;height:46px;border-radius:14px 14px 14px 5px;display:grid;place-items:center;background:rgba(47,107,255,.18);color:#9DB8FF;animation:floatY 2.6s var(--ease) infinite}
.hd-empty .ic{width:24px;height:24px}
.hero-stage.growing .hd-empty,.hero-stage.planning .hd-empty{opacity:0}
.hd-dark svg>text{opacity:0;transition:opacity .5s}
.hero-stage.texts .hd-dark svg>text{opacity:1}
.hd-layer{position:absolute;inset:0}
.hd-layer svg{width:100%;height:100%}
.hd-light{clip-path:inset(0 100% 0 0);transition:clip-path 1s var(--ease)}
.hero-stage.light .hd-light{clip-path:inset(0 0 0 0)}
.hd-scr [data-s]{opacity:0;transform:translateY(10px) scale(.985);transform-box:fill-box;transform-origin:center;transition:opacity .5s var(--ease),transform .6s var(--ease-in)}
.hd-dark [data-s].on,.hd-light [data-s]{opacity:1;transform:none}
.hd-plan{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:16px;background:rgba(10,20,48,.82);backdrop-filter:blur(3px);opacity:0;transition:opacity .4s;pointer-events:none}
.hero-stage.planning .hd-plan{opacity:1}
.hd-plan p{font:600 15px/1 var(--ui);color:rgba(255,255,255,.85)}
.hd-dirs{display:flex;gap:12px}
.hd-dirs span{width:96px;height:62px;border-radius:9px 9px 9px 3px;background:linear-gradient(180deg,#1D3474 22%,#13244F 22%);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.12);animation:dirpulse 1.4s var(--ease) infinite;animation-delay:calc(var(--i) * .18s)}
.hd-dirs span:nth-child(2){background:linear-gradient(180deg,#F1F4FA 22%,#DCE3F0 22%)}
.hd-dirs span:nth-child(3){background:linear-gradient(180deg,#002C96 22%,#E8EEFF 22%)}
@keyframes dirpulse{50%{transform:translateY(-6px);box-shadow:inset 0 0 0 2px var(--yellow)}}
.hd-bar{width:220px;height:5px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden;position:relative}
.hd-bar::after{content:'';position:absolute;inset:0;width:40%;border-radius:3px;background:linear-gradient(90deg,var(--signal),var(--yellow));animation:barrun 1.1s var(--ease) infinite}
@keyframes barrun{from{transform:translateX(-100%)}to{transform:translateX(260%)}}
.hd-prompt{position:absolute;left:0;bottom:22%;z-index:3;display:flex;align-items:center;gap:8px;min-width:min(380px,74%);max-width:86%;min-height:60px;padding:14px 14px 14px 22px;background:#fff;color:var(--ink);border-radius:20px var(--sq) 20px 20px;box-shadow:0 30px 60px -24px rgba(0,0,0,.45);font:700 clamp(15px,1.25vw,18px)/1.4 var(--cjk);transform-origin:right top;transition:transform .35s var(--ease-in)}
.hd-prompt.sent{transform:scale(.97)}
.hd-typed{flex:1}
.caret{width:2.5px;height:1.2em;background:var(--blue);border-radius:2px;animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.hd-send{width:36px;height:36px;border-radius:12px 12px 12px 4px;background:var(--blue);color:#fff;display:grid;place-items:center;flex:none;transition:transform .2s var(--ease-in),background .2s}
.hd-send .ic{width:18px;height:18px}
.hd-prompt.sent .hd-send{background:var(--yellow);color:var(--ink);transform:scale(1.12)}
.hd-rig{position:absolute;left:-5%;bottom:-4%;width:28%;z-index:4;filter:drop-shadow(0 24px 30px rgba(0,0,0,.28))}
.hd-toast{position:absolute;right:2%;bottom:7%;z-index:5;display:flex;align-items:center;gap:12px;padding:14px 18px 14px 14px;border-radius:16px 16px 16px var(--sq);background:#fff;color:var(--ink);box-shadow:0 30px 60px -20px rgba(0,0,0,.45);opacity:0;transform:translateY(16px) scale(.9);transition:opacity .3s,transform .5s var(--ease-in)}
.hd-toast.show{opacity:1;transform:none}
.hd-toast .ok{width:34px;height:34px;border-radius:50%;background:var(--run);color:#fff;display:grid;place-items:center;flex:none}
.hd-toast .ok .ic{width:18px;height:18px;stroke-width:3}
.hd-toast b{display:block;font:700 15px/1.3 var(--cjk)}
.hd-toast small{display:block;font-size:12.5px;color:var(--g2)}
.flow{animation:flowdash 1.2s linear infinite}
@keyframes flowdash{to{stroke-dashoffset:-22}}
.hmi .rotor{transform-box:fill-box;transform-origin:center;animation:spin 2.4s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hmi .bub{animation:bub 2.6s ease-in infinite}
.hmi .bub:nth-child(3n){animation-delay:.6s}.hmi .bub:nth-child(3n+1){animation-delay:1.3s}
@keyframes bub{0%{transform:translateY(0);opacity:0}20%{opacity:.6}100%{transform:translateY(-40px);opacity:0}}
/* 品牌跑马灯 */
.hero-brands{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.1);background:rgba(0,26,99,.35);backdrop-filter:blur(6px)}
.hb-in{display:flex;align-items:center;gap:24px;height:76px}
.hb-k{font:700 13px/1.3 var(--cjk);color:rgba(255,255,255,.6);letter-spacing:.06em;white-space:nowrap}
.hb-in .marquee{flex:1}
.bchip{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:12px 12px 12px 4px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);white-space:nowrap}
.bchip b{font:700 15px/1 var(--cjk)}
.bchip .tier.image{background:rgba(255,255,255,.14);color:#fff}

/* ---------------- 五个字 ---------------- */
.pl-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.pillars .h2 .b{white-space:nowrap}
.pl{display:flex;flex-direction:column;padding:26px 24px 24px;min-height:340px;overflow:hidden}
.pl-k{font-size:96px;line-height:.9;color:var(--blue);margin:-4px 0 12px;transition:transform .5s var(--ease-in)}
.pl:hover .pl-k{transform:rotate(-6deg) scale(1.06)}
.pl-rig{position:absolute;right:16px;top:24px;width:80px;opacity:.95;transition:transform .5s var(--ease-in)}
.pl:hover .pl-rig{transform:translateX(-10px) rotate(-4deg)}
.pl h3{font:700 19px/1.35 var(--cjk);margin-bottom:10px}
.pl p{font-size:14.5px;line-height:1.7;color:var(--g2);flex:1}
.pl .link{margin-top:18px;font-size:14px}
.pl:nth-child(2) .pl-k{color:var(--signal)}
.pl:nth-child(4) .pl-k{color:#C78A00}

/* ---------------- 功能段通用 ---------------- */
.feat-copy .h2{margin:18px 0 22px}
.feat-media{position:relative}
.cap-line{margin-top:14px}
.stack{position:absolute;inset:0}
.stack .lay,.st-view .lay{position:absolute;inset:0;opacity:0;transition:opacity .6s var(--ease)}
.stack .lay.on,.st-view .lay.on{opacity:1}
.stack img,.stack video,.st-view img{width:100%;height:100%;object-fit:cover;object-position:top left}
.steps4{display:grid;gap:10px;margin:30px 0 26px}
.steps4 li{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:16px 16px 16px var(--sq);background:#fff;box-shadow:var(--shadow-1);cursor:pointer;transition:box-shadow .3s,transform .3s var(--ease-soft),background .3s}
.steps4 li b{width:34px;height:34px;flex:none;border-radius:11px 11px 11px 4px;display:grid;place-items:center;background:var(--sky);color:var(--blue);font:800 16px/1 var(--en);transition:background .3s,color .3s}
.steps4 li span{font-size:14.5px;color:var(--g2);line-height:1.5}
.steps4 li strong{display:block;color:var(--ink);font:700 16px/1.4 var(--cjk)}
.steps4 li.on{box-shadow:0 0 0 2px var(--blue),var(--shadow-2);transform:translateX(6px)}
.steps4 li.on b{background:var(--blue);color:#fff}
.steps4 li .prog{display:block;height:3px;margin-top:8px;border-radius:2px;background:var(--g5);overflow:hidden}
.note-line{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--g2)}
.note-line .ic{width:18px;height:18px;color:var(--blue);flex:none}
.ticks{display:grid;gap:12px;margin:26px 0}
.ticks li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.6}
.ticks .ic{width:22px;height:22px;flex:none;padding:3px;border-radius:7px 7px 7px 3px;background:var(--sky);color:var(--blue);stroke-width:3;margin-top:1px}
.ticks.w .ic{background:rgba(255,197,61,.18);color:var(--yellow)}
.hint-drag{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--g3)}
.hint-drag .ic{width:18px;height:18px;animation:nudge 1.6s var(--ease) infinite}
@keyframes nudge{50%{transform:translateX(6px)}}

/* ---------------- 美 · 前后对比 ---------------- */
.ba{position:relative;aspect-ratio:1280/800;border-radius:16px 16px 16px var(--sq);overflow:hidden;box-shadow:var(--shadow-3);user-select:none;touch-action:pan-y;background:#C0C0C0}
.ba svg{position:absolute;inset:0;width:100%;height:100%}
.ba-b{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--x)) 0 0)}
.ba-tag{position:absolute;top:14px;z-index:2;padding:7px 12px;border-radius:10px 10px 10px 4px;font:700 13px/1 var(--cjk)}
.ba-tag.l{left:14px;background:rgba(0,0,0,.65);color:#fff}
.ba-tag.r{right:14px;background:var(--blue);color:#fff}
.ba-h{position:absolute;top:0;bottom:0;left:var(--x);width:0;z-index:3;cursor:ew-resize}
.ba-h::before{content:'';position:absolute;top:0;bottom:0;left:-1.5px;width:3px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.ba-h i{position:absolute;top:50%;left:0;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:#fff;color:var(--blue);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px -8px rgba(0,0,0,.4);transition:transform .2s var(--ease-in)}
.ba-h:hover i,.ba.drag .ba-h i{transform:scale(1.1)}
.ba-h i .ic{width:16px;height:16px;stroke-width:3}
.ba-h i .ic:first-child{transform:rotate(180deg) translateX(-1px)}
.styles{margin-top:22px}
.st-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.st-tabs button{height:34px;padding:0 13px;border-radius:11px 11px 11px 4px;background:var(--mist);font:700 13.5px/1 var(--cjk);color:var(--g2);transition:all .2s}
.st-tabs button:hover{color:var(--blue)}
.st-tabs button[aria-selected="true"]{background:var(--blue);color:#fff}
.st-view .scr{aspect-ratio:16/7}

/* ---------------- 效 · 母版 ---------------- */
.effic{overflow:hidden}
.effic::before{content:'';position:absolute;inset:0;background:radial-gradient(900px 500px at 80% 30%,rgba(47,107,255,.24),transparent 70%)}
.swatches{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 14px}
.swatches button{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 16px 0 8px;border-radius:14px 14px 14px 5px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.12);color:#fff;font:700 14.5px/1 var(--cjk);transition:all .25s var(--ease-soft)}
.swatches button i{width:30px;height:30px;border-radius:9px 9px 9px 3px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3)}
.swatches button:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.swatches button[aria-checked="true"]{background:#fff;color:var(--night);box-shadow:0 10px 30px -10px rgba(47,107,255,.8)}
.masters{position:relative;display:grid;grid-template-columns:.9fr 1.6fr;gap:44px;align-items:center}
.masters .tscr{display:block;width:100%;height:auto;border-radius:8px}
.masters .tscr *{transition:fill .5s var(--ease),stroke .5s var(--ease);transition-delay:inherit}
.ms-master{position:relative;padding:10px;border-radius:14px 14px 14px 5px;background:rgba(255,255,255,.06);box-shadow:0 0 0 2px var(--yellow),0 20px 50px -20px rgba(255,197,61,.5)}
.ms-tag{position:absolute;left:10px;top:-34px;font:700 13px/1 var(--cjk);color:var(--yellow);white-space:nowrap}
.ms-link{position:absolute;left:34%;top:20%;width:14%;height:60%;overflow:visible;pointer-events:none}
.ms-link path{fill:none;stroke:var(--yellow);stroke-width:2;stroke-dasharray:5 6;vector-effect:non-scaling-stroke;animation:flowdash 1s linear infinite}
.ms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ms-cell{border-radius:8px;overflow:hidden;box-shadow:0 14px 30px -14px rgba(0,0,0,.6);transition:transform .5s var(--ease-in);transition-delay:calc(var(--i) * 60ms)}
.ms-cell .tscr *{transition-delay:calc(var(--i) * 60ms)}
.masters.pulse .ms-cell{transform:scale(.94)}

/* ---------------- 通 · 品牌墙 ---------------- */
.brands{overflow:hidden}
.bwall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.bw{position:relative;padding:16px 16px 44px;border-radius:16px 16px 16px var(--sq);background:#fff;color:var(--ink);min-height:118px;box-shadow:0 18px 40px -24px rgba(0,0,0,.6)}
.bw .tier{position:absolute;right:12px;top:12px}
.bw b{display:block;font:900 clamp(17px,1.6vw,22px)/1.2 var(--cjk);margin-top:2px}
.bw small{display:block;margin-top:6px;font:500 12.5px/1.3 var(--ui);color:var(--g2);padding-right:4px}
.bw .ok{position:absolute;right:12px;bottom:12px;width:28px;height:28px;border-radius:50%;background:var(--run);color:#fff;display:grid;place-items:center;transform:scale(0);transition:transform .45s var(--ease-in);transition-delay:calc(var(--d,0) * 1s + .35s)}
.bw.in .ok,.no-anim .bw .ok{transform:none}
.bw .ok .ic{width:15px;height:15px;stroke-width:3.2}
.bw.other{background:rgba(255,255,255,.08);color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.bw.other small{color:rgba(255,255,255,.7)}
.bw-legend{display:flex;flex-wrap:wrap;gap:8px 22px;margin:20px 0 10px;font:600 14px/1.4 var(--cjk);color:rgba(255,255,255,.85)}
.bw-legend span{display:inline-flex;align-items:center;gap:8px}
.bw-legend i{width:14px;height:14px;border-radius:4px}
.lg-n{background:var(--yellow)}.lg-i{background:#fff}

/* ---------------- 人 · 对话 ---------------- */
.meet{display:flex;align-items:center;gap:18px;margin-top:34px}
.meet>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}
.meet-rig{width:120px}
.meet b{font:900 18px/1.2 var(--cjk);margin-top:10px}
.meet small{font-size:12.5px;color:var(--g3)}
.meet-i{font:800 54px/1 var(--en);color:var(--yellow);display:flex;flex-direction:column;align-items:center}
.meet-i small{font:700 11px/1 var(--ui);color:var(--g3);letter-spacing:.1em;margin-top:6px;text-transform:uppercase}
.chat{position:relative}
.chat-scr{position:relative;aspect-ratio:1280/800;border-radius:16px 16px 16px var(--sq);overflow:hidden;box-shadow:var(--shadow-3)}
.chat-scr>div{position:absolute;inset:0}
.chat-scr svg{width:100%;height:100%}
.cs-b{opacity:0;transition:opacity .8s var(--ease)}
.chat.s3 .cs-b{opacity:1}
.cs-alarm{position:absolute!important;inset:auto 4% auto auto!important;top:14%!important;width:34%;padding:14px 16px;border-radius:12px 12px 12px 4px;background:#fff;box-shadow:0 0 0 2px var(--alarm),0 20px 40px -14px rgba(240,69,58,.6);opacity:0;transform:translateY(-10px) scale(.92);transition:opacity .3s,transform .5s var(--ease-in);display:grid;gap:4px}
.cs-alarm b{color:var(--alarm);font:800 clamp(12px,1.1vw,15px)/1.3 var(--cjk);animation:blinkred 1s steps(1) infinite}
.cs-alarm span{font-size:clamp(11px,.95vw,13px);color:var(--g2)}
.cs-alarm i{font-style:normal;justify-self:start;margin-top:6px;padding:5px 12px;border-radius:8px 8px 8px 3px;background:var(--alarm);color:#fff;font:700 12px/1 var(--cjk);opacity:0;transition:opacity .3s}
.chat.s1 .cs-alarm,.chat.s2 .cs-alarm,.chat.s3 .cs-alarm{opacity:1;transform:none}
.chat.s2 .cs-alarm i,.chat.s3 .cs-alarm i{opacity:1}
.chat.s3 .cs-alarm{background:#14275A}
.chat.s3 .cs-alarm span{color:#8FA3D6}
@keyframes blinkred{50%{opacity:.35}}
.chat{padding-bottom:8px}
.chat-log{position:relative;z-index:2;margin:-48px 0 0 -22px;width:86%;min-height:316px;padding:16px 16px 18px;display:flex;flex-direction:column;gap:10px;
  background:#fff;border-radius:22px 22px 22px var(--sq);box-shadow:var(--shadow-3)}
.chat-head{display:flex;align-items:center;gap:8px;padding:2px 4px 8px;border-bottom:1px solid var(--line);font:700 13px/1 var(--cjk);color:var(--g2)}
.chat-head kbd{font:700 11.5px/1 var(--ui);padding:4px 6px;border-radius:6px;background:var(--mist);color:var(--blue)}
.chat-head .live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--run)}
.chat-head .live::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--run);animation:rec 1.4s infinite}
.msg{display:flex;gap:10px;align-items:flex-end;max-width:88%;opacity:0;transform:translateY(12px);transition:opacity .35s,transform .5s var(--ease-in)}
.msg.show{opacity:1;transform:none}
.msg.h{flex-direction:row-reverse;margin-left:auto}
.msg .av{width:40px;flex:none}
.msg p{padding:10px 14px;font:500 14.5px/1.55 var(--cjk)}
.msg.h p{background:var(--blue);color:#fff;border-radius:16px var(--sq) 16px 16px}
.msg.m p{background:var(--mist);border-radius:16px 16px 16px var(--sq)}
.msg.typing{position:absolute;left:16px;bottom:16px}
.msg.typing p{display:flex;gap:5px;padding:14px 16px}
.msg.typing p i{width:7px;height:7px;border-radius:50%;background:var(--g3);animation:typing 1.2s var(--ease) infinite}
.msg.typing p i:nth-child(2){animation-delay:.15s}.msg.typing p i:nth-child(3){animation-delay:.3s}

/* ---------------- 功能墙 ---------------- */
.cap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.capc{padding:0;overflow:hidden;display:flex;flex-direction:column}
.cap-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--sky)}
.cap-img img,.cap-img video{width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform .8s var(--ease-soft)}
.capc:hover .cap-img img{transform:scale(1.06)}
.cap-tx{display:flex;gap:14px;padding:20px 20px 22px}
.cap-tx .ico-tile{width:40px;height:40px;border-radius:12px 12px 12px 4px}
.cap-tx .ico-tile .ic{width:20px;height:20px}
.cap-tx h3{font:700 17px/1.35 var(--cjk);margin-bottom:4px}
.cap-tx p{font-size:14px;line-height:1.6;color:var(--g2)}

/* ---------------- 说服老板 ---------------- */
.bt{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,72px);align-items:center;padding:clamp(28px,5vw,64px);background:var(--sky);box-shadow:none;border-radius:var(--r-l) var(--r-l) var(--r-l) 8px;overflow:hidden}
.bt:hover{transform:none;box-shadow:none}
.bt-art{position:relative}
.bt-rig{width:100%;max-width:340px}
.bt-art .sticker{position:absolute;right:6%;top:-2%;font-size:15px;padding:8px 14px}
.bt-card{position:absolute;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:10px 14px 10px 10px;border-radius:14px 14px 14px 5px;background:#fff;box-shadow:var(--shadow-2);animation:floatY 4s var(--ease) infinite}
.bt-card .ic{grid-row:span 2;width:34px;height:34px;padding:7px;border-radius:10px 10px 10px 4px;background:var(--sky);color:var(--blue)}
.bt-card b{font:700 13.5px/1.25 var(--cjk);white-space:nowrap}
.bt-card small{font-size:11.5px;color:var(--g3);white-space:nowrap}
.bt-card.c1{left:-4%;top:-12%;animation-delay:.3s}
.bt-card.c2{right:-6%;bottom:2%;animation-delay:1.1s}
.bt-card.c2 .ic{background:#FFF1CC;color:#7A5300}
.bt-card.c3{left:8%;bottom:-16%;animation-delay:1.8s}
.bt-card.c3 .ic{background:var(--blue);color:#fff}
.bt .h2{margin:14px 0 16px}
.bt-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* ---------------- 价格预告 ---------------- */
.pt-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:760px;margin:0 auto}
.pt{text-align:center;padding:32px 24px}
.pt h3{font:700 18px/1 var(--cjk)}
.pt-p{margin:18px 0 10px;display:flex;align-items:baseline;justify-content:center;gap:6px}
.pt-p .num{font-size:46px;line-height:1;color:var(--ink)}
.pt-p small{font-size:14px;color:var(--g3)}
.pt p{font-size:14.5px}
.pt.hot{background:var(--blue);color:#fff;box-shadow:0 30px 60px -30px rgba(0,44,150,.7)}
.pt.hot .num{color:#fff}.pt.hot small{color:rgba(255,255,255,.7)}
.pt .sticker{position:absolute;right:16px;top:-12px}

/* ---------------- 学习社区预告 ---------------- */
.lt{display:flex;flex-direction:column;gap:14px}
.lt h3{font:700 19px/1.35 var(--cjk)}
.lt p{font-size:15px;color:var(--g2);flex:1}

/* ---------------- 收尾 ---------------- */
.final{overflow:hidden}
.fin-in{position:relative;z-index:1}
.fin-rig{width:min(240px,46vw);margin:0 auto 18px;cursor:pointer}
.final .h1{font-size:clamp(46px,7vw,104px)}
.final .lead{margin:22px auto 0;max-width:560px}

@media (max-width:1200px){
  .pl-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1080px){
  .hero{padding-top:108px}
  .hero-in{grid-template-columns:minmax(0,1fr);gap:28px}
  .hero-stage{max-width:720px;width:100%;margin:0 auto}
  .masters{grid-template-columns:minmax(0,1fr);gap:28px}
  .ms-link{display:none}
  .ms-master{max-width:420px}
  .bt{grid-template-columns:minmax(0,1fr)}
  .bt-rig{max-width:240px}
}
@media (max-width:720px){
  .br-d{display:none}
  .hero .h1{font-size:clamp(46px,13vw,64px);margin:20px 0 16px}
  .hero-cta .btn{flex:1 1 auto}
  .hd-steps{display:none}
  .hd-prompt{min-width:0;max-width:92%;bottom:12%;padding:10px 10px 10px 14px;min-height:48px}
  .hd-rig{width:30%}
  .hd-toast{right:0;bottom:2%;padding:10px 12px 10px 10px}
  .hb-k{display:none}
  .pl-row{grid-template-columns:1fr 1fr;gap:12px}
  .pl{min-height:0;padding:18px 16px}
  .pl-k{font-size:64px}
  .pl-rig{width:66px;top:12px}
  .pl p{font-size:13.5px}
  .pl:last-child{grid-column:1/-1}
  .bwall{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cap-grid,.pt-row{grid-template-columns:minmax(0,1fr)}
  .chat-log{margin:-30px 6px 0}
  .msg p{font-size:14px}
  .msg .av{width:38px}
  .st-view .scr{aspect-ratio:16/9}
  .meet-rig{width:84px}
}

/* 首屏与收尾的 S 流：只在四周留一点质感，中间文字区透出底色 */
.hero .sflow{-webkit-mask-image:radial-gradient(ellipse 70% 80% at 62% 45%,transparent 30%,#000 78%);mask-image:radial-gradient(ellipse 70% 80% at 62% 45%,transparent 30%,#000 78%)}
.final .sflow{-webkit-mask-image:radial-gradient(ellipse 55% 70% at 50% 50%,transparent 35%,#000 80%);mask-image:radial-gradient(ellipse 55% 70% at 50% 50%,transparent 35%,#000 80%)}

/* 宣传片（纯动效版）：首屏下面，点了才播 */
.film-sec{background:linear-gradient(180deg,#fff 0%,var(--mist) 100%)}
.film-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:20px 64px;align-items:end;margin-bottom:clamp(28px,3.4vw,44px)}
.film-head .h2.disp{margin:16px 0 0}
.film-side{display:grid;gap:14px;justify-items:start}
.film-side .lead{font-size:clamp(16px,1.3vw,18px)}
.film-side .link .ic:first-child{width:18px;height:18px}
.film.big{max-width:1280px;margin-inline:auto}
.film.big .film-ch{justify-content:center}
.film-sec .film-ch button{background:#fff;box-shadow:var(--shadow-1)}
.film-sec .film-ch button.cur{background:var(--blue)}
.film-note{margin-top:16px;text-align:center}
@media (max-width:860px){.film-head{grid-template-columns:minmax(0,1fr);align-items:start}}

/* ============================================================================
 *  pages.css —— 产品能力 / 案例 / 学习社区 / 协议页
 * ==========================================================================*/
/* ---------------- 通用页头 ---------------- */
.pg-hero{position:relative;padding:150px 0 96px;overflow:hidden}
.pg-hero.dark{background:var(--night);color:#fff}
.pg-hero.dark .hero-bg::before{content:'';position:absolute;inset:0;background:radial-gradient(900px 600px at 78% 40%,rgba(47,107,255,.35),transparent 65%)}
.pg-hero.dark .sflow{-webkit-mask-image:radial-gradient(ellipse 70% 80% at 30% 45%,transparent 30%,#000 80%);mask-image:radial-gradient(ellipse 70% 80% at 30% 45%,transparent 30%,#000 80%)}
.pg-hero.light{background:linear-gradient(180deg,#EEF2FD,#fff)}
.ph-in{position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(24px,5vw,72px);align-items:center}
.pg-hero .h1{font-size:clamp(44px,5vw,80px);margin:24px 0 22px}
.pg-hero.dark .lead{color:rgba(255,255,255,.8)}
.ph-art{position:relative;aspect-ratio:16/11.5}
.ph-art .ph-win{position:absolute;right:0;top:0;width:88%;transform:rotate(2deg);box-shadow:0 50px 100px -40px rgba(0,0,0,.7)}
.ph-art .ph-win2{position:absolute;left:0;bottom:0;width:64%;transform:rotate(-4deg);box-shadow:0 40px 80px -30px rgba(0,0,0,.7);z-index:2}
.ph-rig{position:absolute;right:-2%;bottom:-6%;width:26%;z-index:3;filter:drop-shadow(0 20px 30px rgba(0,0,0,.35))}
/* 能力目录 */
.subnav{position:sticky;top:64px;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:saturate(1.6) blur(14px);box-shadow:0 1px 0 var(--line)}
.sn-track{display:flex;gap:4px;overflow-x:auto;padding:10px 0;scrollbar-width:none}
.sn-track::-webkit-scrollbar{display:none}
.sn-track a{flex:none;display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 13px;border-radius:12px 12px 12px 4px;font:700 14px/1 var(--cjk);color:var(--g2);transition:all .2s}
.sn-track a .ic{width:17px;height:17px}
.sn-track a:hover{color:var(--blue);background:var(--mist)}
.sn-track a.on{background:var(--blue);color:#fff}
.prow{scroll-margin-top:120px}
.pm .mtabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.mtabs button{height:36px;padding:0 14px;border-radius:11px 11px 11px 4px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--g5);font:700 13.5px/1 var(--cjk);color:var(--g2);transition:all .2s}
.mist .mtabs button{background:#fff}
.mtabs button:hover{color:var(--blue);box-shadow:inset 0 0 0 1.5px var(--blue)}
.mtabs button[aria-selected="true"]{background:var(--blue);color:#fff;box-shadow:0 8px 16px -10px rgba(0,44,150,.8)}
/* 母版演示（浅色底版本） */
.masters.light .ms-master{background:#fff;box-shadow:0 0 0 2px var(--yellow),var(--shadow-2)}
.masters.light .ms-tag{color:#9A6B00}
.masters.light .ms-cell{box-shadow:0 12px 26px -14px rgba(0,26,99,.45)}
.swatches.lt button{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--g5)}
.swatches.lt button:hover{background:var(--mist)}
.swatches.lt button[aria-checked="true"]{background:var(--blue);color:#fff;box-shadow:0 10px 24px -12px rgba(0,44,150,.8)}
.swatches.lt button i{box-shadow:inset 0 0 0 1.5px rgba(12,20,36,.12)}
/* 品牌特效 */
.fxg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.fxc{position:relative;margin:0;border-radius:12px 12px 12px 4px;overflow:hidden;aspect-ratio:16/9;background:#05091A;box-shadow:var(--shadow-1)}
.fxc.big{grid-column:span 3;aspect-ratio:16/8}
.fxc img,.fxc video{width:100%;height:100%;object-fit:cover}
.fxc figcaption{position:absolute;left:10px;bottom:10px;padding:5px 9px;border-radius:8px 8px 8px 3px;background:rgba(6,21,68,.7);color:#fff;font:700 12px/1 var(--cjk);backdrop-filter:blur(6px)}
/* 云端与协作示意 */
.teamv{position:relative}
.tv-win .scr{aspect-ratio:16/10}
.tv-win .scr>svg{width:100%;height:100%}
.tv-win .scr{--t-bg:#EEF2FA;--t-panel:#fff;--t-p2:#EEF3FF;--t-line:#D5DEEE;--t-tx:#0C1424;--t-sub:#8E97A8;--t-acc:#2F6BFF;--t-w1:#5B8CFF;--t-hd:#002C96;--t-hdtx:#fff;--t-run:#16B97A;--t-warn:#FFB020}
.pin{position:absolute;width:28px;height:28px;border-radius:50% 50% 50% 4px;background:var(--yellow);color:var(--ink);font:800 13px/28px var(--en);text-align:center;box-shadow:0 6px 14px -4px rgba(0,0,0,.35);animation:floatY 3s var(--ease) infinite}
.pin.p1{left:74%;top:22%}.pin.p2{left:30%;top:52%;animation-delay:.6s}
.cmt{position:absolute;display:flex;gap:8px;align-items:center;max-width:56%;padding:10px 12px;border-radius:14px 14px 14px 5px;background:#fff;box-shadow:var(--shadow-2);font-size:13px;line-height:1.45}
.tv-win .cmt svg{width:42px;height:auto;flex:none}
.cmt b{display:block;font:700 12px/1.3 var(--cjk);color:var(--g3)}
.cmt.c1{right:4%;top:32%}.cmt.c2{left:6%;bottom:8%}
.tv-cloud{position:absolute;right:-10px;top:-18px;display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:center;padding:10px 14px;border-radius:14px 14px 14px 5px;background:var(--night);color:#fff;box-shadow:var(--shadow-2)}
.tv-cloud .ic{grid-row:span 2;width:26px;height:26px;color:var(--run)}
.tv-cloud b{font:700 13.5px/1.2 var(--cjk)}
.tv-cloud small{font-size:11.5px;color:rgba(255,255,255,.6)}
.cpt td:last-child{text-align:left;color:var(--g2);font-size:14px}
.cpt td:nth-child(2){color:var(--g2);font-size:14px}
.cmp.cpt tbody th{width:14%}
.cmp.cpt td:nth-child(2){width:22%}
.cmp.cpt td:nth-child(3){width:10%}

/* ---------------- 案例 ---------------- */
.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:30px}
.filters button{height:40px;padding:0 16px;border-radius:12px 12px 12px 4px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--g5);font:700 14px/1 var(--cjk);color:var(--g2);transition:all .2s}
.filters button:hover{color:var(--blue)}
.filters button[aria-pressed="true"]{background:var(--blue);color:#fff;box-shadow:0 10px 20px -12px rgba(0,44,150,.8)}
.flt-meta{text-align:center;margin-top:14px;font-size:14px;color:var(--g3)}
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;grid-auto-flow:dense}
.gc{position:relative;padding:0;overflow:hidden;display:flex;flex-direction:column}
.gc.wide{grid-column:span 2}
.gc.out{display:none}
.gc .gi{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--sky)}
.gc.wide .gi{aspect-ratio:16/8.2}
.gc .gi img,.gc .gi video,.gc .gi svg{width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform .8s var(--ease-soft)}
.gc:hover .gi img,.gc:hover .gi svg{transform:scale(1.05)}
.gc .gt{padding:18px 20px 20px}
.gc h3{font:700 17px/1.4 var(--cjk)}
.gc p{font-size:14px;color:var(--g2);margin-top:4px}
.gc .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.gc .tags span{font:700 12px/1 var(--cjk);padding:5px 8px;border-radius:7px 7px 7px 3px;background:var(--mist);color:var(--g2)}
.gc .real{position:absolute;left:12px;top:12px;font:700 11.5px/1 var(--ui);padding:5px 8px;border-radius:7px 7px 7px 3px;background:rgba(255,255,255,.92);color:var(--blue)}
.gc.in{animation:gcin .5s var(--ease-soft) both;animation-delay:calc(var(--d,0) * 1s)}
@keyframes gcin{from{opacity:0;transform:translateY(16px)}}
.ind-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ind{padding:24px;display:flex;flex-direction:column;gap:10px}
.ind .ico-tile{margin-bottom:6px}
.ind h3{font:800 18px/1.3 var(--cjk)}
.ind p{font-size:14px;color:var(--g2)}
.ind .scr-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:10px}
.ind .scr-list span{font:600 12px/1 var(--cjk);padding:6px 8px;border-radius:7px 7px 7px 3px;background:var(--sky);color:var(--blue)}
.plays{display:grid;gap:22px}
.play{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:center;padding:28px;border-radius:24px 24px 24px 8px;background:#fff;box-shadow:var(--shadow-1)}
.play h3{font:400 30px/1.15 var(--disp)}
.play .pk{font:800 13px/1 var(--en);color:var(--blue);letter-spacing:.06em}
.play p{font-size:14.5px;color:var(--g2);margin-top:8px}
.play ol{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;counter-reset:st}
.play li{position:relative;padding:16px 14px;border-radius:14px 14px 14px 5px;background:var(--mist)}
.play li:not(:last-child)::after{content:'';position:absolute;right:-9px;top:50%;width:8px;height:8px;border-top:2.5px solid var(--g4);border-right:2.5px solid var(--g4);transform:translateY(-50%) rotate(45deg);z-index:1}
.play li .ic{width:26px;height:26px;color:var(--blue)}
.play li b{display:block;font:700 14.5px/1.35 var(--cjk);margin-top:8px}
.play li small{display:block;font-size:12.5px;color:var(--g3);margin-top:4px;line-height:1.5}
.call{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding:32px 36px;border-radius:28px 28px 28px 8px;background:var(--blue);color:#fff}
.call-rig{width:120px}
.call h2{font:400 34px/1.15 var(--disp)}
.call p{color:rgba(255,255,255,.78);margin-top:6px}

/* ---------------- 学习社区 ---------------- */
.path{position:relative;display:grid;gap:18px}
.path-line{position:absolute;left:31px;top:30px;bottom:30px;width:4px;border-radius:2px;background:linear-gradient(180deg,var(--blue),var(--signal) 60%,var(--yellow))}
.stage{position:relative;display:grid;grid-template-columns:66px minmax(0,1fr);gap:18px;align-items:start}
.st-dot{position:relative;z-index:1;width:66px;height:66px;border-radius:20px 20px 20px 6px;display:grid;place-items:center;background:var(--blue);color:#fff;font:400 22px/1 var(--disp);box-shadow:0 12px 24px -12px rgba(0,44,150,.8)}
.stage:nth-child(3) .st-dot{background:var(--signal)}
.stage:nth-child(5) .st-dot{background:var(--yellow);color:var(--ink)}
.st-body h3{font:800 20px/1.3 var(--cjk);margin:10px 0 12px}
.st-body h3 small{font:600 13px/1 var(--cjk);color:var(--g3);margin-left:8px}
.lessons{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:14px}
.lesson{display:flex;flex-direction:column;gap:10px;padding:20px}
.lesson .ln{display:flex;align-items:center;gap:10px}
.lesson .ln b{font:800 14px/1 var(--en);color:var(--blue);padding:6px 8px;border-radius:8px 8px 8px 3px;background:var(--sky)}
.lesson .ln .stars{margin-left:auto;font-size:12px;color:#C78A00;letter-spacing:2px}
.lesson h4{font:800 17px/1.4 var(--cjk)}
.lesson p{font-size:14px;color:var(--g2)}
.lesson .topics{display:flex;flex-wrap:wrap;gap:6px}
.lesson .topics span{font:600 12px/1 var(--cjk);padding:5px 8px;border-radius:7px 7px 7px 3px;background:var(--mist);color:var(--g2)}
.lesson .lf{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px;border-top:1px dashed var(--g5)}
.lesson .lf small{font-size:12.5px;color:var(--g3)}
.lesson .lf .link{white-space:nowrap;font-size:14px}
.lessons>.lesson:only-child{grid-column:span 2;max-width:760px}
.klass{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kc{display:flex;flex-direction:column;gap:12px;padding:0;overflow:hidden;cursor:pointer;text-align:left}
.kc .kv{height:150px;display:grid;place-items:center;background:var(--mist);position:relative;overflow:hidden}
.kc .kt{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px}
.kc h3{font:800 17px/1.4 var(--cjk)}
.kc p{font-size:14px;color:var(--g2)}
.kc .link{margin-top:6px;font-size:14px}
/* 小课堂示意 */
.kv-status{display:flex;gap:10px}
.kv-status i{display:flex;align-items:center;gap:6px;font:700 12px/1 var(--cjk);font-style:normal;padding:8px 10px;border-radius:9px 9px 9px 3px;background:#fff;box-shadow:var(--shadow-1)}
.kv-status i::before{content:'';width:9px;height:9px;border-radius:50%;background:var(--c)}
.kv-states{display:flex;gap:8px}
.kv-states b{display:grid;place-items:center;width:62px;height:36px;border-radius:9px 9px 9px 3px;font:700 12px/1 var(--cjk);color:#fff;background:var(--blue)}
.kv-states b:nth-child(2){background:var(--deep);transform:translateY(2px);box-shadow:inset 0 3px 6px rgba(0,0,0,.35)}
.kv-states b:nth-child(3){background:#fff;color:var(--blue);box-shadow:0 0 0 2px var(--blue)}
.kv-states b:nth-child(4){background:var(--g5);color:var(--g3)}
.kv-type{display:flex;align-items:flex-end;gap:14px;font-family:var(--cjk);color:var(--ink)}
.kv-type b{font-weight:900;font-size:40px;line-height:1}
.kv-type span{font-size:13px;color:var(--g2)}
.kv-type .bad{font-size:9px;color:var(--alarm);text-decoration:line-through}
.kv-pipes{width:80%}
.kv-layer{display:grid;gap:6px;width:70%}
.kv-layer i{display:block;height:12px;border-radius:4px;background:var(--g4)}
.kv-layer i.k{height:26px;width:46%;background:var(--blue)}
.kv-layer i.s{width:80%}.kv-layer i.t{width:60%}
.kv-nav{display:flex;gap:10px;align-items:center;font:700 12px/1 var(--cjk);color:var(--g2)}
.kv-nav span{padding:8px 10px;border-radius:9px 9px 9px 3px;background:#fff;box-shadow:var(--shadow-1)}
.kv-nav span.on{background:var(--blue);color:#fff}
.kv-nav .ic{width:14px;height:14px;color:var(--g3)}
.kmodal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:24px;background:rgba(6,21,68,.6);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .3s}
.kmodal.open{opacity:1;pointer-events:auto}
.km-box{position:relative;width:min(720px,100%);max-height:86svh;overflow:auto;padding:36px 40px;border-radius:26px 26px 26px 8px;background:#fff;transform:translateY(16px);transition:transform .45s var(--ease-soft)}
.kmodal.open .km-box{transform:none}
.km-box .x{position:absolute;right:16px;top:16px;width:40px;height:40px;border-radius:12px 12px 12px 4px;display:grid;place-items:center;background:var(--mist)}
.km-body h3{font:400 34px/1.15 var(--disp);margin:8px 0 14px}
.km-body p{color:var(--g1);line-height:1.85;margin:0 0 12px}
.km-body ul{display:grid;gap:8px;margin:10px 0 14px}
.km-body li{position:relative;padding-left:18px;color:var(--g1)}
.km-body li::before{content:'';position:absolute;left:2px;top:.7em;width:7px;height:7px;border-radius:2px 2px 2px 0;background:var(--yellow)}
.km-body .kvb{margin:18px 0;padding:22px;border-radius:16px 16px 16px 5px;background:var(--mist);display:grid;place-items:center}
.comm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cm{display:flex;flex-direction:column;gap:12px;padding:24px}
.cm h3{font:800 18px/1.3 var(--cjk)}
.cm p{font-size:14.5px;color:var(--g2)}
.cm .how{display:flex;align-items:center;gap:8px;font:700 13.5px/1.4 var(--cjk);color:var(--blue);padding:10px 12px;border-radius:12px 12px 12px 4px;background:var(--sky)}
.cm .how .ic{width:18px;height:18px;flex:none}
.cm .qrslot{width:120px;padding:8px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--g5)}
.cm .qrslot img{width:100%;height:auto;display:block}
.cm.big{grid-column:span 2;background:var(--blue);color:#fff;display:grid;grid-template-columns:1fr auto;align-items:center}
.cm.big p{color:rgba(255,255,255,.78)}
.cm.big .how{background:rgba(255,255,255,.12);color:#fff}
.cm-rig{width:150px}
.handles{display:flex;flex-wrap:wrap;gap:8px}
.handles span{display:inline-flex;align-items:center;gap:6px;font:700 13px/1 var(--cjk);padding:8px 10px;border-radius:10px 10px 10px 4px;background:var(--mist)}
.res-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.res{display:flex;flex-direction:column;gap:10px;padding:22px}
.res h3{font:800 16.5px/1.35 var(--cjk)}
.res p{font-size:14px;color:var(--g2);flex:1}

/* ---------------- 协议页 ---------------- */
.legal-wrap{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:start}
.legal-toc{position:sticky;top:96px;max-height:calc(100svh - 120px);overflow:auto;padding:18px;border-radius:18px 18px 18px 6px;background:var(--mist)}
.legal-toc b{display:block;font:800 13px/1 var(--cjk);color:var(--blue);margin-bottom:10px;letter-spacing:.06em}
.legal-toc a{display:block;padding:6px 8px;border-radius:8px;font-size:13.5px;color:var(--g2);line-height:1.45}
.legal-toc a:hover{background:#fff;color:var(--blue)}
.legal{max-width:820px}
.legal,.legal-toc{--cjk:'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans CJK SC',sans-serif;font-family:var(--cjk)}
.legal-toc a{font-family:var(--cjk)}
.legal h1{font:400 clamp(36px,4.4vw,56px)/1.15 var(--disp);margin-bottom:12px}
.legal h2{font:900 22px/1.4 var(--cjk);margin:42px 0 14px;padding-top:10px;scroll-margin-top:100px}
.legal h3{font:800 18px/1.4 var(--cjk);margin:26px 0 10px}
.legal p,.legal li{font-size:15.5px;line-height:1.9;color:var(--g1)}
.legal p{margin:0 0 12px}
.legal ol,.legal ul{margin:0 0 14px;padding-left:22px}
.legal ol{list-style:decimal}.legal ul{list-style:disc}
.legal li{margin:4px 0}
.legal blockquote{margin:16px 0;padding:16px 20px;border-radius:14px 14px 14px 5px;background:var(--sky);border-left:4px solid var(--blue)}
.legal blockquote p{margin:0 0 6px}
.legal code{font:500 .92em/1 ui-monospace,Menlo,monospace;padding:2px 6px;border-radius:6px;background:var(--mist)}
.legal hr{border:0;height:1px;background:var(--line);margin:28px 0}
.legal .src{font-size:13px;color:var(--g3);margin-bottom:24px}

@media (max-width:1080px){
  .ph-in{grid-template-columns:minmax(0,1fr)}
  .ph-art{max-width:680px;width:100%;margin:10px auto 0}
  .ind-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .play{grid-template-columns:minmax(0,1fr)}
  .klass,.comm{grid-template-columns:repeat(2,minmax(0,1fr))}
  .res-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .legal-wrap{grid-template-columns:minmax(0,1fr)}
  .legal-toc{position:static;max-height:none}
}
@media (max-width:720px){
  .pg-hero{padding:110px 0 64px}
  .subnav{top:64px}
  .fxg{grid-template-columns:1fr 1fr}
  .fxc.big{grid-column:span 2}
  .gal,.ind-grid,.klass,.comm,.res-grid{grid-template-columns:minmax(0,1fr)}
  .gc.wide{grid-column:auto}
  .play ol{grid-template-columns:1fr 1fr}
  .play li::after{display:none}
  .call{grid-template-columns:minmax(0,1fr);text-align:left}
  .call-rig{width:90px}
  .cm.big{grid-column:auto;grid-template-columns:minmax(0,1fr)}
  .cm-rig{width:100px}
  .stage{grid-template-columns:48px minmax(0,1fr);gap:12px}
  .lessons>.lesson:only-child{grid-column:auto}
  .st-dot{width:48px;height:48px;font-size:18px}
  .path-line{left:22px}
  .km-box{padding:26px 22px}
}

/* 学习社区首屏 */
.lh-art{position:relative}
.lh-board{position:relative;aspect-ratio:1.15/1;max-width:560px;margin-left:auto;border-radius:32px 32px 32px 10px;background:linear-gradient(160deg,#E8EEFF,#F7F9FF);box-shadow:inset 0 0 0 1px rgba(0,44,150,.06)}
.lh-board::before{content:'';position:absolute;inset:0;border-radius:inherit;background-image:radial-gradient(rgba(0,44,150,.12) 1.2px,transparent 1.4px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 40%,transparent 80%);mask-image:radial-gradient(ellipse at 50% 50%,#000 40%,transparent 80%)}
.lh-card{position:absolute;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:14px 18px 14px 14px;border-radius:18px 18px 18px 6px;background:#fff;box-shadow:var(--shadow-2);animation:floatY 4.5s var(--ease) infinite}
.lh-card .ic{grid-row:span 2;width:40px;height:40px;padding:9px;border-radius:12px 12px 12px 4px;background:var(--sky);color:var(--blue)}
.lh-card b{font:800 17px/1.2 var(--cjk)}
.lh-card small{font-size:12.5px;color:var(--g3)}
.lh-card.c1{left:6%;top:9%}
.lh-card.c2{right:5%;top:34%;animation-delay:.8s}
.lh-card.c2 .ic{background:#FFF1CC;color:#7A5300}
.lh-card.c3{left:10%;top:58%;animation-delay:1.6s}
.lh-card.c3 .ic{background:var(--blue);color:#fff}
.lh-rig{position:absolute;right:6%;bottom:6%;width:38%}

/* ---------------- 宣传片单页（video.html） ---------------- */
.vp{padding-top:clamp(110px,12vw,150px);overflow:hidden;min-height:100vh}
.vp-glow{position:absolute;inset:0;background:radial-gradient(900px 600px at 72% 18%,rgba(47,107,255,.32),transparent 70%),radial-gradient(600px 400px at 10% 90%,rgba(255,197,61,.08),transparent 70%)}
.vp-in{--wrap:1180px}
.vp-to{display:inline-flex;align-items:center;gap:12px;margin-bottom:22px;padding:10px 18px 10px 12px;border-radius:16px 16px 16px 6px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);font:700 clamp(15px,1.6vw,18px)/1.4 var(--cjk);color:#fff}
.vp-to svg{width:44px;flex:none}
.vp-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:24px}
.vp-head .h2.disp{font-size:clamp(34px,4.6vw,60px)}
.vp-note{margin-top:14px}
.vp-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;margin-top:clamp(32px,4vw,48px);padding:clamp(20px,2.6vw,32px);border-radius:24px 24px 24px 8px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.vp-what{max-width:580px}
.vp-what p{margin-top:12px;font:400 clamp(20px,2vw,26px)/1.45 var(--disp);color:#fff}
.vp-cta{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:720px){
  .vp{padding-top:84px}
  .vp-head{margin-bottom:16px}
  .vp-head .lead{display:none}
  .vp .film.is-v .film-box{max-height:74vh;max-height:74svh}
  .vp-cta .btn{flex:1 1 auto}
}

/* ============================================================================
 *  pricing.css —— 价格页 + 收银台
 * ==========================================================================*/
.pr-hero{padding-top:150px;overflow:hidden}
.pr-bg{position:absolute;inset:0 0 auto;height:640px;background:radial-gradient(900px 420px at 50% 0%,#E1E9FF,transparent 70%);pointer-events:none}
.pr-hero .h1{font-size:clamp(48px,7vw,96px);margin:22px 0 22px}
.pr-hero .lead{max-width:720px;margin:0 auto}
.pr-period{position:relative;display:inline-flex;gap:4px;margin:36px auto 48px;padding:6px;border-radius:16px 16px 16px 6px;background:#fff;box-shadow:var(--shadow-1)}
.pr-period button{position:relative;z-index:1;height:44px;padding:0 20px;border-radius:12px 12px 12px 4px;font:700 15px/1 var(--cjk);color:var(--g2);display:inline-flex;align-items:center;gap:8px;transition:color .25s}
.pr-period button[aria-checked="true"]{color:#fff}
.pr-period .save{font:800 12px/1 var(--cjk);padding:5px 8px;border-radius:7px 7px 7px 3px;background:var(--yellow);color:var(--ink)}
.pr-period .pill{position:absolute;left:6px;top:6px;height:44px;border-radius:12px 12px 12px 4px;background:var(--blue);transition:transform .45s var(--ease-in),width .45s var(--ease-in);box-shadow:0 10px 20px -10px rgba(0,44,150,.7)}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start;max-width:1180px;margin:0 auto}
.plan{position:relative;display:flex;flex-direction:column;gap:18px;padding:30px 26px 28px;border-radius:24px 24px 24px 8px;background:#fff;box-shadow:var(--shadow-1);transition:transform .35s var(--ease-soft),box-shadow .35s}
.plan:hover{transform:translateY(-6px);box-shadow:var(--shadow-2)}
.plan h2{font:900 22px/1.2 var(--cjk)}
.plan .tag{margin-top:6px;font-size:14.5px;color:var(--g2);min-height:2.6em}
.plan .price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-height:60px}
.plan .price .num{font-size:50px;line-height:1}
.plan .price small{font-size:14px;color:var(--g3)}
.plan .soon{font:400 40px/1 var(--disp);color:var(--g3)}
.flist{display:grid;gap:12px;padding-top:18px;border-top:1px dashed var(--g5)}
.flist li{display:flex;gap:10px;font-size:14px;line-height:1.5;color:var(--g2)}
.flist li b{display:block;color:var(--ink);font:700 14.5px/1.4 var(--cjk)}
.flist .ic{flex:none;width:20px;height:20px;padding:3px;border-radius:7px 7px 7px 3px;background:var(--sky);color:var(--blue);stroke-width:3;margin-top:1px}
.flist.plain .ic{stroke-width:2;padding:2px;background:var(--mist);color:var(--g2)}
.plan.hot{background:var(--blue);color:#fff;box-shadow:0 40px 80px -30px rgba(0,44,150,.65);transform:translateY(-14px)}
.plan.hot:hover{transform:translateY(-20px)}
.plan.hot .tag,.plan.hot .price small,.plan.hot .flist li{color:rgba(255,255,255,.75)}
.plan.hot .flist{border-color:rgba(255,255,255,.18)}
.plan.hot .flist li b{color:#fff}
.plan.hot .flist .ic{background:rgba(255,197,61,.2);color:var(--yellow)}
.plan.hot .sticker{position:absolute;right:20px;top:-14px;font-size:14px}
.plan-rig{position:absolute;right:18px;top:26px;width:70px}
.plan.team{background:transparent;box-shadow:inset 0 0 0 2px var(--g5)}
.plan.team:hover{transform:none;box-shadow:inset 0 0 0 2px var(--g4)}
.pr-note{margin-top:30px}

/* AI 点数 */
.pts{display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:center;padding:28px 36px;background:var(--sky);box-shadow:none}
.pts:hover{transform:none;box-shadow:none}
.pts-rig{width:130px}
.pts .h3{margin:8px 0 6px}
.pts-facts{display:flex;gap:14px}
.pts-facts li{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:118px;padding:14px 16px;border-radius:16px 16px 16px 5px;background:#fff}
.pts-facts b{font:900 22px/1 var(--cjk);color:var(--blue)}
.pts-facts b.num{font-family:var(--en);font-size:26px}
.pts-facts span{font-size:13px;color:var(--g2);line-height:1.4}

/* 对比表 */
.cmp-wrap{overflow-x:auto;border-radius:22px 22px 22px 8px;background:#fff;box-shadow:var(--shadow-1)}
.cmp{width:100%;border-collapse:collapse;min-width:640px}
.cmp th,.cmp td{padding:16px 20px;text-align:center;border-bottom:1px solid var(--line);font-size:15px}
.cmp thead th{position:sticky;top:0;background:#fff;font:800 16px/1.3 var(--cjk);padding:22px 20px}
.cmp thead th.hot{color:var(--blue)}
.cmp tbody th{text-align:left;font:700 15px/1.4 var(--cjk);width:42%}
.cmp tbody th small{display:block;font:400 13px/1.5 var(--ui);color:var(--g3);margin-top:2px}
.cmp tr.g th{background:var(--mist);font:800 13px/1 var(--cjk);letter-spacing:.06em;color:var(--blue);padding:12px 20px}
.cmp td.hot{background:rgba(232,238,255,.55)}
.cmp td small{color:var(--g3)}
.cmp .yes{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--run);color:#fff}
.cmp .yes .ic{width:15px;height:15px;stroke-width:3.2}
.cmp .no{font-style:normal;color:var(--g4)}

/* 怎么订阅 */
.how-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.how-steps li{position:relative;padding:28px 24px;border-radius:22px 22px 22px 8px;background:var(--mist);text-align:center}
.how-steps li:not(:last-child)::after{content:'';position:absolute;right:-14px;top:50%;width:10px;height:10px;border-top:2.5px solid var(--g4);border-right:2.5px solid var(--g4);transform:translateY(-50%) rotate(45deg)}
.how-steps .ic{width:44px;height:44px;margin:4px auto 14px;padding:10px;border-radius:14px 14px 14px 5px;background:#fff;color:var(--blue);box-shadow:var(--shadow-1)}
.how-steps .hs-n{position:absolute;left:16px;top:14px;font:800 14px/1 var(--en);color:var(--g3)}
.how-steps b{display:block;font:800 17px/1.3 var(--cjk)}
.how-steps p{margin-top:6px;font-size:14px;color:var(--g2)}
.how .foot-note{margin-top:26px}

/* 常见问题 */
.faqs{display:grid;gap:12px}
.qa{border-radius:18px 18px 18px 6px;background:#fff;box-shadow:var(--shadow-1);overflow:hidden}
.qa summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;font:700 17px/1.45 var(--cjk);cursor:pointer}
.qa summary::-webkit-details-marker{display:none}
.qa summary i{flex:none;width:32px;height:32px;border-radius:10px 10px 10px 4px;display:grid;place-items:center;background:var(--sky);color:var(--blue);transition:transform .35s var(--ease-in),background .25s}
.qa[open] summary i{transform:rotate(45deg);background:var(--blue);color:#fff}
.qa p{padding:0 24px 22px;color:var(--g2);font-size:15.5px;line-height:1.8}
.qa .link{font-size:14.5px}

/* 老板条 */
.bb{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:22px 28px;background:var(--sky);box-shadow:none}
.bb:hover{box-shadow:var(--shadow-1)}
.bb-rig{width:92px}
.bb b{font:900 20px/1.3 var(--cjk)}
.bb p{font-size:15px;color:var(--g2);margin-top:4px}

/* ---------------- 收银台 ---------------- */
.co-mask{position:fixed;inset:0;z-index:250;display:flex;justify-content:flex-end;background:rgba(6,21,68,.55);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .3s}
.co-mask.open{opacity:1;pointer-events:auto}
.co{position:relative;width:min(520px,100%);height:100%;overflow:auto;background:#fff;transform:translateX(40px);transition:transform .45s var(--ease-soft);outline:none;display:flex;flex-direction:column}
.co-mask.open .co{transform:none}
.co-head{position:relative;flex:none;padding:26px 28px 18px;background:var(--blue);color:#fff;overflow:hidden}
.co-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent)}
.co-head h2{font:400 34px/1.15 var(--disp);margin-top:10px;position:relative}
.co-head .chip{position:relative}
.co-rig{position:absolute;right:66px;top:22px;width:86px}
.co-x{position:absolute;right:18px;top:18px;width:40px;height:40px;border-radius:12px 12px 12px 4px;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff}
.co-x:hover{background:rgba(255,255,255,.22)}
.co-steps{position:relative;display:flex;gap:6px;margin-top:20px}
.co-steps li{flex:1;padding:8px 0 0;border-top:3px solid rgba(255,255,255,.2);font:700 12.5px/1 var(--cjk);color:rgba(255,255,255,.55);transition:all .3s}
.co-steps li.on{border-color:var(--yellow);color:#fff}
.co-steps li.done{border-color:rgba(255,197,61,.55);color:rgba(255,255,255,.85)}
.co-body{flex:1;padding:24px 28px 28px}
.co-pane{display:none;flex-direction:column;gap:16px}
.co-pane.on{display:flex;animation:paneIn .45s var(--ease-soft)}
@keyframes paneIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.co-opts{display:grid;gap:10px}
.co-opt{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:16px 16px;border-radius:16px 16px 16px 6px;background:var(--mist);text-align:left;box-shadow:inset 0 0 0 2px transparent;transition:box-shadow .2s,background .2s}
.co-opt:hover{background:#EDF1F9}
.co-opt[aria-checked="true"]{background:#fff;box-shadow:inset 0 0 0 2px var(--blue),var(--shadow-1)}
.lamp{width:14px;height:14px;border-radius:50%;background:var(--g4);box-shadow:inset 0 1px 2px rgba(0,0,0,.2);transition:all .25s}
[aria-checked="true"]>.lamp{background:var(--run);box-shadow:0 0 0 4px rgba(22,185,122,.18),0 0 10px rgba(22,185,122,.8)}
.co-opt .t b{display:block;font:800 15.5px/1.35 var(--cjk)}
.co-opt .t small{font-size:12.5px;color:var(--g3)}
.co-opt em{font:800 11.5px/1 var(--cjk);font-style:normal;padding:5px 7px;border-radius:7px 7px 7px 3px;background:var(--yellow);color:var(--ink)}
.co-opt .p{font-size:22px}
/* 铭牌（订单摘要） */
.plate{position:relative;padding:20px 24px 16px;border-radius:14px;background:linear-gradient(160deg,#0C2A7A,#061544);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 20px 40px -20px rgba(6,21,68,.7)}
.plate .rv{position:absolute;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#E8EEFF,#8E97A8 60%,#5B6477);box-shadow:0 1px 1px rgba(0,0,0,.5)}
.plate .rv:nth-child(1){left:9px;top:9px}.plate .rv:nth-child(2){right:9px;top:9px}.plate .rv:nth-child(3){left:9px;bottom:9px}.plate .rv:nth-child(4){right:9px;bottom:9px}
.pl-top{display:flex;justify-content:space-between;font:800 12px/1 var(--en);letter-spacing:.24em;color:rgba(255,255,255,.55);padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.12)}
.plate dl{display:grid;gap:8px;margin:12px 0 6px}
.plate dl>div{display:flex;justify-content:space-between;gap:12px;font-size:14.5px}
.plate dt{color:rgba(255,255,255,.6)}
.plate dd{margin:0;font-weight:700;text-align:right}
.plate .tot{margin-top:6px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.18);align-items:baseline}
.plate .tot dd{font-size:34px;color:var(--yellow)}
.pl-note{font-size:12px;color:rgba(255,255,255,.5)}
.plate.bump{animation:bump .45s var(--ease-in)}
@keyframes bump{30%{transform:scale(.97)}70%{transform:scale(1.015)}}
.terms{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.6;color:var(--g2);cursor:pointer}
.terms input{flex:none;width:18px;height:18px;margin-top:2px;accent-color:var(--blue)}
.terms a{color:var(--blue);font-weight:700}
.terms.shake{animation:shake .45s var(--ease)}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.agreed{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--g3)}
.agreed .ic{width:16px;height:16px;color:var(--run);stroke-width:3}
.co-acc .st{display:none}
.co-acc[data-acc-state="checking"] .st-checking,.co-acc[data-acc-state="in"] .st-in,.co-acc[data-acc-state="out"] .st-out,.co-acc[data-acc-state="away"] .st-away{display:grid;gap:14px}
.st-checking{grid-auto-flow:column;justify-content:start;align-items:center;color:var(--g2)}
.st-checking .ic{width:20px;height:20px;animation:spin 1.6s linear infinite}
.st-in{grid-template-columns:auto 1fr;align-items:center;padding:16px;border-radius:16px 16px 16px 6px;background:rgba(22,185,122,.08)}
.st-in .ok{width:40px;height:40px;border-radius:50%;background:var(--run);color:#fff;display:grid;place-items:center}
.st-in .ok .ic{width:20px;height:20px;stroke-width:3}
.co-acc h3,.co-h3{font:800 19px/1.35 var(--cjk)}
.acc-btns{display:grid;gap:10px}
.co-foot{display:flex;justify-content:space-between;gap:10px;margin-top:6px}
.ic.flip{transform:rotate(180deg)}
.co-pay{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pay{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:14px 14px 14px 5px;background:var(--mist);font:700 15px/1 var(--cjk);text-align:left;box-shadow:inset 0 0 0 2px transparent}
.pay[aria-checked="true"]{background:#fff;box-shadow:inset 0 0 0 2px var(--blue)}
.pay small{margin-left:auto;font-size:12px;font-weight:600;color:var(--g3)}
.pay:disabled{opacity:.55;cursor:not-allowed}
.co-err{padding:12px 14px;border-radius:12px 12px 12px 4px;background:rgba(240,69,58,.08);color:#B4231A;font-size:14px}
.co-qr{text-align:center}
.co-qr .qr{width:220px;margin:0 auto 10px;padding:10px;border-radius:14px;box-shadow:var(--shadow-1)}
.co-qr p{font-size:13.5px;color:var(--g2)}
.co-done{display:grid;justify-items:center;text-align:center;gap:12px;padding:30px 0}
.done-rig{width:180px}
.co-done h3{font:400 40px/1.1 var(--disp)}
.co-done p{color:var(--g2)}

@media (max-width:1200px){.plans{grid-template-columns:repeat(2,minmax(0,1fr))}.plan.hot{transform:none}.plan.hot:hover{transform:translateY(-6px)}}
@media (max-width:860px){
  .pts{grid-template-columns:minmax(0,1fr);text-align:left;padding:24px}
  .pts-art{display:none}
  .pts-facts{flex-wrap:wrap}
  .how-steps{grid-template-columns:1fr 1fr}
  .how-steps li::after{display:none}
  .bb{grid-template-columns:auto 1fr}
  .bb .btn{grid-column:1/-1}
}
@media (max-width:720px){
  .pr-hero{padding-top:110px}
  .plans{grid-template-columns:minmax(0,1fr)}
  .pr-period button{padding:0 12px;font-size:14px}
  .co-mask{align-items:flex-end}
  .co{height:auto;max-height:92svh;border-radius:24px 24px 0 0;transform:translateY(40px)}
  .co-head{padding:22px 20px 16px}
  .co-body{padding:20px}
  .co-rig{width:70px;right:60px}
  .co-pay{grid-template-columns:minmax(0,1fr)}
}

/* ============================================================================
 *  boss.css —— 「让我来说服你的老板」
 * ==========================================================================*/
.bs-hero{padding-top:140px;overflow:hidden}
.bs-bg{position:absolute;inset:0;background:radial-gradient(900px 500px at 78% 30%,#E1E9FF,transparent 70%),radial-gradient(700px 400px at 10% 90%,#FFF6DD,transparent 70%);pointer-events:none}
.bs-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:center}
.bs-hero .h1{margin:24px 0 22px}
.bs-trust{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:26px;font-size:14.5px;color:var(--g2)}
.bs-trust li{display:inline-flex;align-items:center;gap:7px}
.bs-trust .ic{width:17px;height:17px;color:var(--blue)}
.bs-stage{position:relative;aspect-ratio:1/1;max-width:600px;margin-left:auto;width:100%}
.bs-pages{position:absolute;inset:4% 6% 16% 14%}
.bs-pages .pg{position:absolute;width:62%;height:auto;border-radius:8px;box-shadow:0 30px 60px -24px rgba(0,26,99,.45),0 0 0 1px rgba(12,20,36,.06);transition:transform .6s var(--ease-soft)}
.bs-pages .p1{left:22%;top:2%;transform:rotate(-3deg);z-index:3}
.bs-pages .p2{left:40%;top:8%;transform:rotate(7deg);z-index:2}
.bs-pages .p3{left:4%;top:12%;transform:rotate(-12deg);z-index:1}
.bs-stage:hover .p1{transform:rotate(-5deg) translateY(-10px)}
.bs-stage:hover .p2{transform:rotate(12deg) translateX(30px)}
.bs-stage:hover .p3{transform:rotate(-17deg) translateX(-30px)}
.bs-rig{position:absolute;left:-2%;bottom:0;width:44%;z-index:4;filter:drop-shadow(0 24px 30px rgba(0,26,99,.25))}
.bs-say{position:absolute;left:30%;bottom:27%;z-index:5;padding:12px 16px;background:#fff;border-radius:18px 18px 18px var(--sq);box-shadow:var(--shadow-2);font:700 15px/1.3 var(--cjk);white-space:nowrap;animation:floatY 3.4s var(--ease) infinite}
.bs-st{position:absolute;right:6%;top:4%;z-index:5;font-size:16px;padding:9px 15px}

/* 四件事 */
.four-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.fc{padding:32px;display:flex;flex-direction:column;min-width:0}
.fc-top{display:flex;align-items:center;gap:12px}
.fc-k{font:900 18px/1 var(--cjk);color:var(--blue)}
.fc-n{margin-left:auto;font-size:46px;line-height:1;color:rgba(0,44,150,.08)}
.fc h3{font:900 clamp(22px,2.2vw,28px)/1.3 var(--cjk);margin:22px 0 8px}
.fc-lead{color:var(--g2);font-size:16px}
.fc-vis{margin:22px 0 22px;padding:18px;border-radius:16px 16px 16px 6px;background:var(--mist);min-height:150px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.fc ul{display:grid;gap:12px;margin-top:auto}
.fc li{display:flex;gap:10px;font-size:15px;line-height:1.6}
.fc li .ic{flex:none;width:22px;height:22px;padding:3px;border-radius:7px 7px 7px 3px;background:var(--sky);color:var(--blue);stroke-width:3;margin-top:1px}
.fc-cost{background:var(--blue);color:#fff}
.fc-cost .fc-k{color:var(--yellow)}.fc-cost .fc-n{color:rgba(255,255,255,.1)}
.fc-cost .fc-lead{color:rgba(255,255,255,.78)}
.fc-cost .fc-vis{background:rgba(255,255,255,.07)}
.fc-cost li .ic{background:rgba(255,197,61,.2);color:var(--yellow)}
/* 四个小示意 */
.bv-time{width:100%;display:grid;gap:12px}
.bv-time .row{display:flex;align-items:center;gap:4px;font:700 12.5px/1 var(--cjk);min-width:0}
.bv-time .row i{min-width:0;flex-shrink:1;text-overflow:clip}
.bv-time .row>span{width:52px;flex:none;color:var(--g2)}
.bv-time i{display:grid;place-items:center;height:30px;width:var(--w);border-radius:7px 7px 7px 3px;background:var(--c);color:#fff;font:700 11.5px/1 var(--cjk);font-style:normal;white-space:nowrap;overflow:hidden;transform-origin:left;animation:grow .8s var(--ease-in) both}
.bv-time .row:not(.s) i{color:var(--g1)}
.bv-time .row.s i:nth-child(3){animation-delay:.1s}.bv-time .row.s i:nth-child(4){animation-delay:.2s}.bv-time .row.s i:nth-child(5){animation-delay:.3s}
.bv-time small{justify-self:end;font-size:11.5px;color:var(--g3)}
@keyframes grow{from{transform:scaleX(0)}}
.bv-team{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}
.bv-team .mem svg{width:58px;animation:floatY 3s var(--ease) infinite;animation-delay:calc(var(--i) * .25s)}
.bv-team .arrow .ic{width:26px;height:26px;color:var(--g3)}
.bv-team .same{display:flex;gap:6px}
.bv-team .same i{width:46px;height:30px;border-radius:5px;background:linear-gradient(180deg,var(--blue) 26%,#fff 26%);box-shadow:0 0 0 1px var(--g5),0 6px 12px -6px rgba(0,26,99,.4)}
.bv-team small{width:100%;text-align:center;font-size:12px;color:var(--g3)}
.bv-ba{position:relative;width:100%;max-width:380px;aspect-ratio:1280/800;border-radius:10px;overflow:hidden;box-shadow:0 10px 24px -12px rgba(12,20,36,.4)}
.bv-ba>div{position:absolute;inset:0}
.bv-ba svg{width:100%;height:100%}
.bv-ba .a{clip-path:inset(0 50% 0 0);animation:bvx 5s var(--ease) infinite alternate}
@keyframes bvx{from{clip-path:inset(0 72% 0 0)}to{clip-path:inset(0 28% 0 0)}}
.bv-ba span{position:absolute;left:8px;top:8px;font:700 11px/1 var(--cjk);padding:5px 8px;border-radius:7px 7px 7px 3px;background:rgba(0,0,0,.6);color:#fff}
.bv-ba span.r{left:auto;right:8px;background:var(--blue)}
.bv-cost{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.bv-cost .tag{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:6px;padding:14px 18px;border-radius:16px 16px 16px 5px;background:#fff;color:var(--ink);box-shadow:0 14px 30px -14px rgba(0,0,0,.5);transform:rotate(-3deg)}
.bv-cost .tag .ic{grid-row:span 2;width:30px;height:30px;color:var(--blue);align-self:center}
.bv-cost .tag b{font:800 26px/1 var(--en)}
.bv-cost .tag small{grid-column:2;font-size:12px;color:var(--g3)}
.bv-cost .tag.hot{background:var(--yellow);transform:rotate(4deg)}
.bv-cost .tag.hot .ic{color:var(--ink)}

/* 算一笔账 */
.roi::before{content:'';position:absolute;inset:0;background:radial-gradient(800px 500px at 85% 20%,rgba(47,107,255,.25),transparent 70%);pointer-events:none}
.roi-box{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:22px}
.roi-in{display:grid;gap:18px;padding:30px;border-radius:24px 24px 24px 8px;background:#fff;color:var(--ink)}
.rf{display:grid;gap:10px}
.rf-l{font:700 15px/1.3 var(--cjk)}
.rf-row{display:flex;align-items:center;gap:16px}
.rf input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--blue) var(--p,50%),var(--g5) var(--p,50%));outline-offset:6px}
.rf input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:9px 9px 9px 3px;background:var(--yellow);border:3px solid #fff;box-shadow:0 4px 10px -2px rgba(0,26,99,.45);cursor:grab;transition:transform .15s var(--ease-in)}
.rf input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15);cursor:grabbing}
.rf input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:8px 8px 8px 3px;background:var(--yellow);border:3px solid #fff;box-shadow:0 4px 10px -2px rgba(0,26,99,.45)}
.rf-v{display:flex;align-items:center;gap:6px;width:150px;height:44px;padding:0 12px;border-radius:12px 12px 12px 4px;background:var(--mist)}
.rf-v input::-webkit-inner-spin-button,.rf-v input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.rf-v input{-moz-appearance:textfield;width:100%;min-width:0;border:0;background:none;font:800 18px/1 var(--en);color:var(--ink);text-align:right;outline:none}
.rf-v i{font:600 12.5px/1 var(--cjk);font-style:normal;color:var(--g3);white-space:nowrap}
.seg{display:flex;flex-wrap:wrap;gap:6px;padding:5px;border-radius:14px 14px 14px 5px;background:var(--mist)}
.seg button{flex:1;min-height:40px;padding:0 12px;border-radius:10px 10px 10px 4px;font:700 14px/1 var(--cjk);color:var(--g2);white-space:nowrap;transition:all .2s}
.seg button[aria-checked="true"]{background:var(--blue);color:#fff;box-shadow:0 8px 16px -10px rgba(0,44,150,.8)}
.roi-out{position:relative;display:grid;gap:16px;align-content:start;padding:30px;border-radius:24px 24px 24px 8px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.ro-big small{display:block;font-size:14px;color:rgba(255,255,255,.65)}
.ro-big>b{display:block;margin:6px 0 4px;font-size:clamp(46px,5vw,64px);line-height:1;color:#fff}
.ro-big>b i{font:700 18px/1 var(--cjk);font-style:normal;margin-left:6px;color:rgba(255,255,255,.7)}
.ro-big>span{font-size:14px;color:rgba(255,255,255,.7)}
.ro-big.y>b{color:var(--yellow)}
.ro-bars{display:grid;gap:12px;padding:16px;border-radius:16px 16px 16px 5px;background:rgba(255,255,255,.05)}
.ro-bars .bar{display:grid;grid-template-columns:76px 1fr 96px;align-items:center;gap:12px;font-size:13.5px;color:rgba(255,255,255,.8)}
.ro-bars .bar i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--signal),#8DB0FF);transition:width .6s var(--ease-soft)}
.ro-bars .bar.save i{background:linear-gradient(90deg,#C78A00,var(--yellow))}
.ro-bars .bar b{text-align:right;font:800 15px/1 var(--en);color:#fff}
.ro-pay{font-size:17px}
.ro-pay b{color:var(--yellow);font-family:var(--en)}
.ro-rig{position:absolute;right:22px;top:22px;width:96px}

/* 生成说服材料 */
.mk{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.mk-form{display:grid;gap:18px;padding:30px}
.mk-form:hover{transform:none}
.mk-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tf{display:grid;gap:8px}
.tf>span{font:700 14.5px/1.3 var(--cjk)}
.tf input,.tf textarea{width:100%;padding:12px 14px;border:0;border-radius:12px 12px 12px 4px;background:var(--mist);font:500 16px/1.5 var(--ui);color:var(--ink);box-shadow:inset 0 0 0 1.5px transparent;transition:box-shadow .2s,background .2s;outline:none;resize:vertical}
.tf input:focus,.tf textarea:focus{background:#fff;box-shadow:inset 0 0 0 2px var(--blue)}
.ck{display:flex;align-items:center;gap:10px;font-size:15px;cursor:pointer}
.ck input{width:18px;height:18px;accent-color:var(--blue)}
.mk-side{position:sticky;top:96px;display:grid;gap:18px}
.mk-prev{position:relative;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-3)}
.mk-scale{transform:scale(var(--s,.6));transform-origin:top left;width:max-content}
.mk-badge{position:absolute;right:12px;top:12px;font:700 12px/1 var(--cjk);padding:6px 10px;border-radius:9px 9px 9px 3px;background:rgba(255,255,255,.92);color:var(--blue)}
.share{padding:22px;border-radius:22px 22px 22px 8px;background:#fff;box-shadow:var(--shadow-2);display:grid;gap:16px}
.share.pop{animation:sharepop .6s var(--ease-in)}
@keyframes sharepop{from{opacity:0;transform:translateY(20px) scale(.97)}}
.share-hd{display:flex;align-items:center;gap:10px}
.share-hd svg{width:52px}
.share-hd b{font:800 18px/1.3 var(--cjk)}
.share-link{display:flex;gap:8px}
.share-link input{flex:1;min-width:0;padding:0 12px;height:40px;border:0;border-radius:10px 10px 10px 4px;background:var(--mist);font:500 13px/1 var(--ui);color:var(--g2)}
.share-row{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:start}
.share-qr{padding:8px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--g5)}
.share-qr svg{width:100%;height:auto;display:block}
.share-acts{display:grid;gap:10px}

/* 转发宣传片 */
.film-share{background:linear-gradient(180deg,#fff,var(--mist))}
.fs{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start}
.fs-player .foot-note{margin-top:12px}
.fs-kit{padding:24px;border-radius:24px 24px 24px 8px;background:#fff;box-shadow:var(--shadow-2);display:grid;gap:16px}
.fs-kit .share-row{grid-template-columns:150px minmax(0,1fr)}
.fs-dl{height:auto;min-height:56px;padding:8px 16px;justify-content:flex-start;gap:12px}
.fs-dl span{display:grid;gap:4px;text-align:left}
.fs-dl small{font:600 12px/1 var(--ui);color:var(--g3)}
.play-dot.sm{width:22px;height:22px;margin-left:0}
.play-dot.sm .ic{width:10px;height:10px}
.share-acts>.link{font-size:14.5px}

/* 这个软件是谁做的 */
.ab{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.ab-photo img{width:100%;height:auto;border-radius:22px 22px 22px 8px;box-shadow:var(--shadow-3)}
.ab-photo figcaption{margin-top:10px;font-size:13px;color:var(--g3)}
.ab-copy{display:grid;gap:14px;font-size:16px;line-height:1.8;color:var(--g1)}
.ab-belief{font:400 clamp(24px,2.4vw,32px)/1.3 var(--disp);color:var(--blue)}
.ab-copy .link{margin-top:4px}
.ab-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:clamp(28px,4vw,48px)}
.ab-stats>div{padding:20px 18px;border-radius:18px 18px 18px 6px;background:var(--mist)}
.ab-stats b{display:block;font-size:clamp(26px,2.6vw,36px);line-height:1;color:var(--blue)}
.ab-stats small{display:block;margin-top:8px;font-size:13.5px;line-height:1.5;color:var(--g2)}

@media (max-width:1080px){
  .bs-in,.roi-box,.mk,.fs,.ab{grid-template-columns:minmax(0,1fr)}
  .ab-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bs-stage{margin:0 auto;max-width:520px}
  .mk-side{position:static}
}
@media (max-width:860px){.four-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:720px){
  .bs-hero{padding-top:100px}
  .fc{padding:22px}
  .roi-in,.roi-out,.mk-form{padding:20px}
  .rf-v{width:124px}
  .mk-2{grid-template-columns:minmax(0,1fr)}
  .ro-rig{width:70px;right:14px;top:14px}
  .share-row,.fs-kit .share-row{grid-template-columns:minmax(0,1fr)}
  .ab-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fs-kit{padding:18px}
  .share-qr{max-width:200px}
  .bs-say{left:26%;font-size:13px}
}

/* ============================================================================
 *  letter.css —— 「给老板的一封信」A4 页（210×297mm）；网页里竖排 + 手机缩放，打印正好一页一张
 *  也给说服老板页的封面实时预览用（.lp-cover.is-preview）。
 * ==========================================================================*/
.pg-letter{background:#DDE3EE}
.lt-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:14px;height:62px;padding:0 20px;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.lt-logo{height:26px;width:auto;color:var(--blue)}
.lt-title{font:700 14px/1 var(--cjk);color:var(--g2);padding-left:14px;border-left:1px solid var(--g5)}
.lt-acts{margin-left:auto;display:flex;gap:8px}
.lpages{display:flex;flex-direction:column;align-items:center;gap:28px;padding:32px 16px 64px;zoom:var(--lz,1)}
.lp{position:relative;width:210mm;height:297mm;flex:none;overflow:hidden;background:#fff;color:var(--ink);padding:20mm 18mm 16mm;box-shadow:0 30px 60px -30px rgba(12,20,36,.45),0 0 0 1px rgba(12,20,36,.04);display:flex;flex-direction:column}
.lp-foot{position:absolute;left:18mm;right:18mm;bottom:10mm;display:flex;justify-content:space-between;align-items:center;gap:16px;font:500 9.5pt/1.3 var(--ui);color:var(--g3)}
.lp-foot .lf-logo{height:16px;width:auto;color:var(--blue)}
.lp-foot.w{color:rgba(255,255,255,.55)}
.lp-head{margin-bottom:9mm}
.lh-no{display:inline-block;font:800 12pt/1 var(--en);color:var(--blue)}
.lh-no::after{content:'';display:inline-block;width:18px;height:3px;border-radius:2px;background:var(--yellow);margin-left:8px;vertical-align:middle;transform:translateY(-2px)}
.lp-head h2{font:400 30pt/1.15 var(--disp);margin:4mm 0 3mm;letter-spacing:.01em}
.lp-head p{font-size:11.5pt;color:var(--g2)}
.lp-win{border-radius:10px;overflow:hidden;box-shadow:0 14px 30px -16px rgba(12,20,36,.45),0 0 0 1px rgba(12,20,36,.06);aspect-ratio:16/9;background:var(--mist)}
.lp-win img{width:100%;height:100%;object-fit:cover;object-position:top left}

/* 封面 */
.lp-cover{background:var(--blue);color:#fff;padding:18mm 18mm 16mm}
.lp-bg{position:absolute;inset:0;overflow:hidden}
.lp-bg::before{content:'';position:absolute;inset:0;background:radial-gradient(600px 500px at 80% 70%,#2357DC,transparent 65%)}
.lp-bg .sflow{-webkit-mask-image:linear-gradient(180deg,transparent 10%,#000 70%);mask-image:linear-gradient(180deg,transparent 10%,#000 70%)}
.lc-top{position:relative;display:flex;align-items:center;justify-content:space-between}
.lc-logo{height:30px;width:auto}
.lc-chip{font:700 10.5pt/1 var(--cjk);padding:8px 12px;border-radius:10px 10px 10px 4px;background:var(--yellow);color:var(--ink)}
.lc-main{position:relative;margin-top:44mm}
.lc-hi{font:400 30pt/1.1 var(--disp);color:var(--yellow)}
.lc-title{font:400 58pt/1.06 var(--disp);margin:5mm 0 8mm;letter-spacing:.01em}
.lc-sub{font-size:13pt;color:rgba(255,255,255,.85)}
.lc-sub b{color:#fff}
.lc-from{position:relative;display:flex;align-items:center;gap:12px;margin-top:16mm}
.lc-dash{width:30px;height:3px;border-radius:2px;background:var(--yellow)}
.lc-from b{display:block;font:700 15pt/1.3 var(--cjk)}
.lc-from b:empty{display:none}
.lc-from small{display:block;font-size:10.5pt;color:rgba(255,255,255,.7)}
.lc-from small [data-l="co"]:not(:empty)::after{content:' · '}
.lc-rig{position:absolute;right:14mm;bottom:28mm;width:72mm;filter:drop-shadow(0 20px 30px rgba(0,0,0,.25))}

/* 第 2 页：这是什么软件 · 一句话 · 能干什么 */
.l2-is{font:700 16.5pt/1.5 var(--cjk);color:var(--ink)}
.l2-is b{color:var(--blue);font-weight:900}
.l2-one{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5mm;margin:7mm 0 12mm;padding:5.5mm 6mm;border-radius:16px 16px 16px 5px;background:var(--blue);color:#fff;box-shadow:0 18px 34px -22px rgba(0,44,150,.9)}
.l2-one .k{font:800 10.5pt/1 var(--cjk);padding:7px 11px;border-radius:9px 9px 9px 3px;background:var(--yellow);color:var(--ink);white-space:nowrap}
.l2-one p{font:400 16pt/1.42 var(--disp);letter-spacing:.01em}
.l2-one:has(.l2-film){grid-template-columns:auto 1fr auto}
.l2-film{display:grid;grid-template-columns:19mm auto;align-items:center;gap:3mm;padding-left:5mm;border-left:1px solid rgba(255,255,255,.2)}
.l2-fqr{padding:1.2mm;border-radius:6px;background:#fff}
.l2-film small{font:700 9pt/1.4 var(--cjk);color:rgba(255,255,255,.85)}
.l-sub{display:flex;align-items:baseline;gap:10px;font:900 13pt/1.2 var(--cjk);margin-bottom:4.5mm}
.l-sub small{font:500 9pt/1 var(--ui);color:var(--g3)}
.l2-caps{display:grid;grid-template-columns:repeat(3,1fr);gap:9mm 4.5mm}
.l2-caps .lp-win{border-radius:8px}
.l2-caps figcaption{margin-top:2.6mm}
.l2-caps figcaption b{display:block;font:800 10.5pt/1.3 var(--cjk)}
.l2-caps figcaption small{display:block;margin-top:1.2mm;font-size:8.8pt;line-height:1.5;color:var(--g2)}
.l2-brands{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:12mm;padding-top:6mm;border-top:1px solid var(--g5);font-size:10.5pt}
.l2-brands b{font:700 10.5pt/1 var(--cjk)}
.l2-brands .sep{width:1px;height:14px;background:var(--g5)}
.l2-brands small{color:var(--g3)}

/* 第 3 页 */
.l3-grid{display:grid;grid-template-columns:1fr 1fr;gap:5mm;flex:1;max-height:200mm}
.l3-c{padding:6mm;border-radius:16px 16px 16px 5px;background:var(--mist);display:flex;flex-direction:column}
.l3-h{display:flex;align-items:center;gap:8px}
.l3-i{width:30px;height:30px;border-radius:9px 9px 9px 3px;display:grid;place-items:center;background:var(--blue);color:#fff}
.l3-i .ic{width:17px;height:17px}
.l3-k{font:800 12pt/1 var(--cjk);color:var(--blue)}
.l3-n{margin-left:auto;font:800 22pt/1 var(--en);color:rgba(0,44,150,.12)}
.l3-c h3{font:900 15pt/1.3 var(--cjk);margin:5mm 0 2mm}
.l3-lead{font-size:10.5pt;line-height:1.65;color:var(--g2);margin-bottom:4mm}
.l3-c ul{display:grid;gap:2.6mm;margin-top:auto}
.l3-c li{display:flex;gap:6px;font-size:10pt;line-height:1.55;color:var(--g1)}
.l3-c li .ic{flex:none;width:15px;height:15px;margin-top:2px;color:var(--run);stroke-width:3}
.l3-cost{background:var(--blue);color:#fff}
.l3-cost .l3-i{background:var(--yellow);color:var(--ink)}
.l3-cost .l3-k{color:var(--yellow)}.l3-cost .l3-n{color:rgba(255,255,255,.12)}
.l3-cost .l3-lead,.l3-cost li{color:rgba(255,255,255,.85)}
.l3-cost li .ic{color:var(--yellow)}

/* 第 4 页：算账 */
.lp-dark{background:var(--night);color:#fff}
.lp-dark .lh-no{color:var(--yellow)}
.lp-dark .lp-head p{color:rgba(255,255,255,.65)}
.lp-dark .lp-foot{color:rgba(255,255,255,.45)}
.lp-dark .lp-foot .lf-logo{color:#fff}
.l4-in{display:grid;grid-template-columns:repeat(5,1fr);gap:3mm}
.l4-in>div{padding:4mm;border-radius:12px 12px 12px 4px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.l4-in small{display:block;font-size:9pt;color:rgba(255,255,255,.6)}
.l4-in b{display:block;margin-top:2mm;font:800 17pt/1 var(--en)}
.l4-in i{font:500 8.5pt/1 var(--cjk);font-style:normal;color:rgba(255,255,255,.6);margin-left:3px}
.l4-big{display:grid;grid-template-columns:1fr 1fr;gap:5mm;margin:9mm 0 7mm}
.l4-big>div{padding:7mm;border-radius:18px 18px 18px 6px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.l4-big small{display:block;font-size:10.5pt;color:rgba(255,255,255,.65)}
.l4-big b{display:block;margin:3mm 0 2mm;font-size:38pt;line-height:1}
.l4-big b i{font:600 12pt/1 var(--cjk);font-style:normal;margin-left:6px;color:rgba(255,255,255,.7)}
.l4-big b.y{color:var(--yellow)}
.l4-big>div>span{font-size:10.5pt;color:rgba(255,255,255,.7)}
.l4-bars{display:grid;gap:4mm;padding:6mm;border-radius:16px 16px 16px 5px;background:rgba(255,255,255,.04)}
.l4-bars .bar{display:grid;grid-template-columns:28mm 1fr 34mm;align-items:center;gap:4mm;font-size:10.5pt}
.l4-bars .bar i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--signal),#8DB0FF);width:var(--w)}
.l4-bars .bar.save i{background:linear-gradient(90deg,#C78A00,var(--yellow))}
.l4-bars .bar b{text-align:right;font:800 13pt/1 var(--en)}
.l4-pay{margin-top:8mm;font-size:14pt;line-height:1.6}
.l4-pay b{color:var(--yellow)}
.l4-extra{margin-top:7mm;padding:6mm;border-radius:16px 16px 16px 5px;background:rgba(255,197,61,.08);box-shadow:inset 0 0 0 1px rgba(255,197,61,.25)}
.l4-extra>b{display:block;font:800 12pt/1.3 var(--cjk);color:var(--yellow);margin-bottom:4mm}
.l4-extra>div{display:grid;grid-template-columns:repeat(3,1fr);gap:4mm}
.l4-extra .x{display:grid;gap:2mm}
.l4-extra .x .ic{width:22px;height:22px;color:var(--yellow)}
.l4-extra .x b{font:700 11pt/1.35 var(--cjk)}
.l4-extra .x small{font-size:9.5pt;line-height:1.55;color:rgba(255,255,255,.7)}
.l4-note{margin-top:5mm;font-size:9.5pt;line-height:1.7;color:rgba(255,255,255,.55)}

/* 第 5 页：怎么开始（在线开通；价格只列不推荐） */
.l5-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:4mm}
.l5-steps li{position:relative;padding:5mm 5mm 5.5mm;border-radius:14px 14px 14px 5px;background:var(--mist)}
.l5-steps .n{display:grid;place-items:center;width:28px;height:28px;border-radius:9px 9px 9px 3px;background:var(--blue);color:#fff;font:800 13pt/1 var(--en)}
.l5-steps li:first-child .n{background:var(--yellow);color:var(--ink)}
.l5-steps b{display:block;margin:4mm 0 1.5mm;font:900 12.5pt/1.3 var(--cjk)}
.l5-steps small{display:block;font-size:9.5pt;line-height:1.6;color:var(--g2)}
.l5-ask{display:grid;grid-template-columns:36mm 1fr;gap:6mm;align-items:center;margin:7mm 0;padding:6mm 7mm;border-radius:18px 18px 18px 6px;background:var(--sky)}
.l5-rig{width:100%}
.l5-ask small{font:800 10pt/1 var(--cjk);color:var(--blue);letter-spacing:.06em}
.l5-msg{font:400 17pt/1.45 var(--disp);margin-top:3mm;color:var(--ink);white-space:pre-line}
.l5-sign{display:none;margin-top:3mm;font:700 11pt/1 var(--cjk);color:var(--g2)}
.has-from .l5-sign{display:block}
.l5-price{padding:5mm 6mm;border-radius:14px 14px 14px 5px;box-shadow:inset 0 0 0 1.5px var(--g5)}
.l5-ph{display:flex;align-items:baseline;gap:10px;font:900 12pt/1.2 var(--cjk);margin-bottom:4mm}
.l5-ph small{font:500 9pt/1 var(--ui);color:var(--g3)}
.l5-pp{display:grid;grid-template-columns:repeat(2,1fr);gap:5mm}
.l5-pp>div{display:grid;gap:1.6mm;align-content:start}
.l5-pp>div+div{padding-left:5mm;border-left:1px solid var(--g5)}
.l5-pp b{font:800 10.5pt/1.2 var(--cjk);color:var(--g1)}
.l5-pp .num{font-size:19pt;line-height:1.1;color:var(--ink)}
.l5-pp .num i{font:500 9.5pt/1 var(--cjk);font-style:normal;color:var(--g3)}
.l5-pp small{font-size:8.8pt;line-height:1.5;color:var(--g2)}
.l5-pn{margin-top:4mm;font-size:9pt;color:var(--g3)}
.l5-try{display:grid;grid-template-columns:30mm 1fr;gap:6mm;align-items:center;margin-top:6mm;padding:5mm 6mm;border-radius:16px 16px 16px 5px;background:var(--blue);color:#fff}
.l5-qr{padding:1.5mm;border-radius:8px;background:#fff}
.l5-try b{font:800 15pt/1.2 var(--cjk)}
.l5-try p{font-size:10pt;margin-top:2mm;color:rgba(255,255,255,.88)}
.l5-try .muted{color:rgba(255,255,255,.62)}

/* 第 6 页：这个软件是谁做的（公司介绍 + 合影） */
.l6-photo img{width:100%;height:auto;display:block;border-radius:14px 14px 14px 5px;box-shadow:0 18px 36px -22px rgba(12,20,36,.55)}
.l6-photo figcaption{margin-top:2.5mm;font-size:9pt;color:var(--g3)}
.l6-nophoto{display:grid;place-items:center;aspect-ratio:2560/925;border-radius:14px 14px 14px 5px;background:var(--mist);color:var(--g3);font-size:11pt;outline:1.5px dashed var(--g4);outline-offset:-1.5px}
.l6-belief{margin:7mm 0 4mm;font:400 17pt/1.35 var(--disp);color:var(--blue)}
.l6-text{display:grid;gap:2.6mm}
.l6-text p{font-size:10.5pt;line-height:1.8;color:var(--g1)}
.l6-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:3mm;margin-top:6mm}
.l6-stats>div{padding:4mm 3.5mm;border-radius:12px 12px 12px 4px;background:var(--mist)}
.l6-stats b{display:block;font-size:16pt;line-height:1;color:var(--blue)}
.l6-stats small{display:block;margin-top:2mm;font-size:8.5pt;line-height:1.45;color:var(--g2)}
.l6-contact{display:flex;flex-wrap:wrap;gap:3mm 8mm;margin-top:6mm;font:600 10pt/1.3 var(--ui);color:var(--g1)}
.l6-contact span{display:inline-flex;align-items:center;gap:6px}
.l6-contact .ic{width:15px;height:15px;color:var(--blue)}
.lp-about .lp-foot{font-size:8.5pt}

/* 说服老板页里的封面预览：缩到卡片里 */
.lp-cover.is-preview{transform-origin:top left}

@media (max-width:840px){.lt-title{display:none}.lt-acts .btn.ghost:nth-child(3){display:none}}
@media (max-width:480px){.lt-long{display:none}.lt-bar{gap:10px;padding:0 12px}.lt-acts{gap:6px}.lt-acts .btn.sm{padding:0 12px}}
@media print{
  @page{size:A4;margin:0}
  html,body{background:#fff!important}
  .lt-bar{display:none!important}
  .lpages{display:block;padding:0;zoom:1!important;gap:0}
  .lp{box-shadow:none;margin:0;break-after:page;page-break-after:always}
  .lp:last-child{break-after:auto;page-break-after:auto}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .sflow .sf-bars,.rig *{animation:none!important}
}

/* 角色表情（brand.mjs 生成） */
.rig[data-h="default"] .rig-h [data-e="default"],.rig[data-m="default"] .rig-m [data-e="default"]{opacity:1}
.rig[data-h="blink"] .rig-h [data-e="blink"],.rig[data-m="blink"] .rig-m [data-e="blink"]{opacity:1}
.rig[data-h="talk"] .rig-h [data-e="talk"],.rig[data-m="talk"] .rig-m [data-e="talk"]{opacity:1}
.rig[data-h="think"] .rig-h [data-e="think"],.rig[data-m="think"] .rig-m [data-e="think"]{opacity:1}
.rig[data-h="done"] .rig-h [data-e="done"],.rig[data-m="done"] .rig-m [data-e="done"]{opacity:1}
.rig[data-h="wow"] .rig-h [data-e="wow"],.rig[data-m="wow"] .rig-m [data-e="wow"]{opacity:1}
.rig[data-h="alarm"] .rig-h [data-e="alarm"],.rig[data-m="alarm"] .rig-m [data-e="alarm"]{opacity:1}
.rig[data-h="sleep"] .rig-h [data-e="sleep"],.rig[data-m="sleep"] .rig-m [data-e="sleep"]{opacity:1}
.rig[data-h="look"] .rig-h [data-e="look"],.rig[data-m="look"] .rig-m [data-e="look"]{opacity:1}
.rig[data-h="wink"] .rig-h [data-e="wink"],.rig[data-m="wink"] .rig-m [data-e="wink"]{opacity:1}
.rig[data-h="confused"] .rig-h [data-e="confused"],.rig[data-m="confused"] .rig-m [data-e="confused"]{opacity:1}
.rig[data-h="proud"] .rig-h [data-e="proud"],.rig[data-m="proud"] .rig-m [data-e="proud"]{opacity:1}
.rig[data-h="typing"] .rig-h [data-e="typing"],.rig[data-m="typing"] .rig-m [data-e="typing"]{opacity:1}