/* 西文 Inter、等宽 JetBrains Mono 走 jsDelivr（国内可达）；中文用系统黑体（苹方 / 微软雅黑），不下载中文字体 */
@import url('https://cdn.jsdelivr.net/npm/@fontsource-variable/inter@5.1.1/index.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource-variable/jetbrains-mono@5.1.2/index.css');
/* 尺寸参照 deepmind.google 在 1440 宽下的实测：主标题 98px/500/-0.027em，按钮 48px 高 17.5px，正文 17.5px，卡片标题 20px */
:root{--ink:#121317;--text:#45474d;--muted:#80838a;--line:#e3e5e9;--blue:#2b72dc;--font:'Inter Variable','PingFang SC','Microsoft YaHei UI','Microsoft YaHei','Noto Sans CJK SC',system-ui,sans-serif;--mono:'JetBrains Mono Variable',ui-monospace,Consolas,'PingFang SC','Microsoft YaHei',monospace;--pad:clamp(20px,6.6vw,96px);--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");color-scheme:light}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--text);background:#fff;font-size:17.5px;line-height:1.5;letter-spacing:.005em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:12px;background:#fff;padding:8px 12px;z-index:9}
h1,h2,h3{color:var(--ink);font-weight:500;letter-spacing:-.027em;text-wrap:balance}
:lang(zh-Hans) h1,:lang(zh-Hans) h2{letter-spacing:-.01em}

/* 顶栏：通栏。首屏透明，往下翻后白底细线，深色页黑底 */
.topbar{position:fixed;inset:0 0 auto;z-index:5;display:grid;grid-template-columns:auto 1fr;align-items:center;height:64px;padding:0 var(--pad);font-size:14.5px;color:var(--ink);transition:background .3s,color .3s,box-shadow .3s}
.topbar.solid{background:#ffffffeb;backdrop-filter:blur(16px);box-shadow:0 1px 0 #12131714}
.topbar.on-dark{background:#0b0c10eb;color:#e8e9ec;box-shadow:0 1px 0 #ffffff14}
.brand{display:inline-flex;align-items:center;gap:9px}
.brand .mark{width:22px;height:22px;fill:currentColor;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.brand .mark path{fill:none}
.brand b{font-weight:600;font-size:19px;letter-spacing:.01em}
.bar-end{justify-self:end;display:flex;align-items:center;gap:20px}
.lang{display:flex;gap:12px;font-size:14px}
.lang a{opacity:.55}.lang a[aria-current]{opacity:1}

/* 胶囊按钮 */
.pill{display:inline-flex;align-items:center;height:48px;padding:0 24px;border-radius:999px;background:#fff;color:var(--ink);font-size:17.5px;font-weight:450;border:1px solid var(--line);transition:background .15s;white-space:nowrap}
.pill:hover{background:#f4f5f7}
.pill.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.pill.dark:hover{background:#2a2c33}
.pill.glass{background:#ffffff2e;border-color:#ffffff5c;backdrop-filter:blur(12px)}
.pill.small{height:36px;padding:0 16px;font-size:14.5px}
.on-dark .pill.small.dark{background:#fff;color:var(--ink);border-color:#fff}
.actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* 右侧页码点 */
.dots{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:5;display:flex;flex-direction:column;gap:12px}
.dots button{width:7px;height:7px;border-radius:50%;border:0;background:#12131733;cursor:pointer;transition:all .3s}
.dots button.on{height:22px;border-radius:4px;background:var(--ink)}
.dots.on-dark button{background:#ffffff40}.dots.on-dark button.on{background:#fff}

/* 每页一屏，入场统一淡入上移 */
.page{position:relative;min-height:100svh;overflow:hidden;isolation:isolate}
.tag{font-family:var(--mono);font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--blue);margin-bottom:20px}
:lang(zh-Hans) .tag{text-transform:none;letter-spacing:.02em}
.copy>*,.inner>*{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}
.in .copy>*,.in .inner>*{opacity:1;transform:none}
.in .copy>:nth-child(3),.in .inner>:nth-child(3){transition-delay:.12s}.in .copy>:nth-child(4),.in .inner>:nth-child(4){transition-delay:.24s}.in .inner>:nth-child(5){transition-delay:.36s}

/* 首屏：多色雾化背景 + 生长的项目树 */
.hero{display:grid;place-items:center;padding:96px var(--pad) 72px}
.sky{position:absolute;inset:0;z-index:-2;background:#4a8fe8;overflow:hidden}
.sky i{position:absolute;border-radius:50%;filter:blur(80px);animation:drift 15s ease-in-out infinite alternate}
.sky .b1{width:62vw;height:70vh;left:-18vw;top:22vh;background:#c6e4f3;opacity:.68}
.sky .b2{width:56vw;height:64vh;right:-16vw;top:-18vh;background:#d8ebff;opacity:.72;animation-duration:18s}
.sky .b3{width:48vw;height:52vh;left:30vw;top:-8vh;background:#2b72dc;animation-duration:13s}
.sky .b4{width:46vw;height:46vh;right:-4vw;top:46vh;background:#2c6fdc;opacity:.85;animation-duration:16s}
.hero .sky::after{content:'';position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(180deg,#fff0,#ffffffe6 80%,#fff);z-index:2}
.grain{position:absolute;inset:0;background:var(--grain);opacity:.16;mix-blend-mode:overlay;z-index:3}
@keyframes drift{40%{transform:translate(4vw,-5vh) scale(1.08)}75%{transform:translate(-3vw,2vh) scale(.95)}to{transform:translate(6vw,3vh) scale(1.12)}}
.tree{position:absolute;inset:0;width:100%;height:100%;z-index:-1;fill:none;stroke:#ffffff80;stroke-linecap:round}
.tree path{stroke-width:var(--w,1.2);stroke-dasharray:1;stroke-dashoffset:1}
.tree path.cut{stroke:#ffffff40}
.in .tree path{animation:draw 1s var(--d) cubic-bezier(.6,0,.2,1) forwards}
.tree .pick{stroke:#fff;stroke-width:2.6;filter:drop-shadow(0 0 7px #fff)}
.in .tree .pick{animation-duration:2.2s}
.tree .nodes circle{fill:#fff;opacity:0;transition:opacity .6s 2s}
.in .tree .nodes circle{opacity:.7}
.in .tree .nodes .dead{opacity:.35}
.tree .nodes .on{transition-delay:3.4s}.in .tree .nodes .on{opacity:1}
.tree .end{filter:drop-shadow(0 0 10px #fff);transition-delay:4.4s!important}.in .tree .end{opacity:1}
@keyframes draw{to{stroke-dashoffset:0}}
.hero-copy{position:relative;z-index:3;text-align:center;display:grid;justify-items:center}
.kicker{font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--ink);background:#ffffff40;border:1px solid #ffffff73;backdrop-filter:blur(10px);padding:6px 14px;border-radius:999px;margin-bottom:26px}
.hero h1{font-size:clamp(46px,6.8vw,98px);line-height:1;letter-spacing:-.027em}
:lang(zh-Hans) .hero h1{font-size:clamp(40px,6vw,88px);line-height:1.12;letter-spacing:-.015em}
.lead{max-width:34em;margin-top:26px;color:var(--ink);text-shadow:0 0 18px #ffffffb3,0 0 2px #ffffff80}
.hero .lede{margin-top:22px;font-size:clamp(17px,1.6vw,22px);color:#121317d9}
.hero .actions{margin-top:34px}
.note{margin-top:22px;font-family:var(--mono);font-size:12.5px;color:var(--text);letter-spacing:.01em}
.hero-copy>*{opacity:0;transform:translateY(14px);transition:opacity .8s,transform .8s}
.in .hero-copy>*{opacity:1;transform:none}
.in .hero-copy>:nth-child(2){transition-delay:.1s}.in .hero-copy>:nth-child(3){transition-delay:.25s}.in .hero-copy>:nth-child(4){transition-delay:.4s}.in .hero-copy>:nth-child(5){transition-delay:.55s}
@media(prefers-reduced-motion:reduce){.sky i,.stage.fog::before,.stage.fog::after{animation:none}.in .tree path{animation:none;stroke-dashoffset:0}}

/* 左文右图的页面 */
.feature{display:grid;grid-template-columns:5fr 6fr;gap:6vw;align-items:center;padding:110px var(--pad) 64px}
.feature h2,.inner h2{font-size:clamp(30px,3.3vw,48px);line-height:1.12;white-space:pre-line}
.body{margin-top:24px;max-width:31em}
.stage{position:relative;display:grid;place-items:center;align-content:center;gap:16px;min-height:460px;border-radius:28px;background:linear-gradient(160deg,#edf5fd,#f7f8fa);padding:40px;margin:0;opacity:0;transform:translateY(24px);transition:opacity .8s .15s,transform .8s .15s}
.in .stage{opacity:1;transform:none}
figcaption{font-size:13px;color:var(--muted)}

/* e-connect：深色页，示例交接文档 */
.dark{background:#0b0c10;color:#a9adb5}
.dark h2{color:#fff}.dark .tag{color:#9cc4f5}
.dark .stage{background:linear-gradient(160deg,#151823,#0e1016);box-shadow:inset 0 0 0 1px #ffffff12}
.dark figcaption{color:#6c7280}
/* e-connect：与首屏同一套雾化底色，canvas 实时演示 */
.stage.fog{padding:0;overflow:hidden;isolation:isolate;background:radial-gradient(50% 50% at 60% 40%,#2b72dc 0,#2b72dc00 75%),#4a8fe8}
.stage.fog::before,.stage.fog::after{content:'';position:absolute;border-radius:50%;filter:blur(36px);animation:fog 16s ease-in-out var(--d1,0s) infinite alternate}
.stage.fog::before{width:56%;height:58%;left:var(--x1,-8%);top:var(--y1,82%);background:#c6e4f3;opacity:.85}
.stage.fog::after{width:58%;height:62%;left:var(--x2,56%);top:var(--y2,-24%);background:#d8ebff;animation-duration:20s;animation-direction:alternate-reverse;animation-delay:var(--d2,0s)}
@keyframes fog{45%{transform:translate(9%,-7%) scale(1.1)}to{transform:translate(-5%,4%) scale(.94)}}
.stage.fog .grain{position:absolute;inset:0;z-index:2;background:var(--grain);opacity:.16;mix-blend-mode:overlay;pointer-events:none}
.ctxv,.treev,.winv{position:absolute;inset:0;z-index:1;width:100%;height:100%}

/* 路线图 / FAQ：通栏 */
.si{display:flex;flex-direction:column;justify-content:center;padding:110px var(--pad) 88px}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:56px;border-top:1px solid #12131722;padding-top:30px}
.cols dt{font-size:20px;font-weight:500;color:var(--ink);letter-spacing:-.01em;line-height:1.35}
.cols dt span{display:block;font-family:var(--mono);font-size:12.5px;color:var(--blue);margin-bottom:12px;letter-spacing:0}
.cols dd{margin-top:12px;font-size:16px;line-height:1.65}
.foot{margin-top:44px;font-size:15px;color:var(--muted)}

/* 项目树：三种分支写法 + 进度对比 */
.ways{margin-top:30px;display:grid;border-top:1px solid #12131718}
.ways div{display:grid;grid-template-columns:4.5em 1fr;gap:16px;padding:12px 0;border-bottom:1px solid #12131718;font-size:15.5px;line-height:1.55}
.ways dt{color:var(--ink);font-weight:500}
.in .l1 b{width:62%}.in .l2 b{width:88%}.in .l3 b{width:47%}
.in .in .win b{transition-property:width,background}
.in .win b{background:var(--blue)}
.win em{color:#fff!important;background:var(--blue);padding:4px 10px;border-radius:999px}

/* 执行层：对照表 */
.stage.plain{background:#f6f7f9;place-items:stretch}
.in .in .stage.plain figcaption{line-height:1.6;margin-top:6px}

/* 路线图 */
.stamp{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--blue)}
.big .stamp{color:#9cc4f5}
.big h3{color:#fff}

/* FAQ + 早期合作 */





.cta-row{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:56px;flex-wrap:wrap}
.cta-row p{color:var(--ink);font-size:20px}
.si footer{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:22px var(--pad);font-size:14px;color:var(--muted)}

/* 申请弹窗 */
.apply{margin:auto;border:0;border-radius:24px;padding:36px 36px 32px;width:min(480px,calc(100% - 32px));color:var(--text);box-shadow:0 30px 80px -20px #0000004d}
.apply::backdrop{background:#0b0c1066;backdrop-filter:blur(6px)}
.apply h3{font-size:26px;letter-spacing:-.015em}
.apply p{margin-top:12px}
.apply .addr{font-family:var(--mono);font-size:20px;color:var(--ink);background:#f3f5f8;border-radius:12px;padding:14px 16px;margin:20px 0 24px}
.apply .actions{justify-content:flex-start}
.apply button.pill{cursor:pointer;font:inherit;font-size:17.5px}
.apply .x{position:absolute;right:16px;top:12px;border:0;background:none;font-size:26px;color:var(--muted);cursor:pointer;width:36px;height:36px;border-radius:50%}
.apply .x:hover{background:#f1f3f6}

@media(max-width:900px){
.dots{display:none}
.feature{grid-template-columns:1fr;gap:36px;padding:100px 20px 64px}
.stage{min-height:0;padding:28px}
.cols,

}
@media(max-width:600px){
body{font-size:16px}
.topbar{height:56px;padding:0 16px;grid-template-columns:1fr auto}
.topbar .pill.small{display:none}
.bar-end{margin-left:auto}
.pill{height:44px;padding:0 20px;font-size:16px}
.hero{padding:90px 16px 64px}
.hero h1,:lang(zh-Hans) .hero h1{font-size:clamp(36px,10vw,52px)}
.ways div{grid-template-columns:3.5em 1fr}
}

/* 行尾全角逗号的右半是空白，悬挂出去，居中时按字形对齐 */
.hang{display:inline-block;width:.28em;white-space:nowrap}

/* 愿景页：EAIS.si 名称释义 */
.si h2{font-size:clamp(34px,4.2vw,60px);line-height:1.12}
.si .pair{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:1040px;margin-top:32px;font-size:17px;line-height:1.75}
.key{display:grid;grid-template-columns:repeat(4,1fr);margin-top:64px;border-top:1px solid #ffffff1f}
.key div{padding:28px 24px 0 0}
.key dt{font-size:clamp(44px,5vw,76px);font-weight:500;line-height:1;letter-spacing:-.03em;color:#fff}
.key div:last-child dt{background:linear-gradient(90deg,#9cc4f5,#c6e4f3);-webkit-background-clip:text;background-clip:text;color:transparent}
.key dd{margin:14px 0 0;font-size:15px;line-height:1.5}
@media(max-width:900px){.si .pair{grid-template-columns:1fr;gap:16px}.key{grid-template-columns:1fr 1fr;row-gap:8px}.si{padding:100px 20px 96px}}
.dark .ways,.dark .ways div{border-color:#ffffff1f}.dark .ways dt{color:#fff}

#exec .ways div{grid-template-columns:10em 1fr}
/* 执行层：演示与参数对比两张卡片叠放，前一张完整显示，后一张在上方露出一截 */
.stack{position:relative;display:grid;padding:34px 34px 0 0}
.stack>.stage{grid-area:1/1;transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1),filter .6s}
.in .stack>.stage.front{z-index:1;transform:none;opacity:1}
.in .stack>.stage.back{z-index:0;transform:translate(34px,-34px);opacity:.72;filter:saturate(.7);cursor:pointer}
.in .stack>.stage.back:hover{opacity:.9;transform:translate(40px,-40px)}
.stack .plain{align-content:center;padding:36px 40px}
.pips{position:absolute;right:-22px;top:50%;transform:translateY(-50%);display:grid;gap:8px}
.pips button{width:6px;height:6px;padding:0;border:0;border-radius:3px;background:#c9ccd3;cursor:pointer;transition:height .3s,background .3s}
.pips button.on{height:18px;background:var(--ink)}
.cmp{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45}
.cmp th,.cmp td{text-align:left;padding:15px 10px;border-bottom:1px solid #e3e5e9;vertical-align:top}
.cmp thead th{font-size:13px;font-weight:500;color:var(--muted)}
.cmp tbody th{font-weight:500;color:var(--ink)}
.cmp td:last-child{color:var(--blue);font-weight:500}
.cmp tr:last-child>*{border-bottom:0}
@media(max-width:900px){.pips{right:auto;left:50%;top:auto;bottom:-22px;transform:translateX(-50%);display:flex}.pips button.on{height:6px;width:18px}.cmp{font-size:13.5px}.cmp th,.cmp td{padding:11px 6px}}
.stack>.stage{box-shadow:0 12px 32px #12131714,0 0 0 1px #12131710}.stack .plain{background:#eef1f6}
.stack{touch-action:none;user-select:none;cursor:grab}.stack:active{cursor:grabbing}
.stack .cmp{font-size:13.5px}.stack .cmp th,.stack .cmp td{padding:10px 8px}.stack .cmp tbody th{width:24%}.stack .plain{padding:28px 26px}

/* 愿景页兼作收尾：联络信息在底部 */
.si .cta-row{border-top:1px solid #ffffff1f;padding-top:32px}
.si .cta-row p{color:#fff}
.si .pill.dark{background:#fff;color:var(--ink);border-color:#fff}.si .pill.dark:hover{background:#e9ebf0}
.si .pill:not(.dark){background:#ffffff14;color:#fff;border-color:#ffffff33}.si .pill:not(.dark):hover{background:#ffffff24}
.si footer{color:#6c7280}
