/* ═══════════════════════════════════════════════════════════
   NSMentors Private Limited — Main Stylesheet
   ═══════════════════════════════════════════════════════════ */

/* ── VARIABLES ── */
:root {
  --primary: #1a8fff;
  --primary-dark: #0a74da;
  --electric: #00d4ff;
  --electric-dim: rgba(0,212,255,0.15);
  --purple: #7c3aed;
  --purple-light: #a78bfa;
  --dark: #03070f;
  --dark-2: #060c1a;
  --dark-3: #0a1228;
  --card-bg: rgba(0,212,255,0.04);
  --card-border: rgba(0,212,255,0.1);
  --card-hover-border: rgba(0,212,255,0.5);
  --white: #ffffff;
  --gray-100: #f8fafc;
  --gray-400: #94a3b8;
  --gray-600: #475569;
  --text: #dff3ff;
  --text-muted: #7eacc4;
  --gradient-main: linear-gradient(135deg, #1a8fff 0%, #7c3aed 100%);
  --gradient-electric: linear-gradient(135deg, #00d4ff 0%, #1a8fff 100%);
  --gradient-hero: linear-gradient(135deg, #03070f 0%, #0a1228 50%, #0d0a28 100%);
  --shadow-glow: 0 0 40px rgba(0,212,255,0.25);
  --shadow-glow-strong: 0 0 60px rgba(0,212,255,0.4);
  --shadow-card: 0 8px 32px rgba(0,0,0,0.5);
  --radius: 18px;
  --radius-sm: 12px;
  --transition: 0.35s cubic-bezier(0.4,0,0.2,1);
}

/* ── RESET & BASE ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: 'Poppins', 'Inter', sans-serif;
  background: var(--dark);
  color: var(--text);
  overflow-x: hidden;
  max-width: 100vw;
  line-height: 1.7;
}
html { overflow-x: hidden; }

a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { max-width: 100%; display: block; }
button { border: none; cursor: pointer; background: none; font-family: inherit; }

/* ── SCROLL PROGRESS ── */
#scroll-progress {
  position: fixed;
  top: 0; left: 0;
  height: 3px;
  width: 0%;
  background: var(--gradient-electric);
  z-index: 9999;
  transition: width 0.1s linear;
}

/* ── LOADER ── */
#loader {
  position: fixed;
  inset: 0;
  background: var(--dark);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
#loader.hidden { opacity: 0; visibility: hidden; }

.loader-inner { text-align: center; }
.loader-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
}

.loader-bar {
  width: 200px;
  height: 3px;
  background: rgba(255,255,255,0.1);
  border-radius: 10px;
  overflow: hidden;
  margin: 0 auto;
}
.loader-fill {
  height: 100%;
  width: 0%;
  background: var(--gradient-electric);
  border-radius: 10px;
  animation: loadFill 1.8s ease forwards;
}
@keyframes loadFill { to { width: 100%; } }

/* ── CONTAINER ── */
.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2rem;
}

/* ── BUTTONS ── */
.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 2rem;
  background: var(--gradient-main);
  color: var(--white);
  border-radius: 50px;
  font-weight: 600;
  font-size: 0.95rem;
  transition: var(--transition);
  box-shadow: 0 4px 20px rgba(10,116,218,0.4);
  position: relative;
  overflow: hidden;
}
.btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #7c3aed 0%, #0a74da 100%);
  opacity: 0;
  transition: var(--transition);
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(10,116,218,0.6); }
.btn-primary:hover::before { opacity: 1; }
.btn-primary i, .btn-primary span { position: relative; z-index: 1; }
.btn-primary * { position: relative; z-index: 1; }

.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 2rem;
  border: 2px solid rgba(255,255,255,0.3);
  color: var(--white);
  border-radius: 50px;
  font-weight: 600;
  font-size: 0.95rem;
  transition: var(--transition);
  backdrop-filter: blur(10px);
}
.btn-outline:hover {
  border-color: var(--electric);
  color: var(--electric);
  transform: translateY(-2px);
  box-shadow: 0 0 20px rgba(0,198,255,0.2);
}

.btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 1.8rem;
  background: transparent;
  border: 1px dashed rgba(0,200,255,0.4);
  color: rgba(255,255,255,0.85);
  border-radius: 50px;
  font-weight: 600;
  font-size: 0.9rem;
  transition: var(--transition);
}
.btn-ghost:hover {
  background: rgba(0,200,255,0.08);
  border-color: rgba(0,200,255,0.7);
  color: #fff;
  transform: translateY(-2px);
}

.mt-4 { margin-top: 1.5rem; }
.w-full { width: 100%; justify-content: center; }

/* ── SECTION COMMONS ── */
section { padding: 7rem 0; position: relative; }
.dark-section { background: var(--dark-2); }

/* ambient glow orbs — kept inside viewport */
#about::before, #projects::before, #team::before, #tech::before, #contact::before {
  content: '';
  position: absolute;
  top: 10%; right: 0;
  width: 340px; height: 340px;
  background: radial-gradient(circle, rgba(0,212,255,0.05) 0%, transparent 70%);
  pointer-events: none;
  border-radius: 50%;
  overflow: hidden;
}
#services::before, #etc::before, #why::before, #testimonials::before {
  content: '';
  position: absolute;
  bottom: 10%; left: 0;
  width: 320px; height: 320px;
  background: radial-gradient(circle, rgba(124,58,237,0.07) 0%, transparent 70%);
  pointer-events: none;
  border-radius: 50%;
}
section { overflow: hidden; }

.section-header { text-align: center; margin-bottom: 3.5rem; }
.section-label {
  display: inline-block;
  background: rgba(0,212,255,0.08);
  border: 1px solid rgba(0,212,255,0.3);
  color: var(--electric);
  padding: 0.3rem 1.2rem;
  border-radius: 50px;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 1rem;
  box-shadow: 0 0 16px rgba(0,212,255,0.12);
}
.section-title {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.25;
  margin-bottom: 1rem;
}
.gradient-text {
  background: var(--gradient-main);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.section-subtitle {
  font-size: 1rem;
  color: var(--text-muted);
  max-width: 550px;
  margin: 0 auto;
}

/* ══════════════════════════════════════
   NAVBAR
══════════════════════════════════════ */
#navbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  padding: 0.3rem 0;
  background: #ffffff;
  border-bottom: 1px solid rgba(0,0,0,0.07);
  box-shadow: 0 2px 24px rgba(0,0,0,0.08), 0 1px 4px rgba(0,0,0,0.04);
  transition: box-shadow 0.3s ease, padding 0.3s ease;
}
#navbar.scrolled {
  padding: 0.4rem 0;
  box-shadow: 0 4px 32px rgba(0,0,0,0.13), 0 1px 6px rgba(0,0,0,0.06);
  border-bottom: 1px solid rgba(0,0,0,0.10);
}
.nav-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  align-items: center;
  gap: 2rem;
}
.nav-logo {
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
  font-size: 1.3rem;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 0.2rem;
}
.nav-logo-img {
  height: 50px;
  width: auto;
  max-width: 260px;
  display: block;
  object-fit: contain;
  transition: filter 0.3s ease, transform 0.3s ease;
}
.nav-logo:hover .nav-logo-img {
  filter: drop-shadow(0 2px 10px rgba(0,200,255,0.35));
  transform: scale(1.04);
}
.loader-logo .nav-logo-img  {
  height: 80px;
  max-width: 380px;
  background: #ffffff;
  padding: 12px 18px;
  border-radius: 14px;
  box-shadow: 0 8px 32px rgba(0,200,255,0.18);
}
.footer-logo  .nav-logo-img { height: 52px; max-width: 260px; }
.logo-ns { color: var(--electric); }
.logo-mentors { color: #ffffff !important; }
.logo-pvt { color: var(--gray-400); font-size: 0.75rem; font-weight: 500; margin-left: 0.15rem; }

.nav-logo .logo-ns {
  color: var(--primary) !important;
}
.nav-logo .logo-mentors {
  color: #1f2937 !important;
}
.nav-logo .logo-text {
  font-size: 1.3rem;
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
  margin-left: 0.3rem;
}

.nav-links {
  display: flex;
  gap: 0.05rem;
  margin-left: auto;
  align-items: center;
}
.nav-links a {
  padding: 0.4rem 0.65rem;
  border-radius: 8px;
  font-size: 0.82rem;
  white-space: nowrap;
  font-weight: 500;
  color: #374151;
  transition: var(--transition);
}
.nav-links a:hover, .nav-links a.active {
  color: var(--primary-dark);
  background: rgba(26,143,255,0.08);
}

.nav-cta {
  background: var(--gradient-main);
  color: var(--white);
  padding: 0.5rem 1.4rem;
  border-radius: 50px;
  font-size: 0.88rem;
  font-weight: 600;
  transition: var(--transition);
  white-space: nowrap;
}
.nav-cta:hover { transform: translateY(-1px); box-shadow: var(--shadow-glow); }

.hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: 0.25rem;
  margin-left: auto;
}
.hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: #374151;
  border-radius: 2px;
  transition: var(--transition);
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ══════════════════════════════════════
   HERO
══════════════════════════════════════ */
#hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-hero);
  overflow: hidden;
  padding: 7rem 2rem 4rem;
}
#particles-canvas {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-glow-1 {
  position: absolute;
  top: -10%;
  right: -5%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(10,116,218,0.2) 0%, transparent 70%);
  pointer-events: none;
}
.hero-glow-2 {
  position: absolute;
  bottom: -10%;
  left: -5%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(124,58,237,0.18) 0%, transparent 70%);
  pointer-events: none;
}
.floating-icons {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.fi {
  position: absolute;
  font-size: 1.5rem;
  opacity: 0.08;
  animation: floatIcon linear infinite;
}
.fi-1 { top: 15%; left: 8%; animation-duration: 14s; animation-delay: 0s; color: #61dafb; }
.fi-2 { top: 60%; left: 5%; animation-duration: 18s; animation-delay: 2s; color: #68a063; }
.fi-3 { top: 25%; right: 10%; animation-duration: 16s; animation-delay: 1s; color: #3776ab; }
.fi-4 { top: 70%; right: 8%; animation-duration: 12s; animation-delay: 3s; color: var(--electric); }
.fi-5 { top: 45%; left: 2%; animation-duration: 20s; animation-delay: 0.5s; color: #ff9900; }
.fi-6 { top: 10%; right: 25%; animation-duration: 15s; animation-delay: 4s; color: #f0db4f; }
.fi-7 { top: 80%; left: 20%; animation-duration: 17s; animation-delay: 1.5s; color: var(--purple-light); }
.fi-8 { top: 35%; right: 3%; animation-duration: 13s; animation-delay: 2.5s; color: #2496ed; }

@keyframes floatIcon {
  0%   { transform: translateY(0) rotate(0deg); opacity: 0.06; }
  50%  { transform: translateY(-30px) rotate(180deg); opacity: 0.12; }
  100% { transform: translateY(0) rotate(360deg); opacity: 0.06; }
}

.hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 760px;
  width: 100%;
  margin: 0 auto;
  padding: 0 1.5rem;
}
.hero-badge {
  display: inline-block;
  background: rgba(10,116,218,0.15);
  border: 1px solid rgba(0,198,255,0.3);
  color: var(--electric);
  padding: 0.4rem 1.2rem;
  border-radius: 50px;
  font-size: 0.82rem;
  font-weight: 500;
  margin-bottom: 1.5rem;
  letter-spacing: 0.5px;
}
.hero-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
  line-height: 1.08;
  margin-bottom: 0.9rem;
}
.hero-company {
  display: block;
  font-size: clamp(3rem, 8vw, 5.5rem);
}
.hero-company .logo-ns { color: var(--electric); }
.hero-mentors { color: #ffffff; }
.hero-headline {
  display: block;
  color: #ffffff;
  font-size: clamp(1.8rem, 4.6vw, 3.6rem);
  font-weight: 900;
  letter-spacing: -0.5px;
}
.hero-headline-grad {
  display: block;
  font-size: clamp(2rem, 5.2vw, 4.1rem);
  font-weight: 900;
  letter-spacing: -0.5px;
  margin: 0.05em 0;
}
.hero-infra-line {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  background: linear-gradient(135deg, rgba(0,200,255,0.10), rgba(10,91,232,0.10));
  border: 1px solid rgba(0,200,255,0.28);
  border-left: 3px solid var(--electric);
  padding: 0.55rem 1.1rem;
  border-radius: 8px;
  color: #fff;
  font-size: clamp(0.92rem, 1.6vw, 1.05rem);
  font-weight: 500;
  margin: 0.7rem auto 1.1rem;
  backdrop-filter: blur(10px);
}
.hero-infra-line i { color: var(--electric); }
.hero-infra-line strong { color: var(--electric); font-weight: 800; }
.hero-infra-line u { text-decoration: none; color: #ff8a3d; font-weight: 700; }
.hero-sub {
  display: block;
  font-size: clamp(1rem, 3vw, 1.6rem);
  color: var(--text-muted);
  font-weight: 600;
  letter-spacing: 3px;
  margin-bottom: 1rem;
}
.hero-tagline {
  font-size: clamp(1rem, 2.5vw, 1.35rem);
  font-weight: 600;
  color: var(--white);
  min-height: 2rem;
  margin-bottom: 1rem;
}
.hero-tagline .cursor {
  display: inline-block;
  width: 2px;
  height: 1.2em;
  background: var(--electric);
  margin-left: 2px;
  vertical-align: middle;
  animation: blink 0.8s step-end infinite;
}
@keyframes blink { 50% { opacity: 0; } }

.hero-desc {
  font-size: 1rem;
  color: var(--text-muted);
  max-width: 640px;
  margin: 0 auto 2rem;
  line-height: 1.8;
}
.hero-btns {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 3.5rem;
}

.hero-stats {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(0,212,255,0.15);
  border-radius: 18px;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  padding: 1.1rem 1.6rem;
  gap: 0;
  max-width: 760px;
  width: 100%;
  margin: 0 auto;
  box-shadow: 0 8px 32px rgba(0,0,0,0.25), inset 0 1px 0 rgba(255,255,255,0.07);
}
.stat-item {
  text-align: center;
  padding: 0 1.2rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.stat-item .stat-icon {
  font-size: 0.8rem;
  color: var(--electric);
  margin-bottom: 0.2rem;
  opacity: 0.75;
}
.stat-item span.stat-num {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.75rem;
  font-weight: 900;
  background: var(--gradient-electric);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
}
.stat-item > span:not(.stat-num) {
  font-size: 1.4rem;
  font-weight: 900;
  color: var(--electric);
  line-height: 1;
}
.stat-item p {
  font-size: 0.7rem;
  color: var(--text-muted);
  margin-top: 0.3rem;
  white-space: nowrap;
  letter-spacing: 0.02em;
}
.stat-divider {
  width: 1px;
  height: 44px;
  background: linear-gradient(to bottom, transparent, rgba(0,212,255,0.25), transparent);
  flex-shrink: 0;
}


/* ── HERO SIDE PANELS ── */
.hero-side {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0.75rem;
  z-index: 3;
}
.hero-left  { left: 16px;  right: calc(50% + 395px); }
.hero-right { right: 16px; left:  calc(50% + 395px); }

/* each column inside a panel */
.hsp-col {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  flex: 1;
  min-width: 0;
}
.hsp-col-orig { flex: 0 0 215px; } /* fixed width for original widgets */
.hsp-col-new  { flex: 1; }         /* fills remaining space */

/* on medium screens: collapse to single column, hide extra col */
@media (max-width: 1300px) {
  .hero-side    { flex-direction: column; }
  .hero-left    { right: auto; width: 215px; }
  .hero-right   { left:  auto; width: 215px; }
  .hsp-col-new  { display: none; }
}
@media (max-width: 1080px) { .hero-side { display: none; } }


/* header row */
.hgf-header { display: flex; align-items: center; gap: 0.45rem; margin-bottom: 0.2rem; }
.hgf-live-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #28c840; box-shadow: 0 0 6px #28c840;
  animation: dotPulse 1.5s ease-in-out infinite; flex-shrink: 0;
}
.hgf-label {
  font-size: 0.65rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.06em;
  color: rgba(255,255,255,0.65); white-space: nowrap;
}

/* notification cards */
.hgf-notif-list { display: flex; flex-direction: column; gap: 0.42rem; }
.hgf-notif {
  display: flex; align-items: center; gap: 0.45rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 10px; padding: 0.4rem 0.5rem;
  transition: background 0.2s;
}
.hgf-notif:hover { background: rgba(0,212,255,0.06); }
.hgf-av {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--av-c, #6c63ff);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.58rem; font-weight: 800; color: #fff; flex-shrink: 0;
}
.hgf-info { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.hgf-info strong {
  font-size: 0.68rem; color: var(--white); line-height: 1.2;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.hgf-info span {
  font-size: 0.6rem; color: var(--text-muted); line-height: 1.2;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.hgf-tag {
  font-size: 0.54rem; font-weight: 700; padding: 0.15rem 0.38rem;
  border-radius: 20px; white-space: nowrap; flex-shrink: 0;
}
.hgf-green  { background: rgba(40,200,64,0.15);  color: #28c840; border: 1px solid rgba(40,200,64,0.3);  }
.hgf-blue   { background: rgba(0,198,255,0.12);  color: #00c6ff; border: 1px solid rgba(0,198,255,0.25); }
.hgf-orange { background: rgba(255,149,0,0.12);  color: #ff9500; border: 1px solid rgba(255,149,0,0.25); }

/* impact ring */
.hgf-ring-wrap { display: flex; justify-content: center; padding: 0.3rem 0; }
.hgf-ring-box  { position: relative; width: 120px; height: 120px; }
.hgf-ring-svg  { width: 100%; height: 100%; filter: drop-shadow(0 0 10px rgba(0,212,255,0.3)); }
.hgf-ring-center {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.hgf-ring-center strong { font-size: 1.3rem; font-weight: 800; color: var(--white); line-height: 1; }
.hgf-ring-center span   { font-size: 0.62rem; color: var(--text-muted); margin-top: 0.15rem; }

/* trust badge row */
.hgf-trust-row { display: flex; flex-direction: column; gap: 0.4rem; }
.hgf-trust-badge {
  display: flex; align-items: center; gap: 0.45rem;
  background: rgba(0,212,255,0.07);
  border: 1px solid rgba(0,212,255,0.18);
  border-radius: 8px; padding: 0.38rem 0.55rem;
  font-size: 0.68rem; color: var(--electric); font-weight: 600;
}
.hgf-trust-badge i { font-size: 0.75rem; }
.hgf-trust-badge.purple {
  background: rgba(108,99,255,0.1);
  border-color: rgba(108,99,255,0.25);
  color: #a89cff;
}
.hgf-trust-badge.purple i { color: #a89cff; }

/* impact stat bar */
.hgf-impact-stats {
  display: flex; align-items: center; justify-content: space-between;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 10px; padding: 0.5rem 0.3rem;
}
.hgf-istat { display: flex; flex-direction: column; align-items: center; flex: 1; }
.hgf-istat strong { font-size: 0.75rem; font-weight: 800; color: var(--electric); line-height: 1; }
.hgf-istat span   { font-size: 0.55rem; color: var(--text-muted); margin-top: 0.15rem; }
.hgf-idivider { width: 1px; height: 22px; background: rgba(255,255,255,0.1); flex-shrink: 0; }

/* ── STUDY DESTINATIONS LIST (left panel col-2) ── */
.hsp-dest-list { display: flex; flex-direction: column; gap: 0.38rem; }
.hsp-dest-item {
  display: flex; align-items: center; gap: 0.5rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 9px; padding: 0.38rem 0.55rem;
  transition: background 0.2s;
}
.hsp-dest-item:hover { background: rgba(0,212,255,0.07); border-color: rgba(0,212,255,0.2); }
.hsp-dest-flag { font-size: 1.05rem; flex-shrink: 0; }
.hsp-dest-info { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.hsp-dest-info strong { font-size: 0.7rem; color: var(--white); line-height: 1.2; }
.hsp-dest-info span   { font-size: 0.58rem; color: var(--text-muted); line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hsp-dest-cnt {
  font-size: 0.58rem; font-weight: 700; color: var(--electric);
  white-space: nowrap; flex-shrink: 0;
}
.hsp-dest-footer {
  display: flex; align-items: center; gap: 0.4rem;
  padding: 0.4rem 0.55rem;
  background: rgba(0,212,255,0.06);
  border: 1px solid rgba(0,212,255,0.14);
  border-radius: 8px;
  font-size: 0.65rem; color: rgba(255,255,255,0.7);
}
.hsp-dest-footer i { color: var(--electric); font-size: 0.7rem; }
.hsp-dest-footer b { color: var(--electric); }

/* ── PEARSON VUE PARTNER CARD (right panel col-1) ── */
.hsp-pvue-badge {
  display: flex; align-items: center; gap: 0.6rem;
  background: rgba(108,99,255,0.1);
  border: 1px solid rgba(108,99,255,0.25);
  border-radius: 11px; padding: 0.6rem 0.75rem;
}
.hsp-pvue-icon {
  width: 36px; height: 36px; border-radius: 50%;
  background: linear-gradient(135deg,#6c63ff,#a89cff);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 0.95rem; flex-shrink: 0;
}
.hsp-pvue-info { display: flex; flex-direction: column; }
.hsp-pvue-info strong { font-size: 0.72rem; color: var(--white); }
.hsp-pvue-info span   { font-size: 0.6rem; color: #a89cff; }

.hsp-pvue-exams { display: flex; flex-direction: column; gap: 0.35rem; }
.hsp-pvue-exam  { display: flex; align-items: center; gap: 0.5rem;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07);
  border-radius: 8px; padding: 0.35rem 0.5rem; }
.hsp-pvue-exam span:last-child { font-size: 0.6rem; color: var(--text-muted); }
.hsp-exam-pill {
  font-size: 0.6rem; font-weight: 800; padding: 0.15rem 0.45rem;
  border-radius: 20px; flex-shrink: 0;
}
.hsp-exam-pill.ielts { background: rgba(0,198,255,0.15); color:#00c6ff; border:1px solid rgba(0,198,255,0.3); }
.hsp-exam-pill.pte   { background: rgba(108,99,255,0.15); color:#a89cff; border:1px solid rgba(108,99,255,0.3); }
.hsp-exam-pill.toefl { background: rgba(40,200,64,0.13);  color:#28c840; border:1px solid rgba(40,200,64,0.28); }

.hsp-pvue-trust {
  display: flex; align-items: center; gap: 0.4rem;
  font-size: 0.65rem; font-weight: 700; color: #a89cff;
  padding: 0.35rem 0.55rem;
  background: rgba(108,99,255,0.08);
  border: 1px solid rgba(108,99,255,0.2);
  border-radius: 8px;
}
.hsp-pvue-trust i { font-size: 0.7rem; }

.hsp-pvue-stat-row {
  display: flex; align-items: center; justify-content: space-around;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 10px; padding: 0.5rem 0.4rem;
}
.hsp-pvue-stat { display: flex; flex-direction: column; align-items: center; flex: 1; }
.hsp-pvue-stat strong { font-size: 0.8rem; font-weight: 800; color: var(--electric); line-height: 1; }
.hsp-pvue-stat span   { font-size: 0.55rem; color: var(--text-muted); margin-top: 0.12rem; }



/* ── Destinations widget ── */
.hsp-widget {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(0,212,255,0.15);
  border-radius: 16px;
  padding: 1rem;
  backdrop-filter: blur(18px);
  animation: hsFloat 6s ease-in-out infinite;
}
.hsp-widget-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--electric);
  margin-bottom: 0.7rem;
}
.hsp-widget-header i { font-size: 0.9rem; }
.hsp-flags { display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: 0.7rem; }
.hsp-flag-row { display: flex; gap: 0.35rem; align-items: center; }
.hsp-flag {
  display: flex; align-items: center; gap: 0.22rem;
  background: rgba(0,212,255,0.06);
  border: 1px solid rgba(0,212,255,0.12);
  border-radius: 6px;
  padding: 0.22rem 0.45rem;
  font-size: 0.67rem;
  flex: 1;
  transition: var(--transition);
}
.hsp-flag:hover { background: rgba(0,212,255,0.12); border-color: rgba(0,212,255,0.3); }
.hsp-flag em { font-style: normal; color: var(--text-muted); font-size: 0.62rem; }
.hsp-flag-more { font-size: 0.65rem; color: var(--electric); font-weight: 700; padding: 0.22rem 0.3rem; }
.hsp-widget-footer {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 0.67rem; color: var(--text-muted);
  border-top: 1px solid rgba(0,212,255,0.1);
  padding-top: 0.6rem;
}
.hsp-widget-footer b { color: var(--electric); }
.hsp-widget-footer span:nth-child(2) { color: rgba(0,212,255,0.25); }

/* ── Certification badge ── */
.hsp-cert-badge {
  display: flex; align-items: center; gap: 0.65rem;
  background: rgba(0,212,255,0.05);
  border: 1px solid rgba(0,212,255,0.2);
  border-radius: 14px;
  padding: 0.75rem 0.9rem;
  backdrop-filter: blur(14px);
  position: relative; overflow: hidden;
  animation: hsFloat 7s ease-in-out infinite;
  animation-delay: 0.6s;
  transition: var(--transition);
}
.hsp-cert-badge:hover { background: rgba(0,212,255,0.1); border-color: rgba(0,212,255,0.5); transform: translateX(4px); }
.hero-right .hsp-cert-badge:hover { transform: translateX(-4px); }
.hsp-cert-badge.pearson { border-color: rgba(124,58,237,0.25); background: rgba(124,58,237,0.05); }
.hsp-cert-badge.pearson:hover { background: rgba(124,58,237,0.12); border-color: rgba(124,58,237,0.5); }
.hsp-cert-icon {
  width: 36px; height: 36px; border-radius: 10px;
  background: rgba(0,212,255,0.12);
  border: 1px solid rgba(0,212,255,0.25);
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; color: var(--electric); flex-shrink: 0;
}
.hsp-cert-icon.purple { background: rgba(124,58,237,0.15); border-color: rgba(124,58,237,0.3); color: var(--purple-light); }
.hsp-cert-info { display: flex; flex-direction: column; gap: 0.1rem; }
.hsp-cert-info strong { font-size: 0.77rem; font-weight: 700; color: var(--white); }
.hsp-cert-info span   { font-size: 0.64rem; color: var(--text-muted); }
.hsp-cert-dot {
  position: absolute; top: 0.6rem; right: 0.65rem;
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--electric);
  box-shadow: 0 0 8px var(--electric);
  animation: dotPulse 2s ease-in-out infinite;
}
.hsp-cert-dot.purple { background: var(--purple-light); box-shadow: 0 0 8px var(--purple-light); }
@keyframes dotPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.45; transform: scale(0.65); }
}

/* ── Visa metric bar ── */
.hsp-metric {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(0,212,255,0.12);
  border-radius: 14px;
  padding: 0.85rem 1rem;
  backdrop-filter: blur(14px);
  animation: hsFloat 5.5s ease-in-out infinite;
  animation-delay: 1.2s;
}
.hsp-metric-top {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 0.5rem;
}
.hsp-metric-top span { font-size: 0.7rem; color: var(--text-muted); }
.hsp-metric-top strong {
  font-size: 1rem; font-weight: 900;
  font-family: 'Montserrat', sans-serif; color: var(--electric);
}
.hsp-metric-bar-wrap {
  background: rgba(0,212,255,0.08);
  border-radius: 99px; height: 5px; overflow: hidden; margin-bottom: 0.5rem;
}
.hsp-metric-bar-fill {
  height: 100%;
  background: var(--gradient-electric);
  border-radius: 99px;
  animation: metricGrow 2s ease-out forwards;
}
@keyframes metricGrow { from { width: 0 !important; } }
.hsp-metric-sub { font-size: 0.63rem; color: var(--text-muted); }
.hsp-metric-sub i { color: var(--electric); margin-right: 0.25rem; }

/* ── Code terminal widget ── */
.hsp-terminal {
  background: rgba(3,7,15,0.85);
  border: 1px solid rgba(0,212,255,0.2);
  border-radius: 16px; overflow: hidden;
  backdrop-filter: blur(18px);
  animation: hsFloat 6s ease-in-out infinite;
  animation-delay: 0s;
}
.hsp-term-dots {
  display: flex; align-items: center; gap: 0.4rem;
  padding: 0.55rem 0.85rem;
  background: rgba(255,255,255,0.04);
  border-bottom: 1px solid rgba(0,212,255,0.1);
}
.hsp-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.dot-r { background: #ff5f57; }
.dot-y { background: #ffbd2e; }
.dot-g { background: #28c840; }
.hsp-term-title { font-size: 0.58rem; color: var(--text-muted); margin-left: auto; font-family: monospace; }
.hsp-term-body {
  padding: 0.85rem 1rem;
  font-family: 'Courier New', monospace;
  font-size: 0.69rem;
  line-height: 1.75;
}
.hsp-term-body div { color: rgba(148,163,184,0.7); }
.tc-k { color: #c792ea; }
.tc-v { color: #82aaff; }
.tc-p { color: #00d4ff; }
.tc-n { color: #f78c6c; }
.tc-s { color: #c3e88d; }

/* ── Tech stack pills ── */
.hsp-tech {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(0,212,255,0.12);
  border-radius: 14px;
  padding: 0.85rem 1rem;
  backdrop-filter: blur(14px);
  animation: hsFloat 7s ease-in-out infinite;
  animation-delay: 1.8s;
}
.hsp-tech-label {
  font-size: 0.64rem; font-weight: 700; color: var(--text-muted);
  letter-spacing: 1.5px; text-transform: uppercase;
  margin-bottom: 0.6rem;
  display: flex; align-items: center; gap: 0.35rem;
}
.hsp-tech-label i { color: var(--electric); }
.hsp-tech-pills { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.hsp-pill {
  display: inline-flex; align-items: center; gap: 0.3rem;
  background: rgba(0,212,255,0.07);
  border: 1px solid rgba(0,212,255,0.18);
  border-radius: 6px;
  padding: 0.22rem 0.5rem;
  font-size: 0.64rem; color: var(--text); font-weight: 500;
  transition: var(--transition);
}
.hsp-pill i { color: var(--electric); font-size: 0.68rem; }
.hsp-pill:hover { background: rgba(0,212,255,0.15); border-color: var(--electric); color: var(--white); }

/* ── Float keyframe ── */
@keyframes hsFloat {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-8px); }
}

/* hide on smaller screens */

.hero-scroll-hint {
  position: absolute;
  bottom: 2.5rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  color: var(--text-muted);
  font-size: 0.75rem;
  letter-spacing: 1px;
  z-index: 2;
}
.scroll-arrow {
  width: 20px;
  height: 20px;
  border-right: 2px solid var(--electric);
  border-bottom: 2px solid var(--electric);
  transform: rotate(45deg);
  animation: scrollBounce 1.5s ease infinite;
}
@keyframes scrollBounce {
  0%, 100% { transform: rotate(45deg) translateY(0); }
  50% { transform: rotate(45deg) translateY(6px); }
}

/* ══════════════════════════════════════
   ABOUT
══════════════════════════════════════ */
#about { background: var(--dark); }
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.about-visual { position: relative; }
.about-img-wrap { position: relative; margin: 1.8rem; }
.about-img-placeholder {
  width: 100%;
  background: linear-gradient(135deg, var(--dark-3) 0%, #1a2040 100%);
  border-radius: var(--radius);
  border: 1px solid var(--card-border);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  padding: 2rem 1.75rem;
  position: relative;
  overflow: hidden;
}
.about-img-placeholder::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 200px; height: 200px;
  background: radial-gradient(circle, rgba(10,116,218,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.about-img-placeholder::after {
  content: '';
  position: absolute;
  bottom: -40px; left: -40px;
  width: 160px; height: 160px;
  background: radial-gradient(circle, rgba(124,58,237,0.1) 0%, transparent 70%);
  pointer-events: none;
}

/* ── ROOF HEADER ── */
.aip-roof {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}
.aip-roof-chevron {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 0;
}
.aip-roof-left,
.aip-roof-right {
  flex: 1;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(0,212,255,0.4));
}
.aip-roof-right { background: linear-gradient(270deg, transparent, rgba(0,212,255,0.4)); }
.aip-roof-center-icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: var(--gradient-electric);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem;
  color: var(--dark);
  box-shadow: 0 0 20px rgba(0,212,255,0.4);
  flex-shrink: 0;
}
.aip-roof-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1rem;
}
.aip-roof-brand {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.15rem;
  font-weight: 900;
  letter-spacing: 1px;
}
.aip-roof-sub {
  font-size: 0.65rem;
  color: var(--text-muted);
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* ── TWO PILLARS ── */
.aip-pillars {
  display: flex;
  align-items: stretch;
  gap: 0;
  width: 100%;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 14px;
  overflow: hidden;
}
.aip-pillar {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  padding: 1.2rem 1rem;
  transition: var(--transition);
}
.aip-pillar.it  { background: rgba(0,212,255,0.05); }
.aip-pillar.edu { background: rgba(124,58,237,0.05); }
.aip-pillar.it:hover  { background: rgba(0,212,255,0.1); }
.aip-pillar.edu:hover { background: rgba(124,58,237,0.1); }

.aip-pillar-icon {
  width: 50px; height: 50px;
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem;
}
.aip-pillar-icon.it  { background: rgba(0,212,255,0.12); border: 1px solid rgba(0,212,255,0.3); color: var(--electric); }
.aip-pillar-icon.edu { background: rgba(124,58,237,0.15); border: 1px solid rgba(124,58,237,0.35); color: var(--purple-light); }

.aip-pillar-name {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--white);
  text-align: center;
}
.aip-pillar-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  justify-content: center;
}
.aip-pillar-tags span {
  font-size: 0.62rem;
  font-weight: 600;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  color: var(--text-muted);
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
}
.aip-pillar.it  .aip-pillar-tags span { color: var(--electric); background: rgba(0,212,255,0.08); border-color: rgba(0,212,255,0.15); }
.aip-pillar.edu .aip-pillar-tags span { color: var(--purple-light); background: rgba(124,58,237,0.08); border-color: rgba(124,58,237,0.2); }

/* center separator with + */
.aip-pillar-sep {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 0.5rem;
  gap: 0.3rem;
  background: rgba(255,255,255,0.02);
  border-left: 1px solid rgba(255,255,255,0.06);
  border-right: 1px solid rgba(255,255,255,0.06);
}
.aip-sep-line { flex: 1; width: 1px; background: rgba(255,255,255,0.08); min-height: 20px; }
.aip-sep-badge {
  width: 26px; height: 26px;
  border-radius: 50%;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.6rem;
  color: var(--text-muted);
}

/* ── PARTNERSHIP ROW ── */
.aip-partners {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 10px;
  padding: 0.65rem 1rem;
}
.aip-partner-item {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--text-muted);
}
.aip-partner-item i { color: var(--electric); font-size: 0.75rem; }
.aip-partner-sep { width: 1px; height: 28px; background: rgba(255,255,255,0.08); flex-shrink: 0; }

/* ── BOTTOM BADGE ── */
.aip-badge {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(10,116,218,0.12);
  border: 1px solid rgba(10,116,218,0.25);
  color: var(--electric);
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.35rem 1rem;
  border-radius: 50px;
  letter-spacing: 0.5px;
}

.about-float-card {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  background: rgba(4,8,26,0.85);
  border: 1px solid rgba(10,116,218,0.3);
  backdrop-filter: blur(20px);
  border-radius: var(--radius-sm);
  padding: 0.75rem 1rem;
  min-width: 180px;
  box-shadow: var(--shadow-card);
  animation: floatCard 4s ease-in-out infinite;
}
.about-float-card i { font-size: 1.3rem; color: var(--electric); flex-shrink: 0; }
.about-float-card strong { display: block; font-size: 0.85rem; color: var(--white); }
.about-float-card span { font-size: 0.7rem; color: var(--text-muted); }
/* Corners: top-right, top-left, bottom-right — never over inner content */
.card-1 { top: -1.4rem;  right: -1.8rem; animation-delay: 0s;   }
.card-2 { top: -1.4rem;  left:  -1.8rem; animation-delay: 1.5s; }
.card-3 { bottom: -1.4rem; right: -1.8rem; animation-delay: 0.8s; }
@keyframes floatCard {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

.about-feat {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.4rem 0;
  font-size: 0.9rem;
  color: var(--text);
}
.about-feat i { color: var(--electric); font-size: 0.9rem; }
.about-features { display: grid; grid-template-columns: 1fr 1fr; gap: 0.2rem; margin: 1.5rem 0; }
.about-para { color: var(--text-muted); margin-bottom: 0.75rem; font-size: 0.95rem; }

/* ══════════════════════════════════════
   SERVICES
══════════════════════════════════════ */
.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.service-card {
  position: relative;
  background: rgba(0,212,255,0.03);
  border: 1px solid rgba(0,212,255,0.1);
  border-radius: var(--radius);
  padding: 2rem 1.5rem;
  transition: var(--transition);
  overflow: hidden;
  backdrop-filter: blur(16px);
  transform-style: preserve-3d;
  will-change: transform;
}
.service-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(0,212,255,0.07) 0%, transparent 60%);
  opacity: 0;
  transition: var(--transition);
}
.service-card:hover {
  border-color: rgba(0,212,255,0.55);
  box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 0 40px rgba(0,212,255,0.15), inset 0 1px 0 rgba(0,212,255,0.2);
}
.service-card:hover::before { opacity: 1; }
.service-card:hover .service-glow { opacity: 1; }
.service-glow {
  position: absolute;
  bottom: -50px; right: -50px;
  width: 140px;
  height: 140px;
  background: radial-gradient(circle, rgba(0,212,255,0.25) 0%, transparent 70%);
  border-radius: 50%;
  opacity: 0;
  transition: var(--transition);
  pointer-events: none;
}
.service-tag {
  display: inline-flex;
  align-items: center;
  margin-top: 0.75rem;
  padding: 0.25rem 0.7rem;
  border-radius: 20px;
  font-size: 0.72rem;
  font-weight: 700;
  background: rgba(40,200,64,0.12);
  color: #28c840;
  border: 1px solid rgba(40,200,64,0.28);
  letter-spacing: 0.02em;
}
.service-icon {
  width: 58px;
  height: 58px;
  background: linear-gradient(135deg, rgba(0,212,255,0.2), rgba(26,143,255,0.2));
  border: 1px solid rgba(0,212,255,0.3);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  color: var(--electric);
  margin-bottom: 1.25rem;
  transition: var(--transition);
  box-shadow: 0 0 20px rgba(0,212,255,0.15);
}
.service-card:hover .service-icon {
  background: var(--gradient-electric);
  color: var(--dark);
  border-color: transparent;
  transform: scale(1.1) rotate(-5deg);
  box-shadow: 0 0 30px rgba(0,212,255,0.5);
}
.service-card h3 { font-size: 1rem; font-weight: 700; color: var(--white); margin-bottom: 0.6rem; }
.service-card p { font-size: 0.85rem; color: var(--text-muted); line-height: 1.7; }

/* ══════════════════════════════════════
   PROJECTS
══════════════════════════════════════ */
#projects { background: var(--dark); }
.projects-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 2rem;
}
.project-card {
  background: rgba(0,212,255,0.03);
  border: 1px solid rgba(0,212,255,0.1);
  border-radius: var(--radius);
  overflow: hidden;
  transition: var(--transition);
  transform-style: preserve-3d;
  will-change: transform;
}
.project-card:hover {
  box-shadow: 0 24px 70px rgba(0,0,0,0.6), 0 0 50px rgba(0,212,255,0.12), inset 0 1px 0 rgba(0,212,255,0.2);
  border-color: rgba(0,212,255,0.5);
}

.project-mockup {
  background: #0a0f1e;
  padding: 1rem;
}
.mockup-bar {
  display: flex;
  gap: 6px;
  margin-bottom: 0.75rem;
}
.mockup-bar span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
}
.mockup-bar span:nth-child(1) { background: #ff5f57; }
.mockup-bar span:nth-child(2) { background: #febc2e; }
.mockup-bar span:nth-child(3) { background: #28c840; }

.mockup-screen {
  border-radius: var(--radius-sm);
  padding: 1rem;
  min-height: 160px;
}
.bms-screen { background: linear-gradient(135deg, #0d2137 0%, #0a3d62 100%); }
.ems-screen { background: linear-gradient(135deg, #1a0d37 0%, #3d0a62 100%); }
.fms-screen { background: linear-gradient(135deg, #0d2b1a 0%, #0a6239 100%); }

.mockup-header {
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255,255,255,0.7);
  margin-bottom: 0.75rem;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.mockup-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255,255,255,0.05);
  border-radius: 6px;
  padding: 0.4rem 0.6rem;
  margin-bottom: 0.4rem;
}
.mockup-label { font-size: 0.75rem; color: rgba(255,255,255,0.7); }
.mockup-badge {
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.15rem 0.5rem;
  border-radius: 50px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.mockup-badge.active { background: rgba(40,200,64,0.2); color: #28c840; }
.mockup-badge.upcoming { background: rgba(254,188,46,0.2); color: #febc2e; }
.mockup-badge.new { background: rgba(10,116,218,0.3); color: var(--electric); }
.mockup-badge.followup { background: rgba(254,188,46,0.2); color: #febc2e; }
.mockup-badge.converted { background: rgba(40,200,64,0.2); color: #28c840; }

.mockup-stats {
  display: flex;
  gap: 1rem;
  margin-top: 0.6rem;
  font-size: 0.72rem;
  color: rgba(255,255,255,0.5);
}
.mockup-stats div { display: flex; align-items: center; gap: 0.4rem; }

.project-info { padding: 1.5rem; }
.project-tag {
  display: inline-block;
  background: rgba(10,116,218,0.15);
  border: 1px solid rgba(10,116,218,0.3);
  color: var(--electric);
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.2rem 0.8rem;
  border-radius: 50px;
  margin-bottom: 0.75rem;
  letter-spacing: 0.5px;
}
.project-info h3 { font-size: 1.05rem; font-weight: 700; color: var(--white); margin-bottom: 0.5rem; }
.project-info p { font-size: 0.85rem; color: var(--text-muted); margin-bottom: 1rem; }
.project-features { display: grid; grid-template-columns: 1fr 1fr; gap: 0.3rem; }
.project-features li {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  color: var(--text-muted);
}
.project-features li i { color: var(--electric); font-size: 0.7rem; }

/* ══════════════════════════════════════
   ETC CENTRE
══════════════════════════════════════ */
.etc-section { position: relative; overflow: hidden; }
.etc-bg-map {
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='400' viewBox='0 0 800 400'%3E%3Ccircle cx='400' cy='200' r='180' stroke='rgba(10,116,218,0.05)' stroke-width='1' fill='none'/%3E%3Ccircle cx='400' cy='200' r='280' stroke='rgba(10,116,218,0.03)' stroke-width='1' fill='none'/%3E%3C/svg%3E") center/cover no-repeat;
  opacity: 0.5;
  pointer-events: none;
}
.exam-badges {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 3rem;
}
.exam-badge {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--gradient-main);
  color: var(--white);
  padding: 0.6rem 1.5rem;
  border-radius: 50px;
  font-weight: 700;
  font-size: 0.9rem;
  box-shadow: 0 4px 20px rgba(10,116,218,0.3);
  transition: var(--transition);
}
.exam-badge:hover { transform: translateY(-3px) scale(1.04); box-shadow: 0 8px 30px rgba(10,116,218,0.5); }

.etc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
  margin-bottom: 4rem;
}
.etc-card {
  background: rgba(0,212,255,0.03);
  border: 1px solid rgba(0,212,255,0.1);
  border-radius: var(--radius);
  padding: 2rem;
  transition: var(--transition);
  backdrop-filter: blur(16px);
  transform-style: preserve-3d;
  will-change: transform;
  position: relative;
  overflow: hidden;
}
.etc-card::after {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 140px; height: 140px;
  background: radial-gradient(circle, rgba(0,212,255,0.12) 0%, transparent 70%);
  opacity: 0;
  transition: var(--transition);
  pointer-events: none;
}
.etc-card:hover {
  border-color: rgba(0,212,255,0.5);
  box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 0 40px rgba(0,212,255,0.12), inset 0 1px 0 rgba(0,212,255,0.15);
  background: rgba(0,212,255,0.05);
}
.etc-card:hover::after { opacity: 1; }
.etc-icon {
  width: 52px;
  height: 52px;
  background: linear-gradient(135deg, rgba(10,116,218,0.2) 0%, rgba(124,58,237,0.2) 100%);
  border: 1px solid rgba(10,116,218,0.3);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  color: var(--electric);
  margin-bottom: 1.25rem;
}
.etc-card h3 { font-size: 1rem; font-weight: 700; color: var(--white); margin-bottom: 0.6rem; }
.etc-card p { font-size: 0.85rem; color: var(--text-muted); line-height: 1.75; }

.etc-stats {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
  background: rgba(10,116,218,0.08);
  border: 1px solid rgba(10,116,218,0.2);
  border-radius: var(--radius);
  padding: 2.5rem 2rem;
}
.etc-stat { text-align: center; }
.etc-stat .stat-num {
  font-family: 'Montserrat', sans-serif;
  font-size: 2.5rem;
  font-weight: 900;
  background: var(--gradient-electric);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.etc-stat > span:not(.stat-num) { font-size: 2rem; font-weight: 900; color: var(--electric); }
.etc-stat p { font-size: 0.85rem; color: var(--text-muted); margin-top: 0.3rem; }

/* ══════════════════════════════════════
   TEAM
══════════════════════════════════════ */
#team { background: var(--dark); }
.team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 2rem;
}
.team-card {
  background: rgba(0,212,255,0.03);
  border: 1px solid rgba(0,212,255,0.1);
  border-radius: var(--radius);
  overflow: hidden;
  transition: var(--transition);
  transform-style: preserve-3d;
  will-change: transform;
}
.team-card:hover {
  border-color: rgba(0,212,255,0.5);
  box-shadow: 0 24px 70px rgba(0,0,0,0.55), 0 0 50px rgba(0,212,255,0.12), inset 0 1px 0 rgba(0,212,255,0.15);
}
.team-img-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3/2.5;
  background: linear-gradient(135deg, var(--dark-3), #1a2040);
}
.team-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: var(--transition);
}
.team-card:hover .team-img-wrap img { transform: scale(1.05); }
.team-social {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(4,8,26,0.85) 0%, transparent 60%);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0.75rem;
  padding: 1rem;
  opacity: 0;
  transition: var(--transition);
}
.team-card:hover .team-social { opacity: 1; }
.team-social a {
  width: 36px;
  height: 36px;
  background: var(--gradient-main);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  color: var(--white);
  transition: var(--transition);
}
.team-social a:hover { transform: scale(1.1); }
.team-info { padding: 1.5rem; }
.team-role {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--electric);
  margin-bottom: 0.4rem;
}
.team-info h3 { font-size: 1.15rem; font-weight: 700; color: var(--white); margin-bottom: 0.75rem; }
.team-info p { font-size: 0.84rem; color: var(--text-muted); line-height: 1.75; }

/* ══════════════════════════════════════
   WHY CHOOSE US
══════════════════════════════════════ */
.why-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 1.5rem;
}
.why-card {
  background: rgba(0,212,255,0.03);
  border: 1px solid rgba(0,212,255,0.08);
  border-radius: var(--radius);
  padding: 2rem 1.5rem;
  text-align: center;
  transition: var(--transition);
  transform-style: preserve-3d;
  will-change: transform;
  position: relative;
  overflow: hidden;
}
.why-card::before {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 60%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,212,255,0.6), transparent);
  opacity: 0;
  transition: var(--transition);
}
.why-card:hover {
  background: rgba(0,212,255,0.06);
  border-color: rgba(0,212,255,0.45);
  box-shadow: 0 15px 50px rgba(0,0,0,0.4), 0 0 30px rgba(0,212,255,0.1);
}
.why-card:hover::before { opacity: 1; }
.why-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 1.25rem;
  background: rgba(0,212,255,0.08);
  border: 1px solid rgba(0,212,255,0.25);
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: var(--electric);
  transition: var(--transition);
  box-shadow: 0 0 20px rgba(0,212,255,0.1);
}
.why-card:hover .why-icon {
  background: var(--gradient-electric);
  color: var(--dark);
  border-color: transparent;
  transform: scale(1.12) rotate(-5deg);
  box-shadow: 0 0 30px rgba(0,212,255,0.5);
}
.why-card h3 { font-size: 0.95rem; font-weight: 700; color: var(--white); margin-bottom: 0.5rem; }
.why-card p { font-size: 0.83rem; color: var(--text-muted); line-height: 1.7; }

/* ══════════════════════════════════════
   TECH MARQUEE
══════════════════════════════════════ */
#tech { background: var(--dark); }
.tech-marquee-wrap {
  overflow: hidden;
  position: relative;
}
.tech-marquee-wrap::before, .tech-marquee-wrap::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 100px;
  z-index: 2;
}
.tech-marquee-wrap::before { left: 0; background: linear-gradient(to right, var(--dark), transparent); }
.tech-marquee-wrap::after  { right: 0; background: linear-gradient(to left, var(--dark), transparent); }
.tech-marquee { overflow: hidden; }
.tech-track {
  display: flex;
  width: max-content;
  animation: marqueeScroll 30s linear infinite;
}
@keyframes marqueeScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.tech-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  padding: 1.5rem 2rem;
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--radius);
  margin: 0 0.5rem;
  min-width: 110px;
  transition: var(--transition);
  color: var(--text-muted);
}
.tech-item:hover { border-color: rgba(10,116,218,0.4); color: var(--electric); transform: translateY(-4px); }
.tech-item i { font-size: 2rem; }
.tech-item span { font-size: 0.78rem; font-weight: 600; white-space: nowrap; }

/* ══════════════════════════════════════
   RECENT PROJECTS
══════════════════════════════════════ */
#projects { background: var(--dark-2); }

.rp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 3rem;
}

.rp-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(0,212,255,0.12);
  border-radius: 20px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  backdrop-filter: blur(16px);
  transition: var(--transition);
  position: relative;
  overflow: hidden;
}
.rp-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(600px circle at var(--mx,50%) var(--my,50%), rgba(0,212,255,0.05), transparent 60%);
  pointer-events: none;
}
.rp-card:hover {
  border-color: rgba(0,212,255,0.4);
  box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 0 30px rgba(0,212,255,0.08);
  transform: translateY(-6px);
}
.rp-card--highlight {
  border-color: rgba(0,212,255,0.3);
  background: rgba(0,212,255,0.05);
  box-shadow: 0 0 40px rgba(0,212,255,0.06);
}
.rp-card--highlight:hover {
  border-color: rgba(0,212,255,0.6);
  box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 0 50px rgba(0,212,255,0.15);
}

/* card top row */
.rp-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.rp-icon-wrap {
  width: 52px; height: 52px;
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem;
}
.rp-icon-wrap.ems { background: rgba(0,212,255,0.12); border: 1px solid rgba(0,212,255,0.25); color: var(--electric); }
.rp-icon-wrap.fms { background: rgba(16,185,129,0.12); border: 1px solid rgba(16,185,129,0.3); color: #10b981; }
.rp-icon-wrap.bms { background: rgba(124,58,237,0.12); border: 1px solid rgba(124,58,237,0.3); color: var(--purple-light); }

.rp-badge {
  background: rgba(40,200,64,0.12);
  border: 1px solid rgba(40,200,64,0.3);
  color: #28c840;
  font-size: 0.68rem;
  font-weight: 700;
  padding: 0.3rem 0.75rem;
  border-radius: 50px;
  letter-spacing: 0.5px;
}

/* acronym */
.rp-acronym {
  font-family: 'Montserrat', sans-serif;
  font-size: 2.2rem;
  font-weight: 900;
  background: var(--gradient-electric);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
}
.rp-card--highlight .rp-acronym { background: linear-gradient(135deg,#10b981,#00d4ff); -webkit-background-clip: text; background-clip: text; }

.rp-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--white);
  line-height: 1.3;
  margin-top: -0.3rem;
}

.rp-desc {
  font-size: 0.85rem;
  color: var(--text-muted);
  line-height: 1.7;
  flex-grow: 1;
}

/* feature list */
.rp-features {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
.rp-features span {
  font-size: 0.8rem;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.rp-features span i { color: #28c840; font-size: 0.75rem; flex-shrink: 0; }

/* tech stack */
.rp-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  border-top: 1px solid rgba(0,212,255,0.08);
  padding-top: 1rem;
  margin-top: auto;
}
.rp-tech {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 6px;
  padding: 0.22rem 0.6rem;
  font-size: 0.7rem;
  color: var(--text-muted);
  transition: var(--transition);
}
.rp-tech i { color: var(--electric); font-size: 0.72rem; }
.rp-tech:hover { background: rgba(0,212,255,0.08); border-color: rgba(0,212,255,0.25); color: var(--white); }

@media (max-width: 1024px) { .rp-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px)  { .rp-grid { grid-template-columns: 1fr; } }

/* ══════════════════════════════════════
   CONTACT
══════════════════════════════════════ */
#contact { background: var(--dark); }
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 3rem;
  align-items: start;
  margin-bottom: 3rem;
}
.contact-card {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--radius-sm);
  padding: 1.25rem;
  margin-bottom: 1rem;
  transition: var(--transition);
}
.contact-card:hover { border-color: rgba(10,116,218,0.4); transform: translateX(4px); }
.contact-card-icon {
  width: 44px;
  height: 44px;
  background: var(--gradient-main);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: var(--white);
  flex-shrink: 0;
}
.contact-card h4 { font-size: 0.9rem; font-weight: 700; color: var(--white); margin-bottom: 0.3rem; }
.contact-card p { font-size: 0.83rem; color: var(--text-muted); line-height: 1.6; }
.contact-card a { color: var(--electric); transition: var(--transition); }
.contact-card a:hover { color: var(--white); }

.social-links { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-top: 0.5rem; }
.social-link {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #f0f4f8;
  border: 1px solid #e0e6ed;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  color: #374151;
  transition: var(--transition);
}
.social-link:hover { background: var(--gradient-main); color: var(--white); border-color: transparent; transform: translateY(-3px); }

.contact-form-wrap {
  background: rgba(0,212,255,0.03);
  border: 1px solid rgba(0,212,255,0.12);
  border-radius: var(--radius);
  padding: 2rem;
  backdrop-filter: blur(16px);
  box-shadow: 0 0 60px rgba(0,212,255,0.05);
}
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-group { margin-bottom: 1.2rem; }
.form-group label { display: block; font-size: 0.83rem; font-weight: 600; color: var(--text-muted); margin-bottom: 0.4rem; }
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-sm);
  padding: 0.75rem 1rem;
  color: var(--white);
  font-family: 'Poppins', sans-serif;
  font-size: 0.88rem;
  transition: var(--transition);
  outline: none;
}
.form-group select option { background: var(--dark-3); color: var(--white); }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--primary);
  background: rgba(10,116,218,0.08);
  box-shadow: 0 0 0 3px rgba(10,116,218,0.1);
}
.form-group input::placeholder,
.form-group textarea::placeholder { color: var(--gray-600); }
.form-group textarea { resize: vertical; }
.btn-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0.85rem 2rem;
  background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
  color: var(--white);
  border-radius: 50px;
  font-weight: 600;
  font-size: 0.95rem;
  margin-top: 0.75rem;
  transition: var(--transition);
  box-shadow: 0 4px 20px rgba(37,211,102,0.35);
}
.btn-whatsapp i { font-size: 1.15rem; }
.btn-whatsapp:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(37,211,102,0.55);
  filter: brightness(1.1);
}

.form-note { font-size: 0.75rem; color: var(--text-muted); text-align: center; margin-top: 0.75rem; }

.map-embed-wrap {
  border: 1px solid rgba(0,212,255,0.15);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 8px 40px rgba(0,0,0,0.4), 0 0 30px rgba(0,212,255,0.06);
}
.map-embed-label {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  background: rgba(0,212,255,0.05);
  border-bottom: 1px solid rgba(0,212,255,0.12);
  padding: 0.85rem 1.25rem;
  font-size: 0.83rem;
  color: var(--text-muted);
}
.map-embed-label i:first-child { color: var(--electric); font-size: 1rem; }
.map-embed-label a {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--electric);
  font-weight: 600;
  font-size: 0.8rem;
  transition: var(--transition);
}
.map-embed-label a:hover { color: var(--white); }
.map-iframe { display: block; filter: invert(0.9) hue-rotate(180deg) brightness(0.85) contrast(1.1); }

/* ══════════════════════════════════════
   FOOTER
══════════════════════════════════════ */
#footer { background: #ffffff; border-top: 1px solid rgba(0,0,0,0.08); }
.footer-top { padding: 5rem 0 3rem; }
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1.2fr;
  gap: 2.5rem;
}
.footer-logo {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}
.footer-brand p { font-size: 0.85rem; color: #555e6d; line-height: 1.8; }
.mt-3 { margin-top: 1rem; }

.footer-col h4 {
  font-size: 0.9rem;
  font-weight: 700;
  color: #1a2332;
  margin-bottom: 1.25rem;
  position: relative;
}
.footer-col h4::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 24px;
  height: 2px;
  background: var(--gradient-main);
  border-radius: 2px;
}
.footer-col ul { display: flex; flex-direction: column; gap: 0.5rem; }
.footer-col ul li a { font-size: 0.85rem; color: #555e6d; transition: var(--transition); }
.footer-col ul li a:hover { color: var(--primary-dark); padding-left: 4px; }
.footer-contact li { display: flex; align-items: flex-start; gap: 0.6rem; font-size: 0.83rem; color: #555e6d; }
.footer-contact li i { color: var(--primary); margin-top: 3px; flex-shrink: 0; }
.footer-contact li a:hover { color: var(--primary-dark); }

.footer-bottom {
  border-top: 1px solid rgba(0,0,0,0.07);
  padding: 1.5rem 0;
  background: #f5f7fa;
}
.footer-bottom .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: 0.82rem;
  color: #6b7280;
}

/* Partner footer links */
.footer-partners li { margin-bottom: 0.6rem; }
.footer-partners a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #555e6d;
  font-size: 0.88rem;
  transition: var(--transition);
}
.footer-partners a i { color: var(--primary); font-size: 0.8rem; }
.footer-partners a:hover { color: var(--primary-dark); }

/* Footer bottom backlinks */
.footer-backlinks {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-top: 0.3rem;
}
.footer-backlinks a {
  color: #6b7280;
  font-size: 0.78rem;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  transition: var(--transition);
}
.footer-backlinks a i { font-size: 0.68rem; color: var(--primary); }
.footer-backlinks a:hover { color: var(--primary-dark); }
.footer-bl-sep { color: #d1d5db; }

/* ── FLOATING WHATSAPP BUTTON ── */
.whatsapp-float {
  position: fixed;
  bottom: 5.5rem;
  right: 2rem;
  width: 52px;
  height: 52px;
  background: #25D366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.4rem;
  box-shadow: 0 4px 20px rgba(37,211,102,0.45);
  transition: var(--transition);
  z-index: 900;
  text-decoration: none;
}
.whatsapp-float:hover {
  background: #1ebe5d;
  transform: translateY(-3px) scale(1.08);
  box-shadow: 0 8px 28px rgba(37,211,102,0.55);
  color: #fff;
}
.whatsapp-float::before {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid rgba(37,211,102,0.35);
  animation: waPulse 2s ease-in-out infinite;
}
@keyframes waPulse {
  0%,100% { transform: scale(1); opacity: 0.7; }
  50%      { transform: scale(1.18); opacity: 0; }
}
.whatsapp-float .wa-tooltip {
  position: absolute;
  right: 58px;
  background: #1a2332;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.35rem 0.75rem;
  border-radius: 8px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
  box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}
.whatsapp-float .wa-tooltip::after {
  content: '';
  position: absolute;
  right: -5px; top: 50%;
  transform: translateY(-50%);
  border: 5px solid transparent;
  border-left-color: #1a2332;
  border-right: none;
}
.whatsapp-float:hover .wa-tooltip { opacity: 1; }

.back-to-top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 44px;
  height: 44px;
  background: var(--gradient-main);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  font-size: 0.9rem;
  box-shadow: 0 4px 20px rgba(10,116,218,0.5);
  transition: var(--transition);
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
  z-index: 900;
}
.back-to-top.visible { opacity: 1; transform: translateY(0); pointer-events: all; }
.back-to-top:hover { transform: translateY(-4px); box-shadow: 0 8px 30px rgba(10,116,218,0.7); }

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media (max-width: 1024px) {
  .footer-grid { grid-template-columns: 1fr 1fr 1fr; }
  .about-grid { gap: 2.5rem; }
}

@media (max-width: 768px) {
  section { padding: 5rem 0; }
  .container { padding: 0 1.25rem; }
  .services-grid { grid-template-columns: 1fr; }



  .about-grid { grid-template-columns: 1fr; }
  .card-1, .card-2, .card-3 { position: relative; top: auto; left: auto; right: auto; bottom: auto; margin-top: 0.75rem; }
  .about-float-card { position: relative; }

  .contact-grid { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }

  .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
  .footer-bottom .container { flex-direction: column; text-align: center; }

  .hero-stats { gap: 0.5rem; padding: 1rem; }
  .stat-divider { display: none; }
  .stat-item { padding: 0.5rem 1rem; }

  .projects-grid { grid-template-columns: 1fr; }
  .about-features { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .hero-btns { flex-direction: column; align-items: center; }
  .etc-stats { gap: 1rem; }
  .services-grid { grid-template-columns: 1fr; }
  .rp-grid { grid-template-columns: 1fr; }
  .why-grid { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════
   TRUST BAR
══════════════════════════════════════ */
.trust-bar {
  background: rgba(0,212,255,0.05);
  border-top: 1px solid rgba(0,212,255,0.1);
  border-bottom: 1px solid rgba(0,212,255,0.1);
  padding: 1rem 0;
}
.trust-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.trust-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-muted);
  padding: 0.25rem 0.75rem;
  white-space: nowrap;
}
.trust-item i { color: var(--electric); font-size: 0.85rem; }
.trust-sep { width: 1px; height: 20px; background: rgba(0,212,255,0.15); }

/* ══════════════════════════════════════
   NAV DROPDOWN
══════════════════════════════════════ */
.nav-dropdown { position: relative; }
.dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 14px;
  padding: 0.5rem;
  min-width: 215px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.12), 0 2px 8px rgba(0,0,0,0.06);
  z-index: 999;
  flex-direction: column;
  gap: 0.15rem;
}
.nav-dropdown:hover .dropdown-menu { display: flex; }
.dropdown-menu li a {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0.9rem;
  border-radius: 9px;
  font-size: 0.83rem;
  color: #374151;
  transition: var(--transition);
}
.dropdown-menu li a i { color: var(--primary); width: 14px; text-align: center; }
.dropdown-menu li a:hover { background: rgba(26,143,255,0.08); color: var(--primary-dark); }

/* ══════════════════════════════════════
   STUDY ABROAD PORTAL
══════════════════════════════════════ */
.portal-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
}
.portal-steps { display: flex; flex-direction: column; gap: 1.25rem; }
.portal-step {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
  background: rgba(0,212,255,0.03);
  border: 1px solid rgba(0,212,255,0.1);
  border-radius: var(--radius-sm);
  padding: 1.25rem;
  transition: var(--transition);
}
.portal-step:hover { border-color: rgba(0,212,255,0.4); background: rgba(0,212,255,0.06); }
.step-num {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.6rem;
  font-weight: 900;
  background: var(--gradient-electric);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  min-width: 36px;
  line-height: 1;
  margin-top: 2px;
}
.step-body h4 { font-size: 0.92rem; font-weight: 700; color: var(--white); margin-bottom: 0.3rem; }
.step-body p { font-size: 0.83rem; color: var(--text-muted); line-height: 1.65; }

.portal-destinations {
  background: rgba(0,212,255,0.03);
  border: 1px solid rgba(0,212,255,0.12);
  border-radius: var(--radius);
  padding: 2rem;
}
.dest-title { font-size: 1rem; font-weight: 700; color: var(--white); margin-bottom: 1.25rem; }
.dest-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.6rem; margin-bottom: 1.5rem; }
.dest-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 10px;
  padding: 0.75rem 0.4rem;
  cursor: default;
  transition: var(--transition);
  font-size: 0.7rem;
  color: var(--text-muted);
}
.dest-card:hover { border-color: rgba(0,212,255,0.4); color: var(--white); background: rgba(0,212,255,0.06); }
.dest-flag { font-size: 1.5rem; }

.dest-stats {
  display: flex;
  gap: 1rem;
  justify-content: space-around;
  background: rgba(0,212,255,0.05);
  border-radius: var(--radius-sm);
  padding: 1rem;
  margin-bottom: 1rem;
}
.dest-stat { text-align: center; }
.dest-stat .stat-num { font-family: 'Montserrat', sans-serif; font-size: 1.5rem; font-weight: 900; color: var(--electric); }
.dest-stat p { font-size: 0.72rem; color: var(--text-muted); margin-top: 0.2rem; }

/* ══════════════════════════════════════
   EXAM CARDS
══════════════════════════════════════ */
.exam-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  max-width: 960px;
  margin: 0 auto;
}
@media (max-width: 860px) { .exam-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .exam-grid { grid-template-columns: 1fr; } }
.exam-card {
  background: rgba(0,212,255,0.03);
  border: 1px solid rgba(0,212,255,0.1);
  border-radius: var(--radius);
  padding: 2rem 1.5rem;
  transition: var(--transition);
  position: relative;
  transform-style: preserve-3d;
  will-change: transform;
}
.exam-card:hover { border-color: rgba(0,212,255,0.5); transform: translateY(-6px); box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 0 30px rgba(0,212,255,0.1); }
.exam-featured { border-color: rgba(0,212,255,0.35); box-shadow: 0 0 30px rgba(0,212,255,0.1); }
.exam-badge-top {
  position: absolute;
  top: -1px; right: 1.5rem;
  background: var(--gradient-electric);
  color: var(--dark);
  font-size: 0.68rem;
  font-weight: 800;
  padding: 0.25rem 0.75rem;
  border-radius: 0 0 8px 8px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.exam-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  font-weight: 900;
  padding: 0.4rem 1rem;
  border-radius: 8px;
  margin-bottom: 1rem;
  letter-spacing: 1px;
}
.ets-badge { background: rgba(10,116,218,0.2); color: var(--electric); border: 1px solid rgba(0,212,255,0.3); }
.ielts-badge { background: rgba(220,38,38,0.15); color: #f87171; border: 1px solid rgba(220,38,38,0.3); }
.gre-badge { background: rgba(124,58,237,0.2); color: var(--purple-light); border: 1px solid rgba(124,58,237,0.3); }
.gmat-badge { background: rgba(5,150,105,0.2); color: #34d399; border: 1px solid rgba(5,150,105,0.3); }
.exam-collab-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--text-muted);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  padding: 0.2rem 0.6rem;
  border-radius: 50px;
  margin-bottom: 0.75rem;
}
.exam-collab-tag i { color: var(--electric); font-size: 0.6rem; }
.exam-card h3 { font-size: 1rem; font-weight: 700; color: var(--white); margin-bottom: 0.5rem; }
.exam-card p { font-size: 0.83rem; color: var(--text-muted); margin-bottom: 1rem; line-height: 1.65; }
.exam-features { list-style: none; display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: 1.25rem; }
.exam-features li { display: flex; align-items: center; gap: 0.5rem; font-size: 0.8rem; color: var(--text-muted); }
.exam-features li i { color: var(--electric); font-size: 0.7rem; }
.btn-exam {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.65rem 1rem;
  background: rgba(0,212,255,0.1);
  border: 1px solid rgba(0,212,255,0.3);
  color: var(--electric);
  border-radius: 50px;
  font-size: 0.85rem;
  font-weight: 600;
  transition: var(--transition);
}
.btn-exam:hover { background: var(--gradient-electric); color: var(--dark); border-color: transparent; }

/* ══════════════════════════════════════
   IT TRAINING
══════════════════════════════════════ */
.training-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.5rem;
}
.training-card {
  background: rgba(0,212,255,0.03);
  border: 1px solid rgba(0,212,255,0.1);
  border-radius: var(--radius);
  padding: 2rem 1.5rem;
  transition: var(--transition);
  transform-style: preserve-3d;
  will-change: transform;
  position: relative;
}
.training-card:hover { border-color: rgba(0,212,255,0.5); transform: translateY(-5px); box-shadow: 0 16px 50px rgba(0,0,0,0.4), 0 0 25px rgba(0,212,255,0.1); }
.training-icon { width: 52px; height: 52px; background: rgba(0,212,255,0.1); border: 1px solid rgba(0,212,255,0.25); border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; color: var(--electric); margin-bottom: 0.75rem; transition: var(--transition); }
.training-card:hover .training-icon { background: var(--gradient-electric); color: var(--dark); border-color: transparent; }
.training-dur { font-size: 0.72rem; font-weight: 700; color: var(--electric); letter-spacing: 1px; text-transform: uppercase; margin-bottom: 0.5rem; }
.training-card h3 { font-size: 1rem; font-weight: 700; color: var(--white); margin-bottom: 0.5rem; }
.training-card p { font-size: 0.83rem; color: var(--text-muted); margin-bottom: 1rem; line-height: 1.65; }
.training-tags { display: flex; gap: 0.4rem; flex-wrap: wrap; }
.training-tags span { font-size: 0.68rem; font-weight: 600; padding: 0.2rem 0.6rem; border-radius: 50px; background: rgba(0,212,255,0.08); border: 1px solid rgba(0,212,255,0.2); color: var(--electric); }

/* ══════════════════════════════════════
   INTERNSHIPS
══════════════════════════════════════ */
.intern-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
}
.intern-highlight, .intern-tracks {
  background: rgba(0,212,255,0.03);
  border: 1px solid rgba(0,212,255,0.1);
  border-radius: var(--radius);
  padding: 2rem;
}
.intern-highlight h3, .intern-tracks h3 { font-size: 1rem; font-weight: 700; color: var(--white); margin-bottom: 1.5rem; }
.intern-point { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.25rem; }
.ip-icon { width: 40px; height: 40px; background: rgba(0,212,255,0.1); border: 1px solid rgba(0,212,255,0.25); border-radius: 10px; display: flex; align-items: center; justify-content: center; color: var(--electric); font-size: 1rem; flex-shrink: 0; }
.intern-point strong { display: block; font-size: 0.9rem; color: var(--white); margin-bottom: 0.2rem; }
.intern-point p { font-size: 0.82rem; color: var(--text-muted); line-height: 1.6; margin: 0; }
.track-item { display: flex; align-items: center; gap: 1rem; padding: 0.85rem 1rem; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); border-radius: 10px; margin-bottom: 0.6rem; transition: var(--transition); }
.track-item:hover { border-color: rgba(0,212,255,0.35); background: rgba(0,212,255,0.05); }
.track-icon { width: 36px; height: 36px; background: rgba(0,212,255,0.1); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: var(--electric); font-size: 0.9rem; flex-shrink: 0; }
.track-item strong { display: block; font-size: 0.85rem; color: var(--white); }
.track-item span { font-size: 0.72rem; color: var(--text-muted); }
.track-dur { margin-left: auto; font-size: 0.72rem; font-weight: 700; color: var(--electric); background: rgba(0,212,255,0.08); border: 1px solid rgba(0,212,255,0.2); padding: 0.15rem 0.6rem; border-radius: 50px; white-space: nowrap; }

/* ══════════════════════════════════════
   PLACEMENT CARD MARQUEE
══════════════════════════════════════ */
.pm-wrap {
  position: relative;
  overflow: hidden;
  margin-bottom: 3rem;
}
.pm-wrap::before,
.pm-wrap::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 100px;
  z-index: 2;
  pointer-events: none;
}
.pm-wrap::before { left: 0;  background: linear-gradient(to right, var(--dark), transparent); }
.pm-wrap::after  { right: 0; background: linear-gradient(to left,  var(--dark), transparent); }

.pm-track-outer { overflow: hidden; }
.pm-track {
  display: flex;
  width: max-content;
  gap: 1.25rem;
  animation: marqueeScroll 32s linear infinite;
  padding: 0.75rem 0;
}
.pm-track:hover { animation-play-state: paused; }

.pm-card {
  min-width: 200px;
  max-width: 200px;
  background: rgba(0,212,255,0.04);
  border: 1px solid rgba(0,212,255,0.12);
  border-radius: var(--radius);
  padding: 1.5rem 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.6rem;
  transition: var(--transition);
  cursor: default;
  flex-shrink: 0;
}
.pm-card:hover {
  border-color: rgba(0,212,255,0.5);
  background: rgba(0,212,255,0.08);
  transform: translateY(-5px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.4), 0 0 20px rgba(0,212,255,0.1);
}
.pm-icon {
  width: 48px;
  height: 48px;
  background: rgba(0,212,255,0.1);
  border: 1px solid rgba(0,212,255,0.25);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: var(--electric);
  transition: var(--transition);
}
.pm-card:hover .pm-icon {
  background: var(--gradient-electric);
  color: var(--dark);
  border-color: transparent;
  box-shadow: 0 0 18px rgba(0,212,255,0.4);
}
.pm-card h5 {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--white);
  line-height: 1.3;
}
.pm-card p {
  font-size: 0.74rem;
  color: var(--text-muted);
  line-height: 1.5;
  margin: 0;
}

/* ══════════════════════════════════════
   PLACEMENT
══════════════════════════════════════ */
.placement-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.5rem;
}
.placement-card {
  background: rgba(0,212,255,0.03);
  border: 1px solid rgba(0,212,255,0.1);
  border-radius: var(--radius);
  padding: 1.75rem 1.5rem;
  text-align: center;
  transition: var(--transition);
  transform-style: preserve-3d;
  will-change: transform;
}
.placement-card:hover { border-color: rgba(0,212,255,0.45); transform: translateY(-5px); box-shadow: 0 15px 50px rgba(0,0,0,0.4), 0 0 25px rgba(0,212,255,0.1); }
.pc-icon { width: 56px; height: 56px; margin: 0 auto 1rem; background: rgba(0,212,255,0.08); border: 1px solid rgba(0,212,255,0.2); border-radius: 16px; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; color: var(--electric); transition: var(--transition); }
.placement-card:hover .pc-icon { background: var(--gradient-electric); color: var(--dark); border-color: transparent; box-shadow: 0 0 20px rgba(0,212,255,0.4); }
.placement-card h4 { font-size: 0.95rem; font-weight: 700; color: var(--white); margin-bottom: 0.5rem; }
.placement-card p { font-size: 0.83rem; color: var(--text-muted); line-height: 1.65; }

/* ══════════════════════════════════════
   AI DEVELOPMENT
══════════════════════════════════════ */
.ai-dev-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.ai-services {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin: 1.5rem 0;
}
.ai-service-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.6rem 0.8rem;
  background: rgba(0,212,255,0.05);
  border: 1px solid rgba(0,212,255,0.12);
  border-radius: 8px;
  font-size: 0.82rem;
  color: var(--text);
  transition: var(--transition);
}
.ai-service-item:hover { border-color: rgba(0,212,255,0.4); color: var(--electric); }
.ai-service-item i { color: var(--electric); font-size: 0.9rem; }

.ai-dev-visual { position: relative; }
.ai-code-window {
  background: #0a0f1e;
  border: 1px solid rgba(0,212,255,0.15);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 0 40px rgba(0,212,255,0.08);
}
.ai-code-body { padding: 1.5rem; font-family: 'Courier New', monospace; font-size: 0.82rem; line-height: 1.9; }
.code-line { white-space: pre; }
.c-purple { color: #c678dd; }
.c-cyan { color: #56b6c2; }
.c-white { color: #abb2bf; }
.c-green { color: #98c379; }
.c-yellow { color: #e5c07b; }
.c-comment { color: #5c6370; font-style: italic; }

.ai-float-stat {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(6,12,26,0.9);
  border: 1px solid rgba(0,212,255,0.25);
  border-radius: 50px;
  padding: 0.5rem 1rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--electric);
  backdrop-filter: blur(10px);
  animation: floatCard 4s ease-in-out infinite;
}
.ai-float-stat i { font-size: 0.9rem; }
.s1 { top: -1rem; right: -1rem; animation-delay: 0s; }
.s2 { bottom: -1rem; left: -1rem; animation-delay: 1.5s; }

/* ══════════════════════════════════════
   CORPORATE TRAINING
══════════════════════════════════════ */
.corporate-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}
.corp-card {
  background: rgba(0,212,255,0.03);
  border: 1px solid rgba(0,212,255,0.1);
  border-radius: var(--radius);
  padding: 2rem 1.5rem;
  transition: var(--transition);
  transform-style: preserve-3d;
  will-change: transform;
}
.corp-card:hover { border-color: rgba(0,212,255,0.5); transform: translateY(-5px); box-shadow: 0 15px 50px rgba(0,0,0,0.4), 0 0 25px rgba(0,212,255,0.1); }
.corp-icon { width: 52px; height: 52px; background: rgba(0,212,255,0.1); border: 1px solid rgba(0,212,255,0.25); border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; color: var(--electric); margin-bottom: 1rem; transition: var(--transition); }
.corp-card:hover .corp-icon { background: var(--gradient-electric); color: var(--dark); border-color: transparent; }
.corp-card h3 { font-size: 1rem; font-weight: 700; color: var(--white); margin-bottom: 0.5rem; }
.corp-card p { font-size: 0.83rem; color: var(--text-muted); line-height: 1.65; }
.corporate-cta { text-align: center; }
.corporate-cta p { font-size: 0.88rem; color: var(--text-muted); margin-bottom: 1rem; }

/* ══════════════════════════════════════
   FOUNDER SECTION
══════════════════════════════════════ */
.founder-grid {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 4rem;
  align-items: center;
}
.founder-visual { text-align: center; }
.founder-img-wrap {
  position: relative;
  display: inline-block;
  margin-bottom: 1.5rem;
}
.founder-img-wrap img {
  width: 260px;
  height: 260px;
  object-fit: cover;
  object-position: top center;
  border-radius: 50%;
  border: 3px solid rgba(0,212,255,0.4);
  box-shadow: 0 0 60px rgba(0,212,255,0.2);
}
.founder-glow-ring {
  position: absolute;
  inset: -12px;
  border-radius: 50%;
  border: 2px solid rgba(0,212,255,0.15);
  animation: pulseRing 3s ease-in-out infinite;
}
@keyframes pulseRing {
  0%, 100% { transform: scale(1); opacity: 0.5; }
  50% { transform: scale(1.04); opacity: 1; }
}
.founder-ventures { display: flex; gap: 0.5rem; justify-content: center; flex-wrap: wrap; }
.venture-pill {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(0,212,255,0.08);
  border: 1px solid rgba(0,212,255,0.2);
  color: var(--electric);
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.35rem 0.9rem;
  border-radius: 50px;
}
.founder-quote {
  font-size: 1.1rem;
  font-style: italic;
  color: var(--electric);
  border-left: 3px solid var(--electric);
  padding-left: 1.25rem;
  margin: 1.5rem 0;
  line-height: 1.7;
}
.founder-stats {
  display: flex;
  gap: 2rem;
  margin-top: 1.5rem;
  flex-wrap: wrap;
}
.f-stat strong { display: block; font-family: 'Montserrat', sans-serif; font-size: 1.6rem; font-weight: 900; color: var(--electric); }
.f-stat span { font-size: 0.78rem; color: var(--text-muted); }

/* ══════════════════════════════════════
   FAQ ACCORDION
══════════════════════════════════════ */
.faq-grid {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.faq-item {
  background: rgba(0,212,255,0.03);
  border: 1px solid rgba(0,212,255,0.1);
  border-radius: var(--radius-sm);
  overflow: hidden;
  transition: var(--transition);
}
.faq-item.open { border-color: rgba(0,212,255,0.4); }
.faq-q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.1rem 1.25rem;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--white);
  text-align: left;
  gap: 1rem;
  transition: var(--transition);
}
.faq-q:hover { background: rgba(0,212,255,0.05); color: var(--electric); }
.faq-q i { color: var(--electric); font-size: 0.75rem; flex-shrink: 0; transition: transform 0.3s ease; }
.faq-item.open .faq-q i { transform: rotate(45deg); }
.faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s ease;
}
.faq-a p {
  padding: 0 1.25rem 1.1rem;
  font-size: 0.85rem;
  color: var(--text-muted);
  line-height: 1.75;
  margin: 0;
}
.faq-item.open .faq-a { max-height: 600px; }

/* ══════════════════════════════════════
   CTA BANNER
══════════════════════════════════════ */
#cta-banner { padding: 4rem 0; }
.cta-banner {
  position: relative;
  background: linear-gradient(135deg, rgba(0,212,255,0.08) 0%, rgba(124,58,237,0.08) 100%);
  border: 1px solid rgba(0,212,255,0.2);
  border-radius: 24px;
  padding: 4rem 3rem;
  text-align: center;
  overflow: hidden;
}
.cta-glow {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 400px; height: 200px;
  background: radial-gradient(ellipse, rgba(0,212,255,0.08) 0%, transparent 70%);
  pointer-events: none;
}
.cta-banner h2 { font-family: 'Montserrat', sans-serif; font-size: clamp(1.6rem, 4vw, 2.4rem); font-weight: 800; color: var(--white); margin-bottom: 0.75rem; }
.cta-banner p { font-size: 1rem; color: var(--text-muted); max-width: 540px; margin: 0 auto 2rem; line-height: 1.7; }
.cta-btns { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

/* ══════════════════════════════════════
   PREMIUM LEADERSHIP TEAM
══════════════════════════════════════ */
.team-section {
  background: var(--dark);
  position: relative;
  overflow: hidden;
}

/* animated floating tech nodes in background */
.team-bg-nodes { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.tbn {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  opacity: 0.04;
  animation: tbnFloat linear infinite;
  color: var(--electric);
}
.tbn i { font-size: inherit; }
.tbn-1 { font-size: 5rem; top: 8%;  left: 5%;  width: 90px;  height: 90px;  animation-duration: 18s; animation-delay: 0s; }
.tbn-2 { font-size: 3rem; top: 60%; left: 2%;  width: 60px;  height: 60px;  animation-duration: 14s; animation-delay: 3s; }
.tbn-3 { font-size: 4rem; top: 20%; right: 4%; width: 75px;  height: 75px;  animation-duration: 20s; animation-delay: 1s; }
.tbn-4 { font-size: 3.5rem; top: 70%; right: 6%; width: 65px; height: 65px; animation-duration: 16s; animation-delay: 2s; }
.tbn-5 { font-size: 4.5rem; top: 40%; left: 48%; width: 80px; height: 80px; animation-duration: 22s; animation-delay: 0.5s; }
.tbn-6 { font-size: 3rem; top: 85%; left: 30%; width: 55px;  height: 55px;  animation-duration: 17s; animation-delay: 4s; }
@keyframes tbnFloat {
  0%   { transform: translateY(0) rotate(0deg);   opacity: 0.04; }
  50%  { transform: translateY(-30px) rotate(180deg); opacity: 0.08; }
  100% { transform: translateY(0) rotate(360deg); opacity: 0.04; }
}

/* grid */
.lteam-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  position: relative;
  z-index: 1;
}

/* card */
.lteam-card {
  position: relative;
  background: rgba(0,212,255,0.03);
  border: 1px solid rgba(0,212,255,0.12);
  border-radius: 22px;
  overflow: hidden;
  backdrop-filter: blur(20px);
  transition: var(--transition);
  display: flex;
  flex-direction: column;
  transform-style: preserve-3d;
  will-change: transform;
}
.lteam-card:hover {
  border-color: rgba(0,212,255,0.55);
  box-shadow: 0 30px 80px rgba(0,0,0,0.55), 0 0 60px rgba(0,212,255,0.1), inset 0 1px 0 rgba(0,212,255,0.2);
}

/* pulsing glow ring behind card */
.ltc-glow-ring {
  position: absolute;
  top: -80px; right: -80px;
  width: 200px; height: 200px;
  background: radial-gradient(circle, rgba(0,212,255,0.1) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  transition: var(--transition);
}
.lteam-card:hover .ltc-glow-ring { opacity: 1.5; transform: scale(1.3); }

/* top: image + meta */
.ltc-top {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
  padding: 2rem 1.75rem 1.35rem;
  border-bottom: 1px solid rgba(0,212,255,0.08);
}

/* circular image */
.ltc-img-wrap {
  position: relative;
  flex-shrink: 0;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid rgba(0,212,255,0.35);
  box-shadow: 0 0 0 5px rgba(0,212,255,0.07), 0 0 25px rgba(0,212,255,0.2);
  transition: all 0.5s cubic-bezier(0.4,0,0.2,1);
  cursor: pointer;
}
.lteam-card:hover .ltc-img-wrap,
.ltc-img-wrap.colored {
  border-color: rgba(0,212,255,0.9);
  box-shadow: 0 0 0 6px rgba(0,212,255,0.12), 0 0 45px rgba(0,212,255,0.5);
  transform: scale(1.06);
}
.ltc-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  /* start in black & white */
  filter: grayscale(100%) contrast(1.05) brightness(0.95);
  transition: filter 0.55s cubic-bezier(0.4,0,0.2,1), transform 0.5s ease;
}
/* color revealed on hover OR touch (.colored class toggled via JS) */
.lteam-card:hover .ltc-img-wrap img,
.ltc-img-wrap.colored img {
  filter: grayscale(0%) contrast(1) brightness(1);
  transform: scale(1.08);
}
.ltc-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 55%, rgba(0,212,255,0.08) 100%);
  transition: opacity 0.5s ease;
}
.lteam-card:hover .ltc-img-overlay { opacity: 0; }

/* name & role */
.ltc-meta { flex: 1; min-width: 0; }
.ltc-primary-role {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--electric);
  margin-bottom: 0.25rem;
}
.ltc-meta h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--white);
  margin-bottom: 0.6rem;
  line-height: 1.2;
}

/* org badges */
.ltc-org-badges { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.org-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.62rem;
  font-weight: 700;
  padding: 0.18rem 0.55rem;
  border-radius: 50px;
  white-space: nowrap;
}
.org-badge i { font-size: 0.55rem; }
.org-badge.nsm  { background: rgba(0,212,255,0.12);  border: 1px solid rgba(0,212,255,0.3);  color: var(--electric); }
.org-badge.uni  { background: rgba(124,58,237,0.12); border: 1px solid rgba(124,58,237,0.3); color: var(--purple-light); }
.org-badge.pri  { background: rgba(245,158,11,0.12); border: 1px solid rgba(245,158,11,0.3); color: #fbbf24; }

/* body */
.ltc-body { padding: 1.5rem 1.75rem; flex: 1; }
.ltc-body p {
  font-size: 0.83rem;
  color: var(--text-muted);
  line-height: 1.8;
  margin-bottom: 1.1rem;
}
.ltc-body p strong { color: var(--white); font-weight: 600; }

/* expertise tags */
.ltc-expertise {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.ltc-expertise span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--text-muted);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  padding: 0.22rem 0.6rem;
  border-radius: 50px;
  transition: var(--transition);
}
.ltc-expertise span i { color: var(--electric); font-size: 0.45rem; }
.lteam-card:hover .ltc-expertise span { border-color: rgba(0,212,255,0.2); color: var(--text); }

/* footer: social + exp badge */
.ltc-footer {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1rem 1.75rem 1.5rem;
  border-top: 1px solid rgba(0,212,255,0.07);
  flex-wrap: wrap;
}
.ltc-social {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 1rem;
  border-radius: 50px;
  font-size: 0.78rem;
  font-weight: 600;
  transition: var(--transition);
  border: 1px solid;
}
.ltc-social.linkedin {
  background: rgba(10,102,194,0.1);
  border-color: rgba(10,102,194,0.3);
  color: #60a5fa;
}
.ltc-social.linkedin:hover {
  background: #0a66c2;
  border-color: #0a66c2;
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(10,102,194,0.4);
}
.ltc-social.email {
  background: rgba(0,212,255,0.08);
  border-color: rgba(0,212,255,0.25);
  color: var(--electric);
}
.ltc-social.email:hover {
  background: var(--gradient-electric);
  border-color: transparent;
  color: var(--dark);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,212,255,0.35);
}
.ltc-exp-badge {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.7rem;
  font-weight: 700;
  color: #fbbf24;
  background: rgba(245,158,11,0.08);
  border: 1px solid rgba(245,158,11,0.2);
  padding: 0.3rem 0.75rem;
  border-radius: 50px;
}
.ltc-exp-badge i { font-size: 0.7rem; }

/* responsive */
@media (max-width: 1100px) {
  .lteam-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .lteam-grid { grid-template-columns: 1fr; }
  .ltc-top { flex-direction: column; align-items: flex-start; }
  .ltc-img-wrap { width: 100px; height: 100px; }
}

/* ══════════════════════════════════════
   EXTRA RESPONSIVE RULES
══════════════════════════════════════ */
@media (max-width: 1024px) {
  .portal-grid, .intern-grid, .ai-dev-grid, .founder-grid { grid-template-columns: 1fr; }
  .founder-img-wrap img { width: 200px; height: 200px; }
}
@media (max-width: 768px) {
  .trust-inner { gap: 0.25rem; }
  .trust-sep { display: none; }
  .dest-grid { grid-template-columns: repeat(5, 1fr); }
  .exam-grid, .training-grid, .placement-grid, .corporate-grid { grid-template-columns: 1fr; }
  .ai-services { grid-template-columns: 1fr; }
  .cta-banner { padding: 2.5rem 1.5rem; }
  .dropdown-menu { position: static; transform: none; display: none; }
}
@media (max-width: 480px) {
  .dest-grid { grid-template-columns: repeat(3, 1fr); }
  .portal-destinations { padding: 1.25rem; }
  .cta-btns { flex-direction: column; align-items: center; }
}

/* ═════════════════════════════════════════════
   ECOSYSTEM PILLARS — "Infrastructure not Advisory"
═════════════════════════════════════════════ */
#ecosystem { padding: 5rem 0; }
.eco-pillars {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.25rem;
  margin-top: 3rem;
}
.eco-pillar {
  position: relative;
  background: linear-gradient(160deg, rgba(15,28,52,0.95), rgba(10,18,35,0.95));
  border: 1px solid rgba(0,200,255,0.18);
  border-radius: 18px;
  padding: 2rem 1.5rem 1.6rem;
  overflow: hidden;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
.eco-pillar::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 100% 0%, rgba(0,200,255,0.10), transparent 60%);
  pointer-events: none;
}
.eco-pillar:hover {
  transform: translateY(-6px);
  border-color: rgba(0,200,255,0.5);
  box-shadow: 0 18px 50px rgba(0,200,255,0.18);
}
.eco-num {
  position: absolute;
  top: 0.6rem; right: 1rem;
  font-family: 'Montserrat', sans-serif;
  font-size: 2.6rem;
  font-weight: 900;
  background: linear-gradient(135deg, rgba(0,200,255,0.18), rgba(10,91,232,0.1));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 1;
  opacity: 0.85;
}
.eco-icon {
  width: 56px; height: 56px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0a5be8, #00c8ff);
  color: #fff;
  font-size: 1.4rem;
  margin-bottom: 1rem;
  box-shadow: 0 8px 24px rgba(0,200,255,0.25);
}
.eco-pillar h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 0.55rem;
  line-height: 1.25;
}
.eco-pillar p {
  font-size: 0.92rem;
  color: rgba(255,255,255,0.7);
  line-height: 1.55;
  margin-bottom: 1rem;
}
.eco-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--electric);
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: gap 0.25s ease, color 0.25s ease;
}
.eco-link:hover { gap: 0.7rem; color: #fff; }
.eco-link i { font-size: 0.75rem; }

.eco-quote-card {
  margin-top: 3rem;
  padding: 2rem 2.5rem;
  background: linear-gradient(135deg, rgba(10,91,232,0.12), rgba(0,200,255,0.08));
  border: 1px solid rgba(0,200,255,0.3);
  border-radius: 20px;
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 1.4rem;
  align-items: center;
  position: relative;
  backdrop-filter: blur(20px);
}
.eco-quote-icon {
  width: 56px; height: 56px;
  background: linear-gradient(135deg, #0a5be8, #00c8ff);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.3rem;
  box-shadow: 0 6px 18px rgba(0,200,255,0.3);
}
.eco-quote-card p {
  color: rgba(255,255,255,0.88);
  font-size: 1rem;
  line-height: 1.65;
  margin: 0;
}
.eco-quote-card p strong { color: var(--electric); font-weight: 700; }

@media (max-width: 768px) {
  .eco-pillars { grid-template-columns: 1fr; }
  .eco-quote-card { grid-template-columns: 1fr; padding: 1.5rem; text-align: center; }
  .eco-quote-icon { margin: 0 auto; }
}

/* ═════════════════════════════════════════════
   CASE STUDIES / SUCCESS WALL
═════════════════════════════════════════════ */
#success { padding: 5rem 0; }
.cs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.cs-card {
  position: relative;
  background: linear-gradient(160deg, rgba(17,30,55,0.95), rgba(10,18,35,0.95));
  border: 1px solid rgba(0,200,255,0.15);
  border-radius: 18px;
  padding: 1.6rem 1.5rem 1.5rem;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
  overflow: hidden;
}
.cs-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  height: 3px; width: 100%;
  background: linear-gradient(90deg, #0a5be8, #00c8ff, transparent);
}
.cs-card:hover {
  transform: translateY(-5px);
  border-color: rgba(0,200,255,0.4);
  box-shadow: 0 16px 40px rgba(0,200,255,0.15);
}
.cs-card-feature {
  background: linear-gradient(160deg, rgba(10,91,232,0.18), rgba(0,200,255,0.08), rgba(10,18,35,0.95));
  border-color: rgba(0,200,255,0.4);
}
.cs-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 0.3rem 0.75rem;
  border-radius: 50px;
  margin-bottom: 1rem;
}
.cs-tag-abroad    { background: rgba(0,180,255,0.12); color: #00c8ff; border: 1px solid rgba(0,200,255,0.3); }
.cs-tag-internship{ background: rgba(168,156,255,0.12); color: #a89cff; border: 1px solid rgba(168,156,255,0.3); }
.cs-tag-tech      { background: rgba(40,200,64,0.12); color: #28c840; border: 1px solid rgba(40,200,64,0.3); }
.cs-tag-score     { background: rgba(255,107,107,0.12); color: #ff8a8a; border: 1px solid rgba(255,107,107,0.3); }
.cs-tag-corp      { background: rgba(150,200,255,0.12); color: #95c4ff; border: 1px solid rgba(150,200,255,0.3); }
.cs-flag-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.85rem;
}
.cs-flag { font-size: 1.6rem; }
.cs-arrow { color: var(--electric); font-weight: 800; }
.cs-uni {
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
}
.cs-circle {
  width: 40px; height: 40px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0a5be8, #00c8ff);
  color: #fff;
  font-size: 1rem;
}
.cs-circle.ai   { background: linear-gradient(135deg, #6a4cff, #a89cff); }
.cs-circle.erp  { background: linear-gradient(135deg, #28a745, #6fd486); }
.cs-circle.gre  { background: linear-gradient(135deg, #ff6b6b, #ffaaaa); }
.cs-circle.corp { background: linear-gradient(135deg, #36a2eb, #95c4ff); }
.cs-card h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.05rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.3;
  margin-bottom: 0.65rem;
}
.cs-card p {
  font-size: 0.9rem;
  color: rgba(255,255,255,0.7);
  line-height: 1.55;
  margin-bottom: 1.1rem;
}
.cs-card p strong { color: var(--electric); }
.cs-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(0,200,255,0.15);
}
.cs-stat {
  text-align: center;
  display: flex;
  flex-direction: column;
}
.cs-stat strong {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  background: linear-gradient(135deg, #0a5be8, #00c8ff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 1;
}
.cs-stat span {
  font-size: 0.68rem;
  color: rgba(255,255,255,0.55);
  margin-top: 0.25rem;
  text-transform: uppercase;
  letter-spacing: 0.7px;
}
.cs-cta {
  text-align: center;
  margin-top: 3rem;
  padding: 2rem;
  background: linear-gradient(135deg, rgba(10,91,232,0.1), rgba(0,200,255,0.05));
  border: 1px solid rgba(0,200,255,0.2);
  border-radius: 16px;
}
.cs-cta p {
  color: rgba(255,255,255,0.85);
  font-size: 1.05rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
@media (max-width: 600px) {
  .cs-grid { grid-template-columns: 1fr; }
  .cs-stats { grid-template-columns: repeat(3, 1fr); }
}

/* ═════════════════════════════════════════════
   STUDY ABROAD PROGRAM QUICK-LINK PILLS
═════════════════════════════════════════════ */
.sa-programs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.6rem;
  margin: 2rem auto 2.5rem;
  max-width: 1000px;
}
.sa-prog {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.6rem 1rem;
  border: 1px solid rgba(10,143,255,0.25);
  background: rgba(10,143,255,0.05);
  border-radius: 50px;
  color: #1a2332;
  font-size: 0.85rem;
  font-weight: 600;
  transition: var(--transition);
}
.sa-prog i { color: var(--electric); font-size: 0.85rem; }
.sa-prog:hover {
  background: var(--electric);
  color: #fff;
  border-color: var(--electric);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,200,255,0.3);
}
.sa-prog:hover i { color: #fff; }

/* ═════════════════════════════════════════════
   HERO — LIVING ECOSYSTEM ORBIT (2026 redesign)
═════════════════════════════════════════════ */
@keyframes orbitSpin { to { transform: rotate(360deg); } }
@keyframes orbCorePulse { 0%,100% { opacity:.55; transform:scale(1); } 50% { opacity:.9; transform:scale(1.06); } }

/* hide the legacy hero side-panels (replaced by the orbit) */
#hero .hero-side { display: none !important; }

#hero { padding: 5.5rem 1.5rem 3rem; }
.hero-inner { position: relative; z-index: 2; width: 100%; max-width: 1240px; margin: 0 auto; }
.hero-grid {
  display: grid;
  grid-template-columns: 1.04fr 0.96fr;
  align-items: center;
  gap: 2.4rem;
}

/* ---- left · copy ---- */
.hero-copy { text-align: left; }
.hero-copy .hero-badge { display:inline-flex; align-items:center; gap:0.5rem; margin-bottom:0.2rem; }
.hero-copy .hero-badge i { color:#ff8a3d; }
.hero-h1 {
  font-family:'Montserrat',sans-serif;
  font-weight:900;
  line-height:1.05;
  letter-spacing:-1px;
  margin:0.6rem 0 0.8rem;
}
.hero-h1 .hh-line { display:block; color:#fff; font-size:clamp(1.7rem, 3.4vw, 2.7rem); }
.hero-h1 .hh-grad { font-size:clamp(1.75rem, 3.6vw, 2.85rem); }
.hero-sub2 {
  font-size:clamp(0.95rem, 1.4vw, 1.08rem);
  color:var(--text-muted);
  max-width:560px;
  margin-bottom:1rem;
  line-height:1.55;
}
.hero-sub2 strong { color:#cfeeff; font-weight:700; }

.hero-capstrip { display:flex; flex-wrap:wrap; gap:0.4rem; margin-bottom:1.1rem; padding:0; }
.hero-capstrip li {
  display:inline-flex; align-items:center; gap:0.4rem;
  font-size:0.74rem; font-weight:600; color:var(--text);
  background:rgba(0,212,255,0.06);
  border:1px solid rgba(0,212,255,0.18);
  padding:0.32rem 0.7rem; border-radius:50px;
  transition:var(--transition);
}
.hero-capstrip li i { color:var(--electric); font-size:0.78rem; }
.hero-capstrip li:hover { background:rgba(0,212,255,0.13); border-color:rgba(0,212,255,0.45); transform:translateY(-2px); }

.hero-copy .hero-btns { justify-content:flex-start; margin-bottom:1.3rem; }
.hero-copy .hero-stats { max-width:600px; margin:0; padding:0.9rem 1.4rem; }

/* ---- right · orbit ---- */
.hero-orbit-wrap { display:flex; flex-direction:column; align-items:center; gap:0.8rem; }
.hero-orbit { --size:min(430px, 78vw); position:relative; width:var(--size); height:var(--size); display:grid; place-items:center; }
.orbit-glow {
  position:absolute; inset:18%; border-radius:50%;
  background:radial-gradient(circle, rgba(0,212,255,0.22), transparent 65%);
  filter:blur(8px); animation:orbCorePulse 4.5s ease-in-out infinite;
}
.orbit-core {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  z-index:6; width:104px; height:104px; border-radius:50%;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:radial-gradient(circle at 32% 26%, #0c1d40, #03070f 72%);
  border:1px solid rgba(0,212,255,0.55);
  box-shadow:0 0 0 6px rgba(0,212,255,0.06), 0 0 55px rgba(0,212,255,0.45), inset 0 0 28px rgba(0,212,255,0.22);
}
.orbit-core::before {
  content:''; position:absolute; inset:-2px; border-radius:50%;
  background:conic-gradient(from 0deg, transparent 0deg, rgba(0,212,255,0.75) 60deg, transparent 130deg);
  animation:orbitSpin 7s linear infinite;
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 3px));
          mask:radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 3px));
}
.oc-mono {
  font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.75rem; line-height:1;
  background:var(--gradient-electric); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.oc-label { font-size:0.5rem; letter-spacing:1.6px; text-transform:uppercase; color:var(--text-muted); margin-top:0.28rem; }

.orbit-ring { position:absolute; top:50%; left:50%; border-radius:50%; border:1px dashed rgba(0,212,255,0.22); }
.ring-1 { width:50%; height:50%; margin:-25% 0 0 -25%; animation:orbitSpin 40s linear infinite; }
.ring-2 { width:86%; height:86%; margin:-43% 0 0 -43%; animation:orbitSpin 62s linear infinite reverse; }

.orbit-node { position:absolute; transform:translate(-50%,-50%); z-index:4; }
.on-inner { display:flex; flex-direction:column; align-items:center; gap:0.34rem; width:86px; }
.ring-1 .on-inner { animation:orbitSpin 40s linear infinite reverse; }
.ring-2 .on-inner { animation:orbitSpin 62s linear infinite; }
.on-chip {
  width:48px; height:48px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1.05rem; color:var(--c,#00d4ff); flex-shrink:0;
  background:rgba(6,12,26,0.92);
  border:1px solid var(--c,#00d4ff);
  box-shadow:0 0 16px -1px var(--c,#00d4ff), inset 0 0 12px rgba(0,0,0,0.45);
  transition:transform .3s ease, box-shadow .3s ease;
}
.on-name {
  font-size:0.62rem; font-weight:600; color:#d4ecf9; text-align:center; line-height:1.15;
  background:rgba(3,7,15,0.55); padding:0.12rem 0.45rem; border-radius:6px; white-space:nowrap;
}
.orbit-node:hover .on-chip { transform:scale(1.15); box-shadow:0 0 26px 0 var(--c,#00d4ff); }
.hero-orbit:hover .orbit-ring,
.hero-orbit:hover .on-inner,
.hero-orbit:hover .orbit-core::before { animation-play-state:paused; }

.orbit-caption {
  display:inline-flex; align-items:center; gap:0.5rem;
  font-size:0.8rem; font-weight:600; color:var(--text-muted);
  background:rgba(0,212,255,0.06); border:1px solid rgba(0,212,255,0.18);
  padding:0.4rem 1rem; border-radius:50px;
}
.orbit-caption i { color:var(--electric); }

@media (max-width: 980px) {
  .hero-grid { grid-template-columns:1fr; gap:2rem; }
  .hero-copy { text-align:center; order:1; }
  .hero-copy .hero-btns, .hero-capstrip { justify-content:center; }
  .hero-copy .hero-stats { margin:0 auto; }
  .hero-sub2 { margin-left:auto; margin-right:auto; }
  .hero-orbit-wrap { order:2; }
}
@media (max-width: 560px) {
  .hero-orbit { --size:min(360px, 90vw); }
  .orbit-core { width:96px; height:96px; }
  .oc-mono { font-size:1.6rem; }
  .on-inner { width:64px; }
  .on-chip { width:40px; height:40px; font-size:0.9rem; }
  .on-name { font-size:0.54rem; }
}

/* ═════════════════════════════════════════════
   CLEAN LIGHT "SAAS" — HERO + TRUST BAR PROTOTYPE
   (scoped to #hero / .trust-bar; rest of page unchanged)
═════════════════════════════════════════════ */
#hero {
  background:
    radial-gradient(1100px 560px at 82% -12%, rgba(37,99,235,0.10), transparent 60%),
    radial-gradient(820px 460px at -5% 112%, rgba(124,58,237,0.07), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #f4f7fd 100%);
}
#hero #particles-canvas,
#hero .floating-icons,
#hero .hero-glow-1,
#hero .hero-glow-2 { display:none; }

/* badge */
#hero .hero-badge {
  background:#eef4ff; border:1px solid #d6e4ff; color:#1d4ed8;
  box-shadow:0 1px 2px rgba(15,23,42,0.04);
}
#hero .hero-copy .hero-badge i { color:#f59e0b; }

/* headline + text */
#hero .hh-line { color:#0f172a; }
#hero .gradient-text,
#hero .oc-mono,
#hero .stat-item span.stat-num {
  background:linear-gradient(135deg,#2563eb,#7c3aed);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
#hero .hero-sub2 { color:#475569; }
#hero .hero-sub2 strong { color:#0f172a; }

/* capability pills */
#hero .hero-capstrip li {
  background:#ffffff; border:1px solid #e6ebf3; color:#334155;
  box-shadow:0 1px 2px rgba(15,23,42,0.05);
}
#hero .hero-capstrip li i { color:#2563eb; }
#hero .hero-capstrip li:hover { background:#f7faff; border-color:#c7d8f5; }

/* buttons */
#hero .btn-primary { box-shadow:0 8px 22px rgba(37,99,235,0.28); }
#hero .btn-outline {
  background:#fff; border:1px solid #d3dced; color:#0f172a; backdrop-filter:none;
  box-shadow:0 1px 2px rgba(15,23,42,0.05);
}
#hero .btn-outline:hover { border-color:#2563eb; color:#1d4ed8; background:#f7faff; box-shadow:0 8px 18px rgba(37,99,235,0.16); }
#hero .btn-ghost { color:#475569; border:1px dashed #c7d2e3; }
#hero .btn-ghost:hover { background:#f1f5fb; color:#0f172a; border-color:#2563eb; }

/* stats ribbon */
#hero .hero-stats {
  background:#ffffff; border:1px solid #e9eef6; backdrop-filter:none;
  box-shadow:0 12px 32px rgba(15,23,42,0.07);
}
#hero .stat-item > span:not(.stat-num) { color:#2563eb; }
#hero .stat-item p { color:#64748b; }
#hero .stat-item .stat-icon { color:#2563eb; }
#hero .stat-divider { background:linear-gradient(to bottom, transparent, #dce3ee, transparent); }

/* orbit — light reskin */
#hero .orbit-glow { background:radial-gradient(circle, rgba(37,99,235,0.16), transparent 65%); }
#hero .orbit-core {
  background:#ffffff; border:1px solid #e3e9f3;
  box-shadow:0 14px 34px rgba(37,99,235,0.18);
}
#hero .orbit-core::before { background:conic-gradient(from 0deg, transparent 0deg, rgba(37,99,235,0.55) 60deg, transparent 130deg); }
#hero .oc-label { color:#94a3b8; }
#hero .orbit-ring { border-color:#d8e2f1; }
#hero .on-chip {
  background:#ffffff; color:#2563eb; border:1px solid #e6ebf3;
  box-shadow:0 6px 16px rgba(15,23,42,0.10);
}
#hero .orbit-node:hover .on-chip { box-shadow:0 10px 22px rgba(37,99,235,0.22); }
#hero .on-name { color:#475569; background:transparent; }
#hero .orbit-caption {
  background:#fff; border:1px solid #e6ebf3; color:#475569;
  box-shadow:0 1px 2px rgba(15,23,42,0.05);
}
#hero .orbit-caption i { color:#2563eb; }

/* scroll hint */
#hero .hero-scroll-hint { color:#94a3b8; }
#hero .scroll-arrow { border-color:#2563eb; }

/* trust bar — light, flows from hero */
.trust-bar { background:#f5f8fd; border-top:1px solid #e6ebf3; border-bottom:1px solid #e6ebf3; }
.trust-item { color:#475569; }
.trust-item i { color:#2563eb; }
.trust-sep { background:#e2e8f0; }

/* ============================================================
   NAVBAR FIX  — fit on desktop, hamburger < 1200, premium mobile
   ============================================================ */
.nav-logo-img { height:42px; max-width:200px; }
.loader-logo .nav-logo-img { height:72px; max-width:340px; }
.nav-container { gap:1.25rem; }
.nav-links { gap:0.1rem; }
.nav-links a { font-size:0.8rem; padding:0.4rem 0.55rem; }
.nav-cta { padding:0.5rem 1.15rem; font-size:0.85rem; }

@media (max-width: 1200px) {
  .nav-links {
    display: flex !important; flex-direction: column; align-items: stretch; justify-content: flex-start;
    position: fixed; inset: 0;
    background: rgba(255,255,255,0.98); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
    padding: 5.5rem 1.5rem 2rem; gap: 0;
    overflow-y: auto; z-index: 999;
    
    /* Animation states */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-20px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
    pointer-events: none; /* Ignore clicks when closed */
  }
  .nav-cta { display: none; }
  
  .hamburger {
    display: flex !important;
    position: relative;
    z-index: 1001; /* Keep above overlay */
  }
  .nav-logo {
    position: relative;
    z-index: 1001; /* Keep above overlay */
  }
  
  .nav-links.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto; /* Enable clicks when open */
  }
  
  .nav-links.open > li { width: 100%; border-bottom: 1px solid #eef2f7; }
  .nav-links.open > li > a {
    display: flex; align-items: center; justify-content: flex-start;
    font-size: 1.05rem; font-weight: 600; color: #0f172a; padding: 1.05rem 0.4rem;
    background: transparent; border-radius: 0;
  }
  .nav-links.open > li > a:hover, .nav-links.open > li > a.active { background: #f5f8fd; color: #1d4ed8; }
  .nav-links.open .dropdown-menu { display: none !important; }
  .nav-links.open .nav-dropdown > a i { display: none; }
}

/* ============================================================
   GLOBAL LIGHT "SAAS" THEME — full-page conversion
   ============================================================ */
:root {
  --dark:#ffffff;
  --dark-2:#f4f7fd;
  --dark-3:#eef3fa;
  --text:#334155;
  --text-muted:#64748b;
  --card-bg:#ffffff;
  --card-border:#e7ecf4;
  --card-hover-border:#2563eb;
  --shadow-card:0 1px 2px rgba(15,23,42,0.05);
}
body { background:#ffffff; color:#334155; }

.gradient-text { background:linear-gradient(135deg,#2563eb,#7c3aed); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }

/* section chrome */
.section-title { color:#0f172a; }
.section-subtitle, .section-sub { color:#64748b; }
.section-label { background:#eef4ff; border:1px solid #d6e4ff; color:#1d4ed8; box-shadow:none; }

/* ---- surfaces ---- */
.service-card, .etc-card, .why-card, .training-card, .corp-card, .placement-card, .exam-card,
.lteam-card, .rp-card, .cs-card, .cs-card-feature, .eco-pillar, .faq-item, .intern-highlight, .intern-tracks,
.portal-step, .portal-destinations, .contact-form-wrap, .contact-card, .tech-item, .dest-card,
.pm-card, .track-item, .about-float-card, .eco-quote-card, .map-embed-wrap, .cs-cta {
  background:#ffffff;
  border:1px solid #e7ecf4;
  box-shadow:0 1px 2px rgba(15,23,42,0.05);
  -webkit-backdrop-filter:none; backdrop-filter:none;
}
.etc-stats, .dest-stats { background:#f4f8ff; border:1px solid #e1ebfb; }
.cs-card-feature { border-color:#bcd2fb; box-shadow:0 8px 26px rgba(37,99,235,0.10); }

.service-card:hover, .etc-card:hover, .why-card:hover, .training-card:hover, .corp-card:hover,
.placement-card:hover, .exam-card:hover, .lteam-card:hover, .rp-card:hover, .cs-card:hover,
.eco-pillar:hover, .portal-step:hover, .contact-card:hover, .tech-item:hover, .dest-card:hover,
.pm-card:hover, .track-item:hover {
  border-color:#c7d8f5;
  box-shadow:0 14px 32px rgba(15,23,42,0.09);
  background:#ffffff;
}

/* ---- headings ---- */
.service-card h3, .etc-card h3, .why-card h3, .training-card h3, .corp-card h3, .placement-card h4,
.exam-card h3, .team-info h3, .ltc-meta h3, .eco-pillar h3, .cs-card h3, .rp-title, .dest-title,
.contact-card h4, .step-body h4, .intern-highlight h3, .intern-tracks h3, .pm-card h5,
.about-float-card strong, .faq-q, .cta-banner h2, .ai-dev-content h2, .about-content h2,
.intern-point strong, .track-item strong { color:#0f172a; }

/* ---- body text ---- */
.service-card p, .etc-card p, .why-card p, .training-card p, .corp-card p, .placement-card p,
.exam-card p, .team-info p, .ltc-body p, .eco-pillar p, .cs-card p, .rp-desc, .step-body p,
.intern-point p, .contact-card p, .faq-a p, .pm-card p, .about-para, .eco-quote-card p,
.cs-cta p, .corporate-cta p, .cs-stat span, .hero-desc, .dest-stat p, .etc-stat p, .f-stat span,
.track-item span, .ltc-primary-role, .map-embed-label { color:#475569; }
.ltc-body p strong, .eco-quote-card p strong, .about-para strong, .cs-card p strong { color:#0f172a; }
.founder-quote { color:#1d4ed8; border-left-color:#2563eb; }

/* ---- accent numerals ---- */
.etc-stat .stat-num, .dest-stat .stat-num, .f-stat strong, .cs-stat strong, .rp-acronym, .step-num {
  background:linear-gradient(135deg,#2563eb,#7c3aed);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
}
.etc-stat > span:not(.stat-num), .dest-stat > span:not(.stat-num) { color:#2563eb; }

/* ---- chips / tags / small ---- */
.training-tags span { background:#eef4ff; border:1px solid #d6e4ff; color:#1d4ed8; }
.rp-tech, .ai-service-item, .exam-collab-tag, .venture-pill, .ltc-expertise span {
  background:#f4f7fd; border:1px solid #e2e8f0; color:#475569;
}
.rp-tech i, .ai-service-item i, .exam-collab-tag i, .venture-pill i, .ltc-expertise span i { color:#2563eb; }
.rp-badge { background:#ecfdf5; border:1px solid #bbf7d0; color:#15803d; }
.org-badge.nsm { background:#eef4ff; border:1px solid #d6e4ff; color:#1d4ed8; }
.org-badge.uni { background:#f5f0ff; border:1px solid #e4d8ff; color:#6d28d9; }
.org-badge.pri { background:#fff7ed; border:1px solid #fde2c0; color:#b45309; }
.ltc-exp-badge { background:#fff7ed; border:1px solid #fde2c0; color:#b45309; }
.exam-features li, .rp-features span { color:#475569; }
.exam-features li i, .rp-features span i { color:#16a34a; }
.eco-link { color:#2563eb; }
.eco-link:hover { color:#1d4ed8; }
.track-dur, .training-dur { background:#eef4ff; border:1px solid #d6e4ff; color:#1d4ed8; }
.ip-icon, .track-icon, .pc-icon, .training-icon, .corp-icon, .etc-icon, .why-icon, .service-icon, .ai-service-item, .pm-icon {
  background:#eef4ff; border:1px solid #d6e4ff;
}

/* ---- faq ---- */
.faq-item.open { border-color:#c7d8f5; }
.faq-q:hover { background:#f7faff; color:#1d4ed8; }
.faq-q i { color:#2563eb; }

/* ---- buttons ---- */
.btn-exam { background:#eef4ff; border:1px solid #cfe0ff; color:#1d4ed8; }
.btn-exam:hover { background:linear-gradient(135deg,#2563eb,#1d4ed8); color:#fff; border-color:transparent; }
.btn-outline { background:#fff; border:1px solid #d3dced; color:#0f172a; -webkit-backdrop-filter:none; backdrop-filter:none; }
.btn-outline:hover { border-color:#2563eb; color:#1d4ed8; background:#f7faff; }
.btn-ghost { color:#475569; border:1px dashed #c7d2e3; }
.btn-ghost:hover { background:#f1f5fb; color:#0f172a; border-color:#2563eb; }

/* ---- contact form ---- */
.form-group label { color:#334155; }
.form-group input, .form-group select, .form-group textarea { background:#f8fafc; border:1px solid #e2e8f0; color:#0f172a; }
.form-group input::placeholder, .form-group textarea::placeholder { color:#94a3b8; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:#2563eb; background:#fff; box-shadow:0 0 0 3px rgba(37,99,235,0.12); }
.form-group select option { background:#fff; color:#0f172a; }
.form-note { color:#64748b; }
.contact-card a { color:#2563eb; }
.contact-card a:hover { color:#1d4ed8; }
.map-embed-label a { color:#2563eb; }

/* ---- about visual placeholder ---- */
.about-img-placeholder { background:linear-gradient(135deg,#eef3fa,#e4ecfb); border:1px solid #e2e8f0; }
.about-img-placeholder .logo-mentors { color:#0f172a !important; }
.logo-ns { color:#2563eb; }
.aip-roof-sub, .aip-pillar-tags span { color:#64748b; }
.aip-pillar-name { color:#0f172a; }
.aip-partner-item { color:#475569; }
.aip-pillars, .aip-partners { border-color:#e2e8f0; }

/* ---- dividers / borders ---- */
.stat-divider { background:linear-gradient(to bottom,transparent,#dce3ee,transparent); }
.rp-stack, .cs-stats { border-top-color:#eef2f7; }
.ltc-top, .ltc-footer, .ltc-body { border-color:#eef2f7; }

/* ---- cta banner ---- */
.cta-banner { background:linear-gradient(135deg, rgba(37,99,235,0.06), rgba(124,58,237,0.06)); border:1px solid #dbe6fb; }
.cta-banner p { color:#475569; }

/* ---- map: drop the dark-invert filter on light ---- */
.map-iframe { filter:none; }

/* ============================================================
   MOBILE / RESPONSIVE POLISH
   ============================================================ */
@media (max-width: 768px) {
  section { padding: 4rem 0; }
  .section-header { margin-bottom: 2.25rem; }
  #ecosystem { padding: 4rem 0; }
  .hero-copy .hero-stats { padding: 0.85rem 0.6rem; }
  .hero-stats { gap: 0.25rem; }
  .stat-item { padding: 0.4rem 0.5rem; }
  .stat-item span.stat-num { font-size: 1.4rem; }
  .stat-item p { font-size: 0.62rem; }
  .eco-quote-card { padding: 1.4rem; }
  .lteam-grid, .cs-grid, .why-grid, .services-grid, .training-grid,
  .corporate-grid, .placement-grid, .exam-grid, .rp-grid { grid-template-columns: 1fr; }
  .founder-stats { gap: 1.25rem; }
}
@media (max-width: 420px) {
  .hero-h1 .hh-line { font-size: 1.85rem; }
  .hero-h1 .hh-grad { font-size: 1.95rem; }
  .hero-capstrip li { font-size: 0.7rem; padding: 0.3rem 0.6rem; }
  .stat-divider { display: none; }
  .hero-stats { flex-wrap: wrap; }
  .hero-copy .hero-btns .btn-primary,
  .hero-copy .hero-btns .btn-outline,
  .hero-copy .hero-btns .btn-ghost { width: 100%; justify-content: center; }
}

/* ---- light-theme contrast fixes ---- */
.exam-badge-top { background:linear-gradient(135deg,#2563eb,#7c3aed); color:#fff; }
.cs-uni { color:#0f172a; }
.cs-arrow { color:#2563eb; }
.ltc-social.email, .ltc-social.linkedin { background:#eef4ff; border-color:#cfe0ff; color:#1d4ed8; }
.ltc-social.linkedin:hover { background:#0a66c2; border-color:#0a66c2; color:#fff; }
.ltc-social.email:hover { background:#2563eb; border-color:#2563eb; color:#fff; }
.service-tag { background:#ecfdf5; border-color:#bbf7d0; color:#15803d; }
.aip-pillar-tags span { color:#475569; background:#f1f5fb; border-color:#e2e8f0; }
.aip-pillar.it .aip-pillar-tags span { color:#1d4ed8; background:#eef4ff; border-color:#d6e4ff; }
.aip-pillar.edu .aip-pillar-tags span { color:#6d28d9; background:#f5f0ff; border-color:#e4d8ff; }
.aip-pillar.it .aip-pillar-icon.it { background:#eef4ff; border-color:#d6e4ff; color:#2563eb; }
.aip-pillar.edu .aip-pillar-icon.edu { background:#f5f0ff; border-color:#e4d8ff; color:#7c3aed; }
.ets-badge { background:#eef4ff; color:#1d4ed8; border:1px solid #cfe0ff; }
.gre-badge { background:#f5f0ff; color:#6d28d9; border:1px solid #e4d8ff; }
.cs-tag-abroad { background:#e8f5ff; color:#0369a1; border:1px solid #bae6fd; }
.cs-tag-internship { background:#f5f0ff; color:#6d28d9; border:1px solid #e4d8ff; }
.cs-tag-tech { background:#ecfdf5; color:#15803d; border:1px solid #bbf7d0; }
.cs-tag-score { background:#fff1f2; color:#be123c; border:1px solid #fecdd3; }
.cs-tag-corp { background:#eef4ff; color:#1d4ed8; border:1px solid #d6e4ff; }
.cs-card::before { background:linear-gradient(90deg,#2563eb,#7c3aed,transparent); }

/* ---- layout / alignment fixes ---- */
/* #1 ecosystem pillars: 6 cards -> balanced 3x2 (was 4+2 with a right gap) */
.eco-pillars { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1024px) { .eco-pillars { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 680px)  { .eco-pillars { grid-template-columns: 1fr; } }

/* #5 success / case studies: 5 cards -> centered rows (no right-side gap) */
.cs-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:1.5rem; }
.cs-grid > .cs-card { flex:1 1 310px; max-width:380px; }

/* #2 destination card hover was white-text-on-white */
.dest-card:hover { color:#0f172a; background:#eef4ff; border-color:#c7d8f5; }
.dest-card:hover .dest-flag { color:#0f172a; }
.tech-item:hover { color:#1d4ed8; }

/* #3 internships: equal-height columns, spread left content to remove the side gap */
.intern-grid { align-items:stretch; }
.intern-highlight { display:flex; flex-direction:column; justify-content:space-between; }
.intern-highlight h3 { margin-bottom:0; }
.intern-highlight .intern-point { margin-bottom:0; }

/* #4 founder profile consolidation + 2-member team */
.founder-expertise { display:flex; flex-wrap:wrap; gap:0.4rem; margin:1.3rem 0; }
.founder-expertise span { display:inline-flex; align-items:center; gap:0.35rem; font-size:0.72rem; font-weight:600; color:#475569; background:#ffffff; border:1px solid #e2e8f0; padding:0.28rem 0.7rem; border-radius:50px; }
.founder-expertise span i { color:#2563eb; font-size:0.45rem; }
.founder-links { display:flex; gap:0.6rem; flex-wrap:wrap; }
.lteam-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:2rem; }
.lteam-grid > .lteam-card { flex:1 1 320px; max-width:400px; }

/* destination cards: 2-letter code crossfades to a real flag on hover */
.dest-flag { position:relative; display:flex; align-items:center; justify-content:center; height:34px; }
.dest-code { font-size:1.35rem; font-weight:800; color:#475569; letter-spacing:0.5px; transition:opacity .3s ease, transform .3s ease; }
.dest-flag-img {
  position:absolute; left:50%; top:50%;
  width:42px; height:28px; object-fit:cover; border-radius:5px;
  max-width:none;
  transform:translate(-50%,-50%) scale(0.65); opacity:0;
  transition:opacity .3s ease, transform .3s ease;
  box-shadow:0 3px 10px rgba(15,23,42,0.22);
}
.dest-card:hover .dest-code { opacity:0; transform:scale(0.65); }
.dest-card:hover .dest-flag-img { opacity:1; transform:translate(-50%,-50%) scale(1); }
.dest-name { font-size:0.72rem; color:#64748b; }

/* IT training cards: backlink to matching Unisoft course pages */
.training-card { display:flex; flex-direction:column; }
.training-link {
  display:inline-flex; align-items:center; gap:0.4rem;
  margin-top:auto; padding-top:1rem;
  font-size:0.8rem; font-weight:700; color:#2563eb;
  transition:gap .25s ease, color .25s ease;
}
.training-link i { font-size:0.68rem; }
.training-link:hover { gap:0.65rem; color:#1d4ed8; }



