/* 宇元计划官网 · 视觉系统 v2（方向 C · 冷银双调 · 分幕式 · 电影感升级）
   深段 = 星空舞台（fixed 星空 + 星云透出）；亮段 = 冷银白信息段（不透明，盖住星空）。
   金色按底色切换：亮底文字 --gold-ink，深底 --gold。 */
@font-face{font-family:"YYSerif";src:url("fonts/serif.woff2?v=20260828e") format("woff2");font-weight:600;font-display:swap}

:root{
  --paper:#F3F4F6; --paper2:#FFFFFF; --ink:#16181D; --ink2:#4A4F58; --ink3:#868C96; --line:#DCDFE4; --line2:#EBEDF0;
  --space:#06070B; --white:#EEF0F4; --dim:rgba(238,240,244,.62); --faint:rgba(238,240,244,.32); --hair:rgba(201,207,216,.16);
  --silver:#C9CFD8; --gold:#E3C58A; --gold2:#FFF0C8; --gold-ink:#9C7B34; --ice:#B9D6FF;
  --serif:"YYSerif","Songti SC","STSong","Noto Serif SC","Source Han Serif SC","SimSun",Georgia,serif;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Source Han Sans SC","Helvetica Neue",Arial,sans-serif;
  --mono:"SF Mono",Menlo,Consolas,"Courier New",monospace;
  --ease:cubic-bezier(.16,1,.3,1);
  --w:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--space);color:var(--ink);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden}
@media(pointer:fine){body.has-cursor,body.has-cursor a,body.has-cursor button{cursor:none}}
::selection{background:rgba(227,197,138,.35)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:600;letter-spacing:.01em}
.wrap{max-width:var(--w);margin:0 auto;padding:0 44px}
.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);display:flex;align-items:center;gap:12px}
.kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.dark .kicker{color:var(--gold)}
.h2{font-size:clamp(30px,3.6vw,46px);line-height:1.28;margin-top:18px}
.lead{font-size:17px;color:var(--ink2);max-width:600px;margin-top:20px}
.dark .lead{color:var(--dim)}
section{position:relative}
.dark{color:var(--white)}
.light{background:var(--paper);color:var(--ink);position:relative;z-index:2}
.dark .wrap{position:relative;z-index:2}
.pad{padding:128px 0}
@media(max-width:820px){.pad{padding:80px 0}.wrap{padding:0 22px}}

/* ---------- 星空舞台（fixed，深段透出） ---------- */
#space{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.nebula{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.nebula i{position:absolute;border-radius:50%;filter:blur(100px);mix-blend-mode:screen;will-change:transform}
.nebula .a{width:70vw;height:70vw;left:-25vw;top:-30vw;background:radial-gradient(circle,rgba(150,165,200,.16),transparent 60%);animation:d1 44s ease-in-out infinite alternate}
.nebula .b{width:60vw;height:60vw;right:-22vw;top:5vh;background:radial-gradient(circle,rgba(70,95,160,.22),transparent 60%);animation:d2 52s ease-in-out infinite alternate}
.nebula .c{width:55vw;height:55vw;left:25vw;bottom:-35vw;background:radial-gradient(circle,rgba(110,90,150,.14),transparent 60%);animation:d3 58s ease-in-out infinite alternate}
@keyframes d1{to{transform:translate(20vw,14vh) scale(1.15)}}@keyframes d2{to{transform:translate(-18vw,20vh) scale(.9)}}@keyframes d3{to{transform:translate(-14vw,-16vh) scale(1.2)}}
#fx{position:fixed;inset:0;width:100%;height:100%;z-index:90;pointer-events:none}

/* ---------- 光标 ---------- */
.cur{position:fixed;left:0;top:0;z-index:95;pointer-events:none;mix-blend-mode:difference;display:none}
body.has-cursor .cur{display:block}
.cur .dot{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}
.cur .ring{position:absolute;width:24px;height:24px;border-radius:50%;border:1px solid rgba(255,255,255,.7);transform:translate(-50%,-50%);transition:width .35s var(--ease),height .35s var(--ease),opacity .3s}
body.hovering .cur .ring{width:52px;height:52px;opacity:.9}

/* ---------- 文字动效原语 ---------- */
.rv{opacity:0;transform:translateY(22px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.2s}.rv.d3{transition-delay:.3s}.rv.d4{transition-delay:.4s}.rv.d5{transition-delay:.5s}.rv.d6{transition-delay:.6s}
.ln{display:block;overflow:hidden}
.ln>i{display:block;font-style:normal;transform:translateY(110%);transition:transform 1.1s var(--ease)}
.in .ln>i{transform:none}
.in .ln:nth-child(2)>i{transition-delay:.08s}.in .ln:nth-child(3)>i{transition-delay:.16s}
.hz{position:relative}
.hz::before{content:"";position:absolute;left:0;top:0;height:1px;width:100%;background:linear-gradient(90deg,var(--gold),rgba(227,197,138,.15) 55%,transparent);transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--ease) .1s}
.in.hz::before,.in .hz::before{transform:scaleX(1)}
.light .hz::before{background:linear-gradient(90deg,var(--gold-ink),rgba(156,123,52,.15) 55%,transparent)}
@media(prefers-reduced-motion:reduce){.rv,.ln>i,.hz::before{opacity:1;transform:none;transition:none}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;padding:15px 28px;font-size:14px;letter-spacing:.06em;border:1px solid transparent;position:relative;overflow:hidden;transition:transform .5s var(--ease),background .3s,color .3s,border-color .3s}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--ink);color:#fff}
.dark .btn.primary{background:var(--white);color:var(--ink)}
.btn.ghost{border-color:var(--line);color:var(--ink)}
.dark .btn.ghost{border-color:rgba(201,207,216,.32);color:var(--white)}
.btn.ghost:hover{border-color:var(--ink)} .dark .btn.ghost:hover{border-color:var(--gold);color:var(--gold2)}
.btn.gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#1A1508}
.btn .ar{font-family:var(--mono);transition:transform .4s var(--ease)}
.btn:hover .ar{transform:translateX(5px)}

/* ---------- nav ---------- */
.nav{position:fixed;left:0;right:0;top:0;z-index:100;height:72px;transition:background .5s,color .5s,border-color .5s,opacity 1.2s var(--ease),transform 1.2s var(--ease);border-bottom:1px solid transparent}
body.intro .nav{opacity:0;transform:translateY(-8px)}
.nav .wrap{height:100%;display:flex;align-items:center;gap:36px}
.nav .brand{display:flex;align-items:center;margin-right:auto}
.nav .brand img{height:30px;width:auto}
.nav .brand .wm-ink{display:none}
.nav a.link{font-size:13.5px;letter-spacing:.04em;color:inherit;opacity:.72;transition:opacity .3s;position:relative;padding:4px 0}
.nav a.link::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.nav a.link:hover::after,.nav a.link.on::after{transform:scaleX(1)}
.nav a.link:hover,.nav a.link.on{opacity:1}
.nav .cta{padding:10px 18px;font-size:13px;letter-spacing:.06em;border:1px solid currentColor;transition:background .3s,color .3s}
.nav.on-dark{color:var(--white)}
.nav.on-light{color:var(--ink);background:rgba(243,244,246,.84);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--line)}
.nav.on-light .brand .wm-white{display:none}.nav.on-light .brand .wm-ink{display:block}
.nav.on-dark .cta:hover{background:var(--gold);border-color:var(--gold);color:#1A1508}
.nav.on-light .cta:hover{background:var(--ink);color:#fff}
.nav .burger{display:none;width:40px;height:40px;position:relative}
.nav .burger i{position:absolute;left:10px;right:10px;height:1.5px;background:currentColor;transition:transform .4s var(--ease),opacity .3s}
.nav .burger i:nth-child(1){top:14px}.nav .burger i:nth-child(2){top:20px}.nav .burger i:nth-child(3){top:26px}
.nav .links{display:flex;align-items:center;gap:34px}
@media(max-width:980px){
  .nav{height:64px}
  .nav .links{position:fixed;inset:64px 0 0 0;background:var(--space);color:var(--white);display:flex;flex-direction:column;align-items:stretch;padding:32px 22px;gap:4px;transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .35s,transform .5s var(--ease)}
  .nav .links a.link{font-family:var(--serif);font-size:24px;padding:14px 0;border-bottom:1px solid var(--hair);opacity:1}
  .nav .links .cta{margin-top:24px;align-self:flex-start;border-color:var(--gold);color:var(--gold)}
  .nav.open .links{opacity:1;transform:none;pointer-events:auto}
  .nav .burger{display:block}
  .nav.open .burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav.open .burger i:nth-child(2){opacity:0}.nav.open .burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .nav.open{color:var(--white);background:var(--space)}
  .nav.open .brand .wm-ink{display:none}.nav.open .brand .wm-white{display:block}
}

/* ---------- Hero：开场 ---------- */
#hero{min-height:100vh;display:flex;align-items:center;padding-top:72px;overflow:hidden}
#hero .wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:center;width:100%}
#hero .shock{position:absolute;left:72%;top:50%;width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.8);transform:translate(-50%,-50%);opacity:0;pointer-events:none;z-index:1}
body.intro #hero .shock{animation:shock 2.4s var(--ease) .3s both}
@keyframes shock{0%{transform:translate(-50%,-50%) scale(1);opacity:1}100%{transform:translate(-50%,-50%) scale(120);opacity:0}}
#hero .horizon{position:absolute;left:50%;top:50%;height:1px;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,rgba(238,240,244,.55),transparent);pointer-events:none;box-shadow:0 0 24px rgba(238,240,244,.25);z-index:1;opacity:.12;width:min(120vw,1600px)}
body.intro #hero .horizon{animation:hz 2.8s var(--ease) .8s both}
@keyframes hz{from{width:0;opacity:0}60%{opacity:1}to{width:min(120vw,1600px);opacity:.12}}
/* 舞台 */
.stage{position:relative;width:min(52vh,520px);aspect-ratio:1;margin:0 auto;perspective:1400px}
.stage .inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .8s var(--ease)}
.stage .ring{position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid var(--hair);transform:translate(-50%,-50%)}
.stage .r1{width:118%;height:118%;animation:spin 80s linear infinite}
.stage .r2{width:142%;height:142%;border-style:dashed;border-color:rgba(201,207,216,.12);animation:spin 120s linear infinite reverse}
.stage .r3{width:96%;height:96%;border-color:rgba(227,197,138,.18)}
.stage .ring b{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--gold2);box-shadow:0 0 10px var(--gold);left:50%;top:-2.5px;transform:translateX(-50%)}
.stage .r2 b{left:auto;right:12%;top:auto;bottom:10%;background:var(--white);box-shadow:0 0 8px rgba(238,240,244,.8)}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.stage .halo{position:absolute;inset:-10%;border-radius:50%;background:radial-gradient(circle,rgba(185,214,255,.10) 0%,rgba(185,214,255,.04) 30%,rgba(185,214,255,0) 62%);animation:breathe 7s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(.92);opacity:.7}50%{transform:scale(1.1);opacity:1}}
.stage canvas{position:absolute;inset:-30%;width:160%;height:160%;pointer-events:none}
.stage .mark{position:absolute;inset:12%;opacity:0;transition:opacity 1.2s var(--ease);will-change:transform}
.stage.solid .mark{opacity:1}
.stage .mark img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 28px rgba(238,240,244,.18))}
.stage .mark .specwrap{position:absolute;inset:0;overflow:hidden;-webkit-mask:url(img/logo-white.png) center/contain no-repeat;mask:url(img/logo-white.png) center/contain no-repeat;pointer-events:none}
.stage .mark .spec{position:absolute;inset:-60%;background:linear-gradient(115deg,transparent 44%,rgba(255,255,255,0) 47%,rgba(255,255,255,.9) 50%,rgba(255,255,255,0) 53%,transparent 56%);animation:spec 8s cubic-bezier(.7,0,.3,1) infinite}
@keyframes spec{0%{transform:translate(-48%,48%)}50%,100%{transform:translate(48%,-48%)}}
.stage .core{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:var(--gold2);box-shadow:0 0 18px 4px rgba(227,197,138,.55);transform:translate(-50%,-50%);animation:core 4.5s ease-in-out infinite;opacity:0;transition:opacity 1s}
.stage.solid .core{opacity:1}
@keyframes core{0%,100%{transform:translate(-50%,-50%) scale(.8)}50%{transform:translate(-50%,-50%) scale(1.5)}}
.stage .corering{position:absolute;left:50%;top:50%;width:60px;height:60px;border-radius:50%;border:1px solid rgba(227,197,138,.7);transform:translate(-50%,-50%);animation:cr 4.5s ease-out infinite;opacity:0}
.stage.solid .corering{opacity:1}
@keyframes cr{0%{transform:translate(-50%,-50%) scale(.6);opacity:.9}100%{transform:translate(-50%,-50%) scale(4);opacity:0}}
.stage .tap{position:absolute;left:50%;bottom:-40px;transform:translateX(-50%);font-family:var(--mono);font-size:9.5px;letter-spacing:.32em;color:var(--faint);white-space:nowrap;opacity:0;transition:opacity 1s 1s}
.stage.solid .tap{opacity:1}
/* 文案 */
#hero .copy{position:relative;z-index:2}
#hero .kicker{opacity:0;transform:translateY(12px);transition:opacity 1s var(--ease) 2.2s,transform 1s var(--ease) 2.2s}
#hero h1{font-size:clamp(36px,4.7vw,64px);line-height:1.2;letter-spacing:.02em;margin-top:22px;white-space:nowrap}
#hero h1 span{display:inline-block;opacity:0;transform:translateY(28px);filter:blur(10px);animation:ch 1.3s var(--ease) both;animation-play-state:paused}
#hero h1 em{font-style:normal}
#hero h1 em span{background:linear-gradient(180deg,#FFF6DF,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
@keyframes ch{to{opacity:1;transform:none;filter:blur(0)}}
#hero .lead{font-size:clamp(15px,1.25vw,18px);max-width:520px;margin-top:28px;opacity:0;transform:translateY(14px);transition:opacity 1.2s var(--ease) 3.6s,transform 1.2s var(--ease) 3.6s}
#hero .actions{display:flex;gap:14px;margin-top:40px;flex-wrap:wrap;opacity:0;transform:translateY(14px);transition:opacity 1.2s var(--ease) 3.9s,transform 1.2s var(--ease) 3.9s}
body.ready #hero .kicker,body.ready #hero .lead,body.ready #hero .actions{opacity:1;transform:none}
body.ready #hero h1 span{animation-play-state:running}
#hero .trust{grid-column:1/-1;margin-top:64px;padding:28px 0 0;border-top:1px solid var(--hair);display:flex;align-items:center;gap:44px;flex-wrap:wrap;opacity:0;transition:opacity 1.4s var(--ease) 4.4s}
body.ready #hero .trust{opacity:1}
#hero .trust .lb{font-family:var(--mono);font-size:10px;letter-spacing:.24em;color:var(--faint)}
#hero .trust .logos{display:flex;gap:48px;align-items:center;flex-wrap:wrap}
#hero .trust .logos b{font-family:var(--serif);font-weight:500;font-size:18px;color:rgba(238,240,244,.86);letter-spacing:.1em}
#hero .trust .logos b small{display:block;font-family:var(--sans);font-weight:400;font-size:11px;color:var(--faint);letter-spacing:.06em;margin-top:2px}
#hero .scrollhint{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:2;font-family:var(--mono);font-size:9px;letter-spacing:.42em;color:var(--faint);display:flex;flex-direction:column;align-items:center;gap:12px;opacity:0;transition:opacity 1s 4.8s}
body.ready #hero .scrollhint{opacity:1}
#hero .scrollhint i{width:1px;height:46px;background:linear-gradient(var(--silver),transparent);animation:scroll 2.4s ease-in-out infinite}
@keyframes scroll{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media(max-width:980px){
  #hero{min-height:auto;padding-top:96px;padding-bottom:48px}
  #hero .wrap{grid-template-columns:1fr;gap:24px}
  .stage{width:min(62vw,300px);order:-1;margin-bottom:56px}
  #hero h1{font-size:clamp(34px,9vw,44px)}
  #hero .trust{margin-top:40px}#hero .scrollhint{display:none}#hero .shock{left:50%;top:30%}
}

/* ---------- section head ---------- */
.shead{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:end;margin-bottom:64px}
.shead .lead{margin-top:0}
@media(max-width:820px){.shead{grid-template-columns:1fr;gap:18px;margin-bottom:40px}}

/* ---------- 样板房 · 星座图 ---------- */
#sample .grid{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:center}
.constellation{position:relative;aspect-ratio:1/0.86;width:100%}
.constellation svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.constellation svg line{stroke:var(--line);stroke-width:1;stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset 1.8s var(--ease)}
.constellation.in svg line{stroke-dashoffset:0}
.constellation svg line:nth-child(2){transition-delay:.15s}.constellation svg line:nth-child(3){transition-delay:.3s}.constellation svg line:nth-child(4){transition-delay:.45s}.constellation svg line:nth-child(5){transition-delay:.6s}.constellation svg line:nth-child(6){transition-delay:.75s}
.constellation svg circle.orbit{fill:none;stroke:var(--line);stroke-width:1;stroke-dasharray:3 6;opacity:.7}
.node{position:absolute;transform:translate(-50%,-50%);text-align:center;opacity:0;transition:opacity .9s var(--ease),transform .9s var(--ease)}
.constellation.in .node{opacity:1}
.node .dot{width:12px;height:12px;border-radius:50%;background:var(--paper2);border:1px solid var(--gold-ink);margin:0 auto 10px;position:relative}
.node .dot::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--gold-ink);opacity:.5;animation:pulse 3.2s ease-out infinite}
.node:nth-child(odd) .dot::after{animation-delay:1.6s}
@keyframes pulse{from{transform:scale(.4);opacity:.8}to{transform:scale(1.5);opacity:0}}
.node .n{font-family:var(--serif);font-size:24px;line-height:1.1;color:var(--ink)}
.node .r{font-size:11.5px;color:var(--gold-ink);letter-spacing:.06em;margin-top:4px;white-space:nowrap}
.node .card{position:absolute;left:50%;top:calc(100% + 10px);transform:translate(-50%,6px);width:210px;padding:12px 14px;background:var(--paper2);border:1px solid var(--line);text-align:left;font-size:12.5px;color:var(--ink2);line-height:1.6;opacity:0;pointer-events:none;transition:opacity .35s,transform .5s var(--ease);z-index:5;box-shadow:0 12px 40px rgba(22,24,29,.08)}
.node .card::before{content:"今天在做";display:block;font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--gold-ink);margin-bottom:4px}
.node:hover .card{opacity:1;transform:translate(-50%,0)}
.node.founder .dot{width:18px;height:18px;background:var(--ink);border-color:var(--ink)}
.node.founder .dot::after{border-color:var(--ink);animation-duration:4s}
.node.founder .n{font-size:32px}
.node.founder .r{color:var(--ink3)}
.constellation .n1{left:14%;top:20%}.constellation .n2{left:50%;top:8%}.constellation .n3{left:86%;top:20%}
.constellation .n4{left:14%;top:78%}.constellation .n5{left:50%;top:92%}.constellation .n6{left:86%;top:78%}
.constellation .founder{left:50%;top:50%}
.team-list{display:none}
@media(max-width:980px){
  #sample .grid{grid-template-columns:1fr;gap:40px}
  .constellation{display:none}
  .team-list{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--line);border-top:1px solid var(--line)}
  .team-list .m{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 16px}
  .team-list .m .n{font-family:var(--serif);font-size:24px}
  .team-list .m .r{font-size:11.5px;color:var(--gold-ink);margin-top:4px}
  .team-list .m .j{font-size:13px;color:var(--ink2);margin-top:10px;line-height:1.6}
}

/* ---------- 三问三事 ---------- */
.qa{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.qa > div{padding:48px 0}
.qa > div:first-child{padding-right:60px;border-right:1px solid var(--line)}
.qa > div:last-child{padding-left:60px}
.qa h3{font-size:11px;font-family:var(--mono);font-weight:400;letter-spacing:.2em;color:var(--ink3);margin-bottom:28px;text-transform:uppercase}
.qa ol{list-style:none;counter-reset:q}
.qa li{counter-increment:q;display:grid;grid-template-columns:48px 1fr;gap:14px;padding:26px 0;border-top:1px solid var(--line2)}
.qa li::before{content:"0" counter(q);font-family:var(--mono);font-size:12px;color:var(--gold-ink);padding-top:7px}
.qa li b{display:block;font-family:var(--serif);font-size:22px;font-weight:600;line-height:1.4}
.qa li p{grid-column:2;font-size:14.5px;color:var(--ink2);margin-top:-6px}
@media(max-width:820px){.qa{grid-template-columns:1fr}.qa > div:first-child{padding-right:0;border-right:0;border-bottom:1px solid var(--line)}.qa > div:last-child{padding-left:0}}

/* ---------- 元脑体系（深段 · 同心环可视化） ---------- */
#brain .grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
#brain .viz{position:sticky;top:96px}
#brain .viz canvas{width:100%;aspect-ratio:1;display:block}
#brain .viz .label{position:absolute;left:50%;bottom:6%;transform:translateX(-50%);text-align:center;white-space:nowrap}
#brain .viz .label b{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--gold2);display:block;transition:opacity .5s}
#brain .viz .label small{font-family:var(--mono);font-size:10px;letter-spacing:.24em;color:var(--faint)}
#brain .intro{margin-bottom:56px}
#brain .quote{margin-top:36px;padding:28px 0 0;border-top:1px solid var(--hair);font-family:var(--serif);font-size:19px;line-height:1.75;color:rgba(238,240,244,.86)}
#brain .quote em{font-style:normal;color:var(--gold)}
.layers{border-top:1px solid var(--hair)}
.layer{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:34px 0;border-bottom:1px solid var(--hair);opacity:.3;transition:opacity .8s var(--ease)}
.layer.on{opacity:1}
.layer .i{font-family:var(--mono);font-size:12px;color:var(--gold);padding-top:8px}
.layer .n{font-family:var(--serif);font-size:26px;line-height:1.3;display:flex;align-items:baseline;gap:14px}
.layer .n small{font-family:var(--sans);font-size:12px;color:var(--faint);letter-spacing:.06em}
.layer .d{color:var(--dim);font-size:15px;margin-top:10px}
.layer .d q{display:block;color:var(--faint);font-size:13px;margin-bottom:6px;quotes:"「" "」"}
.layer .d q::before{content:open-quote}.layer .d q::after{content:close-quote}
#brain .replay{margin-top:28px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--faint);display:inline-flex;align-items:center;gap:10px;transition:color .3s}
#brain .replay:hover{color:var(--gold)}
#brain .replay i{width:18px;height:1px;background:currentColor}
@media(max-width:980px){#brain .grid{grid-template-columns:1fr;gap:24px}#brain .viz{position:sticky;top:64px;background:var(--space);z-index:3;padding:8px 0;max-width:320px;margin:0 auto}#brain .viz .label{bottom:2%}#brain .viz .label b{font-size:18px}}

/* ---------- 产品阶梯 ---------- */
.ladder-wrap{position:relative;margin-top:8px}
.ladder-wrap svg.path{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:1}
.ladder-wrap svg.path polyline{fill:none;stroke:var(--gold-ink);stroke-width:1.2;stroke-dasharray:3000;stroke-dashoffset:3000;transition:stroke-dashoffset 2.4s var(--ease) .2s}
.ladder-wrap svg.path circle{fill:var(--paper);stroke:var(--gold-ink);stroke-width:1.2;opacity:0;transition:opacity .6s}
.ladder-wrap.in svg.path polyline{stroke-dashoffset:0}
.ladder-wrap.in svg.path circle{opacity:1}
.ladder-wrap.in svg.path circle:nth-of-type(1){transition-delay:.6s}.ladder-wrap.in svg.path circle:nth-of-type(2){transition-delay:1.1s}.ladder-wrap.in svg.path circle:nth-of-type(3){transition-delay:1.6s}.ladder-wrap.in svg.path circle:nth-of-type(4){transition-delay:2.1s}
.stairs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.stairs .st{background:var(--paper);padding:0 24px 28px;display:flex;flex-direction:column;justify-content:flex-start;min-height:380px}
.stairs .st:nth-child(1){padding-top:190px}.stairs .st:nth-child(2){padding-top:140px}.stairs .st:nth-child(3){padding-top:90px}.stairs .st:nth-child(4){padding-top:40px}
.stairs .st .i{font-family:var(--mono);font-size:11px;color:var(--gold-ink);letter-spacing:.18em;padding-top:18px}
.stairs .st .n{font-family:var(--serif);font-size:23px;margin-top:8px;line-height:1.3}
.stairs .st p{font-size:13.5px;color:var(--ink2);margin-top:10px;line-height:1.7}
.stairs .st .tag{margin-top:16px;display:inline-block;font-size:11px;color:var(--ink3);border:1px solid var(--line);padding:3px 8px;letter-spacing:.06em;align-self:flex-start}
.products{border:1px solid var(--line);border-top:0}
.prod{display:grid;grid-template-columns:70px 1.1fr 1.6fr 180px;gap:24px;padding:32px 26px;border-top:1px solid var(--line);align-items:start;transition:background .4s}
.prod:first-child{border-top:0}
.prod:hover{background:var(--paper2)}
.prod .l{font-family:var(--serif);font-size:32px;color:var(--ink3);line-height:1}
.prod .n{font-family:var(--serif);font-size:22px;line-height:1.35}
.prod .n small{display:block;font-family:var(--sans);font-size:12px;color:var(--ink3);margin-top:6px;letter-spacing:.06em}
.prod .d{font-size:14.5px;color:var(--ink2)}
.prod .p{text-align:right;font-family:var(--mono);color:var(--gold-ink);font-size:16px;letter-spacing:.02em}
.prod .p small{display:block;font-family:var(--sans);font-size:11.5px;color:var(--ink3);margin-top:6px}
.foot-note{margin-top:22px;font-size:13px;color:var(--ink3);display:flex;gap:28px;flex-wrap:wrap}
.foot-note a{border-bottom:1px solid var(--line);transition:border-color .3s}.foot-note a:hover{border-color:var(--ink)}
@media(max-width:980px){.ladder-wrap svg.path{display:none}.stairs{grid-template-columns:repeat(2,1fr)}.stairs .st{min-height:0;padding-top:24px!important}.prod{grid-template-columns:44px 1fr;gap:10px 16px}.prod .d{grid-column:2}.prod .p{grid-column:2;text-align:left}}

/* ---------- 场景方案（悬停跟随出图） ---------- */
.sol{border-top:1px solid var(--line);position:relative}
.sol .row{display:grid;grid-template-columns:220px 1fr 1fr 130px;gap:32px;padding:38px 0;border-bottom:1px solid var(--line);align-items:start;transition:background .4s;position:relative}
.sol .row:hover{background:linear-gradient(90deg,var(--paper2),transparent)}
.sol .ind{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--gold-ink)}
.sol .cl{font-family:var(--serif);font-size:28px;margin-top:8px;line-height:1.25}
.sol .cl small{display:block;font-family:var(--sans);font-size:12.5px;color:var(--ink3);margin-top:6px;letter-spacing:.02em;font-weight:400}
.sol .k{font-family:var(--mono);font-size:10px;color:var(--ink3);letter-spacing:.18em;margin-bottom:8px}
.sol p{font-size:14.5px;color:var(--ink2)}
.sol .stt{font-size:12px;color:var(--ink3);text-align:right;letter-spacing:.06em;padding-top:4px}
.sol .stt::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#5B8C5A;margin-right:7px;vertical-align:1px}
.sol .stt.build::before{background:var(--gold-ink)}
.sol .float{position:absolute;left:0;top:0;width:300px;aspect-ratio:3/2;pointer-events:none;z-index:6;opacity:0;transition:opacity .4s;overflow:hidden;box-shadow:0 30px 70px rgba(22,24,29,.22)}
.sol .float img{width:100%;height:100%;object-fit:cover}
.sol.show .float{opacity:1}
@media(max-width:980px){.sol .row{grid-template-columns:1fr 1fr;gap:16px 24px}.sol .row > div:first-child{grid-column:1/-1}.sol .stt{grid-column:1/-1;text-align:left}.sol .float{display:none}}
@media(max-width:640px){.sol .row{grid-template-columns:1fr}}

/* ---------- 现场 ---------- */
.strip{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-width:none;margin-top:8px;cursor:grab}
.strip.drag{cursor:grabbing;scroll-snap-type:none}
.strip::-webkit-scrollbar{display:none}
.strip figure{flex:0 0 auto;width:min(560px,80vw);scroll-snap-align:start}
.strip figure .im{overflow:hidden;aspect-ratio:3/2}
.strip figure img{width:120%;height:100%;object-fit:cover;filter:saturate(.9);will-change:transform;transition:transform .1s linear}
.strip figcaption{margin-top:14px;font-size:13px;color:var(--ink2);display:flex;justify-content:space-between;gap:12px}
.strip figcaption span{font-family:var(--mono);font-size:10px;color:var(--ink3);letter-spacing:.16em;white-space:nowrap}
.strip figure.tall{width:min(372px,62vw)}
.strip figure.tall .im{aspect-ratio:1/1}

/* ---------- 预约（深段 · 字标星尘） ---------- */
#contact{overflow:hidden}
#contact .grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
#contact .check{margin-top:48px;padding:30px 0 0;border-top:1px solid var(--hair)}
#contact .check b{font-family:var(--serif);font-size:21px;font-weight:600;display:block}
#contact .check p{color:var(--dim);font-size:14.5px;margin-top:8px;max-width:440px}
#contact .check .btn{margin-top:20px}
.form{border:1px solid var(--hair);padding:38px;background:rgba(6,7,11,.5);backdrop-filter:blur(6px)}
.form .f{display:grid;grid-template-columns:110px 1fr;align-items:center;border-bottom:1px solid var(--hair);padding:15px 0}
.form .f:first-child{padding-top:0}
.form label{font-family:var(--mono);font-size:10.5px;color:var(--faint);letter-spacing:.18em}
.form input{width:100%;background:transparent;border:0;outline:0;color:var(--white);font:inherit;font-size:16px;padding:6px 0}
.form input::placeholder{color:rgba(238,240,244,.26)}
.form .sub{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.form .sub small{font-size:12px;color:var(--faint);max-width:260px;line-height:1.6}
.form .ok{display:none;font-family:var(--serif);font-size:20px;color:var(--gold);padding:24px 0 8px}
.form.sent .ok{display:block}.form.sent .fields,.form.sent .sub{display:none}
.endmark{position:relative;margin:96px auto 0;width:min(720px,80vw);aspect-ratio:5586/1752}
.endmark canvas{position:absolute;inset:-160% -60%;width:220%;height:420%;pointer-events:none}
.endmark img{width:100%;opacity:0;position:relative;z-index:2;filter:drop-shadow(0 0 30px rgba(238,240,244,.15))}
.endmark .tap{position:absolute;left:50%;bottom:-38px;transform:translateX(-50%);font-family:var(--mono);font-size:9.5px;letter-spacing:.32em;color:var(--faint);white-space:nowrap;opacity:0;transition:opacity 1s}
.endmark.on .tap{opacity:1}
.endmark .hit{position:absolute;inset:-20%;cursor:pointer;z-index:3}
@media(max-width:980px){#contact .grid{grid-template-columns:1fr;gap:40px}.form{padding:26px 22px}.form .f{grid-template-columns:1fr;gap:2px;padding:12px 0}.endmark{margin-top:64px}}

/* ---------- footer ---------- */
footer{position:relative;z-index:2;color:var(--faint);border-top:1px solid var(--hair);padding:52px 0 40px;font-size:13px;background:rgba(6,7,11,.6)}
footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid var(--hair)}
footer img{height:30px;width:auto;opacity:.9}
footer .slogan{margin-top:16px;color:var(--dim);font-size:13.5px;max-width:320px;line-height:1.8}
footer h4{font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.2em;color:var(--faint);margin-bottom:14px}
footer ul{list-style:none}footer li{padding:4px 0;color:var(--dim)}
footer li a:hover{color:var(--white)}
footer .bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;font-size:12px}
footer .bottom a{border-bottom:1px solid transparent}footer .bottom a:hover{border-color:var(--faint)}
@media(max-width:820px){footer .top{grid-template-columns:1fr 1fr;gap:28px}}

/* ---------- about page ---------- */
#about-hero{padding:200px 0 110px;min-height:70vh;display:flex;align-items:center;overflow:hidden}
#about-hero h1{font-size:clamp(36px,5.2vw,64px);line-height:1.22;max-width:16em}
#about-hero h1 em{font-style:normal;background:linear-gradient(180deg,#FFF6DF,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
#about-hero .lead{margin-top:26px}
#about-hero .horizon{position:absolute;left:50%;bottom:0;width:min(120vw,1600px);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(238,240,244,.45),transparent);opacity:.14}
.story{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:center}
.story .mark{position:relative;padding:48px}
.story .mark img{width:100%;max-width:420px;margin:0 auto}
.story .mark svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.story .mark svg path{fill:none;stroke:var(--gold-ink);stroke-width:1;stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset 1.6s var(--ease)}
.story .mark svg circle{fill:var(--gold-ink);opacity:0;transition:opacity .5s .8s}
.story .mark.in svg path{stroke-dashoffset:0}.story .mark.in svg circle{opacity:1}
.story .mark svg path:nth-of-type(2){transition-delay:.3s}.story .mark svg path:nth-of-type(3){transition-delay:.6s}
.story .mark .tag{position:absolute;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--gold-ink);display:flex;align-items:center;gap:8px}
.story .mark .tag b{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--ink)}
.story .mark .t1{left:0;top:2%}.story .mark .t2{right:0;bottom:4%;flex-direction:row-reverse}.story .mark .t3{left:0;bottom:16%}
.story .mean h3{font-size:31px;line-height:1.3}
.story .mean h3 em{font-style:normal;color:var(--gold-ink)}
.story .mean .row{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:22px 0;border-top:1px solid var(--line)}
.story .mean .row:last-child{border-bottom:1px solid var(--line)}
.story .mean .row .c{font-family:var(--serif);font-size:46px;line-height:1;color:var(--ink)}
.story .mean .row b{display:block;font-family:var(--serif);font-size:18px}
.story .mean .row p{font-size:14.5px;color:var(--ink2);margin-top:6px}
.story .mean .one{margin-top:22px;font-family:var(--serif);font-size:18px;color:var(--ink)}
@media(max-width:980px){.story{grid-template-columns:1fr;gap:36px}.story .mark{padding:30px 0}.story .mark svg{display:none}.story .mark .tag{position:static;margin-top:10px;justify-content:center}}

.founder-sec{display:grid;grid-template-columns:420px 1fr;gap:80px;align-items:start}
.founder-sec .ph{position:relative;overflow:hidden}
.founder-sec .ph img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:saturate(.9) contrast(1.02);transform:scale(1.06);transition:transform 1.6s var(--ease)}
.founder-sec .ph.in img{transform:none}
.founder-sec .ph .cap{position:absolute;left:0;right:0;bottom:-34px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;color:var(--ink3)}
.founder-sec .name{font-size:clamp(32px,3.6vw,46px);line-height:1.2}
.founder-sec .name small{display:block;font-family:var(--sans);font-weight:400;font-size:14px;color:var(--gold-ink);margin-top:12px;letter-spacing:.08em}
.founder-sec .bio{margin-top:30px;color:var(--ink2);font-size:16px;max-width:600px}
.founder-sec .bio p+p{margin-top:14px}
.founder-sec .belief{margin-top:32px;padding:26px 0 0;border-top:1px solid var(--line);font-family:var(--serif);font-size:21px;line-height:1.7}
.founder-sec .co{margin-top:46px;padding:26px 28px;border:1px solid var(--line);background:var(--paper2);display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center}
.founder-sec .co .n{font-family:var(--serif);font-size:24px}
.founder-sec .co .n small{display:block;font-family:var(--sans);font-size:12.5px;color:var(--gold-ink);margin-top:4px;letter-spacing:.06em}
.founder-sec .co p{font-size:14px;color:var(--ink2)}
@media(max-width:980px){.founder-sec{grid-template-columns:1fr;gap:56px}.founder-sec .ph{max-width:420px}}

.roster{border-top:1px solid var(--line);margin-top:8px}
.roster .r{display:grid;grid-template-columns:150px 200px 1fr 220px;gap:28px;padding:26px 0;border-bottom:1px solid var(--line);align-items:baseline;transition:background .4s}
.roster .r:hover{background:linear-gradient(90deg,var(--paper2),transparent)}
.roster .r.h{padding:12px 0;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--ink3)}
.roster .n{font-family:var(--serif);font-size:25px}
.roster .n.p{color:var(--gold-ink)}
.roster .role{font-size:14px;color:var(--ink)}
.roster .job{font-size:14.5px;color:var(--ink2)}
.roster .mean{font-size:13px;color:var(--ink3)}
@media(max-width:980px){.roster .r{grid-template-columns:1fr 1fr;gap:6px 20px}.roster .r.h{display:none}.roster .job,.roster .mean{grid-column:1/-1}}

.company{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:end}
.company dl{display:grid;grid-template-columns:110px 1fr;gap:12px 20px;margin-top:26px;font-size:14.5px}
.company dt{color:var(--faint);font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;padding-top:4px}
.company dd{color:var(--dim)}
.company .cta{justify-self:end;text-align:right}
.company .cta .btn{margin-top:22px}
@media(max-width:820px){.company{grid-template-columns:1fr;gap:40px}.company .cta{justify-self:start;text-align:left}}

/* =====================================================================
   v3 · 1.0 设计系统补丁：章节编号 / 进度点 / 数字带 / 拉引句 / 颗粒 / 内页
   ===================================================================== */
/* 颗粒质感（深段） */
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.045;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'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");mix-blend-mode:overlay}
/* 章节编号 */
.sec-idx{display:flex;align-items:center;gap:16px;font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;color:var(--ink3);margin-bottom:40px}
.sec-idx::after{content:"";flex:1;height:1px;background:var(--line)}
.dark .sec-idx{color:var(--faint)}.dark .sec-idx::after{background:var(--hair)}
.sec-idx b{font-weight:400;color:var(--gold-ink)}.dark .sec-idx b{color:var(--gold)}
/* 进度点（首页右侧） */
.prog{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;gap:14px;align-items:center;opacity:0;transition:opacity 1s 1s}
body.ready .prog{opacity:1}
.prog a{width:6px;height:6px;border-radius:50%;background:var(--faint);position:relative;transition:all .5s var(--ease)}
.prog a.on{background:var(--gold);box-shadow:0 0 10px rgba(227,197,138,.8)}
.prog.on-light a{background:var(--line)}.prog.on-light a.on{background:var(--gold-ink);box-shadow:none}
.prog a span{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;white-space:nowrap;color:var(--faint);opacity:0;transition:opacity .3s}
.prog.on-light a span{color:var(--ink3)}
.prog a:hover span{opacity:1}
@media(max-width:980px){.prog{display:none}}
/* 数字带 */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats div{padding:32px 28px 30px;border-right:1px solid var(--line)}
.stats div:last-child{border-right:0}
.stats b{display:block;font-family:var(--serif);font-size:clamp(34px,3.6vw,48px);line-height:1;font-weight:600;color:var(--ink);letter-spacing:0}
.stats b small{font-size:.5em;color:var(--gold-ink);margin-left:2px}
.stats span{display:block;margin-top:12px;font-size:13px;color:var(--ink2)}
.stats > div > i{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--ink3);margin-top:4px;font-style:normal}
.stats b i{font:inherit;display:inline;color:inherit;letter-spacing:0;margin:0;font-style:normal}
.dark .stats{border-color:var(--hair)}.dark .stats div{border-color:var(--hair)}.dark .stats b{color:var(--white)}.dark .stats b small{color:var(--gold)}.dark .stats span{color:var(--dim)}.dark .stats i{color:var(--faint)}
@media(max-width:820px){.stats{grid-template-columns:1fr 1fr}.stats div{border-bottom:1px solid var(--line);padding:22px 18px}.stats div:nth-child(2n){border-right:0}}
/* 拉引句 */
.pull{font-family:var(--serif);font-size:clamp(22px,2.4vw,30px);line-height:1.6;max-width:22em;position:relative;padding-left:28px}
.pull::before{content:"";position:absolute;left:0;top:.35em;bottom:.35em;width:2px;background:var(--gold-ink)}
.dark .pull::before{background:var(--gold)}
.pull em{font-style:normal;color:var(--gold-ink)}.dark .pull em{color:var(--gold)}
/* 关键词高亮（老板抓重点） */
.k1{background:linear-gradient(transparent 62%,rgba(156,123,52,.22) 62%)}
.dark .k1{background:linear-gradient(transparent 62%,rgba(227,197,138,.22) 62%)}
/* 字阶微调 */
.lead{font-size:16.5px;line-height:1.85}
.h2{letter-spacing:.005em}
/* ---------- 内页 hero ---------- */
.phero{padding:196px 0 96px;min-height:64vh;display:flex;align-items:flex-end;overflow:hidden}
.phero .wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:48px;align-items:end}
.phero h1{font-size:clamp(36px,5vw,62px);line-height:1.2;max-width:14em}
.phero h1 em{font-style:normal;background:linear-gradient(180deg,#FFF6DF,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.phero .lead{margin-top:24px;max-width:560px}
.phero .orb{position:relative;justify-self:end;width:min(26vh,240px);aspect-ratio:1}
.phero .orb i{position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid var(--hair);transform:translate(-50%,-50%)}
.phero .orb i:nth-child(1){width:100%;height:100%;animation:spin 90s linear infinite}
.phero .orb i:nth-child(2){width:70%;height:70%;border-style:dashed;border-color:rgba(201,207,216,.14);animation:spin 130s linear infinite reverse}
.phero .orb i:nth-child(3){width:40%;height:40%;border-color:rgba(227,197,138,.25)}
.phero .orb b{position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:var(--gold2);box-shadow:0 0 16px 4px rgba(227,197,138,.5);transform:translate(-50%,-50%);animation:core 4.5s ease-in-out infinite}
.phero .orb img{position:absolute;inset:32%;width:36%;height:36%;object-fit:contain;opacity:.9}
.phero .crumbs{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--faint);margin-bottom:22px}
.phero .crumbs a:hover{color:var(--white)}
.phero .horizon{position:absolute;left:50%;bottom:0;width:min(120vw,1600px);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(238,240,244,.45),transparent);opacity:.14}
@media(max-width:980px){.phero{padding:140px 0 64px;min-height:auto}.phero .wrap{grid-template-columns:1fr}.phero .orb{display:none}}
/* ---------- 产品页 ---------- */
.pblock{display:grid;grid-template-columns:120px 1fr 1fr;gap:48px;padding:64px 0;border-top:1px solid var(--line)}
.pblock:last-of-type{border-bottom:1px solid var(--line)}
.pblock .l{font-family:var(--serif);font-size:72px;line-height:.9;color:var(--line);font-weight:600}
.pblock .l small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--gold-ink);margin-top:14px}
.pblock h3{font-size:30px;line-height:1.3}
.pblock h3 small{display:block;font-family:var(--sans);font-weight:400;font-size:13px;color:var(--ink3);margin-top:8px;letter-spacing:.04em}
.pblock .price{font-family:var(--mono);font-size:22px;color:var(--gold-ink);margin-top:22px;letter-spacing:.02em}
.pblock .price small{display:block;font-family:var(--sans);font-size:12.5px;color:var(--ink3);margin-top:4px;letter-spacing:0}
.pblock .who{margin-top:22px;font-size:14.5px;color:var(--ink2)}
.pblock .who b{color:var(--ink);font-weight:500}
.pblock .inc{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.pblock .inc h4{font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.2em;color:var(--ink3);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.pblock .inc ul{list-style:none}
.pblock .inc li{font-size:14px;color:var(--ink2);padding:7px 0 7px 18px;position:relative;line-height:1.6}
.pblock .inc li::before{content:"";position:absolute;left:0;top:15px;width:8px;height:1px;background:var(--gold-ink)}
.pblock .inc .no li::before{background:var(--ink3);width:6px}
.pblock .inc .no li{color:var(--ink3)}
.pblock .cta{margin-top:26px}
@media(max-width:980px){.pblock{grid-template-columns:1fr;gap:28px;padding:44px 0}.pblock .l{font-size:48px}.pblock .inc{grid-template-columns:1fr}}
/* AI 员工简历卡（档案样式） */
.resumes{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.resume{background:var(--paper);padding:30px 26px 28px;position:relative;transition:background .4s;display:flex;flex-direction:column;min-height:360px}
.resume:hover{background:var(--paper2)}
.resume .no{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--ink3)}
.resume .t{font-family:var(--serif);font-size:23px;line-height:1.3;margin-top:14px}
.resume .role{font-size:12.5px;color:var(--gold-ink);margin-top:4px;letter-spacing:.04em}
.resume dl{margin-top:22px;font-size:13.5px;color:var(--ink2);display:grid;grid-template-columns:auto 1fr;gap:8px 14px}
.resume dt{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--ink3);padding-top:4px}
.resume .stamp{margin-top:auto;padding-top:20px;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--ink3)}
.resume .stamp b{display:inline-block;border:1px solid var(--gold-ink);color:var(--gold-ink);padding:3px 8px;font-weight:400;transform:rotate(-3deg)}
@media(max-width:980px){.resumes{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.resumes{grid-template-columns:1fr}.resume{min-height:0}}
/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:60px 1fr 40px;gap:20px;align-items:baseline;padding:26px 0;font-family:var(--serif);font-size:20px;line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary .n{font-family:var(--mono);font-size:11px;color:var(--gold-ink);letter-spacing:.16em}
.faq summary .x{font-family:var(--mono);color:var(--ink3);text-align:right;transition:transform .5s var(--ease)}
.faq details[open] summary .x{transform:rotate(45deg)}
.faq .a{padding:0 40px 28px 80px;font-size:15px;color:var(--ink2);max-width:760px}
.faq .a b{color:var(--ink);font-weight:500}
@media(max-width:820px){.faq summary{grid-template-columns:40px 1fr 30px;font-size:17px}.faq .a{padding:0 0 24px 60px}}
/* ---------- 场景方案页 ---------- */
.case{padding:96px 0;border-top:1px solid var(--line)}
.case .head{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:end;margin-bottom:48px}
.case .ind{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--gold-ink)}
.case h2{font-size:clamp(34px,4vw,52px);line-height:1.15;margin-top:12px}
.case h2 small{display:block;font-family:var(--sans);font-weight:400;font-size:14px;color:var(--ink3);margin-top:10px;letter-spacing:.04em}
.case .power{font-size:15.5px;color:var(--ink2)}
.case .power b{color:var(--ink);font-weight:500}
.case .logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--ink3);border:1px dashed var(--line);padding:10px 14px;margin-bottom:16px}
.case .flow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.case .flow > div{background:var(--paper);padding:30px 26px}
.case .flow h4{font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.2em;color:var(--gold-ink);margin-bottom:16px}
.case .flow ul{list-style:none}
.case .flow li{font-size:14.5px;color:var(--ink2);padding:8px 0 8px 18px;position:relative;line-height:1.6;border-top:1px solid var(--line2)}
.case .flow li:first-child{border-top:0}
.case .flow li::before{content:"";position:absolute;left:0;top:18px;width:8px;height:1px;background:var(--gold-ink)}
.case .flow p{font-size:15px;color:var(--ink2)}
.case .flow p b{color:var(--ink);font-weight:500}
.case .after{display:grid;grid-template-columns:1.2fr .8fr;gap:1px;background:var(--line);border:1px solid var(--line);border-top:0}
.case .after > div{background:var(--paper);padding:30px 26px}
.case .after .ph{padding:0;overflow:hidden}
.case .after .ph img{width:100%;height:100%;object-fit:cover;min-height:240px;filter:saturate(.9)}
.case .after h4{font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.2em;color:var(--gold-ink);margin-bottom:14px}
.case .after .big{font-family:var(--serif);font-size:24px;line-height:1.45}
.case .after .big em{font-style:normal;color:var(--gold-ink)}
.case .after p{font-size:14.5px;color:var(--ink2);margin-top:12px}
.case .after .nums{display:flex;gap:32px;margin-top:22px;flex-wrap:wrap}
.case .after .nums b{display:block;font-family:var(--serif);font-size:30px;line-height:1}
.case .after .nums span{display:block;font-size:12px;color:var(--ink3);margin-top:6px}
.case .foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px;flex-wrap:wrap}
.case .foot .stt{font-size:12.5px;color:var(--ink3);letter-spacing:.06em}
.case .foot .stt::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#5B8C5A;margin-right:8px;vertical-align:1px}
.case .foot .stt.build::before{background:var(--gold-ink)}
@media(max-width:980px){.case{padding:64px 0}.case .head{grid-template-columns:1fr;gap:20px}.case .flow{grid-template-columns:1fr}.case .after{grid-template-columns:1fr}}
/* ---------- 方法页 ---------- */
.steps5{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);counter-reset:s}
.steps5 > div{background:var(--paper);padding:30px 24px 28px;counter-increment:s;position:relative}
.steps5 > div::before{content:"0" counter(s);font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--gold-ink)}
.steps5 h4{font-family:var(--serif);font-size:22px;margin-top:12px;font-weight:600}
.steps5 p{font-size:13.5px;color:var(--ink2);margin-top:10px;line-height:1.7}
.steps5 .get{margin-top:16px;padding-top:12px;border-top:1px solid var(--line2);font-size:12.5px;color:var(--ink3)}
.steps5 .get b{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--ink3);margin-bottom:4px;font-weight:400}
.steps5 .get span{color:var(--ink)}
@media(max-width:980px){.steps5{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.steps5{grid-template-columns:1fr}}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.two > div{background:var(--paper);padding:40px 36px}
.two h4{font-family:var(--serif);font-size:26px;line-height:1.3}
.two h4 small{display:block;font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.2em;color:var(--gold-ink);margin-bottom:12px}
.two p{font-size:15px;color:var(--ink2);margin-top:14px}
@media(max-width:820px){.two{grid-template-columns:1fr}.two > div{padding:28px 22px}}
.moat{border-top:1px solid var(--line)}
.moat .r{display:grid;grid-template-columns:64px 1fr 1.3fr;gap:32px;padding:32px 0;border-bottom:1px solid var(--line);align-items:start}
.moat .r .i{font-family:var(--mono);font-size:12px;color:var(--gold-ink);padding-top:8px}
.moat .r h4{font-family:var(--serif);font-size:24px;line-height:1.3}
.moat .r h4 small{display:block;font-family:var(--sans);font-weight:400;font-size:13px;color:var(--ink3);margin-top:6px}
.moat .r p{font-size:14.5px;color:var(--ink2)}
@media(max-width:820px){.moat .r{grid-template-columns:40px 1fr}.moat .r p{grid-column:2}}
/* ---------- 现场页 ---------- */
.gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.gallery figure{position:relative;overflow:hidden;background:var(--line2)}
.gallery figure.w3{grid-column:span 3}.gallery figure.w2{grid-column:span 2}.gallery figure.w4{grid-column:span 4}
.gallery figure .im{aspect-ratio:3/2;overflow:hidden}
.gallery figure.sq .im{aspect-ratio:1/1}
.gallery figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.9);transform:scale(1.04);transition:transform 1.4s var(--ease)}
.gallery figure:hover img{transform:scale(1)}
.gallery figcaption{padding:14px 2px 6px;font-size:13px;color:var(--ink2);display:flex;justify-content:space-between;gap:12px}
.gallery figcaption span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--ink3);white-space:nowrap}
@media(max-width:820px){.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery figure.w3,.gallery figure.w2,.gallery figure.w4{grid-column:span 2}}
.events{border-top:1px solid var(--line)}
.events .r{display:grid;grid-template-columns:200px 1fr 1fr 160px;gap:32px;padding:34px 0;border-bottom:1px solid var(--line);align-items:start}
.events .r .t{font-family:var(--serif);font-size:24px;line-height:1.3}
.events .r .t small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--gold-ink);margin-bottom:8px}
.events .r p{font-size:14.5px;color:var(--ink2)}
.events .r .k{font-family:var(--mono);font-size:10px;color:var(--ink3);letter-spacing:.18em;margin-bottom:8px}
.events .r .act{text-align:right}
@media(max-width:980px){.events .r{grid-template-columns:1fr 1fr}.events .r .t{grid-column:1/-1}.events .r .act{grid-column:1/-1;text-align:left}}
/* ---------- 联系页 · 体检 ---------- */
.quiz{border:1px solid var(--hair);background:rgba(6,7,11,.5);backdrop-filter:blur(6px);padding:40px}
.quiz .qhead{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:26px}
.quiz .qhead b{font-family:var(--serif);font-size:22px;font-weight:600}
.quiz .qhead span{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;color:var(--faint)}
.quiz .bar{height:1px;background:var(--hair);margin-bottom:34px;position:relative}
.quiz .bar i{position:absolute;left:0;top:0;height:1px;background:var(--gold);transition:width .6s var(--ease)}
.quiz .q{display:none}.quiz .q.on{display:block}
.quiz .q h4{font-family:var(--serif);font-size:24px;line-height:1.45;font-weight:600}
.quiz .q h4 small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--gold);margin-bottom:12px}
.quiz .opts{margin-top:26px;display:grid;gap:10px}
.quiz .opt{display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--hair);cursor:pointer;transition:border-color .3s,background .3s;font-size:15px;color:var(--dim);text-align:left}
.quiz .opt i{font-family:var(--mono);font-size:11px;color:var(--faint);font-style:normal}
.quiz .opt:hover{border-color:rgba(227,197,138,.6);color:var(--white)}
.quiz .opt.sel{border-color:var(--gold);color:var(--white);background:rgba(227,197,138,.06)}
.quiz .nav2{display:flex;justify-content:space-between;margin-top:28px;gap:12px}
.quiz .result{display:none}.quiz.done .result{display:block}.quiz.done .q,.quiz.done .bar,.quiz.done .qhead{display:none}
.rcard{border:1px solid rgba(227,197,138,.4);padding:36px;background:radial-gradient(600px 300px at 20% 0%,rgba(227,197,138,.08),transparent 70%);position:relative}
.rcard .lv{font-family:var(--mono);font-size:10.5px;letter-spacing:.24em;color:var(--gold)}
.rcard h3{font-size:clamp(28px,3vw,40px);line-height:1.25;margin-top:14px}
.rcard h3 em{font-style:normal;color:var(--gold)}
.rcard .scale{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:26px 0 8px}
.rcard .scale i{height:4px;background:var(--hair);display:block}
.rcard .scale i.on{background:var(--gold)}
.rcard .scale-l{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:var(--faint)}
.rcard p{color:var(--dim);font-size:15px;margin-top:22px}
.rcard .next{margin-top:22px;padding-top:20px;border-top:1px solid var(--hair)}
.rcard .next b{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--gold);margin-bottom:8px;font-weight:400}
.rcard .next span{font-family:var(--serif);font-size:19px}
.rcard .acts{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.rcard .wm{position:absolute;right:28px;top:28px;height:18px;opacity:.5}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.cinfo dl{display:grid;grid-template-columns:110px 1fr;gap:14px 20px;font-size:15px;margin-top:8px}
.cinfo dt{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--faint);padding-top:5px}
.cinfo dd{color:var(--dim)}
.cinfo .qr{margin-top:32px;display:flex;gap:20px;align-items:center}
.cinfo .qr .box{width:120px;height:120px;border:1px dashed var(--hair);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--faint);text-align:center;line-height:1.6}
.cinfo .qr img{width:150px;height:150px;background:#fff;padding:8px;border-radius:2px;flex:none}
.cinfo .qr p{font-size:14px;color:var(--dim);max-width:260px}
@media(max-width:980px){.cgrid{grid-template-columns:1fr;gap:40px}.quiz{padding:26px 20px}.rcard{padding:26px 20px}}
/* 隐私页 */
.prose{max-width:720px;font-size:15.5px;color:var(--ink2)}
.prose h3{font-size:22px;margin:36px 0 12px;color:var(--ink)}
.prose p+p{margin-top:12px}
.prose ul{padding-left:18px}.prose li{margin:6px 0}

/* ---------- 场景方案 v2 · 精炼版 ---------- */
.case2{padding:88px 0;border-bottom:1px solid var(--line)}
.case2:last-of-type{border-bottom:0}
.case2 .g{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.case2 .g.rev .t{order:2}
.case2 .logo{display:inline-flex;font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--ink3);border:1px dashed var(--line);padding:9px 14px;margin-bottom:22px}
.case2 h2{font-size:clamp(36px,4.2vw,56px);line-height:1.1}
.case2 h2 small{display:block;font-family:var(--sans);font-weight:400;font-size:14px;color:var(--ink3);margin-top:12px;letter-spacing:.03em}
.case2 dl{margin-top:34px;border-top:1px solid var(--line)}
.case2 dl div,.case2 dl{display:block}
.case2 dt{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--gold-ink);padding-top:18px}
.case2 dd{font-size:17px;color:var(--ink2);padding:6px 0 18px;border-bottom:1px solid var(--line);line-height:1.6}
.case2 dd b{color:var(--ink);font-weight:600;font-family:var(--serif);font-size:20px}
.case2 .nums{display:flex;gap:40px;margin-top:28px;flex-wrap:wrap}
.case2 .nums b{display:block;font-family:var(--serif);font-size:38px;line-height:1;font-weight:600}
.case2 .nums b small{font-size:.45em;color:var(--gold-ink);font-family:var(--serif)}
.case2 .nums span{display:block;font-size:12.5px;color:var(--ink3);margin-top:8px}
.case2 .foot{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:34px;flex-wrap:wrap}
.case2 .stt{font-size:12.5px;color:var(--ink3);letter-spacing:.06em}
.case2 .stt::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#5B8C5A;margin-right:8px;vertical-align:1px}
.case2 .stt.build::before{background:var(--gold-ink)}
.case2 .ph{overflow:hidden;aspect-ratio:4/5;max-height:640px}
.case2 .ph img{width:100%;height:100%;object-fit:cover;filter:saturate(.9);transform:scale(1.05);transition:transform 1.6s var(--ease)}
.case2 .ph.in img{transform:none}
@media(max-width:980px){.case2{padding:56px 0}.case2 .g{grid-template-columns:1fr;gap:28px}.case2 .g.rev .t{order:0}.case2 .ph{aspect-ratio:3/2}}
