* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: 'Helvetica Neue', Arial, sans-serif; }

.navbar {
  background:#000;
  height:56px;
  display:flex;
  align-items:center;
  position:relative;
  z-index:1000;
}
.nav-container {
  width:100%;
  max-width:1400px;
  margin:0 auto;
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:100%;
}


.navbar {
  display: flex;
  align-items: center;
  height: 60px; /* adjust to your actual navbar height */
  padding: 0 16px;
  box-sizing: border-box;
}

.logo {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  height: 100%;
  max-width: 60%; /* prevents logo from pushing out other navbar items */
  overflow: hidden;
}

.logo-img {
  height: 100%;
  max-height: 40px;   /* controls logo size independent of navbar height */
  width: auto;        /* keeps natural aspect ratio, no squishing */
  min-width: 24px;     /* ensures it never shrinks to invisible */
  object-fit: contain;
  flex-shrink: 0;
  display: block;
}

.logo-text {
  display: flex;
  align-items: center;
  overflow: hidden;
}

.logo-main {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
}

/* Tablet */
@media (max-width: 900px) {
  .logo-img {
    max-height: 34px;
  }
  .logo-main {
    font-size: 16px;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .navbar {
    height: 52px;
    padding: 0 12px;
  }
  .logo {
    gap: 6px;
    max-width: 70%;
  }
  .logo-img {
    max-height: 28px;
    min-width: 20px;
  }
  .logo-main {
    font-size: 14px;
  }
}

/* Extra small */
@media (max-width: 380px) {
  .navbar {
    height: 48px;
  }
  .logo-img {
    max-height: 30px;
    min-width: 22px;
  }
  .logo-main {
    font-size: 12px;
  }
}
.hamburger {
  display:none;
  flex-direction:column;
  gap:4px;
  background:none;
  border:none;
  cursor:pointer;
  padding:6px;
}
.hamburger span { width:20px; height:2px; background:#fff; transition:.3s; }

.nav-menu {
  display:flex;
  align-items:center;
  gap:16px;
  flex:1;
  justify-content:space-between;
  margin-left:20px;
}

.nav-links { display:flex; list-style:none; gap:14px; align-items:center; }
.nav-link {
  color:#eee;
  font-size:13px;
  background:none;
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:3px;
  text-decoration:none;
  font-family:inherit;
  white-space:nowrap;
}
.nav-link.accent { color:#f4a340; }
.nav-link:hover { color:#fff; }

.dropdown { position:relative; }
.dropdown-menu {
  display:none;
  position:absolute;
  top:100%;
  left:0;
  background:#1a1a1a;
  min-width:170px;
  border-radius:4px;
  padding:4px 0;
  box-shadow:0 6px 18px rgba(0,0,0,.4);
  margin-top:6px;
}
.dropdown-menu::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  height: 10px;
  background: transparent;
}
.dropdown-menu a {
  display:block;
  padding:8px 14px;
  color:#ddd;
  text-decoration:none;
  font-size:13px;
}
.dropdown-menu a:hover { background:#2a2a2a; color:#fff; }
.dropdown:hover .dropdown-menu { display:block; }

.nav-actions { display:flex; align-items:center; gap:8px; }

.search-box {
  display:flex;
  align-items:center;
  gap:6px;
  background:#111;
  border:1px solid #333;
  border-radius:5px;
  padding:6px 10px;
  width:190px;
}
.search-box input {
  background:none;
  border:none;
  outline:none;
  color:#fff;
  font-size:12px;
  width:100%;
}
.search-box input::placeholder { color:#888; }

.btn {
  padding:7px 14px;
  border-radius:5px;
  font-size:13px;
  font-weight:600;
  text-decoration:none;
  white-space:nowrap;
}
.btn-login { color:#fff; border:1px solid #444; }
.btn-login:hover { border-color:#777; }
.btn-join { background:#1e5ff0; color:#fff; }
.btn-join:hover { background:#1550d0; }

/* Mobile */
@media (max-width: 992px) {
  .hamburger { display:flex; }
  .nav-menu {
    position:absolute;
    top:56px;
    left:0;
    width:100%;
    background:#000;
    flex-direction:column;
    align-items:flex-start;
    max-height:0;
    overflow:hidden;
    transition:max-height .25s ease;
    margin-left:0;
    padding:0 20px;
  }
  .nav-menu.open { max-height:520px; padding:10px 20px 16px; }
  .nav-links { flex-direction:column; align-items:flex-start; gap:0; width:100%; }
  .nav-links li { width:100%; border-bottom:1px solid #1f1f1f; }
  .nav-link { padding:10px 0; width:100%; justify-content:space-between; font-size:13px; }
  .dropdown-menu {
    display:none;
    position:static;
    box-shadow:none;
    background:#111;
    margin:0 0 6px 0;
    width:100%;
    padding:0;
  }
  .dropdown-menu a { padding:8px 10px; font-size:13px; }
  .dropdown.open .dropdown-menu { display:block; }
  .dropdown:hover .dropdown-menu { display:none; }
  .dropdown.open:hover .dropdown-menu { display:block; }
  .nav-actions {
    flex-direction:column;
    width:100%;
    align-items:stretch;
    gap:8px;
    margin-top:8px;
  }
  .search-box { width:100%; }
  .btn { text-align:center; padding:9px 14px; }
}

.hero {
  position:relative;
  background:#000;
  min-height:350px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.hero-overlay {
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transition:background-image .5s ease;
  z-index:0;
}
.hero-overlay::before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    90deg,
    #000 0%,
    #000 28%,
    rgba(0,0,0,.9) 40%,
    rgba(0,0,0,.55) 58%,
    rgba(0,0,0,.15) 78%,
    transparent 100%
  );
}

.hero-content {
  position:relative;
  z-index:1;
  padding:25px 15px 18px;
  max-width:1400px;
  width:100%;
  margin:0 auto;
}

.slide {
  display:none;
  max-width:560px;
}
.slide.active { display:block; }

.eyebrow {
  display:block;
  color:#fff;
  font-size:13px;
  font-weight:700;
  margin-bottom:8px;
}
.slide h1 {
  color:#fff;
  font-size:32px;
  font-weight:800;
  line-height:1.15;
  margin-bottom:12px;
}
.slide p {
  color:#ccc;
  font-size:14px;
  line-height:1.5;
  margin-bottom:16px;
  max-width:480px;
}
.btn-read {
  display:inline-block;
  background:#76b900;
  color:#000;
  font-weight:700;
  font-size:13px;
  padding:8px 16px;
  text-decoration:none;
}
.btn-read:hover { background:#8fd400; }

/* Progress rail */
.rail {
  position:relative;
  z-index:1;
  display:flex;
  border-top:1px solid #222;
  overflow-x:auto;
  scrollbar-width:none;
}
.rail::-webkit-scrollbar { display:none; }

.rail-item {
  flex:1 0 16%;
  min-width:160px;
  background:none;
  border:none;
  text-align:left;
  padding:10px 12px;
  cursor:pointer;
  font-family:inherit;
}

.rail-progress {
  height:2px;
  background:#333;
  margin-bottom:8px;
  position:relative;
  overflow:hidden;
}
.rail-progress span {
  display:block;
  height:100%;
  width:0%;
  background:#76b900;
}
.rail-item.active .rail-progress span {
  animation:fillProgress 6s linear forwards;
}
@keyframes fillProgress {
  from { width:0%; }
  to { width:100%; }
}

.rail-cat {
  font-size:11px;
  font-weight:700;
  color:#888;
  text-transform:uppercase;
  margin-bottom:4px;
}
.rail-title {
  font-size:12px;
  color:#777;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.rail-item.active .rail-cat { color:#fff; }
.rail-item.active .rail-title { color:#eee; }

/* Mobile */
@media (max-width: 768px) {
  .hero { min-height:auto; }
  .hero-overlay::before {
    background:linear-gradient(
      180deg,
      #000 0%,
      #000 45%,
      rgba(0,0,0,.85) 65%,
      rgba(0,0,0,.3) 90%,
      transparent 100%
    );
  }
  .hero-content { padding:24px 16px 18px; }
  .slide h1 { font-size:22px; }
  .slide p { font-size:13px; }
  .btn-read { padding:7px 14px; font-size:12px; }
  .rail-item { flex:1 0 68%; min-width:200px; padding:10px; }
  .rail-title { white-space:normal; }
}
.stats-section {
  position:relative;
  background:#f3f4f6;
  padding:32px 20px;
  overflow:hidden;
}

.grid-bg {
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(to right, rgba(0,0,0,0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0,0,0,0.05) 1px, transparent 1px);
  background-size:28px 28px;
  z-index:0;
  mask-image:radial-gradient(ellipse at center, #000 60%, transparent 100%);
}

.stats-container {
  position:relative;
  z-index:1;
  max-width:1000px;
  margin:0 auto;
  text-align:center;
}

.eyebrow-blue {
  display:block;
  color:#2952e3;
  font-size:12px;
  font-weight:600;
  margin-bottom:6px;
}

.stats-heading {
  color:#111;
  font-size:24px;
  font-weight:800;
  line-height:1.2;
  max-width:680px;
  margin:0 auto 8px;
}

.stats-sub {
  color:#555;
  font-size:12.5px;
  line-height:1.5;
  max-width:560px;
  margin:0 auto 20px;
}

.stats-grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:10px;
}

.stat-card {
  background:#fafafa;
  border-radius:6px;
  padding:18px 12px;
  text-align:center;
}

.stat-number {
  color:#f0740a;
  font-size:24px;
  font-weight:800;
  margin-bottom:6px;
}

.stat-label {
  color:#444;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.3px;
  text-transform:uppercase;
  line-height:1.3;
}

/* Tablet */
@media (max-width: 900px) {
  .stats-grid { grid-template-columns:repeat(2, 1fr); gap:8px; }
  .stats-heading { font-size:20px; }
}

/* Mobile */
@media (max-width: 480px) {
  .stats-section { padding:24px 12px; }
  .eyebrow-blue { font-size:11px; }
  .stats-heading { font-size:17px; margin-bottom:6px; }
  .stats-sub { font-size:11px; margin-bottom:16px; }
  .stats-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .stat-card { padding:14px 8px; }
  .stat-number { font-size:19px; margin-bottom:4px; }
  .stat-label { font-size:9.5px; }
}


.partners-section {
  background:#fff;
  padding:32px 0;
  overflow:hidden;
}

.partners-container {
  text-align:center;
  padding:0 20px;
  margin-bottom:24px;
}

.eyebrow-red {
  display:block;
  color:#e0492f;
  font-size:12px;
  font-weight:600;
  margin-bottom:6px;
}

.partners-heading {
  color:#111;
  font-size:24px;
  font-weight:600;
  margin:0;
}

.marquee-row {
  width:100%;
  overflow:hidden;
  margin-bottom:20px;
  -webkit-mask-image:linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
  mask-image:linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
}
.marquee-row:last-child { margin-bottom:0; }

.marquee-track {
  display:flex;
  align-items:center;
  gap:40px;
  width:max-content;
  animation:scrollLeft 28s linear infinite;
}

.marquee-row[data-direction="right"] .marquee-track {
  animation:scrollRight 28s linear infinite;
}

.marquee-row:hover .marquee-track {
  animation-play-state:paused;
}

.logo-item {
  flex:0 0 auto;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.logo-item img {
  height:100%;
  width:auto;
  object-fit:contain;
  filter:grayscale(0%);
}

@keyframes scrollLeft {
  from { transform:translateX(0); }
  to { transform:translateX(-50%); }
}
@keyframes scrollRight {
  from { transform:translateX(-50%); }
  to { transform:translateX(0); }
}

/* Mobile */
@media (max-width: 480px) {
  .partners-section { padding:24px 0; }
  .partners-container { margin-bottom:16px; }
  .eyebrow-red { font-size:11px; }
  .partners-heading { font-size:17px; }
  .marquee-track { gap:28px; animation-duration:20s; }
  .logo-item { height:24px; }
}

.programs-section {
  background:linear-gradient(135deg, #050b1f 0%, #0d1f5c 60%, #14309e 100%);
  padding:32px 24px 28px;
  overflow:hidden;
}

.programs-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:24px;
  flex-wrap:wrap;
  max-width:1400px;
  margin-left:auto;
  margin-right:auto;
}

.header-left { display:flex; align-items:center; gap:14px; }

.header-icon {
  width:40px;
  height:40px;
  background:#1c3fa8;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.eyebrow-row { display:flex; align-items:center; gap:10px; margin-bottom:4px; }
.eyebrow-blue-light { color:#7fa8ff; font-size:11px; font-weight:700; letter-spacing:0.6px; }
.eyebrow-line { width:80px; height:1px; background:#3b4f8a; }

.programs-heading { color:#fff; font-size:22px; font-weight:800; margin:0; }

.btn-browse {
  background:#2f5be0;
  color:#fff;
  font-size:13px;
  font-weight:700;
  padding:9px 18px;
  border-radius:6px;
  text-decoration:none;
  white-space:nowrap;
}
.btn-browse:hover { background:#2a4fc7; }

/* Scrolling cards */
.cards-viewport {
  overflow-x:auto;
  scroll-behavior:smooth;
  scrollbar-width:none;
  cursor:grab;
  user-select:none;
}
.cards-viewport::-webkit-scrollbar { display:none; }
.cards-viewport.dragging { cursor:grabbing; scroll-behavior:auto; }

.cards-track {
  display:flex;
  gap:14px;
  width:max-content;
  padding-bottom:4px;
}

.prog-card {
  flex:0 0 auto;
  width:230px;
  background:#fff;
  border-radius:10px;
  overflow:hidden;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  box-shadow:0 6px 16px rgba(0,0,0,.25);
}

.card-img {
  height:130px;
  background-size:cover;
  background-position:center;
  position:relative;
}

.badge {
  position:absolute;
  bottom:8px;
  left:8px;
  width:26px;
  height:26px;
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:12px;
}
.badge-blue { background:#2f5be0; }
.badge-purple { background:#8b3fd6; }

.card-body { padding:12px 12px 8px; flex:1; }

.card-title { font-size:15px; font-weight:700; margin-bottom:6px; line-height:1.25; }
.text-blue { color:#2f5be0; }
.text-purple { color:#8b3fd6; }

.card-desc {
  color:#555;
  font-size:12px;
  line-height:1.4;
  margin-bottom:10px;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.card-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:10.5px;
}
.meta-tag { display:flex; align-items:center; gap:4px; color:#2f5be0; font-weight:700; letter-spacing:0.2px; }
.meta-rating { color:#e08a1e; font-weight:700; }

.card-footer {
  display:flex;
  justify-content:space-between;
  background:#f3f4f6;
  padding:8px 12px;
  font-size:11.5px;
  color:#555;
}

/* Mobile */
@media (max-width: 600px) {
  .programs-section { padding:22px 14px 20px; }
  .header-icon { width:32px; height:32px; }
  .programs-heading { font-size:17px; }
  .eyebrow-blue-light { font-size:10px; }
  .eyebrow-line { width:50px; }
  .btn-browse { padding:8px 14px; font-size:12px; }
  .prog-card { width:190px; }
  .card-img { height:105px; }
  .card-title { font-size:13.5px; }
  .card-desc { font-size:11px; }
}

.other-partners-section {
  background:#fff;
  padding:28px 20px;
}

.op-heading {
  text-align:center;
  font-size:19px;
  font-weight:600;
  color:#111;
  text-decoration:underline;
  text-underline-offset:4px;
  margin-bottom:20px;
}

.op-grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px;
  max-width:1000px;
  margin:0 auto;
}

.op-card {
  background:#fff;
  border-radius:10px;
  box-shadow:0 2px 10px rgba(0,0,0,0.08);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px;
  aspect-ratio:2.2 / 1;
}

.op-card img {
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

/* Tablet */
@media (max-width: 900px) {
  .op-grid { grid-template-columns:repeat(3, 1fr); gap:12px; }
}

/* Mobile */
@media (max-width: 560px) {
  .other-partners-section { padding:20px 14px; }
  .op-heading { font-size:16px; margin-bottom:14px; }
  .op-grid { grid-template-columns:repeat(2, 1fr); gap:10px; }
  .op-card { padding:12px; border-radius:8px; }
}

.master-hero {
  display:flex;
  align-items:center;
  gap:32px;
  max-width:1400px;
  margin:0 auto;
  padding:30px 15px;
  flex-wrap:wrap;
}

.master-left { flex:1 1 420px; min-width:300px; }

.master-title {
  color:#e0392b;
  font-size:27px;
  font-weight:800;
  line-height:1;
  margin-bottom:6px;
}
.master-subtitle {
  color:#111;
  font-size:18px;
  font-weight:500;
  margin-bottom:9px;
}

.search-bar-lg {
  display:flex;
  align-items:center;
  border:1px solid #e5c9c9;
  border-radius:8px;
  padding:4px;
  margin-bottom:10px;
  max-width:520px;
}
.search-bar-lg input {
  flex:1;
  border:none;
  outline:none;
  padding:10px 12px;
  font-size:14px;
  color:#333;
}
.search-bar-lg input::placeholder { color:#999; }
.search-btn-lg {
  background:#e0392b;
  border:none;
  border-radius:6px;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  flex-shrink:0;
}

.goal-label { font-size:13px; color:#333; margin-bottom:10px; }

.goal-chips {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:18px;
  max-width:560px;
}
.chip {
  border:1px solid #ccc;
  border-radius:20px;
  padding:7px 14px;
  font-size:12.5px;
  color:#222;
  text-decoration:none;
  white-space:nowrap;
}
.chip:hover { border-color:#999; background:#f7f7f7; }

.learners-line { font-size:13px; color:#333; }
.learners-count { color:#e0392b; font-weight:700; }

/* Right slider */
.master-right { flex:1 1 480px; min-width:300px; }

.slider-viewport {
  position:relative;
  width:100%;
  aspect-ratio:16/10.5;
  border-radius:14px;
  overflow:hidden;
  background:#000;
}

.slider-track {
  display:flex;
  height:100%;
  transition:transform .5s ease;
}

.slide-panel {
  position:relative;
  flex:0 0 100%;
  height:100%;
}
.slide-panel img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.slide-overlay-text {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:20px 24px 22px;
  background:linear-gradient(to top, rgba(0,0,0,0.85), transparent);
}
.slide-overlay-text h3 {
  color:#fff;
  font-size:20px;
  font-weight:700;
  line-height:1.3;
  margin-bottom:10px;
}
.slide-overlay-text h3 span { color:#e0392b; }
.explore-link {
  color:#fff;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.5);
  padding-bottom:2px;
}

.slider-arrow {
  position:absolute;
  top:45%;
  transform:translateY(-50%);
  background:rgba(0,0,0,0.45);
  color:#fff;
  border:none;
  width:32px;
  height:32px;
  border-radius:50%;
  font-size:18px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
}
.slider-arrow:hover { background:rgba(0,0,0,0.7); }
.arrow-left { left:12px; }
.arrow-right { right:12px; }

.slider-dots {
  display:flex;
  justify-content:center;
  gap:6px;
  margin-top:12px;
}
.dot {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ccc;
  border:none;
  cursor:pointer;
  padding:0;
}
.dot.active { width:20px; border-radius:4px; background:#555; }

/* Mobile */
@media (max-width: 768px) {
  .master-hero { padding:24px 16px; gap:20px; }
  .master-title { font-size:22px; }
  .master-subtitle { font-size:16px; margin-bottom:14px; }
  .search-bar-lg input { font-size:13px; padding:8px 10px; }
  .search-btn-lg { width:34px; height:34px; }
  .chip { font-size:11.5px; padding:6px 12px; }
  .goal-label, .learners-line { font-size:12px; }
  .slide-overlay-text { padding:14px 16px 16px; }
  .slide-overlay-text h3 { font-size:15px; margin-bottom:6px; }
  .explore-link { font-size:12.5px; }
  .slider-arrow { width:26px; height:26px; font-size:15px; }
}


.testimonial-section {
  background:#fff;
  padding:36px 20px;
}

.testimonial-header {
  text-align:center;
  max-width:820px;
  margin:0 auto 28px;
}
.testimonial-heading {
  font-size:26px;
  font-weight:800;
  color:#111;
  line-height:1.25;
  margin-bottom:10px;
}
.testimonial-sub {
  font-size:13.5px;
  color:#555;
  line-height:1.5;
}

.testi-wrapper {
  position:relative;
  max-width:1300px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:8px;
}

.testi-viewport {
  overflow:hidden;
  flex:1;
}

.testi-track {
  display:flex;
  gap:14px;
  transition:transform .4s ease;
}

.testi-card {
  flex:0 0 calc(25% - 11px);
  background:#fff;
  border:1px solid #eee;
  border-radius:12px;
  box-shadow:0 3px 12px rgba(0,0,0,0.06);
  padding:16px;
  display:flex;
  flex-direction:column;
}

.testi-top {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}
.testi-avatar {
  width:38px;
  height:38px;
  border-radius:50%;
  object-fit:cover;
  flex-shrink:0;
}
.testi-name {
  font-size:13.5px;
  font-weight:700;
  color:#111;
  flex:1;
}
.linkedin-icon { width:20px; height:20px; flex-shrink:0; }

.testi-quote {
  font-size:12.5px;
  color:#444;
  line-height:1.5;
  flex:1;
  margin-bottom:14px;
  display:-webkit-box;
  -webkit-line-clamp:5;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.testi-readmore {
  align-self:flex-end;
  font-size:12.5px;
  font-weight:600;
  color:#2f5be0;
  text-decoration:none;
}
.testi-readmore:hover { text-decoration:underline; }

.testi-arrow {
  background:#f1f1f1;
  border:none;
  width:36px;
  height:36px;
  border-radius:50%;
  font-size:18px;
  color:#333;
  cursor:pointer;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
.testi-arrow:hover { background:#e2e2e2; }

/* Tablet */
@media (max-width: 1024px) {
  .testi-card { flex:0 0 calc(33.333% - 10px); }
}

/* Mobile */
@media (max-width: 700px) {
  .testimonial-section { padding:24px 14px; }
  .testimonial-heading { font-size:19px; }
  .testimonial-sub { font-size:12px; }
  .testi-card { flex:0 0 82%; padding:14px; }
  .testi-avatar { width:32px; height:32px; }
  .testi-name { font-size:12.5px; }
  .testi-quote { font-size:11.5px; -webkit-line-clamp:4; }
  .testi-arrow { width:30px; height:30px; font-size:15px; }
}
.cta-section {
  background:#0a0a0a;
  padding:24px 20px 28px;
}

.cta-heading {
  text-align:center;
  color:#fff;
  font-size:22px;
  font-weight:800;
  margin-bottom:16px;
}

.cta-wrapper {
  max-width:1100px;
  margin:0 auto;
  display:flex;
  gap:12px;
  border-radius:12px;
  overflow:hidden;
  background:#111;
  flex-wrap:wrap;
}

.cta-form-box {
  flex:1 1 380px;
  padding:20px 22px;
}

.quick-apply-badge {
  display:inline-flex;
  align-items:center;
  gap:5px;
  background:rgba(224,57,43,0.12);
  color:#e84c3d;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.4px;
  padding:5px 12px;
  border-radius:16px;
  margin-bottom:10px;
}
.quick-apply-badge .dot { width:5px; height:5px; border-radius:50%; background:#e84c3d; }

.cta-subheading {
  color:#fff;
  font-size:16px;
  font-weight:800;
  text-align:center;
  margin-bottom:4px;
}
.cta-note {
  color:#999;
  font-size:11px;
  text-align:center;
  margin-bottom:14px;
}

.form-group { margin-bottom:10px; }
.form-group label {
  display:block;
  color:#ddd;
  font-size:11px;
  margin-bottom:4px;
}

.form-group input,
.form-group select {
  width:100%;
  background:#1c1c1c;
  border:1px solid #333;
  border-radius:6px;
  padding:8px 12px;
  color:#eee;
  font-size:12px;
  outline:none;
}
.form-group input::placeholder { color:#777; }
.form-group input:focus,
.form-group select:focus { border-color:#e84c3d; }

.phone-row { display:flex; gap:6px; }
.code-select { width:68px; flex-shrink:0; }
.phone-row input { flex:1; }

.form-group select {
  appearance:none;
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  padding-right:30px;
}

.checkbox-row {
  display:flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  color:#ccc;
  margin-bottom:12px;
  cursor:pointer;
}
.checkbox-row input { width:13px; height:13px; accent-color:#e84c3d; }
.terms-link { color:#e84c3d; text-decoration:underline; }

.btn-register {
  width:100%;
  background:linear-gradient(90deg, #ef6b4f, #e84c3d);
  color:#fff;
  border:none;
  border-radius:6px;
  padding:10px;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.btn-register:hover { opacity:0.92; }
.btn-register:disabled { opacity:0.6; cursor:not-allowed; }

.form-status {
  text-align:center;
  font-size:11px;
  margin-top:8px;
  min-height:14px;
}
.form-status.success { color:#4ade80; }
.form-status.error { color:#f87171; }

/* Right image side */
.cta-image-box {
  flex:1 1 320px;
  position:relative;
  min-height:280px;
  overflow:hidden;
  background:#000;
}

.blob {
  position:absolute;
  right:-10%;
  top:8%;
  width:70%;
  height:75%;
  background:radial-gradient(circle, #ff7a45, #e84c3d 70%);
  border-radius:50%;
  filter:blur(2px);
}

.cta-person {
  position:absolute;
  right:0;
  bottom:0;
  height:100%;
  width:auto;
  max-width:100%;
  object-fit:cover;
  object-position:top;
}

.float-icon {
  position:absolute;
  width:26px;
  height:26px;
  background:#1a1a1a;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
}
.icon-money { top:10%; left:52%; }
.icon-chat { top:30%; left:6%; }

.sparkle { position:absolute; color:#fff; font-size:12px; }
.s1 { top:6%; right:12%; color:#e84c3d; }
.s2 { top:36%; left:24%; opacity:0.8; }
.s3 { top:56%; left:8%; opacity:0.8; }
.s4 { top:58%; right:6%; opacity:0.8; }

/* Mobile */
@media (max-width: 900px) {
  .cta-wrapper { flex-direction:column-reverse; }
  .cta-image-box { min-height:200px; }
}

@media (max-width: 480px) {
  .cta-section { padding:18px 14px 20px; }
  .cta-heading { font-size:17px; margin-bottom:12px; }
  .cta-form-box { padding:16px 14px; }
  .cta-subheading { font-size:14px; }
  .cta-note { font-size:10px; }
  .form-group input, .form-group select { font-size:11.5px; padding:7px 10px; }
  .btn-register { font-size:12px; padding:10px; }
  .cta-image-box { min-height:160px; }
}
.site-footer {
  background:#000;
  color:#ccc;
  padding:24px 20px 0;
  font-size:12px;
}

.footer-main {
  max-width:1400px;
  margin:0 auto;
  display:grid;
  grid-template-columns:0.65fr 0.65fr 1.1fr 0.6fr;
  gap:16px;
}

.footer-col h4 {
  color:#fff;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:0.5px;
  text-transform:uppercase;
  padding-bottom:6px;
  border-bottom:1px solid #2a2a2a;
  margin-bottom:8px;
}
.footer-col h4.mt { margin-top:14px; }

.footer-col ul { list-style:none; }
.footer-col li { margin-bottom:6px; }
.footer-col a { color:#bbb; text-decoration:none; font-size:12px; }
.footer-col a:hover { color:#fff; text-decoration:underline; }

.ai-masters-row {
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:12px;
}
.ai-card {
  display:flex;
  align-items:center;
  gap:6px;
  background:#151515;
  border:1px solid #2a2a2a;
  border-radius:6px;
  padding:8px 10px;
  color:#eee;
  text-decoration:none;
  font-size:11.5px;
}
.ai-card:hover { background:#1d1d1d; }
.ai-icon { color:#2f5be0; font-weight:700; flex-shrink:0; }

.newsletter-label { font-size:11px; color:#eee; font-weight:600; margin-bottom:8px; display:flex; align-items:center; gap:5px; }
.info-icon { color:#888; font-size:11px; }

.newsletter-form { display:flex; gap:8px; flex-wrap:wrap; }
.newsletter-form input {
  flex:1 1 140px;
  background:#151515;
  border:1px solid #333;
  border-radius:5px;
  padding:7px 10px;
  color:#eee;
  font-size:11.5px;
  outline:none;
  min-width:0;
}
.newsletter-form input:focus { border-color:#2f5be0; }
.newsletter-form button {
  background:#2f5be0;
  color:#fff;
  border:none;
  border-radius:5px;
  padding:7px 12px;
  font-size:11.5px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
  flex-shrink:0;
}
.newsletter-form button:hover { background:#2a4fc7; }

/* Social column */
.social-col .social-note {
  font-size:11.5px;
  color:#999;
  line-height:1.5;
  margin-bottom:12px;
}
.social-icons {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.social-icon {
  width:32px;
  height:32px;
  background:#151515;
  border:1px solid #2a2a2a;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s;
}
.social-icon:hover { background:#2f5be0; border-color:#2f5be0; }

.footer-bottom {
  max-width:1400px;
  margin:20px auto 0;
  border-top:1px solid #222;
  padding:14px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.footer-logo { display:flex; align-items:center; gap:5px; }
.fl-main { color:#fff; font-size:12px; font-weight:700; letter-spacing:0.5px; }

.copyright { color:#777; font-size:10px; line-height:1.4; flex:1 1 280px; }

.footer-links { display:flex; align-items:center; gap:6px; font-size:11px; color:#777; white-space:nowrap; }
.footer-links a { color:#bbb; text-decoration:none; }
.footer-links a:hover { color:#fff; }

/* Tablet: keep 4 in a row a bit longer, then 2x2 */
@media (max-width: 900px) {
  .footer-main { grid-template-columns:1fr 1fr; }
}

@media (max-width: 560px) {
  .site-footer { padding:15px 14px 0; font-size:11px; }
  .footer-main { grid-template-columns:1fr; gap:16px; }
  .newsletter-form { flex-direction:row; }
  .newsletter-form button { width:50%; }
  .footer-bottom { flex-direction:row; align-items:flex-start; text-align:left; padding:0 14px; }
  .social-icons { gap:10px; }
}
.graduates-section {
  background:#fff;
  padding:28px 24px 32px;
}

.grad-heading {
  font-size:24px;
  font-weight:800;
  color:#111;
  margin-bottom:18px;
  max-width:1300px;
  margin-left:auto;
  margin-right:auto;
}
.highlight-red { color:#e0392b; }

.grad-grid {
  max-width:1300px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px;
}

.grad-card {
  background:#fff;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 3px 10px rgba(0,0,0,0.08);
}

.grad-video {
  position:relative;
  height:190px;
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:flex-end;
  padding:12px;
}

.watch-btn {
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:rgba(160,20,20,0.85);
  color:#fff;
  border:none;
  border-radius:20px;
  padding:7px 14px;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
}
.watch-btn:hover { background:rgba(160,20,20,1); }
.play-icon { font-size:9px; }

.grad-body {
  background:#f3f4f6;
  padding:14px;
}
.grad-quote {
  font-size:13px;
  font-weight:700;
  color:#111;
  line-height:1.4;
  margin-bottom:10px;
}
.grad-name { font-size:13px; font-weight:700; color:#111; margin-bottom:2px; }
.grad-role { font-size:11.5px; color:#555; }

/* Tablet */
@media (max-width: 1000px) {
  .grad-grid { grid-template-columns:repeat(2, 1fr); gap:12px; }
  .grad-video { height:170px; }
}

/* Mobile */
@media (max-width: 560px) {
  .graduates-section { padding:20px 14px 24px; }
  .grad-heading { font-size:18px; margin-bottom:14px; }
  .grad-grid { grid-template-columns:1fr; gap:12px; }
  .grad-video { height:220px; }
  .grad-quote { font-size:12.5px; }
  .grad-name { font-size:12.5px; }
  .grad-role { font-size:11px; }
  .watch-btn { font-size:11px; padding:6px 12px; }
}

.trending-section {
  background:#fff;
  padding:36px 12%;
  overflow-x:hidden;
}

.trending-header {
  text-align:center;
  margin-bottom:24px;
}
.trending-heading {
  font-size:28px;
  font-weight:800;
  color:#111;
  margin-bottom:8px;
}
.trending-sub {
  font-size:13px;
  color:#555;
  max-width:700px;
  margin:0 auto;
  line-height:1.5;
}

.trending-grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px;
}

.tcourse-card {
  background:#fff;
  border-radius:10px;
  box-shadow:0 4px 14px rgba(0,0,0,0.1);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding-bottom:12px;
}

.tcourse-img {
  height:150px;
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:flex-start;
  padding:12px;
}
.tcourse-img h3 {
  color:#fff;
  font-size:15px;
  font-weight:800;
  line-height:1.25;
  text-shadow:0 1px 4px rgba(0,0,0,.5);
}

.tcourse-desc {
  color:#444;
  font-size:12px;
  line-height:1.45;
  padding:10px 12px 12px;
  flex:1;
}

.btn-readmore {
  display:block;
  margin:0 12px;
  background:#e9e9e9;
  color:#111;
  text-align:center;
  font-size:12.5px;
  font-weight:700;
  padding:8px 12px;
  border-radius:20px;
  text-decoration:none;
}
.btn-readmore:hover { background:#dcdcdc; }

/* Tablet — still 4 in a row, just tighter */
@media (max-width: 1024px) {
  .trending-section { padding:28px 6%; }
  .trending-grid { gap:10px; }
  .tcourse-img { height:130px; }
  .tcourse-img h3 { font-size:13.5px; }
  .tcourse-desc { font-size:11.5px; }
}

/* Mobile — 4 cards stay in a row, becomes horizontal scroll */
@media (max-width: 700px) {
  .trending-section { padding:22px 5%; }
  .trending-heading { font-size:20px; }
  .trending-sub { font-size:11.5px; }

  .trending-grid {
    display:flex;
    overflow-x:auto;
    gap:10px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding-bottom:4px;
  }
  .trending-grid::-webkit-scrollbar { display:none; }

  .tcourse-card {
    flex:0 0 78%;
    scroll-snap-align:start;
  }
  .tcourse-img { height:130px; padding:10px; }
  .tcourse-img h3 { font-size:14px; }
  .tcourse-desc { font-size:11.5px; padding:9px 10px 10px; }
  .btn-readmore { margin:0 10px; font-size:12px; padding:7px 10px; }
}
/* Floating Contact Buttons */
.floating-contact-container {
  position: fixed;
  bottom: 24px;
  right: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 9999;
  animation: floatIn 0.4s ease-out forwards;
  opacity: 0;
  transform: translateY(8px);
}

@keyframes floatIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.floating-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  position: relative;
  /* Glass/enterprise feel */
  border: 1px solid rgba(0,0,0,0.05);
}

.floating-btn svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

/* Specific colors */
.floating-btn.btn-call {
  background: #3b6fe0;
  color: #fff;
}

.floating-btn.btn-wa {
  background: #25D366;
  color: #fff;
}

.floating-btn:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.floating-btn:active {
  transform: scale(0.95);
}

.floating-btn:focus-visible {
  outline: 3px solid #f4a340;
  outline-offset: 2px;
}

@media (max-width: 1024px) {
  .floating-contact-container {
    bottom: 20px;
    right: 20px;
  }
}

@media (max-width: 768px) {
  .floating-contact-container {
    bottom: 16px;
    right: 16px;
    /* Safe area for iPhones */
    bottom: max(16px, env(safe-area-inset-bottom));
  }
  .floating-btn {
    width: 40px;
    height: 40px;
  }
  .floating-btn svg {
    width: 18px;
    height: 18px;
  }
}
