:root{
  --bg:#FBFAF7;--paper:#FFFFFF;--ink:#111110;--ink2:#3B3A36;--muted:#77756E;--line:#E7E4DC;--line2:#D8D4CA;
  --accent:#B1382A;--accent-ink:#FFFFFF;--sel:#F3DED9;
  /* 2026-09-25 舒帅「字体参考苹果风格」:苹果设备上直接用系统 SF Pro / 苹方(系统字体,不打包、合规),
     其它平台回落 Inter(带光学尺寸轴,形态最接近 SF)。变量名沿用 --serif 只为不改几十处引用,实际已是无衬线。 */
  --serif:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue","Inter","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","Inter","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --zh-serif:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei",sans-serif;
  --zh-sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei",sans-serif;
  --w:1180px;--read:680px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#121211;--paper:#181817;--ink:#F2F0EA;--ink2:#CFCCC3;--muted:#8E8B83;--line:#2A2926;--line2:#3A3834;
  --accent:#E0705F;--accent-ink:#121211;--sel:#4A2721;}}
:root[data-theme="dark"]{--bg:#121211;--paper:#181817;--ink:#F2F0EA;--ink2:#CFCCC3;--muted:#8E8B83;--line:#2A2926;--line2:#3A3834;--accent:#E0705F;--accent-ink:#121211;--sel:#4A2721}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans);min-height:100vh;display:flex;flex-direction:column}
::selection{background:var(--sel)}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--w);margin:0 auto;padding:0 28px;width:100%}
main{flex:1}

/* 页头 */
.top{border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.mark{display:flex;align-items:baseline;gap:10px}
.mark b{font:600 19px/1 var(--sans);letter-spacing:.24em}
.mark i{font:italic 400 17px/1 var(--serif);color:var(--muted);letter-spacing:0}
.seal{width:9px;height:9px;background:var(--accent);display:inline-block;transform:translateY(-1px)}
.nav{display:flex;align-items:center;gap:26px;font-size:14px;color:var(--ink2)}
.nav a:hover{color:var(--ink)}
.nav .lang{border:1px solid var(--line2);padding:5px 11px;border-radius:999px;font-size:13px}
.nav .lang:hover{border-color:var(--ink)}

/* 首页刊头 */
.hero{padding:88px 0 56px;border-bottom:1px solid var(--line)}
.kicker{font:600 11.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.hero h1{font:400 clamp(40px,6.2vw,76px)/1.04 var(--serif);letter-spacing:-.022em;margin:22px 0 22px;max-width:15ch}
.hero p{font:400 19px/1.55 var(--serif);color:var(--ink2);max-width:36em}
.date-line{margin-top:34px;font-size:13px;color:var(--muted);letter-spacing:.02em}

/* 列表 */
.sec-h{display:flex;justify-content:space-between;align-items:baseline;padding:40px 0 14px;border-bottom:1px solid var(--ink)}
.sec-h h2{font:600 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.sec-h a{font-size:13px;color:var(--muted)}
.lead-story{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;padding:40px 0 44px;border-bottom:1px solid var(--line)}
.lead-story .ph{aspect-ratio:3/2;overflow:hidden;background:var(--line)}
.lead-story .ph img{width:100%;height:100%;object-fit:cover}
.lead-story h3{font:400 clamp(28px,3.4vw,40px)/1.12 var(--serif);letter-spacing:-.015em;margin:14px 0 16px}
.lead-story p{font:400 18px/1.55 var(--serif);color:var(--ink2)}
.meta{font-size:12.5px;color:var(--muted);letter-spacing:.02em}
.meta .dot{margin:0 8px;opacity:.6}
.list{display:grid;grid-template-columns:repeat(3,1fr);column-gap:40px}
.item{padding:30px 0 32px;border-bottom:1px solid var(--line)}
.item h3{font:400 23px/1.22 var(--serif);letter-spacing:-.01em;margin:10px 0 10px}
.item p{font-size:15px;line-height:1.6;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
a.story:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.empty{padding:80px 0;font:italic 400 22px/1.4 var(--serif);color:var(--muted)}
.pager{display:flex;justify-content:space-between;padding:34px 0 10px;font-size:14px}
.pager a{border-bottom:1px solid var(--ink)}

/* 文章 */
.art{padding:64px 0 24px}
.art header{max-width:820px;margin:0 auto 40px;text-align:center}
.art h1{font:400 clamp(34px,4.8vw,58px)/1.08 var(--serif);letter-spacing:-.02em;margin:20px 0 22px}
.art .standfirst{font:400 21px/1.5 var(--serif);color:var(--ink2);max-width:38em;margin:0 auto}
.art .meta{margin-top:26px}
.art .cover{max-width:980px;margin:0 auto 46px}
.art .cover img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--line)}
.prose{max-width:var(--read);margin:0 auto;font:400 20px/1.72 var(--serif);color:var(--ink)}
.prose p{margin:0 0 1.15em}
.prose h2{font:600 13px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin:2.4em 0 1em;color:var(--ink)}
.prose h3{font:600 20px/1.35 var(--serif);margin:1.8em 0 .7em}
.prose strong{font-weight:600}
.prose a{border-bottom:1px solid var(--accent)}
.prose ul,.prose ol{margin:0 0 1.2em 1.2em}
.prose li{margin:.35em 0;padding-left:.2em}
.prose blockquote{margin:1.6em 0;padding:0 0 0 22px;border-left:2px solid var(--accent);font-style:italic;color:var(--ink2)}
.prose figure{margin:2em -40px}
.prose figure img{width:100%}
.prose > p:first-of-type::first-letter{float:left;font:400 4.1em/.82 var(--serif);padding:.06em .1em 0 0;color:var(--accent)}
.tags{max-width:var(--read);margin:36px auto 0;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.tags span{display:inline-block;margin:0 14px 6px 0}
.other{max-width:var(--read);margin:18px auto 0;font-size:14px}
.other a{border-bottom:1px solid var(--line2)}
.aprod{max-width:var(--read);margin:56px auto 0;display:grid;gap:14px}
.aprod .k{font:600 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ap{display:grid;gap:8px;padding:26px 26px 22px;border:1px solid var(--line2);border-left:4px solid var(--ac);border-radius:14px;background:var(--paper);transition:border-color .3s,transform .4s}
.ap:hover{transform:translateY(-2px);border-color:var(--ac)}
.ap .c{font:600 12px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ac)}
.ap b{font:600 22px/1.2 var(--serif);letter-spacing:-.01em}
.ap .l{font-size:15px;line-height:1.55;color:var(--ink2)}
.ap .go{font:500 14px/1 var(--sans);margin-top:4px}
.cta{max-width:var(--read);margin:56px auto 0;padding:34px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);display:flex;gap:28px;align-items:center;justify-content:space-between}
.cta h4{font:400 24px/1.25 var(--serif);margin-bottom:6px}
.cta p{font-size:15px;color:var(--ink2)}
.btn{display:inline-block;background:var(--ink);color:var(--bg);padding:13px 22px;font:500 14px/1 var(--sans);letter-spacing:.02em;white-space:nowrap;border:0;cursor:pointer;border-radius:0}
.btn:hover{background:var(--accent);color:var(--accent-ink)}
.more{padding:56px 0 20px}
.more .list{grid-template-columns:repeat(4,1fr)}
.more .item h3{font-size:19px}

/* 关于 / 联系 */
.page{max-width:var(--read);margin:0 auto;padding:72px 0 40px}
.page h1{font:400 clamp(36px,5vw,56px)/1.08 var(--serif);letter-spacing:-.02em;margin:18px 0 30px}
.page .lede{font:400 23px/1.5 var(--serif);color:var(--ink);margin-bottom:1.2em}
.page p{font:400 19px/1.7 var(--serif);color:var(--ink2);margin-bottom:1.1em}
.page h2{font:600 12.5px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;margin:2.4em 0 .9em}
form.contact{margin-top:34px;display:grid;gap:22px}
form.contact label{display:block;font:500 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
form.contact input,form.contact textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line2);padding:8px 0 10px;font:400 18px/1.5 var(--serif);color:var(--ink);border-radius:0;outline:none}
form.contact input:focus,form.contact textarea:focus{border-bottom-color:var(--ink)}
form.contact textarea{min-height:120px;resize:vertical}
form.contact .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fmsg{font-size:15px;min-height:1.5em;color:var(--ink2)}
.fmsg.err{color:var(--accent)}
.direct{margin-top:46px;border-top:1px solid var(--line);padding-top:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;font-size:15px}
.direct dt{font:500 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.direct a{border-bottom:1px solid var(--line2)}

/* 页脚 */
.foot{margin-top:80px;border-top:1px solid var(--ink)}
.foot .wrap{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding-top:28px;padding-bottom:40px;font-size:13px;color:var(--muted)}
.foot .mark b{font-size:15px}
.foot .fl{margin-top:10px;font:italic 400 16px/1.4 var(--serif)}
.foot nav{display:flex;gap:22px;flex-wrap:wrap}
.foot nav a:hover{color:var(--ink)}

/* 中文排版 */
:lang(zh) .hero h1,:lang(zh) .lead-story h3,:lang(zh) .item h3,:lang(zh) .art h1,:lang(zh) .page h1,:lang(zh) .cta h4{font-family:var(--zh-serif);font-weight:600;letter-spacing:0}
:lang(zh) .hero h1{font-size:clamp(34px,5.2vw,64px);line-height:1.18;max-width:none}
:lang(zh) .hero p,:lang(zh) .lead-story p,:lang(zh) .art .standfirst,:lang(zh) .page .lede,:lang(zh) .page p{font-family:var(--zh-sans);font-size:17px;line-height:1.85}
:lang(zh) .art .standfirst,:lang(zh) .page .lede{font-size:19px}
:lang(zh) .item h3{font-size:21px;line-height:1.4}
:lang(zh) .lead-story h3{line-height:1.3}
:lang(zh) .art h1{line-height:1.25}
:lang(zh) .prose{font:400 18px/1.95 var(--zh-sans);letter-spacing:.01em}
:lang(zh) .prose h2{font:600 22px/1.4 var(--zh-serif);letter-spacing:0;text-transform:none}
:lang(zh) .prose > p:first-of-type::first-letter{float:none;font:inherit;padding:0;color:inherit}
:lang(zh) form.contact input,:lang(zh) form.contact textarea{font-family:var(--zh-sans);font-size:17px}
:lang(zh) .direct,:lang(zh) .cta p{font-family:var(--zh-sans)}

@media (max-width:980px){
  .list{grid-template-columns:repeat(2,1fr)}
  .more .list{grid-template-columns:repeat(2,1fr)}
  .lead-story{grid-template-columns:1fr;gap:26px}
  .prose figure{margin:2em 0}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .top .wrap{height:58px}
  .nav{gap:16px;font-size:13px}
  .nav .hide-s{display:none}
  .hero{padding:52px 0 36px}
  .hero p{font-size:17px}
  .list,.more .list{grid-template-columns:1fr}
  .item h3{font-size:21px}
  .art{padding:40px 0 16px}
  .art .standfirst{font-size:18px}
  .prose{font-size:18px}
  :lang(zh) .prose{font-size:17px}
  .cta{flex-direction:column;align-items:flex-start}
  .direct{grid-template-columns:1fr}
  .foot .wrap{flex-direction:column}
}

/* ══ 全站页头 / 页脚 / 首页(home.py v2)══════════════════════════════════ */
:root{--seal:#B1382A;--night:#0E0E0D;--night2:#141413;--paper:#F6F4EF;--nink:#F2EFE8;--nmut:#98948B;--nline:rgba(242,239,232,.12);--pline:rgba(17,17,16,.12);--ease:cubic-bezier(.2,.7,.1,1)}
body{padding-top:0}
.top{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.15);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line);transition:background .35s var(--ease),border-color .35s,color .35s}
.top .tw{display:flex;align-items:center;height:72px;gap:40px}
.mark{display:flex;align-items:center;gap:11px;flex:none}
.mark .seal{width:10px;height:10px;background:var(--seal);transform:none}
/* 平台 logo(全家族官网同一只蜜蜂,2026-09-25 舒帅「红点换成平台 logo」):原图白底圆徽,裁成圆形即去掉白角 */
.mark .logo{width:26px;height:26px;border-radius:50%;display:block;flex:none}
.mark b{font:600 17px/1 var(--sans);letter-spacing:.26em}
.mark b i{font-style:normal;color:inherit;letter-spacing:inherit}
.mark .cn{font:400 12.5px/1 var(--zh-sans);letter-spacing:.28em;color:var(--muted);padding-left:12px;border-left:1px solid var(--line2)}
.top .nav{display:flex;align-items:center;gap:30px;font:400 14px/1 var(--sans);color:var(--ink2);flex:1}
.top .nav a,.ddb{position:relative;padding:8px 0;color:inherit}
.top .nav a:after,.ddb:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.top .nav a:hover:after,.ddb:hover:after,.ddb[aria-expanded=true]:after{transform:scaleX(1)}
.ddb{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;position:relative;padding:8px 0}
.ddb .ch{width:13px;height:13px;transition:transform .3s var(--ease)}
.ddb[aria-expanded=true] .ch{transform:rotate(180deg)}
.nr{display:flex;align-items:center;gap:14px;flex:none}
.nr .lang{font:500 12.5px/1 var(--sans);padding:8px 12px;border:1px solid var(--line2);border-radius:999px;color:var(--ink2)}
.nr .lang:hover{border-color:var(--ink)}
.cta-s{display:inline-flex;align-items:center;gap:8px;font:500 13.5px/1 var(--sans);padding:11px 18px;border-radius:999px;background:var(--ink);color:var(--bg)}
.cta-s .ar{width:14px;height:14px;transition:transform .35s var(--ease)}
.cta-s:hover .ar,.b1:hover .ar,.b2:hover .ar,.lk:hover .ar,a.pc:hover .ar,.ddm:hover .ar{transform:translateX(4px)}
.mb{all:unset;cursor:pointer;display:none;width:40px;height:40px;position:relative}
.mb i{position:absolute;left:10px;right:10px;height:1.5px;background:currentColor;transition:transform .35s var(--ease),top .35s var(--ease)}
.mb i:first-child{top:15px}.mb i:last-child{top:24px}
.mo .mb i:first-child{top:19.5px;transform:rotate(45deg)}.mo .mb i:last-child{top:19.5px;transform:rotate(-45deg)}
.ddp{position:absolute;left:0;right:0;top:100%;background:var(--night);color:var(--nink);border-top:1px solid var(--nline);box-shadow:0 30px 60px -30px rgba(0,0,0,.5);animation:ddin .35s var(--ease)}
@keyframes ddin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.ddg{display:grid;grid-template-columns:repeat(3,1fr) 1.15fr;gap:40px;padding-top:40px;padding-bottom:44px}
.ddk{display:block;font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--nmut);margin-bottom:18px}
.ddc a{display:block;padding:11px 0;border-top:1px solid var(--nline)}
.ddc a b{display:block;font:400 18px/1.25 var(--serif);color:var(--nink)}
.ddc a span{font-size:13px;color:var(--nmut)}
.ddc a:hover b{color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.ddm{display:flex;flex-direction:column;gap:12px;padding:28px;background:var(--night2);border:1px solid var(--nline);align-self:start}
.ddm b{font:400 26px/1.15 var(--serif)}
.ddm span:not(.ddk){color:var(--nmut);font-size:14px;line-height:1.6}
.ddm .ar{width:18px;height:18px;margin-top:8px;transition:transform .35s var(--ease)}
/* 旧样式 .top .wrap{display:flex;height:68px} 会套中下拉面板与手机菜单里的 .wrap —— 这里按同等优先级覆盖回来 */
.top .ddp .wrap{display:grid;height:auto;align-items:start}
.top .mpn .wrap{display:block;height:auto}
.mpn{position:absolute;left:0;right:0;top:100%;background:var(--night);color:var(--nink);padding:12px 0 28px;border-top:1px solid var(--nline)}
.mpn a{display:block;padding:16px 0;border-bottom:1px solid var(--nline);font:400 22px/1.2 var(--serif)}
/* 首页:页头压在大图上,滚动后变深色毛玻璃 */
.top.ov{position:fixed;left:0;right:0;background:transparent;border-bottom-color:rgba(244,241,234,.14);-webkit-backdrop-filter:none;backdrop-filter:none;color:#F4F1EA}
.top.ov .nav,.top.ov .mark .cn,.top.ov .nr .lang{color:rgba(244,241,234,.86)}
.top.ov .mark .cn{border-left-color:rgba(244,241,234,.25)}
.top.ov .nr .lang{border-color:rgba(244,241,234,.3)}
.top.ov .cta-s{background:#F4F1EA;color:#111110}
.top.ov.scrolled,.top.ov.ddo,.top.ov.mo{background:rgba(14,14,13,.84);-webkit-backdrop-filter:saturate(1.3) blur(16px);backdrop-filter:saturate(1.3) blur(16px);border-bottom-color:var(--nline)}
/* 2026-09-25 舒帅「导航菜单透明度 85%」:滚动后的页头只留 15% 底色 + 毛玻璃(原来 84%/86% 近乎实心)。
   底色这么淡,白字压在米色段落上、黑字压在深色段落上都会看不清 —— 所以由 SITE_JS 探测页头正下方的底色,
   打 onlt(下面是浅色)/ ondk(下面是深色),文字配色跟着翻。下拉/手机菜单展开时仍用实心深底,保证可读。 */
.top.ov.scrolled{background:rgba(14,14,13,.15)}
.top.ov.scrolled.onlt:not(.ddo):not(.mo){background:rgba(251,250,247,.15);color:var(--ink);border-bottom-color:var(--line)}
.top.ov.scrolled.onlt:not(.ddo):not(.mo) .nav,.top.ov.scrolled.onlt:not(.ddo):not(.mo) .nr .lang{color:var(--ink2)}
.top.ov.scrolled.onlt:not(.ddo):not(.mo) .mark .cn{color:var(--muted);border-left-color:var(--line2)}
.top.ov.scrolled.onlt:not(.ddo):not(.mo) .nr .lang{border-color:var(--line2)}
.top.ov.scrolled.onlt:not(.ddo):not(.mo) .cta-s{background:var(--ink);color:var(--bg)}
.top:not(.ov).ondk:not(.ddo):not(.mo){background:rgba(14,14,13,.15);color:#F4F1EA;border-bottom-color:var(--nline)}
.top:not(.ov).ondk:not(.ddo):not(.mo) .nav,.top:not(.ov).ondk:not(.ddo):not(.mo) .nr .lang{color:rgba(244,241,234,.86)}
.top:not(.ov).ondk:not(.ddo):not(.mo) .mark .cn{color:rgba(244,241,234,.7);border-left-color:rgba(244,241,234,.25)}
.top:not(.ov).ondk:not(.ddo):not(.mo) .nr .lang{border-color:rgba(244,241,234,.3)}
.top:not(.ov).ondk:not(.ddo):not(.mo) .cta-s{background:#F4F1EA;color:#111110}
.top:not(.ov).ddo,.top:not(.ov).mo{background:var(--bg)}
.cta-s:hover{background:var(--seal)!important;color:#fff!important}

/* 入场与滚动渐显 */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.js .rv.d1{transition-delay:.08s}.js .rv.d2{transition-delay:.16s}.js .rv.d3{transition-delay:.24s}
@keyframes up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}*{animation:none!important}}

/* 首屏 */
.gh{position:relative;min-height:max(680px,min(100vh,1000px));display:flex;flex-direction:column;justify-content:flex-end;color:#F4F1EA;background:#0d0d0c;overflow:hidden}
.gh .bg{position:absolute;inset:0}
.gh .bg img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;transform:scale(1.07);animation:ghkb 28s var(--ease) forwards;filter:saturate(.82) contrast(1.04)}
@keyframes ghkb{to{transform:scale(1)}}
.gh .bg:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(9,9,8,.72) 0%,rgba(9,9,8,.35) 45%,rgba(9,9,8,.1) 75%),linear-gradient(180deg,rgba(9,9,8,.5) 0%,rgba(9,9,8,0) 28%,rgba(9,9,8,.25) 62%,rgba(9,9,8,.9) 100%)}
.gh .bg:after,.mani:after{content:"";position:absolute;inset:0;z-index:1;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");opacity:.09;mix-blend-mode:overlay;pointer-events:none}
.gh .in{position:relative;z-index:2}
.gh .k,.gh h1,.gh p,.gh .acts{animation:up 1.2s var(--ease) both}
.gh h1{animation-delay:.12s}.gh p{animation-delay:.26s}.gh .acts{animation-delay:.38s}
.gh .k{font:600 11.5px/1 var(--sans);letter-spacing:.24em;color:rgba(244,241,234,.72);display:flex;align-items:center;gap:12px}
.gh .k:before{content:"";width:28px;height:1px;background:rgba(244,241,234,.55)}
.gh h1{font:300 clamp(48px,7.2vw,116px)/.98 var(--serif);letter-spacing:-.032em;margin:28px 0 30px;max-width:11.5ch}
.gh h1 em{font-style:italic;font-weight:300}
.gh p{font:400 clamp(16px,1.3vw,18.5px)/1.65 var(--sans);color:rgba(244,241,234,.8);max-width:37em}
.gh .acts{display:flex;gap:12px;margin-top:38px;flex-wrap:wrap}
.b1,.b2{display:inline-flex;align-items:center;gap:10px;padding:15px 24px;font:500 14.5px/1 var(--sans);border-radius:999px;transition:background .3s,color .3s,border-color .3s;white-space:nowrap}
.b1{background:#F4F1EA;color:#111110}.b1:hover{background:var(--seal);color:#fff}
.b2{border:1px solid rgba(244,241,234,.38);color:#F4F1EA}.b2:hover{border-color:#F4F1EA;background:rgba(244,241,234,.06)}
.b1 .ar,.b2 .ar,.lk .ar{width:16px;height:16px;transition:transform .35s var(--ease)}
.facts{position:relative;z-index:2;margin-top:clamp(56px,8vh,96px);border-top:1px solid rgba(244,241,234,.16)}
.facts .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.facts div div{padding:26px 28px 30px 0;display:flex;align-items:baseline;gap:16px;animation:up 1.2s var(--ease) .5s both}
.facts div div+div{padding-left:28px;border-left:1px solid rgba(244,241,234,.16)}
.facts b{font:300 44px/1 var(--serif);letter-spacing:-.02em}
.facts span{font-size:13.5px;color:rgba(244,241,234,.66);line-height:1.45}

/* 色带与章节头 */
.band{position:relative;padding:clamp(96px,11vw,150px) 0}
.band.paper{background:var(--paper);color:#111110}
.band.night{background:var(--night);color:var(--nink)}
.sh{margin-bottom:clamp(48px,6vw,80px)}
.sh .ln{display:flex;align-items:center;gap:14px;font:500 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;padding-bottom:22px;border-bottom:1px solid var(--pline);color:#6f6b63}
.night .sh .ln{border-bottom-color:var(--nline);color:var(--nmut)}
.sh .ln em{font-style:normal;color:var(--seal)}
.night .sh .ln em{color:#E0705F}
.sh .g{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:end;margin-top:44px}
.sh h2{font:300 clamp(38px,4.9vw,72px)/1.02 var(--serif);letter-spacing:-.028em}
.sh h2 em{font-style:italic;font-weight:300}
.sh p{font:400 17px/1.7 var(--sans);opacity:.72;max-width:34em;padding-bottom:8px}

/* 产品 */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--pline);border-left:1px solid var(--pline)}
a.pc,.pm{position:relative;display:flex;flex-direction:column;min-height:300px;padding:32px 32px 30px;border-right:1px solid var(--pline);border-bottom:1px solid var(--pline);transition:background .45s var(--ease)}
a.pc:hover{background:#fff}
.pc .tp{display:flex;justify-content:space-between;font:500 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#7a766d}
.pc .tp i{font-style:normal;font-variant-numeric:tabular-nums;letter-spacing:.06em}
.pc h3{font:400 28px/1.12 var(--serif);letter-spacing:-.015em;margin:44px 0 14px}
.pc p{font-size:14.5px;line-height:1.7;color:#4a4842;flex:1;max-width:30em}
.pc .go{display:flex;align-items:center;justify-content:space-between;margin-top:28px;font:500 13px/1 var(--sans);color:#111110}
.pc .go .ar{width:18px;height:18px;transition:transform .45s var(--ease)}
.pc .ln2{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--seal);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
a.pc:hover .ln2{transform:scaleX(1)}
a.pm{background:var(--night);color:var(--nink);justify-content:space-between}
a.pm:hover{background:#1a1a18}
.pm .tp{color:var(--nmut)}
.pm h3{font:300 34px/1.1 var(--serif);margin:0 0 14px}
.pm p{color:var(--nmut);font-size:14.5px;line-height:1.7}
.pm .ar{width:24px;height:24px;margin-top:22px;transition:transform .45s var(--ease)}
a.pm:hover .ar{transform:translateX(6px)}

/* 三支柱 */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--nline)}
.pl{padding:44px 40px 12px 0}
.pl+.pl{padding-left:40px;border-left:1px solid var(--nline)}
.pl .n{font:300 15px/1 var(--sans);letter-spacing:.14em;color:#E0705F}
.pl h3{font:300 34px/1.12 var(--serif);letter-spacing:-.015em;margin:56px 0 16px}
.pl p{color:var(--nmut);font-size:15px;line-height:1.7;max-width:26em}
.pl ul{list-style:none;margin-top:28px}
.pl li{display:flex;gap:14px;padding:13px 0;border-top:1px solid var(--nline);font-size:14.5px;line-height:1.5}
.pl li:before{content:"";flex:none;width:6px;height:6px;margin-top:7px;background:#E0705F}
.pl li a{border-bottom:1px solid var(--nline)}

/* 行业分栏 */
.itabs{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:clamp(40px,6vw,88px);align-items:stretch}
.tl{display:flex;flex-direction:column;border-top:1px solid var(--pline)}
.tl button{all:unset;cursor:pointer;position:relative;display:grid;grid-template-columns:36px 1fr;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--pline);color:#8d897f;transition:color .3s}
.tl button i{font:500 12px/1 var(--sans);font-style:normal;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.tl button b{font:300 27px/1.15 var(--serif);letter-spacing:-.01em}
.tl button:hover,.tl button[aria-selected=true]{color:#111110}
.tl button:after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--seal);transform:scaleX(0);transform-origin:left}
.tl button[aria-selected=true]:after{transform:scaleX(1)}
.tl button.run:after{transform:scaleX(0);animation:prog 7s linear forwards}
.tl button.run.pause:after{animation-play-state:paused}
@keyframes prog{to{transform:scaleX(1)}}
.tl button:focus-visible{outline:2px solid var(--seal);outline-offset:4px}
.stage{position:relative}
.stage .imgs{position:relative;aspect-ratio:16/10;overflow:hidden;background:#dcd8cf}
.stage .imgs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1s var(--ease),transform 7s linear}
.ip{display:none}.ip.on{display:grid}
.stage .imgs img.on{opacity:1;transform:scale(1)}
.ip{grid-template-columns:1fr auto;gap:32px;align-items:end;margin-top:30px;animation:up .8s var(--ease) both}
.ip .c{font:500 11.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#7a766d}
.ip h3{font:300 34px/1.12 var(--serif);letter-spacing:-.015em;margin:12px 0 10px}
.ip p{color:#4a4842;font-size:15px;line-height:1.7;max-width:40em}
.lk{display:inline-flex;align-items:center;gap:10px;font:500 14px/1 var(--sans);padding:14px 22px;border-radius:999px;background:#111110;color:#F6F4EF;white-space:nowrap;transition:background .3s}
.lk:hover{background:var(--seal)}
.ip:not(.on){display:none!important}

/* 主张 */
.mani{position:relative;padding:clamp(120px,15vw,210px) 0;background:#0b0b0a;color:var(--nink);overflow:hidden}
.mani .bg{position:absolute;inset:0;background-size:cover;background-position:50% 60%;opacity:.28;filter:grayscale(.35)}
.mani .bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0b0b0a 0%,rgba(11,11,10,.35) 40%,rgba(11,11,10,.35) 60%,#0b0b0a 100%)}
.mani .wrap{position:relative;z-index:2}
.mani .ln{font:500 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--nmut);display:flex;gap:14px}
.mani .ln em{font-style:normal;color:#E0705F}
.mani blockquote{font:300 clamp(34px,4.6vw,68px)/1.14 var(--serif);letter-spacing:-.022em;max-width:20ch;margin-top:48px}
.mani blockquote em{font-style:italic;color:#E0705F}
.mani .sig{margin-top:56px;display:flex;align-items:center;gap:14px;font:500 12px/1 var(--sans);letter-spacing:.2em;color:var(--nmut)}
.mani .sig:before{content:"";width:28px;height:1px;background:var(--nmut)}

/* 首页资讯 */
.ngrid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.ngrid a{display:flex;flex-direction:column;gap:14px}
.ngrid .ph{aspect-ratio:3/2;overflow:hidden;background:#1d1d1b;margin-bottom:10px}
.ngrid .ph img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:transform 1.2s var(--ease),filter .6s}
.ngrid a:hover .ph img{transform:scale(1.04);filter:saturate(1)}
.ngrid time{font:500 12px/1 var(--sans);letter-spacing:.08em;color:var(--nmut)}
.ngrid h3{font:300 25px/1.2 var(--serif);letter-spacing:-.01em}
.ngrid p{color:var(--nmut);font-size:14.5px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ngrid a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.sh .more{justify-self:end;align-self:end;display:inline-flex;align-items:center;gap:10px;font:500 14px/1 var(--sans);padding-bottom:6px;border-bottom:1px solid currentColor}
.sh .more .ar{width:16px;height:16px;transition:transform .35s var(--ease)}
.sh .more:hover .ar{transform:translateX(4px)}

/* 关于 */
.offices{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--pline)}
.of{padding:40px 40px 40px 0}
.of+.of{padding-left:40px;border-left:1px solid var(--pline)}
.of .t{font:500 11.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#7a766d}
.of h3{font:300 30px/1.2 var(--serif);letter-spacing:-.01em;margin:22px 0 14px}
.of p{color:#4a4842;font-size:15px;line-height:1.75}
.of .ct{display:flex;gap:26px;margin-top:22px;font-size:14px}
.of .ct a{border-bottom:1px solid var(--pline)}
.of .ct a:hover{border-color:#111110}
.acta{margin-top:clamp(64px,8vw,110px);display:grid;grid-template-columns:1.2fr auto;gap:40px;align-items:end;padding:56px;background:var(--night);color:var(--nink);position:relative;overflow:hidden}
.acta:before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border:1px solid var(--nline);border-radius:50%}
.acta h3{font:300 clamp(30px,3.4vw,46px)/1.1 var(--serif);letter-spacing:-.02em;max-width:18ch}
.acta p{color:var(--nmut);margin-top:14px;font-size:15.5px;line-height:1.65;max-width:34em}

/* 页脚(全站) */
.gf{background:var(--night);color:var(--nink);padding:clamp(72px,8vw,110px) 0 36px;margin-top:0}
.gf .mark .cn{color:var(--nmut);border-left-color:var(--nline)}
.gf-top{display:grid;grid-template-columns:1.3fr 1.4fr .8fr 1fr;gap:48px;padding-bottom:64px;border-bottom:1px solid var(--nline)}
.gf-q{margin-top:26px;font:300 26px/1.25 var(--serif);max-width:12ch;color:var(--nink)}
.gf-q em{font-style:italic;color:#E0705F}
.gf h4{font:500 11.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--nmut);margin-bottom:20px}
.gf-c a{display:block;padding:6px 0;font-size:14px;color:#cfcbc2}
.gf-c a:hover{color:#fff}
.gf-2{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
.gf-c p{font-size:13.5px;line-height:1.7;color:#cfcbc2;margin-bottom:16px}
.gf-c p b{display:block;font-weight:500;color:var(--nink)}
.gf-c p a{display:inline;padding:0}
.gf-bot{display:flex;justify-content:space-between;gap:20px;padding-top:26px;font-size:12.5px;color:var(--nmut)}
.gf-bot a:hover{color:#fff}

/* 中文排版 */
:lang(zh) .gh h1,:lang(zh) .sh h2,:lang(zh) .mani blockquote,:lang(zh) .pc h3,:lang(zh) .pm h3,:lang(zh) .pl h3,:lang(zh) .tl button b,:lang(zh) .ip h3,:lang(zh) .ngrid h3,:lang(zh) .of h3,:lang(zh) .acta h3,:lang(zh) .gf-q,:lang(zh) .ddc a b,:lang(zh) .ddm b,:lang(zh) .mpn a,:lang(zh) .facts b{font-family:var(--zh-serif);font-weight:500;letter-spacing:.01em}
:lang(zh) .gh h1{font-size:clamp(42px,6.2vw,96px);line-height:1.14;max-width:none}
:lang(zh) .gh h1 em,:lang(zh) .sh h2 em,:lang(zh) .mani blockquote em,:lang(zh) .gf-q em{font-style:normal}
:lang(zh) .gh h1 em{color:#F4F1EA;opacity:.92}
:lang(zh) .sh h2{line-height:1.22;font-size:clamp(34px,4.2vw,60px);max-width:13em}
:lang(zh) .sh h2 em{color:var(--seal)}
:lang(zh) .night .sh h2 em{color:#E0705F}
:lang(zh) .mani blockquote{line-height:1.45;font-size:clamp(28px,3.6vw,52px);max-width:22em}
:lang(zh) .pc h3{font-size:24px}
:lang(zh) .gh p,:lang(zh) .sh p,:lang(zh) .pc p,:lang(zh) .ip p,:lang(zh) .of p{font-family:var(--zh-sans)}

@media (max-width:1100px){.ddg{grid-template-columns:1fr 1fr}.ddm{grid-column:span 2}}
@media (max-width:980px){
  .top .nav{display:none}.mb{display:block}.nr .cta-s{display:none}
  .sh .g{grid-template-columns:1fr;gap:18px;margin-top:32px}
  .pgrid{grid-template-columns:1fr 1fr}
  .pillars{grid-template-columns:1fr}.pl,.pl+.pl{padding:36px 0;border-left:0}.pl+.pl{border-top:1px solid var(--nline)}
  .pl h3{margin-top:28px}
  .itabs{grid-template-columns:1fr;gap:28px}
  .tl{flex-direction:row;overflow-x:auto;border-top:0;border-bottom:1px solid var(--pline);gap:28px;scrollbar-width:none}
  .tl button{grid-template-columns:auto;border-bottom:0;padding:14px 0;white-space:nowrap}
  .tl button i{display:none}.tl button b{font-size:19px}
  .ngrid{grid-template-columns:1fr;gap:48px}
  .gf-top{grid-template-columns:1fr 1fr}
  .acta{grid-template-columns:1fr;padding:40px 32px}
}
@media (max-width:640px){
  .top .tw{height:62px}.mark .cn{display:none}
  .facts .wrap{grid-template-columns:1fr}.facts div div,.facts div div+div{padding:18px 0;border-left:0}
  .facts div div+div{border-top:1px solid rgba(244,241,234,.16)}.facts b{font-size:34px}
  .pgrid{grid-template-columns:1fr}a.pc,.pm{min-height:0;padding:28px 22px}.pc h3{margin-top:28px}
  .ip{grid-template-columns:1fr}
  .offices{grid-template-columns:1fr}.of+.of{padding-left:0;border-left:0;border-top:1px solid var(--pline)}
  .gf-top{grid-template-columns:1fr}.gf-bot{flex-direction:column}
  .ddg{grid-template-columns:1fr}.ddm{grid-column:auto}
}

/* ══ 字号体系 v3(2026-09-25 舒帅「字体参考苹果风格,优化大小标题字号」)══════════════
   原则:全站无衬线(系统 SF / 苹方);标题 600 字重、负字距、行高收紧;强调不用斜体,
   用「两色」—— 前半句正色,后半句降一档灰;正文 17px / 1.5;标签 12px 600 小写字距。
   层级(桌面 → 手机由 clamp 连续过渡):
     Display 首屏    96 → 44   600  -0.035em  1.03
     H2 章节标题     64 → 34   600  -0.03em   1.06
     H3 大卡/支柱    32 → 24   600  -0.02em   1.12
     H4 卡片标题     24 → 20   600  -0.015em  1.2
     Lead 引导段     21 → 17   400  -0.01em   1.45
     Body 正文       17        400  -0.005em  1.5
     Caption 说明    14        400            1.45
     Label 标签      12        600  +0.06em   uppercase(中文不大写)
*/
body{font-family:var(--sans);-webkit-font-smoothing:antialiased;font-feature-settings:"kern","liga","calt"}
.gh h1,.sh h2,.pc h3,.pm h3,.pl h3,.tl button b,.ip h3,.mani blockquote,.ngrid h3,.of h3,.acta h3,.gf-q,.ddc a b,.ddm b,.mpn a,.facts b,
.hero h1,.lead-story h3,.item h3,.art h1,.page h1,.cta h4,.prose h3{font-family:var(--serif);font-style:normal;font-weight:600}
.gh h1 em,.sh h2 em,.mani blockquote em,.gf-q em{font-style:normal;font-weight:600}

/* Display */
.gh h1{font-size:clamp(44px,6.6vw,96px);line-height:1.03;letter-spacing:-.035em;max-width:12ch;margin:22px 0 26px}
.gh h1 em{color:rgba(244,241,234,.52)}
.gh p{font-size:clamp(17px,1.45vw,21px);line-height:1.45;letter-spacing:-.01em;color:rgba(244,241,234,.78);max-width:34em}
.gh .k{font-size:12px;letter-spacing:.06em;font-weight:600;text-transform:uppercase}
.facts b{font-size:clamp(34px,3.2vw,44px);letter-spacing:-.03em;font-weight:600}
.facts span{font-size:14px;letter-spacing:-.005em}

/* H2 章节 */
.sh h2{font-size:clamp(34px,4.4vw,64px);line-height:1.06;letter-spacing:-.03em;max-width:14ch}
.band.paper .sh h2 em{color:#86868b}
.band.night .sh h2 em{color:rgba(242,239,232,.5)}
.sh p{font-size:clamp(17px,1.4vw,21px);line-height:1.45;letter-spacing:-.01em;opacity:1;color:#6e6e73}
.night .sh p{color:#a1a1a6}
.sh .ln,.mani .ln{font-size:12px;letter-spacing:.06em;font-weight:600}

/* H3 / H4 */
.pl h3,.pm h3,.ip h3,.of h3{font-size:clamp(24px,2.2vw,32px);line-height:1.12;letter-spacing:-.02em}
.pc h3,.ngrid h3,.tl button b,.ddm b{font-size:clamp(20px,1.7vw,24px);line-height:1.2;letter-spacing:-.015em}
.tl button b{font-size:clamp(19px,1.6vw,24px)}
.ddc a b{font-size:16px;letter-spacing:-.01em}
.mpn a{font-size:24px;letter-spacing:-.02em}
.acta h3{font-size:clamp(28px,3vw,44px);line-height:1.1;letter-spacing:-.025em}

/* 正文与说明 */
.pc p,.pm p,.pl p,.ip p,.of p,.ngrid p,.acta p{font-size:15px;line-height:1.5;letter-spacing:-.005em;color:#6e6e73}
.night .pl p,.night .ngrid p,.pm p,.acta p{color:#a1a1a6}
.pl li{font-size:15px;letter-spacing:-.005em}
.pc .tp,.ip .c,.of .t,.gf h4,.ddk,.ngrid time{font-size:12px;letter-spacing:.06em;font-weight:600}
.pc .go,.lk,.b1,.b2,.cta-s,.sh .more{letter-spacing:-.01em}
.b1,.b2,.lk{font-size:15px;font-weight:500}

/* 主张 */
.mani blockquote{font-size:clamp(32px,4.2vw,60px);line-height:1.1;letter-spacing:-.03em;max-width:18ch}
.mani blockquote em{color:#E0705F}
.gf-q{font-size:24px;line-height:1.2;letter-spacing:-.02em}
.gf-q em{color:rgba(242,239,232,.5)}

/* 资讯列表 / 文章 / 关于 / 联系页(build.py 里的旧样式统一换成同一套字号) */
.hero h1{font-size:clamp(40px,5.6vw,80px);line-height:1.04;letter-spacing:-.035em}
.hero p,.art .standfirst,.page .lede{font-family:var(--sans);font-size:clamp(17px,1.45vw,21px);line-height:1.45;letter-spacing:-.01em;color:#6e6e73}
.lead-story h3{font-size:clamp(26px,2.8vw,40px);line-height:1.1;letter-spacing:-.025em}
.lead-story p{font-family:var(--sans);font-size:17px;line-height:1.5;color:#6e6e73}
.item h3{font-size:21px;line-height:1.22;letter-spacing:-.015em}
.item p{font-size:15px;line-height:1.5;color:#6e6e73}
.art h1{font-size:clamp(34px,4.6vw,64px);line-height:1.06;letter-spacing:-.03em}
.page h1{font-size:clamp(36px,4.8vw,64px);line-height:1.06;letter-spacing:-.03em}
.page p{font-family:var(--sans);font-size:17px;line-height:1.55;color:#424245}
.page h2{font-size:12px;letter-spacing:.06em;font-weight:600}
.prose{font-family:var(--sans);font-size:19px;line-height:1.6;letter-spacing:-.008em;color:#1d1d1f}
.prose h2{font-family:var(--serif);font-size:clamp(24px,2.4vw,32px);line-height:1.15;letter-spacing:-.02em;text-transform:none;font-weight:600;margin:2em 0 .7em}
.prose > p:first-of-type::first-letter{float:none;font:inherit;padding:0;color:inherit}
.cta h4{font-size:26px;letter-spacing:-.02em}
.empty{font-family:var(--sans);font-style:normal;font-size:21px}
form.contact input,form.contact textarea{font-family:var(--sans);font-size:17px;letter-spacing:-.01em}
.kicker{font-size:12px;letter-spacing:.06em}

/* 中文:苹方 600,行高放宽,字距归零;小标签不做大写与宽字距 */
:lang(zh) .gh h1{font-size:clamp(40px,6vw,88px);line-height:1.12;letter-spacing:-.01em;max-width:none}
:lang(zh) .sh h2{font-size:clamp(32px,4vw,56px);line-height:1.18;letter-spacing:-.01em;max-width:13em}
:lang(zh) .sh h2 em,:lang(zh) .gh h1 em{color:inherit;opacity:.5}
:lang(zh) .band.paper .sh h2 em{color:#86868b;opacity:1}
:lang(zh) .mani blockquote{font-size:clamp(28px,3.6vw,50px);line-height:1.32;letter-spacing:0;max-width:20em}
:lang(zh) .pl h3,:lang(zh) .pm h3,:lang(zh) .ip h3,:lang(zh) .of h3{letter-spacing:0}
:lang(zh) .pc h3,:lang(zh) .ngrid h3,:lang(zh) .tl button b{letter-spacing:0}
:lang(zh) .pc .tp,:lang(zh) .ip .c,:lang(zh) .of .t,:lang(zh) .sh .ln,:lang(zh) .gf h4{letter-spacing:.04em}
:lang(zh) .prose{font-size:18px;line-height:1.85;letter-spacing:.01em}
:lang(zh) .art h1,:lang(zh) .page h1,:lang(zh) .hero h1{line-height:1.2;letter-spacing:0}
@media (max-width:640px){.gh h1{max-width:none}.sh h2{max-width:none}.prose{font-size:17px}}
.art .cover figcaption{margin-top:10px;font-size:12.5px;color:#86868b;letter-spacing:-.005em;text-align:right}

/* 首屏文字居中(2026-09-25 舒帅截图圈出「居中」)。暗角随之从「左侧压暗」改成「中央压暗」,保证居中的字压得住图。 */
.gh .in{text-align:center}
.gh .k{justify-content:center}
.gh .k:after{content:"";width:28px;height:1px;background:rgba(244,241,234,.55)}
.gh h1{margin-left:auto;margin-right:auto;max-width:14ch}
.gh p{margin-left:auto;margin-right:auto;max-width:36em}
.gh .acts{justify-content:center}
.gh .bg:before{background:radial-gradient(ellipse 70% 60% at 50% 55%,rgba(9,9,8,.62),rgba(9,9,8,.25) 70%,rgba(9,9,8,.1)),linear-gradient(180deg,rgba(9,9,8,.5) 0%,rgba(9,9,8,0) 28%,rgba(9,9,8,.2) 62%,rgba(9,9,8,.9) 100%)}
.gh .bg img{object-position:50% 50%}
/* 上下也居中:文字块占满「页头下沿 → 事实带上沿」之间的空间并在其中垂直居中 */
.gh{justify-content:stretch}
.gh .in{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding-top:72px;padding-bottom:40px}
.gh .facts{margin-top:0}
picture{display:contents}   /* <picture> 只是换源容器,不参与布局,否则里面的 img 铺不满父容器 */
.tl .ch{opacity:.55;margin-right:.5em;font-size:.82em;letter-spacing:.02em}
/* 语言切换 EN / 繁 / 简(2026-09-25 加繁體版):沿用 .lang 胶囊的边框与各种底色下的配色,里面三个字 */
.nr .lang{display:inline-flex;align-items:center;gap:2px;padding:6px 8px}
.nr .lang a{padding:2px 6px;border-radius:999px;opacity:.55;transition:opacity .2s}
.nr .lang a:hover{opacity:.9}
.nr .lang a[aria-current]{opacity:1;font-weight:600}
.mpn .mlang{display:flex;gap:18px;padding-top:18px}
.mpn .mlang a{border:0;padding:6px 0;font:400 15px/1.2 var(--sans);opacity:.6}
.mpn .mlang a[aria-current]{opacity:1}
.gf-l a{opacity:.7}.gf-l a[aria-current]{opacity:1}.gf-l a:hover{opacity:1}
/* 09-26 每日更新露出:首屏「今日 AI 洞察」一行 / 行业分栏「最新」/ 資訊卡栏目名 */
.gh .today{display:inline-flex;align-items:center;gap:12px;max-width:min(760px,100%);margin-top:30px;padding:10px 16px 10px 14px;border-radius:999px;
  background:rgba(14,14,13,.38);border:1px solid rgba(244,241,234,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  color:#F4F1EA;font:400 14px/1.3 var(--sans);animation:up 1.2s var(--ease) .5s both;text-align:left}
.gh .today .tl1{flex:none;font-weight:600;font-size:12px;letter-spacing:.04em;color:#F5B23D}
.gh .today .tt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.gh .today .ar{width:14px;height:14px;flex:none;transition:transform .35s var(--ease)}
.gh .today:hover .ar{transform:translateX(4px)}
.ip p.latest{margin-top:14px;font-size:14px}
.ip p.latest a{display:inline-flex;gap:10px;align-items:baseline;border-bottom:1px solid rgba(17,17,16,.2);padding-bottom:2px;color:#111110}
.ip p.latest span{flex:none;font-weight:600;font-size:12px;letter-spacing:.04em;color:#B1382A}
@media (max-width:640px){.gh .today{border-radius:14px;flex-wrap:wrap}.gh .today .tt{white-space:normal}}
/* 资讯栏目下拉(09-26):hover / 键盘聚焦展开;面板固定深底,不跟页头明暗切换 */
.dd2{position:relative;display:inline-flex}
.dd2>a{display:inline-flex;align-items:center;gap:6px}
.dd2>a .ch{width:13px;height:13px;transition:transform .3s var(--ease)}
.dd2:hover>a .ch,.dd2:focus-within>a .ch{transform:rotate(180deg)}
.dd2m{display:none;position:absolute;top:100%;left:-18px;min-width:230px;padding:10px;margin-top:8px;border-radius:14px;
  background:#141413;border:1px solid rgba(244,241,234,.12);box-shadow:0 24px 48px -20px rgba(0,0,0,.55);z-index:60}
.dd2m:before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.dd2:hover .dd2m,.dd2:focus-within .dd2m{display:block;animation:ddin .25s var(--ease)}
.top .nav .dd2m a{display:block;padding:10px 12px;border-radius:9px;color:#F2EFE8;font-size:14px;white-space:nowrap}
.top .nav .dd2m a:after{display:none}
.top .nav .dd2m a:hover{background:rgba(244,241,234,.08)}
.top .nav .dd2m a:first-child{color:rgba(242,239,232,.6);font-size:13px}
.mpn .msub{display:flex;flex-direction:column;padding:0 0 6px 18px;border-bottom:1px solid var(--nline)}
.mpn .msub a{border:0;padding:9px 0;font:400 16px/1.2 var(--sans);opacity:.75}
/* 资讯列表页栏目切换 */
.ttabs{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 34px}
.ttabs a{padding:8px 16px;border-radius:999px;border:1px solid var(--line2);font:500 14px/1 var(--sans);color:var(--ink2)}
.ttabs a:hover{border-color:var(--ink)}
.ttabs a[aria-current]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
/* 首屏轮播(09-26):淡入淡出 + 每张重新起一遍慢推镜;指示条可点;减少动效时不自动播 */
.gh .bg .sl{position:absolute;inset:0;opacity:0;transition:opacity 1.6s var(--ease)}
.gh .bg .sl.on{opacity:1}
.gh .bg .sl img{animation:none;transform:scale(1.07)}
.gh .bg .sl.on img{animation:ghkb 14s var(--ease) forwards}
.gh .ghd{display:flex;gap:8px;justify-content:center;margin-top:28px;animation:up 1.2s var(--ease) .6s both}
.gh .ghd button{all:unset;cursor:pointer;padding:8px 0}
.gh .ghd i{display:block;width:28px;height:2px;border-radius:2px;background:rgba(244,241,234,.3);overflow:hidden;position:relative}
.gh .ghd button.on i:after{content:"";position:absolute;inset:0;background:#F4F1EA;transform-origin:left;animation:ghbar 6.5s linear forwards}
.gh .ghd button:focus-visible i{outline:2px solid #F5B23D;outline-offset:3px}
@keyframes ghbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.gh .ghd button.on i:after{animation:none;transform:none}}

/* 方案页(09-26) */
.solh{background:#0E0E0D;color:#F4F1EA;padding:clamp(110px,12vw,150px) 0 clamp(56px,7vw,90px)}
.solg{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.solt .crumb{font:500 13px/1 var(--sans);color:rgba(244,241,234,.55)}
.solt h1{font:600 clamp(40px,5.2vw,72px)/1.05 var(--serif);letter-spacing:-.03em;margin:22px 0 20px}
.solt p{font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:rgba(244,241,234,.74);max-width:34em}
.solt .acts{margin-top:30px}
.solv{border-radius:22px;overflow:hidden;aspect-ratio:4/3;background:#1a1a18}
.solv img{width:100%;height:100%;object-fit:cover}
.solhd{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.solhd h2{font:600 clamp(28px,3vw,42px)/1.1 var(--serif);letter-spacing:-.02em}
.solps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:20px}
.solp{display:flex;flex-direction:column;gap:12px;padding:30px 28px;border:1px solid var(--line);border-radius:20px;background:var(--paper);transition:border-color .3s,transform .4s var(--ease)}
.solp:hover{border-color:var(--ink);transform:translateY(-3px)}
.solp .m,.solc .m{font:600 12px/1 var(--sans);letter-spacing:.06em;color:#B1382A;text-transform:uppercase}
.solp h3{font:600 26px/1.15 var(--serif);letter-spacing:-.015em}
.solp p{color:var(--muted);line-height:1.65}
.solp .go{display:inline-flex;align-items:center;gap:8px;margin-top:auto;font:500 14px/1 var(--sans)}
.solp .go .ar{width:14px;height:14px}
.solins{padding-top:0}
.solacta{margin-top:clamp(56px,7vw,96px)}
.solidx{padding-top:clamp(120px,12vw,150px)}
.solidx h1{font:600 clamp(40px,5vw,68px)/1.06 var(--serif);letter-spacing:-.03em;margin:14px 0 14px}
.solidx h1 em{font-style:normal;color:#86868b}
.solcs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:22px;margin-top:44px}
.solc{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--paper);transition:transform .4s var(--ease),border-color .3s}
.solc:hover{transform:translateY(-3px);border-color:var(--ink)}
.solc .ph{aspect-ratio:16/10;overflow:hidden;background:#e5e1d8}
.solc .ph img{width:100%;height:100%;object-fit:cover}
.solc>div:last-child{padding:22px 24px 26px}
.solc h3{font:600 24px/1.15 var(--serif);letter-spacing:-.015em;margin:10px 0 8px}
.solc p{color:var(--muted);font-size:14.5px}
@media (max-width:860px){.solg{grid-template-columns:1fr}}

/* 09-26 大卡 4 种动态图(星轨之外的三种)*/
.bc .mo{position:absolute;left:50%;top:36%;width:min(300px,56%);aspect-ratio:1;transform:translate(-50%,-50%);z-index:-1;pointer-events:none}
.bc.s-l.wide .mo{left:76%;top:50%;width:min(260px,38%)}
.bc .mo .core{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:24px;display:grid;place-items:center;z-index:2;
  background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--ac) 55%,#fff),var(--ac));box-shadow:0 18px 44px -12px color-mix(in srgb,var(--ac) 70%,transparent)}
.bc .mo .core .ic{width:34px;height:34px;color:#111110;margin:0}
.bc .mo .ic{margin:0}
/* 雷达 */
.m-radar i{position:absolute;border-radius:50%;border:1px solid color-mix(in srgb,var(--ac) 30%,transparent)}
.m-radar .r1{inset:0}.m-radar .r2{inset:17%}.m-radar .r3{inset:34%}
.m-radar .sw{inset:0;border:0;background:conic-gradient(from 0deg,color-mix(in srgb,var(--ac) 45%,transparent),transparent 22%);animation:rsweep 4.2s linear infinite;
  -webkit-mask:radial-gradient(circle,#000 69%,transparent 70%);mask:radial-gradient(circle,#000 69%,transparent 70%)}
@keyframes rsweep{to{transform:rotate(360deg)}}
.m-radar .bl{position:absolute;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;display:grid;place-items:center;color:var(--ac);
  background:var(--s2,#1d1d1b);border:1px solid color-mix(in srgb,var(--ac) 40%,transparent);animation:rblip 4.2s ease-out var(--d) infinite}
.paper .m-radar .bl{background:#fff}
.m-radar .bl .ic{width:16px;height:16px}
@keyframes rblip{0%{opacity:.25;transform:scale(.8)}8%{opacity:1;transform:scale(1.15);box-shadow:0 0 0 8px color-mix(in srgb,var(--ac) 25%,transparent)}30%{transform:scale(1);box-shadow:0 0 0 0 transparent}100%{opacity:.25;transform:scale(.8)}}
/* 网络数据流 */
.m-net>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.m-net>svg line{stroke:color-mix(in srgb,var(--ac) 35%,transparent);stroke-width:.4;stroke-dasharray:1.5 1.5}
.m-net>svg circle{fill:var(--ac)}
.m-net .nd{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:12px;display:grid;place-items:center;color:var(--ac);
  background:var(--s2,#1d1d1b);border:1px solid color-mix(in srgb,var(--ac) 35%,transparent);animation:nfloat 5s ease-in-out calc(var(--k)*-.8s) infinite}
.paper .m-net .nd{background:#fff}
.m-net .nd .ic{width:18px;height:18px}
@keyframes nfloat{50%{transform:translateY(-6px)}}
.m-net .core{animation:npulse 2.2s ease-in-out infinite}
@keyframes npulse{50%{box-shadow:0 0 0 12px color-mix(in srgb,var(--ac) 18%,transparent),0 18px 44px -12px color-mix(in srgb,var(--ac) 70%,transparent)}}
/* 点阵波 */
.m-wave{width:min(360px,64%)!important;aspect-ratio:3/2!important}
.m-wave .dg{position:absolute;inset:0;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(8,1fr);place-items:center}
.m-wave .dg i{width:6px;height:6px;border-radius:50%;background:var(--ac);opacity:.18;animation:wdot 2.8s ease-in-out var(--d) infinite}
@keyframes wdot{0%,100%{opacity:.14;transform:scale(.8)}20%{opacity:.95;transform:scale(1.5)}}
@media (max-width:860px){.bc.s-l.wide .mo,.bc.s-l .mo{left:50%;top:30%;width:min(230px,62%)}}
@media (prefers-reduced-motion:reduce){.m-radar .sw,.m-radar .bl,.m-net .nd,.m-net .core,.m-wave .dg i{animation:none}.m-net circle{display:none}}
/* viz 清单通栏 */
.vzs.has-l{grid-template-columns:1fr auto;row-gap:48px}
.vzs.has-l .vz-g{display:contents}
.vzs.has-l .vl{grid-column:1/-1;columns:auto;display:grid;grid-template-columns:repeat(4,1fr);column-gap:28px}
.vzs.has-l .vl li{padding:14px 0}
@media (max-width:980px){.vzs.has-l{grid-template-columns:1fr}.vzs.has-l .vl{grid-template-columns:repeat(2,1fr)}}

/* 09-26 科技卡 .tk(角色 / 相关资讯 / 相关产品):入场扫描线、边框光流、鼠标柔光、要点逐条点亮 */
@property --ang{syntax:"<angle>";initial-value:0deg;inherits:false}
.tk{position:relative;isolation:isolate;overflow:hidden}
.tk:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),color-mix(in srgb,var(--ac) 16%,transparent),transparent 50%);opacity:0;transition:opacity .4s}
.tk:hover:before{opacity:1}
.tk:after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:conic-gradient(from var(--ang),transparent 0 70%,color-mix(in srgb,var(--ac) 90%,#fff) 82%,transparent 94%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0}
.tk.in:after{animation:tkflow 2.4s var(--ease) calc(var(--i,0)*.12s + .2s) 1 both}
.tk:hover:after{opacity:1;animation:tkspin 3s linear infinite}
@keyframes tkflow{0%{opacity:0;--ang:0deg}15%{opacity:1}85%{opacity:1}100%{opacity:0;--ang:360deg}}
@keyframes tkspin{to{--ang:360deg}}
.tk .scan{position:absolute;left:0;right:0;top:0;height:40%;pointer-events:none;z-index:-1;
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--ac) 14%,transparent) 80%,color-mix(in srgb,var(--ac) 45%,transparent));
  transform:translateY(-110%);opacity:0}
.tk.in .scan{animation:tkscan 1.3s var(--ease) calc(var(--i,0)*.12s) 1 both}
@keyframes tkscan{0%{transform:translateY(-110%);opacity:1}100%{transform:translateY(260%);opacity:0}}
.js .tk.rv{opacity:0;transform:translateY(26px);filter:blur(6px);
  transition:opacity .8s var(--ease) calc(var(--i,0)*.12s),transform .9s var(--ease) calc(var(--i,0)*.12s),filter .8s var(--ease) calc(var(--i,0)*.12s),box-shadow .4s,border-color .3s}
.js .tk.rv.in{opacity:1;transform:none;filter:none}
.tk:hover{box-shadow:0 30px 60px -36px color-mix(in srgb,var(--ac) 60%,transparent)}
/* 角色卡 */
.rog{grid-template-columns:repeat(6,1fr)!important}
.ro{display:flex;flex-direction:column;transition:transform .45s var(--ease),box-shadow .45s,border-color .3s}
.ro:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--ac) 40%,transparent)}
.ro .rh{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.ro .rh .rn{margin:0}
.ro .av{position:relative;flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--ac) 14%,transparent);color:var(--ac)}
.ro .av .ic{width:20px;height:20px}
.ro .av:after{content:"";position:absolute;inset:-4px;border-radius:15px;border:1px solid var(--ac);opacity:0}
.ro.in .av:after{animation:tkping 2.6s ease-out calc(var(--i,0)*.12s + .4s) 2}
@keyframes tkping{0%{opacity:.7;transform:scale(.85)}100%{opacity:0;transform:scale(1.35)}}
.ro li{opacity:.35;transform:translateX(-6px);transition:opacity .6s var(--ease) calc(var(--i,0)*.12s + .5s + var(--k)*.12s),transform .6s var(--ease) calc(var(--i,0)*.12s + .5s + var(--k)*.12s),color .3s}
.ro.in li,.no-js .ro li{opacity:1;transform:none}
.ro li:before{transform:scale(0);transition:transform .5s cubic-bezier(.3,1.6,.5,1) calc(var(--i,0)*.12s + .55s + var(--k)*.12s)}
.ro.in li:before{transform:scale(1)}
.ro:hover li{color:var(--ink2)}
@media (max-width:860px){.rog{grid-template-columns:1fr 1fr!important}.rog .ro{grid-column:auto!important}}
@media (max-width:600px){.rog{grid-template-columns:1fr!important}}
@media (prefers-reduced-motion:reduce){.js .tk.rv{opacity:1;transform:none;filter:none}.tk.in:after,.tk.in .scan,.ro.in .av:after{animation:none}.ro li{opacity:1;transform:none}.ro li:before{transform:none}}

/* 模块清单:错峰入场 + 悬停主色竖线 */
.md{position:relative}
.md:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ac);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease)}
.md:hover:after{transform:scaleY(1)}
.js .mods .md.rv{transition:opacity .8s var(--ease) calc(var(--i,0)*.06s),transform .9s var(--ease) calc(var(--i,0)*.06s),background .4s}

/* 09-26 便当盒升级:大卡星轨 / 主色填充卡 / 三种风格 / 错峰入场 */
.bc .no{position:absolute;top:26px;right:28px;font:600 12px/1 var(--sans);letter-spacing:.06em;opacity:.45}
.js .bento .bc.rv{opacity:0;transform:translateY(28px) scale(.965);filter:blur(8px);
  transition:opacity .9s var(--ease) calc(var(--i)*.09s),transform 1s var(--ease) calc(var(--i)*.09s),filter .9s var(--ease) calc(var(--i)*.09s),border-color .3s,box-shadow .4s}
.js .bento .bc.rv.in{opacity:1;transform:none;filter:none}
.bc{transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s}
.bc:hover{transform:translateY(-4px);box-shadow:0 28px 60px -34px color-mix(in srgb,var(--ac) 55%,transparent);border-color:color-mix(in srgb,var(--ac) 45%,transparent)}
.bc .ic path{stroke-dasharray:160;stroke-dashoffset:160;transition:stroke-dashoffset 1.4s var(--ease) calc(var(--i)*.09s + .3s)}
.bc.in .ic path,.no-js .bc .ic path{stroke-dashoffset:0}
/* 大卡:主图标居中,其余能力图标沿两道轨道慢转 */
.bc.s-l{justify-content:flex-end;min-height:460px}
.bc.s-l h3,.bc.s-l p{position:relative;z-index:1}
.bc .orb{position:absolute;left:50%;top:36%;width:min(270px,52%);aspect-ratio:1;transform:translate(-50%,-50%);z-index:-1;pointer-events:none}
.bc .orb .c1,.bc .orb .c2{position:absolute;inset:0;border-radius:50%;border:1px dashed color-mix(in srgb,var(--ac) 35%,transparent)}
.bc .orb .c2{inset:22%;border-style:solid;border-color:color-mix(in srgb,var(--ac) 22%,transparent)}
.bc .orb .core{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:26px;display:grid;place-items:center;
  background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--ac) 55%,#fff),var(--ac));box-shadow:0 20px 50px -12px color-mix(in srgb,var(--ac) 70%,transparent);animation:orbpulse 4s ease-in-out infinite}
.bc .orb .core .ic{width:38px;height:38px;color:#111110;margin:0}
.bc .orb .sat{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:14px;display:grid;place-items:center;
  background:var(--s2,#1d1d1b);border:1px solid color-mix(in srgb,var(--ac) 35%,transparent);animation:orbit 26s linear infinite;--r:min(170px,35cqw)}
.paper .bc .orb .sat{background:#fff}
.bc .orb .sat .ic{width:20px;height:20px;margin:0}
.bc .orb{container-type:inline-size}
.bc .orb .sat{transform:rotate(var(--a)) translateX(50cqw) rotate(calc(-1 * var(--a)))}
@keyframes orbit{from{transform:rotate(var(--a)) translateX(50cqw) rotate(calc(-1 * var(--a)))}to{transform:rotate(calc(var(--a) + 360deg)) translateX(50cqw) rotate(calc(-1 * var(--a) - 360deg))}}
@keyframes orbpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
/* 主色填充卡 */
/* 通栏大卡:文字靠左,星轨在右 */
.bc.s-l.wide{grid-column:1/-1;grid-row:auto;min-height:300px;padding-right:48%}
.bc.s-l.wide .orb{left:76%;top:50%;width:min(250px,36%)}
.bc.fill{background:var(--ac);border-color:var(--ac);color:#111110}
.bc.fill .ic{color:#111110}.bc.fill p,.night .bc.fill p,.paper .bc.fill p{color:rgba(17,17,16,.78)}.bc.fill h3{color:#111110}.bc.fill .no{opacity:.6}
.bc.fill:before{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.35),transparent 45%)}
/* 风格 1:渐变描边玻璃 */
.bv1 .bc:not(.fill){background:linear-gradient(160deg,color-mix(in srgb,var(--ac) 10%,var(--s2,#171715)),var(--s2,#171715) 60%);border-color:color-mix(in srgb,var(--ac) 28%,transparent)}
.paper .bv1 .bc:not(.fill){background:linear-gradient(160deg,color-mix(in srgb,var(--ac) 9%,#fff),#fff 60%)}
/* 风格 2:编号大字线框 */
.bv2 .bc:not(.fill){background:transparent}
.bv2 .bc .no{font:600 clamp(40px,4vw,56px)/1 var(--serif);letter-spacing:-.04em;opacity:.12;top:20px}
@media (max-width:860px){.bc.s-l.wide{padding-right:30px}.bc.s-l.wide .orb,.bc.s-l .orb{left:50%;top:30%;width:min(230px,62%)}.bc.s-l,.bc.s-l.wide{min-height:440px}.bento .bc[style*="grid-column"]{grid-column:span 2!important}}
@media (max-width:640px){.bento .bc[style*="grid-column"]{grid-column:auto!important}}
@media (prefers-reduced-motion:reduce){.js .bento .bc.rv{opacity:1;transform:none;filter:none}.bc .ic path{stroke-dashoffset:0}.bc .orb .sat,.bc .orb .core{animation:none}}

/* 功能卡(09-26):图文块右侧,由本块要点生成 */
.fc{position:relative;border-radius:24px;padding:clamp(22px,2.4vw,32px);background:var(--s2,#161615);border:1px solid var(--nline);
  box-shadow:0 40px 80px -40px rgba(0,0,0,.55);overflow:hidden}
.paper .fc{background:#fff;border-color:var(--pline);box-shadow:0 40px 80px -44px rgba(17,17,16,.28)}
.fc:before{content:"";position:absolute;right:-30%;top:-40%;width:80%;height:90%;background:radial-gradient(closest-side,color-mix(in srgb,var(--ac) 22%,transparent),transparent);pointer-events:none}
.fc .ic{width:20px;height:20px;color:var(--ac);flex:none}
.fc .fh{display:flex;align-items:center;gap:10px;font:600 12px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ac);padding-bottom:16px;margin-bottom:6px;border-bottom:1px solid var(--nline)}
.paper .fc .fh{border-bottom-color:var(--pline)}
.fc .fh span{flex:1}.fc .fh i{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.25}
.js .fc li,.js .fc .tl,.js .fc .sc{opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease) calc(var(--i)*.09s + .15s),transform .6s var(--ease) calc(var(--i)*.09s + .15s)}
.js .sp-v.in .fc li,.js .sp-v.in .fc .tl,.js .sp-v.in .fc .sc{opacity:1;transform:none}
.fc0 ol{list-style:none;margin:0;padding:0}
.fc0 li{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--nline);font-size:15px;line-height:1.5}
.paper .fc0 li{border-bottom-color:var(--pline)}
.fc0 li:last-child{border-bottom:0}
.fc0 .n{flex:none;font:600 12px/22px var(--sans);color:var(--ac);width:26px}
.fc0 .t{flex:1}.fc0 b{flex:none;color:var(--ac);font-size:13px;line-height:22px}
.fc1 .tg{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fc1 .tl{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:16px;background:rgba(244,241,234,.04);border:1px solid var(--nline);font-size:14.5px;line-height:1.45}
.paper .fc1 .tl{background:#F7F5F0;border-color:var(--pline)}
.fc1 .tl:first-child{grid-column:1/-1;background:color-mix(in srgb,var(--ac) 12%,transparent);border-color:color-mix(in srgb,var(--ac) 35%,transparent)}
.fc2 .tln{list-style:none;margin:8px 0 0;padding:0;position:relative}
.fc2 .tln:before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:1.5px;background:linear-gradient(var(--ac),transparent)}
.fc2 li{position:relative;padding:12px 0 12px 34px;font-size:15px;line-height:1.5}
.fc2 li em{position:absolute;left:0;top:15px;width:16px;height:16px;border-radius:50%;border:2px solid var(--ac);background:var(--s2,#161615)}
.paper .fc2 li em{background:#fff}
.fc2 li:first-child em{background:var(--ac)}
.fc3 .stk{display:flex;flex-direction:column;gap:10px}
.fc3 .sc{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;border:1px solid var(--nline);background:rgba(244,241,234,.03);font-size:15px;line-height:1.45;margin-left:calc(var(--i) * 10px)}
.paper .fc3 .sc{background:#F7F5F0;border-color:var(--pline)}
.fc3 .sc.hi{background:var(--ac);border-color:var(--ac);color:#111110;font-weight:500}
.fc3 .sc.hi .ic{color:#111110}
@media (max-width:860px){.fc1 .tg{grid-template-columns:1fr}.fc3 .sc{margin-left:0}}
@media (prefers-reduced-motion:reduce){.fc li,.fc .tl,.fc .sc{opacity:1;transform:none;transition:none}}

/* 09-26 产品页加深:真实截图 / 完整能力清单 / 按角色 */
.pp .sub{font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:var(--muted);max-width:44em;margin-top:18px}
.night .pp .sub,.pp .night .sub{color:#a1a1a6}
.scrg{display:grid;grid-template-columns:repeat(12,1fr);gap:28px 24px;margin-top:10px;align-items:start}
.si{margin:0;grid-column:span 6}
.si.desktop:first-child{grid-column:1/-1}
.si.phone{grid-column:span 3}
.si .fr{border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(17,17,16,.35)}
.si .bb{display:flex;gap:6px;padding:10px 12px;background:#F2F0EB;border-bottom:1px solid var(--line)}
.si .bb i{width:9px;height:9px;border-radius:50%;background:#d6d2c8}
.si img{display:block;width:100%;height:auto}
.si.phone .fr{border-radius:34px;border:8px solid #111110;background:#111110;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.si.phone .fr img{border-radius:26px}
.si.mockup{grid-column:span 3}
.si.mockup .fr{border:0;background:transparent;box-shadow:none;border-radius:22px}
.si figcaption{margin-top:14px;font-size:14px;line-height:1.5;color:var(--muted)}
.specg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:36px 32px;margin-top:10px}
.sg h3{font:600 17px/1.3 var(--sans)!important;letter-spacing:-.01em;padding-bottom:12px;border-bottom:1px solid rgba(244,241,234,.18);margin-bottom:12px;color:#F4F1EA}
.paper .sg h3{color:var(--ink);border-bottom-color:var(--line)}
.sg ul{list-style:none;margin:0;padding:0}
.sg li{position:relative;padding:5px 0 5px 18px;font-size:14.5px;line-height:1.5;color:#b8b6b0}
.paper .sg li{color:var(--ink2)}
.sg li:before{content:"";position:absolute;left:0;top:13px;width:8px;height:1.5px;background:var(--ac)}
.rog{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px;margin-top:10px}
.ro{padding:28px 26px;border:1px solid var(--line);border-radius:20px;background:var(--paper)}
.ro .rn{display:block;font:600 13px/1 var(--sans);letter-spacing:.05em;color:var(--ac);text-transform:uppercase;margin-bottom:14px}
.ro p{font:600 19px/1.35 var(--serif);letter-spacing:-.01em;color:var(--ink)}
.ro ul{margin:14px 0 0 0;padding:0;list-style:none}
.ro li{position:relative;padding:5px 0 5px 16px;font-size:14.5px;line-height:1.55;color:var(--muted)}
.ro li:before{content:"";position:absolute;left:0;top:13px;width:6px;height:6px;border-radius:50%;background:var(--ac);opacity:.7}
@media (max-width:860px){.si,.si.desktop:first-child{grid-column:1/-1}.si.phone,.si.mockup{grid-column:span 6}}

/* 产品页「相关洞察」(09-26) */
.insec{border-top:1px solid var(--line)}
.ins-hd{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.ins-all{display:inline-flex;align-items:center;gap:8px;font:500 14px/1 var(--sans);color:var(--ink2);padding-bottom:6px}
.ins-all .ar{width:14px;height:14px}
.insg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:20px;margin-top:8px}
.insg .ins{display:flex;flex-direction:column;gap:10px;padding:26px 24px;border:1px solid var(--line);border-radius:18px;background:var(--paper);transition:border-color .3s,transform .4s var(--ease)}
.insg .ins:hover{border-color:var(--ac);transform:translateY(-3px)}
.insg .m{font:600 12px/1 var(--sans);letter-spacing:.04em;color:var(--ac)}
.insg h3{font:600 20px/1.3 var(--serif);letter-spacing:-.01em}
.insg p{font-size:14.5px;line-height:1.6;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* ══ 英文产品页(products.py)══════════════════════════════════════════════ */
.pp{--ac:#B1382A}
.pp .eyb{font:600 12px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ac);margin-bottom:18px}
.pp h2{font:var(--fw,600) clamp(32px,4vw,56px)/1.06 var(--fd,var(--serif));letter-spacing:var(--ls,-.03em);max-width:18ch}
.pp h3{font-family:var(--fd,var(--serif))!important}
.pp{font-family:var(--fb,var(--sans))}
.pp h2 em,.pp h1 em{font-style:normal;color:#86868b}
.pp .night h2 em,.ph-hero h1 em{color:rgba(242,239,232,.5)}
.pp .hd{margin-bottom:clamp(28px,3.5vw,44px)}
.pb{padding:clamp(56px,6.5vw,96px) 0;position:relative;overflow:hidden}
/* 09-26 舒帅「版块间距太大」:实测每块上下各 140px、两块之间 280px 空白,留白占整页 29%;
   且同色块常连排(AIPOS 连续 6 块深色),没有色差分隔,空白更显空。
   现在:单边 ≤96px;同色相邻时后一块不再加顶部留白,两块之间只剩一份间距。 */
.pb.night+.pb.night,.pb.paper+.pb.paper{padding-top:0}
.pb.paper{background:var(--b1,var(--paper));color:var(--t1,#1d1d1f)}
.pb.night{background:var(--b2,var(--night));color:var(--t2,var(--nink))}
.pb.night p{color:var(--m2,#a1a1a6)}
.pb.paper p{color:var(--m1,#6e6e73)}

/* 首屏:左文右图 + 数字计数 */
.ph-hero{background:#0c0c0b;color:#F4F1EA;padding-top:72px;position:relative;overflow:hidden}
.ph-hero:before{content:"";position:absolute;right:-10%;top:-20%;width:70%;height:120%;background:radial-gradient(closest-side,color-mix(in srgb,var(--ac) 28%,transparent),transparent 70%);opacity:.55;pointer-events:none}
.ph-g{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,5vw,80px);align-items:center;min-height:min(78vh,760px);padding-top:clamp(40px,6vw,80px);padding-bottom:clamp(40px,6vw,80px);position:relative}
.crumb,.crumb-s,.crumb-c{font:500 13px/1 var(--sans);color:rgba(244,241,234,.5)}
.crumb:hover{color:#F4F1EA}.crumb-s{margin:0 8px}.crumb-c{color:rgba(244,241,234,.8)}
.ph-t .eyb{margin-top:34px}
.ph-hero h1{font:600 clamp(40px,5.4vw,78px)/1.04 var(--serif);letter-spacing:-.035em;max-width:13ch;animation:up 1.1s var(--ease) both}
.ph-hero p{font:400 clamp(17px,1.4vw,21px)/1.45 var(--sans);letter-spacing:-.01em;color:rgba(244,241,234,.75);max-width:30em;margin-top:24px;animation:up 1.1s var(--ease) .12s both}
.ph-hero .acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px;animation:up 1.1s var(--ease) .24s both}
.b2.dk{border-color:rgba(244,241,234,.35)}
.ph-v{position:relative;aspect-ratio:4/5;max-height:620px;overflow:hidden;border-radius:4px;animation:up 1.3s var(--ease) .1s both}
.ph-v img{width:100%;height:100%;object-fit:cover;filter:saturate(.85);transform:scale(1.06);animation:ghkb 20s var(--ease) forwards}
.ph-v:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(12,12,11,.55));pointer-events:none}
.ph-v .glow{position:absolute;left:-1px;right:-1px;bottom:-1px;height:3px;background:var(--ac);z-index:2}
.ph-ph{width:100%;height:100%;background:linear-gradient(135deg,#1c1c1a,#2a2a27)}
.ph-stats{border-top:1px solid rgba(244,241,234,.14);position:relative}
.ph-stats .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.ph-stats div div{padding:28px 24px 32px 0}
.ph-stats div div+div{padding-left:24px;border-left:1px solid rgba(244,241,234,.14)}
.ph-stats b{display:block;font:600 clamp(34px,3.4vw,48px)/1 var(--serif);letter-spacing:-.03em;color:#F4F1EA}
.ph-stats div div{opacity:0;transform:translateY(14px);animation:up 1s var(--ease) both}
.ph-stats div div:nth-child(2){animation-delay:.1s}.ph-stats div div:nth-child(3){animation-delay:.2s}.ph-stats div div:nth-child(4){animation-delay:.3s}
.ph-stats span{display:block;margin-top:10px;font-size:14px;color:rgba(244,241,234,.6);line-height:1.4}

/* 便当盒网格 + 跟随鼠标的主色柔光 */
.bento{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(210px,auto);grid-auto-flow:row dense;gap:14px}
.bc{position:relative;grid-column:span 2;padding:30px;border-radius:var(--rad,18px);background:var(--s2,#171715);border:1px solid var(--nline);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.paper .bc{background:var(--s1,#fff);border-color:var(--pline)}
.bc.s-l{grid-column:span 4;grid-row:span 2}
.bc.s-m{grid-column:span 3}
.bc:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--ac) 22%,transparent),transparent 45%);opacity:0;transition:opacity .4s}
.bc:hover:before{opacity:1}
.bc .ic{width:30px;height:30px;color:var(--ac);margin-bottom:auto}
.bc h3{font:600 22px/1.2 var(--serif);letter-spacing:-.015em;margin:26px 0 8px}
.bc.s-l h3{font-size:clamp(26px,2.4vw,34px)}
.bc p{font-size:15px;line-height:1.5}

/* 左文右图 */
.sp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:center}
.sp.flip .sp-t{order:2}
.sp-t p{font-size:clamp(17px,1.35vw,20px);line-height:1.5;margin-top:22px;max-width:32em}
.sp-t ul{list-style:none;margin-top:28px}
.sp-t li{padding:13px 0 13px 28px;border-top:1px solid var(--pline);font-size:15.5px;position:relative}
.night .sp-t li{border-top-color:var(--nline)}
.sp-t li:before{content:"";position:absolute;left:0;top:20px;width:12px;height:2px;background:var(--ac)}
.vz{position:relative;aspect-ratio:5/4;border-radius:var(--rad,20px);background:var(--s2,#141413);border:1px solid var(--nline);overflow:hidden}
.paper .vz{background:var(--s1,#fff);border-color:var(--pline)}
.v-flow svg{width:100%;height:100%;padding:8%}
.v-flow .fl{fill:none;stroke:var(--ac);stroke-width:2;stroke-dasharray:6 8;animation:dash 2.2s linear infinite;opacity:.8}
.v-flow circle{fill:#2a2a27;stroke:var(--ac);stroke-width:2}.paper .v-flow circle{fill:#f2f0ea}
.v-flow .hub{fill:var(--ac)}
@keyframes dash{to{stroke-dashoffset:-56}}
.v-stack{display:grid;place-items:center}
.v-stack i{position:absolute;width:62%;height:44%;border-radius:14px;background:#22221f;border:1px solid var(--nline);box-shadow:0 20px 40px -20px rgba(0,0,0,.6);animation:float 6s ease-in-out infinite}
.paper .v-stack i{background:#faf9f6;border-color:var(--pline);box-shadow:0 20px 40px -24px rgba(0,0,0,.25)}
.v-stack i:nth-child(1){transform:translate(-14%,-18%) rotate(-6deg)}
.v-stack i:nth-child(2){transform:translate(-4%,-6%) rotate(-2deg);animation-delay:-1.5s}
.v-stack i:nth-child(3){transform:translate(6%,6%) rotate(2deg);animation-delay:-3s;border-top:3px solid var(--ac)}
.v-stack i:nth-child(4){transform:translate(16%,18%) rotate(6deg);animation-delay:-4.5s}
@keyframes float{50%{margin-top:-10px}}
.v-chat{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:10%}
.v-chat p{display:flex;flex-direction:column;gap:6px;align-self:flex-start;max-width:70%;padding:14px 16px;border-radius:16px 16px 16px 4px;background:#23231f;opacity:0;transform:translateY(10px)}
.paper .v-chat p{background:#f2f0ea}
.v-chat p.me{align-self:flex-end;background:var(--ac);border-radius:16px 16px 4px 16px}
.v-chat span{display:block;height:8px;width:160px;max-width:100%;border-radius:4px;background:rgba(255,255,255,.28)}
.paper .v-chat p:not(.me) span{background:rgba(0,0,0,.14)}
.v-chat .w40{width:40%}.v-chat .w50{width:90px}.v-chat .w60{width:60%}.v-chat .w80{width:80%}
.in .v-chat p,.v-chat.in p{animation:pop .6s var(--ease) forwards}
.sp-v.in .v-chat p:nth-child(1){animation:pop .6s var(--ease) .1s forwards}.sp-v.in .v-chat p:nth-child(2){animation:pop .6s var(--ease) .6s forwards}
.sp-v.in .v-chat p:nth-child(3){animation:pop .6s var(--ease) 1.1s forwards}.sp-v.in .v-chat p:nth-child(4){animation:pop .6s var(--ease) 1.6s forwards}
@keyframes pop{to{opacity:1;transform:none}}
.v-chat .typing{flex-direction:row}.v-chat .typing b{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.4);animation:blink 1.2s infinite}
.paper .v-chat .typing b{background:rgba(0,0,0,.25)}
.v-chat .typing b:nth-child(2){animation-delay:.2s}.v-chat .typing b:nth-child(3){animation-delay:.4s}
@keyframes blink{50%{opacity:.2}}
.v-ledger{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:9%}
.v-ledger div{display:grid;grid-template-columns:28px 1fr 70px;gap:14px;align-items:center;padding:12px 14px;border-radius:10px;background:#1e1e1b;opacity:0;transform:translateX(-14px)}
.paper .v-ledger div{background:#f5f3ee}
.v-ledger i{width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--ac) 35%,transparent)}
.v-ledger em{height:8px;border-radius:4px;background:rgba(128,128,128,.35)}
.v-ledger s{height:8px;border-radius:4px;background:var(--ac);opacity:.8}
.sp-v.in .v-ledger div{animation:slide .7s var(--ease) forwards}
.sp-v.in .v-ledger div:nth-child(2){animation-delay:.12s}.sp-v.in .v-ledger div:nth-child(3){animation-delay:.24s}
.sp-v.in .v-ledger div:nth-child(4){animation-delay:.36s}.sp-v.in .v-ledger div:nth-child(5){animation-delay:.48s}.sp-v.in .v-ledger div:nth-child(6){animation-delay:.6s}
@keyframes slide{to{opacity:1;transform:none}}
.v-orbit{display:grid;place-items:center}
.v-orbit .core{width:22%;aspect-ratio:1;border-radius:50%;background:var(--ac);box-shadow:0 0 60px color-mix(in srgb,var(--ac) 60%,transparent)}
.v-orbit .ring{position:absolute;border:1px dashed rgba(128,128,128,.35);border-radius:50%;animation:spin 26s linear infinite}
.v-orbit .r1{width:52%;aspect-ratio:1}.v-orbit .r2{width:80%;aspect-ratio:1;animation-duration:40s;animation-direction:reverse}
.v-orbit b{position:absolute;width:26px;height:26px;border-radius:8px;background:#2a2a27;border:1px solid var(--ac)}
.paper .v-orbit b{background:#fff}
.v-orbit b:nth-child(1){top:-13px;left:calc(50% - 13px)}.v-orbit b:nth-child(2){bottom:10%;left:4%}.v-orbit b:nth-child(3){bottom:10%;right:4%}.v-orbit b:nth-child(4){top:40%;right:-13px}
@keyframes spin{to{transform:rotate(360deg)}}
.v-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:9%}
.v-grid i{border-radius:10px;background:#1f1f1c;animation:gp 4s ease-in-out infinite}
.paper .v-grid i{background:#efece5}
.v-grid .g1{animation-delay:.4s}.v-grid .g2{animation-delay:.8s;background:color-mix(in srgb,var(--ac) 40%,transparent)}.v-grid .g3{animation-delay:1.2s}.v-grid .g4{animation-delay:1.6s}
@keyframes gp{50%{opacity:.45;transform:scale(.94)}}
.v-doc{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;padding:9%}
.v-doc .pg,.v-doc .nt{border-radius:12px;background:#1e1e1b;padding:18px;display:flex;flex-direction:column;gap:10px}
.paper .v-doc .pg,.paper .v-doc .nt{background:#f5f3ee}
.v-doc i{display:block;height:8px;border-radius:4px;background:rgba(128,128,128,.32)}
.v-doc .hl{background:color-mix(in srgb,var(--ac) 55%,transparent);animation:hl 3s ease-in-out infinite}
.v-doc .w60{width:60%}.v-doc .w70{width:70%}.v-doc .w80{width:80%}
.v-doc .nt{border-left:3px solid var(--ac);align-self:start}
.v-doc .nt b{width:40%;height:10px;border-radius:4px;background:var(--ac)}
@keyframes hl{50%{opacity:.5}}
.v-radar{display:grid;place-items:center;background-image:radial-gradient(circle,transparent 20%,rgba(128,128,128,.14) 20.5%,transparent 21%,transparent 40%,rgba(128,128,128,.14) 40.5%,transparent 41%,transparent 60%,rgba(128,128,128,.14) 60.5%,transparent 61%)}
.v-radar .sw{position:absolute;width:120%;aspect-ratio:1;background:conic-gradient(from 0deg,color-mix(in srgb,var(--ac) 45%,transparent),transparent 25%);border-radius:50%;animation:spin 4s linear infinite}
.v-radar b{position:absolute;left:var(--x);top:var(--y);width:10px;height:10px;border-radius:50%;background:var(--ac);box-shadow:0 0 0 0 var(--ac);animation:ping 2.4s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ac) 60%,transparent)}100%{box-shadow:0 0 0 18px transparent}}
.v-map{background-image:radial-gradient(rgba(128,128,128,.28) 1.2px,transparent 1.3px);background-size:16px 16px}
.v-map b{position:absolute;left:var(--x);top:var(--y);width:12px;height:12px;border-radius:50%;background:var(--ac);animation:ping 2.4s var(--d) infinite}
.v-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;padding:9%}
.v-cal i{aspect-ratio:1;border-radius:8px;background:#1f1f1c}.paper .v-cal i{background:#efece5}
.v-cal i.on{background:var(--ac);animation:gp 3.6s ease-in-out infinite}

/* 步骤时间轴 */
.steps{list-style:none;display:grid;grid-template-columns:repeat(var(--n),1fr);gap:28px;position:relative;padding-top:34px}
.steps .track{position:absolute;left:0;right:0;top:0;height:2px;background:var(--pline)}
.night .steps .track{background:var(--nline)}
.steps .track i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--ac);transition:width 1.8s var(--ease)}
.steps.go .track i{width:100%}
.steps li{position:relative}
.steps li:before{content:"";position:absolute;top:-40px;left:0;width:12px;height:12px;border-radius:50%;background:var(--ac);box-shadow:0 0 0 6px color-mix(in srgb,var(--ac) 18%,transparent)}
.steps .no{font:600 13px/1 var(--sans);color:var(--ac);letter-spacing:.04em}
.steps h3{font:600 22px/1.2 var(--serif);letter-spacing:-.015em;margin:14px 0 10px}
.steps p{font-size:15px;line-height:1.5}

/* 真实数量可视化 */
.vzs{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,6vw,96px);align-items:center}
.vz-t p{font-size:clamp(17px,1.35vw,20px);line-height:1.5;margin-top:22px;max-width:30em}
.vz-g{display:grid;grid-template-columns:auto 1fr;gap:36px;align-items:center}
.ring,.ticks{position:relative;width:min(300px,70vw);aspect-ratio:1}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke:var(--ac);stroke-width:22;opacity:0;transition:opacity .5s var(--ease) calc(var(--i)*90ms)}
.in .ring circle{opacity:calc(1 - var(--i)*.045)}
.ring .c,.ticks .c{position:absolute;inset:0;display:grid;place-items:center}
.ring .c b,.ticks .c b{font:600 clamp(56px,6vw,84px)/1 var(--serif);letter-spacing:-.04em}
.ticks .tk{position:absolute;inset:0}
.ticks .tk i{position:absolute;left:50%;top:0;width:3px;height:18%;margin-left:-1.5px;background:var(--ac);border-radius:2px;transform-origin:50% 278%;transform:rotate(var(--r));opacity:0;transition:opacity .4s calc(var(--i)*60ms)}
.in .ticks .tk i{opacity:1}
.dots{display:grid;grid-template-columns:repeat(var(--cols),22px);gap:12px}
.dots i{width:22px;height:22px;border-radius:50%;background:var(--ac);transform:scale(0);transition:transform .45s var(--ease) calc(var(--i)*40ms)}
.in .dots i{transform:scale(1)}
.vl{list-style:none;columns:2;column-gap:22px}
.vl li{break-inside:avoid;padding:9px 0;border-top:1px solid var(--nline);font-size:14.5px;opacity:0;transform:translateY(8px);transition:opacity .5s calc(var(--i)*70ms),transform .5s calc(var(--i)*70ms)}
.paper .vl li{border-top-color:var(--pline)}
.in .vl li{opacity:1;transform:none}
.vl span{display:inline-block;width:28px;color:var(--ac);font-weight:600;font-size:12px}

/* 滚动标签带 */
.chipsec{padding-bottom:clamp(72px,8vw,110px)}
.mq{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq+.mq{margin-top:14px}
.mq-r{display:flex;gap:12px;width:max-content;animation:mq 40s linear infinite}
.mq.rev .mq-r{animation-direction:reverse;animation-duration:48s}
.mq:hover .mq-r{animation-play-state:paused}
.mq span{white-space:nowrap;padding:14px 22px;border-radius:999px;border:1px solid var(--nline);font-size:15.5px;letter-spacing:-.01em}
.paper .mq span{border-color:var(--pline)}
.mq span:nth-child(3n){background:color-mix(in srgb,var(--ac) 16%,transparent);border-color:transparent}
@keyframes mq{to{transform:translateX(-50%)}}

/* 对比表 */
.cmp{border-top:1px solid var(--pline)}
.night .cmp{border-top-color:var(--nline)}
.cr{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:28px;padding:24px 0;border-bottom:1px solid var(--pline);align-items:baseline}
.night .cr{border-bottom-color:var(--nline)}
.cr.ch{font:600 12px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#86868b;padding:18px 0}
.cr.ch div:last-child{color:var(--ac)}
.cl{font:600 18px/1.3 var(--serif);letter-spacing:-.01em}
.cb{color:#86868b;font-size:15.5px;line-height:1.5;text-decoration:line-through;text-decoration-color:rgba(134,134,139,.45)}
.ca{font-size:15.5px;line-height:1.5;padding-left:18px;border-left:2px solid var(--ac)}

/* 大字主张 */
.qsec blockquote{font:600 clamp(34px,4.6vw,68px)/1.08 var(--serif);letter-spacing:-.035em;max-width:20ch}
.qsec blockquote em{font-style:normal;color:var(--ac)}

/* 模块清单 */
.mods{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--pline);border-left:1px solid var(--pline)}
.night .mods{border-color:var(--nline)}
.md{padding:28px;border-right:1px solid var(--pline);border-bottom:1px solid var(--pline);transition:background .4s}
.night .md{border-color:var(--nline)}
.md:hover{background:color-mix(in srgb,var(--ac) 8%,transparent)}
.md .mn{font:600 12px/1 var(--sans);color:var(--ac)}
.md h3{font:600 20px/1.25 var(--serif);letter-spacing:-.015em;margin:18px 0 8px}
.md p{font-size:14.5px;line-height:1.5}

/* FAQ */
.faqg{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.faq details{border-top:1px solid var(--pline)}
.faq details:last-child{border-bottom:1px solid var(--pline)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:24px 0;font:600 19px/1.35 var(--serif);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;position:relative;width:18px;height:18px;margin-top:4px}
.faq summary i:before,.faq summary i:after{content:"";position:absolute;left:0;right:0;top:8px;height:2px;background:currentColor;transition:transform .35s var(--ease)}
.faq summary i:after{transform:rotate(90deg)}
.faq details[open] summary i:after{transform:rotate(0)}
.faq details p{padding:0 0 26px;font-size:16px;line-height:1.55;max-width:42em}

/* 相关产品 + CTA */
.rels{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rl{position:relative;display:flex;flex-direction:column;gap:10px;padding:30px;border-radius:var(--rad,18px);background:var(--s2,#171715);border:1px solid var(--nline);transition:transform .45s var(--ease),border-color .45s}
.rl:hover{transform:translateY(-4px);border-color:var(--ac)}
.rl .eyb{color:var(--ac);margin:0}
.rl h3{font:600 24px/1.2 var(--serif);letter-spacing:-.015em}
.rl p{font-size:14.5px;line-height:1.5;color:#a1a1a6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rl .ar{width:20px;height:20px;margin-top:auto;transition:transform .35s var(--ease)}
.rl:hover .ar{transform:translateX(5px)}
.pcta{margin-top:clamp(64px,8vw,110px);display:grid;grid-template-columns:1.2fr auto;gap:40px;align-items:end;padding-top:48px;border-top:1px solid var(--nline)}
.pcta h3{font:600 clamp(28px,3vw,44px)/1.1 var(--serif);letter-spacing:-.025em}
.pcta p{margin-top:12px;font-size:16px;max-width:34em}
.pcta .acts{display:flex;gap:12px;flex-wrap:wrap}

@media (max-width:980px){
  .ph-g,.sp,.vzs,.faqg{grid-template-columns:1fr}
  .sp.flip .sp-t{order:0}
  .ph-v{aspect-ratio:16/10}
  .ph-stats .wrap{grid-template-columns:1fr 1fr}
  .ph-stats div div:nth-child(3){padding-left:0;border-left:0}
  .bento{grid-template-columns:1fr 1fr}.bc,.bc.s-m,.bc.s-l{grid-column:span 2;grid-row:auto}
  .steps{grid-template-columns:1fr;padding-top:0;padding-left:30px}
  .steps .track{top:0;bottom:0;left:5px;right:auto;width:2px;height:auto}
  .steps .track i{width:100%!important;height:0;transition:height 1.8s var(--ease)}.steps.go .track i{height:100%}
  .steps li:before{top:4px;left:-30px}
  .vz-g{grid-template-columns:1fr}
  .mods,.rels{grid-template-columns:1fr 1fr}
  .cr{grid-template-columns:1fr;gap:10px}.cr.ch{display:none}
  .pcta{grid-template-columns:1fr}
}
@media (max-width:640px){
  .mods,.rels{grid-template-columns:1fr}.bento{grid-template-columns:1fr}.bc,.bc.s-m,.bc.s-l{grid-column:auto}
  .ph-stats .wrap{grid-template-columns:1fr 1fr}.vl{columns:1}
}
@media (prefers-reduced-motion:reduce){.v-flow .fl,.v-orbit .ring,.v-radar .sw,.mq-r,.v-grid i,.v-cal i,.v-stack i{animation:none}}

/* AISITE v2 示意:9s 循环搭站 */
.cp-aisite.v2{--cy:9s}
.cp-aisite.v2 .pal span{animation:slide .4s var(--ease) calc(.2s + var(--i)*.06s) forwards,palhi var(--cy) linear calc(var(--i)*.9s) infinite}
@keyframes palhi{0%,6%{background:#1f1f1d}1%,4%{background:color-mix(in srgb,var(--ac) 45%,#1f1f1d);color:#fff}}
.cp-aisite.v2 .pg{display:flex;flex-direction:column;gap:7px;padding:10px;flex:1}
.cp-aisite.v2 .win{display:flex;flex-direction:column;min-height:420px}
.cp-aisite.v2 .blk{animation:v2drop var(--cy) cubic-bezier(.2,1.2,.4,1) calc(var(--t)*.9s) infinite;opacity:0;outline:0}
@keyframes v2drop{0%{opacity:0;transform:translateY(-18px) scale(.98)}6%{opacity:1;transform:none;outline:1.5px dashed var(--ac)}14%{outline-color:transparent}88%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(6px)}}
.cp-aisite.v2 .ln{display:block;height:6px;border-radius:3px;background:#d8d8de}
.cp-aisite.v2 .ln.w{background:rgba(255,255,255,.85)}
.cp-aisite.v2 .nv{height:auto;display:flex;align-items:center;gap:8px;padding:7px 9px;background:#fff;border:1px solid #0000000d}
.cp-aisite.v2 .nv .lg{width:14px;height:14px;border-radius:4px;background:var(--ac);margin-right:auto;animation:brand var(--cy) steps(1) infinite}
.cp-aisite.v2 .nv .pill{width:34px;height:14px;border-radius:7px;background:#1d1d1f}
.cp-aisite.v2 .hh{position:relative;height:118px;border-radius:9px;overflow:hidden;background:#ddd}
.cp-aisite.v2 .hh img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cp-aisite.v2 .hh:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),transparent 75%)}
.cp-aisite.v2 .hx{position:absolute;left:12px;bottom:12px;right:40%;z-index:1;display:grid;gap:6px}
.cp-aisite.v2 .hx .btn{width:46px;height:14px;border-radius:7px;margin-top:4px;background:var(--ac);animation:brand var(--cy) steps(1) infinite}
.cp-aisite.v2 .rw{background:none;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.cp-aisite.v2 .rw i{height:auto;display:grid;gap:5px;padding:9px;border-radius:8px;background:#f4f4f6}
.cp-aisite.v2 .rw .dot{width:14px;height:14px;border-radius:50%;background:color-mix(in srgb,var(--ac) 30%,#fff);margin-bottom:2px}
.cp-aisite.v2 .fm{display:grid;grid-template-columns:1fr 1.2fr;gap:9px;align-items:center;padding:9px;background:#f4f4f6}
.cp-aisite.v2 .fm>div:first-child{display:grid;gap:6px}
.cp-aisite.v2 .fi{display:grid;grid-template-columns:1fr 1fr auto;gap:5px}
.cp-aisite.v2 .fi em{height:16px;border-radius:5px;background:#fff;border:1px solid #0000001a}
.cp-aisite.v2 .fi .go{width:30px;background:#1d1d1f;border:0}
.cp-aisite.v2 .lg5{display:flex;justify-content:space-between;gap:8px;padding:6px 4px;background:none}
.cp-aisite.v2 .lg5 em{flex:1;height:10px;border-radius:3px;background:#e4e4e8}
.cp-aisite.v2 .ft{height:auto;display:flex;gap:10px;align-items:center;padding:9px;margin-top:auto;background:#1d1d1f}
/* 换主题色:主色 → 蓝 → 绿 → 主色 */
@keyframes brand{0%,62%{background:var(--ac)}63%,72%{background:#3E7BFA}73%,82%{background:#1FA67A}83%,100%{background:var(--ac)}}
.cp-aisite.v2 .bar .sw{width:34px;height:12px;margin-left:8px;border-radius:6px;background:conic-gradient(var(--ac) 0 33%,#3E7BFA 0 66%,#1FA67A 0);opacity:0;animation:swon var(--cy) steps(1) infinite}
@keyframes swon{0%,58%{opacity:0}59%,86%{opacity:1}87%{opacity:0}}
/* 拖拽中的区块影子:从左侧飞入画布 */
.cp-aisite.v2 .ghost{position:absolute;left:-110px;top:62%;width:92px;height:22px;border-radius:7px;background:color-mix(in srgb,var(--ac) 70%,#fff);
  box-shadow:0 10px 24px -8px rgba(0,0,0,.4);opacity:0;animation:ghost .9s var(--ease) infinite}
@keyframes ghost{0%{opacity:0;transform:translate(0,0) rotate(-4deg)}20%{opacity:.95}80%{opacity:.9;transform:translate(170px,-20px) rotate(2deg)}100%{opacity:0;transform:translate(180px,-20px)}}
.cp-aisite.v2 .cursor{animation:cur2 var(--cy) ease-in-out infinite}
@keyframes cur2{0%{left:10%;top:20%}20%{left:55%;top:30%}40%{left:40%;top:55%}60%{left:88%;top:6%}75%{left:70%;top:40%}100%{left:10%;top:20%}}
.cp-aisite.v2 .toast{position:absolute;right:14px;top:52px;padding:7px 12px;border-radius:999px;background:#1d1d1f;color:#fff;font:600 11px/1 var(--sans);
  opacity:0;transform:translateY(8px);animation:toast var(--cy) ease infinite}
@keyframes toast{0%,68%{opacity:0;transform:translateY(8px)}72%,86%{opacity:1;transform:none}92%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.cp-aisite.v2 .blk{animation:none;opacity:1}.cp-aisite.v2 .ghost,.cp-aisite.v2 .toast,.cp-aisite.v2 .cursor,.cp-aisite.v2 .pal span{animation:none;opacity:1}}

/* ══ 产品页首屏(统一骨架)+ 招牌插图 ═══════════════════════════════════
   统一:深色底、左文右图、苹果无衬线、白色胶囊主按钮、数字带,与首页同一套。
   每款只差:--ac 主色(光晕/眉题/插图点缀)与 .stage 里的招牌插图。
   ⚠️ .stage 必须限定在 .th-v 下:首页「行业」分栏也有个 .stage,全局写的话会被这里的 grid+居中套中,
      图片容器塌成 0×0、整块黑屏(09-25 上线后到加繁體版时才发现)。 */
.th-hero{position:relative;overflow:hidden;background:#0E0E0D;color:#F4F1EA;padding-top:72px}
.th-hero:before{content:"";position:absolute;right:-12%;top:-30%;width:75%;height:140%;background:radial-gradient(closest-side,color-mix(in srgb,var(--ac) 24%,transparent),transparent 72%);pointer-events:none}
.th-g{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,5vw,80px);align-items:center;min-height:min(80vh,760px);padding-top:clamp(32px,5vw,64px);padding-bottom:clamp(40px,6vw,80px);position:relative;z-index:2}
.th-t .crumbs{display:flex;gap:8px;font:500 13px/1 var(--sans);color:rgba(244,241,234,.5)}
.th-t .crumbs a:hover{color:#F4F1EA}.th-t .crumbs b{font-weight:500;color:rgba(244,241,234,.85)}
.th-t .eyb{margin-top:30px}
.th-t h1{font:600 clamp(40px,5.2vw,76px)/1.04 var(--serif);letter-spacing:-.035em;max-width:13ch;animation:up 1.1s var(--ease) both}
.th-t h1 em{font-style:normal;color:rgba(244,241,234,.5)}
.th-t .lead{font:400 clamp(17px,1.4vw,20px)/1.5 var(--sans);letter-spacing:-.01em;color:rgba(244,241,234,.74);max-width:32em;margin-top:24px;animation:up 1.1s var(--ease) .12s both}
.th-t .acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px;animation:up 1.1s var(--ease) .24s both}
.th-v{animation:up 1.2s var(--ease) .15s both}
.th-v .stage{position:relative;min-height:clamp(380px,38vw,500px);border-radius:24px;background:linear-gradient(160deg,#1A1A18,#121211);border:1px solid rgba(244,241,234,.1);
  box-shadow:0 50px 100px -50px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.04);overflow:hidden;display:grid;place-items:center;padding:clamp(22px,3vw,40px)}
.th-v .stage:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ac);opacity:.9}
.th-stats{position:relative;z-index:2;border-top:1px solid rgba(244,241,234,.12)}
.th-stats .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.th-stats .wrap>div{padding:26px 24px 30px 0;animation:up 1s var(--ease) .3s both}
.th-stats .wrap>div+div{padding-left:24px;border-left:1px solid rgba(244,241,234,.12)}
.th-stats b{display:block;font:600 clamp(30px,3vw,44px)/1 var(--serif);letter-spacing:-.03em}
.th-stats span{display:block;margin-top:10px;font-size:14px;line-height:1.4;color:rgba(244,241,234,.6)}
@keyframes bob{50%{margin-top:-10px}}

/* AIPOS · 小票 */
.cp-aipos{display:grid;justify-items:center;width:100%}
.cp-aipos .printer{width:min(360px,92%);height:30px;border-radius:12px 12px 6px 6px;background:#2a2a27;display:grid;place-items:center;position:relative;z-index:2}
.cp-aipos .printer span{width:70%;height:4px;border-radius:2px;background:#000}
.cp-aipos .receipt{width:min(310px,82%);margin-top:-6px;padding:26px 24px 34px;background:#FFFEFA;color:#221A12;font:500 13px/1.5 ui-monospace,"SF Mono",Menlo,Consolas,monospace;transform-origin:top;animation:print 2.2s cubic-bezier(.3,.7,.2,1) .3s both;
  -webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/14px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/14px 100%}
@keyframes print{from{clip-path:inset(0 0 100% 0);transform:translateY(-24px)}to{clip-path:inset(0 0 0 0);transform:none}}
.cp-aipos .rh{text-align:center}.cp-aipos .rh b{display:block;font-size:16px;letter-spacing:.14em}.cp-aipos .rh small{font-size:10.5px;letter-spacing:.12em;opacity:.55}
.cp-aipos .rd{border-top:1.5px dashed #221A1255;margin:12px 0}
.cp-aipos ul{list-style:none}
.cp-aipos li{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:baseline;padding:2px 0;opacity:0;animation:slide .4s var(--ease) calc(1.1s + var(--i)*.1s) forwards}
.cp-aipos li i,.cp-aipos .rt i{border-bottom:1.5px dotted #221A1244;transform:translateY(-4px)}
.cp-aipos li b{color:var(--ac)}
.cp-aipos .rt{display:grid;grid-template-columns:auto 1fr auto;gap:8px;font-weight:700;font-size:14px}
.cp-aipos .code{display:flex;gap:2px;justify-content:center;height:38px;margin-top:16px}.cp-aipos .code i{background:#221A12;display:block}

/* 舍予AI智能体 · 拼贴 */
.cp-agent{position:relative;width:100%;height:100%;min-height:360px}
.cp-agent .pol{position:absolute;left:50%;top:50%;width:min(270px,56%);padding:10px 10px 36px;background:#fff;box-shadow:0 30px 60px -24px #000;transform:translate(-50%,-55%) rotate(-3deg);z-index:2}
.cp-agent .pol img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.cp-agent .note{position:absolute;padding:10px 14px;font:600 13px/1.2 var(--sans);border-radius:12px;background:#F4F1EA;color:#1d1d1f;box-shadow:0 14px 28px -14px #000;white-space:nowrap;animation:bob 6s ease-in-out infinite}
.cp-agent .note:nth-child(3n+1){background:var(--ac);color:#111}
.cp-agent .note:nth-child(1){left:0;top:6%;transform:rotate(-6deg)}.cp-agent .note:nth-child(2){right:0;top:4%;transform:rotate(5deg);animation-delay:-1s}
.cp-agent .note:nth-child(3){left:2%;top:46%;transform:rotate(4deg);animation-delay:-2s}.cp-agent .note:nth-child(4){right:2%;top:44%;transform:rotate(-4deg);animation-delay:-3s}
.cp-agent .note:nth-child(5){left:6%;bottom:18%;transform:rotate(-3deg);animation-delay:-1.5s}.cp-agent .note:nth-child(6){right:6%;bottom:20%;transform:rotate(3deg);animation-delay:-2.5s}
.cp-agent .avs{position:absolute;left:0;right:0;bottom:0;display:flex;gap:8px;justify-content:center;flex-wrap:wrap;z-index:3}
.cp-agent .av{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:999px;background:#262624;border:1px solid rgba(244,241,234,.12);font:500 12.5px/1 var(--sans);color:#F4F1EA}
.cp-agent .av i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-style:normal;background:var(--ac);color:#111;font-weight:700}

/* AIMARKET · 平面图 */
.cp-market{width:100%}
.cp-market .plan{width:100%;display:block}
.cp-market .plan .frame{fill:none;stroke:rgba(244,241,234,.6);stroke-width:1.5}
.cp-market .plan .corr{stroke:rgba(244,241,234,.3);stroke-dasharray:4 6}
.cp-market .plan .u{fill:rgba(244,241,234,.04);stroke:rgba(244,241,234,.35);animation:unit 5s ease-in-out infinite;animation-delay:calc(var(--i)*.35s)}
.cp-market .plan .u.big{stroke:var(--ac)}
@keyframes unit{0%,60%,100%{fill:rgba(244,241,234,.04)}20%,40%{fill:color-mix(in srgb,var(--ac) 45%,transparent)}}
.cp-market .calls{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:6px 18px;margin-top:22px;font-size:13px;color:rgba(244,241,234,.8)}
.cp-market .calls li{padding:8px 0;border-top:1px solid rgba(244,241,234,.1);opacity:0;animation:slide .5s var(--ease) calc(.8s + var(--i)*.08s) forwards}
.cp-market .calls span{color:var(--ac);font-weight:600;margin-right:8px;font-size:12px}

/* AIHOTEL · 房卡 */
.cp-hotel{position:relative;width:100%;height:100%;min-height:380px}
.cp-hotel .ph{position:absolute;inset:0;border-radius:14px;overflow:hidden}
.cp-hotel .ph img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.8)}
.cp-hotel .ph:after{content:"";position:absolute;inset:14px;border:1px solid color-mix(in srgb,var(--ac) 60%,transparent)}
.cp-hotel .kc{position:absolute;right:8%;bottom:18%;width:200px;aspect-ratio:1.586;border-radius:12px;background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 55%,#000));box-shadow:0 30px 60px -20px #000;transform:rotate(-8deg);animation:bob 8s ease-in-out infinite}
.cp-hotel .kl{position:absolute;left:16px;top:14px;font:600 12px/1 var(--sans);letter-spacing:.18em;color:#111}.cp-hotel .kl i{font-style:normal;letter-spacing:.02em}
.cp-hotel .ks{position:absolute;left:0;right:0;bottom:20px;height:16px;background:#111}
.cp-hotel .kch{position:absolute;right:16px;top:14px;width:28px;height:22px;border-radius:5px;background:linear-gradient(135deg,#f5e6bf,#a8843f)}
.cp-hotel .mods{position:absolute;left:14px;top:14px;list-style:none;display:flex;flex-wrap:wrap;gap:6px;max-width:70%}
.cp-hotel .mods li{padding:7px 11px;border-radius:999px;background:rgba(14,14,13,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:12px;color:#F4F1EA}

/* AIFO · 对账单 */
.cp-fo{width:min(420px,100%);background:#F6F4EF;color:#0A1426;padding:24px 26px;border-radius:10px;font-variant-numeric:tabular-nums}
.cp-fo .s1{display:flex;justify-content:space-between;font:600 10.5px/1 var(--sans);letter-spacing:.16em;color:#6b7280;padding-bottom:12px;border-bottom:1px solid #0A142622}
.cp-fo .s2{padding:16px 0 8px}.cp-fo .s2 b{display:block;font:600 22px/1.1 var(--serif);letter-spacing:-.02em}.cp-fo .s2 small{color:#6b7280;font-size:12.5px}
.cp-fo table{width:100%;border-collapse:collapse;font-size:13.5px}
.cp-fo td{padding:9px 0;border-top:1px solid #0A142614;opacity:0;animation:slide .5s var(--ease) calc(.6s + var(--i)*.14s) forwards}
.cp-fo td:first-child{width:30px;color:#9ca3af;font-size:12px}.cp-fo td:last-child{text-align:right}
.cp-fo .ok{display:inline-block;font:600 10.5px/1 var(--sans);padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--ac) 14%,transparent);color:var(--ac)}
.cp-fo .s3{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid #0A142622}
.cp-fo .s3 svg{width:96px;transform:rotate(-90deg)}
.cp-fo .s3 circle{fill:none;stroke:var(--ac);stroke-width:14;opacity:0;animation:fade .4s var(--ease) calc(1.2s + var(--i)*.07s) forwards}
.cp-fo .s3 circle:nth-child(2n){stroke:color-mix(in srgb,var(--ac) 55%,#0A1426)}
@keyframes fade{to{opacity:1}}
.cp-fo .s3 b{display:block;font:600 36px/1 var(--serif);letter-spacing:-.03em}.cp-fo .s3 span{font-size:13px;color:#374151}

/* 招标雷达 · 雷达 */
.cp-zb{display:grid;grid-template-columns:1fr .95fr;gap:20px;align-items:center;width:100%}
.cp-zb .rad{position:relative;aspect-ratio:1;border-radius:50%;border:1px solid color-mix(in srgb,var(--ac) 40%,transparent);overflow:hidden;
  background:radial-gradient(circle,transparent 24%,color-mix(in srgb,var(--ac) 18%,transparent) 24.5%,transparent 25%,transparent 49%,color-mix(in srgb,var(--ac) 18%,transparent) 49.5%,transparent 50%,transparent 74%,color-mix(in srgb,var(--ac) 18%,transparent) 74.5%,transparent 75%)}
.cp-zb .sweep{position:absolute;inset:-10%;background:conic-gradient(from 0deg,color-mix(in srgb,var(--ac) 45%,transparent),transparent 22%);animation:spin 3.6s linear infinite}
.cp-zb .rad b{position:absolute;left:var(--x);top:var(--y);width:8px;height:8px;border-radius:50%;background:var(--ac);animation:ping 2.4s infinite}
.cp-zb .cross{position:absolute;inset:0;background:linear-gradient(rgba(244,241,234,.12),rgba(244,241,234,.12)) center/1px 100% no-repeat,linear-gradient(rgba(244,241,234,.12),rgba(244,241,234,.12)) center/100% 1px no-repeat}
.cp-zb .feed{height:300px;overflow:hidden;border-radius:12px;background:#0E0E0D;border:1px solid rgba(244,241,234,.08);font:500 12px/1 ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  -webkit-mask:linear-gradient(transparent,#000 14%,#000 86%,transparent);mask:linear-gradient(transparent,#000 14%,#000 86%,transparent)}
.cp-zb .fh{padding:12px 14px;color:var(--ac);letter-spacing:.14em;font-size:10.5px;border-bottom:1px solid rgba(244,241,234,.08)}
.cp-zb .feed ul{list-style:none;animation:feed 22s linear infinite}
.cp-zb .feed li{padding:10px 14px;border-bottom:1px solid rgba(244,241,234,.05);color:rgba(244,241,234,.8);white-space:nowrap}
.cp-zb .feed li span{color:rgba(244,241,234,.4)}.cp-zb .feed li i{font-style:normal;color:var(--ac);float:right}
@keyframes feed{to{transform:translateY(-50%)}}

/* 投标官 · 目录页 */
.cp-aibid .paper{position:relative;width:min(400px,100%);background:#FFFEFA;color:#1d1d1f;padding:32px 34px 44px 46px;border-radius:4px;
  box-shadow:8px 8px 0 -2px #e9e6dd,16px 16px 0 -4px #d9d5ca,0 40px 70px -30px #000;background-image:linear-gradient(90deg,transparent 30px,color-mix(in srgb,var(--ac) 45%,transparent) 30px 31px,transparent 31px)}
.cp-aibid .ph{display:flex;justify-content:space-between;font:600 10px/1 var(--sans);letter-spacing:.16em;color:#86868b;padding-bottom:12px;border-bottom:1px solid #0001}
.cp-aibid h4{font:500 24px/1 ui-serif,"New York","Iowan Old Style",Georgia,serif;margin:18px 0 10px}
.cp-aibid ol{list-style:none;font:400 13.5px/1.3 ui-serif,"New York","Iowan Old Style",Georgia,serif}
.cp-aibid li{display:grid;grid-template-columns:30px auto 1fr 16px;gap:6px;align-items:baseline;padding:4.5px 0;opacity:0;animation:slide .45s var(--ease) calc(.5s + var(--i)*.08s) forwards}
.cp-aibid li span{font-size:11px;color:#86868b;font-family:var(--sans)}
.cp-aibid li i{border-bottom:1px dotted #0005;transform:translateY(-4px)}
.cp-aibid li b{color:var(--ac);font-size:12px}
.cp-aibid .stamp{position:absolute;right:14px;bottom:-14px;font:800 18px/1 var(--sans);letter-spacing:.18em;color:var(--ac);border:2.5px solid var(--ac);padding:7px 12px;transform:rotate(-12deg);opacity:0;animation:stamp .5s cubic-bezier(.2,1.6,.4,1) 1.8s forwards}
@keyframes stamp{from{opacity:0;transform:rotate(-12deg) scale(2)}to{opacity:.85;transform:rotate(-12deg) scale(1)}}

/* AISITE · 搭建 */
.cp-aisite{display:grid;grid-template-columns:140px 1fr;gap:12px;width:100%}
.cp-aisite .pal{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;background:#0E0E0D;border:1px solid rgba(244,241,234,.08);font-size:12px;color:rgba(244,241,234,.85)}
.cp-aisite .pal small{font:600 9.5px/1 var(--sans);letter-spacing:.16em;color:rgba(244,241,234,.45);margin-bottom:4px}
.cp-aisite .pal span{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:7px;background:#1f1f1d;opacity:0;animation:slide .4s var(--ease) calc(.4s + var(--i)*.07s) forwards}
.cp-aisite .pal span i{width:9px;height:9px;border-radius:3px;background:var(--ac)}
.cp-aisite .win{position:relative;border-radius:12px;background:#fff;overflow:hidden}
.cp-aisite .bar{display:flex;align-items:center;gap:5px;padding:9px 11px;border-bottom:1px solid #0001;background:#f5f5f7}
.cp-aisite .bar i{width:9px;height:9px;border-radius:50%;background:#d2d2d7}.cp-aisite .bar span{flex:1;height:16px;margin-left:8px;border-radius:5px;background:#e8e8ed}
.cp-aisite .page{display:flex;flex-direction:column;gap:8px;padding:12px}
.cp-aisite .blk{border-radius:8px;background:#f0f0f3;opacity:0;transform:translateY(-16px);animation:drop .55s cubic-bezier(.2,1.3,.4,1) forwards}
.cp-aisite .blk.nav{height:18px;animation-delay:.5s}.cp-aisite .blk.hero{height:130px;overflow:hidden;animation-delay:.8s;outline:1.5px dashed var(--ac);outline-offset:2px}
.cp-aisite .blk.hero img{width:100%;height:100%;object-fit:cover}
.cp-aisite .blk.row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:none;animation-delay:1.1s}.cp-aisite .blk.row i{height:54px;border-radius:8px;background:#f0f0f3}
.cp-aisite .blk.cta{height:34px;background:var(--ac);animation-delay:1.4s}.cp-aisite .blk.foot{height:22px;background:#1d1d1f;animation-delay:1.7s}
@keyframes drop{to{opacity:1;transform:none}}
.cp-aisite .cursor{position:absolute;width:16px;height:16px;left:40%;top:30%;background:#1d1d1f;clip-path:polygon(0 0,100% 60%,55% 65%,40% 100%);animation:cur 5s ease-in-out 2s infinite}
@keyframes cur{0%,100%{left:40%;top:30%}40%{left:66%;top:58%}70%{left:22%;top:72%}}

/* 舍予AI智审 · 证据卡 */
.cp-zs{position:relative;width:min(420px,100%);background:#fff;color:#1d1d1f;border-radius:14px;overflow:hidden;box-shadow:0 40px 70px -30px #000}
.cp-zs .eh{display:flex;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #0001;font:600 10.5px/1 var(--sans);letter-spacing:.14em;color:#86868b}
.cp-zs .eh span:first-child{color:var(--ac)}
.cp-zs .val{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #0001;font:600 14px/1 var(--sans)}
.cp-zs .val i{flex:1;height:10px;border-radius:5px;background:color-mix(in srgb,var(--ac) 30%,transparent)}
.cp-zs ul{list-style:none;padding:6px 18px 14px}
.cp-zs li{display:grid;grid-template-columns:130px 1fr 18px;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #0000000d;font-size:13px}
.cp-zs li .k{color:#6e6e73}
.cp-zs li .v{height:7px;border-radius:4px;background:#0000000f}
.cp-zs li b{color:#16A34A;opacity:0;animation:fade .3s ease calc(.8s + var(--i)*.15s) forwards}
.cp-zs .beam{position:absolute;left:0;right:0;height:60px;background:linear-gradient(transparent,color-mix(in srgb,var(--ac) 16%,transparent),transparent);animation:beamy 3.4s ease-in-out infinite;pointer-events:none}
@keyframes beamy{from{top:-60px}to{top:100%}}

/* AISO · 会员卡 */
.cp-aiso{position:relative;width:100%;height:100%;min-height:380px}
.cp-aiso .mcard{position:absolute;right:4%;top:6%;width:min(310px,70%);aspect-ratio:1.586;border-radius:16px;padding:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--ac) 85%,#fff),var(--ac) 50%,color-mix(in srgb,var(--ac) 55%,#000));color:#111;
  box-shadow:0 40px 70px -30px #000;transform:rotate(6deg);animation:bob 7s ease-in-out infinite;overflow:hidden}
.cp-aiso .t{font:700 10.5px/1 var(--sans);letter-spacing:.3em}.cp-aiso .mcard b{display:block;margin-top:44px;font:600 22px/1 var(--sans)}.cp-aiso .mcard small{display:block;margin-top:8px;font-size:12px;opacity:.7}
.cp-aiso .foil{position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,#fff8 45%,transparent 60%);transform:translateX(-100%);animation:foil 4s ease-in-out 1s infinite}
@keyframes foil{60%,100%{transform:translateX(100%)}}
.cp-aiso .ticket{position:absolute;left:2%;bottom:8%;display:grid;grid-template-columns:1fr 104px;width:min(380px,86%);background:#F4F1EA;color:#1d1d1f;border-radius:12px;box-shadow:0 30px 60px -30px #000;transform:rotate(-4deg);
  -webkit-mask:radial-gradient(circle 9px at calc(100% - 104px) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 9px at calc(100% - 104px) 100%,#0000 98%,#000) bottom/100% 51% no-repeat;
  mask:radial-gradient(circle 9px at calc(100% - 104px) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 9px at calc(100% - 104px) 100%,#0000 98%,#000) bottom/100% 51% no-repeat}
.cp-aiso .l{padding:18px;border-right:2px dashed #0002}.cp-aiso .l small{font:700 9.5px/1 var(--sans);letter-spacing:.24em;color:var(--ac)}
.cp-aiso .l b{display:block;font:600 19px/1.1 var(--sans);margin:9px 0 7px}.cp-aiso .l span{font-size:12px;color:#6e6e73}
.cp-aiso .r{display:grid;place-items:center}
.cp-aiso .qr{display:grid;grid-template-columns:repeat(7,8px);gap:1px}.cp-aiso .qr i{width:8px;height:8px}.cp-aiso .qr i.on{background:#1d1d1f}
.cp-aiso .orgs{position:absolute;left:2%;top:4%;display:flex;flex-direction:column;align-items:flex-start;gap:7px;max-width:44%}
.cp-aiso .orgs span{padding:7px 12px;border-radius:999px;border:1px solid rgba(244,241,234,.18);font-size:12px;color:rgba(244,241,234,.8)}

/* 旺铺搭子 · 电子秤 */
.cp-np{position:relative;display:grid;justify-items:center;gap:22px;width:100%;padding-top:40px}
.cp-np .bulbs{position:absolute;left:-40px;right:-40px;top:-10px;display:flex;justify-content:space-around;border-top:1px solid rgba(244,241,234,.15)}
.cp-np .bulbs i{width:9px;height:13px;margin-top:8px;border-radius:50% 50% 45% 45%;background:#FDE68A;box-shadow:0 0 16px 4px #FDE68A77;animation:flick 3s ease-in-out infinite;animation-delay:calc(var(--i)*-.37s)}
@keyframes flick{50%{opacity:.55}}
.cp-np .scale{width:min(340px,90%)}
.cp-np .disp{display:flex;justify-content:flex-end;align-items:baseline;gap:10px;padding:16px 20px;border-radius:12px 12px 4px 4px;background:#050505;border:1px solid rgba(244,241,234,.12);
  font:600 56px/1 ui-monospace,"SF Mono",Menlo,Consolas,monospace;color:var(--ac);text-shadow:0 0 18px color-mix(in srgb,var(--ac) 60%,transparent)}
.cp-np .disp small{font-size:16px;color:rgba(244,241,234,.5);text-shadow:none}
.cp-np .pan{height:20px;margin:0 -18px;border-radius:50%;background:linear-gradient(#e5e5ea,#a1a1a6)}
.cp-np .base{height:52px;margin:0 10px;border-radius:0 0 16px 16px;background:linear-gradient(#f2f2f7,#c7c7cc)}
.cp-np .stks{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.cp-np .stks span{padding:11px 16px;border-radius:999px;font:600 14px/1 var(--sans);background:#262624;border:1px solid rgba(244,241,234,.12);color:#F4F1EA}
.cp-np .stks span:first-child{background:var(--ac);color:#111;border-color:transparent}

@media (max-width:980px){
  .th-g{grid-template-columns:1fr}.th-stats .wrap{grid-template-columns:1fr 1fr}.th-stats .wrap>div:nth-child(3){padding-left:0;border-left:0}
  .cp-zb{grid-template-columns:1fr}.cp-zb .feed{height:200px}.cp-aisite{grid-template-columns:1fr}.cp-aisite .pal{flex-direction:row;flex-wrap:wrap}
  .cp-market .calls{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){.cp-agent .note:nth-child(n+5){display:none}.cp-np .disp{font-size:44px}.cp-zs li{grid-template-columns:110px 1fr 18px}}
@media (prefers-reduced-motion:reduce){.cp-agent .note,.cp-market .plan .u,.cp-zb .sweep,.cp-zb .feed ul,.cp-aisite .cursor,.cp-zs .beam,.cp-aiso .mcard,.cp-aiso .foil,.cp-np .bulbs i,.cp-hotel .kc{animation:none}}
