html {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 16px;
  line-height: 1.65;
  font-weight: 400;
  color: var(--near-black, #0d1b2a);
}

h1,
h2,
h3,
h4,
h5,
h6,
.logo,
.brand-logo,
.footer-logo {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  letter-spacing: 0;
}

h1,
.hero h1,
.ph-left h1,
.ch-left h1 {
  font-size: clamp(34px, 5vw, 52px);
  line-height: 1.12;
  font-weight: 800;
}

h2,
.section h2,
.why-section h2,
.mission-left h2,
.story-right h2,
.iit-header h2,
.values-header h2,
.team-header h2,
.impact-left h2 {
  font-size: clamp(27px, 3vw, 36px);
  line-height: 1.22;
  font-weight: 800;
}

h3,
.course-card h3,
.jg-text h3,
.why-card h4 {
  line-height: 1.32;
  font-weight: 700;
}

p,
li,
.hero p,
.ph-left p,
.ch-left p,
.section p.sub,
.why-section p.sub,
.iit-left p,
.story-right p,
.course-card p,
.why-card p,
.form-top p,
.disclaimer {
  font-size: 15.5px;
  line-height: 1.75;
  font-weight: 500;
  color: #475569;
}

.hero p,
.ph-left p,
.ch-left p,
.section p.sub,
.why-section p.sub {
  font-size: 16.5px;
  line-height: 1.72;
  font-weight: 500;
  color: #334155;
}

.section-tag,
.section-sublabel,
.form-top-tag,
.hero-badge,
.cred-badge,
.badge,
.job-tag,
.guarantee-pill,
.success-tag {
  letter-spacing: 0;
  font-weight: 700;
}

.nav-links > a,
.dropdown-toggle,
.courses-mobile-link,
.nav-cta,
.btn-primary,
.btn-ghost,
.btn-white,
.btn-outline-white,
.submit-btn,
.jg-tag,
.course-link {
  font-weight: 700;
  letter-spacing: 0;
}

.nav-links > a,
.dropdown-toggle,
.courses-mobile-link,
.dropdown-menu a {
  color: #1f2937;
}

.nav-links > a:hover,
.dropdown-toggle:hover,
.courses-mobile-link:hover,
.nav-item:hover > .dropdown-toggle {
  color: var(--blue, #185fa5);
}

.nav-cta {
  color: #fff;
}

.nav-links > a,
.dropdown-toggle,
.dropdown-menu a,
.courses-mobile-link {
  font-size: 14.5px;
}

.logo,
.brand-logo {
  font-size: 23px;
  font-weight: 800;
}

.footer-logo {
  font-weight: 800;
}

.stat-num,
.inst-badge,
.hero-card-meta .weeks {
  font-weight: 800;
  letter-spacing: 0;
}

.stat-label,
.hero-card-text span,
.cm-text span,
.co-dur,
.footer-tagline,
.footer-bottom p {
  line-height: 1.55;
}

.desc,
.sub,
.cm-bio,
.trainer-bio,
.tc-quote,
.hq-quote,
.quote-text,
.role-desc,
.video-section-header p,
.cm-section-header p,
.section-header p,
.values-header p,
.iit-header p,
.page-hero p,
.footer-cta p,
.popup-box p,
.success-card p,
.guarantee-row p {
  font-size: 16px;
  line-height: 1.7;
  font-weight: 500;
  color: #475569;
}

.hero-card-text span,
.co-dur,
.cm-text span,
.mgr-text span,
.tc-role,
.tc-company,
.footer-tagline {
  color: #526173;
}

.page-hero p,
.ph-left p,
.ch-left p,
.ps-left p {
  color: rgba(255, 255, 255, 0.82);
}

.course-card h3,
.why-card h4,
.iit-card h4,
.co-name,
.field label {
  color: var(--near-black, #0d1b2a);
}

.field input,
.field select,
.popup-box p,
.success-detail {
  font-size: 15px;
  line-height: 1.6;
  color: #334155;
}

footer {
  padding: 28px 40px 18px;
  gap: 16px;
}

.footer-top {
  gap: 24px;
  margin-bottom: 0;
}

.footer-logo {
  font-size: 19px;
}

.footer-tagline {
  font-size: 11.5px;
  margin-top: 2px;
}

.footer-links {
  gap: 34px;
}

.footer-col h5 {
  font-size: 10px;
  margin-bottom: 7px;
}

.footer-col a {
  font-size: 12.5px;
  margin-bottom: 5px;
}

.footer-bottom {
  padding-top: 12px;
}

.footer-bottom p {
  font-size: 11.5px;
}

@media (max-width: 768px) {
  body {
    font-size: 15.5px;
  }

  h1,
  .hero h1,
  .ph-left h1,
  .ch-left h1 {
    font-size: clamp(30px, 9vw, 38px);
    line-height: 1.18;
  }

  h2,
  .section h2,
  .why-section h2,
  .mission-left h2,
  .story-right h2,
  .iit-header h2,
  .values-header h2,
  .team-header h2,
  .impact-left h2 {
    font-size: clamp(24px, 7vw, 30px);
    line-height: 1.25;
  }

  .cta-strip h2 {
    font-size: clamp(19px, 5.5vw, 22px);
    line-height: 1.3;
  }

  .hero p,
  .ph-left p,
  .ch-left p,
  .section p.sub,
  .why-section p.sub {
    font-size: 16px;
    line-height: 1.72;
  }

  p,
  li,
  .desc,
  .sub,
  .cm-bio,
  .trainer-bio,
  .tc-quote,
  .hq-quote,
  .quote-text,
  .role-desc,
  .video-section-header p,
  .cm-section-header p,
  .section-header p,
  .values-header p,
  .iit-header p,
  .page-hero p,
  .footer-cta p,
  .popup-box p,
  .success-card p,
  .guarantee-row p {
    font-size: 15.5px;
    line-height: 1.68;
  }

  footer {
    padding: 26px 18px 16px;
    gap: 16px;
  }

  .footer-top > div:first-child,
  .footer-brand {
    text-align: left;
    margin-bottom: 0;
  }

  .footer-social {
    justify-content: flex-start !important;
  }

  .footer-links {
    flex-wrap: wrap;
    gap: 18px 28px;
    justify-content: flex-start;
  }

  .footer-col {
    text-align: left;
    min-width: 0;
    padding-bottom: 0;
    border-bottom: none;
  }

  .footer-col h5 {
    font-size: 10px;
    margin-bottom: 7px;
  }

  .footer-col a {
    font-size: 12.5px;
    margin-bottom: 5px;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .logo,
  .brand-logo {
    font-size: 21px;
  }

  .nav-links > a,
  .dropdown-toggle,
  .dropdown-menu a,
  .courses-mobile-link {
    font-size: 14px;
  }

  footer {
    padding: 24px 16px 16px;
  }

  .footer-top > div:first-child,
  .footer-brand {
    text-align: left;
    margin-bottom: 0;
  }

  .footer-links {
    flex-direction: column;
    gap: 14px;
  }

  .footer-col {
    min-width: 0;
    text-align: left;
    padding-bottom: 0;
    border-bottom: none;
  }
}
