:root{
  --bg0:#070A12;
  --bg1:#0B1020;
  --card:rgba(255,255,255,0.05);
  --stroke:rgba(255,255,255,0.10);
  --text:#E9ECF5;
  --muted:rgba(233,236,245,0.72);
  --purple:#7C5CFF;
  --purple2:#A78BFA;
  --cyan:#2EE9FF;
  --shadow: 0 18px 60px rgba(0,0,0,0.55);
  --r:18px;
  --r2:26px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "PingFang SC", "Microsoft YaHei", sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 540px at 18% 6%, rgba(124,92,255,0.30), transparent 60%),
    radial-gradient(780px 520px at 82% 14%, rgba(46,233,255,0.16), transparent 58%),
    radial-gradient(900px 650px at 50% 100%, rgba(167,139,250,0.10), transparent 65%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
}

a{color:inherit; text-decoration:none}
.container{max-width:1120px; margin:0 auto; padding:26px 18px 60px}

.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 14px;
  border:1px solid var(--stroke);
  border-radius:999px;
  background:rgba(0,0,0,0.18);
  backdrop-filter: blur(10px);
  position: sticky; top: 14px; z-index: 20;
}

.brand{display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:0.2px}
.logo{
  width:34px; height:34px; border-radius:12px;
  background: radial-gradient(18px 18px at 30% 30%, rgba(46,233,255,0.95), rgba(124,92,255,0.85));
  box-shadow: 0 14px 40px rgba(124,92,255,0.22);
  border: 1px solid rgba(255,255,255,0.10);
}

.navlinks{display:flex; gap:8px; align-items:center; font-size:14px; color:var(--muted)}
.navlinks a{padding:9px 12px; border-radius:999px}
.navlinks a:hover{background:rgba(255,255,255,0.06); color:var(--text)}

@media (max-width: 880px){
  .nav{position:relative; top:auto}
  .navlinks{display:none}
}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:11px 14px; border-radius:14px;
  border:1px solid var(--stroke);
  background:rgba(255,255,255,0.05);
  color:var(--text);
  font-weight:650; font-size:14px;
}
.btn:hover{background:rgba(255,255,255,0.08)}
.btn.primary{
  border-color: rgba(124,92,255,0.55);
  background: linear-gradient(135deg, rgba(124,92,255,0.92), rgba(167,139,250,0.70));
  box-shadow: 0 16px 46px rgba(124,92,255,0.22);
}
.btn.primary:hover{filter:brightness(1.06)}

.hero{
  padding:62px 0 24px;
  display:grid; grid-template-columns: 1.25fr 0.75fr; gap:18px;
  align-items:stretch;
}
@media (max-width: 880px){ .hero{grid-template-columns:1fr; padding-top:38px} }

.h-title{font-size:46px; line-height:1.06; margin:0 0 12px; letter-spacing:-0.8px}
.h-sub{margin:0; color:var(--muted); font-size:16px; line-height:1.7; max-width:60ch}

.badges{display:flex; gap:10px; flex-wrap:wrap; margin:18px 0 22px}
.badge{
  font-size:12px; color:rgba(233,236,245,0.86);
  border:1px solid var(--stroke);
  background: rgba(255,255,255,0.05);
  padding:7px 10px; border-radius:999px;
}

.card{
  border:1px solid var(--stroke);
  background: var(--card);
  border-radius: var(--r2);
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
}
.card.p{padding:18px}

.kpi{padding:16px}
.kpi .t{font-size:13px; color:var(--muted); margin-bottom:6px}
.kpi .v{font-size:22px; font-weight:800}
.kpi .d{font-size:12px; color:rgba(46,233,255,0.70); margin-top:8px}

hr.sep{border:0; border-top:1px solid rgba(255,255,255,0.10); margin:14px 0}

.section{margin-top:18px; padding:22px 0}
.section h2{margin:0 0 10px; font-size:22px; letter-spacing:-0.2px}
.section p{margin:0; color:var(--muted); line-height:1.75}

.grid3{display:grid; grid-template-columns: repeat(3, 1fr); gap:14px; margin-top:14px}
@media (max-width: 880px){ .grid3{grid-template-columns:1fr} }

.item h3{margin:0 0 8px; font-size:16px}
.item p{margin:0; color:var(--muted); font-size:14px; line-height:1.65}

.pill{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12px; color:rgba(233,236,245,0.80);
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(0,0,0,0.18);
  padding:7px 10px; border-radius:999px;
}

.two{display:grid; grid-template-columns: 1fr 1fr; gap:14px; margin-top:14px}
@media (max-width: 880px){ .two{grid-template-columns:1fr} }

.cta{
  margin-top:22px;
  padding:18px;
  border-radius: var(--r2);
  border:1px solid rgba(124,92,255,0.25);
  background:
    radial-gradient(900px 200px at 20% 0%, rgba(124,92,255,0.20), transparent 60%),
    radial-gradient(900px 200px at 80% 100%, rgba(46,233,255,0.12), transparent 60%),
    rgba(255,255,255,0.04);
}
.cta h3{margin:0 0 8px}
.cta p{margin:0; color:var(--muted); line-height:1.7}

.footer{margin-top:34px; color:var(--muted); font-size:13px; padding:18px 2px}
.tiny{font-size:12px; color:rgba(233,236,245,0.55); line-height:1.6}

.link{color:rgba(46,233,255,0.85)}
.link:hover{text-decoration:underline}

/* Portal form */
.form{display:grid; gap:12px; margin-top:8px}
.label{font-size:13px; color:var(--muted)}
.input{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--stroke);
  background: rgba(0,0,0,0.18);
  color:var(--text);
  outline:none;
}
.input:focus{
  border-color: rgba(124,92,255,0.65);
  box-shadow: 0 0 0 4px rgba(124,92,255,0.16);
}
.err{color: rgba(255,92,122,0.9); font-size:13px; min-height: 18px}