@font-face{font-family:Fustat;font-weight:300;font-display:swap;src:url(assets/fonts/fustat-300.ttf) format("truetype")}
@font-face{font-family:Fustat;font-weight:500;font-display:swap;src:url(assets/fonts/fustat-500.ttf) format("truetype")}
@font-face{font-family:Fustat;font-weight:700;font-display:swap;src:url(assets/fonts/fustat-700.ttf) format("truetype")}
@font-face{font-family:Fustat;font-weight:800;font-display:swap;src:url(assets/fonts/fustat-800.ttf) format("truetype")}
:root{--bg:#060f1e;--navy:#0a223f;--tx:#e8eef7;--mu:#8da2bd;--ln:rgba(255,255,255,.1);--a:#8fb4ff;--b:#e0a577}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--tx);font-family:Fustat,system-ui,sans-serif;font-weight:300;line-height:1.6;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;z-index:0;background:radial-gradient(ellipse 70% 60% at 50% 22%,rgba(30,70,140,.3),rgba(6,15,30,0) 70%);pointer-events:none}
#sky{position:fixed;inset:0;width:100%;height:100%;z-index:0}
main,footer,.nav{position:relative;z-index:1}
a{color:inherit;text-decoration:none}
.grad{background:linear-gradient(100deg,var(--a),var(--b));-webkit-background-clip:text;background-clip:text;color:transparent}
.nav{position:fixed;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:14px clamp(16px,4vw,48px);background:linear-gradient(#060f1ecc,#060f1e00);backdrop-filter:blur(6px)}
.nav nav{display:flex;gap:22px;font-weight:500;font-size:14px;color:var(--mu)}
.nav nav a:hover{color:#fff}
.brand img{display:block;height:22px;width:auto}
.hero{min-height:100svh;display:grid;place-items:center;padding:110px clamp(18px,5vw,64px) 60px;position:relative}
.hero-in{max-width:880px;text-align:center}
.eyebrow{display:inline-flex;gap:8px;align-items:center;font-weight:500;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--mu);border:1px solid var(--ln);padding:6px 14px;border-radius:99px;background:#ffffff08}
.dot{width:7px;height:7px;border-radius:50%;background:#5be0a0;box-shadow:0 0 10px #5be0a0;animation:pl 2s infinite}
@keyframes pl{50%{opacity:.3}}
h1{font-size:clamp(44px,9vw,104px);line-height:1.02;font-weight:800;margin:26px 0 20px;letter-spacing:-.02em}
h2{font-size:clamp(30px,5vw,56px);line-height:1.1;font-weight:800;letter-spacing:-.015em;text-align:center}
.lead{font-size:clamp(16px,2vw,21px);color:#b9c7da;max-width:680px;margin:0 auto}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.btn{padding:13px 26px;border-radius:99px;font-weight:700;background:#fff;color:var(--navy);transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px #8fb4ff55}
.btn.ghost{background:transparent;color:#fff;border:1px solid #ffffff44}
.scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mu);text-align:center}
.scroll i{display:block;width:1px;height:34px;margin:8px auto 0;background:linear-gradient(var(--a),transparent);animation:sc 2s infinite}
@keyframes sc{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}}
.sec{max-width:1120px;margin:0 auto;padding:clamp(70px,12vw,140px) clamp(18px,4vw,40px)}
.sub{text-align:center;color:var(--mu);margin:12px 0 0}
.trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:48px}
.card{padding:28px;border:1px solid var(--ln);border-radius:20px;background:linear-gradient(160deg,#ffffff0d,#ffffff03);backdrop-filter:blur(8px);transition:transform .15s,border-color .3s;transform-style:preserve-3d}
.card:hover{border-color:#8fb4ff66}
.card b{color:var(--b);font-weight:700;font-size:13px;letter-spacing:.15em}
.card .ic{font-size:30px;color:var(--a)}
.card h3{font-size:22px;font-weight:700;margin:10px 0 8px}
.card p{color:#aebdd1;font-size:15.5px}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s,transform .8s}
.reveal.in{opacity:1;transform:none}
/* map */
.map{position:relative;width:min(640px,100%);aspect-ratio:1;margin:40px auto 0}
.links{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.core{position:absolute;left:50%;top:50%;width:26%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-content:center;justify-items:center;gap:2px;font-weight:700;font-size:clamp(11px,2vw,15px);background:radial-gradient(circle,#16407a,#0a223f);box-shadow:0 0 0 1px #8fb4ff55,0 0 60px #4a82e055;animation:core 4s ease-in-out infinite}
.core img{width:34%;height:auto}
@keyframes core{50%{box-shadow:0 0 0 1px #8fb4ff99,0 0 90px #4a82e088}}
.node{position:absolute;width:19%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:22%;background:#0d1b30;border:1px solid var(--ln);display:grid;place-items:center;cursor:pointer;padding:0;transition:transform .25s,box-shadow .25s,border-color .25s;color:inherit;font:inherit}
.node img{width:62%;height:62%;display:block;pointer-events:none}
.node span{position:absolute;top:104%;left:50%;transform:translateX(-50%);font-size:clamp(10px,1.8vw,13px);font-weight:700;white-space:nowrap;color:var(--mu)}
.node:hover,.node.on,.node:focus-visible{transform:translate(-50%,-50%) scale(1.14);border-color:var(--c);box-shadow:0 0 36px -4px var(--c);outline:0}
.node.on span{color:#fff}
.panel{max-width:620px;margin:56px auto 0;padding:26px 28px;border:1px solid var(--ln);border-radius:20px;background:#ffffff08;min-height:150px;display:flex;gap:20px;align-items:flex-start}
.panel img{width:64px;height:64px;flex:none}
.panel h3{font-size:24px;font-weight:800}
.panel .tag{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--b);font-weight:700}
.panel p{color:#b9c7da;margin-top:6px}
.panel ul{margin:10px 0 0 18px;color:#9fb0c6;font-size:15px}
/* ai */
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px}
.agents{display:grid;gap:12px}
.ag{display:flex;gap:14px;padding:16px 18px;border:1px solid var(--ln);border-radius:16px;background:#ffffff08;align-items:center;transition:border-color .3s,background .3s}
.ag.act{border-color:#5be0a088;background:#5be0a010}
.ag i{width:10px;height:10px;border-radius:50%;background:#34506f;flex:none;transition:.3s}
.ag.act i{background:#5be0a0;box-shadow:0 0 12px #5be0a0}
.ag b{font-weight:700;display:block}.ag small{color:var(--mu);font-size:13.5px}
.term{border:1px solid var(--ln);border-radius:16px;background:#040a14;overflow:hidden;min-height:300px}
.term-h{display:flex;gap:6px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--ln);font-size:12px;color:var(--mu)}
.term-h i{width:10px;height:10px;border-radius:50%;background:#2a3b52}.term-h span{margin-left:8px}
pre{font:500 13px/1.7 ui-monospace,Menlo,monospace;padding:16px;color:#9ee8c0;white-space:pre-wrap;word-break:break-word}
pre em{color:#8fb4ff;font-style:normal}pre u{color:#e0a577;text-decoration:none}
pre.c::after{content:"▌";animation:pl 1s infinite}
/* flow */
.flow{margin-top:40px}.flow svg{width:100%;height:auto;overflow:visible}
.fn circle{fill:#0d1b30;stroke:#ffffff33}.fn circle.hot{stroke:var(--b);filter:drop-shadow(0 0 14px #e0a577aa)}
.fn text{fill:#e8eef7;font-family:Fustat;font-weight:700}.fn text.s{font-size:11px;fill:#8da2bd;font-weight:500}
.end{text-align:center;padding-bottom:90px}.end img{margin:0 auto 18px;display:block}
footer{display:flex;justify-content:space-between;padding:22px clamp(16px,4vw,48px);border-top:1px solid var(--ln);color:var(--mu);font-size:13px}
html[lang=en] h1{font-size:clamp(38px,7.4vw,92px)}
.nav nav a.lang{margin-left:6px;padding:3px 10px;border:1px solid var(--ln);border-radius:99px;font-size:12px;letter-spacing:.04em}.nav nav a.lang b{color:#fff}.nav nav a.lang:hover{border-color:var(--a)}
@media(max-width:760px){.nav nav a.lang{display:inline-block!important;margin-left:0}.nav nav a:not(:nth-child(2)):not(:nth-child(3)){display:none}.ai-grid{grid-template-columns:1fr}.panel{flex-direction:column}.map{width:96%}.node{width:21%}.fn text.s{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
.brandwrap{display:flex;align-items:center;gap:12px}
.by{display:inline-flex;align-items:center;gap:8px;padding-left:12px;border-left:1px solid var(--ln);font-size:11px;letter-spacing:.04em;color:var(--mu);white-space:nowrap}.by img{height:16px;width:auto;opacity:.9}
.mgmi-in{display:flex;align-items:center;gap:clamp(24px,5vw,64px);padding:clamp(28px,4vw,48px);border:1px solid var(--ln);border-radius:20px;background:linear-gradient(135deg,#ffffff0a,#ffffff03)}
.mgmi-logo{width:clamp(180px,26vw,300px);height:auto;flex:none}
.mgmi h2{font-size:clamp(24px,3.2vw,38px);margin:6px 0 12px}.mgmi .sub{margin:0;max-width:60ch}
footer{gap:16px}footer span:first-child{max-width:70ch}
@media(max-width:760px){.by{display:none}.mgmi-in{flex-direction:column;align-items:flex-start}footer{flex-direction:column}}
.mgmi-in>div{text-align:left}.mgmi .eyebrow{margin-bottom:8px}
