:root{
  --njs-cl-bg1:#111a2b;
  --njs-cl-bg2:#0a1222;
  --njs-cl-card:#121d31;
  --njs-cl-line:rgba(255,255,255,.08);
  --njs-cl-gold:#cfa562;
  --njs-cl-gold2:#e2c18d;
  --njs-cl-text:#f5f1ea;
  --njs-cl-muted:#ddd4c6;
  --njs-cl-shadow:0 18px 48px rgba(0,0,0,.20);
  --njs-cl-radius:28px;
}

.njs-cluster-wrap{
  width:min(100%, 1260px);
  margin:28px auto 0;
  padding:0 20px 34px;
}

.njs-cluster-box{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  background:
    radial-gradient(circle at 10% 12%, rgba(207,165,98,.08), transparent 22%),
    linear-gradient(180deg, var(--njs-cl-bg1), var(--njs-cl-bg2));
  border:1px solid var(--njs-cl-line);
  box-shadow:var(--njs-cl-shadow);
  padding:28px;
}

.njs-cluster-kicker{
  color:var(--njs-cl-gold);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:13px;
  font-weight:900;
  margin-bottom:10px;
}

.njs-cluster-title{
  margin:0 0 10px;
  color:var(--njs-cl-text);
  font-size:clamp(28px, 4vw, 42px);
  line-height:1.04;
  letter-spacing:-.03em;
  font-weight:900;
}

.njs-cluster-lead{
  margin:0;
  color:var(--njs-cl-muted);
  font-size:17px;
  line-height:1.78;
  max-width:92ch;
}

.njs-cluster-grid{
  margin-top:22px;
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr;
  gap:16px;
}

.njs-cluster-card{
  border-radius:24px;
  background:
    radial-gradient(circle at 10% 12%, rgba(207,165,98,.05), transparent 20%),
    linear-gradient(180deg, #142037, #0d1627);
  border:1px solid var(--njs-cl-line);
  box-shadow:0 12px 28px rgba(0,0,0,.14);
  padding:22px;
}

.njs-cluster-card h3{
  margin:0 0 12px;
  color:#fff;
  font-size:22px;
  line-height:1.1;
  font-weight:900;
}

.njs-cluster-card p{
  margin:0 0 14px;
  color:var(--njs-cl-muted);
  font-size:15px;
  line-height:1.72;
}

.njs-cluster-links{
  display:grid;
  gap:10px;
}

.njs-cluster-links a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:50px;
  padding:0 14px;
  border-radius:16px;
  color:#f4ede2;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  text-decoration:none;
  font-weight:800;
  line-height:1.35;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}

.njs-cluster-links a:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.05);
  border-color:rgba(207,165,98,.24);
}

.njs-cluster-links a.current{
  background:linear-gradient(135deg, rgba(207,165,98,.14), rgba(184,137,74,.10));
  border-color:rgba(207,165,98,.26);
}

.njs-cluster-links a .arrow{
  color:var(--njs-cl-gold2);
  font-size:18px;
  line-height:1;
  flex:0 0 auto;
}

.njs-cluster-mini{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.njs-cluster-mini-item{
  border-radius:20px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.03);
  padding:16px 16px 14px;
}

.njs-cluster-mini-item strong{
  display:block;
  margin-bottom:8px;
  color:#fff;
  font-size:18px;
  line-height:1.12;
}

.njs-cluster-mini-item span{
  display:block;
  color:var(--njs-cl-muted);
  font-size:14px;
  line-height:1.65;
}

@media (max-width: 1024px){
  .njs-cluster-grid{
    grid-template-columns:1fr;
  }
  .njs-cluster-mini{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  .njs-cluster-wrap{
    padding:0 14px 24px;
  }
  .njs-cluster-box{
    padding:20px;
    border-radius:22px;
  }
  .njs-cluster-card{
    padding:18px;
    border-radius:18px;
  }
}
