.center-t{text-align:center}
.lead.left{margin:0 0 30px;max-width:560px}.cta.left{justify-content:flex-start}
/* explorer */
.ex-block{margin-bottom:64px}
.ex-h{font-size:22px;margin-bottom:18px;text-align:center;letter-spacing:-.3px}
.goals{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.goals button{padding:11px 18px;border-radius:99px;border:1px solid #2b3556;background:var(--card);color:var(--tx);font:600 14.5px inherit;font-family:inherit;cursor:pointer;transition:.2s}
.goals button:hover{border-color:var(--ind);transform:translateY(-2px)}
.goals button.on{background:linear-gradient(135deg,var(--ind2),var(--vio));border-color:transparent;color:#fff;box-shadow:0 10px 26px -10px rgba(99,102,241,.9)}
.goal-res{margin-top:26px}.goal-res:empty{display:none}.goal-res>p{text-align:center;margin-bottom:16px}
.goal-res.swap{animation:in .45s ease}
.areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:20px}
.area{padding:28px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(160deg,#131d3a,#0e162c);position:relative;overflow:hidden;transition:.3s}
.area::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--c)}
.area::after{content:"";position:absolute;width:220px;height:220px;right:-80px;top:-80px;border-radius:50%;background:var(--c);opacity:.1;filter:blur(30px);transition:.4s}
.area:hover{border-color:var(--c);transform:translateY(-5px);box-shadow:0 22px 50px -22px var(--c)}
.area:hover::after{opacity:.25}
.area-ico{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;font-size:24px;background:color-mix(in srgb,var(--c) 18%,transparent);margin-bottom:14px}
.area h4{font-size:21px;margin-bottom:6px}.area>p{color:var(--mut);font-size:15px;margin-bottom:14px}
.area ul{list-style:none;padding:0;display:grid;gap:6px;margin-bottom:18px}
.area li a{display:inline-block;color:#cbd5e1;font-size:14.5px;padding-left:16px;position:relative;transition:.2s}
.area li a::before{content:"›";position:absolute;left:0;color:var(--c);font-weight:700}
.area li a:hover{color:#fff;transform:translateX(4px)}
.area-go{background:none;border:0;color:var(--c);font:700 14px inherit;font-family:inherit;cursor:pointer;padding:0}
.area-go:hover{text-decoration:underline}
.spot{display:flex;gap:14px;overflow-x:auto;padding:6px 4px 18px;scroll-snap-type:x mandatory}
.spot{scrollbar-width:thin;scrollbar-color:#312e81 transparent}
.spot::-webkit-scrollbar{height:6px}.spot::-webkit-scrollbar-track{background:transparent}.spot::-webkit-scrollbar-thumb{background:#312e81;border-radius:6px}
.spot .mod{min-width:270px;max-width:270px;scroll-snap-align:start}
.mod{border-top:3px solid var(--c,var(--ind))}
.mod small{color:var(--c,#818cf8)!important}
.mods a.mod{display:block}
/* module pages */
.mp{position:relative;z-index:1}
.mp-hero{padding:130px 5vw 70px;background:radial-gradient(900px 420px at 80% -10%,color-mix(in srgb,var(--c,#6366f1) 30%,transparent),transparent),radial-gradient(700px 360px at 0 20%,rgba(99,102,241,.14),transparent)}
.mp-hero.hub{padding-bottom:20px}
.mp-in{max-width:1180px;margin:auto}
.mp-hero h1{font-size:clamp(38px,5.4vw,66px);margin:20px 0 8px}
.mp-tag{font-size:clamp(20px,2.4vw,26px);font-weight:600;background:linear-gradient(100deg,#a5b4fc,var(--c,#34d399));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:16px}
.crumbs{font-size:14px;color:var(--mut);margin-bottom:26px}.crumbs a:hover{color:#fff}.crumbs span{color:#cbd5e1}
.mp-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.mp-hero.hub .lead{margin-inline:auto}
.vis{background:rgba(15,23,42,.9);border:1px solid #26314f;border-radius:18px;box-shadow:0 40px 90px -35px var(--c);animation:float 7s ease-in-out infinite}
.vis-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--mut);font-size:12.5px}
.vis-bar i{width:10px;height:10px;border-radius:50%;background:#334155}.vis-bar span{margin-left:8px}
.vis-body{padding:18px;display:grid;gap:10px}
.vis-chart{display:flex;align-items:flex-end;gap:8px;height:110px;padding:10px;background:#0b1226;border:1px solid var(--line);border-radius:12px}
.vis-chart u{flex:1;border-radius:6px 6px 2px 2px;background:linear-gradient(to top,color-mix(in srgb,var(--c) 40%,transparent),var(--c));height:0;animation:grow .9s var(--d) cubic-bezier(.2,.8,.2,1) forwards}
@keyframes grow{to{height:var(--h)}}
.vrow{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#0b1226;font-size:13.5px;color:#cbd5e1;opacity:0;animation:in .6s var(--d) forwards}
.vrow i{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 12px var(--c)}.vrow span{flex:1}
.vrow b{width:34px;height:8px;border-radius:9px;background:linear-gradient(90deg,var(--c),transparent)}
.mp-out{padding:0 5vw}
.mp-out div{max-width:1000px;margin:20px auto 0;padding:34px 40px;border-radius:22px;border:1px solid color-mix(in srgb,var(--c) 50%,transparent);background:linear-gradient(120deg,color-mix(in srgb,var(--c) 16%,transparent),transparent)}
.mp-out span{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--c);font-weight:700}
.mp-out strong{display:block;font-size:clamp(24px,3.4vw,38px);letter-spacing:-1px;line-height:1.2;margin-top:6px}
.feat{position:relative;overflow:hidden}.feat:hover{border-color:var(--c)}
.num{font-size:44px;font-weight:800;letter-spacing:-2px;color:color-mix(in srgb,var(--c) 70%,transparent);display:block;margin-bottom:6px}
.mp .steps li{border-left-color:var(--c)}.mp .steps b{background:linear-gradient(135deg,var(--c),#34d399);-webkit-background-clip:text;background-clip:text}
.who{max-width:900px;margin:0 auto 26px;text-align:center}.who h3{font-size:15px;letter-spacing:2px;text-transform:uppercase;color:var(--mut);margin-bottom:14px}
.who div{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.who span{padding:9px 18px;border-radius:99px;border:1px solid #2b3556;background:var(--card);font-size:14.5px}
.mp-pn{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:1100px;margin:0 auto;padding:0 5vw}
.mp-pn a{padding:22px 26px;border:1px solid var(--line);border-radius:16px;background:var(--card);transition:.25s}.mp-pn a:hover{border-color:var(--c);transform:translateY(-3px)}
.mp-pn .r{text-align:right}.mp-pn small{display:block;color:var(--mut);font-size:13px}.mp-pn b{font-size:19px}
@media(max-width:900px){.mp-grid{grid-template-columns:1fr}.vis{max-width:520px}.mp-pn{grid-template-columns:1fr}.mp-pn .r{text-align:left}}

/* solutions: roles, industries, stories */
.mp-in.narrow{max-width:820px}
.mods.one{grid-template-columns:minmax(260px,420px);justify-content:center}
.card.pain{position:relative;border-color:rgba(244,114,182,.25)}
.card.pain .x{color:#f472b6;font-weight:700;font-size:18px}
.card.gain{display:block;text-decoration:none;color:inherit;transition:transform .25s,border-color .25s}
.card.gain:hover{transform:translateY(-4px);border-color:var(--c)}
.card.gain .more{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:600;color:var(--c)}
.illus{display:inline-block;margin-top:18px;padding:8px 14px;border-radius:10px;border:1px dashed #3b4670;color:var(--mut);font-size:13.5px}
.story-body{max-width:760px;margin:0 auto 38px}
.story-body p{font-size:19px;line-height:1.75;color:#cbd5e1;margin-top:10px}
.role-links a{padding:9px 18px;border-radius:99px;border:1px solid #2b3556;background:var(--card);font-size:14.5px;text-decoration:none;color:inherit}
.role-links a:hover{border-color:var(--ind)}
.mod.story b{font-size:18px;line-height:1.3}
.sol-teaser{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;max-width:1180px;margin:0 auto}
.sol-teaser .card{text-decoration:none;color:inherit}
.sol-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.sol-chips a{padding:8px 15px;border-radius:99px;border:1px solid #2b3556;background:rgba(255,255,255,.03);font-size:14px;text-decoration:none;color:inherit}
.sol-chips a:hover{border-color:var(--ind);background:rgba(99,102,241,.12)}
.more-link{text-align:center;margin-top:34px}
.vs-note{text-align:center;color:#64748b;font-size:.82rem;margin-top:18px}
.rich li{display:flex;flex-direction:column;gap:2px;padding-top:10px;padding-bottom:10px}.rich li b{color:#e2e8f0;font-size:.97rem}.rich li span{color:#94a3b8;font-size:.88rem;line-height:1.5}
.ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;display:flex;justify-content:center;pointer-events:none}
.ck-in{pointer-events:auto;max-width:760px;width:100%;background:#0f1630;border:1px solid #2b3556;border-radius:18px;padding:22px 24px;box-shadow:0 20px 60px rgba(0,0,0,.55)}
.ck h2{font-size:1.05rem;margin:0 0 8px}.ck p{margin:0 0 14px;color:#94a3b8;font-size:.88rem;line-height:1.55}.ck p a{color:#a5b4fc}
.ck-opts{display:grid;gap:8px;margin-bottom:14px}.ck-opts[hidden]{display:none}
.ck-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;border:1px solid #2b3556;border-radius:12px;background:rgba(255,255,255,.03);cursor:pointer}
.ck-row b{display:block;font-size:.9rem}.ck-row small{color:#94a3b8;font-size:.78rem}.ck-row input{width:20px;height:20px;accent-color:#6366f1}
.ck-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.ck-ghost{background:transparent!important;border:1px solid #3a4670!important;color:#e2e8f0!important;box-shadow:none!important}
.consent-row{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:#94a3b8;text-align:left;line-height:1.45}
.consent-row input{margin-top:3px;width:auto;accent-color:#6366f1}.consent-row a{color:#a5b4fc}
.footer .flinks{display:flex;gap:16px;flex-wrap:wrap}.footer .flinks a,.footer .flinks button{color:var(--mut);background:none;border:0;font:inherit;cursor:pointer;padding:0;text-decoration:none}
.footer .flinks a:hover,.footer .flinks button:hover{color:#fff}
.legal{max-width:820px;margin:0 auto;padding:0 5vw 40px}.legal h2{margin:34px 0 10px;font-size:1.3rem}.legal p,.legal li{color:#b6c0d4;line-height:1.7;font-size:.97rem}.legal ul{padding-left:20px}
.legal table{width:100%;border-collapse:collapse;margin:12px 0;font-size:.9rem}.legal th,.legal td{border:1px solid #2b3556;padding:10px 12px;text-align:left;color:#b6c0d4;vertical-align:top}.legal th{background:rgba(99,102,241,.1);color:#e2e8f0}
.legal a{color:#a5b4fc}.legal .upd{color:#64748b;font-size:.85rem}
