/* ===== Sections UI for Generated Pages (Homepage-consistent) ===== */
.nxsec{ position:relative; z-index:1; padding: 16px 0; }
.nxsec__head{ margin-bottom: 10px; }
.nxh1{ font-size: 34px; font-weight: 750; color:#f8fafc; line-height:1.15; letter-spacing:-.02em; }
.nxh2{ font-size: 22px; font-weight: 750; color:#f8fafc; margin:0; }
.nxlead{ color: rgba(226,232,240,.85); font-size:14px; margin-top:10px; line-height:1.7; }
.nxpara{ color: rgba(226,232,240,.88); font-size:14px; line-height:1.75; margin-top:10px; }

.nxhero{ display:grid; grid-template-columns: 1.25fr .9fr; gap:16px; }
@media(max-width: 900px){ .nxhero{ grid-template-columns: 1fr; } }

.nxchips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.nxchip{
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 12px; border-radius:999px;
  font-size:12px; color:#f8fafc;
  background: rgba(15,23,42,0.35);
  border: 1px solid rgba(255,255,255,0.12);
}
.nxchip--muted{ background: rgba(255,255,255,0.06); color: rgba(226,232,240,.9); }

.nxcta-row{ display:flex; gap:10px; margin-top:14px; flex-wrap:wrap; }

.nxbtn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px; border-radius:999px; font-size:14px; font-weight:650;
  text-decoration:none; border:1px solid rgba(255,255,255,0.16);
}
.nxbtn--primary{ background:#fbbf24; color:#111827; border-color: rgba(251,191,36,.55); }
.nxbtn--ghost{ background: rgba(255,255,255,0.06); color:#e5e7eb; }
.w-100{ width:100%; }

.nxgrid{ display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:12px; }
@media(max-width: 1024px){ .nxgrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width: 640px){ .nxgrid{ grid-template-columns: 1fr; } }

.nxcard{
  border-radius: 18px;
  padding: 14px 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
}
.nxcard--glass{
  background: linear-gradient(135deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04));
  backdrop-filter: blur(14px);
}
.nxcard--soft{ background: rgba(15,23,42,0.25); }
.nxcard__title{ font-weight:750; color:#f8fafc; margin-bottom:6px; }
.nxcard__text{ color: rgba(226,232,240,.86); font-size:13px; line-height:1.65; }
.nxcard__list{ margin: 10px 0 0; padding-left: 16px; color: rgba(226,232,240,.85); font-size:13px; }
.nxcard__list li{ margin: 6px 0; }

.nxlist{ display:grid; gap:8px; }
.nxlist__item{ color: rgba(226,232,240,.88); font-size:14px; }

.nxbullets{ display:grid; gap:8px; }
.nxbullet{ color: rgba(226,232,240,.9); font-size:14px; }

.nxsteps{ display:grid; gap:10px; }
.nxstep{ display:flex; gap:10px; align-items:flex-start; }
.nxstep__no{
  width:28px; height:28px; border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(251,191,36,0.16);
  border:1px solid rgba(251,191,36,0.35);
  color:#fde68a; font-weight:750;
}
.nxstep__text{ color: rgba(226,232,240,.9); font-size:14px; line-height:1.65; }

.nxcard--link{ display:block; text-decoration:none; color:inherit; position:relative; }
.nxcard__tag{ font-size:11px; color: rgba(226,232,240,.75); margin-bottom:6px; }
.nxcard__cta{ margin-top:8px; color:#facc15; font-weight:700; font-size:13px; }

.nxfaq{ display:grid; gap:10px; }
.nxfaq__item{
  border-radius: 16px;
  border:1px solid rgba(255,255,255,0.12);
  background: rgba(15,23,42,0.25);
  padding: 10px 12px;
}
.nxfaq__q{ cursor:pointer; color:#f8fafc; font-weight:700; }
.nxfaq__a{ margin-top:8px; color: rgba(226,232,240,.88); font-size:14px; line-height:1.7; }

.nxcta{
  display:grid; grid-template-columns: 1.2fr .8fr; gap:14px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.14);
  background: linear-gradient(135deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04));
  padding: 16px;
}
@media(max-width: 900px){ .nxcta{ grid-template-columns: 1fr; } }
.nxcta__note{ margin-top:8px; font-size:12px; color: rgba(226,232,240,.7); }

.bloggrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
@media (max-width: 900px){
  .bloggrid{ grid-template-columns:1fr; }
}

.blogcard{
  display:block;
  text-decoration:none;
  color:inherit;
  border-radius:18px;
  overflow:hidden;
  background: rgba(16,18,26,.55);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 18px 40px rgba(0,0,0,.25);
  transition: transform .15s ease, filter .15s ease;
}
.blogcard:hover{ transform: translateY(-2px); filter: brightness(1.05); }

.blogcard__img{
  height: 170px;
  background: rgba(255,255,255,.06);
}
.blogcard__img img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}

.blogcard__body{ padding: 14px 14px 16px; }
.blogcard__tag{
  font-size: 12px;
  opacity: .85;
  margin-bottom: 6px;
}
.blogcard__title{
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
  margin-bottom: 8px;
}
.blogcard__desc{
  font-size: 12px;
  opacity: .75;
  line-height: 1.45;
}

/* ====== Two column blocks (Schools/Institutes) ====== */
.nxtwo-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 900px){ .nxtwo-grid{ grid-template-columns:1fr; } }

.nxbox{
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(148,163,184,0.20);
  border-radius: 18px;
  padding: 14px;
}

.nxmini-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
}
@media (max-width: 640px){ .nxmini-grid{ grid-template-columns:1fr; } }

.nxmini-card{
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(148,163,184,0.18);
  border-radius: 14px;
  padding: 10px 10px;
}
.nxmini-title{ font-weight: 700; font-size: 13px; color: #fff; }
.nxmini-sub{ font-size: 12px; color: rgba(226,232,240,.75); margin-top: 2px; }
.nxpill{
  display:inline-flex;
  margin-top: 8px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  background: rgba(250,204,21,.12);
  border: 1px solid rgba(250,204,21,.28);
  color: #fde68a;
}
.nxpill--soft{
  background: rgba(59,130,246,.12);
  border-color: rgba(59,130,246,.28);
  color: #bfdbfe;
}

/* ====== Reviews slider ====== */
.nxreview-wrap{
  position: relative;
  margin-top: 10px;
}
.nxreview-track{
  display:flex;
  gap: 14px;
  overflow-x:auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 8px;
  scrollbar-width: none;
}
.nxreview-track::-webkit-scrollbar{ display:none; }

.nxreview-card{
  flex: 0 0 360px;
  scroll-snap-align: start;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(148,163,184,0.18);
  border-radius: 18px;
  padding: 14px;
}
@media (max-width: 520px){ .nxreview-card{ flex-basis: 86%; } }

.nxreview-top{
  display:flex;
  gap: 12px;
  align-items:center;
}
.nxreview-avatar{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,0.20);
}
.nxreview-name{ font-weight: 800; font-size: 14px; color:#fff; }
.nxreview-sub{
  font-size: 12px;
  color: rgba(226,232,240,.75);
  display:flex;
  gap: 8px;
  align-items:center;
  margin-top: 2px;
}
.nxstars{
  display:inline-flex;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(250,204,21,.12);
  border: 1px solid rgba(250,204,21,.28);
  color:#fde68a;
  font-weight:700;
}
.nxreview-loc{
  font-size: 12px;
  color: rgba(226,232,240,.70);
  margin-top: 2px;
}
.nxreview-text{
  margin: 12px 0 0;
  font-size: 13px;
  color: rgba(226,232,240,.92);
  line-height: 1.6;
}

/* arrows */
.nxreview-arrow{
  position:absolute;
  top: 42%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(148,163,184,0.25);
  background: rgba(2,6,23,0.65);
  color: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  backdrop-filter: blur(10px);
}
.nxreview-arrow:hover{ filter: brightness(1.05); }
.nxreview-arrow--prev{ left: -10px; }
.nxreview-arrow--next{ right: -10px; }
@media (max-width: 900px){
  .nxreview-arrow{ display:none; } /* mobile scroll is enough */
}

/* dots */
.nxreview-dots{
  display:flex;
  gap: 6px;
  justify-content:center;
  margin-top: 10px;
}
.nxreview-dot{
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(226,232,240,.25);
}
.nxreview-dot.is-active{ background: rgba(250,204,21,.85); }
