/* ============================================================
   COMPONENTS — Premium Design v2
   Glassmorphism, warm accents, refined micro-interactions
   ============================================================ */

/* ========== NAVBAR PILL — Floating SaaS-style ========== */
.navbar-pill {
  position: fixed;
  top: 12px;
  left: 50%; transform: translateX(-50%);
  width: calc(100% - 32px);
  max-width: 1240px;
  z-index: 1000;
  height: 68px;
  border-radius: 16px;
  background: rgba(8, 14, 30, 0.65);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 4px 24px rgba(0,0,0,0.2), 0 0 0 1px rgba(255,255,255,0.02) inset;
  transition: top 0.4s var(--ease-out),
              background 0.5s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.5s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.35s var(--ease-out);
}


/* Scrolled state — more opaque, deeper shadow */
.navbar-pill--scrolled {
  background: rgba(6, 11, 24, 0.92);
  border-color: rgba(255,255,255,0.12);
  box-shadow: 0 8px 40px rgba(0,0,0,0.45), 0 1px 0 rgba(255,255,255,0.04) inset;
}

.navbar-pill__inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 var(--space-lg); height: 100%;
}

/* Logo */
.navbar__logo { display: flex; align-items: center; text-decoration: none; flex-shrink: 0; }
.navbar__logo-img {
  height: 80px; width: auto; border-radius: 8px;
  transition: transform 0.3s var(--ease-out);
}
.navbar__logo:hover .navbar__logo-img { transform: scale(1.03); }

/* Desktop Nav Links (centered) */
.navbar__menu {
  display: flex; align-items: center; gap: 2px; list-style: none;
  margin: 0; padding: 0;
  /* Center the menu between logo and actions */
  flex: 1; justify-content: center;
}
.navbar__item { position: relative; }
.navbar__link {
  display: flex; align-items: center; gap: 4px;
  padding: 7px 12px; color: rgba(255,255,255,0.6);
  font-size: 0.8125rem; font-weight: 500;
  text-decoration: none; border-radius: 8px;
  transition: all 0.3s var(--ease-out); white-space: nowrap;
  font-family: var(--font-heading);
}
.navbar__link:hover { color: #fff; }
.navbar__link--active {
  color: #fff;
  background: rgba(255,255,255,0.08);
}

/* Accent / highlighted nav links (e.g. "MBBS in Russia") */
.navbar__link--accent {
  color: var(--color-accent-400) !important; font-weight: 600;
  position: relative;
}
/* Subtle green dot indicator for accent links */
.navbar__link--accent::after {
  content: '';
  position: absolute; bottom: 4px; left: 50%; transform: translateX(-50%);
  width: 4px; height: 4px; border-radius: 50%;
  background: var(--color-accent-400);
  box-shadow: 0 0 6px var(--color-accent-400);
  opacity: 0.7;
}
.navbar__link--accent:hover { background: rgba(52,211,153,0.08); }

/* Chevron rotation for dropdown parents */
.navbar__chevron { transition: transform 0.3s var(--ease-spring); margin-left: 2px; }
.dropdown-open > .navbar__link .navbar__chevron { transform: rotate(180deg); }

/* Desktop Dropdown — glass panel with entrance animation */
.navbar__dropdown {
  position: absolute; top: calc(100% + 10px); left: 50%;
  transform: translateX(-50%) translateY(10px);
  min-width: 220px; padding: 10px;
  border-radius: 14px;
  background: rgba(12, 22, 48, 0.92);
  backdrop-filter: blur(48px) saturate(200%);
  -webkit-backdrop-filter: blur(48px) saturate(200%);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 24px 80px rgba(0,0,0,0.5),
              0 0 0 1px rgba(255,255,255,0.04) inset,
              0 1px 0 rgba(255,255,255,0.06) inset;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.dropdown-open > .navbar__dropdown {
  opacity: 1; visibility: visible; pointer-events: all;
  transform: translateX(-50%) translateY(0);
}
.navbar__dropdown-link {
  display: block; padding: 10px 16px; color: rgba(255,255,255,0.6);
  font-size: 0.8125rem; text-decoration: none; border-radius: 10px;
  transition: all 0.25s var(--ease-out); font-weight: 500;
}
.navbar__dropdown-link:hover {
  background: rgba(255,255,255,0.07); color: #fff;
  padding-left: 20px;
}

/* Navbar Actions (right side) */
.navbar__actions { display: flex; align-items: center; gap: var(--space-sm); flex-shrink: 0; }

/* NEET Checker ghost/outline button */
.navbar__neet-btn {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 6px 14px;
  font-size: 0.8125rem; font-weight: 600;
  color: var(--color-accent-400);
  border: 1px solid rgba(52,211,153,0.35);
  border-radius: 8px;
  text-decoration: none;
  background: rgba(52,211,153,0.05);
  transition: all 0.3s var(--ease-out);
  font-family: var(--font-heading);
  white-space: nowrap;
}
.navbar__neet-btn:hover {
  background: rgba(52,211,153,0.12);
  border-color: var(--color-accent-400);
  color: #fff;
  box-shadow: 0 0 16px rgba(52,211,153,0.15);
}

/* Apply Now CTA in navbar */
.navbar__cta {
  font-size: 0.8125rem !important;
  padding: 7px 18px !important;
  border-radius: 10px !important;
}

/* Hamburger — glass button, hidden on desktop */
.navbar__hamburger {
  display: none; flex-direction: column; justify-content: center; gap: 5px;
  width: 38px; height: 38px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  cursor: pointer; padding: 9px;
  transition: all 0.3s var(--ease-out);
}
.navbar__hamburger:hover { background: rgba(255,255,255,0.10); }
.navbar__hamburger-line {
  display: block; width: 100%; height: 2px; background: #fff;
  border-radius: 2px; transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  transform-origin: center;
}
/* Hamburger → X animation */
.navbar__hamburger--active .navbar__hamburger-line:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.navbar__hamburger--active .navbar__hamburger-line:nth-child(2) { opacity: 0; transform: scaleX(0); }
.navbar__hamburger--active .navbar__hamburger-line:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ========== MOBILE OVERLAY + OFF-CANVAS MENU ========== */
.mobile-overlay {
  position: fixed; inset: 0; z-index: 1001;
  background: rgba(0,0,0,0.6); backdrop-filter: blur(6px);
  opacity: 0; visibility: hidden; transition: all 0.4s var(--ease-out);
}
.mobile-overlay--active { opacity: 1; visibility: visible; }

.mobile-menu {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 1002;
  width: 85%; max-width: 380px;
  background: rgba(8, 14, 30, 0.96);
  backdrop-filter: blur(48px) saturate(200%);
  -webkit-backdrop-filter: blur(48px) saturate(200%);
  border-left: 1px solid rgba(255,255,255,0.06);
  transform: translateX(100%);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex; flex-direction: column; overflow-y: auto;
}
.mobile-menu--open { transform: translateX(0); }

.mobile-menu__header {
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--space-lg) var(--space-lg) var(--space-md);
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.mobile-menu__logo { height: 70px; width: auto; border-radius: 6px; }
.mobile-menu__close {
  width: 38px; height: 38px; display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px; cursor: pointer; color: rgba(255,255,255,0.6);
  transition: all 0.25s var(--ease-out);
}
.mobile-menu__close:hover { background: rgba(255,255,255,0.10); color: #fff; }

.mobile-menu__nav {
  flex: 1; padding: var(--space-md) var(--space-lg);
  display: flex; flex-direction: column; gap: 2px;
}
.mobile-menu__group { border-radius: 12px; overflow: hidden; }
.mobile-menu__group--highlight { background: rgba(52,211,153,0.05); border-radius: 12px; }

.mobile-menu__link, .mobile-menu__parent {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; padding: 14px 16px; color: rgba(255,255,255,0.75);
  font-size: 0.9375rem; font-weight: 500; text-decoration: none;
  background: none; border: none; cursor: pointer; border-radius: 12px;
  transition: all 0.25s var(--ease-out); font-family: var(--font-heading);
  text-align: left;
}
.mobile-menu__link:hover, .mobile-menu__parent:hover { background: rgba(255,255,255,0.05); color: #fff; }
.mobile-menu__link--accent { color: var(--color-accent-400) !important; font-weight: 600; }
.badge-new {
  font-size: 0.6875rem; background: var(--color-accent-500); color: #fff;
  padding: 2px 8px; border-radius: 20px; font-weight: 700; letter-spacing: 0.5px;
}

.mobile-menu__arrow { transition: transform 0.35s var(--ease-spring); color: rgba(255,255,255,0.35); }
.mobile-menu__group--open .mobile-menu__arrow { transform: rotate(180deg); }

.mobile-menu__children {
  max-height: 0; overflow: hidden; transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  padding: 0 8px;
}
.mobile-menu__group--open .mobile-menu__children { max-height: 400px; }
.mobile-menu__child-link {
  display: block; padding: 10px 16px 10px 24px; color: rgba(255,255,255,0.5);
  font-size: 0.875rem; text-decoration: none; border-radius: 10px;
  transition: all 0.25s var(--ease-out);
}
.mobile-menu__child-link:hover { background: rgba(255,255,255,0.05); color: #fff; }

.mobile-menu__footer {
  padding: var(--space-md) var(--space-lg) var(--space-xl);
  border-top: 1px solid rgba(255,255,255,0.05);
  display: flex; flex-direction: column; gap: var(--space-md);
}
.mobile-menu__cta { width: 100%; text-align: center; border-radius: 14px !important; }

/* Announcement link mirrored in mobile footer */
.mobile-menu__announcement {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  font-size: 0.75rem; color: rgba(255,255,255,0.5);
  padding: 8px 12px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
}
.mobile-menu__announcement a {
  color: var(--color-accent-400); text-decoration: none; font-weight: 600;
  transition: color 0.25s var(--ease-out);
}
.mobile-menu__announcement a:hover { color: #fff; }

.mobile-menu__contact {
  display: flex; gap: var(--space-lg); justify-content: center;
}
.mobile-menu__contact a {
  color: rgba(255,255,255,0.45); font-size: 0.8125rem; text-decoration: none;
  transition: color 0.25s var(--ease-out);
}
.mobile-menu__contact a:hover { color: #fff; }

/* ========== PAGE LOADER (progress bar) ========== */
.page-loader {
  position: fixed; top: 0; left: 0; height: 3px; z-index: 9999;
  background: linear-gradient(90deg, var(--color-primary-400), var(--color-accent-400), var(--color-gold-400, #E5C06A));
  background-size: 200% 100%;
  transition: width 0.4s ease; width: 0;
  border-radius: 0 2px 2px 0;
}
.page-loader.active { transition: width 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.page-loader.done { transition: width 0.3s ease; }
.page-loader.fade-out { opacity: 0; transition: opacity 0.4s ease; }

/* ========== FLOATING WIDGETS ========== */
.floating-widgets {
  position: fixed; bottom: 24px; right: 24px; z-index: 999;
  display: flex; flex-direction: column; gap: 12px;
}
.floating-widget {
  width: 54px; height: 54px; border-radius: 50%; display: flex;
  align-items: center; justify-content: center; cursor: pointer;
  box-shadow: 0 8px 25px rgba(0,0,0,0.3); transition: all 0.35s var(--ease-out);
  text-decoration: none;
}
.floating-widget:hover { transform: scale(1.12) translateY(-3px); box-shadow: 0 12px 35px rgba(0,0,0,0.4); }
.floating-widget--whatsapp {
  background: linear-gradient(135deg, #25D366, #128C7E);
}
.floating-widget--whatsapp svg { width: 28px; height: 28px; fill: #fff; }
.floating-widget--top {
  background: rgba(12,22,48,0.7); backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.12); color: #fff; font-size: 1.25rem;
  opacity: 0; pointer-events: none; transition: all 0.4s var(--ease-out);
}
.floating-widget--top.visible { opacity: 1; pointer-events: all; }

/* ========== BUTTONS (in component context — dark sections) ========== */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 24px; border-radius: var(--radius-md); font-weight: 600;
  font-size: 0.9375rem; text-decoration: none; cursor: pointer;
  transition: all 0.35s var(--ease-out);
  border: none; font-family: var(--font-heading); line-height: 1.4;
  position: relative; overflow: hidden;
}
.btn--primary {
  background: linear-gradient(135deg, var(--color-primary-500), var(--color-primary-400));
  color: #fff; 
  box-shadow: 0 4px 18px rgba(37,99,235,0.3), inset 0 1px 0 rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.08);
}
.btn--primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 30px rgba(37,99,235,0.45), inset 0 1px 0 rgba(255,255,255,0.15);
}
.btn--secondary {
  background: rgba(255,255,255,0.05); color: rgba(255,255,255,0.8);
  border: 1px solid rgba(255,255,255,0.10);
}
.btn--secondary:hover { background: rgba(255,255,255,0.10); color: #fff; transform: translateY(-2px); }
/* Outline variant — for light backgrounds (contact form, etc.) */
.btn--outline {
  background: transparent;
  color: var(--color-gray-700);
  border: 1.5px solid var(--color-gray-200);
}
.btn--outline:hover {
  background: var(--color-gray-50, #F8FAFC);
  border-color: var(--color-gray-300);
  color: var(--color-gray-900);
  transform: translateY(-2px);
}
.btn--glass {
  background: rgba(255, 255, 255, 0.03) !important;
  color: rgba(255, 255, 255, 0.85) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(12px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  box-shadow: 0 4px 15px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.02);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.btn--glass:hover {
  background: rgba(255, 255, 255, 0.07) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 8px 30px rgba(0,0,0,0.25), 0 0 20px rgba(255,255,255,0.05), inset 0 1px 0 rgba(255,255,255,0.05);
}
.btn--sm { padding: 8px 16px; font-size: 0.8125rem; }
.btn--lg { padding: 16px 32px; font-size: 1rem; }

/* ========== CARDS & GENERAL COMPONENTS ========== */
.service-card {
  background: rgba(255,255,255,0.03); 
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: var(--radius-lg); padding: var(--space-xl);
  transition: all 0.35s var(--ease-out);
  position: relative; overflow: hidden;
}
.service-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08), transparent);
}
.service-card:hover {
  background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.10);
  transform: translateY(-6px); box-shadow: 0 16px 50px rgba(0,0,0,0.25);
}
.service-card__icon { font-size: 2rem; margin-bottom: var(--space-md); }
.service-card__title { font-size: 1.125rem; font-weight: 600; margin-bottom: var(--space-sm); color: var(--color-gray-100); }
.service-card__desc { font-size: 0.875rem; color: var(--color-gray-500); line-height: 1.7; }

/* Apply Box (University Card) */
.apply-box {
  background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06);
  border-radius: var(--radius-lg); padding: var(--space-xl);
  transition: all 0.35s var(--ease-out);
  position: relative;
}
.apply-box::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--color-primary-400), var(--color-accent-400));
  transform: scaleX(0); transform-origin: left;
  transition: transform 0.4s var(--ease-out);
}
.apply-box:hover { border-color: rgba(255,255,255,0.12); transform: translateY(-4px); }
.apply-box:hover::before { transform: scaleX(1); }
.apply-box__name { font-size: 1.125rem; font-weight: 700; margin-bottom: var(--space-md); color: var(--color-gray-100); }
.apply-box__details { display: grid; gap: 8px; margin-bottom: var(--space-lg); }
.apply-box__detail { display: flex; align-items: center; gap: 8px; font-size: 0.875rem; color: var(--color-gray-400); }
.apply-box__detail-icon { font-size: 1rem; }
.apply-box__badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: var(--space-lg); }
.apply-box__badge {
  font-size: 0.75rem; padding: 4px 10px; border-radius: 20px;
  background: rgba(34,197,94,0.08); color: var(--color-accent-400);
  border: 1px solid rgba(34,197,94,0.15);
}
.apply-box__cta { display: flex; flex-direction: column; gap: 8px; }

/* Fee Table */
.fee-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.fee-table th { padding: 12px 16px; background: rgba(255,255,255,0.04); color: var(--color-gray-300); text-align: left; font-weight: 600; border-bottom: 1px solid rgba(255,255,255,0.06); }
.fee-table td { padding: 12px 16px; border-bottom: 1px solid rgba(255,255,255,0.03); color: var(--color-gray-400); transition: background 0.2s; }
.fee-table tr:hover td { background: rgba(255,255,255,0.02); }

/* Dark Section Fee Table Overrides */
.section--dark .fee-table th {
  background: rgba(255, 255, 255, 0.05) !important;
  color: #ffffff !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.section--dark .fee-table td {
  color: rgba(255, 255, 255, 0.8); /* Fixed color bug — removed !important so dynamic highlighting works */
  border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
}
.section--dark .fee-table tr:hover td {
  background: rgba(255, 255, 255, 0.04) !important;
  color: #ffffff !important;
}
.section--dark .fee-table tr td strong {
  color: #ffffff !important;
}
.section--dark .fee-table a {
  color: var(--color-primary-400) !important;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.25s var(--ease-out);
}
.section--dark .fee-table a:hover {
  color: var(--color-primary-300) !important;
  text-decoration: underline;
}

/* Partners */
.partners-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: var(--space-xl); }
.partners-tab {
  padding: 8px 16px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.08);
  background: transparent; color: rgba(255,255,255,0.5); cursor: pointer;
  font-size: 0.8125rem; font-weight: 500; transition: all 0.25s var(--ease-out);
}
.partners-tab.active, .partners-tab:hover { background: var(--color-primary-500); color: #fff; border-color: var(--color-primary-500); }
.partners-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--space-md); }
.partner-item {
  display: flex; align-items: center; gap: var(--space-md);
  padding: var(--space-md); background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.05); border-radius: var(--radius-md);
  transition: all 0.25s var(--ease-out);
}
.partner-item:hover { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.10); }
.partner-item__icon { font-size: 1.5rem; }
.partner-item__name { font-weight: 600; font-size: 0.875rem; color: var(--color-gray-200); }
.partner-item__country { font-size: 0.75rem; color: var(--color-gray-500); }

/* Form */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2xl); }
.form-steps { display: flex; gap: 8px; margin-bottom: var(--space-xl); }
.form-step { flex: 1; height: 4px; border-radius: 4px; background: rgba(255,255,255,0.06); transition: background 0.4s var(--ease-out); }
.form-step.active { background: var(--color-primary-500); box-shadow: 0 0 8px rgba(37,99,235,0.3); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); margin-bottom: var(--space-md); }
.form-group { display: flex; flex-direction: column; gap: 6px; margin-bottom: var(--space-md); }
.form-group label { font-size: 0.8125rem; font-weight: 500; color: var(--color-gray-400); }
.form-group input, .form-group select, .form-group textarea {
  padding: 12px 16px; border-radius: 12px; border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03); color: #fff; font-size: 0.9375rem;
  transition: all 0.3s var(--ease-out); outline: none; font-family: inherit;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
  border-color: var(--color-primary-400);
  box-shadow: 0 0 0 3px rgba(37,99,235,0.12), 0 0 20px rgba(37,99,235,0.08);
  background: rgba(255,255,255,0.04);
}

/* CTA Section */
.cta-section { position: relative; overflow: hidden; padding: var(--space-3xl) 0; }
.cta-section__bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, var(--color-primary-600), var(--color-primary-800));
  opacity: 0.9;
}
.cta-section__content { position: relative; text-align: center; }
.cta-section__title { color: #fff; margin-bottom: var(--space-md); }
.cta-section__desc { color: rgba(255,255,255,0.65); margin-bottom: var(--space-xl); max-width: 600px; margin-left: auto; margin-right: auto; }
.cta-section__actions { display: flex; gap: var(--space-md); justify-content: center; flex-wrap: wrap; }

/* Gallery */
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-md); }
.gallery-item { aspect-ratio: 1; border-radius: var(--radius-md); overflow: hidden; }

/* Jobs */
.jobs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--space-xl); }
.job-card { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.05); border-radius: var(--radius-lg); padding: var(--space-xl); }
.job-card__type { font-size: 0.75rem; font-weight: 600; color: var(--color-primary-400); text-transform: uppercase; letter-spacing: 1px; }
.job-card__title { font-size: 1.125rem; font-weight: 700; margin: var(--space-sm) 0 var(--space-md); color: var(--color-gray-100); }
.job-card__details { display: flex; gap: var(--space-lg); margin-bottom: var(--space-md); }
.job-card__detail { font-size: 0.8125rem; color: var(--color-gray-400); }

/* Services Grid */
.services-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--space-xl); }

/* University Grid */
.university-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: var(--space-xl); }

/* Timeline */
.timeline { position: relative; padding-left: 32px; }
.timeline::before { content: ''; position: absolute; left: 8px; top: 0; bottom: 0; width: 2px; background: rgba(255,255,255,0.06); }
.timeline__step { position: relative; padding-bottom: var(--space-xl); }
.timeline__dot {
  position: absolute; left: -28px; top: 4px; width: 12px; height: 12px;
  border-radius: 50%; background: var(--color-primary-500);
  border: 2px solid var(--color-primary-900);
  box-shadow: 0 0 0 3px rgba(37,99,235,0.2);
}
.timeline__step-title { font-weight: 600; margin-bottom: 4px; color: var(--color-gray-200); }
.timeline__step-desc { font-size: 0.875rem; color: var(--color-gray-500); line-height: 1.6; }

/* NMC Content */
.nmc-content h3 { margin-top: var(--space-2xl); margin-bottom: var(--space-md); color: var(--color-gray-100); }
.nmc-content p { margin-bottom: var(--space-lg); line-height: 1.8; color: var(--color-gray-400); }
.nmc-content ul { margin-bottom: var(--space-lg); padding-left: var(--space-lg); }
.nmc-content li { margin-bottom: 8px; color: var(--color-gray-400); line-height: 1.6; }

/* ========== RESPONSIVE ========== */

/* Tablet and below — hide desktop-only elements, show hamburger */
@media (max-width: 1024px) {
  .navbar__menu { display: none; }
  .navbar__hamburger { display: flex; }
  .navbar__cta { display: none; }
  .navbar__neet-btn { display: none; }
}

@media (max-width: 768px) {
  /* Compact pill on mobile */
  .navbar-pill {
    width: calc(100% - 24px);
    height: 56px;
    border-radius: 14px;
    backdrop-filter: blur(16px) saturate(150%);
    -webkit-backdrop-filter: blur(16px) saturate(150%);
    overflow: hidden;
  }
  .navbar-pill__inner { padding: 0 var(--space-md); }
  .navbar__logo-img { height: 48px; }

  .contact-grid { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .partners-grid { grid-template-columns: 1fr; }
  .university-grid { grid-template-columns: 1fr; }
  .floating-widgets { bottom: 16px; right: 16px; }
  .floating-widget { width: 48px; height: 48px; }
}
