/* ============================================================
   SITE-WIDE STYLESHEET (style.css)
   Single CSS file for the entire RACE static site.
   Contains: Design Tokens + Global Base + Header + Footer +
   Modals + Forms + Homepage + All Page-Specific Components
   ============================================================ */
:root {
  /* brand */
  --c-navy: #061d38;
  /* theme primary (header/footer chrome) */
  --c-navy-deep: #121421;
  /* elementor kit near-black, used within builder content */
  --c-gold: #d09135;
  /* brand accent, consistent across theme + elementor kit */
  --c-blue: #3b56ff;
  /* elementor kit accent blue (links/highlights) */
  --c-bg-tint: #f5f7fb;
  /* elementor kit light section background */
  --c-white: #ffffff;
  /* text */
  --c-text: #3c3c3c;
  --c-text-soft: #6b7280;
  --c-text-invert: #ffffff;
  /* surfaces */
  --c-surface: #ffffff;
  --c-surface-alt: var(--c-bg-tint);
  --c-border: #e6e8ee;
  /* semantic */
  --c-success: #1e8e3e;
  --c-danger: #dc2626;
  /* type */
  --font-primary: "Inter", "Roboto", -apple-system, "Segoe UI", Arial, sans-serif;
  --font-accent: "Lexend Deca", "Inter", sans-serif;
  --fs-h1: clamp(2rem, 1.4rem + 2.4vw, 3.375rem);
  --fs-h2: clamp(1.5rem, 1.2rem + 1.4vw, 2.25rem);
  --fs-h3: clamp(1.15rem, 1rem + 0.6vw, 1.5rem);
  --fs-body: 1rem;
  --fs-small: 0.875rem;
  /* layout */
  --container: 1280px;
  --container-wide: 1440px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 20px;
  --shadow-card: 0 10px 30px rgba(6, 29, 56, .08);
  --shadow-pop: 0 20px 60px rgba(6, 29, 56, .25);
  --header-h: 88px;
  --header-h-scrolled: 68px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font-primary);
  font-size: var(--fs-body);
  color: var(--c-text);
  background: var(--c-white);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Core Web Vitals helpers */
img:not([width]):not([height]) {
  height: 70px;
}

img.branch-about__img {
  height: auto !important;
}

.stats,
.value-props,
.recognitions,
.testimonials,
.hiring-partners,
.news-blog,
.skills-tools {
  content-visibility: visible;
}

a {
  color: inherit;
  text-decoration: none;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 .6em;
  font-weight: 600;
  line-height: 1.25;
  color: var(--c-navy-deep);
  text-wrap: balance;
}

h1 {
  font-size: var(--fs-h1);
}

h2 {
  font-size: var(--fs-h2);
}

h3 {
  font-size: var(--fs-h3);
}

p {
  margin: 0 0 1em;
}

button {
  font-family: inherit;
  cursor: pointer;
}

.container {
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: 20px;
}

.container-wide {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
}

section {
  padding-block: 64px;
}

@media (max-width:767px) {
  section {
    padding-block: 40px;
  }
}

.overflow-fix {
  overflow-x: hidden;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 32px;
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: 15px;
  border: 2px solid transparent;
  transition: all .25s ease;
}

.btn-primary {
  background: var(--c-gold);
  color: var(--c-white);
}

.btn-primary:hover {
  background: #b97b22;
}

.btn-outline {
  background: transparent;
  color: var(--c-navy);
  border-color: var(--c-navy);
}

.btn-outline:hover {
  background: var(--c-navy);
  color: var(--c-white);
}

.btn-block {
  width: 100%;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--c-white);
  box-shadow: 0 1px 0 var(--c-border);
  transition: box-shadow .25s ease, padding .25s ease;
}

.site-header.is-scrolled {
  box-shadow: 0 6px 24px rgba(6, 29, 56, .12);
}

.site-header__topbar {
  background: var(--c-navy);
  color: #fff;
}

.site-header__topbar-inner {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding: 8px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  font-size: 13px;
  flex-wrap: wrap;
}

.site-header__topbar-inner i {
  color: var(--c-gold);
  margin-right: 6px;
}

.site-header__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: var(--container-wide);
  margin-inline: auto;
  padding: 5px 15px;
}

.site-header__brand {
  display: flex;
  align-items: center;
  gap: 16px;
}

.site-header__logo img {
  height: 44px;
  width: auto;
}

.city-select {
  position: relative;
}

.city-select__btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid var(--c-border);
  border-radius: 20px;
  background: var(--c-white);
  font-size: 13px;
  font-weight: 600;
  color: var(--c-navy-deep);
}

.city-select__btn i {
  color: var(--c-gold);
}

.city-select__dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 160px;
  background: var(--c-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 8px;
  border: 1px solid var(--c-border);
  z-index: 10;
}

.city-select:hover .city-select__dropdown,
.city-select.is-open .city-select__dropdown {
  display: block;
}

.city-select__dropdown li a {
  display: block;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  color: var(--c-navy-deep);
}

.city-select__dropdown li a:hover {
  background: var(--c-surface-alt);
  color: var(--c-gold);
}

.header-cta__apply {
  padding: 10px 22px;
  font-size: 14px;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 2px;
}

.site-nav>ul {
  display: flex;
  align-items: center;
  gap: 6px;
}

.site-nav a {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 12px 14px;
  font-weight: 600;
  font-size: 15px;
  color: var(--c-navy-deep);
  border-radius: var(--radius-sm);
}

.site-nav>ul>li>a:hover {
  color: var(--c-gold);
}

.site-nav .has-dropdown {
  position: relative;
}

.site-nav .dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 280px;
  background: var(--c-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 10px;
  border: 1px solid var(--c-border);
}

.site-nav .has-dropdown:hover>.dropdown {
  display: block;
}

.site-nav .dropdown li a {
  padding: 10px 14px;
  font-weight: 500;
  white-space: normal;
}

.site-nav .dropdown li a:hover {
  background: var(--c-surface-alt);
  color: var(--c-gold);
}

.site-nav .dropdown .has-dropdown .dropdown {
  top: 0;
  left: 100%;
}

.header-cta {
  display: flex;
  align-items: center;
  gap: 14px;
}

.header-cta__phone {
  display: flex;
  flex-direction: column;
  font-size: 13px;
  color: var(--c-text-soft);
}

.header-cta__phone a {
  font-weight: 700;
  color: var(--c-navy-deep);
  font-size: 15px;
}

.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  width: 32px;
  background: none;
  border: none;
  padding: 6px;
}

.nav-toggle span {
  display: block;
  height: 2px;
  background: var(--c-navy-deep);
  border-radius: 2px;
}

@media (max-width:1024px) {
  .site-nav {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background: var(--c-white);
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    box-shadow: none;
    transform: translateX(100%);
    transition: transform .3s ease;
    overflow: hidden;
    z-index: 1000;
  }

  .site-nav.is-open {
    transform: translateX(0);
  }

  .site-nav>ul {
    flex: 1 1 auto;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    overflow-y: auto;
    padding: 6px 24px;
  }

  .site-nav .dropdown {
    display: none;
    position: static;
    box-shadow: none;
    border: none;
    padding-left: 14px;
  }

  .site-nav .has-dropdown:hover>.dropdown {
    display: none;
  }

  .site-nav .has-dropdown.is-open>.dropdown {
    display: block;
  }

  .nav-toggle {
    display: flex;
  }

  .header-cta__phone {
    display: none;
  }

  .header-cta__apply {
    padding: 8px 16px;
    font-size: 13px;
  }
}

@media (max-width:640px) {
  .site-header__topbar-inner {
    justify-content: flex-start;
    gap: 12px;
    font-size: 11px;
    padding: 6px 14px;
    overflow-x: auto;
    white-space: nowrap;
  }

  .site-header__bar {
    padding: 10px 14px;
    gap: 10px;
  }

  .site-header__brand {
    gap: 8px;
    min-width: 0;
    flex: 1 1 auto;
  }

  .site-header__logo img {
    height: 36px;
  }

  .city-select__btn {
    font-size: 11px;
    padding: 6px 10px;
    white-space: nowrap;
  }

  .city-select__btn i {
    font-size: 12px;
  }

  .header-cta {
    gap: 8px;
    flex-shrink: 0;
  }

  .header-cta__apply {
    padding: 7px 12px;
    font-size: 12px;
    white-space: nowrap;
  }

  .nav-toggle {
    width: 28px;
    padding: 4px;
  }
}

@media (max-width:480px) {
  .site-header__topbar-inner span:last-child {
    display: none;
  }

  /* Hide city selector text label on very small screens to free space */
  .city-select__btn {
    padding: 6px 8px;
  }
}

.nav-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(6, 29, 56, .45);
  z-index: 999;
}

.nav-backdrop.is-open {
  display: block;
}

.site-footer {
  background: var(--c-navy);
  color: #c9d3e0;
  padding-block: 64px 0;
}

.footer__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: 32px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

@media (max-width:1024px) {
  .footer__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:600px) {
  .footer__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

.footer__logo img {
  display: block;
  width: 120px;
  height: auto;
  filter: none;
  margin-bottom: 16px;
}

.footer__about p {
  color: #a9b6c9;
  max-width: 34ch;
}

.footer__socials {
  display: flex;
  gap: 10px;
  margin-top: 16px;
}

.footer__socials a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}

.footer__socials a:hover {
  background: var(--c-gold);
}

.footer__phones {
  display: flex;
  gap: 18px;
  margin-top: 14px;
  flex-wrap: wrap;
}

.footer__phones a {
  color: #fff;
  font-weight: 600;
}

.footer h4 {
  color: #fff;
  font-size: 16px;
  margin-bottom: 18px;
}

.site-footer .footer__col h4 {
  color: #ffffff;
}

.footer__branches {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer__branch b {
  display: block;
  color: #fff;
  font-size: 14px;
  margin-bottom: 2px;
}

.footer__branch a {
  color: #a9b6c9;
  font-size: 14px;
  line-height: 1.5;
}

.footer__branch .phone {
  display: inline-block;
  margin-top: 4px;
  color: #fff;
}

.footer__links li {
  margin-bottom: 10px;
}

.footer__links a {
  color: #a9b6c9;
}

.footer__links a:hover {
  color: var(--c-gold);
}

.footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 22px 0;
  font-size: 13.5px;
  color: #8b98ab;
}

.footer__bottom a {
  color: #a9b6c9;
}

.footer__bottom a:hover {
  color: var(--c-gold);
}

.footer__bottom .disabled-link {
  color: #657289;
  cursor: default;
  pointer-events: none;
}

.wa-float {
  position: fixed;
  right: 22px;
  bottom: 22px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
  z-index: 900;
  transition: transform .2s ease;
}

.wa-float:hover {
  transform: scale(1.08);
}

.wa-float svg {
  width: 30px;
  height: 30px;
  fill: #fff;
}

.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(6, 10, 20, .6);
  /* CLS-friendly: keep in layer, toggle visibility instead of display where possible */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1200;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
}

.modal-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.modal {
  position: relative;
  background: #fff;
  border-radius: var(--radius-lg);
  max-width: 460px;
  width: 100%;
  padding: 32px;
  box-shadow: var(--shadow-pop);
  max-height: 90vh;
  overflow-y: auto;
}

.modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--c-surface-alt);
  border: none;
  font-size: 18px;
  line-height: 1;
  color: var(--c-navy-deep);
}

.modal h3 {
  margin-bottom: 6px;
}

.cta-form input:not([type=submit]),
.cta-form select,
.cta-form textarea {
  width: 100%;
  height: 48px;
  padding: 12px 14px;
  margin-bottom: 15px;
  border: 1px solid #dcdcdc;
  border-radius: 6px;
  font-size: 14px;
  background: #f3f4f6;
  outline: none;
  transition: .3s ease;
  font-family: inherit;
}

.cta-form textarea {
  height: auto;
  min-height: 100px;
}

.cta-form input:focus,
.cta-form select:focus,
.cta-form textarea:focus {
  border-color: var(--c-blue);
  background: #fff;
}

.cta-form input[type=submit],
.cta-form button[type=submit] {
  width: 100%;
  height: 50px;
  background: var(--c-blue);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 500;
}

.cta-form input[type=submit]:hover,
.cta-form button[type=submit]:hover {
  background: #243fce;
}

.form-row {
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
}

@media (max-width:600px) {
  .form-row {
    grid-template-columns: 1fr;
  }
}

.eyebrow {
  display: inline-block;
  color: var(--c-gold);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .02em;
  margin-bottom: 10px;
}

.section-title .sub-title {
  color: var(--c-blue);
  font-weight: 600;
  display: block;
  margin-bottom: 10px;
}

.section-title .title {
  color: var(--c-navy-deep);
}

.section-title .desc {
  color: var(--c-text-soft);
}

.section-title.text-center {
  text-align: center;
  margin-inline: auto;
  max-width: 720px;
}

.breadcrumb-hero {
  position: relative;
  padding-block: clamp(48px, 6vw, 72px);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  text-align: center;
}

.breadcrumb-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6, 29, 56, .82), rgba(6, 29, 56, .68));
}

.breadcrumb-hero * {
  position: relative;
  z-index: 1;
}

.breadcrumb-hero h1 {
  color: #fff;
  margin: 0;
  /* Balanced page title: ~24px mobile → ~32px desktop */
  font-size: clamp(1.5rem, 1.35rem + 0.9vw, 2rem);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.01em;
}

.crumbs {
  display: flex;
  align-items: center;
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 16px 0 0;
  font-size: 0.95rem;
  flex-wrap: wrap;
}

.breadcrumb-hero .crumbs {
  justify-content: center;
}

.breadcrumb-hero .crumbs a,
.cpc-top-hero__content .crumbs a {
  color: #cfd8e6;
  text-decoration: none;
  transition: color 0.2s;
}

.breadcrumb-hero .crumbs a:hover,
.cpc-top-hero__content .crumbs a:hover {
  color: var(--c-gold);
}

.breadcrumb-hero .crumbs span,
.cpc-top-hero__content .crumbs span {
  color: var(--c-gold);
}

.hero {
  position: relative;
  background: url('assets/race-hero-banner.webp') center center / cover no-repeat;
  overflow: hidden;
  padding-block: 56px 40px;
}

.hero__inner {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 32px;
  align-items: center;
}

.hero__content {
  position: relative;
  z-index: 2;
}

.hero__content .sub-title {
  display: block;
  color: var(--c-gold);
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 14px;
}

.hero__content h1.title {
  font-size: clamp(1.6rem, 1.2rem + 1.8vw, 2.1rem);
  font-weight: 700;
  color: #121421;
  line-height: 1.28;
  margin-bottom: 16px;
}

.hero__content h1.title .accent {
  color: var(--c-gold);
}

.hero__content p {
  color: #121421;
  max-width: 52ch;
  margin-bottom: 24px;
  font-size: 15px;
  line-height: 1.65;
}

.hero__btns {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
}

.hero__phone {
  display: flex;
  align-items: center;
  gap: 10px;
}

.hero__phone i {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--c-navy);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
}

.hero__phone span {
  display: block;
  font-size: 13px;
  color: #666;
}

.hero__phone a {
  display: block;
  font-weight: 700;
  color: var(--c-navy-deep);
  font-size: 15px;
}

.hero__media {
  position: relative;
  /* CLS: reserve space before LCP image loads */
  aspect-ratio: 466 / 610;
  max-width: 520px;
  width: 100%;
  margin-inline: auto;
}

.hero__media img.main-img {
  border-radius: var(--radius-lg);
  width: 100%;
  height: auto;
  max-width: 520px;
  margin-inline: auto;
  display: block;
  aspect-ratio: 466 / 610;
  object-fit: contain;
}

.hero__shape {
  position: absolute;
  pointer-events: none;
  z-index: 1;
  opacity: 0.9;
}

.hero__shape--01 {
  width: 70px;
  top: -18px;
  left: -18px;
}

.hero__shape--02 {
  width: 110px;
  bottom: -24px;
  right: -10px;
}

@media (max-width: 1024px) {
  .hero__inner {
    grid-template-columns: 1fr;
    gap: 24px;
    text-align: left;
  }

  .hero__content p {
    margin-inline: 0;
  }

  .hero__btns {
    justify-content: flex-start;
  }

  .hero__media {
    order: -1;
    max-width: 380px;
    margin-inline: auto;
  }

  .hero__shape--01,
  .hero__shape--02 {
    display: none;
  }
}

@media (max-width: 767px) {
  .hero {
    padding-block: 40px 40px;
    background: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)), url('assets/race-hero-banner.webp') center right / cover no-repeat !important;
  }

  .hero__inner {
    padding-inline: 16px;
    gap: 14px;
  }

  .hero__content h1.title {
    font-size: clamp(1.3rem, 4.2vw, 1.55rem);
    margin-bottom: 10px;
    color: #ffffff !important;
  }

  .hero__content .sub-title {
    font-size: 13px;
    margin-bottom: 8px;
    color: var(--c-gold) !important;
  }

  .hero__content p {
    font-size: 13.5px;
    color: #f8f9fa !important;
    margin-bottom: 16px;
    line-height: 1.6;
  }

  .hero__btns {
    gap: 12px;
  }

  .hero__phone i {
    width: 38px;
    height: 38px;
    font-size: 13px;
  }

  .hero__phone span {
    font-size: 12px;
    color: #f8f9fa !important;
  }

  .hero__phone a {
    font-size: 14px;
    color: #ffffff !important;
  }

  .hero__media {
    max-width: 220px;
  }

  .hero__media img.main-img {
    max-width: 220px;
  }
}

.info-bar {
  background: var(--c-navy);
  color: #fff;
}

.info-bar__row {
  max-width: 1400px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(220px, 275px) minmax(0, 1fr) minmax(200px, 280px);
  align-items: stretch;
}

.info-bar__phone {
  padding: 10px 14px;
  display: grid;
  place-items: center start;
}

.info-bar__phone .icon-box {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 16px;
  border-right: 2px solid #fff;
  padding: 10px 28px 10px 0;
}

.info-bar__phone .icon-box i {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: var(--c-gold);
  display: grid;
  place-items: center;
  font-size: 28px;
  color: var(--c-navy);
}

.info-bar__phone .icon-box b {
  display: block;
  font-weight: 400;
  font-size: clamp(1rem, 0.9rem + 0.6vw, 1.4rem);
  line-height: 1.25;
  white-space: nowrap;
}

.info-bar__phone .icon-box em {
  display: block;
  font-style: normal;
  font-weight: 600;
  font-size: clamp(1rem, 0.9rem + 0.6vw, 1.4rem);
  line-height: 1.25;
  color: var(--c-gold);
}

.info-bar__features {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
  padding: 10px 12px;
}

.info-bar__feature {
  min-width: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  place-items: center;
  gap: 12px;
  border-right: 2px solid #fff;
  padding: 10px 14px;
  min-height: 80px;
}

.info-bar__feature:last-child {
  border-right: none;
}

.info-bar__feature img {
  width: 38px;
  height: 38px;
  filter: brightness(0) saturate(100%) invert(64%) sepia(78%) saturate(597%) hue-rotate(356deg) brightness(91%) contrast(88%);
}

.info-bar__feature span {
  font-size: clamp(0.9rem, 0.8rem + 0.5vw, 1.35rem);
  line-height: 1.25;
}

.info-bar__cta {
  background: #dfa345;
  display: grid;
  place-items: center;
  padding: 18px;
  text-align: center;
  min-height: 100%;
}

.info-bar__cta p {
  margin: 0;
  font-weight: 600;
  font-size: clamp(1rem, 0.9rem + 0.5vw, 1.35rem);
  line-height: 1.3;
  color: #121421;
}

@media (max-width: 1024px) {
  .info-bar__row {
    grid-template-columns: 1fr;
  }

  .info-bar__phone {
    justify-items: center;
  }

  .info-bar__phone .icon-box {
    border-right: none;
    padding: 10px 0;
  }

  .info-bar__features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 8px 12px;
  }

  .info-bar__feature {
    min-height: 72px;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.85);
    padding: 10px 12px;
  }

  .info-bar__feature:nth-child(odd) {
    border-right: 1px solid rgba(255, 255, 255, 0.85);
  }

  .info-bar__feature:nth-child(3),
  .info-bar__feature:nth-child(4) {
    border-bottom: none;
  }

  .info-bar__cta {
    min-height: 100px;
    padding: 18px 20px;
  }
}

@media (max-width: 600px) {
  .info-bar__phone .icon-box {
    gap: 12px;
  }

  .info-bar__phone .icon-box i {
    width: 52px;
    height: 52px;
    font-size: 22px;
  }

  .info-bar__feature {
    gap: 8px;
    padding: 10px 8px;
  }

  .info-bar__feature img {
    width: 28px;
    height: 28px;
  }
}

.eyebrow-block {
  text-align: center;
  margin: 0 auto 8px;
}

.eyebrow-block .eyebrow {
  margin-bottom: 6px;
}

.about {
  padding-block: 48px;
}

.about__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 36px;
  align-items: center;
}

.about__row h2 {
  font-size: clamp(1.25rem, 1.1rem + 0.8vw, 1.5rem);
  font-weight: 600;
  margin-bottom: 14px;
  line-height: 1.3;
}

.about__row p {
  color: #000;
  line-height: 1.7;
}

.about__media {
  display: grid;
  place-items: center;
}

.about__media img {
  border-radius: var(--radius-md);
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 280px;
  max-height: 380px;
}

@media (max-width: 1024px) {
  .about__row {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .about__media img {
    min-height: 220px;
    max-height: 300px;
  }
}

.ticker-wrap {
  overflow: hidden;
}

.stats {
  background: #ffffff;
  padding-block: 16px;
}

.stats__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.stats__item {
  border: 1px solid var(--c-gold);
  border-radius: var(--radius-md);
  min-height: 110px;
  display: grid;
  place-content: center;
  gap: 6px;
  padding: 14px 12px;
  text-align: center;
}

.stats__item .num {
  font-family: "Roboto", sans-serif;
  font-size: clamp(1.35rem, 1.1rem + 1vw, 1.7rem);
  font-weight: 600;
  color: var(--c-gold);
  margin: 0;
}

.stats__item .label {
  font-size: clamp(0.85rem, 0.75rem + 0.5vw, 1.15rem);
  font-weight: 600;
  color: #fff;
  margin: 0;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  .stats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .stats__grid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .stats__item {
    min-height: 90px;
    padding: 10px 8px;
  }
}

.courses-intro {
  padding-block: 36px 48px;
}

.career-split {
  padding-block: 48px;
}

.career-split__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 36px;
  align-items: center;
}

.career-split__row h2 {
  font-size: clamp(1.25rem, 1.1rem + 0.9vw, 1.55rem);
  font-weight: 500;
  font-family: "Roboto", sans-serif;
  color: #121421;
  line-height: 1.3;
}

.career-split__row .text p {
  color: #000;
  line-height: 1.7;
}

.career-split__row img {
  border-radius: var(--radius-md);
  width: 100%;
  height: 100%;
  min-height: 320px;
  max-height: 480px;
  object-fit: cover;
}

@media (max-width: 1024px) {
  .career-split__row {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .career-split__row img {
    min-height: 240px;
    max-height: 320px;
    order: -1;
  }
}

.value-props {
  padding-block: 56px;
}

.value-props h2 {
  text-align: center;
  font-size: clamp(1.3rem, 1.15rem + 0.8vw, 1.55rem);
  font-weight: 600;
  margin-bottom: 24px;
}

.value-props__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.value-props__card {
  border: 2px solid #5a8be5;
  border-radius: 10px 10px 0 0;
  padding: 22px 16px;
  text-align: center;
  display: grid;
  grid-template-rows: auto auto 1fr;
  place-items: center;
  gap: 10px;
  min-height: 200px;
}

.value-props__card img {
  width: 48px;
  height: 48px;
}

.value-props__card h3 {
  font-size: 16px;
  margin: 0;
}

.value-props__card p {
  font-size: 14px;
  color: var(--c-text-soft);
  margin: 0;
  line-height: 1.5;
}

@media (max-width: 1024px) {
  .value-props__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .value-props__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

.why-choose {
  background: #02284d;
  color: #fff;
  padding-block: 56px;
}

.why-choose h2 {
  text-align: center;
  color: #fff;
}

.why-choose .eyebrow-block .eyebrow {
  color: var(--c-gold);
}

.why-choose__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-top: 28px;
  align-items: start;
}

.why-choose__text p {
  color: #e3e8f0;
  white-space: normal;
  line-height: 1.7;
}

.why-choose__btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 16px;
}

.why-choose__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.why-choose__card {
  border: 1px solid #fff;
  border-radius: 10px;
  padding: 18px 14px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  display: grid;
  place-content: center;
  gap: 10px;
  min-height: 180px;
  text-align: center;
}

.why-choose__card img {
  width: 40px;
  height: 40px;
  margin-inline: auto;
}

.why-choose__card h3 {
  color: #fff;
  font-size: 16px;
  margin: 0;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  .why-choose__row {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

@media (max-width: 600px) {
  .why-choose__grid {
    grid-template-columns: 1fr;
  }
}

.skills-tools {
  padding-block: 48px;
  text-align: center;
}

.skills-tools h2 {
  margin-bottom: 10px;
}

.skills-tools>p {
  max-width: 760px;
  margin: 0 auto 10px;
  color: var(--c-text-soft);
}

.recognitions {
  padding-block: 48px;
}

.recognitions h2 {
  text-align: center;
  margin-bottom: 24px;
  font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.5rem);
}

.recognitions__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.recognitions__card {
  border: 1px solid #dfe3ea;
  border-radius: 10px;
  padding: 18px 12px;
  text-align: center;
  display: grid;
  place-content: center;
  gap: 10px;
  min-height: 120px;
}

.recognitions__card img {
  width: 44px;
  height: 44px;
  margin-inline: auto;
}

.recognitions__card h3 {
  font-size: 14px;
  margin: 0;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  .recognitions__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .recognitions {
    padding-block: 24px;
  }
  .recognitions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .recognitions__card:last-child {
    grid-column: span 2;
  }
  .recognitions__card {
    padding: 12px 10px;
    min-height: auto;
  }
}

.transform-split {
  padding-block: 56px;
}

.transform-split__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: stretch;
}

.transform-split__card {
  border-radius: 10px;
  padding: 30px;
  min-height: 230px;
  display: grid;
  align-content: center;
  gap: 14px;
}

.transform-split__card--dark {
  background: #000 url('assets/img/2026/07/race11.png') center / cover no-repeat;
  position: relative;
}

.transform-split__card--dark::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  border-radius: 10px;
}

.transform-split__card--dark>* {
  position: relative;
  z-index: 1;
}

.transform-split__card--dark h2 {
  color: #fff;
  font-size: clamp(1.25rem, 1.1rem + 0.8vw, 1.55rem);
  font-weight: 500;
  margin: 0;
}

.transform-split__card--light {
  background: #deecff;
}

.transform-split__card--light h2 {
  text-align: center;
  font-size: clamp(1.25rem, 1.1rem + 0.8vw, 1.55rem);
  font-weight: 500;
  margin-bottom: 5px;
}

.icon-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}

.icon-list li {
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 2px solid #d7d7d7;
  color: #061d38;
}

.icon-list li:last-child {
  border-bottom: none;
}

.icon-list i {
  color: #061d38;
  width: 20px;
  text-align: center;
}

@media (max-width: 767px) {
  .transform-split__grid {
    grid-template-columns: 1fr;
  }
}

.testimonials {
  background: #02284d;
  padding-block: 40px;
  text-align: center;
}

.testimonials h2 {
  color: #fff;
}

.testimonials .eyebrow-block {
  margin-bottom: 14px;
}

.hiring-partners {
  padding-block: 40px;
  text-align: center;
}

.hiring-partners h2 {
  margin-bottom: 8px;
}

.hiring-partners>p {
  max-width: 760px;
  margin: 0 auto 10px;
  color: var(--c-text-soft);
}

.placed-students {
  padding-block: 40px;
}

.placed-students h2 {
  text-align: center;
  margin-bottom: 20px;
}

.carousel {
  position: relative;
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
}

.carousel__track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 6px;
}

.carousel__track::-webkit-scrollbar {
  height: 6px;
}

.carousel__item {
  flex: 0 0 calc(25% - 12px);
  scroll-snap-align: start;
  border-radius: 8px;
  overflow: hidden;
  background: #f5f7fb;
  box-shadow: var(--shadow-card);
}

.carousel__item img {
  width: 100%;
  height: auto;
  aspect-ratio: 3/4;
  object-fit: contain;
  border-radius: 8px;
  display: block;
}

.carousel__nav {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 14px;
}

.carousel__prev,
.carousel__next {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--c-border);
  background: #fff;
  cursor: pointer;
  font-size: 16px;
}

@media (max-width:1024px) {
  .carousel__item {
    flex-basis: calc(50% - 8px);
  }
}

@media (max-width:600px) {
  .carousel__item {
    flex-basis: 85%;
  }
}

.news-blog {
  padding-block: 30px 40px;
}

.news-blog .eyebrow-block {
  margin-bottom: 2px;
  text-align: center;
}

.news-blog .eyebrow {
  font-size: 25px;
}

.news-blog h2.title-main {
  text-align: center;
  font-size: 36px;
  font-weight: 600;
  margin-bottom: 28px;
}

.news-blog__grid {
  max-width: 1535px;
  margin-inline: auto;
  padding-inline: 15px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  margin-bottom: 22px;
  align-items: stretch;
}

.news-blog__card {
  background: #fff;
  border: 1px solid #cfd3d8;
  border-right: 4px solid #36557f;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(6, 29, 56, 0.16);
  padding: 18px 20px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 12px;
  min-height: 320px;
  height: 100%;
}

.news-blog__card h3 {
  text-align: left;
  font-size: 29px;
  font-weight: 600;
  line-height: 1.15;
  margin-bottom: 14px;
}

.news-blog__card p {
  text-align: center;
  color: var(--c-text-soft);
  font-size: 20px;
  line-height: 1.55;
  margin: 0 auto 20px;
  max-width: 38ch;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-blog__card .btn-outline {
  align-self: center;
  margin-top: auto;
  width: 225px;
  height: 57px;
  padding: 0;
  background: var(--c-navy-deep);
  border-color: var(--c-navy-deep);
  color: #fff;
  font-size: 20px;
  border-radius: 6px;
}

.news-blog__card .btn-outline:hover {
  background: #000;
  border-color: #000;
}

.news-blog__more {
  text-align: center;
}

.news-blog__more .btn-primary {
  width: 310px;
  height: 55px;
  padding: 0;
  background: var(--c-navy-deep);
  font-size: 20px;
  border-radius: 6px;
}

.news-blog__more .btn-primary:hover {
  background: #000;
}

@media (max-width:1024px) {
  .news-blog__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width:767px) {
  .news-blog .eyebrow {
    font-size: 18px;
  }

  .news-blog h2.title-main {
    font-size: 20px;
  }

  .news-blog__card {
    padding: 16px 18px;
    min-height: 0;
  }

  .news-blog__card h3 {
    font-size: 22px;
  }

  .news-blog__card p {
    font-size: 15px;
  }

  .news-blog__card .btn-outline {
    font-size: 16px;
  }

  .news-blog__card .btn-outline {
    width: 100%;
    max-width: 220px;
  }

  .news-blog__more .btn-primary {
    width: 100%;
    max-width: 310px;
  }
}

.cert-course {
  padding-block: 48px;
}

.cert-course h2 {
  text-align: center;
  margin-bottom: 28px;
  font-size: clamp(1.25rem, 1.1rem + 0.8vw, 1.55rem);
}

.cert-course__row {
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: center;
}

.cert-course__row img {
  border-radius: var(--radius-md);
  width: 100%;
  height: auto;
  max-height: 420px;
  object-fit: cover;
}

@media (max-width: 1024px) {
  .cert-course__row {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.brochure-cta {
  position: relative;
  background: #000 url('assets/img/2026/07/bg_overlay_3.png') center / cover no-repeat;
  padding-block: 60px;
  color: #fff;
}

.brochure-cta__row {
  position: relative;
  z-index: 1;
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1.4fr auto;
  gap: 28px;
  align-items: center;
}

.brochure-cta__text h4 {
  color: #fff;
  font-size: clamp(1.35rem, 1.15rem + 1vw, 1.85rem);
  font-weight: 600;
  margin-bottom: 8px;
}

.brochure-cta__text p {
  color: #dfe6f0;
  margin: 0;
  max-width: 52ch;
  line-height: 1.6;
}

.brochure-cta .btn {
  border: 2px solid #fff;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .brochure-cta__row {
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center;
    gap: 20px;
  }
}

.journey {
  padding-block: 56px;
}

.journey h2 {
  text-align: center;
  margin-bottom: 8px;
  font-size: clamp(1.25rem, 1.1rem + 0.8vw, 1.55rem);
}

.journey>p {
  max-width: 900px;
  margin: 0 auto 28px;
  text-align: center;
  color: var(--c-text-soft);
}

.journey__row {
  max-width: 1080px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 0.7fr 1fr;
  gap: 28px;
  align-items: start;
  padding-inline: 20px;
}

.journey__form {
  border-top: 5px solid var(--c-navy-deep);
  border-radius: 10px;
  padding: 14px;
}

.journey__faq {
  border-top: 5px solid var(--c-navy-deep);
  border-radius: 10px;
  padding: 14px;
}

@media (max-width: 900px) {
  .journey__row {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.accordion__item {
  border: 1px solid var(--c-border);
  border-radius: 6px;
  margin-bottom: 8px;
  overflow: hidden;
}

.accordion__trigger {
  width: 100%;
  text-align: left;
  background: var(--c-surface-alt);
  border: none;
  padding: 14px 16px;
  font-weight: 600;
  font-size: 15px;
  font-family: inherit;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--c-navy-deep);
}

.accordion__trigger::after {
  content: "+";
  font-size: 18px;
  font-weight: 400;
}

.accordion__item.is-open .accordion__trigger::after {
  content: "\2212";
}

.accordion__panel {
  display: none;
  padding: 14px 16px;
  font-size: 14px;
  color: var(--c-text);
}

.accordion__item.is-open .accordion__panel {
  display: block;
}

.card-container img,
.race1-partner-item img,
.partner-item img {
  max-width: 100%;
}

.about-hero {
  padding-block: clamp(40px, 6vw, 64px);
}

.about-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}

.about-hero__content .section-title {
  margin-bottom: 18px;
}

.about-hero__content .section-title .sub-title {
  display: inline-block;
  background: var(--c-bg-tint);
  color: var(--c-blue);
  font-size: .8125rem;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 6px;
  margin-bottom: 12px;
}

.about-hero__content .section-title .title {
  margin-bottom: 0;
  color: var(--c-navy);
  font-size: clamp(1.55rem, 1.25rem + 1.2vw, 2.25rem);
  line-height: 1.15;
}

.about-hero__lead {
  color: var(--c-text-soft);
  margin-bottom: 26px;
  line-height: 1.7;
  font-family: Inter, sans-serif;
}

.about-hero__images {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.about-hero__images img {
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  width: 100%;
  height: auto;
  object-fit: cover;
}

.about-hero__images img:first-child {
  grid-column: 1 / -1;
  max-height: 420px;
}

@media (max-width:1024px) {
  .about-hero__grid {
    grid-template-columns: 1fr;
  }

  .about-hero__images img:first-child {
    max-height: 360px;
  }
}

.mission {
  padding-block: 20px 40px;
}

.mission__statement {
  max-width: 820px;
  margin: 0 auto 28px;
  text-align: center;
  color: var(--c-navy-deep);
  font-size: 1.1rem;
}

.mission__statement h6 {
  margin: 0;
  font-weight: 400;
  font-size: 1.1rem;
  line-height: 1.6;
}

.divider {
  border: none;
  border-top: 1px solid var(--c-border);
  max-width: var(--container);
  margin: 0 auto;
}

.founder {
  padding: 80px 20px;
  background: #f8fafc;
}

.founder__grid {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 15px 50px rgba(7, 26, 56, 0.08);
  max-width: 1100px;
  margin: 0 auto;
  overflow: hidden;
}

.founder__portrait {
  flex: 0 0 360px;
  background: linear-gradient(135deg, #071a38 0%, #112a52 100%);
  padding: 50px 30px;
  text-align: center;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.founder__portrait img {
  width: 200px !important;
  height: 200px !important;
  max-width: 100%;
  object-fit: cover !important;
  border-radius: 50%;
  margin: 0 auto 24px;
  border: 6px solid #ffffff;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  background: #ffffff;
}

.founder__portrait img:hover {
  transform: scale(1.08) rotate(3deg);
}

.founder__portrait .founder__name {
  margin: 0 0 8px;
  font-size: 1.6rem;
  color: #ffffff;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.founder__portrait .founder__role {
  margin: 0;
  font-size: 0.9rem;
  color: #fca311;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.founder__bio {
  flex: 1;
  padding: 50px 60px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.founder__bio::before {
  content: '\201C';
  position: absolute;
  top: 20px;
  left: 30px;
  font-size: 140px;
  color: rgba(7, 26, 56, 0.04);
  font-family: Georgia, serif;
  line-height: 1;
}

.founder__bio p {
  margin: 0 0 16px;
  font-weight: 400;
  font-size: 1.15rem;
  line-height: 1.85;
  text-align: left;
  color: #334155;
  position: relative;
  z-index: 1;
}

.founder__bio p:last-child {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .founder__grid {
    flex-direction: column;
  }

  .founder__portrait {
    padding: 40px 20px;
    flex: auto;
  }

  .founder__bio {
    padding: 40px 30px;
  }

  .founder__bio p {
    font-size: 1.05rem;
  }
}

.prepare {
  padding-block: 40px 40px;
}

.prepare .section-title {
  margin-bottom: 29px;
}

.prepare__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.icon-list {
  display: flex;
  flex-direction: column;
  gap: 35px;
}

.icon-list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.icon-list i {
  color: #0260F7;
  font-size: 20px;
  line-height: 1.4;
  flex: none;
  margin-top: 2px;
}

.icon-list span {
  color: var(--c-text);
}

@media (max-width:767px) {
  .prepare__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .icon-list i {
    font-size: 17px;
  }
}

.achievements {
  position: relative;
  padding-block: 40px;
  background-image: url('assets/img/2025/04/Untitled-design-2025-04-26T122455.224.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
}

.achievements::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6, 29, 56, .82), rgba(6, 29, 56, .55));
}

.achievements .container {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.achievements__intro {
  flex: 1 1 360px;
  max-width: 520px;
}

.achievements__intro h3 {
  color: #fff;
  margin-bottom: 12px;
}

.achievements__intro p {
  color: #fff;
  margin: 0;
}

.achievements__counters {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  flex: 1 1 420px;
  justify-content: flex-end;
}

.counter-card {
  flex: 1 1 140px;
  max-width: 180px;
  text-align: center;
  border: 1px solid #fff;
  border-radius: 15px;
  padding: 30px 12px;
}

.counter-card .counter {
  display: block;
  font-family: var(--font-primary);
  font-size: 2rem;
  font-weight: 700;
  color: #DAA520;
  margin-bottom: 8px;
}

.counter-card p {
  margin: 0;
  color: #fff;
  font-size: .95rem;
}

@media (max-width:1024px) {
  .achievements__counters {
    justify-content: center;
  }
}

.journey {
  padding-block: 40px 0;
  background: #ffffff;
}

.stats {
  padding-block: 28px 64px;
  background: #ffffff;
}

.stats__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 24px;
}

.stat-card {
  background: #fff;
  border: 1px solid #e5eaf2;
  border-radius: 14px;
  padding: 15px 15px;
  text-align: center;
  box-shadow: 0 8px 24px rgba(6, 29, 56, .06);
  transition: transform .2s ease, box-shadow .2s ease;
}

.stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(6, 29, 56, .12);
}

.stat-card i {
  width: 54px;
  height: 54px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: #eef4ff;
  font-size: 25px;
  color: #1363DF;
  margin-bottom: 14px;
}

.stat-card h3 {
  color: var(--c-navy-deep);
  margin-bottom: 6px;
  font-size: 1.5rem;
}

.stat-card p {
  margin: 0;
  color: var(--c-text-soft);
  font-size: 13px;
}

@media (max-width:1024px) {
  .stats__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width:600px) {
  .stats__grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }

  .stat-card {
    padding: 22px 12px;
  }
}

.au-recruiters {
  background: #02284D;
  padding-block: 56px 48px;
  text-align: center;
  color: #fff;
  overflow: hidden;
}

.au-recruiters__header {
  max-width: 1200px;
  margin: 0 auto 36px;
  padding-inline: 20px;
}

.au-recruiters__title {
  color: #fff;
  font-size: clamp(1.6rem, 1.3rem + 1.5vw, 2.4rem);
  font-weight: 700;
  margin: 0 0 14px;
  line-height: 1.25;
}

.au-recruiters__desc {
  color: #cfd8e6;
  font-size: .97rem;
  line-height: 1.7;
  margin: 0;
}

.partner-section {
  width: 100%;
  overflow: hidden;
}

.partner-row {
  overflow: hidden;
  position: relative;
  width: 100%;
  margin: 0;
  padding: 12px 0;
}

.partner-track {
  display: flex;
  align-items: center;
  gap: 24px;
  width: max-content;
}

.partner-item {
  width: 190px;
  height: 80px;
  background: #fff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  flex-shrink: 0;
  border: 1px solid rgba(0, 0, 0, .04);
  box-shadow: 0 4px 10px rgba(0, 0, 0, .09), 0 12px 30px rgba(0, 0, 0, .04);
  transition: all .35s ease;
}

.partner-item img {
  max-width: 120px;
  max-height: 35px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.partner-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, .08), 0 20px 45px rgba(0, 0, 0, .12);
}

.scroll-left {
  animation: auScrollLeft 32s linear infinite;
}

.scroll-right {
  animation: auScrollRight 32s linear infinite;
}

.partner-row:hover .partner-track {
  animation-play-state: paused;
}

@keyframes auScrollLeft {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(calc(-50% - var(--marquee-half-gap, 12px)));
  }
}

@keyframes auScrollRight {
  0% {
    transform: translateX(calc(-50% - var(--marquee-half-gap, 12px)));
  }

  100% {
    transform: translateX(0);
  }
}

@media (max-width:767px) {
  .partner-item {
    width: 150px;
    height: 75px;
    padding: 14px;
  }

  .partner-item img {
    max-width: 90px;
    max-height: 34px;
  }

  .partner-track {
    gap: 16px;
  }
}

.branches {
  padding-block: 40px;
  background: var(--c-surface-alt);
}

.branches .section-title {
  margin-bottom: 36px;
}

.branches__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.branch-card {
  display: block;
  background: #fff;
  border: 1px solid #D7DCE3;
  border-radius: 15px;
  box-shadow: 0 0 10px rgba(118, 118, 118, .35);
  padding: 22px 16px;
  text-align: center;
  transition: box-shadow .25s ease, transform .25s ease;
}

.branch-card:hover {
  box-shadow: 0 8px 24px rgba(6, 29, 56, .18);
  transform: translateY(-3px);
}

.branch-card img {
  width: 40%;
  margin: 0 auto 12px;
  border: 1px solid #D7DCE3;
  border-radius: 15px;
}

.branch-card h4 {
  color: #082A5E;
  margin-bottom: 4px;
  font-size: 1.05rem;
}

.branch-card p {
  color: #082A5E;
  font-size: .92rem;
  margin: 0;
  line-height: 1.5;
}

@media (max-width:1024px) {
  .branches__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:600px) {
  .branches__grid {
    grid-template-columns: 1fr;
  }
}

.cta {
  background: linear-gradient(135deg, var(--c-navy) 0%, var(--c-navy-deep) 100%);
  padding-block: 56px;
}

.cta__inner {
  text-align: center;
  max-width: 640px;
}

.cta__eyebrow {
  color: var(--c-gold);
  font-weight: 700;
  letter-spacing: .04em;
  font-size: 14px;
  margin-bottom: 10px;
  display: block;
}

.cta__title {
  color: #fff;
  margin-bottom: 6px;
}

.cta__subtitle {
  color: #cfd8e6;
  font-weight: 500;
  margin-bottom: 26px;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.frequently-asked-question-section {
  padding-block: 110px;
}

@media (max-width:767px) {
  .frequently-asked-question-section {
    padding-block: 60px;
  }
}

.frequently-asked-question-row {
  display: flex;
  flex-wrap: wrap;
}

.frequently-asked-question-row__gutter {
  flex: 0 0 10%;
  max-width: 10%;
}

.frequently-asked-question-row__main {
  flex: 0 0 79.332%;
  max-width: 79.332%;
}

@media (max-width:1024px) {
  .frequently-asked-question-row__gutter {
    display: none;
  }

  .frequently-asked-question-row__main {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.accordion__item {
  background: #E6F2FF;
  border-radius: 6px;
  margin-bottom: 5px;
  overflow: hidden;
  transition: background-color .25s ease;
}

.accordion__item:last-child {
  margin-bottom: 0;
}

/* ============================================================
   Redesigned FAQ & Asked Questions Page (2-in-One-Row Grid)
   ============================================================ */
.faq-page-section {
  background: #f8fafc;
  padding-block: clamp(48px, 6vw, 84px);
}

.faq-header-block {
  text-align: center;
  max-width: 820px;
  margin: 0 auto clamp(32px, 4vw, 48px);
}

.faq-header-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 6px 18px;
  border-radius: 9999px;
  margin-bottom: 14px;
}

.faq-header-title {
  font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.4rem);
  font-weight: 700;
  color: #061d38;
  line-height: 1.25;
  margin-bottom: 14px;
}

.faq-header-desc {
  font-size: 16px;
  color: #475569;
  line-height: 1.65;
  margin: 0;
}

/* 2 in one row grid */
.faq-grid-2col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  align-items: start;
}

@media (max-width: 860px) {
  .faq-grid-2col {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* FAQ Card item */
.faq-item {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden;
  position: relative;
}

.faq-item:hover {
  border-color: #cbd5e1;
  box-shadow: 0 8px 24px rgba(6, 29, 56, 0.07);
  transform: translateY(-2px);
}

.faq-item.is-open,
.faq-item[open] {
  border-color: #3b82f6;
  box-shadow: 0 8px 26px rgba(59, 130, 246, 0.09);
}

.faq-item.is-open::before,
.faq-item[open]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: #2563eb;
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
}

/* FAQ trigger */
.faq-item__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  transition: background-color 0.25s ease;
}

.faq-item__trigger::after,
.faq-item .accordion__trigger::after,
.faq-item.accordion__item .accordion__trigger::after,
.faq-item.accordion__item.is-open .accordion__trigger::after {
  display: none !important;
  content: none !important;
}

.faq-item.is-open .faq-item__trigger,
.faq-item[open] .faq-item__trigger {
  background: #f8fafc;
  border-bottom: 1px solid #f1f5f9;
}

.faq-item__heading-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}

.faq-item__q-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  background: #f1f5f9;
  color: #0f172a;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
  transition: all 0.25s ease;
}

.faq-item.is-open .faq-item__q-badge,
.faq-item[open] .faq-item__q-badge {
  background: #2563eb;
  color: #ffffff;
}

.faq-item__question {
  font-size: 16px;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.45;
  margin: 0;
  transition: color 0.25s ease;
}

.faq-item:hover .faq-item__question {
  color: #1d4ed8;
}

.faq-item.is-open .faq-item__question,
.faq-item[open] .faq-item__question {
  color: #1e40af;
}

/* FAQ toggle button / icon */
.faq-item__icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #f1f5f9;
  color: #475569;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s ease;
  font-size: 13px;
}

.faq-item:hover .faq-item__icon {
  background: #e2e8f0;
  color: #0f172a;
}

.faq-item.is-open .faq-item__icon,
.faq-item[open] .faq-item__icon {
  background: #eff6ff;
  color: #2563eb;
  transform: rotate(180deg);
}

/* FAQ panel / content */
.faq-item__panel {
  display: none;
  padding: 18px 22px 22px 22px;
  color: #334155;
  font-size: 15px;
  line-height: 1.65;
  background: #ffffff;
}

.faq-item.is-open .faq-item__panel,
.faq-item[open] .faq-item__panel {
  display: block;
}

.faq-item__panel p {
  margin: 0 0 10px;
}

.faq-item__panel p:last-child {
  margin-bottom: 0;
}

.faq-item__panel ul {
  margin: 10px 0 0;
  padding-left: 0;
  list-style: none;
}

.faq-item__panel ul li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 8px;
  font-size: 14.5px;
  color: #334155;
}

.faq-item__panel ul li:last-child {
  margin-bottom: 0;
}

.faq-item__panel ul li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 1px;
  color: #10b981;
  font-size: 12px;
}

/* Bottom CTA Banner */
.faq-cta-card {
  margin-top: clamp(40px, 5vw, 64px);
  background: linear-gradient(135deg, #061d38 0%, #0c3866 100%);
  border-radius: 16px;
  padding: clamp(28px, 4vw, 44px);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  box-shadow: 0 12px 36px rgba(6, 29, 56, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

@media (max-width: 860px) {
  .faq-cta-card {
    flex-direction: column;
    text-align: center;
    gap: 24px;
  }
}

.faq-cta-card__content h3 {
  font-size: clamp(1.35rem, 1.2rem + 0.8vw, 1.8rem);
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 8px;
}

.faq-cta-card__content p {
  font-size: 15.5px;
  color: #cbd5e1;
  margin: 0;
  line-height: 1.6;
}

.faq-cta-card__actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

@media (max-width: 600px) {
  .faq-cta-card__actions {
    flex-direction: column;
    width: 100%;
  }

  .faq-cta-card__actions .btn {
    width: 100%;
  }
}

.faq-cta-btn-gold {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  color: #061d38 !important;
  font-weight: 700;
  border-radius: 8px;
  padding: 12px 24px;
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35);
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.faq-cta-btn-gold:hover {
  background: linear-gradient(135deg, #fbbf24 0%, #b45309 100%);
  transform: translateY(-2px);
  color: #061d38 !important;
}

.faq-cta-btn-wa {
  background: #25d366;
  color: #ffffff !important;
  font-weight: 600;
  border-radius: 8px;
  padding: 12px 22px;
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.faq-cta-btn-wa:hover {
  background: #1ebc59;
  transform: translateY(-2px);
  color: #ffffff !important;
}

.blog-listing {
  padding-block: 30px 40px;
  background: var(--c-white);
}

.blog-listing .eyebrow-block {
  text-align: center;
  margin: 0 auto 2px;
}

.blog-listing .eyebrow {
  display: inline-block;
  color: var(--c-gold);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .02em;
  margin-bottom: 6px;
}

.blog-listing .eyebrow-block {
  margin-bottom: 2px;
}

.blog-listing h2.title-main {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 18px;
}

.blog-listing__grid {
  max-width: 1535px;
  margin-inline: auto;
  padding-inline: 15px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  margin-bottom: 22px;
  align-items: stretch;
}

.blog-card {
  background: var(--c-white);
  border: 1px solid #cfd3d8;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(6, 29, 56, .06);
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  min-height: 350px;
  height: 100%;
}

.blog-card h3 {
  text-align: left;
  font-size: 29px;
  font-weight: 600;
  line-height: 1.15;
  margin-bottom: 14px;
}

.blog-card p {
  text-align: center;
  color: var(--c-text-soft);
  font-size: 14.5px;
  line-height: 1.65;
  margin: 0 auto 20px;
  max-width: 38ch;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-card .btn-outline {
  align-self: center;
  margin-top: auto;
  width: 220px;
  height: 57px;
  padding: 0;
  background: var(--c-navy-deep);
  border-color: var(--c-navy-deep);
  color: var(--c-white);
  font-size: 14px;
  border-radius: 6px;
}

.blog-card .btn-outline:hover {
  background: #000;
  border-color: #000;
}

@media (max-width:1024px) {
  .blog-listing__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width:767px) {
  .blog-listing__grid {
    grid-template-columns: 1fr;
  }

  .blog-listing h2.title-main {
    font-size: 20px;
  }

  .blog-card {
    padding: 16px 18px;
    min-height: 0;
  }

  .blog-card h3 {
    font-size: 22px;
  }

  .blog-card .btn-outline {
    width: 100%;
    max-width: 220px;
  }
}

@font-face {
  font-family: "flaticon_eduvalt";
  src: url("../fonts/flaticon/flaticon_eduvalt.woff2") format("woff2"),
    url("../fonts/flaticon/flaticon_eduvalt.woff") format("woff"),
    url("../fonts/flaticon/flaticon_eduvalt.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

i[class^="flaticon-"]:before,
i[class*=" flaticon-"]:before {
  font-family: "flaticon_eduvalt" !important;
  font-style: normal;
  font-weight: normal !important;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.flaticon-pin-1:before {
  content: "\f114";
}

.flaticon-phone-call:before {
  content: "\f10e";
}

.flaticon-email:before {
  content: "\f10d";
}

.contact-section {
  padding-block: 110px;
}

@media (max-width:767px) {
  .contact-section {
    padding-block: 40px;
  }
}

.contact-grid {
  display: flex;
  gap: 48px;
  align-items: flex-start;
}

.contact-info-col {
  flex: 0 0 40%;
  max-width: 40%;
}

.contact-form-col {
  flex: 0 0 60%;
  max-width: 60%;
}

@media (max-width:1024px) {
  .contact-grid {
    flex-direction: column;
  }

  .contact-info-col,
  .contact-form-col {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

.contact-info-wrap .title {
  position: relative;
  margin-bottom: 28px;
  padding-bottom: 16px;
}

.contact-info-wrap .title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 60px;
  height: 3px;
  background: var(--c-gold);
}

.contact-info-wrap .list-wrap {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.contact-info-wrap .list-wrap li {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.contact-info-wrap .list-wrap li .icon {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--c-surface-alt);
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-info-wrap .list-wrap li .icon i {
  font-size: 20px;
  color: var(--c-gold);
}

.contact-info-wrap .list-wrap li .content p {
  margin: 0;
  color: var(--c-text);
  line-height: 1.6;
}

.form_btn_cf7 .contact-form-wrap {
  background: var(--c-surface-alt);
  border-radius: var(--radius-lg);
  padding: 40px;
}

.form_btn_cf7 .contact-form-wrap .title {
  position: relative;
  margin-bottom: 24px;
  padding-bottom: 16px;
}

.form_btn_cf7 .contact-form-wrap .title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 60px;
  height: 3px;
  background: var(--c-gold);
}

@media (max-width:767px) {
  .form_btn_cf7 .contact-form-wrap {
    padding: 24px;
  }
}

.form_btn_cf7 .cta-form select {
  color: var(--c-text);
}

.form_btn_cf7 .form-actions {
  text-align: center;
  margin-top: 4px;
}

.contact-map-section {
  padding-block: 0;
}

.contact-map iframe {
  width: 100%;
  height: 555px;
  border: 0;
  display: block;
}

@media (max-width:767px) {
  .contact-map iframe {
    height: 320px;
  }
}

.courses-section {
  padding: 50px 0 0;
}

.courses-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

@media (max-width:1024px) {
  .courses-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width:767px) {
  .courses-grid {
    grid-template-columns: 1fr;
  }
}

.course-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  border: 1px solid #CACACA;
  border-radius: var(--radius-md);
  padding: 10px;
  background: var(--c-white);
}

.course-card__img {
  width: 100%;
  border-radius: var(--radius-md);
}

.course-card__title {
  margin: 0;
  text-align: center;
  font-family: var(--font-accent);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4;
  color: var(--c-navy-deep);
}

.course-card__btn {
  align-self: center;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 15px;
  background: var(--c-blue);
  color: #fff;
  font-family: var(--font-accent);
  font-weight: 500;
  font-size: 15px;
  border-radius: var(--radius-sm);
  text-decoration: none;
  transition: background .25s ease;
}

.course-card__btn:hover {
  background: #243fce;
}

.course-card__btn i {
  font-size: 14px;
  line-height: 1;
}

.cpc-wide {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
}

.cpc-page-header {
  background: var(--c-navy);
  padding-block: 36px;
  text-align: center;
}

.cpc-page-header h1 {
  color: #fff;
  margin: 0;
  font-size: var(--fs-h1);
}

.cpc-infobar {
  background: #F5F6FA;
  padding-block: 40px;
}

.cpc-accent-heading {
  border-left: 5px solid var(--c-gold);
  padding: 5px 0 5px 5px;
  margin-bottom: 10px;
}

.cpc-infobar h2.cpc-accent-heading {
  text-align: center;
  margin: 0 auto 24px;
  display: block;
  width: max-content;
  max-width: 100%;
  font-size: 1.25rem;
}

.cpc-infobar__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.cpc-infobar__item {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #DBDBDB;
  border-radius: 10px;
  padding: 14px;
  min-height: 90px;
}

.cpc-infobar__item i,
.cpc-infobar__item img {
  flex: none;
  width: 30px;
  height: 30px;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
}

.cpc-infobar__item h3 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 500;
}

.cpc-infobar__item p {
  margin: 2px 0 0;
  font-size: .85rem;
  font-weight: 600;
  color: #464646;
}

@media (max-width:1024px) {
  .cpc-infobar__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.cpc-hero {
  padding-block: 50px;
}

.cpc-hero__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 30px;
  align-items: center;
}

.cpc-hero__content {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.cpc-eyebrow-pill {
  display: inline-block;
  padding: 8px 18px;
  background: #FFF6E9;
  color: #343851;
  border-radius: 30px;
  font-weight: 600;
  font-size: 14px;
  width: max-content;
}

.cpc-hero__content h2 {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--c-gold);
}

.cpc-hero__content p {
  margin: 0;
  color: #000;
}

.cpc-hero__btns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  width: 100%;
  max-width: 420px;
}

.cpc-hero__btns .btn {
  width: 100%;
}

.cpc-hero__media-card img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  object-position: top center;
  border-radius: var(--radius-md);
}

@media (max-width:1024px) {
  .cpc-hero__row {
    grid-template-columns: 1fr;
    display: flex;
    flex-direction: column-reverse;
  }

  .cpc-hero__media-card img {
    height: 225px;
  }
}

.cpc-skills {
  background: #F5F6FA;
  padding-block: 50px;
}

.cpc-skills h2.cpc-accent-heading {
  text-align: center;
  margin: 0 auto 24px;
  display: block;
  width: max-content;
  max-width: 100%;
}

.cpc-skills__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 14px;
}

.cpc-skills__card {
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 0 2px rgba(0, 0, 0, .5);
  padding: 16px 8px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.cpc-skills__card img {
  width: 35px;
  height: 35px;
}

.cpc-skills__card h3 {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.2;
}

@media (max-width:1024px) {
  .cpc-skills__grid {
    grid-template-columns: repeat(5, 1fr);
  }
}

@media (max-width:767px) {
  .cpc-skills__grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .cpc-skills__card img {
    width: 35px;
    height: 35px;
  }

  .cpc-skills__card h3 {
    font-size: .8rem;
  }
}

.cpc-tabs {
  padding-block: 60px 50px;
}

.tabs__nav {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}

.tabs__nav button {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  background: #F9F9F9;
  border: 2px solid #D1D1D1;
  border-radius: 6px;
  font-weight: 500;
  font-size: 15px;
  font-family: inherit;
  cursor: pointer;
  color: #000;
}

.tabs__nav button img {
  width: 18px;
  height: 18px;
}

.tabs__nav button.is-active {
  background: #EFEFEF;
  border-top: 3px solid #0D5EF4;
}

.tabs__panel {
  display: none;
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
}

.tabs__panel.is-active {
  display: block;
}

.cpc-tabs__panel-inner p {
  color: #000;
}

.cpc-tabs__note-card {
  background: var(--c-surface-alt);
  border-radius: var(--radius-md);
  padding: 20px;
  margin-top: 14px;
}

.cpc-program-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 20px 0;
}

.cpc-program-grid__item {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  padding: 14px;
}

.cpc-program-grid__item i,
.cpc-program-grid__item img {
  flex: none;
  width: 28px;
  height: 28px;
  font-size: 20px;
  color: var(--c-gold);
  display: flex;
  align-items: center;
  justify-content: center;
}

.cpc-program-grid__item h3 {
  margin: 0;
  font-size: .95rem;
  font-weight: 600;
}

@media (max-width:900px) {
  .cpc-program-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:600px) {
  .cpc-program-grid {
    grid-template-columns: 1fr;
  }
}

.pv-table-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  border-radius: 10px;
  border: 1px solid #ddd;
  margin: 16px 0;
}

.pv-career-table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .06);
}

.pv-career-table thead th {
  background: #02284D;
  color: #fff;
  padding: 12px 22px;
  text-align: left;
  font-size: 18px;
  font-weight: 700;
}

.pv-career-table td {
  padding: 16px 20px;
  border: 1px solid #000;
  vertical-align: top;
  font-size: 16px;
  line-height: 1.6;
}

.pv-career-table tbody tr:nth-child(even) {
  background: #fafafa;
}

.pv-career-table td:first-child {
  width: 280px;
  min-width: 280px;
  font-weight: 700;
  background: #fcf8f2;
}

@media(max-width:767px) {
  .pv-career-table {
    min-width: 750px;
  }

  .pv-career-table thead th,
  .pv-career-table td {
    font-size: 14px;
    padding: 12px;
  }

  .pv-career-table td:first-child {
    width: 220px;
    min-width: 220px;
  }
}

.cpc-cta-dark {
  position: relative;
  background: #000;
  padding-block: 60px;
  color: #fff;
}

.cpc-cta-dark__row {
  position: relative;
  z-index: 1;
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.cpc-cta-dark__text h2 {
  color: #fff;
  font-size: 1.7rem;
  margin-bottom: 10px;
}

.cpc-cta-dark__text p {
  color: #dfe6f0;
  margin: 0;
  max-width: 56ch;
  font-weight: 400;
}

.cpc-cta-dark .btn {
  border: 2px solid #fff;
  white-space: nowrap;
}

@media (max-width:767px) {
  .cpc-cta-dark__row {
    text-align: center;
    justify-content: center;
  }
}

.cpc-features {
  padding-block: 50px;
  background: #F8F9FF;
}

.cpc-features h2.cpc-accent-heading {
  text-align: center;
  margin: 0 auto 24px;
  display: block;
  width: max-content;
  max-width: 100%;
}

.cpc-features__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.cpc-features__card {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #fff;
  border-radius: var(--radius-md);
  padding: 18px;
  box-shadow: var(--shadow-card);
}

.cpc-features__icon-wrap {
  flex: none;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #EFF1FF;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cpc-features__card h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}

@media (max-width:900px) {
  .cpc-features__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:600px) {
  .cpc-features__grid {
    grid-template-columns: 1fr;
  }
}

.cpc-admission {
  padding-block: 50px;
}

.cpc-admission h2 {
  text-align: center;
  margin-bottom: 12px;
}

.cpc-admission__subtitle {
  margin: 0 auto 26px;
  color: var(--c-text);
  text-align: center;
}

.cpc-admission__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}

.cpc-admission__step {
  border: 1px solid var(--c-gold);
  border-radius: var(--radius-sm);
  padding: 20px;
  background: #fff;
  text-align: left;
}

.cpc-admission__icon-badge {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #FFF6E9;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}

.cpc-admission__step h3 {
  margin: 0 0 8px;
  font-size: 1.05rem;
  color: #000;
}

.cpc-admission__step p {
  margin: 0;
  font-size: .9rem;
  color: #000;
}

@media (max-width:1024px) {
  .cpc-admission__grid {
    grid-template-columns: 1fr 1fr;
  }
}

.cpc-recruiters {
  background: #02284D;
  padding-block: 50px;
  text-align: center;
  color: #fff;
}

.cpc-recruiters h2,
.cpc-recruiters__title,
.au-recruiters__title,
.hiring-partners h2 {
  color: #ffffff !important;
  margin-bottom: 14px;
}

.cpc-recruiters__desc {
  margin: 0 auto;
  color: #cfd8e6;
}

.cpc-recruiters .partner-section {
  max-width: var(--container-wide);
  margin-inline: auto;
  background: transparent;
}

.scroll-left {
  animation: cpcScrollLeft 32s linear infinite;
}

.scroll-right {
  animation: cpcScrollRight 32s linear infinite;
}

@keyframes cpcScrollLeft {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

@keyframes cpcScrollRight {
  0% {
    transform: translateX(-50%);
  }

  100% {
    transform: translateX(0);
  }
}


.cpc-support {
  padding-block: 50px;
}

.cpc-support h2.cpc-accent-heading {
  text-align: center;
  margin: 0 auto 24px;
  display: block;
  width: max-content;
  max-width: 100%;
}

.cpc-support__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 36px;
  align-items: center;
}

.cpc-support__text p {
  color: var(--c-text);
}

.cpc-support__note {
  font-weight: 600;
  color: var(--c-navy-deep);
}

.cpc-support__media img {
  width: 100%;
  border-radius: var(--radius-md);
}

@media (max-width:1024px) {
  .cpc-support__row {
    grid-template-columns: 1fr;
  }
}

.cpc-success {
  position: relative;
  background: #000;
  padding-block: 50px;
  text-align: center;
  color: #fff;
}

.cpc-success h2 {
  color: #fff;
  margin-bottom: 10px;
}

.cpc-success__desc {
  max-width: 780px;
  margin: 0 auto 26px;
  color: #dfe6f0;
}

.cpc-success__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.cpc-success__card {
  border-radius: var(--radius-md);
  padding: 20px;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .12);
}

.cpc-success__card .counter {
  display: block;
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 6px;
  color: var(--c-gold);
}

.cpc-success__card p {
  margin: 0;
  font-weight: 600;
  font-size: .95rem;
  color: #fff;
}

@media (max-width:900px) {
  .cpc-success__grid {
    grid-template-columns: 1fr 1fr;
  }
}

.cpc-placed {
  padding-block: 50px;
  text-align: center;
}

.cpc-placed h2 {
  margin-bottom: 8px;
}

.cpc-placed__desc {
  max-width: 820px;
  margin: 0 auto 30px;
  color: var(--c-text-soft);
}

.cpc-placed__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  margin-bottom: 30px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.cpc-placed__item {
  background: #ffffff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(6, 29, 56, .08);
  border: 1px solid #e2e6ee;
  transition: transform .25s ease, box-shadow .25s ease;
}

.cpc-placed__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(6, 29, 56, .14);
}

.cpc-placed__item img {
  width: 100%;
  height: 340px;
  object-fit: contain;
  background: #f5f7fb;
  display: block;
}

@media (max-width:1024px) {
  .cpc-placed__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }

  .cpc-placed__item img {
    height: 280px;
  }
}

@media (max-width:767px) {
  .cpc-placed__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding-inline: 14px;
  }

  .cpc-placed__item img {
    height: 220px;
  }
}

@media (max-width:480px) {
  .cpc-placed__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    padding-inline: 12px;
  }

  .cpc-placed__item img {
    height: 180px;
  }
}

.cpc-testimonials {
  background: #02284d;
  padding-block: 50px;
  text-align: center;
}

.cpc-testimonials h2 {
  color: #fff;
  margin-bottom: 20px;
}

.el-testimonial-container {
  position: relative;
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
}

.el-testimonial-wrapper {
  display: flex;
  max-width: 1200px;
  margin-inline: auto;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
}

.el-testimonial-wrapper::-webkit-scrollbar {
  display: none;
}

.el-testimonial-card {
  background: #fff;
  border-radius: 14px;
  padding: 20px;
  min-width: calc(33.333% - 14px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, .08);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  height: 260px;
  text-align: left;
}

.el-user {
  display: flex;
  align-items: center;
  gap: 12px;
}

.el-user-avatar {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  background: #f1f1f1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  color: #666;
  flex-shrink: 0;
}

.testimonials .el-user-avatar {
  color: #fff;
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  box-shadow: 0 6px 14px rgba(37, 99, 235, .25);
}

.testimonials .el-user-avatar i {
  font-size: 24px;
}

.testimonials .el-testimonial-card:nth-child(2) .el-user-avatar {
  background: linear-gradient(135deg, #10b981, #059669);
  box-shadow: 0 6px 14px rgba(5, 150, 105, .25);
}

.testimonials .el-testimonial-card:nth-child(3) .el-user-avatar {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  box-shadow: 0 6px 14px rgba(217, 119, 6, .25);
}

.testimonials .el-testimonial-card:nth-child(4) .el-user-avatar {
  background: linear-gradient(135deg, #a855f7, #7e22ce);
  box-shadow: 0 6px 14px rgba(126, 34, 206, .25);
}

.testimonials .el-testimonial-card:nth-child(5) .el-user-avatar {
  background: linear-gradient(135deg, #ec4899, #db2777);
  box-shadow: 0 6px 14px rgba(219, 39, 119, .25);
}

.el-user-info h4 {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
}

.el-rating {
  margin: 14px 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.el-rating img {
  width: 22px;
  height: 22px;
}

.el-rating span {
  color: #f4b400;
  font-size: 15px;
}

.el-review {
  font-size: 14px;
  line-height: 1.7;
  color: #444;
}

.el-nav-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  box-shadow: 0 6px 15px rgba(0, 0, 0, .15);
  color: #02284d;
}

.el-nav-prev {
  left: 5px;
}

.el-nav-next {
  right: 5px;
}

@media(max-width:1024px) {
  .el-testimonial-card {
    min-width: calc(50% - 10px);
  }
}

@media(max-width:768px) {
  .el-testimonial-card {
    min-width: 100%;
    height: auto;
  }

  .el-nav-button {
    display: flex;
  }
}

.cpc-why {
  background: #fff;
  padding-block: 50px;
  text-align: center;
}

.cpc-why h2.cpc-accent-heading {
  text-align: center;
  margin: 0 auto 24px;
  display: block;
  width: max-content;
  max-width: 100%;
}

.cpc-why__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  text-align: left;
  margin-bottom: 20px;
}

.cpc-why__card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: var(--c-surface-alt);
  border-radius: var(--radius-md);
  padding: 20px;
}

.cpc-why__card-head {
  display: flex;
  align-items: center;
  gap: 14px;
}

.cpc-why__card-head img {
  width: 40px;
  height: 40px;
  flex: none;
}

.cpc-why__card-head h3 {
  margin: 0;
  font-size: 1.05rem;
  color: var(--c-navy-deep);
}

.cpc-why__card p {
  margin: 0;
  color: var(--c-text);
}

.cpc-why__note {
  max-width: 820px;
  margin: 0 auto;
  color: var(--c-text);
  text-align: center;
}

@media (max-width:900px) {
  .cpc-why__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:600px) {
  .cpc-why__grid {
    grid-template-columns: 1fr;
  }
}

.cpc-curriculum {
  padding-block: 50px;
  background: #F8F9FF;
}

.cpc-curriculum h2 {
  text-align: center;
  margin-bottom: 8px;
}

.cpc-curriculum__desc {
  max-width: 820px;
  margin: 0 auto 30px;
  color: var(--c-text-soft);
  text-align: center;
}

.cpc-curriculum__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start;
}

@media (max-width:900px) {
  .cpc-curriculum__row {
    grid-template-columns: 1fr;
  }
}

.cpc-faq {
  padding-block: 50px;
}

.cpc-faq__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: .85fr 1fr;
  gap: 24px;
  align-items: start;
}

.cpc-faq__form,
.cpc-faq__list {
  border-top: 5px solid var(--c-gold);
  border-radius: 10px;
  padding: 20px;
  background: var(--c-surface-alt);
}

.cpc-faq__list h2 {
  margin-bottom: 16px;
}

@media (max-width:900px) {
  .cpc-faq__row {
    grid-template-columns: 1fr;
  }
}

.cpc-final-cta {
  position: relative;
  background: #000;
  padding-block: 60px;
  color: #fff;
  text-align: center;
}

.cpc-final-cta__inner {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin-inline: auto;
  padding-inline: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.cpc-final-cta__inner h2 {
  color: #fff;
  margin: 0;
}

.cpc-final-cta__inner p {
  color: #dfe6f0;
  margin: 0;
}

.cpc-final-cta .btn {
  margin-top: 6px;
  border: 2px solid #fff;
}

.icon-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  list-style: none;
  margin: 14px 0;
  padding: 0;
}

.icon-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--c-text);
}

.icon-list i {
  color: var(--c-gold);
  font-size: 15px;
  margin-top: 3px;
  flex: none;
}

.icon-list.inline {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px 22px;
}

.cpc-infobar h2 {
  text-align: center;
  border-left: 5px solid var(--c-gold);
  display: inline-block;
  padding: 5px;
  font-size: 1.25rem;
  margin: 0 auto 24px;
  display: block;
  width: max-content;
  max-width: 100%;
}

.cpc-infobar__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.cpc-hero__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  align-items: center;
}

.cpc-hero__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
}

.cpc-eyebrow-pill {
  display: inline-block;
  padding: 8px 18px;
  background: #FFF6E9;
  color: #343851;
  border-radius: 30px;
  font-weight: 600;
  font-size: 14px;
}

.cpc-hero__content h1 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--c-gold);
}

.cpc-hero__content p {
  margin: 0;
  color: #000;
  text-align: left;
}

.cpc-hero__content .icon-list {
  text-align: left;
}

.btn-navy {
  background: var(--c-navy-deep);
  color: #fff;
}

.btn-navy:hover {
  background: #1c2036;
}

.cpc-hero__media img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  object-position: top center;
  border-radius: var(--radius-md);
}

@media (max-width:1024px) {
  .cpc-hero__row {
    grid-template-columns: 1fr;
  }

  .cpc-hero__row {
    display: flex;
    flex-direction: column-reverse;
  }

  .cpc-hero__media img {
    height: 225px;
  }
}

.cpc-skills h2 {
  text-align: center;
  margin-bottom: 24px;
}

.cpc-tabs__wrap {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
}

.tabs__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}

.tabs__panel {
  display: none;
}

.cpc-features h2 {
  text-align: center;
  margin-bottom: 24px;
}

.cpc-features__card img {
  width: 36px;
  height: 36px;
  flex: none;
}

.cpc-admission>.cpc-wide>p {
  max-width: 780px;
  margin: 0 auto 26px;
  color: var(--c-text);
  text-align: center;
}

.cpc-admission__step {
  border: 1px solid var(--c-gold);
  border-radius: var(--radius-sm);
  padding: 20px;
  background: #fff;
}

.cpc-admission__step img {
  width: 30px;
  height: 30px;
  margin-bottom: 10px;
}

.cpc-recruiters>.cpc-wide>p {
  max-width: 900px;
  margin: 0 auto;
  color: #cfd8e6;
}

.cpc-support h2 {
  text-align: center;
  margin-bottom: 24px;
}

.cpc-success>.cpc-wide>p {
  max-width: 780px;
  margin: 0 auto 26px;
  color: #dfe6f0;
}

.cpc-success__card {
  border-radius: var(--radius-md);
  padding: 20px;
}

.cpc-success__card .counter {
  display: block;
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 6px;
}

.cpc-placed>.cpc-wide>p {
  max-width: 820px;
  margin: 0 auto 20px;
  color: var(--c-text-soft);
}

.cpc-placed .carousel {
  margin-bottom: 24px;
}

.cpc-placed .carousel__track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 6px;
}

.cpc-placed .carousel__item {
  flex: 0 0 calc(20% - 12px);
  scroll-snap-align: start;
  border-radius: 5px;
  overflow: hidden;
}

.cpc-placed .carousel__item img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 5px;
}

@media (max-width:1024px) {
  .cpc-placed .carousel__item {
    flex-basis: calc(33.333% - 10px);
  }
}

@media (max-width:600px) {
  .cpc-placed .carousel__item {
    flex-basis: 80%;
  }
}

.cpc-why h2 {
  margin-bottom: 24px;
}

.cpc-why__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: flex;
  gap: 26px;
  text-align: left;
  margin-bottom: 20px;
}

.cpc-why__col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.cpc-why__card {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

@media (max-width:900px) {
  .cpc-why__grid {
    flex-direction: column;
  }
}

.cpc-recruiters .partner-section {
  max-width: var(--container-wide);
  margin-inline: auto;
}

.cpc-page {
  padding: 56px 0 70px;
}

.cpc-page__head {
  margin-bottom: 36px;
}

@media (max-width:767px) {
  .cpc-page {
    margin-top: -60px;
    padding-top: 40px;
  }
}

.section__title {
  margin-bottom: 0;
}

.section__title .title {
  color: var(--c-navy-deep);
  margin: 0;
}

.section__title.text-center {
  text-align: center;
  margin-inline: auto;
  max-width: 720px;
}

.section__title .title.tg-svg {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}

.section__title .title .position-relative {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.section__title .title .svg-icon {
  display: inline-flex;
  line-height: 0;
}

.section__title .title .svg-icon img {
  height: 0.5em;
  width: auto;
  opacity: .55;
}

.cpc-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 18px;
}

.cpc-gallery-grid__item {
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  background: var(--c-surface-alt);
}

.cpc-gallery-grid__item img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}

.cpc-gallery-grid__item:hover img {
  transform: scale(1.05);
}

@media (max-width:1024px) {
  .cpc-gallery-grid {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 14px;
  }

  .cpc-gallery-grid__item img {
    height: 190px;
  }
}

@media (max-width:767px) {
  .cpc-page {
    padding-bottom: 50px;
  }

  .cpc-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .cpc-gallery-grid__item img {
    height: 160px;
  }
}

.section__title {
  margin-bottom: 32px;
}

.section__title .sub-title {
  color: var(--c-blue);
  font-weight: 600;
  display: block;
  margin-bottom: 10px;
}

.section__title .desc {
  color: var(--c-text-soft);
}

.gallery-hero {
  padding: 50px 0 0;
}

@media (max-width:767px) {
  .gallery-hero {
    padding-top: 28px;
  }
}

.mosaic-row {
  display: flex;
  flex-wrap: wrap;
}

.mosaic-pair {
  display: flex;
  flex-direction: column;
}

.mosaic-item {
  padding: 0;
}

.mosaic-item img {
  display: block;
  width: 100%;
  height: var(--h);
  object-fit: cover;
  border-radius: 10px;
}

.mosaic-item--gap {
  padding: 0;
}

@media (max-width:1024px) {
  .mosaic-item--gap {
    padding: 8px;
  }

  .mosaic-item img {
    height: var(--h-tab, var(--h));
  }
}

@media (max-width:767px) {

  /* Row A's two-image side columns switch column->row on mobile (source:
     flex_direction_mobile:"row" on c6ae12b / 242a470, width_mobile:50% on children) */
  .mosaic-pair {
    flex-direction: row;
  }

  .mosaic-pair>.mosaic-item {
    width: 50% !important;
  }

  /* Row B / Row C: every leaf item carries width_mobile:50% in the source (2x2 grid) */
  .mosaic-row--b>.mosaic-item,
  .mosaic-row--c>.mosaic-item {
    width: 50% !important;
  }

  .mosaic-item img {
    height: var(--h-mob, var(--h-tab, var(--h)));
  }
}

.gallery-carousel-section {
  padding: 50px 0 0;
}

@media (max-width:767px) {
  .gallery-carousel-section {
    padding-top: 28px;
  }
}

.carousel {
  position: relative;
  padding-inline: 26px;
}

.carousel__track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-block: 4px 10px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.carousel__track::-webkit-scrollbar {
  display: none;
}

.carousel__item {
  flex: 0 0 auto;
  scroll-snap-align: start;
}

.carousel__prev,
.carousel__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--c-border);
  background: var(--c-white);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-navy-deep);
  box-shadow: var(--shadow-card);
  transition: background .2s ease, color .2s ease;
}

.carousel__prev:hover,
.carousel__next:hover {
  background: var(--c-navy);
  color: #fff;
  border-color: var(--c-navy);
}

.carousel__prev svg,
.carousel__next svg {
  width: 16px;
  height: 16px;
}

.carousel__prev {
  left: -6px;
}

.carousel__next {
  right: -6px;
}

.carousel--gallery .carousel__item img {
  display: block;
  width: auto;
  height: 260px;
  border-radius: 10px;
  box-shadow: var(--shadow-card);
}

@media (max-width:767px) {
  .carousel {
    padding-inline: 20px;
  }

  .carousel__prev {
    left: -14px;
  }

  .carousel__next {
    right: -14px;
  }

  .carousel--gallery .carousel__item img {
    height: 180px;
  }
}

.gallery-reviews {
  padding: 0;
}

.ig-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.ig-grid__item {
  min-width: 0;
}

.ig-grid__item .instagram-media {
  width: 100% !important;
}

/* Student Feedback page hero */
.feedback-hero {
  position: relative;
  padding: clamp(58px, 6vw, 82px) 20px 0;
  border-top: 2px solid rgba(216, 145, 36, 0.55);
  background:
    radial-gradient(circle at 68% 32%, rgba(216, 145, 36, 0.12), transparent 30%),
    radial-gradient(circle at 92% 28%, rgba(80, 45, 150, 0.3), transparent 36%),
    linear-gradient(120deg, #171821 0%, #242035 48%, #17133c 100%);
  color: #ffffff;
}

.feedback-hero__inner {
  display: grid;
  width: min(1280px, 100%);
  margin: 0 auto;
  grid-template-columns: minmax(0, 0.95fr) minmax(440px, 1.05fr);
  align-items: center;
  gap: clamp(44px, 7vw, 90px);
}

.feedback-hero__content {
  max-width: 650px;
}

.feedback-hero__pill {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 26px;
  padding: 9px 16px;
  border: 1px solid rgba(216, 145, 36, 0.38);
  border-radius: 999px;
  background: rgba(216, 145, 36, 0.08);
  color: #e4a13d;
  font-size: 0.82rem;
  font-weight: 800;
}

.feedback-hero__pill>span {
  font-size: 1.25rem;
  line-height: 1;
}

.feedback-hero h1 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(2.7rem, 5vw, 4.65rem);
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 1.08;
}

.feedback-hero h1 span {
  display: block;
  margin-top: 8px;
  color: #df9221;
}

.feedback-hero__content>p {
  max-width: 620px;
  margin: 24px 0 0;
  color: #c8cad5;
  font-size: 1.05rem;
  line-height: 1.7;
}

.feedback-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.feedback-hero__actions a {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 11px;
  padding: 12px 21px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-size: 0.92rem;
  font-weight: 800;
  text-decoration: none;
  transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.feedback-hero__actions a:hover {
  transform: translateY(-2px);
}

.feedback-hero__primary {
  background: #d89124;
  color: #ffffff;
  box-shadow: 0 12px 26px rgba(216, 145, 36, 0.25);
}

.feedback-hero__primary:hover {
  background: #bd7513;
  color: #ffffff;
}

.feedback-hero__secondary {
  border-color: #445167 !important;
  background: #202b3c;
  color: #ffffff;
}

.feedback-hero__secondary:hover {
  border-color: #64748b !important;
  background: #29364a;
  color: #ffffff;
}

.feedback-featured-review {
  position: relative;
  min-height: 340px;
  padding: clamp(30px, 4vw, 48px);
  border: 1px solid rgba(128, 145, 170, 0.28);
  border-radius: 20px;
  background: rgba(43, 39, 71, 0.88);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.22);
}

.feedback-featured-review__quote {
  display: block;
  height: 58px;
  color: #df8711;
  font-family: Georgia, serif;
  font-size: 5.4rem;
  line-height: 0.9;
}

.feedback-featured-review__viewport {
  overflow: hidden;
}

.feedback-featured-review__track {
  display: flex;
  will-change: transform;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.feedback-featured-review__slide {
  min-width: 100%;
  flex: 0 0 100%;
  padding: 0;
}

.feedback-featured-review blockquote {
  margin: 22px 0 28px;
  color: #d7d7df;
  font-size: clamp(1rem, 1.7vw, 1.2rem);
  font-style: italic;
  font-weight: 600;
  line-height: 1.7;
}

.feedback-featured-review__footer {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
}

.feedback-featured-review__footer strong,
.feedback-featured-review__footer span {
  display: block;
}

.feedback-featured-review__footer strong {
  color: #ffffff;
  font-size: 1rem;
}

.feedback-featured-review__footer div>span {
  margin-top: 3px;
  color: #9ea6b6;
  font-size: 0.82rem;
}

.feedback-featured-review__rating {
  color: #f5b800;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.feedback-featured-review__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 34px;
}

.feedback-featured-review__dots button {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #566074;
  transition: width 0.25s ease, background-color 0.25s ease, transform 0.25s ease;
}

.feedback-featured-review__dots button:hover {
  background: #8a94a6;
  transform: scale(1.15);
}

.feedback-featured-review__dots button.is-active {
  width: 28px;
  border-radius: 99px;
  background: #d89124;
}

.feedback-featured-review__arrow {
  position: absolute;
  bottom: 28px;
  z-index: 3;
  display: grid;
  width: 34px;
  height: 34px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 50%;
  background: rgba(17, 28, 46, 0.5);
  color: #ffffff;
  font-size: 0.95rem;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.feedback-featured-review__arrow:hover {
  border-color: #d89124;
  background: #d89124;
  color: #ffffff;
}

.feedback-featured-review__arrow--prev {
  left: clamp(24px, 4vw, 48px);
}

.feedback-featured-review__arrow--next {
  right: clamp(24px, 4vw, 48px);
}

@media (prefers-reduced-motion: reduce) {
  .feedback-featured-review__track {
    transition: none;
  }
}

.feedback-stats {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(1280px, 100%);
  margin: 38px auto 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  transform: translateY(50%);
}

.feedback-stat {
  display: flex;
  min-width: 0;
  min-height: 112px;
  align-items: center;
  gap: 17px;
  padding: 22px;
  border: 1px solid #35455b;
  border-radius: 14px;
  background: #111c2e;
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.2);
}

.feedback-stat__icon {
  display: grid;
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  place-items: center;
  border-radius: 11px;
  background: rgba(216, 145, 36, 0.18);
  color: #e3911c;
  font-size: 1.4rem;
  font-weight: 800;
}

.feedback-stat__icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.feedback-stat strong,
.feedback-stat div>span {
  display: block;
}

.feedback-stat strong {
  color: #ffffff;
  font-size: clamp(1.45rem, 2.3vw, 2rem);
  line-height: 1.1;
}

.feedback-stat div>span {
  margin-top: 6px;
  color: #9da8b9;
  font-size: 0.84rem;
  line-height: 1.35;
}

/* Student Feedback page: review embeds share a consistent card height. */
.student-feedback-reviews {
  padding: clamp(105px, 9vw, 132px) 20px clamp(48px, 6vw, 76px);
  background: #f6f8fb;
}

.student-feedback-reviews .section__title {
  max-width: 740px;
  margin-inline: auto;
  margin-bottom: 34px;
}

.student-feedback-reviews .section__title .desc {
  color: #64748b;
}
}

.student-feedback-reviews .ig-grid__item {
  height: 430px;
  overflow: hidden;
  border-radius: 10px;
  background: #ffffff;
}

.student-feedback-reviews .ig-grid__item .instagram-media {
  min-height: 430px !important;
  margin: 0 !important;
}

.student-feedback__embed {
  display: grid;
  place-items: center;
  min-height: 430px;
  padding: 24px;
  background: linear-gradient(145deg, #f7f9fc, #edf2f8);
  text-align: center;
}

.student-feedback__embed a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 8px;
  background: var(--c-navy-deep);
  color: #ffffff;
  font-weight: 700;
  text-decoration: none;
}

@media (max-width:1024px) {
  .feedback-hero__inner {
    grid-template-columns: 1fr;
  }

  .feedback-hero__content {
    max-width: 760px;
  }

  .feedback-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    transform: translateY(34%);
  }

  .ig-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width:600px) {
  .feedback-hero {
    padding: 44px 16px 40px;
  }

  .feedback-hero__inner {
    gap: 34px;
  }

  .feedback-hero__pill {
    margin-bottom: 18px;
    padding: 7px 12px;
    font-size: 0.73rem;
  }

  .feedback-hero h1 {
    font-size: clamp(2.05rem, 10vw, 2.85rem);
  }

  .feedback-hero__content>p {
    margin-top: 18px;
    font-size: 0.94rem;
  }

  .feedback-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 22px;
  }

  .feedback-hero__actions a {
    width: 100%;
  }

  .feedback-featured-review {
    min-height: 0;
    padding: 26px 22px;
  }

  .feedback-featured-review__footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .feedback-stats {
    grid-template-columns: 1fr;
    margin-top: 26px;
    transform: none;
  }

  .feedback-stat {
    min-height: 92px;
    padding: 18px;
  }

  .student-feedback-reviews {
    padding: 48px 16px 56px;
  }

  .ig-grid {
    grid-template-columns: 1fr;
  }

  .student-feedback-reviews .ig-grid__item,
  .student-feedback-reviews .ig-grid__item .instagram-media,
  .student-feedback__embed {
    height: 420px;
    min-height: 420px !important;
  }
}

.gallery-videos {
  padding: 0;
}

.video-row {
  display: flex;
}

.video-row__item {
  flex: 0 1 50%;
  padding: 10px;
}

.video-row__item video {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: 10px;
  background: #000;
}

@media (max-width:767px) {
  .video-row {
    flex-wrap: wrap;
  }

  .video-row__item {
    flex: 0 1 100%;
  }
}

.hi-section {
  padding-block: 40px;
}

.hi-section--tight {
  padding-block: 0 40px;
}

.hi-embed-1 {
  max-width: 1200px;
  margin: 0 auto;
  padding-inline: 20px;
}

.hi-embed-1 .course-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
  padding: 20px;
}

.hi-embed-1 .course-image {
  flex: 2 1 500px;
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
}

.hi-embed-1 .course-image img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  object-fit: cover;
  display: block;
}

.hi-embed-1 .course-info {
  flex: 1 1 250px;
  border: 1px solid #eee;
  padding: 20px;
  border-radius: 12px;
  background-color: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.hi-embed-1 .enroll-button {
  background-color: #3b56ff;
  color: #fff;
  font-size: 20px;
  padding: 11px 20px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  width: 100%;
  margin-bottom: 20px;
  transition: background-color .3s;
  text-align: center;
  font-family: inherit;
}

.hi-embed-1 .enroll-button:hover {
  background-color: #2c44d8;
}

.hi-embed-1 .info-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  margin: 10px 0;
  color: #3c3c3c;
}

.hi-embed-1 .info-item .label {
  font-weight: 600;
}

.hi-embed-1 .material-box {
  background-color: #f1f3fc;
  padding: 15px;
  border-radius: 10px;
  margin-top: 15px;
}

.hi-embed-1 .material-box strong {
  display: block;
  margin-bottom: 8px;
}

.hi-embed-1 .material-box ul {
  list-style: disc;
  margin-left: 20px;
  padding: 0;
}

.hi-embed-1 .material-box li {
  font-size: 15px;
  margin-bottom: 6px;
}

@media (max-width:1024px) {
  .hi-embed-1 .course-image {
    flex: 1 1 100%;
  }
}

@media (max-width:767px) {
  .hi-embed-1 .course-container {
    flex-direction: column;
    padding: 10px;
    gap: 10px;
  }

  .hi-embed-1 .course-image {
    max-height: 250px;
  }

  .hi-embed-1 .enroll-button {
    font-size: 16px;
    padding: 10px;
  }

  .hi-embed-1 .info-item {
    font-size: 15px;
  }
}

@media (max-width:600px) {
  .hi-embed-1 .course-image {
    max-height: 200px;
  }
}

@media (max-width:400px) {
  .hi-embed-1 .course-image {
    max-height: 150px;
  }
}

.hi-embed-2 {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  background: #fff;
  color: #222;
}

.hi-embed-2 .tabs {
  display: flex;
  border-bottom: 2px solid #ddd;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.hi-embed-2 .tab {
  padding: 10px 20px;
  cursor: pointer;
  font-weight: 600;
  color: #333;
  border-bottom: 3px solid transparent;
  transition: .3s;
  font-size: 20px;
}

.hi-embed-2 .tab.active {
  color: #007BFF;
  border-color: #007BFF;
}

.hi-embed-2 .tab-content {
  display: none;
}

.hi-embed-2 .tab-content.active {
  display: block;
}

.hi-embed-2 .section {
  margin-bottom: 30px;
}

.hi-embed-2 .section h2 {
  font-size: 26px;
  font-weight: 700;
  color: #00296b;
  margin-bottom: 15px;
}

.hi-embed-2 .section p {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 15px;
}

.hi-embed-2 ul {
  list-style: disc;
  padding-left: 20px;
  font-size: 16px;
}

.hi-embed-2 .career-item {
  margin-bottom: 10px;
}

.hi-embed-2 .toggle-btn {
  margin-top: 20px;
  background: none;
  border: none;
  color: #007BFF;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  font-family: inherit;
}

.hi-embed-2 .toggle-btn:hover {
  text-decoration: underline;
}

.hi-embed-2 .curriculum-list {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 10px;
}

.hi-embed-2 .curriculum-item {
  background-color: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, .03);
  overflow: hidden;
  cursor: pointer;
}

.hi-embed-2 .curriculum-item:hover {
  box-shadow: 0 6px 12px rgba(0, 0, 0, .08);
}

.hi-embed-2 .curriculum-item-header {
  padding: 15px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
  font-size: 18px;
  color: #000;
}

.hi-embed-2 .curriculum-item-content {
  padding: 0 20px 15px 20px;
  font-size: 15px;
  color: #444;
  display: none;
}

.hi-embed-2 .arrow {
  transition: transform .3s ease;
}

.hi-embed-2 .arrow.rotate {
  transform: rotate(90deg);
}

.hi-embed-2 .hidden {
  display: none;
}

.hi-embed-2 .features-list {
  background-color: #fff;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
}

.hi-embed-2 .features-list li {
  margin-bottom: 15px;
  line-height: 1.6;
}

@media (max-width:767px) {
  .hi-embed-2 .tab {
    flex: 1 1 100%;
    text-align: center;
  }

  .hi-embed-2 .section h2 {
    font-size: 22px;
  }

  .hi-embed-2 .curriculum-item-header {
    font-size: 16px;
  }
}

.hi-learn__row {
  display: grid;
  grid-template-columns: .85fr 1fr 1fr;
  gap: 30px;
  align-items: start;
}

@media (max-width:900px) {
  .hi-learn__row {
    grid-template-columns: 1fr;
  }
}

.hi-icon-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.hi-icon-list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--c-text);
  font-size: 15px;
}

.hi-icon-list i {
  color: #3B56FF;
  font-size: 15px;
  margin-top: 3px;
  flex: none;
}

hr.divider {
  border: none;
  border-top: 1px solid var(--c-border);
  max-width: var(--container);
  margin: 0 auto;
}

.hi-more__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 30px;
}

.hi-view-all {
  background: #1363DF;
  color: #fff;
  padding: 20px;
  border-radius: 5px;
  font-family: "Roboto", var(--font-primary);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}

.hi-view-all:hover {
  background: #0d4bb5;
}

.hi-more__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

@media (max-width:1024px) {
  .hi-more__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:700px) {
  .hi-more__grid {
    grid-template-columns: 1fr;
  }
}

.hi-more .course-card {
  border: 1px solid #e6e8ee;
  border-radius: var(--radius-md);
  padding-bottom: 20px;
  overflow: hidden;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.hi-more .course-card__img {
  width: 100%;
  display: block;
}

.hi-more .course-card__title {
  margin: 0;
  padding: 0 20px;
  font-family: "Poppins", var(--font-primary);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
}

.hi-more .course-card__title a {
  color: #082A5E;
}

.hi-more .course-card__title a:hover {
  text-decoration: underline;
}

.hi-more .course-card__btn {
  margin: 0 20px;
  align-self: flex-end;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px;
  background: #1363DF;
  color: #fff;
  font-family: "Poppins", var(--font-primary);
  font-weight: 600;
  border-radius: 5px;
  transition: transform .2s ease;
}

.hi-more .course-card__btn:hover {
  transform: scale(1.03);
}

.indore-gallery {
  display: flex;
  flex-wrap: wrap;
}

.indore-gallery__item {
  width: 50%;
  overflow: hidden;
}

.indore-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width:767px) {
  .indore-gallery__item {
    width: 100%;
  }
}

.indore-heading {
  padding: 50px 0 0;
}

.indore-form-map {
  display: flex;
  flex-wrap: wrap;
}

.indore-form-map__form,
.indore-form-map__map {
  width: 50%;
}

.indore-form-map__form {
  padding: 50px 60px;
}

.indore-form-map__map iframe {
  display: block;
  width: 100%;
  height: 430px;
  border: 0;
}

@media (max-width:1024px) {
  .indore-form-map__form {
    padding: 40px 24px;
  }
}

@media (max-width:767px) {

  .indore-form-map__form,
  .indore-form-map__map {
    width: 100%;
  }
}

.jo-wide {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
}

.jo-accent-heading {
  border-left: 3px solid var(--c-gold);
  padding: 5px 0 5px 10px;
  margin-bottom: 14px;
}

.jo-accent-heading .title {
  margin: 0;
}

.jo-eyebrow-pill {
  display: inline-block;
  padding: 8px 18px;
  background: #FFF6E9;
  color: var(--c-navy-deep);
  border-radius: 30px;
  font-weight: 600;
  font-size: 14px;
}

.jo-hero {
  padding-block: 40px;
}

.jo-hero__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1.2fr .9fr;
  gap: 30px;
  align-items: center;
}

.jo-hero__content {
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: flex-start;
}

.jo-hero__content h1,
.jo-hero__content h2 {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.2;
}

.jo-hero__content p {
  margin: 0;
  color: var(--c-text);
}

.jo-hero__media img {
  width: 100%;
  height: 390px;
  object-fit: cover;
  border-radius: var(--radius-md);
}

.jo-hero__btns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  width: 100%;
  max-width: 420px;
}

.jo-hero__btns .btn {
  width: 100%;
}

@media (max-width:1024px) {
  .jo-hero__row {
    grid-template-columns: 1fr;
  }

  .jo-hero__media img {
    height: 260px;
  }
}

.jo-about {
  padding-block: 10px 40px;
}

.jo-stats-bar {
  padding-block: 20px 30px;
}

.jo-stats-bar__box {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding: 14px;
  border: 2px solid var(--c-gold);
  border-radius: var(--radius-md);
  background: #FAF8F5;
}

.jo-stats-bar__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  border: 2px solid var(--c-gold);
  border-radius: var(--radius-md);
  padding: 14px;
  box-shadow: var(--shadow-card);
}

.jo-stats-bar__item {
  text-align: center;
}

.jo-stats-bar__item .num {
  margin: 0 0 6px;
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--c-gold);
}

.jo-stats-bar__item .label {
  margin: 0;
  font-size: .95rem;
  font-weight: 600;
  color: #000;
}

@media (max-width:767px) {
  .jo-stats-bar__grid {
    grid-template-columns: 1fr 1fr;
  }
}

.jo-intro {
  padding-block: 30px 0;
}

.jo-intro__inner {
  max-width: 900px;
  margin-inline: auto;
  padding-inline: 20px;
}

.jo-intro p {
  color: var(--c-text);
}

.jo-placed {
  padding-block: 30px;
  text-align: center;
}

.jo-placed h2 {
  margin-bottom: 8px;
}

.jo-placed>.jo-wide>p {
  max-width: 820px;
  margin: 0 auto 20px;
  color: var(--c-text-soft);
}

.jo-placed .carousel {
  margin-bottom: 20px;
}

.jo-placed .carousel__track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 6px;
}

.jo-placed .carousel__item {
  flex: 0 0 calc(25% - 11px);
  scroll-snap-align: start;
  border-radius: 5px;
  overflow: hidden;
}

.jo-placed .carousel__item img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 5px;
}

@media (max-width:1024px) {
  .jo-placed .carousel__item {
    flex-basis: calc(50% - 7px);
  }
}

@media (max-width:600px) {
  .jo-placed .carousel__item {
    flex-basis: 85%;
  }
}

.jo-partners {
  padding-block: 30px;
  text-align: center;
}

.jo-partners h2 {
  margin-bottom: 8px;
}

.jo-partners>.jo-wide>p {
  max-width: 820px;
  margin: 0 auto;
  color: var(--c-text-soft);
}

.partner-section {
  width: 100%;
  overflow: hidden;
  background: #fff;
}

.scroll-left {
  animation: phScrollLeft 32s linear infinite;
}

@keyframes phScrollLeft {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.jo-info-stack {
  padding-block: 30px;
  display: flex;
  flex-direction: column;
  gap: 34px;
}

.jo-info-stack p {
  color: var(--c-text);
}

.jo-info-stack .pv-table-wrapper {
  margin-top: 14px;
}

.jo-featured {
  padding-block: 20px;
}

.jo-featured__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.jo-featured__box {
  position: relative;
  min-height: 250px;
  border-radius: var(--radius-md);
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  background: #000 url('assets/img/2026/06/112390.webp') center/cover no-repeat;
  overflow: hidden;
}

.jo-featured__box::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .4);
}

.jo-featured__box>* {
  position: relative;
  z-index: 1;
}

.jo-featured__eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .02em;
}

.jo-featured__box h3 {
  color: #fff;
  margin: 0;
  font-size: 1.4rem;
  max-width: 70%;
}

.jo-featured__box .btn {
  align-self: flex-start;
}

@media (max-width:1024px) {
  .jo-featured__row {
    grid-template-columns: 1fr;
  }

  .jo-featured__box h3 {
    max-width: 100%;
  }
}

.pv-table-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  border-radius: 10px;
  border: 1px solid #000;
}

.pv-career-table {
  width: 100%;
  min-width: 600px;
  border-collapse: collapse;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .06);
}

.pv-career-table thead th {
  background: #02284D;
  color: #fff;
  padding: 12px 22px;
  text-align: left;
  font-size: 16px;
  font-weight: 700;
}

.pv-career-table td {
  padding: 14px 18px;
  border: 1px solid #000;
  vertical-align: top;
  font-size: 15px;
  line-height: 1.6;
}

.pv-career-table td:first-child {
  width: 220px;
  min-width: 180px;
  font-weight: 700;
  background: #fcf8f2;
}

.pv-salary {
  display: block;
  margin-top: 8px;
  color: #b77c28;
  font-weight: 600;
}

@media (max-width:767px) {
  .pv-career-table {
    min-width: 520px;
  }

  .pv-career-table thead th,
  .pv-career-table td {
    font-size: 13px;
    padding: 10px;
  }
}

.jo-curriculum {
  padding-block: 30px;
  text-align: center;
}

.jo-curriculum h2 {
  margin-bottom: 8px;
}

.jo-curriculum>p {
  max-width: 760px;
  margin: 0 auto 24px;
  color: var(--c-text-soft);
}

.jo-curriculum__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  text-align: left;
}

@media (max-width:900px) {
  .jo-curriculum__row {
    grid-template-columns: 1fr;
  }
}

.jo-why-race {
  padding-block: 40px;
  background: #EEF0FF;
  text-align: center;
}

.jo-why-race h2 {
  margin-bottom: 8px;
}

.jo-why-race>.jo-wide>p {
  max-width: 780px;
  margin: 0 auto 30px;
  color: var(--c-text);
}

.jo-why-race__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  text-align: left;
  margin-bottom: 10px;
}

.jo-why-race__card {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.jo-why-race__card-head {
  display: flex;
  align-items: center;
  gap: 14px;
}

.jo-why-race__card-head img {
  width: 35px;
  height: 35px;
  flex: none;
}

.jo-why-race__card-head h3 {
  margin: 0;
  font-size: 1.1rem;
  color: var(--c-navy-deep);
}

.jo-why-race__card p {
  margin: 0;
  color: var(--c-text);
}

.jo-why-race__note {
  color: #7A7A7A;
  margin-top: 16px;
}

@media (max-width:1024px) {
  .jo-why-race__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:600px) {
  .jo-why-race__grid {
    grid-template-columns: 1fr;
  }
}

.jo-mentors {
  padding-block: 30px 20px;
}

.jo-mentors__inner {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
}

.jo-mentors p {
  color: var(--c-text);
}

.jo-salary {
  padding-block: 30px;
  text-align: center;
}

.jo-salary h2 {
  margin-bottom: 8px;
}

.jo-salary>.jo-wide>p {
  max-width: 780px;
  margin: 0 auto 20px;
  color: var(--c-text);
}

.jo-salary .pv-career-table td:first-child {
  background: #fff;
}

.jo-salary .pv-career-table thead th {
  background: #000;
}

.jo-cert {
  background: #02284D;
  padding-block: 50px 0;
  text-align: center;
}

.jo-cert h2 {
  color: #fff;
  margin: 0;
}

.jo-cert-row {
  background: #F2F2F2;
}

.jo-cert-row__inner {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  padding-block: 40px;
  text-align: left;
  align-items: center;
}

.jo-cert-row__media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  background: repeating-linear-gradient(45deg, #e9e9e9, #e9e9e9 10px, #f2f2f2 10px, #f2f2f2 20px);
  border-radius: var(--radius-md);
  color: #8a8a8a;
  font-size: .85rem;
  text-align: center;
  padding: 20px;
}

.jo-cert-row__text {
  border-left: 1px solid #ddd;
  padding-left: 20px;
}

.jo-cert-row__eyebrow {
  display: block;
  color: var(--c-gold);
  font-weight: 500;
  margin-bottom: 6px;
}

.jo-cert-row__text h3 {
  margin: 0 0 10px;
  font-size: 1.5rem;
}

@media (max-width:1024px) {
  .jo-cert-row__inner {
    grid-template-columns: 1fr;
  }

  .jo-cert-row__text {
    border-left: none;
    padding-left: 0;
  }
}

.jo-success {
  padding-block: 40px;
  background: #FFF6E9;
  text-align: center;
}

.jo-success h2 {
  margin-bottom: 8px;
}

.jo-success>.jo-wide>p {
  max-width: 780px;
  margin: 0 auto 24px;
  color: var(--c-text);
}

.jo-success__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.jo-success__card {
  border: 1px solid var(--c-gold);
  border-radius: var(--radius-md);
  padding: 20px;
  background: #fff;
}

.jo-success__card .counter {
  display: block;
  font-size: 2rem;
  font-weight: 600;
  color: var(--c-gold);
  margin-bottom: 6px;
}

.jo-success__card p {
  margin: 0;
  font-weight: 600;
  color: #000;
  font-size: .95rem;
}

@media (max-width:900px) {
  .jo-success__grid {
    grid-template-columns: 1fr 1fr;
  }
}

.jo-admission {
  padding-block: 30px;
  text-align: center;
}

.jo-admission h2 {
  margin-bottom: 8px;
}

.jo-admission>.jo-wide>p {
  max-width: 780px;
  margin: 0 auto 26px;
  color: var(--c-text);
}

.jo-admission__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
  margin-bottom: 24px;
}

.jo-admission__step {
  border: 1px solid var(--c-gold);
  border-radius: var(--radius-sm);
  padding: 20px;
  text-align: left;
  background: #fff;
}

.jo-admission__step img {
  width: 30px;
  height: 30px;
  margin-bottom: 10px;
}

.jo-admission__step h3 {
  margin: 0 0 8px;
  font-size: 1.05rem;
  color: #000;
}

.jo-admission__step p {
  margin: 0;
  font-size: .9rem;
  color: #000;
}

@media (max-width:1024px) {
  .jo-admission__grid {
    grid-template-columns: 1fr 1fr;
  }
}

.jo-testimonials {
  background: #02284d;
  padding-block: 40px;
  text-align: center;
}

.jo-testimonials h2 {
  color: #fff;
  margin-bottom: 20px;
}

.el-nav-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  box-shadow: 0 6px 15px rgba(0, 0, 0, .15);
}

.jo-faq {
  padding-block: 40px;
}

.jo-faq__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: .75fr 1fr;
  gap: 24px;
  align-items: start;
}

.jo-faq__form,
.jo-faq__list {
  border-top: 5px solid var(--c-gold);
  border-radius: 10px;
  padding: 20px;
  background: var(--c-surface-alt);
}

.jo-faq__list h2 {
  margin-bottom: 16px;
}

@media (max-width:900px) {
  .jo-faq__row {
    grid-template-columns: 1fr;
  }
}

.jo-final-cta {
  position: relative;
  background: #000 url('assets/img/2026/07/bg_overlay_3.png') center/cover no-repeat;
  padding-block: 60px;
  color: #fff;
}

.jo-final-cta__row {
  position: relative;
  z-index: 1;
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.jo-final-cta__text h2 {
  color: #fff;
  font-size: 1.9rem;
  font-weight: 500;
  margin-bottom: 10px;
}

.jo-final-cta__text p {
  color: #dfe6f0;
  margin: 0;
  max-width: 52ch;
}

.jo-final-cta .btn {
  border: 2px solid #fff;
}

@media (max-width:767px) {
  .jo-final-cta__row {
    text-align: center;
    justify-content: center;
  }
}

.jo-locations img {
  max-width: 100%;
}

.pv-wide {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
}

.pv-accent-heading {
  border-left: 3px solid var(--c-gold);
  padding: 5px 0 5px 10px;
  margin-bottom: 14px;
}

.pv-accent-heading .title {
  margin: 0;
}

.pv-infobar {
  background: #F5F6FA;
  padding-block: 40px;
}

.pv-infobar h2 {
  text-align: center;
  border-left: 5px solid var(--c-gold);
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 auto 24px;
  padding: 5px;
  font-size: 1.25rem;
}

.pv-infobar__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.pv-infobar__item {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #DBDBDB;
  border-radius: 10px;
  padding: 14px;
  min-height: 90px;
}

.pv-infobar__item i,
.pv-infobar__item img {
  flex: none;
  width: 30px;
  height: 30px;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  background: #fff;
  border-radius: 50%;
  border: 1px solid #000;
  padding: 6px;
  box-sizing: border-box;
}

.pv-infobar__item h3 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 500;
}

.pv-infobar__item p {
  margin: 2px 0 0;
  font-size: .85rem;
  font-weight: 600;
  color: #464646;
}

@media (max-width:1024px) {
  .pv-infobar__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.pv-highlight {
  padding-block: 20px;
}

.pv-highlight__box {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
}

.pv-highlight__grid {
  border: 2px solid var(--c-gold);
  border-radius: var(--radius-md);
  padding: 10px;
  box-shadow: var(--shadow-card);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 11px;
  text-align: center;
}

.pv-highlight__item {
  padding: 10px;
}

.pv-highlight__num {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--c-gold);
}

.pv-highlight__label {
  margin: 0;
  font-size: .95rem;
  font-weight: 600;
  color: #000;
}

@media (max-width:1024px) {
  .pv-highlight__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.pv-hero {
  padding-block: 50px;
}

.pv-hero__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1.2fr .9fr;
  gap: 30px;
  align-items: center;
}

.pv-hero__content {
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: flex-start;
}

.pv-hero__content h2 {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--c-navy-deep);
}

.pv-hero__content p {
  margin: 0;
  color: #000;
}

.pv-hero__btns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  width: 100%;
  max-width: 420px;
}

.pv-hero__btns .btn {
  width: 100%;
}

.pv-hero__media img {
  width: 100%;
  height: 450px;
  object-fit: cover;
  object-position: center left;
  border-radius: var(--radius-md);
}

@media (max-width:1024px) {
  .pv-hero__row {
    grid-template-columns: 1fr;
  }

  .pv-hero__media img {
    height: 225px;
  }
}

.pv-tabs {
  padding-block: 60px 50px;
}

.pv-tabs__wrap {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
}

.pv-tabs__panel-inner p {
  color: #000;
}

.pv-tabs__panel-inner .pv-accent-heading {
  margin-top: 24px;
}

.pv-tabs__panel-inner .pv-accent-heading:first-child {
  margin-top: 0;
}

.pv-badge-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 20px 0;
}

.pv-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px;
  border: 1px solid #DDDDDD;
  border-radius: 10px;
}

.pv-badge i,
.pv-badge img {
  flex: none;
  width: 23px;
  height: 23px;
  font-size: 20px;
  color: #02284D;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pv-badge h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: var(--c-navy-deep);
}

@media (max-width:600px) {
  .pv-badge-grid {
    grid-template-columns: 1fr;
  }
}

.pv-career-table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
  font-family: inherit;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .06);
}

.pv-salary-table thead th {
  background: #000;
}

.pv-placed {
  padding-block: 30px;
  text-align: center;
}

.pv-placed h2 {
  margin-bottom: 8px;
}

.pv-placed>.pv-wide>p {
  max-width: 820px;
  margin: 0 auto 20px;
  color: var(--c-text-soft);
}

.pv-placed .carousel {
  margin-bottom: 20px;
}

.pv-placed .carousel__track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 6px;
}

.pv-placed .carousel__item {
  flex: 0 0 calc(25% - 11px);
  scroll-snap-align: start;
  border-radius: 5px;
  overflow: hidden;
}

.pv-placed .carousel__item img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 5px;
}

@media (max-width:1024px) {
  .pv-placed .carousel__item {
    flex-basis: calc(50% - 7px);
  }
}

@media (max-width:600px) {
  .pv-placed .carousel__item {
    flex-basis: 85%;
  }
}

.pv-hiring {
  padding-block: 20px 30px;
  text-align: center;
}

.pv-hiring h2 {
  margin-bottom: 8px;
}

.pv-hiring p {
  max-width: 700px;
  margin: 0 auto;
  color: var(--c-text);
}

.pv-curriculum {
  padding-block: 40px;
  text-align: center;
}

.pv-curriculum h2 {
  margin-bottom: 8px;
}

.pv-curriculum>.pv-wide>p {
  max-width: 780px;
  margin: 0 auto 24px;
  color: var(--c-text-soft);
}

.pv-curriculum__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  text-align: left;
}

@media (max-width:900px) {
  .pv-curriculum__row {
    grid-template-columns: 1fr;
  }
}

.pv-master,
.pv-eligibility,
.pv-fees,
.pv-mentors,
.pv-future {
  padding-block: 30px;
}

.pv-master__inner,
.pv-eligibility__inner,
.pv-fees__inner,
.pv-mentors__inner,
.pv-future__inner {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
}

.pv-master p,
.pv-eligibility p,
.pv-fees p,
.pv-mentors p,
.pv-future p {
  color: var(--c-text);
}

.pv-eligibility {
  background: var(--c-surface-alt);
}

.pv-program {
  padding-block: 30px;
}

.pv-program__inner {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
}

.pv-program>.pv-program__inner>p {
  color: var(--c-text);
  margin-bottom: 20px;
}

.pv-program__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.pv-program__card {
  border-left: 4px solid var(--c-gold);
  border-radius: var(--radius-md);
  padding: 20px;
  background: var(--c-surface-alt);
}

.pv-program__card-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
}

.pv-program__card-head img {
  width: 30px;
  height: 30px;
  flex: none;
}

.pv-program__card-head h3 {
  margin: 0;
  font-size: 1.1rem;
  color: var(--c-navy-deep);
}

.pv-program__card p {
  margin: 0;
  color: var(--c-text);
}

@media (max-width:767px) {
  .pv-program__grid {
    grid-template-columns: 1fr;
  }
}

.pv-salary-section {
  padding-block: 30px;
  text-align: center;
}

.pv-salary-section h2 {
  margin-bottom: 8px;
}

.pv-salary-section>.pv-wide>p {
  max-width: 780px;
  margin: 0 auto 20px;
  color: var(--c-text);
}

.pv-salary-section .pv-career-table td:first-child {
  background: #fff;
}

.pv-why {
  padding-block: 40px;
  background: #EEF0FF;
  text-align: center;
}

.pv-why h2 {
  margin-bottom: 8px;
}

.pv-why>.pv-wide>p {
  max-width: 780px;
  margin: 0 auto 30px;
  color: var(--c-text);
}

.pv-why__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  text-align: left;
}

.pv-why__card {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pv-why__card-head {
  display: flex;
  align-items: center;
  gap: 14px;
}

.pv-why__card-head img {
  width: 35px;
  height: 35px;
  flex: none;
}

.pv-why__card-head h3 {
  margin: 0;
  font-size: 1.1rem;
  color: var(--c-navy-deep);
}

.pv-why__card p {
  margin: 0;
  color: var(--c-text);
}

@media (max-width:1024px) {
  .pv-why__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:600px) {
  .pv-why__grid {
    grid-template-columns: 1fr;
  }
}

.pv-admission {
  padding-block: 30px;
  text-align: center;
}

.pv-admission h2 {
  margin-bottom: 8px;
}

.pv-admission>.pv-wide>p {
  max-width: 780px;
  margin: 0 auto 26px;
  color: var(--c-text);
}

.pv-admission__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}

.pv-admission__step {
  border: 1px solid var(--c-gold);
  border-radius: var(--radius-sm);
  padding: 20px;
  text-align: left;
  background: #fff;
}

.pv-admission__step img {
  width: 30px;
  height: 30px;
  margin-bottom: 10px;
}

.pv-admission__step h3 {
  margin: 0 0 8px;
  font-size: 1.05rem;
  color: #000;
}

.pv-admission__step p {
  margin: 0;
  font-size: .9rem;
  color: #000;
}

@media (max-width:1024px) {
  .pv-admission__grid {
    grid-template-columns: 1fr 1fr;
  }
}

.pv-faq {
  padding-block: 40px;
}

.pv-faq__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: .75fr 1fr;
  gap: 24px;
  align-items: start;
}

.pv-faq__form {
  border-top: 5px solid var(--c-gold);
  border-radius: 10px;
  padding: 20px;
  background: var(--c-surface-alt);
}

.pv-faq__list {
  border-top: 5px solid var(--c-gold);
  border-radius: 10px;
  padding: 20px;
  background: var(--c-surface-alt);
}

.pv-faq__list h2 {
  margin-bottom: 16px;
}

@media (max-width:900px) {
  .pv-faq__row {
    grid-template-columns: 1fr;
  }
}

.pv-final-cta {
  position: relative;
  background: #000 url('assets/img/2026/06/112390.webp') center/cover no-repeat;
  padding-block: 60px;
  color: #fff;
}

.pv-final-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .35);
}

.pv-final-cta__row {
  position: relative;
  z-index: 1;
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.pv-final-cta__text h2 {
  color: #fff;
  font-size: 1.9rem;
  font-weight: 500;
  margin-bottom: 10px;
}

.pv-final-cta__text p {
  color: #dfe6f0;
  margin: 0;
  max-width: 52ch;
}

.pv-final-cta .btn {
  border: 2px solid #fff;
}

@media (max-width:767px) {
  .pv-final-cta__row {
    text-align: center;
    justify-content: center;
  }
}

.jo-intro__inner {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  max-width: 900px;
}

.scroll-left {
  animation: joScrollLeft 32s linear infinite;
}

@keyframes joScrollLeft {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.jo-info-grid {
  padding-block: 30px;
}

.jo-info-grid__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
}

.jo-info-grid__col p {
  color: var(--c-text);
}

@media (max-width:1024px) {
  .jo-info-grid__row {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.jo-details-grid {
  padding-block: 30px;
}

.jo-details-grid__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
}

@media (max-width:1024px) {
  .jo-details-grid__row {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

@media (max-width:1024px) {
  .jo-cert-title {
    display: none;
  }
}

.jo-cert-row__media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  background: repeating-linear-gradient(45deg, #e9e9e9, #e9e9e9 10px, #f2f2f2 10px, #f2f2f2 20px);
  border-radius: var(--radius-md);
  color: #8a8a8a;
  font-size: .85rem;
}

.jo-who-join {
  padding-block: 30px;
}

.jo-who-join__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1fr .8fr;
  gap: 30px;
  align-items: center;
}

.jo-who-join__row.reverse {
  direction: ltr;
}

.jo-who-join__media img {
  width: 100%;
  height: 330px;
  object-fit: cover;
  border-radius: var(--radius-md);
}

.jo-who-join p {
  color: var(--c-text);
}

@media (max-width:1024px) {
  .jo-who-join__row {
    grid-template-columns: 1fr;
  }

  .jo-who-join__media img {
    height: 230px;
  }
}

.pill-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}

.pill {
  display: inline-flex;
  align-items: center;
  padding: 9px 16px;
  background: #02284D;
  color: #fff;
  border: 1px solid #BEBEBE;
  border-radius: 25px;
  font-size: 13px;
}

.jo-program {
  padding-block: 30px;
}

.jo-program__inner {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
}

.jo-program>.jo-program__inner>p {
  color: var(--c-text);
  margin-bottom: 20px;
}

.jo-program__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.jo-program__card {
  border-left: 4px solid var(--c-gold);
  border-radius: var(--radius-md);
  padding: 20px;
  background: var(--c-surface-alt);
}

.jo-program__card-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
}

.jo-program__card-head img {
  width: 30px;
  height: 30px;
  flex: none;
}

.jo-program__card-head h3 {
  margin: 0;
  font-size: 1.1rem;
  color: var(--c-navy-deep);
}

.jo-program__card p {
  margin: 0;
  color: var(--c-text);
}

@media (max-width:767px) {
  .jo-program__grid {
    grid-template-columns: 1fr;
  }
}

.jo-careers {
  padding-block: 30px;
}

.jo-careers__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 30px;
}

.jo-careers__text p {
  color: var(--c-text);
}

@media (max-width:1024px) {
  .jo-careers__row {
    grid-template-columns: 1fr;
  }
}

.mumbai-gallery {
  padding-block: 0;
}

.mumbai-gallery__row {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}

.mumbai-gallery__col {
  flex: 0 0 50%;
  max-width: 50%;
  overflow: hidden;
}

.mumbai-gallery__col img {
  width: 100%;
  height: 380px;
  object-fit: cover;
}

@media (max-width:767px) {
  .mumbai-gallery__col {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .mumbai-gallery__col img {
    height: 220px;
  }
}

.mumbai-heading {
  padding-block: 50px 0;
}

.mumbai-contact__grid {
  display: flex;
  gap: 0;
  align-items: stretch;
}

.mumbai-contact__form,
.mumbai-contact__map {
  flex: 0 0 50%;
  max-width: 50%;
}

@media (max-width:1024px) {
  .mumbai-contact__grid {
    flex-direction: column;
  }

  .mumbai-contact__form,
  .mumbai-contact__map {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.form_btn_cf7 .contact-form-wrap {
  background: var(--c-surface-alt);
  border-radius: var(--radius-lg);
  padding: 40px;
  height: 100%;
}

.form_btn_cf7 .row {
  display: block;
}

.form_btn_cf7 .col-12 {
  width: 100%;
}

.form_btn_cf7 .form-label {
  display: block;
  font-weight: 600;
  font-size: 14px;
  color: var(--c-navy-deep);
  margin-bottom: 6px;
}

.form_btn_cf7 .text-danger {
  color: var(--c-danger);
}

.form_btn_cf7 .text-center {
  text-align: center;
}

.form_btn_cf7 .px-5 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.mumbai-contact__map iframe {
  width: 100%;
  height: 430px;
  border: 0;
  display: block;
}

@media (max-width:767px) {
  .mumbai-contact__map iframe {
    height: 300px;
  }
}

.nagpur-gallery {
  padding-block: 0;
}

.nagpur-gallery__row {
  display: flex;
  gap: 0;
}

.nagpur-gallery__col {
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
}

.nagpur-gallery__col img {
  width: 100%;
  height: 380px;
  object-fit: cover;
}

@media (max-width:767px) {
  .nagpur-gallery__row {
    flex-direction: column;
  }

  .nagpur-gallery__col {
    flex: 0 0 100%;
  }

  .nagpur-gallery__col img {
    height: 220px;
  }
}

.nagpur-heading {
  padding-block: 50px 0;
}

.nagpur-contact__grid {
  display: flex;
  gap: 0;
  align-items: stretch;
}

.nagpur-contact__form,
.nagpur-contact__map {
  flex: 0 0 50%;
  max-width: 50%;
}

@media (max-width:1024px) {
  .nagpur-contact__grid {
    flex-direction: column;
  }

  .nagpur-contact__form,
  .nagpur-contact__map {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.nagpur-contact__map iframe {
  width: 100%;
  height: 430px;
  border: 0;
  display: block;
}

@media (max-width:767px) {
  .nagpur-contact__map iframe {
    height: 300px;
  }
}

.placement-hero {}

@media (max-width:767px) {
  .placement-hero {
    margin-top: -60px;
  }
}

.placement-gallery {
  display: flex;
  flex-wrap: wrap;
}

.placement-gallery__item {
  flex: 0 0 33.3333%;
  max-width: 33.3333%;
}

.placement-gallery__item img {
  width: 100%;
  height: auto;
  display: block;
  border: 3px solid var(--c-navy-deep);
}

.ph2-heading {
  padding-block: 56px 8px;
}

@media (max-width:767px) {

  /* matches settings.margin_mobile on the top-level container (203a053)
     in the source JSON: top:-60px, isLinked:false */
  .ph2-heading {
    margin-top: -60px;
  }
}

.ph2-gallery {
  padding-block: 8px 64px;
}

.gallery-row {
  display: flex;
  flex-wrap: wrap;
}

.gallery-col {
  flex: 0 0 33.3333%;
  max-width: 33.3333%;
}

.gallery-col img {
  width: 100%;
  height: auto;
  display: block;
  border: 3px solid var(--c-text);
}

/* Placement year pages – section intro under banner */
.pl-page-intro {
  padding-block: clamp(28px, 4vw, 40px) 8px;
  text-align: center;
  background: #fff;
}

.pl-page-intro__desc {
  margin: 10px auto 0;
  color: #5a6578;
  font-size: clamp(0.95rem, 0.9rem + 0.25vw, 1.05rem);
  line-height: 1.55;
}

.pl-page-intro__title {
  margin: 0 auto;
  max-width: 720px;
  color: var(--c-navy);
  font-size: clamp(1.25rem, 1.1rem + 0.8vw, 1.65rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.01em;
}

.pl25-gallery {
  padding: clamp(36px, 5vw, 15px) 0 clamp(48px, 6vw, 50px);
  background: #fff;
}

.pl25-grid {
  /* CSS columns create a masonry flow, so shorter images do not leave gaps. */
  column-count: 4;
  column-gap: clamp(12px, 1.8vw, 22px);
  align-items: start;
  max-width: 1320px;
  margin-inline: auto;
  padding-inline: clamp(16px, 3vw, 28px);
}

.pl25-card {
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(6, 29, 56, 0.06);
  border: 1px solid #e8ecf2;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  /* Let card height follow the full image, without a fixed row height. */
  display: block;
  break-inside: avoid;
  margin: 0 0 clamp(12px, 1.8vw, 22px);
}

.pl25-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(6, 29, 56, 0.12);
}

.pl25-card img {
  width: 100%;
  height: auto;
  /* never force a fixed height */
  max-width: 100%;
  display: block;
  object-fit: contain;
  /* show full poster, no crop */
  object-position: center top;
}

/* Large tablet / small desktop: 3 columns */
@media (max-width: 1100px) {
  .pl25-grid {
    column-count: 3;
    column-gap: 16px;
  }

  .pl25-card {
    margin-bottom: 16px;
  }
}

/* Tablet: 2 columns */
@media (max-width: 768px) {
  .pl25-grid {
    column-count: 2;
    column-gap: 12px;
    padding-inline: 14px;
  }

  .pl25-card {
    margin-bottom: 12px;
  }
}

/* Phone: still 2 columns for denser gallery (full image, no crop) */
@media (max-width: 480px) {
  .pl25-grid {
    column-count: 2;
    column-gap: 8px;
    padding-inline: 10px;
  }

  .pl25-card {
    margin-bottom: 8px;
  }
}

/* Very small: 1 column for maximum readability */
@media (max-width: 360px) {
  .pl25-grid {
    column-count: 1;
    column-gap: 0;
  }
}

.pl26-gallery {
  padding-block: 64px;
}

.pl26-gallery-row {
  display: flex;
  flex-wrap: wrap;
}

.pl26-gallery-item {
  width: 33.3333%;
}

.pl26-gallery-item img {
  width: 100%;
  height: auto;
  display: block;
  border: 3px solid var(--c-text);
}

.pl26-gallery-item img.pl26-fixed-h {
  object-fit: cover;
}

.pd-heading {
  padding-block: 56px 8px;
}

.pd-gallery {
  padding-block: 8px 64px;
}

.section__title .title .position-relative {
  position: relative;
  display: inline-block;
  color: var(--c-navy-deep);
}

.section__title .title .position-relative::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 6px;
  border-radius: 3px;
  background: var(--c-gold);
  opacity: .6;
}

.ph-heading {
  padding-block: 56px 24px;
}

@media (max-width:767px) {
  .ph-heading {
    padding-block: 36px 16px;
  }
}

.ph-block {
  max-width: var(--container);
  margin-inline: auto;
}

.ph-hero {
  padding: 128px 54px 54px;
}

.ph-carousel-1 {
  padding: 50px 0 0;
}

.ph-carousel-2 {
  padding: 0 0 50px;
}

.ph-student-heading {
  padding: 0;
}

.ph-carousel-3 {
  padding: 43px 0 0;
}

.ph-stories-heading {
  padding: 110px 54px 0;
}

.ph-carousel-4 {
  padding: 30px 0 40px;
}

@media (max-width:767px) {
  .ph-hero {
    padding: 64px 20px 28px;
  }

  .ph-carousel-1 {
    padding: 28px 0 0;
  }

  .ph-carousel-2 {
    padding: 0 0 28px;
  }

  .ph-student-heading {
    padding: 0;
  }

  .ph-carousel-3 {
    padding: 24px 0 0;
  }

  .ph-stories-heading {
    padding: 56px 20px 0;
  }

  .ph-carousel-4 {
    padding: 18px 0 24px;
  }
}

.section-title .title {
  margin-bottom: .35em;
}

.section-title:not(.text-center) {
  text-align: left;
}

.carousel__item img {
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  width: 100%;
}

.carousel--4up .carousel__item {
  width: calc((100% - 60px) / 4);
}

.carousel--3up .carousel__item {
  width: calc((100% - 40px) / 3);
}

@media (max-width:1024px) {
  .carousel--4up .carousel__item {
    width: calc((100% - 40px) / 3);
  }

  .carousel--3up .carousel__item {
    width: calc((100% - 20px) / 2);
  }
}

@media (max-width:767px) {
  .carousel {
    padding-inline: 20px;
  }

  .carousel--4up .carousel__item {
    width: 68%;
  }

  .carousel--3up .carousel__item {
    width: 78%;
  }

  .carousel__prev {
    left: -14px;
  }

  .carousel__next {
    right: -14px;
  }
}

.pl23-hero {
  padding-block: 64px 24px;
}

.pl23-gallery {
  padding-block: 0 64px;
}

.pl23-gallery-row {
  display: flex;
  flex-wrap: wrap;
}

.pl23-gallery-item {
  width: 33.3333%;
}

.pl23-gallery-item img {
  width: 100%;
  display: block;
}

.pl23-gallery-row.is-hidden-all {
  display: none;
}

.pl23-gallery-row--bordered .pl23-gallery-item img {
  border: 3px solid #3c3c3c;
}

.policy-section {
  padding-block: 80px;
}

@media (max-width:767px) {
  .policy-section {
    padding-block: 48px;
  }
}

.policy-content {
  max-width: 820px;
  margin-inline: auto;
  color: var(--c-text);
}

.policy-content>p:first-child {
  font-size: 1.05rem;
  color: var(--c-text-soft);
}

.policy-content p {
  margin: 0 0 1em;
}

.policy-content strong {
  color: var(--c-navy-deep);
  font-weight: 700;
}

.policy-content p:has(> strong:only-child) {
  margin-top: 1.8em;
  margin-bottom: .6em;
}

.policy-content p:has(> strong:only-child) strong {
  display: block;
  font-family: var(--font-accent);
  font-size: 1.15rem;
}

.policy-content h2 {
  margin-top: 1.8em;
  margin-bottom: .6em;
  color: var(--c-navy-deep);
  font-weight: 700;
  font-family: var(--font-accent);
  font-size: 1.15rem;
}

.policy-content ul {
  margin: 0 0 1em;
  padding-left: 1.4em;
  list-style: disc;
}

.policy-content ul li {
  margin-bottom: .5em;
  line-height: 1.65;
}

.policy-content ul li:last-child {
  margin-bottom: 0;
}

.policy-content ul p {
  margin: 0;
  display: inline;
}

.policy-content a.decorated-link {
  color: var(--c-blue);
  text-decoration: underline;
  font-weight: 600;
}

.policy-content a.decorated-link:hover {
  color: var(--c-navy);
}

.policy-content em {
  color: var(--c-text-soft);
}

.pune-gallery {
  padding-block: 0;
}

.pune-gallery__row {
  display: flex;
  gap: 0;
}

.pune-gallery__col {
  flex: 0 0 50%;
  max-width: 50%;
  overflow: hidden;
}

.pune-gallery__col img {
  width: 100%;
  height: 380px;
  object-fit: cover;
}

@media (max-width:767px) {
  .pune-gallery__row {
    flex-direction: column;
  }

  .pune-gallery__col {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .pune-gallery__col img {
    height: 220px;
  }
}

.pune-heading {
  padding-block: 50px 30px;
}

.pune-contact__grid {
  display: flex;
  gap: 0;
  align-items: stretch;
}

.pune-contact__form,
.pune-contact__map {
  flex: 0 0 50%;
  max-width: 50%;
}

@media (max-width:1024px) {
  .pune-contact__grid {
    flex-direction: column;
  }

  .pune-contact__form,
  .pune-contact__map {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.pune-contact__map iframe {
  width: 100%;
  height: 425px;
  border: 0;
  display: block;
}

@media (max-width:767px) {
  .pune-contact__map iframe {
    height: 300px;
  }
}

.blog-post {
  max-width: 760px;
  padding-block: 56px 80px;
}

.blog-post__back a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--c-blue);
  font-weight: 600;
  font-size: 14px;
}

.blog-post__back a:hover {
  color: var(--c-navy-deep);
}

.blog-post__back--bottom {
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid var(--c-border);
}

.blog-post__header {
  margin: 24px 0 32px;
}

.blog-post__header h1 {
  margin-bottom: 14px;
}

.blog-post__meta {
  color: var(--c-text-soft);
  font-size: 14px;
  margin: 0;
}

.blog-post__content {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: var(--c-text);
}

.blog-post__content p {
  margin: 0 0 1.2em;
}

.blog-post__content strong {
  color: var(--c-navy-deep);
}

.blog-post__content ul {
  list-style: disc;
  padding-left: 1.4em;
  margin: 0 0 1.2em;
}

.blog-post__content ul li {
  margin-bottom: .5em;
}

@media (max-width:600px) {
  .blog-post {
    padding-block: 36px 56px;
  }
}



/* ============================================================
   Contact page enhancements (responsive, trust, form UX)
   ============================================================ */
.contact-intro {
  padding-block: 40px 8px;
}

.contact-intro .desc {
  margin-top: 12px;
  color: var(--c-text-soft);
  line-height: 1.65;
}

/* Form more prominent on desktop (competitor-style balance) */
.contact-grid--swap {
  display: flex;
  flex-direction: row-reverse;
  gap: 40px;
  align-items: flex-start;
}

.contact-grid--swap .contact-form-col {
  flex: 1 1 52%;
  max-width: 52%;
}

.contact-grid--swap .contact-info-col {
  flex: 1 1 48%;
  max-width: 48%;
}

@media (max-width: 900px) {
  .contact-grid--swap {
    flex-direction: column;
  }

  .contact-grid--swap .contact-form-col,
  .contact-grid--swap .contact-info-col {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

/* Form polish */
.contact-form-wrap .form-lead {
  margin: -8px 0 20px;
  color: var(--c-text-soft);
  font-size: 0.95rem;
}

.contact-form-wrap .form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1 1 0;
  min-width: 0;
}

.contact-form-wrap .form-field label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--c-navy-deep);
}

.contact-form-wrap .form-field label span {
  color: #c0392b;
}

.contact-form-wrap .form-row {
  display: flex;
  gap: 14px;
  margin-bottom: 0;
}

@media (max-width: 600px) {
  .contact-form-wrap .form-row {
    flex-direction: column;
    gap: 12px;
  }
}

.contact-form-wrap .cta-form .form-control,
.contact-form-wrap .cta-form .form-select,
.contact-form-wrap .cta-form textarea.form-control {
  width: 100%;
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid #d0d7e2;
  border-radius: 8px;
  font-size: 0.95rem;
  background: #fff;
}

.contact-form-wrap .cta-form textarea.form-control {
  min-height: 90px;
  resize: vertical;
}

.contact-form-wrap .cta-form .form-control:focus,
.contact-form-wrap .cta-form .form-select:focus,
.contact-form-wrap .cta-form textarea:focus {
  outline: none;
  border-color: var(--c-gold);
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.18);
}

.contact-form-wrap .form-actions {
  margin-top: 8px;
}

.contact-form-wrap .btn-block {
  width: 100%;
  min-height: 48px;
  font-weight: 600;
}

.contact-form-wrap .form-note {
  margin-top: 12px;
  font-size: 0.8rem;
  color: var(--c-text-soft);
  line-height: 1.45;
}

/* Quick contact buttons */
.contact-quick {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-bottom: 28px;
}

@media (max-width: 480px) {
  .contact-quick {
    grid-template-columns: 1fr;
  }
}

.contact-quick__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: var(--c-surface-alt, #f5f7fb);
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  border: 1px solid #e6ebf2;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.contact-quick__item:hover {
  border-color: var(--c-gold);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}

.contact-quick__item .icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-gold);
  font-size: 1rem;
}

.contact-quick__item .icon.wa {
  color: #25d366;
}

.contact-quick__item strong {
  display: block;
  font-size: 0.8rem;
  color: var(--c-text-soft);
  font-weight: 500;
}

.contact-quick__item>span>span {
  display: block;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--c-navy-deep);
}

/* Contact branch cards (scoped so they don't clash with other .branch-card) */
.branches-heading {
  margin: 0 0 14px;
  font-size: 1.05rem;
  color: var(--c-navy-deep);
}

.branch-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.contact-branch-card {
  padding: 14px 16px;
  border: 1px solid #e6ebf2;
  border-radius: 10px;
  background: #fff;
  text-align: left;
  box-shadow: none;
  transform: none;
}

.contact-branch-card:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
  transform: none;
}

.contact-branch-card .branch-card__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  color: var(--c-navy-deep);
}

.contact-branch-card .branch-card__head i {
  color: var(--c-gold);
}

.contact-branch-card p {
  margin: 0 0 8px;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--c-text);
}

.contact-branch-card .branch-card__links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  font-size: 0.875rem;
}

.contact-branch-card .branch-card__links a {
  color: var(--c-blue, #2a4de0);
  font-weight: 600;
  text-decoration: none;
}

.contact-branch-card .branch-card__links a:hover {
  text-decoration: underline;
}

/* Map title */
.map-title {
  font-size: 1.2rem;
  margin: 0;
  color: var(--c-navy-deep);
  text-align: center;
}

.contact-map-section {
  padding-block: 24px 0;
}

.contact-map iframe {
  height: 420px;
}

@media (max-width: 767px) {
  .contact-map iframe {
    height: 280px;
  }
}

/* FAQ */
.contact-faq {
  padding-block: 48px 40px;
  background: #f8fafc;
}

.contact-faq .section-title {
  margin-bottom: 28px;
}

.faq-list {
  max-width: 820px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.faq-item {
  background: #fff;
  border: 1px solid #e6ebf2;
  border-radius: 10px;
  overflow: hidden;
}

.faq-item summary {
  padding: 14px 18px;
  font-weight: 600;
  color: var(--c-navy-deep);
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary::after {
  content: "+";
  font-size: 1.25rem;
  color: var(--c-gold);
  font-weight: 700;
  flex-shrink: 0;
}

.faq-item[open] summary::after {
  content: "−";
}

.faq-answer {
  padding: 0 18px 16px;
}

.faq-answer p {
  margin: 0;
  color: var(--c-text);
  line-height: 1.6;
  font-size: 0.95rem;
}

.faq-answer a {
  color: var(--c-blue, #2a4de0);
  font-weight: 600;
}

/* Bottom CTA strip */
.contact-cta-strip {
  background: var(--c-navy-deep, #061d38);
  color: #fff;
  padding-block: 36px;
}

.contact-cta-strip__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.contact-cta-strip h2 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 1.35rem;
}

.contact-cta-strip p {
  margin: 0;
  color: #cfd8e6;
  font-size: 0.95rem;
}

.contact-cta-strip__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.contact-cta-strip .btn-outline {
  border-color: rgba(255, 255, 255, 0.55);
  color: #fff;
}

.contact-cta-strip .btn-outline:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: #fff;
}

@media (max-width: 700px) {
  .contact-cta-strip__inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Tighten contact section on small screens */
@media (max-width: 767px) {
  .contact-section {
    padding-block: 28px 36px;
  }

  .form_btn_cf7 .contact-form-wrap,
  .contact-form-wrap {
    padding: 22px 18px;
  }
}


/* CPC course page header subtitle */
.cpc-page-header__sub {
  margin: 10px 0 0;
  color: #cfd8e6;
  font-size: 0.95rem;
  font-weight: 400;
}


/* ============================================================
   CPC course page – alignment, new sections, heading balance
   ============================================================ */

/* Balanced section headings */
.cpc-accent-heading {
  text-align: center;
  margin: 0 auto 20px;
  display: block;
  width: max-content;
  max-width: 100%;
  font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.45rem);
  font-weight: 600;
  color: var(--c-navy-deep);
  border-left: 5px solid var(--c-gold);
  padding: 4px 0 4px 12px;
}

.cpc-section-lead {
  max-width: 820px;
  margin: 0 auto 24px;
  text-align: center;
  color: var(--c-text);
  line-height: 1.65;
  font-size: 0.98rem;
}

.cpc-section-note {
  max-width: 820px;
  margin: 20px auto 0;
  text-align: center;
  color: var(--c-text-soft);
  font-size: 0.95rem;
  line-height: 1.6;
}

/* Success cards (qualitative, no fake counters) */
.cpc-success__card--text {
  text-align: left;
}

.cpc-success__card--text h3 {
  margin: 0 0 8px;
  font-size: 1.05rem;
  color: #fff;
}

.cpc-success__card--text p {
  margin: 0;
  color: #dfe6f0;
  font-size: 0.9rem;
  line-height: 1.5;
}

/* Who should take – checklist */
.cpc-who {
  padding-block: 50px;
  background: #f8fafc;
}

.cpc-check-list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 820px;
  display: grid;
  gap: 12px;
}

.cpc-check-list li {
  position: relative;
  padding: 12px 16px 12px 44px;
  background: #fff;
  border: 1px solid #e6ebf2;
  border-radius: 10px;
  line-height: 1.5;
  color: var(--c-text);
}

.cpc-check-list li::before {
  content: "✓";
  position: absolute;
  left: 16px;
  top: 12px;
  color: var(--c-gold);
  font-weight: 700;
}

/* CPC exam info cards */
.cpc-exam-info {
  padding-block: 50px;
}

.cpc-exam-grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.cpc-exam-card {
  background: #fff;
  border: 1px solid #e6ebf2;
  border-radius: 12px;
  padding: 18px;
}

.cpc-exam-card h3 {
  margin: 0 0 8px;
  font-size: 1.02rem;
  color: var(--c-navy-deep);
}

.cpc-exam-card p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--c-text);
}

@media (max-width: 1024px) {
  .cpc-exam-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .cpc-exam-grid {
    grid-template-columns: 1fr;
  }
}

/* Career opportunities */
.cpc-career-ops {
  padding-block: 50px;
  background: #f5f6fa;
}

.cpc-career-grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.cpc-career-card {
  background: #fff;
  border: 1px solid #e6ebf2;
  border-radius: 12px;
  padding: 20px;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.cpc-career-card:hover {
  border-color: var(--c-gold);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

.cpc-career-card h3 {
  margin: 0 0 8px;
  font-size: 1.05rem;
  color: var(--c-navy-deep);
}

.cpc-career-card p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--c-text);
}

.cpc-career-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 28px;
}

@media (max-width: 1024px) {
  .cpc-career-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .cpc-career-grid {
    grid-template-columns: 1fr;
  }
}

/* Heading size polish across CPC sections */
.cpc-hero__content h2 {
  font-size: clamp(1.25rem, 1.1rem + 0.8vw, 1.55rem) !important;
  line-height: 1.3;
}

.cpc-page-header h1 {
  font-size: clamp(1.4rem, 1.2rem + 1vw, 1.85rem);
}

.cpc-cta-dark__text h2 {
  font-size: clamp(1.3rem, 1.15rem + 0.7vw, 1.6rem) !important;
}

.cpc-skills h2,
.cpc-features h2,
.cpc-admission h2,
.cpc-support h2,
.cpc-success h2,
.cpc-placed h2,
.cpc-testimonials h2,
.cpc-why h2,
.cpc-curriculum h2,
.cpc-faq h2,
.cpc-final-cta h2,
.cpc-recruiters h2 {
  font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.45rem);
}

/* Skills grid: better mobile alignment */
@media (max-width: 480px) {
  .cpc-skills__grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Features / admission / why grids already responsive – tighten card padding on mobile */
@media (max-width: 767px) {

  .cpc-features__card,
  .cpc-admission__step,
  .cpc-why__card {
    padding: 16px;
  }

  .cpc-hero__btns {
    grid-template-columns: 1fr;
    max-width: 100%;
  }
}

/* Infobar items – equal height alignment */
.cpc-infobar__item {
  align-items: flex-start;
}

.cpc-infobar__item h3 {
  font-size: 0.95rem;
  line-height: 1.25;
}

.cpc-infobar__item p {
  font-size: 0.85rem;
}

@media (max-width: 600px) {
  .cpc-infobar__grid {
    grid-template-columns: 1fr 1fr;
  }
}


/* ============================================================
   CPC CONVERSION STRUCTURE v2 – jump nav, details, modes,
   mid-CTA, fees, stronger buttons (responsive)
   ============================================================ */

/* Jump navigation */
.cpc-jump-nav {
  position: sticky;
  top: 0;
  z-index: 40;
  background: #fff;
  border-bottom: 1px solid #e6ebf2;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .04);
}

.cpc-jump-nav__inner,
.cpc-jump-nav .cpc-wide,
.cpc-jump-nav {
  /* scrollable chips */
}

.cpc-jump-nav ul,
.cpc-jump-nav__list {
  list-style: none;
  margin: 0 auto;
  padding: 10px 16px;
  max-width: var(--container-wide, 1200px);
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.cpc-jump-nav a {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--c-navy-deep, #061d38);
  background: #f3f5f9;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background .2s, border-color .2s, color .2s;
}

.cpc-jump-nav a:hover {
  background: #fff;
  border-color: var(--c-gold, var(--c-gold, #d09135));
  color: var(--c-navy-deep);
}

/* Hero triple CTAs */
.cpc-hero__btns--triple {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  max-width: 520px;
  width: 100%;
}

.cpc-hero__btns--triple .btn {
  width: 100%;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 600;
}

.cpc-btn-call {
  border-color: var(--c-navy-deep, #061d38) !important;
  color: var(--c-navy-deep, #061d38) !important;
}

.cpc-btn-call:hover {
  background: var(--c-navy-deep, #061d38) !important;
  color: #fff !important;
}

.cpc-btn-wa {
  border-color: #25d366 !important;
  color: #128c7e !important;
}

.cpc-btn-wa:hover {
  background: #25d366 !important;
  color: #fff !important;
  border-color: #25d366 !important;
}

@media (max-width: 700px) {
  .cpc-hero__btns--triple {
    grid-template-columns: 1fr;
    max-width: 100%;
  }
}

/* What is Medical Coding */
.cpc-what-is {
  padding-block: 48px;
  background: #fff;
}

.cpc-what-is .cpc-wide {
  max-width: var(--container-wide, 1200px);
  margin-inline: auto;
  padding-inline: 20px;
}

.cpc-what-is h2 {
  font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.45rem);
  margin: 0 0 14px;
  color: var(--c-navy-deep);
}

.cpc-what-is p {
  max-width: 860px;
  line-height: 1.7;
  color: var(--c-text);
  margin: 0 0 12px;
}

/* Course details table */
.cpc-details-table {
  padding-block: 48px;
  background: #f8fafc;
}

.cpc-details-table .cpc-wide {
  max-width: var(--container-wide, 1200px);
  margin-inline: auto;
  padding-inline: 20px;
}

.cpc-details-table h2 {
  text-align: center;
  font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.45rem);
  margin: 0 0 8px;
}

.cpc-details-table>.cpc-wide>p,
.cpc-details-table .cpc-section-lead {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 24px;
  color: var(--c-text-soft);
}

.cpc-details-table table,
table.cpc-glance {
  width: 100%;
  max-width: 900px;
  margin: 0 auto 24px;
  border-collapse: collapse;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .04);
}

.cpc-details-table th,
.cpc-details-table td,
table.cpc-glance th,
table.cpc-glance td {
  padding: 14px 18px;
  text-align: left;
  border-bottom: 1px solid #eef1f6;
  font-size: 0.95rem;
  vertical-align: top;
}

.cpc-details-table th,
table.cpc-glance th {
  width: 34%;
  font-weight: 600;
  color: var(--c-navy-deep);
  background: #f3f5f9;
}

.cpc-details-table tr:last-child th,
.cpc-details-table tr:last-child td {
  border-bottom: 0;
}

.cpc-details-table .cpc-details-ctas,
.cpc-details-table .cpc-career-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 8px;
}

@media (max-width: 600px) {

  .cpc-details-table th,
  .cpc-details-table td {
    display: block;
    width: 100%;
  }

  .cpc-details-table th {
    padding-bottom: 4px;
    border-bottom: 0;
  }

  .cpc-details-table td {
    padding-top: 0;
    padding-bottom: 14px;
  }
}

/* Online / Offline modes */
.cpc-modes {
  padding-block: 48px;
  background: #fff;
}

.cpc-modes .cpc-wide {
  max-width: var(--container-wide, 1200px);
  margin-inline: auto;
  padding-inline: 20px;
}

.cpc-modes h2 {
  text-align: center;
  font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.45rem);
  margin: 0 0 10px;
}

.cpc-modes-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 24px;
}

.cpc-mode-card {
  border: 1px solid #e6ebf2;
  border-radius: 14px;
  padding: 24px;
  background: #f8fafc;
}

.cpc-mode-card h3 {
  margin: 0 0 6px;
  font-size: 1.15rem;
  color: var(--c-navy-deep);
}

.cpc-mode-card .mode-tag {
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--c-gold);
  margin-bottom: 12px;
}

.cpc-mode-card ul {
  margin: 0 0 18px;
  padding-left: 1.2em;
  color: var(--c-text);
  line-height: 1.6;
}

.cpc-mode-card li {
  margin-bottom: 6px;
}

@media (max-width: 700px) {
  .cpc-modes-grid {
    grid-template-columns: 1fr;
  }
}

/* Mid-page CTA strip – stronger than competitor */
.cpc-mid-cta {
  background: var(--c-navy, #061d38);
  color: #fff;
  padding-block: 40px;
  text-align: center;
}

.cpc-mid-cta .cpc-wide,
.cpc-mid-cta__inner {
  max-width: var(--container-wide, 1200px);
  margin-inline: auto;
  padding-inline: 20px;
}

.cpc-mid-cta h2 {
  margin: 0 0 8px;
  color: #fff;
  font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.55rem);
}

.cpc-mid-cta p {
  margin: 0 0 20px;
  color: #cfd8e6;
  font-size: 0.98rem;
}

.cpc-mid-cta__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.cpc-mid-cta .btn-primary {
  background: var(--c-gold, #d09135);
  border-color: var(--c-gold, #d09135);
  color: #fff;
  font-weight: 700;
}

.cpc-mid-cta .btn-primary:hover {
  filter: brightness(1.05);
}

.cpc-mid-cta .btn-outline {
  border-color: rgba(255, 255, 255, .55);
  color: #fff;
}

.cpc-mid-cta .btn-outline:hover {
  background: rgba(255, 255, 255, .12);
  border-color: #fff;
}

.cpc-mid-cta .cpc-btn-wa {
  border-color: #25d366 !important;
  color: #8dffb5 !important;
}

.cpc-mid-cta .cpc-btn-wa:hover {
  background: #25d366 !important;
  color: #fff !important;
}

/* Fees placeholder – honest, no invented numbers */
.cpc-fees {
  padding-block: 48px;
  background: #f8fafc;
}

.cpc-fees .cpc-wide {
  max-width: var(--container-wide, 1200px);
  margin-inline: auto;
  padding-inline: 20px;
}

.cpc-fees h2 {
  text-align: center;
  font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.45rem);
  margin: 0 0 10px;
}

.cpc-fees-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 24px 0;
}

.cpc-fee-card {
  background: #fff;
  border: 1px solid #e6ebf2;
  border-radius: 12px;
  padding: 22px;
  text-align: center;
}

.cpc-fee-card h3 {
  margin: 0 0 8px;
  font-size: 1.05rem;
  color: var(--c-navy-deep);
}

.cpc-fee-card .fee-value {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--c-gold);
  margin-bottom: 8px;
}

.cpc-fee-card p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--c-text);
  line-height: 1.5;
}

.cpc-fees-include {
  max-width: 640px;
  margin: 0 auto 24px;
  padding: 16px 20px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #e6ebf2;
}

.cpc-fees-include h3 {
  margin: 0 0 10px;
  font-size: 1rem;
  text-align: center;
}

.cpc-fees-include ul {
  margin: 0;
  padding-left: 1.2em;
  columns: 2;
  gap: 24px;
}

.cpc-fees-include li {
  margin-bottom: 6px;
  font-size: 0.92rem;
}

.cpc-fees .cpc-career-cta,
.cpc-fees-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

@media (max-width: 900px) {
  .cpc-fees-grid {
    grid-template-columns: 1fr;
    max-width: 420px;
    margin-inline: auto;
  }

  .cpc-fees-include ul {
    columns: 1;
  }
}

/* Dark CTA dual buttons */
.cpc-cta-dark .btn {
  min-height: 46px;
  font-weight: 600;
}

.cpc-cta-dark a+a {
  margin-left: 10px;
}

@media (max-width: 600px) {
  .cpc-cta-dark a+a {
    margin-left: 0;
    margin-top: 10px;
  }

  .cpc-cta-dark .cpc-cta-dark__text,
  .cpc-cta-dark {
    text-align: center;
  }
}

/* Final CTA button group */
.cpc-final-cta .btn {
  margin: 6px;
  min-height: 46px;
  font-weight: 600;
}

.cpc-final-cta {
  text-align: center;
}

/* Smooth anchor scroll */
html {
  scroll-behavior: smooth;
}


/* CPC BEM compat – match actual markup class names */
.cpc-jump-nav__list {
  list-style: none;
  margin: 0 auto;
  padding: 10px 16px;
  max-width: var(--container-wide, 1200px);
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.cpc-jump-nav__list a {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--c-navy-deep, #061d38);
  background: #f3f5f9;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background .2s, border-color .2s;
}

.cpc-jump-nav__list a:hover,
.cpc-jump-nav__list a.cpc-jump-nav__cta {
  border-color: var(--c-gold, var(--c-gold, #d09135));
}

.cpc-jump-nav__list a.cpc-jump-nav__cta {
  background: var(--c-navy-deep, #061d38);
  color: #fff;
}

.cpc-jump-nav__list a.cpc-jump-nav__cta:hover {
  background: #0a3a6a;
}

.cpc-modes__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 24px;
}

@media (max-width: 700px) {
  .cpc-modes__grid {
    grid-template-columns: 1fr;
  }
}

.cpc-mode-card__badge {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--c-gold);
  margin-bottom: 8px;
}

.cpc-fees__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 24px 0;
}

.cpc-fees__card {
  background: #fff;
  border: 1px solid #e6ebf2;
  border-radius: 12px;
  padding: 22px;
  text-align: center;
}

.cpc-fees__amount {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--c-gold);
  margin: 8px 0;
}

.cpc-fees__note {
  margin: 0;
  font-size: 0.9rem;
  color: var(--c-text);
}

@media (max-width: 900px) {
  .cpc-fees__grid {
    grid-template-columns: 1fr;
    max-width: 420px;
    margin-inline: auto;
  }
}

.cpc-table-wrap {
  overflow-x: auto;
  max-width: 900px;
  margin: 0 auto 24px;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .04);
}

.cpc-info-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}

.cpc-info-table th,
.cpc-info-table td {
  padding: 14px 18px;
  text-align: left;
  border-bottom: 1px solid #eef1f6;
  font-size: 0.95rem;
  vertical-align: top;
}

.cpc-info-table th {
  width: 34%;
  font-weight: 600;
  color: var(--c-navy-deep);
  background: #f3f5f9;
}

.cpc-info-table tr:last-child th,
.cpc-info-table tr:last-child td {
  border-bottom: 0;
}

@media (max-width: 600px) {

  .cpc-info-table th,
  .cpc-info-table td {
    display: block;
    width: 100%;
  }

  .cpc-info-table th {
    padding-bottom: 4px;
    border-bottom: 0;
  }

  .cpc-info-table td {
    padding-top: 0;
    padding-bottom: 14px;
  }
}

/* Mid CTA as flex row on desktop */
.cpc-mid-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  text-align: left;
}

.cpc-mid-cta__inner>div:first-child {
  flex: 1;
}

@media (max-width: 700px) {
  .cpc-mid-cta__inner {
    flex-direction: column;
    text-align: center;
  }
}


/* Early conversion band – after hero (stronger than competitor post-hero CTA) */
.cpc-early-cta {
  background: var(--c-navy, #061d38);
  color: #fff;
  padding-block: 36px;
  border-block: 1px solid rgba(212, 175, 55, 0.25);
}

.cpc-early-cta__inner {
  max-width: var(--container-wide, 1200px);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 28px;
  align-items: center;
}

.cpc-early-cta__copy h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.55rem);
  line-height: 1.25;
}

.cpc-early-cta__copy p {
  margin: 0 0 14px;
  color: #cfd8e6;
  font-size: 0.98rem;
  line-height: 1.6;
}

.cpc-early-cta__points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.cpc-early-cta__points li {
  position: relative;
  padding-left: 18px;
  font-size: 0.9rem;
  color: #e8eef7;
  font-weight: 500;
}

.cpc-early-cta__points li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--c-gold, var(--c-gold, #d09135));
  font-weight: 700;
}

.cpc-early-cta__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  padding: 20px;
}

.cpc-early-cta__actions .btn {
  width: 100%;
  min-height: 48px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.cpc-early-cta__actions .btn-primary {
  background: var(--c-gold, #d09135);
  border-color: var(--c-gold, #d09135);
  color: #fff;
}

.cpc-early-cta__actions .btn-primary:hover {
  filter: brightness(1.06);
}

.cpc-early-cta__actions .btn-outline {
  border-color: rgba(255, 255, 255, 0.55);
  color: #fff;
}

.cpc-early-cta__actions .btn-outline:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: #fff;
}

.cpc-early-cta__actions .cpc-btn-wa {
  border-color: #25d366 !important;
  color: #8dffb5 !important;
}

.cpc-early-cta__actions .cpc-btn-wa:hover {
  background: #25d366 !important;
  color: #fff !important;
}

.cpc-early-cta__note {
  margin: 6px 0 0;
  font-size: 0.82rem;
  color: #a8b6c9;
  text-align: center;
  line-height: 1.45;
}

.cpc-early-cta__note a {
  color: #fff;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 800px) {
  .cpc-early-cta__inner {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .cpc-early-cta {
    padding-block: 28px;
  }
}



/* ============================================================
   CPC STRONG HERO v3 – RACE brand colors only
   navy #061d38 | gold #d09135 | bg-tint #f5f7fb
   ============================================================ */
.cpc-hero--strong {
  padding-block: 48px 40px;
  background: var(--c-bg-tint, #f5f7fb);
}

.cpc-hero--strong .cpc-hero__row {
  max-width: var(--container-wide, 1320px);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 36px;
  align-items: center;
}

.cpc-hero--strong .cpc-hero__content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cpc-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.cpc-hero--strong .cpc-eyebrow-pill {
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  background: #fff6e9;
  color: var(--c-navy-deep, #121421);
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.82rem;
  border: 1px solid rgba(208, 145, 53, 0.35);
}

.cpc-hero__badge-gold {
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  background: var(--c-gold, #d09135);
  color: #fff;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.01em;
}

.cpc-hero--strong .cpc-hero__content h2 {
  margin: 0;
  font-size: clamp(1.45rem, 1.2rem + 1.2vw, 2rem);
  font-weight: 700;
  line-height: 1.22;
  color: var(--c-gold, #d09135);
  max-width: 22ch;
}

.cpc-hero__lead {
  margin: 0;
  padding: 14px 16px;
  background: var(--c-white, #fff);
  border-left: 4px solid var(--c-gold, #d09135);
  border-radius: 0 var(--radius-md, 10px) var(--radius-md, 10px) 0;
  box-shadow: var(--shadow-card, 0 10px 30px rgba(6, 29, 56, .08));
  color: var(--c-text, #3c3c3c);
  font-size: 0.98rem;
  line-height: 1.65;
  max-width: 560px;
}

.cpc-hero__checks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px;
  max-width: 540px;
}

.cpc-hero__checks li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.92rem;
  font-weight: 500;
  color: var(--c-navy-deep, #121421);
  line-height: 1.35;
}

.cpc-hero__checks i {
  color: var(--c-gold, #d09135);
  margin-top: 2px;
  flex: none;
}

.cpc-hero--strong .cpc-hero__btns--triple {
  display: grid !important;
  grid-template-columns: 1.15fr 1fr 1fr;
  gap: 10px;
  max-width: 520px;
  width: 100%;
  margin-top: 4px;
}

.cpc-hero--strong .cpc-hero__btns--triple .btn {
  width: 100%;
  min-height: 48px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: var(--radius-md, 10px);
}

/* Primary uses existing site .btn-primary – reinforce brand */
.cpc-hero--strong .cpc-hero__btns--triple .btn-primary {
  background: var(--c-gold, #d09135);
  border-color: var(--c-gold, #d09135);
  color: #fff;
  box-shadow: 0 4px 14px rgba(208, 145, 53, 0.3);
}

.cpc-hero--strong .cpc-hero__btns--triple .btn-primary:hover {
  filter: brightness(1.05);
}

.cpc-hero--strong .cpc-btn-call {
  border-color: var(--c-navy, #061d38) !important;
  color: var(--c-navy, #061d38) !important;
  background: #fff;
}

.cpc-hero--strong .cpc-btn-call:hover {
  background: var(--c-navy, #061d38) !important;
  color: #fff !important;
}

.cpc-hero--strong .cpc-btn-wa {
  border-color: var(--c-navy, #061d38) !important;
  color: var(--c-navy, #061d38) !important;
  background: #fff;
}

.cpc-hero--strong .cpc-btn-wa:hover {
  background: var(--c-navy, #061d38) !important;
  color: #fff !important;
}

.cpc-hero__trustline {
  margin: 2px 0 0;
  font-size: 0.82rem;
  color: var(--c-text-soft, #6b7280);
  font-weight: 500;
}

.cpc-hero--strong .cpc-hero__media-card {
  position: relative;
  border-radius: var(--radius-lg, 20px);
  overflow: hidden;
  box-shadow: var(--shadow-card, 0 10px 30px rgba(6, 29, 56, .08));
  background: #eef2f7;
}

.cpc-hero--strong .cpc-hero__media-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  object-position: top center;
  display: block;
  border-radius: var(--radius-lg, 20px);
}

.cpc-hero__media-caption {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  padding: 12px 14px;
  background: rgba(6, 29, 56, 0.9);
  color: #fff;
  border-radius: var(--radius-md, 10px);
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cpc-hero__media-caption strong {
  font-size: 0.95rem;
  font-weight: 700;
}

.cpc-hero__media-caption span {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, .85);
}

@media (max-width: 1024px) {
  .cpc-hero--strong .cpc-hero__row {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .cpc-hero--strong .cpc-hero__content h2 {
    max-width: none;
  }

  .cpc-hero--strong .cpc-hero__media-card img {
    aspect-ratio: 16 / 10;
    max-height: 280px;
  }
}

@media (max-width: 700px) {
  .cpc-hero--strong {
    padding-block: 32px 28px;
  }

  .cpc-hero__checks {
    grid-template-columns: 1fr;
  }

  .cpc-hero--strong .cpc-hero__btns--triple {
    grid-template-columns: 1fr;
    max-width: 100%;
  }

  .cpc-hero--strong .cpc-hero__content h2 {
    font-size: clamp(1.3rem, 5vw, 1.55rem);
  }

  .cpc-hero__lead {
    font-size: 0.94rem;
  }
}



/* ============================================================
   CPC RELATED + ALIGNMENT v4 – internal links, grids, responsive
   ============================================================ */

/* Section vertical rhythm & alignment */
.cpc-what-is.section-pad,
.cpc-details-table.section-pad,
.cpc-modes.section-pad,
.cpc-who.section-pad,
.cpc-exam-info.section-pad,
.cpc-career-ops.section-pad,
.cpc-fees.section-pad,
.cpc-related.section-pad {
  padding-block: 48px;
}

.cpc-what-is .cpc-wide,
.cpc-details-table .cpc-wide,
.cpc-modes .cpc-wide,
.cpc-who .cpc-wide,
.cpc-exam-info .cpc-wide,
.cpc-career-ops .cpc-wide,
.cpc-fees .cpc-wide,
.cpc-related .cpc-wide,
.cpc-features .cpc-wide,
.cpc-admission .cpc-wide,
.cpc-support .cpc-wide {
  max-width: var(--container-wide, 1320px);
  margin-inline: auto;
  padding-inline: 20px;
}

.cpc-section-lead {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 24px;
  color: var(--c-text-soft, #6b7280);
  line-height: 1.6;
}

.cpc-accent-heading {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.cpc-inline-link {
  margin-top: 16px;
  font-size: 0.95rem;
  color: var(--c-text, #3c3c3c);
}

.cpc-inline-link a {
  color: var(--c-navy, #061d38);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cpc-inline-link a:hover {
  color: var(--c-gold, #d09135);
}

/* Related resources grid */
.cpc-related {
  background: var(--c-bg-tint, #f5f7fb);
}

.cpc-related h2 {
  text-align: center;
  font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.45rem);
  margin: 0 0 8px;
  color: var(--c-navy-deep, #121421);
}

.cpc-related__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 8px;
}

.cpc-related__card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #fff;
  border: 1px solid var(--c-border, #e6e8ee);
  border-radius: var(--radius-md, 10px);
  padding: 20px;
  text-decoration: none;
  color: inherit;
  transition: border-color .2s, box-shadow .2s, transform .2s;
  min-height: 100%;
}

.cpc-related__card:hover {
  border-color: var(--c-gold, #d09135);
  box-shadow: var(--shadow-card, 0 10px 30px rgba(6, 29, 56, .08));
  transform: translateY(-2px);
}

.cpc-related__card h3 {
  margin: 0;
  font-size: 1.05rem;
  color: var(--c-navy, #061d38);
  line-height: 1.3;
}

.cpc-related__card p {
  margin: 0;
  flex: 1;
  font-size: 0.9rem;
  color: var(--c-text-soft, #6b7280);
  line-height: 1.5;
}

.cpc-related__more {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--c-gold, #d09135);
}

/* City internal links strip */
.cpc-related__cities {
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid var(--c-border, #e6e8ee);
  text-align: center;
}

.cpc-related__cities-title {
  margin: 0 0 8px;
  font-size: 1.1rem;
  color: var(--c-navy, #061d38);
}

.cpc-related__cities-lead {
  margin: 0 auto 16px;
  max-width: 640px;
  font-size: 0.92rem;
  color: var(--c-text-soft, #6b7280);
}

.cpc-related__city-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.cpc-related__city-links a {
  display: inline-flex;
  padding: 10px 16px;
  background: #fff;
  border: 1px solid var(--c-border, #e6e8ee);
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--c-navy, #061d38);
  text-decoration: none;
  transition: border-color .2s, background .2s;
}

.cpc-related__city-links a:hover {
  border-color: var(--c-gold, #d09135);
  background: #fff8ee;
}

/* Features / skills / admission alignment */
.cpc-features__grid,
.cpc-skills__grid {
  align-items: stretch;
}

.cpc-features__card,
.cpc-skills__card {
  height: 100%;
}

/* Who / exam / career cards equal height */
.cpc-who__grid,
.cpc-exam-info__grid,
.cpc-career-ops__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 20px;
}

@media (max-width: 900px) {
  .cpc-related__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .cpc-who__grid,
  .cpc-exam-info__grid,
  .cpc-career-ops__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .cpc-related__grid {
    grid-template-columns: 1fr;
  }

  .cpc-who__grid,
  .cpc-exam-info__grid,
  .cpc-career-ops__grid {
    grid-template-columns: 1fr;
  }

  .cpc-related__city-links {
    flex-direction: column;
    align-items: stretch;
  }

  .cpc-related__city-links a {
    justify-content: center;
  }
}

/* Dark CTA alignment */
.cpc-cta-dark {
  background: var(--c-navy, #061d38);
  color: #fff;
  padding-block: 40px;
  text-align: center;
}

.cpc-cta-dark h2 {
  color: #fff;
  margin: 0 0 10px;
}

.cpc-cta-dark p {
  color: rgba(255, 255, 255, .85);
  margin: 0 0 18px;
}

.cpc-cta-dark .btn {
  margin: 6px;
}

/* Jump nav alignment on mobile */
@media (max-width: 600px) {
  .cpc-jump-nav__list {
    padding-inline: 12px;
  }

  .cpc-jump-nav__list a {
    font-size: 0.8rem;
    padding: 7px 12px;
  }
}


/* ============================================================
   JO COURSE STRONG v1 – hero, jump, early CTA, related (RACE brand)
   ============================================================ */
.jo-hero--strong {
  padding-block: 48px 40px;
  background: var(--c-bg-tint, #f5f7fb);
}

.jo-hero--strong .jo-wide,
.jo-jump-nav .jo-wide,
.jo-early-cta .jo-wide,
.jo-related .jo-wide {
  max-width: var(--container-wide, 1320px);
  margin-inline: auto;
  padding-inline: 20px;
}

.jo-hero--strong .jo-hero__row {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 36px;
  align-items: center;
}

.jo-hero--strong .jo-hero__content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.jo-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.jo-hero--strong .jo-eyebrow-pill {
  display: inline-flex;
  padding: 7px 14px;
  background: #fff6e9;
  color: var(--c-navy-deep, #121421);
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.82rem;
  border: 1px solid rgba(208, 145, 53, 0.35);
}

.jo-hero__badge-gold {
  display: inline-flex;
  padding: 7px 14px;
  background: var(--c-gold, #d09135);
  color: #fff;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.82rem;
}

.jo-hero--strong .jo-hero__title,
.jo-hero--strong h2 {
  margin: 0;
  font-size: clamp(1.35rem, 1.15rem + 1vw, 1.85rem);
  font-weight: 700;
  line-height: 1.25;
  color: var(--c-gold, #d09135);
  max-width: 28ch;
}

.jo-hero__lead {
  margin: 0;
  padding: 14px 16px;
  background: #fff;
  border-left: 4px solid var(--c-gold, #d09135);
  border-radius: 0 var(--radius-md, 10px) var(--radius-md, 10px) 0;
  box-shadow: var(--shadow-card, 0 10px 30px rgba(6, 29, 56, .08));
  color: var(--c-text, #3c3c3c);
  font-size: 0.98rem;
  line-height: 1.65;
  max-width: 560px;
}

.jo-hero__checks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px;
  max-width: 560px;
}

.jo-hero__checks li {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: 0.92rem;
  font-weight: 500;
  color: var(--c-navy-deep, #121421);
}

.jo-hero__checks i {
  color: var(--c-gold, #d09135);
  margin-top: 2px;
  flex: none;
}

.jo-hero__btns--triple {
  display: grid !important;
  grid-template-columns: 1.15fr 1fr 1fr;
  gap: 10px;
  max-width: 520px;
  width: 100%;
}

.jo-hero__btns--triple .btn {
  width: 100%;
  min-height: 48px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: var(--radius-md, 10px);
}

.jo-hero--strong .btn-primary {
  background: var(--c-gold, #d09135);
  border-color: var(--c-gold, #d09135);
  color: #fff;
  box-shadow: 0 4px 14px rgba(208, 145, 53, 0.3);
}

.jo-btn-call,
.jo-btn-wa {
  border-color: var(--c-navy, #061d38) !important;
  color: var(--c-navy, #061d38) !important;
  background: #fff;
}

.jo-btn-call:hover,
.jo-btn-wa:hover {
  background: var(--c-navy, #061d38) !important;
  color: #fff !important;
}

.jo-hero__trustline {
  margin: 0;
  font-size: 0.82rem;
  color: var(--c-text-soft, #6b7280);
}

.jo-hero--strong .jo-hero__media-card {
  position: relative;
  border-radius: var(--radius-lg, 20px);
  overflow: hidden;
  box-shadow: var(--shadow-card, 0 10px 30px rgba(6, 29, 56, .08));
}

.jo-hero--strong .jo-hero__media-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 5/4;
  object-fit: cover;
  object-position: top center;
  display: block;
}

.jo-hero__media-caption {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  padding: 12px 14px;
  background: rgba(6, 29, 56, 0.9);
  color: #fff;
  border-radius: var(--radius-md, 10px);
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.jo-hero__media-caption strong {
  font-size: 0.95rem;
}

.jo-hero__media-caption span {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, .85);
}

/* Jump nav */
.jo-jump-nav {
  position: sticky;
  top: 0;
  z-index: 40;
  background: #fff;
  border-bottom: 1px solid var(--c-border, #e6e8ee);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .04);
}

.jo-jump-nav__list {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: auto;
  padding: 10px 0;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.jo-jump-nav__list a {
  display: inline-flex;
  white-space: nowrap;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--c-navy-deep, #121421);
  background: #f3f5f9;
  text-decoration: none;
  border: 1px solid transparent;
}

.jo-jump-nav__list a:hover {
  border-color: var(--c-gold, #d09135);
  background: #fff;
}

.jo-jump-nav__list a.jo-jump-nav__cta {
  background: var(--c-navy, #061d38);
  color: #fff;
}

/* Early CTA */
.jo-early-cta {
  background: var(--c-navy, #061d38);
  color: #fff;
  padding-block: 36px;
}

.jo-early-cta__inner {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 28px;
  align-items: center;
}

.jo-early-cta__copy h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.55rem);
}

.jo-early-cta__copy p {
  margin: 0 0 14px;
  color: #cfd8e6;
  line-height: 1.6;
}

.jo-early-cta__points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.jo-early-cta__points li {
  position: relative;
  padding-left: 18px;
  font-size: 0.9rem;
  color: #e8eef7;
  font-weight: 500;
}

.jo-early-cta__points li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--c-gold, #d09135);
  font-weight: 700;
}

.jo-early-cta__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 14px;
  padding: 20px;
}

.jo-early-cta__actions .btn {
  width: 100%;
  min-height: 48px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.jo-early-cta__actions .btn-primary {
  background: var(--c-gold, #d09135);
  border-color: var(--c-gold, #d09135);
  color: #fff;
}

.jo-early-cta__actions .btn-outline {
  border-color: rgba(255, 255, 255, .55);
  color: #fff;
}

.jo-early-cta__actions .btn-outline:hover {
  background: rgba(255, 255, 255, .12);
}

/* Related */
.jo-related {
  background: var(--c-bg-tint, #f5f7fb);
  padding-block: 48px;
}

.jo-related h2 {
  text-align: center;
  margin: 0 0 8px;
  font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.45rem);
}

.jo-section-lead {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 24px;
  color: var(--c-text-soft, #6b7280);
}

.jo-related__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.jo-related__card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #fff;
  border: 1px solid var(--c-border, #e6e8ee);
  border-radius: var(--radius-md, 10px);
  padding: 20px;
  text-decoration: none;
  color: inherit;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}

.jo-related__card:hover {
  border-color: var(--c-gold, #d09135);
  box-shadow: var(--shadow-card);
  transform: translateY(-2px);
}

.jo-related__card h3 {
  margin: 0;
  font-size: 1.05rem;
  color: var(--c-navy, #061d38);
}

.jo-related__card p {
  margin: 0;
  flex: 1;
  font-size: 0.9rem;
  color: var(--c-text-soft, #6b7280);
  line-height: 1.5;
}

.jo-related__more {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--c-gold, #d09135);
}

.jo-related__cities {
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid var(--c-border, #e6e8ee);
  text-align: center;
}

.jo-related__cities-title {
  margin: 0 0 8px;
  font-size: 1.1rem;
  color: var(--c-navy, #061d38);
}

.jo-related__cities-lead {
  margin: 0 auto 16px;
  max-width: 640px;
  font-size: 0.92rem;
  color: var(--c-text-soft, #6b7280);
}

.jo-related__city-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.jo-related__city-links a {
  display: inline-flex;
  padding: 10px 16px;
  background: #fff;
  border: 1px solid var(--c-border, #e6e8ee);
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--c-navy, #061d38);
  text-decoration: none;
}

.jo-related__city-links a:hover {
  border-color: var(--c-gold, #d09135);
  background: #fff8ee;
}

@media (max-width: 1024px) {
  .jo-hero--strong .jo-hero__row {
    grid-template-columns: 1fr;
  }

  .jo-hero--strong .jo-hero__title,
  .jo-hero--strong h2 {
    max-width: none;
  }

  .jo-related__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 800px) {
  .jo-early-cta__inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .jo-hero__checks {
    grid-template-columns: 1fr;
  }

  .jo-hero__btns--triple {
    grid-template-columns: 1fr;
    max-width: 100%;
  }

  .jo-related__grid {
    grid-template-columns: 1fr;
  }

  .jo-related__city-links {
    flex-direction: column;
    align-items: stretch;
  }

  .jo-related__city-links a {
    justify-content: center;
  }
}


/* ============================================================
   JO ALIGNMENT + DETAILS v2 – table, modes, mid-CTA, grids
   ============================================================ */
.jo-details-table.section-pad,
.jo-modes.section-pad {
  padding-block: 48px;
}

.jo-details-table {
  background: #fff;
}

.jo-modes {
  background: var(--c-bg-tint, #f5f7fb);
}

.jo-details-table .jo-wide,
.jo-modes .jo-wide {
  max-width: var(--container-wide, 1320px);
  margin-inline: auto;
  padding-inline: 20px;
}

.jo-accent-heading {
  text-align: center;
  margin: 0 auto 8px;
  font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.45rem);
  color: var(--c-navy-deep, #121421);
  border-left: 5px solid var(--c-gold, #d09135);
  padding-left: 10px;
  width: max-content;
  max-width: 100%;
}

.jo-table-wrap {
  overflow-x: auto;
  max-width: 900px;
  margin: 0 auto 24px;
  border-radius: 12px;
  box-shadow: var(--shadow-card, 0 10px 30px rgba(6, 29, 56, .08));
}

.jo-info-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}

.jo-info-table th,
.jo-info-table td {
  padding: 14px 18px;
  text-align: left;
  border-bottom: 1px solid #eef1f6;
  font-size: 0.95rem;
  vertical-align: top;
}

.jo-info-table th {
  width: 34%;
  font-weight: 600;
  color: var(--c-navy, #061d38);
  background: #f3f5f9;
}

.jo-info-table tr:last-child th,
.jo-info-table tr:last-child td {
  border-bottom: 0;
}

.jo-details-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.jo-modes__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 24px;
}

.jo-mode-card {
  background: #fff;
  border: 1px solid var(--c-border, #e6e8ee);
  border-radius: 14px;
  padding: 24px;
}

.jo-mode-card__badge {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--c-gold, #d09135);
  margin-bottom: 8px;
}

.jo-mode-card h3 {
  margin: 0 0 12px;
  font-size: 1.15rem;
  color: var(--c-navy, #061d38);
}

.jo-mode-card ul {
  margin: 0 0 18px;
  padding-left: 1.2em;
  color: var(--c-text, #3c3c3c);
  line-height: 1.6;
}

.jo-mode-card li {
  margin-bottom: 6px;
}

/* Mid CTA */
.jo-mid-cta {
  background: var(--c-navy, #061d38);
  color: #fff;
  padding-block: 40px;
}

.jo-mid-cta__inner {
  max-width: var(--container-wide, 1320px);
  margin-inline: auto;
  padding-inline: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.jo-mid-cta h2 {
  margin: 0 0 8px;
  color: #fff;
  font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.45rem);
}

.jo-mid-cta p {
  margin: 0;
  color: #cfd8e6;
  font-size: 0.95rem;
}

.jo-mid-cta__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  flex-shrink: 0;
}

.jo-mid-cta .btn-primary {
  background: var(--c-gold, #d09135);
  border-color: var(--c-gold, #d09135);
  color: #fff;
  font-weight: 700;
}

.jo-mid-cta .btn-outline {
  border-color: rgba(255, 255, 255, .55);
  color: #fff;
}

.jo-mid-cta .btn-outline:hover {
  background: rgba(255, 255, 255, .12);
}

.jo-inline-link {
  margin-top: 16px;
  font-size: 0.95rem;
  color: var(--c-text, #3c3c3c);
  line-height: 1.6;
}

.jo-inline-link a {
  color: var(--c-navy, #061d38);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.jo-inline-link a:hover {
  color: var(--c-gold, #d09135);
}

/* Existing JO sections – container alignment */
.jo-intro .jo-wide,
.jo-placed .jo-wide,
.jo-partners .jo-wide,
.jo-info-grid .jo-wide,
.jo-featured .jo-wide,
.jo-details-grid .jo-wide,
.jo-curriculum .jo-wide,
.jo-why-race .jo-wide,
.jo-cert .jo-wide,
.jo-mentors .jo-wide,
.jo-who-join .jo-wide,
.jo-program .jo-wide,
.jo-careers .jo-wide,
.jo-salary .jo-wide,
.jo-success .jo-wide,
.jo-admission .jo-wide,
.jo-testimonials .jo-wide,
.jo-faq .jo-wide,
.jo-final-cta .jo-wide {
  max-width: var(--container-wide, 1320px);
  margin-inline: auto;
  padding-inline: 20px;
}

@media (max-width: 900px) {
  .jo-modes__grid {
    grid-template-columns: 1fr;
  }

  .jo-mid-cta__inner {
    flex-direction: column;
    text-align: center;
  }

  .jo-mid-cta__btns {
    justify-content: center;
  }
}

@media (max-width: 600px) {

  .jo-info-table th,
  .jo-info-table td {
    display: block;
    width: 100%;
  }

  .jo-info-table th {
    padding-bottom: 4px;
    border-bottom: 0;
  }

  .jo-info-table td {
    padding-top: 0;
    padding-bottom: 14px;
  }

  .jo-details-ctas {
    flex-direction: column;
    align-items: stretch;
  }

  .jo-details-ctas .btn {
    width: 100%;
  }
}


/* ============================================================
   COURSES CATALOG PAGE v1 – RACE brand, responsive cards
   ============================================================ */
.courses-wrap {
  max-width: var(--container-wide, 1320px);
  margin-inline: auto;
  padding-inline: 20px;
}

.courses-hero {
  background: var(--c-bg-tint, #f5f7fb);
  padding-block: 48px 36px;
  border-bottom: 1px solid var(--c-border, #e6e8ee);
}

.courses-hero__pill {
  display: inline-flex;
  padding: 7px 14px;
  background: #fff6e9;
  color: var(--c-navy-deep, #121421);
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.82rem;
  border: 1px solid rgba(208, 145, 53, 0.35);
  margin-bottom: 12px;
}

.courses-hero__title {
  margin: 0 0 12px;
  font-size: clamp(1.5rem, 1.25rem + 1.2vw, 2.1rem);
  color: var(--c-gold, #d09135);
  font-weight: 700;
  line-height: 1.2;
}

.courses-hero__lead {
  margin: 0 0 20px;
  max-width: 720px;
  color: var(--c-text, #3c3c3c);
  line-height: 1.65;
  font-size: 1rem;
}

.courses-hero__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.courses-hero__btns .btn {
  min-height: 46px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.courses-hero__btns .btn-primary {
  background: var(--c-gold, #d09135);
  border-color: var(--c-gold, #d09135);
  color: #fff;
}

.courses-btn-call,
.courses-btn-wa {
  border-color: var(--c-navy, #061d38) !important;
  color: var(--c-navy, #061d38) !important;
  background: #fff;
}

.courses-btn-call:hover,
.courses-btn-wa:hover {
  background: var(--c-navy, #061d38) !important;
  color: #fff !important;
}

/* Category filter chips */
.courses-filter {
  position: sticky;
  top: 0;
  z-index: 30;
  background: #fff;
  border-bottom: 1px solid var(--c-border, #e6e8ee);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .04);
}

.courses-filter__list {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: auto;
  padding: 12px 0;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.courses-filter__list a {
  display: inline-flex;
  white-space: nowrap;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--c-navy-deep, #121421);
  background: #f3f5f9;
  text-decoration: none;
  border: 1px solid transparent;
}

.courses-filter__list a:hover,
.courses-filter__list a.is-active {
  border-color: var(--c-gold, #d09135);
  background: #fff8ee;
}

/* Catalog sections */
.courses-catalog.section-pad {
  padding-block: 48px;
}

.courses-catalog--alt {
  background: var(--c-bg-tint, #f5f7fb);
}

.courses-cat-head {
  margin-bottom: 24px;
  max-width: 720px;
}

.courses-cat-head h2 {
  margin: 0 0 8px;
  font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.5rem);
  color: var(--c-navy, #061d38);
  border-left: 5px solid var(--c-gold, #d09135);
  padding-left: 12px;
}

.courses-cat-head p {
  margin: 0;
  color: var(--c-text-soft, #6b7280);
  line-height: 1.55;
  padding-left: 17px;
}

.courses-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.course-card {
  background: #fff;
  border: 1px solid var(--c-border, #e6e8ee);
  border-radius: var(--radius-md, 10px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color .2s, box-shadow .2s, transform .2s;
  height: 100%;
}

.course-card:hover {
  border-color: var(--c-gold, #d09135);
  box-shadow: var(--shadow-card, 0 10px 30px rgba(6, 29, 56, .08));
  transform: translateY(-2px);
}

.course-card__body {
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}

.course-card__tag {
  display: inline-flex;
  width: max-content;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: #fff6e9;
  color: var(--c-gold, #d09135);
}

.course-card__title {
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.35;
  color: var(--c-navy, #061d38);
}

.course-card__title a {
  color: inherit;
  text-decoration: none;
}

.course-card__title a:hover {
  color: var(--c-gold, #d09135);
}

.course-card__desc {
  margin: 0;
  font-size: 0.92rem;
  color: var(--c-text, #3c3c3c);
  line-height: 1.55;
  flex: 1;
}

.course-card__meta {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.88rem;
  color: var(--c-text-soft, #6b7280);
}

.course-card__meta strong {
  color: var(--c-navy-deep, #121421);
  font-weight: 600;
}

.course-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.course-card__actions .btn-sm {
  min-height: 40px;
  font-weight: 600;
  padding-inline: 16px;
}

.course-card__actions .btn-primary {
  background: var(--c-gold, #d09135);
  border-color: var(--c-gold, #d09135);
  color: #fff;
}

/* Mid CTA */
.courses-mid-cta {
  background: var(--c-navy, #061d38);
  color: #fff;
  padding-block: 40px;
}

.courses-mid-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.courses-mid-cta h2 {
  margin: 0 0 8px;
  color: #fff;
  font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.45rem);
}

.courses-mid-cta p {
  margin: 0;
  color: #cfd8e6;
  font-size: 0.95rem;
  max-width: 560px;
}

.courses-mid-cta__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  flex-shrink: 0;
}

.courses-mid-cta .btn-primary {
  background: var(--c-gold, #d09135);
  border-color: var(--c-gold, #d09135);
  color: #fff;
  font-weight: 700;
}

.courses-mid-cta .btn-outline {
  border-color: rgba(255, 255, 255, .55);
  color: #fff;
}

.courses-mid-cta .btn-outline:hover {
  background: rgba(255, 255, 255, .12);
}

/* Related */
.courses-related {
  background: var(--c-bg-tint, #f5f7fb);
}

.courses-related__title {
  text-align: center;
  margin: 0 0 24px;
  font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.45rem);
  color: var(--c-navy, #061d38);
}

.courses-related__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.courses-related__card {
  background: #fff;
  border: 1px solid var(--c-border, #e6e8ee);
  border-radius: var(--radius-md, 10px);
  padding: 20px;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: border-color .2s, box-shadow .2s;
}

.courses-related__card:hover {
  border-color: var(--c-gold, #d09135);
  box-shadow: var(--shadow-card);
}

.courses-related__card h3 {
  margin: 0;
  font-size: 1.05rem;
  color: var(--c-navy, #061d38);
}

.courses-related__card p {
  margin: 0;
  flex: 1;
  font-size: 0.9rem;
  color: var(--c-text-soft, #6b7280);
  line-height: 1.5;
}

.courses-related__card span {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--c-gold, #d09135);
}

.courses-cities {
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid var(--c-border, #e6e8ee);
  text-align: center;
}

.courses-cities h3 {
  margin: 0 0 8px;
  font-size: 1.1rem;
  color: var(--c-navy, #061d38);
}

.courses-cities p {
  margin: 0 auto 16px;
  max-width: 560px;
  font-size: 0.92rem;
  color: var(--c-text-soft, #6b7280);
}

.courses-cities__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.courses-cities__links a {
  display: inline-flex;
  padding: 10px 16px;
  background: #fff;
  border: 1px solid var(--c-border, #e6e8ee);
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--c-navy, #061d38);
  text-decoration: none;
}

.courses-cities__links a:hover {
  border-color: var(--c-gold, #d09135);
  background: #fff8ee;
}

@media (max-width: 900px) {
  .courses-grid {
    grid-template-columns: 1fr;
  }

  .courses-related__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .courses-mid-cta__inner {
    flex-direction: column;
    text-align: center;
  }

  .courses-mid-cta__btns {
    justify-content: center;
  }
}

@media (max-width: 600px) {
  .courses-related__grid {
    grid-template-columns: 1fr;
  }

  .courses-hero__btns {
    flex-direction: column;
  }

  .courses-hero__btns .btn {
    width: 100%;
    justify-content: center;
  }

  .courses-cities__links {
    flex-direction: column;
    align-items: stretch;
  }

  .courses-cities__links a {
    justify-content: center;
  }
}


/* ============================================================
   TB-STYLE COURSES PAGE v2 – competitor layout, RACE brand
   ============================================================ */
.tb-courses-page {
  background: #f7f8fc;
}

.tb-wrap {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 20px;
}

/* Hero – centered like competitor */
.tb-hero {
  text-align: center;
  padding: 64px 20px 40px;
  background: #f7f8fc;
}

.tb-hero__title {
  margin: 0 0 16px;
  font-size: clamp(1.85rem, 1.4rem + 1.8vw, 2.75rem);
  font-weight: 800;
  line-height: 1.15;
  color: var(--c-navy, #061d38);
  letter-spacing: -0.02em;
}

.tb-hero__title span {
  color: var(--c-gold, #d09135);
}

.tb-hero__sub {
  margin: 0 auto 24px;
  max-width: 560px;
  font-size: 1.05rem;
  line-height: 1.6;
  color: #5a6577;
}

.tb-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.tb-hero__actions .btn-primary {
  background: var(--c-navy, #061d38);
  border-color: var(--c-navy, #061d38);
  color: #fff;
  min-height: 46px;
  font-weight: 700;
  padding-inline: 28px;
}

.tb-hero__actions .btn-primary:hover {
  background: #0a2d52;
}

.tb-hero__actions .btn-outline {
  border-color: var(--c-navy, #061d38);
  color: var(--c-navy, #061d38);
  min-height: 46px;
  font-weight: 700;
  padding-inline: 28px;
}

/* Category blocks */
.tb-cat {
  padding: 36px 0 48px;
}

.tb-cat__head {
  text-align: center;
  margin-bottom: 32px;
}

.tb-cat__title {
  margin: 0 0 10px;
  font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.85rem);
  font-weight: 800;
  color: #1a1a2e;
  position: relative;
  display: inline-block;
}

.tb-cat__title::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  background: var(--c-gold, #d09135);
  margin: 10px auto 0;
  border-radius: 2px;
}

.tb-cat__sub {
  margin: 14px auto 0;
  max-width: 520px;
  font-size: 0.98rem;
  color: #6b7280;
  line-height: 1.55;
}

/* 4-col card grid like competitor */
.tb-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  align-items: stretch;
}

@media (max-width: 1100px) {
  .tb-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 800px) {
  .tb-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .tb-grid {
    grid-template-columns: 1fr;
  }
}

.tb-card {
  background: #fff;
  border-radius: 14px;
  padding: 24px 22px 20px;
  box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06);
  border: 1px solid rgba(15, 23, 42, 0.04);
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform .2s, box-shadow .2s;
}

.tb-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 20px;
  right: 20px;
  height: 3px;
  background: var(--c-gold, #d09135);
  border-radius: 0 0 3px 3px;
}

.tb-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.1);
}

.tb-card__top {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 10px;
}

.tb-card__icon {
  color: var(--c-navy, #061d38);
  width: 28px;
  height: 28px;
}

.tb-card__title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1.3;
  color: var(--c-navy, #061d38);
}

.tb-card__title a {
  color: inherit;
  text-decoration: none;
}

.tb-card__title a:hover {
  color: var(--c-gold, #d09135);
}

.tb-card__desc {
  margin: 0 0 16px;
  font-size: 0.9rem;
  line-height: 1.55;
  color: #5a6577;
  flex: 1;
}

.tb-card__meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 18px;
  padding-top: 4px;
}

.tb-card__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--c-gold, #d09135);
}

.tb-card__meta-item svg {
  flex: none;
  color: var(--c-gold, #d09135);
}

.tb-card__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  background: var(--c-navy, #061d38);
  color: #fff !important;
  font-weight: 700;
  font-size: 0.95rem;
  border-radius: 8px;
  text-decoration: none;
  border: none;
  transition: background .2s;
}

.tb-card__btn:hover {
  background: #0a2d52;
  color: #fff !important;
}

/* Bottom CTA band */
.tb-cta {
  background: var(--c-navy, #061d38);
  color: #fff;
  padding: 40px 0;
  margin-top: 12px;
}

.tb-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.tb-cta h2 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 1.35rem;
  font-weight: 700;
}

.tb-cta p {
  margin: 0;
  color: #cfd8e6;
  font-size: 0.95rem;
  max-width: 520px;
}

.tb-cta__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  flex-shrink: 0;
}

.tb-cta .btn-primary {
  background: var(--c-gold, #d09135);
  border-color: var(--c-gold, #d09135);
  color: #fff;
  font-weight: 700;
  min-height: 46px;
}

.tb-cta .btn-outline {
  border-color: rgba(255, 255, 255, .5);
  color: #fff;
  min-height: 46px;
}

.tb-cta .btn-outline:hover {
  background: rgba(255, 255, 255, .12);
}

@media (max-width: 700px) {
  .tb-cta__inner {
    flex-direction: column;
    text-align: center;
  }

  .tb-cta__btns {
    justify-content: center;
    width: 100%;
  }

  .tb-cta__btns .btn {
    flex: 1;
  }
}

/* Internal links strip */
.tb-links {
  background: #fff;
  padding: 48px 0;
}

.tb-links__title {
  text-align: center;
  margin: 0 0 20px;
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--c-navy, #061d38);
}

.tb-links__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.tb-links__grid a {
  display: inline-flex;
  padding: 10px 16px;
  background: #f3f5f9;
  border: 1px solid #e6e8ee;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--c-navy, #061d38);
  text-decoration: none;
  transition: border-color .2s, background .2s;
}

.tb-links__grid a:hover {
  border-color: var(--c-gold, #d09135);
  background: #fff8ee;
}


/* ============================================================
   ABOUT PAGE FIXES v2 – no crop, headings, responsive, CTAs
   ============================================================ */

/* Hero images: never crop faces/content */
.about-hero__images img {
  width: 100%;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center;
  background: var(--c-bg-tint, #f5f7fb);
}

.about-hero__images img:first-child {
  max-height: none !important;
}

.about-hero__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

.about-hero__btns .btn {
  min-height: 46px;
  font-weight: 700;
}

.about-hero__btns .btn-primary {
  background: var(--c-gold, #d09135);
  border-color: var(--c-gold, #d09135);
  color: #fff;
}

.about-btn-call,
.about-btn-wa {
  border-color: var(--c-navy, #061d38) !important;
  color: var(--c-navy, #061d38) !important;
  background: #fff;
}

.about-btn-call:hover,
.about-btn-wa:hover {
  background: var(--c-navy, #061d38) !important;
  color: #fff !important;
}

/* Heading scale */
.about-hero__content .section-title .title,
.about-hero h1,
.about-hero h2.title {
  font-size: 25px !important;
  line-height: 1.2;
  color: var(--c-navy, #061d38);
  font-family: "Inter", sans-serif !important;
}

.breadcrumb-hero h1 {
  font-size: clamp(1.5rem, 1.3rem + 1vw, 2.1rem);
}

.mission h2,
.prepare h2,
.achievements h2,
.journey h2,
.branches h2,
.au-recruiters h2 {
  font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.55rem);
  line-height: 1.25;
}

.mission__text,
.mission__statement p {
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--c-text, #3c3c3c);
  font-weight: 400;
}

/* Removed duplicate founder styles to avoid conflicts with the new premium design */

/* Branch cards – no crop */
.branch-card img {
  width: 100% !important;
  max-width: 160px;
  height: auto !important;
  object-fit: contain !important;
  margin: 0 auto 12px;
  border-radius: 12px;
  background: #fff;
}

.branches__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

@media (max-width: 1024px) {
  .branches__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .branches__grid {
    grid-template-columns: 1fr;
  }
}

/* Recruiter logos – contain, no crop */
.au-recruiters img,
.recruiters img {
  object-fit: contain !important;
  height: 48px !important;
  width: auto !important;
  max-width: 120px;
}

/* Stats / journey responsive */
.journey__grid,
.stats__grid {
  display: grid;
  gap: 16px;
}

@media (max-width: 600px) {
  .about-hero__btns {
    flex-direction: column;
  }

  .about-hero__btns .btn {
    width: 100%;
    justify-content: center;
  }
}

/* Related courses on about */
.about-related {
  background: var(--c-bg-tint, #f5f7fb);
  padding-block: 48px;
}

.about-related__title {
  text-align: center;
  margin: 0 0 8px;
  font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.5rem);
  color: var(--c-navy, #061d38);
}

.about-related__lead {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 24px;
  color: var(--c-text-soft, #6b7280);
  font-size: 0.98rem;
}

.about-related__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.about-related__card {
  background: #fff;
  border: 1px solid var(--c-border, #e6e8ee);
  border-radius: var(--radius-md, 10px);
  padding: 20px;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}

.about-related__card:hover {
  border-color: var(--c-gold, #d09135);
  box-shadow: var(--shadow-card);
  transform: translateY(-2px);
}

.about-related__card h3 {
  margin: 0;
  font-size: 1.05rem;
  color: var(--c-navy, #061d38);
}

.about-related__card p {
  margin: 0;
  flex: 1;
  font-size: 0.9rem;
  color: var(--c-text-soft, #6b7280);
  line-height: 1.5;
}

.about-related__card span {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--c-gold, #d09135);
}

@media (max-width: 900px) {
  .about-related__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .about-related__grid {
    grid-template-columns: 1fr;
  }
}

/* CTA bar */
.cta .cta__inner,
section.cta .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}

.cta .btn {
  margin: 4px 6px;
  min-height: 46px;
  font-weight: 700;
}

.cta .btn-primary {
  background: var(--c-gold, #d09135);
  border-color: var(--c-gold, #d09135);
  color: #fff;
}

/* Compact About page CTA with its actions grouped in one row. */
.cta {
  padding-block: 34px;
}

.cta .cta__subtitle {
  margin-bottom: 14px;
}

.cta__actions {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: 10px;
}

.cta__actions .btn {
  margin: 0;
  min-width: 120px;
}

.cta__actions .btn-outline {
  color: #ffffff;
  border-color: #ffffff;
}

.cta__actions .btn-outline:hover {
  color: var(--c-navy-deep);
  background: #ffffff;
}

@media (max-width: 480px) {
  .cta__actions {
    flex-wrap: wrap;
  }
}


/* ============================================================
   ABOUT STRONGER SECTIONS v3 – stats, what we do, why, mid-CTA
   ============================================================ */
.about-stats-bar {
  background: var(--c-navy, #061d38);
  color: #fff;
  padding-block: 28px;
}

.about-stats-bar__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  text-align: center;
}

.about-stats-bar__item strong {
  display: block;
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--c-gold, #d09135);
  margin-bottom: 4px;
}

.about-stats-bar__item span {
  font-size: 0.88rem;
  color: rgba(255, 255, 255, .8);
}

@media (max-width: 800px) {
  .about-stats-bar__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 420px) {
  .about-stats-bar__grid {
    grid-template-columns: 1fr;
  }
}

.about-block-head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 28px;
}

.about-block-head h2 {
  margin: 0 0 10px;
  font-size: clamp(1.3rem, 1.15rem + 0.8vw, 1.65rem);
  color: var(--c-navy, #061d38);
}

.about-block-head p {
  margin: 0;
  color: var(--c-text-soft, #6b7280);
  line-height: 1.6;
}

.about-what-we-do {
  background: #fff;
  padding-block: 48px;
}

.about-what-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.about-what-card {
  background: var(--c-bg-tint, #f5f7fb);
  border: 1px solid var(--c-border, #e6e8ee);
  border-radius: var(--radius-md, 10px);
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: border-color .2s, box-shadow .2s;
}

.about-what-card:hover {
  border-color: var(--c-gold, #d09135);
  box-shadow: var(--shadow-card);
}

.about-what-card h3 {
  margin: 0;
  font-size: 1.08rem;
  color: var(--c-navy, #061d38);
}

.about-what-card p {
  margin: 0;
  flex: 1;
  font-size: 0.92rem;
  color: var(--c-text, #3c3c3c);
  line-height: 1.55;
}

.about-what-card a {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--c-gold, #d09135);
  text-decoration: none;
}

.about-what-card a:hover {
  text-decoration: underline;
}

.about-why {
  background: linear-gradient(180deg, #f8faff 0%, #eef3fb 100%);
  padding-block: 80px;
}

.about-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 40px;
}

.about-why-item {
  background: #ffffff;
  border-radius: 16px;
  padding: 35px 30px;
  border: 1px solid rgba(230, 232, 238, 0.8);
  box-shadow: 0 10px 30px rgba(6, 29, 56, 0.04);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  position: relative;
  overflow: hidden;
}

.about-why-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(6, 29, 56, 0.12);
  border-color: #d09135;
}

.about-why-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: #d09135;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.about-why-item:hover::before {
  opacity: 1;
}

.about-why-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: rgba(208, 145, 53, 0.1);
  border-radius: 50%;
  font-size: 0.9rem;
  font-weight: 800;
  color: #d09135;
  margin-bottom: 20px;
}

.about-why-item h3 {
  margin: 0 0 12px;
  font-size: 1.15rem;
  color: #071a38;
  font-weight: 700;
}

.about-why-item p {
  margin: 0;
  font-size: 0.95rem;
  color: #4a5568;
  line-height: 1.6;
}

.about-why-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 28px;
}

.about-why-cta .btn {
  min-height: 46px;
  font-weight: 700;
}

.about-why-cta .btn-primary {
  background: var(--c-gold, #d09135);
  border-color: var(--c-gold, #d09135);
  color: #fff;
}

.about-mid-cta {
  background: var(--c-navy, #061d38);
  color: #fff;
  padding-block: 40px;
}

.about-mid-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.about-mid-cta h2 {
  margin: 0 0 8px;
  color: #fff;
  font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.45rem);
}

.about-mid-cta p {
  margin: 0;
  color: #cfd8e6;
  font-size: 0.95rem;
  max-width: 560px;
}

.about-mid-cta__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  flex-shrink: 0;
}

.about-mid-cta .btn-primary {
  background: var(--c-gold, #d09135);
  border-color: var(--c-gold, #d09135);
  color: #fff;
  font-weight: 700;
}

.about-mid-cta .btn-outline {
  border-color: rgba(255, 255, 255, .55);
  color: #fff;
}

.about-mid-cta .btn-outline:hover {
  background: rgba(255, 255, 255, .12);
}

@media (max-width: 900px) {

  .about-what-grid,
  .about-why-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .about-mid-cta__inner {
    flex-direction: column;
    text-align: center;
  }

  .about-mid-cta__btns {
    justify-content: center;
  }
}

@media (max-width: 560px) {

  .about-what-grid,
  .about-why-grid {
    grid-template-columns: 1fr;
  }

  .about-why-cta {
    flex-direction: column;
    align-items: stretch;
  }

  .about-why-cta .btn {
    width: 100%;
    text-align: center;
  }
}


/* ============================================================
   HOMEPAGE STABILITY v2 – section layout, sliders, blog type
   ============================================================ */

/* Section rhythm */
.testimonials,
.hiring-partners,
.news-blog,
.skills-tools,
.courses-intro,
.value-props,
.why-choose,
.recognitions,
.transform-split,
.placed-students,
.cert-course,
.brochure-cta,
.journey,
.about,
.stats {
  padding-block: 48px;
  overflow: hidden;
}

.testimonials,
.hiring-partners,
.skills-tools {
  text-align: center;
}

.testimonials h2,
.hiring-partners h2,
.skills-tools h2,
.news-blog h2,
.courses-intro h2,
.section-heading {
  font-size: clamp(1.35rem, 1.15rem + 0.9vw, 1.75rem) !important;
  font-weight: 700;
  color: var(--c-navy, #061d38);
  margin: 0 auto 12px;
  max-width: 900px;
  padding-inline: 16px;
  line-height: 1.25;
}

.testimonials .eyebrow-block,
.hiring-partners>p,
.skills-tools>p {
  margin: 0 auto 24px;
  color: var(--c-text-soft, #6b7280);
  font-size: 16px;
  line-height: 1.55;
}

.testimonials .eyebrow-block p {
  color: #ffffff !important;
}

/* Testimonials slider */
.el-testimonial-nav {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 16px;
}

.el-nav-prev,
.el-nav-next {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid var(--c-border, #e6e8ee);
  background: #fff;
  color: var(--c-navy, #061d38);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.el-nav-prev:hover,
.el-nav-next:hover {
  background: var(--c-navy, #061d38);
  color: #fff;
  border-color: var(--c-navy, #061d38);
}

.el-testimonial-wrapper {
  display: flex !important;
  max-width: 1200px !important;
  margin-inline: auto !important;
  gap: 20px !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  padding: 8px 20px 20px !important;
  -webkit-overflow-scrolling: touch;
}

.el-testimonial-wrapper::-webkit-scrollbar {
  height: 6px;
}

.el-testimonial-card {
  background: #fff !important;
  border-radius: 14px !important;
  padding: 20px !important;
  min-width: min(340px, 85vw) !important;
  max-width: 380px;
  flex: 0 0 auto !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .08) !important;
  scroll-snap-align: start !important;
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 240px !important;
  text-align: left !important;
}

.el-user-info h4 {
  margin: 0 !important;
  font-size: 1rem !important;
  color: var(--c-navy, #061d38) !important;
}

.el-review {
  margin: 12px 0 0 !important;
  font-size: 0.92rem !important;
  line-height: 1.55 !important;
  color: var(--c-text, #3c3c3c) !important;
}

/* Partner logo strip */
.hiring-partners {
  background: #fff;
}

.partner-row,
.race1-partner-row {
  overflow: hidden;
  width: 100%;
  padding: 12px 0;
}

.partner-track,
.race1-partner-track {
  display: flex;
  align-items: center;
  gap: 24px;
  width: max-content;
  animation: partner-marquee 40s linear infinite;
}

.partner-item,
.race1-partner-item {
  width: 160px;
  height: 72px;
  background: #fff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  flex-shrink: 0;
  border: 1px solid rgba(0, 0, 0, .06);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .06);
}

.partner-item img,
.race1-partner-item img {
  max-width: 100%;
  max-height: 48px;
  width: auto;
  height: auto;
  object-fit: contain !important;
}

@keyframes partner-marquee {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

/* Skills tools */
.skills-tools {
  background: var(--c-bg-tint, #f5f7fb);
}

.skills-tech-wrapper {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  padding: 10px 16px;
}

.skills-tech-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  background: var(--c-navy, #061d38);
  border-radius: 8px;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 600;
}

/* Courses intro cards */
.courses-intro {
  background: #fff;
}

.card-container {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;
  max-width: var(--container-wide, 1320px) !important;
  margin-inline: auto !important;
  padding-inline: 20px !important;
}

@media (max-width: 1024px) {
  .card-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 640px) {
  .card-container {
    grid-template-columns: 1fr !important;
  }
}

.card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid var(--c-border, #e6e8ee);
}

.card img {
  width: 100%;
  height: auto;
  object-fit: cover;
  max-height: 200px;
}

.card h3,
.card .card-title {
  font-size: 1.05rem;
  color: var(--c-navy, #061d38);
  padding: 12px 16px 0;
  margin: 0;
}

.card p {
  font-size: 0.9rem;
  color: var(--c-text-soft, #6b7280);
  padding: 8px 16px;
  margin: 0;
  flex: 1;
}

.card a.btn,
.card .card-btn {
  margin: 8px 16px 16px;
}

/* News / blog */
.news-blog {
  background: var(--c-bg-tint, #f5f7fb);
  text-align: center;
}

.news-blog__title,
.news-blog h2.title-main {
  font-size: clamp(1.35rem, 1.15rem + 0.9vw, 1.75rem) !important;
  font-weight: 700 !important;
  color: var(--c-navy, #061d38) !important;
  margin-bottom: 28px !important;
}

.news-blog__grid {
  max-width: 1200px !important;
  margin-inline: auto !important;
  padding-inline: 20px !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  text-align: left !important;
  align-items: stretch !important;
}

.news-blog__card {
  background: #fff !important;
  border: 1px solid var(--c-border, #e6e8ee) !important;
  border-left: 4px solid var(--c-navy-deep, #121421) !important;
  border-radius: 10px !important;
  box-shadow: var(--shadow-card, 0 10px 30px rgba(6, 29, 56, .08)) !important;
  padding: 22px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  height: 100%;
}

.news-blog__card-title,
.news-blog__card h3 {
  margin: 0 !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: var(--c-navy, #061d38) !important;
}

.news-blog__card-excerpt,
.news-blog__card p {
  margin: 0 !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  color: var(--c-text, #3c3c3c) !important;
  flex: 1 !important;
}

.news-blog__card .btn {
  align-self: flex-start;
  margin-top: 4px;
  font-weight: 600;
}

.news-blog .btn-outline {
  border-color: var(--c-navy, #061d38);
  color: var(--c-navy, #061d38);
}

@media (max-width: 900px) {
  .news-blog__grid {
    grid-template-columns: 1fr !important;
    max-width: 520px !important;
  }
}

/* Placed students carousel */
.placed-students {
  background: #fff;
  text-align: center;
}

.placed-students h2 {
  font-size: clamp(1.35rem, 1.15rem + 0.9vw, 1.75rem);
  margin-bottom: 20px;
}

.carousel__item img {
  width: 100%;
  height: auto;
  object-fit: contain !important;
  max-height: 280px;
  background: #f5f7fb;
}

@media (max-width: 900px) {
  .carousel__item {
    flex: 0 0 calc(50% - 12px) !important;
  }
}

@media (max-width: 560px) {
  .carousel__item {
    flex: 0 0 85% !important;
  }
}

/* Info bar responsive */
.info-bar {
  background: var(--c-navy, #061d38);
  color: #fff;
  padding-block: 18px;
}

.info-bar__row {
  max-width: var(--container-wide, 1320px);
  margin-inline: auto;
  padding-inline: 16px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.info-bar__features {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  justify-content: center;
}

.info-bar__feature {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-size: 0.9rem;
  font-weight: 600;
}

.info-bar__feature img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

@media (max-width: 700px) {
  .info-bar__row {
    flex-direction: column;
    text-align: center;
    gap: 0 !important;
  }
}

/* Hero phone / CTA polish */
.hero__btns .btn-primary {
  background: var(--c-gold, #d09135);
  border-color: var(--c-gold, #d09135);
  color: #fff;
  font-weight: 700;
  min-height: 48px;
}

.hero__content h1.title .accent {
  color: var(--c-gold, #d09135);
}

/* Brochure / journey CTAs */
.brochure-cta,
.journey {
  text-align: center;
}

.journey .btn,
.brochure-cta .btn {
  min-height: 46px;
  font-weight: 700;
}

.partner-track.scroll-right,
.race1-partner-track.scroll-right {
  animation: partner-marquee 40s linear infinite;
}

.partner-track.scroll-left,
.race1-partner-track.scroll-left {
  animation: partner-marquee-rev 40s linear infinite;
}

@keyframes partner-marquee-rev {
  0% {
    transform: translateX(-50%);
  }

  100% {
    transform: translateX(0);
  }
}


/* ============================================================
   HP CONVERSION HOME v3 – beat competitor structure
   ============================================================ */
.hp-wrap {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 20px;
}

.hp-head {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 32px;
}

.hp-head h2 {
  margin: 0 0 10px;
  font-size: clamp(1.4rem, 1.2rem + 0.9vw, 1.85rem);
  font-weight: 800;
  color: var(--c-navy, #061d38);
  line-height: 1.2;
}

.hp-head p {
  margin: 0;
  color: #5a6577;
  font-size: 1rem;
  line-height: 1.55;
}

/* HERO */
.hp-hero {
  background: #f7f8fc;
  padding: 56px 0 48px;
}

.hp-hero__grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 40px;
  align-items: center;
}

.hp-hero__pill {
  display: inline-flex;
  padding: 7px 14px;
  background: #fff6e9;
  border: 1px solid rgba(208, 145, 53, .35);
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--c-navy-deep, #121421);
  margin-bottom: 14px;
}

.hp-hero__title {
  margin: 0 0 16px;
  font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.6rem);
  font-weight: 800;
  line-height: 1.15;
  color: var(--c-navy, #061d38);
  letter-spacing: -0.02em;
}

.hp-hero__title span {
  color: var(--c-gold, #d09135);
}

.hp-hero__lead {
  margin: 0 0 18px;
  font-size: 1.05rem;
  line-height: 1.65;
  color: #3c3c3c;
  max-width: 540px;
}

.hp-hero__checks {
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
}

.hp-hero__checks li {
  position: relative;
  padding-left: 22px;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--c-navy-deep, #121421);
}

.hp-hero__checks li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--c-gold, #d09135);
  font-weight: 800;
}

.hp-hero__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;
}

.hp-hero__btns .btn {
  min-height: 48px;
  font-weight: 700;
  padding-inline: 22px;
}

.hp-hero__btns .btn-primary {
  background: var(--c-gold, #d09135);
  border-color: var(--c-gold, #d09135);
  color: #fff;
}

.hp-hero__btns .btn-outline {
  border-color: var(--c-navy, #061d38);
  color: var(--c-navy, #061d38);
  background: #fff;
}

.hp-hero__btns .btn-outline:hover {
  background: var(--c-navy, #061d38);
  color: #fff;
}

.hp-hero__note {
  margin: 0;
  font-size: 0.88rem;
  color: #6b7280;
}

.hp-hero__media {
  display: flex;
  justify-content: center;
}

.hp-hero__img {
  width: 100%;
  max-width: 420px;
  height: auto;
  object-fit: contain;
  border-radius: 16px;
}

@media (max-width: 900px) {
  .hp-hero__grid {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .hp-hero__lead {
    margin-inline: auto;
  }

  .hp-hero__checks {
    grid-template-columns: 1fr;
    text-align: left;
    max-width: 320px;
    margin-inline: auto 0;
    margin-left: auto;
    margin-right: auto;
  }

  .hp-hero__btns {
    justify-content: center;
  }

  .hp-hero__media {
    order: -1;
  }
}

/* STATS */
.hp-stats {
  background: var(--c-navy, #061d38);
  color: #fff;
  padding: 28px 0;
}

.hp-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  text-align: center;
}

.hp-stats__item strong {
  display: block;
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--c-gold, #d09135);
  margin-bottom: 4px;
}

.hp-stats__item span {
  font-size: 0.88rem;
  color: rgba(255, 255, 255, .8);
}

@media (max-width: 700px) {
  .hp-stats__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

/* COURSES */
.hp-courses {
  padding: 56px 0;
  background: #fff;
}

.hp-course-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.hp-course-card {
  background: #fff;
  border: 1px solid #e8ebf0;
  border-radius: 14px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 4px 20px rgba(15, 23, 42, .05);
  transition: transform .2s, box-shadow .2s, border-color .2s;
  position: relative;
}

.hp-course-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 18px;
  right: 18px;
  height: 3px;
  background: var(--c-gold, #d09135);
  border-radius: 0 0 3px 3px;
}

.hp-course-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .1);
  border-color: var(--c-gold, #d09135);
}

.hp-course-card__tag {
  display: inline-flex;
  width: max-content;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  background: #fff6e9;
  color: var(--c-gold, #d09135);
}

.hp-course-card h3 {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 800;
  line-height: 1.3;
  color: var(--c-navy, #061d38);
}

.hp-course-card h3 a {
  color: inherit;
  text-decoration: none;
}

.hp-course-card h3 a:hover {
  color: var(--c-gold, #d09135);
}

.hp-course-card>p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: #5a6577;
  flex: 1;
}

.hp-course-card__meta {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--c-gold, #d09135);
}

.hp-course-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.hp-course-card__actions .btn-sm {
  min-height: 40px;
  font-weight: 700;
  flex: 1;
  text-align: center;
  justify-content: center;
}

.hp-course-card__actions .btn-primary {
  background: var(--c-navy, #061d38);
  border-color: var(--c-navy, #061d38);
  color: #fff;
}

.hp-courses__more {
  text-align: center;
  margin-top: 28px;
}

@media (max-width: 1100px) {
  .hp-course-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .hp-course-grid {
    grid-template-columns: 1fr;
  }
}

/* WHY */
.hp-why {
  padding: 56px 0;
  background: #f7f8fc;
}

.hp-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.hp-why-card {
  background: #fff;
  border: 1px solid #e8ebf0;
  border-radius: 12px;
  padding: 20px;
}

.hp-why-card h3 {
  margin: 0 0 8px;
  font-size: 1.02rem;
  color: var(--c-navy, #061d38);
}

.hp-why-card p {
  margin: 0;
  font-size: 0.9rem;
  color: #5a6577;
  line-height: 1.5;
}

.hp-why-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 28px;
}

.hp-why-cta .btn {
  min-height: 46px;
  font-weight: 700;
}

.hp-why-cta .btn-primary {
  background: var(--c-gold, #d09135);
  border-color: var(--c-gold, #d09135);
  color: #fff;
}

@media (max-width: 800px) {
  .hp-why-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 520px) {
  .hp-why-grid {
    grid-template-columns: 1fr;
  }
}

/* MID CTA */
.hp-mid-cta {
  background: var(--c-navy, #061d38);
  color: #fff;
  padding: 40px 0;
}

.hp-mid-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.hp-mid-cta h2 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 1.35rem;
}

.hp-mid-cta p {
  margin: 0;
  color: #cfd8e6;
  max-width: 520px;
}

.hp-mid-cta__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  flex-shrink: 0;
}

.hp-mid-cta .btn-primary {
  background: var(--c-gold, #d09135);
  border-color: var(--c-gold, #d09135);
  color: #fff;
  font-weight: 700;
}

.hp-mid-cta .btn-outline {
  border-color: rgba(255, 255, 255, .5);
  color: #fff;
}

.hp-mid-cta .btn-outline:hover {
  background: rgba(255, 255, 255, .12);
}

@media (max-width: 700px) {
  .hp-mid-cta__inner {
    flex-direction: column;
    text-align: center;
  }

  .hp-mid-cta__btns {
    justify-content: center;
  }
}

/* Testimonials / partners / placed / blog wrappers */
.hp-testimonials,
.hp-partners,
.hp-placed,
.hp-blog {
  padding: 56px 0;
}

.hp-testimonials {
  background: #fff;
}

.hp-partners {
  background: #f7f8fc;
}

.hp-placed {
  background: #fff;
}

.hp-blog {
  background: #f7f8fc;
}

.hp-placed__more,
.hp-blog__more {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 24px;
}

.hp-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.hp-blog-grid .news-blog__card {
  text-align: left;
  height: 100%;
}

@media (max-width: 900px) {
  .hp-blog-grid {
    grid-template-columns: 1fr;
    max-width: 520px;
    margin-inline: auto;
  }
}

/* Journey section retained – ensure spacing */
.journey {
  padding-block: 56px;
}


/* ============================================================
   FOOTER REDESIGN v2 – compact, readable, responsive
   ============================================================ */
.site-footer {
  background: #061d38;
  color: #d5deea;
  padding: 48px 0 0;
  font-size: 0.92rem;
  line-height: 1.55;
}

.footer-inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 20px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.35fr 0.9fr 1.1fr 1.15fr;
  gap: 28px 32px;
  padding-bottom: 36px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.footer-logo {
  display: inline-block;
  margin-bottom: 12px;
  line-height: 0;
}

.footer-logo img {
  display: block;
  height: 42px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.footer-tagline {
  margin: 0 0 14px;
  max-width: 32ch;
  color: #c5d0e0;
  font-size: 0.92rem;
  line-height: 1.55;
}

.footer-contact-lines {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
}

.footer-contact-lines a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.92rem;
}

.footer-contact-lines a:hover {
  color: #d09135;
}

.footer-socials {
  display: flex;
  gap: 8px;
}

.footer-socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .1);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none;
}

.footer-socials a:hover {
  background: #d09135;
  color: #fff;
}

.footer-col h4 {
  margin: 0 0 14px;
  font-size: 0.95rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.02em;
}

.footer-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer-col a {
  color: #c5d0e0;
  text-decoration: none;
  font-size: 0.9rem;
}

.footer-col a:hover {
  color: #d09135;
}

.footer-branches {
  gap: 12px !important;
}

.footer-branches li {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.footer-branches strong {
  color: #fff;
  font-weight: 700;
}

.footer-branches span {
  color: #a8b6c9;
  font-size: 0.84rem;
}

.footer-branch-phone {
  color: #e8eef7 !important;
  font-weight: 600;
  font-size: 0.86rem !important;
}

.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 0 22px;
}

.footer-copy {
  margin: 0;
  color: #a8b6c9;
  font-size: 0.85rem;
}

.footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.footer-legal a {
  color: #c5d0e0;
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 600;
}

.footer-legal a:hover {
  color: #d09135;
}

/* Responsive: shift columns cleanly */
@media (max-width: 1024px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px 24px;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }

  .footer-tagline {
    max-width: 48ch;
  }
}

@media (max-width: 600px) {
  .site-footer {
    padding-top: 40px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .footer-brand {
    grid-column: auto;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  .footer-logo img {
    height: 38px;
  }
}

/* Legacy footer class safety (if any residual) */
.site-footer .footer__grid,
.site-footer .footer__about,
.site-footer .footer__col {
  /* superseded by footer-grid */
}


/* ============================================================
   FOOTER LAYOUT POLISH v3 – tagline, spacing, social chips
   ============================================================ */
.site-footer {
  padding: 52px 0 0;
}

.footer-grid {
  gap: 32px 40px;
  align-items: start;
}

.footer-brand {
  padding-right: 12px;
}

.footer-logo {
  margin-bottom: 14px;
}

.footer-logo img {
  height: 44px;
  max-width: 168px;
}

.footer-tagline {
  max-width: 34ch;
  margin: 0 0 16px;
  color: #d0dae8;
  font-size: 0.94rem;
  line-height: 1.6;
}

.footer-contact-lines {
  gap: 8px;
  margin-bottom: 16px;
}

.footer-contact-lines a {
  color: #ffffff;
  font-size: 0.94rem;
}

.footer-socials {
  gap: 10px;
  flex-wrap: wrap;
}

.footer-socials a {
  min-width: auto;
  height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 0.8rem;
  letter-spacing: 0.01em;
  background: rgba(255, 255, 255, .12);
}

.footer-socials a:hover {
  background: #d09135;
}

.footer-col h4 {
  margin: 0 0 16px;
  padding-bottom: 8px;
  border-bottom: 2px solid rgba(208, 145, 53, .45);
  display: inline-block;
}

.footer-col ul {
  gap: 10px;
}

.footer-col a {
  color: #d0dae8;
}

.footer-branches li {
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.footer-branches li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.footer-branches span {
  color: #b3c0d1;
}

.footer-bottom {
  padding: 20px 0 24px;
}

.footer-copy {
  color: #b3c0d1;
}

@media (max-width: 1024px) {
  .footer-grid {
    gap: 28px 28px;
  }

  .footer-brand {
    padding-right: 0;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
  }

  .footer-tagline {
    max-width: 52ch;
  }
}

@media (max-width: 600px) {
  .footer-grid {
    gap: 26px;
  }

  .footer-col h4 {
    margin-bottom: 12px;
  }

  .footer-socials a {
    flex: 1;
    justify-content: center;
  }
}


/* ============================================================
   GLOBAL MOBILE SAFETY v1 – overflow, type, touch, forms
   ============================================================ */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  overflow-x: clip;
}

img,
video,
iframe,
svg {
  max-width: 100%;
  height: auto;
}

/* Prefer readable form controls on iOS (no zoom on focus) */
@media (max-width: 767px) {

  input,
  select,
  textarea,
  button,
  .btn {
    font-size: 16px;
  }

  input,
  select,
  textarea {
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
  }

  .btn,
  a.btn {
    max-width: 100%;
  }

  /* Stack common CTA rows */
  .hp-hero__btns,
  .hp-mid-cta__btns,
  .jo-hero__btns,
  .jo-early-cta__actions,
  .jo-mid-cta__btns,
  .courses-hero__btns,
  .about-hero__btns,
  .tb-hero__actions,
  .tb-cta__btns {
    width: 100%;
  }

  .hp-hero__btns .btn,
  .hp-mid-cta__btns .btn,
  .jo-hero__btns .btn,
  .jo-early-cta__actions .btn,
  .jo-mid-cta__btns .btn,
  .courses-hero__btns .btn,
  .about-hero__btns .btn,
  .tb-hero__actions .btn,
  .tb-cta__btns .btn {
    flex: 1 1 100%;
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  /* Jump nav horizontal scroll without page overflow */
  .jo-jump-nav,
  .courses-filter {
    max-width: 100%;
  }

  .jo-jump-nav__list,
  .courses-filter__list {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 6px;
  }

  /* Tables */
  .jo-table-wrap,
  .cpc-table-wrap,
  table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Section padding tighter on small phones */
  .hp-hero,
  .hp-courses,
  .hp-why,
  .hp-testimonials,
  .hp-partners,
  .hp-placed,
  .hp-blog,
  .section-pad {
    padding-left: 0;
    padding-right: 0;
  }

  .hp-wrap,
  .tb-wrap,
  .jo-wide,
  .courses-wrap,
  .container {
    padding-inline: 16px;
  }

  /* Footer social full width chips already set; ensure contact lines wrap */
  .footer-contact-lines a {
    word-break: break-word;
  }

  /* Testimonial cards fit viewport */
  .el-testimonial-card {
    min-width: min(300px, 88vw) !important;
  }

  /* Course / product cards */
  .hp-course-card__actions {
    flex-direction: column;
  }

  .hp-course-card__actions .btn {
    width: 100%;
  }

  /* Header: ensure logo doesn't dominate */
  .site-header__logo img {
    max-height: 40px;
    width: auto;
  }
}

/* Shared form select styling */
select {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  min-height: 46px;
  padding: 10px 42px 10px 14px;
  border: 1px solid #d0d7e2;
  border-radius: 8px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23061d38' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6'/%3E%3C/svg%3E");
  background-position: right 14px center;
  background-repeat: no-repeat;
  background-size: 12px 8px;
  color: var(--c-navy-deep);
  font: inherit;
  line-height: 1.35;
  outline: none;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

select:hover {
  border-color: var(--c-gold);
}

select:focus {
  border-color: var(--c-gold);
  box-shadow: 0 0 0 3px rgba(208, 145, 53, .18);
}

select:disabled {
  background-color: #f5f7fb;
  color: var(--c-text-soft);
  cursor: not-allowed;
  opacity: .8;
}

select option {
  color: var(--c-navy-deep);
  background: #fff;
}

.race-form-group select {
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23061d38' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6'/%3E%3C/svg%3E") !important;
  background-position: right 14px center !important;
  background-repeat: no-repeat !important;
  background-size: 12px 8px !important;
}

.custom-select {
  position: relative;
  width: 100%;
}

.custom-select__native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none;
}

.custom-select__button {
  position: relative;
  width: 100%;
  min-height: 46px;
  padding: 0px 42px 0px 14px;
  border: 1px solid #d0d7e2;
  border-radius: 8px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23061d38' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6'/%3E%3C/svg%3E") right 14px center / 12px 8px no-repeat;
  color: var(--c-navy-deep);
  font: inherit;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-select__button:hover,
.custom-select.is-open .custom-select__button,
.custom-select__button:focus-visible {
  border-color: var(--c-gold);
  outline: none;
  box-shadow: 0 0 0 3px rgba(208, 145, 53, .18);
}

.custom-select__options {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  left: 0;
  z-index: 30;
  display: none;
  max-height: 240px;
  overflow-y: auto;
  padding: 5px;
  border: 1px solid #d0d7e2;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(6, 29, 56, .16);
}

.custom-select.is-open .custom-select__options {
  display: grid;
  gap: 2px;
}

.custom-select__option {
  width: 100%;
  padding: 10px 11px;
  border: 0;
  border-radius: 5px;
  background: #fff;
  color: var(--c-navy-deep);
  font: inherit;
  line-height: 1.35;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}

.custom-select__option:hover,
.custom-select__option:focus-visible,
.custom-select__option[aria-selected="true"] {
  background: var(--c-bg-tint);
  color: var(--c-navy);
  outline: none;
}

.custom-select__option:disabled {
  color: var(--c-text-soft);
  cursor: default;
}

/* Extra-small phones */
@media (max-width: 380px) {
  .hp-hero__title {
    font-size: 1.45rem;
  }

  .hp-stats__item strong {
    font-size: 1.1rem;
  }

  .footer-logo img {
    height: 36px;
  }
}

/* ============================================================
   UNIFIED STYLESHEET (style.css)
   Page: (root)
   Contains: Tokens + Global Base + Header + Footer + Modals + Page Components
   No inline or internal styles needed.
   ============================================================ */

/* === 1. DESIGN TOKENS === */
/* Design tokens extracted from the real backup:
   - Kirki theme_mods_eduvalt: eduvalt_color_option (#061d38), eduvalt_color_option3 (#d09135), typography Inter
   - Elementor Kit #7 global colors/typography (post-7.css)
   - Confirmed dominant font in compiled post-93.css (homepage) is "Inter" */
:root {
  /* brand */
  --c-navy: #061d38;
  /* theme primary (header/footer chrome) */
  --c-navy-deep: #121421;
  /* elementor kit near-black, used within builder content */
  --c-gold: #d09135;
  /* brand accent, consistent across theme + elementor kit */
  --c-blue: #3b56ff;
  /* elementor kit accent blue (links/highlights) */
  --c-bg-tint: #f5f7fb;
  /* elementor kit light section background */
  --c-white: #ffffff;

  /* text */
  --c-text: #3c3c3c;
  --c-text-soft: #6b7280;
  --c-text-invert: #ffffff;

  /* surfaces */
  --c-surface: #ffffff;
  --c-surface-alt: var(--c-bg-tint);
  --c-border: #e6e8ee;

  /* semantic */
  --c-success: #1e8e3e;
  --c-danger: #dc2626;

  /* type */
  --font-primary: "Inter", sans-serif;
  --font-accent: "Inter", sans-serif;

  --fs-h1: clamp(1.8rem, 1.2rem + 2vw, 2.8rem);
  --fs-h2: clamp(1.3rem, 1.1rem + 1.2vw, 2rem);
  --fs-h3: clamp(1.1rem, 0.9rem + 0.5vw, 1.35rem);
  --fs-body: 0.95rem;
  --fs-small: 0.875rem;

  /* layout */
  --container: 1280px;
  --container-wide: 1440px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 20px;
  --shadow-card: 0 10px 30px rgba(6, 29, 56, .08);
  --shadow-pop: 0 20px 60px rgba(6, 29, 56, .25);

  --header-h: 88px;
  --header-h-scrolled: 68px;
}

/* === 2. GLOBAL BASE (Reset, Header, Footer, Modals, Forms) === */
/* ============ RESET ============ */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font-primary);
  font-size: var(--fs-body);
  color: var(--c-text);
  background: var(--c-white);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 .6em;
  font-weight: 600;
  line-height: 1.25;
  color: var(--c-navy-deep);
  text-wrap: balance;
}

h1 {
  font-size: var(--fs-h1);
}

h2 {
  font-size: var(--fs-h2);
}

h3 {
  font-size: var(--fs-h3);
}

p {
  margin: 0 0 1em;
}

button {
  font-family: inherit;
  cursor: pointer;
}

.container {
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: 20px;
}

.container-wide {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
}

section {
  padding-block: 48px;
}

@media (max-width:767px) {
  section {
    padding-block: 32px;
  }
}

.overflow-fix {
  overflow-x: hidden;
}

/* ============ BUTTONS ============ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 24px;
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: 14px;
  border: 2px solid transparent;
  transition: all .25s ease;
}

.btn-primary {
  background: var(--c-gold);
  color: var(--c-white);
}

.btn-primary:hover {
  background: #b97b22;
}

.btn-outline {
  background: transparent;
  color: var(--c-navy);
  border-color: var(--c-navy);
}

.btn-outline:hover {
  background: var(--c-navy);
  color: var(--c-white);
}

.btn-block {
  width: 100%;
}

/* ============ HEADER ============ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--c-white);
  box-shadow: 0 1px 0 var(--c-border);
  transition: box-shadow .25s ease, padding .25s ease;
}

.site-header.is-scrolled {
  box-shadow: 0 6px 24px rgba(6, 29, 56, .12);
}

.site-header__topbar {
  background: var(--c-navy);
  color: #fff;
}

.site-header__topbar-inner {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding: 8px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  font-size: 13px;
  flex-wrap: wrap;
}

.site-header__topbar-inner i {
  color: var(--c-gold);
  margin-right: 6px;
}

.site-header__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: var(--container-wide);
  margin-inline: auto;
  padding: 5px 15px;
}

.site-header__brand {
  display: flex;
  align-items: center;
  gap: 16px;
}

.site-header__logo img {
  height: 80px;
  width: auto;
}

.city-select {
  position: relative;
}

.city-select__btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid var(--c-border);
  border-radius: 20px;
  background: var(--c-white);
  font-size: 13px;
  font-weight: 600;
  color: var(--c-navy-deep);
}

.city-select__btn i {
  color: var(--c-gold);
}

.city-select__dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 160px;
  background: var(--c-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 8px;
  border: 1px solid var(--c-border);
  z-index: 10;
}

.city-select:hover .city-select__dropdown,
.city-select.is-open .city-select__dropdown {
  display: block;
}

.city-select__dropdown li a {
  display: block;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  color: var(--c-navy-deep);
}

.city-select__dropdown li a:hover {
  background: var(--c-surface-alt);
  color: var(--c-gold);
}

.header-cta__apply {
  padding: 10px 22px;
  font-size: 14px;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 2px;
}

.site-nav>ul {
  display: flex;
  align-items: center;
  gap: 6px;
}

.site-nav a {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 12px;
  font-weight: 600;
  font-size: 15px;
  color: var(--c-navy-deep);
  border-radius: var(--radius-sm);
}

.site-nav>ul>li>a:hover {
  color: var(--c-gold);
}

.site-nav .has-dropdown {
  position: relative;
}

.site-nav .dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 280px;
  background: var(--c-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 10px;
  border: 1px solid var(--c-border);
}

.site-nav .has-dropdown:hover>.dropdown {
  display: block;
}

.site-nav .dropdown li a {
  padding: 10px 14px;
  font-weight: 500;
  white-space: normal;
}

.site-nav .dropdown li a:hover {
  background: var(--c-surface-alt);
  color: var(--c-gold);
}

.site-nav .dropdown .has-dropdown .dropdown {
  top: 0;
  left: 100%;
}

.header-cta {
  display: flex;
  align-items: center;
  gap: 14px;
}

.header-cta__phone {
  display: flex;
  flex-direction: column;
  font-size: 13px;
  color: var(--c-text-soft);
}

.header-cta__phone a {
  font-weight: 700;
  color: var(--c-navy-deep);
  font-size: 15px;
}

.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  width: 32px;
  background: none;
  border: none;
  padding: 6px;
}

.nav-toggle span {
  display: block;
  height: 2px;
  background: var(--c-navy-deep);
  border-radius: 2px;
}

@media (max-width:1024px) {
  .site-nav {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background: var(--c-white);
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    box-shadow: none;
    transform: translateX(100%);
    transition: transform .3s ease;
    overflow: hidden;
    z-index: 1000;
  }

  .site-nav.is-open {
    transform: translateX(0);
  }

  .site-nav>ul {
    flex: 1 1 auto;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    overflow-y: auto;
    padding: 6px 24px;
  }

  .site-nav .dropdown {
    display: none;
    position: static;
    box-shadow: none;
    border: none;
    padding-left: 14px;
  }

  .site-nav .has-dropdown:hover>.dropdown {
    display: none;
  }

  .site-nav .has-dropdown.is-open>.dropdown {
    display: block;
  }

  .nav-toggle {
    display: flex;
  }

  .header-cta__phone {
    display: none;
  }

  .header-cta__apply {
    padding: 8px 16px;
    font-size: 13px;
  }
}

@media (max-width:640px) {
  .site-header__topbar-inner {
    justify-content: flex-start;
    gap: 16px;
    font-size: 11.5px;
    padding: 6px 20px;
    overflow-x: auto;
    white-space: nowrap;
  }

  .site-header__brand {
    gap: 10px;
  }

  .city-select__btn span,
  .city-select__btn {
    font-size: 12px;
    padding: 7px 10px;
  }

  .header-cta__apply {
    padding: 7px 12px;
    font-size: 12px;
  }
}

@media (max-width:480px) {
  .site-header__topbar-inner span:last-child {
    display: none;
  }

  .site-header__logo img {
    height: 34px;
  }

  .city-select__btn {
    padding: 6px 8px;
    font-size: 11px;
  }

  .site-header__bar {
    padding: 5px 15px;
    gap: 12px;
  }
}

.nav-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(6, 29, 56, .45);
  z-index: 999;
}

.nav-backdrop.is-open {
  display: block;
}

/* ============ FOOTER ============ */
.site-footer {
  background: var(--c-navy);
  color: #c9d3e0;
  padding-block: 64px 0;
}

.footer__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: 32px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

@media (max-width:1024px) {
  .footer__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:600px) {
  .footer__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

.footer__logo img {
  display: block;
  width: 120px;
  height: auto;
  filter: none;
  margin-bottom: 16px;
}

.footer__about p {
  color: #a9b6c9;
  max-width: 34ch;
}

.footer__socials {
  display: flex;
  gap: 10px;
  margin-top: 16px;
}

.footer__socials a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}

.footer__socials a:hover {
  background: var(--c-gold);
}

.footer__phones {
  display: flex;
  gap: 18px;
  margin-top: 14px;
  flex-wrap: wrap;
}

.footer__phones a {
  color: #fff;
  font-weight: 600;
}

.footer h4 {
  color: #fff;
  font-size: 16px;
  margin-bottom: 18px;
}

.footer__branches {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer__branch b {
  display: block;
  color: #fff;
  font-size: 14px;
  margin-bottom: 2px;
}

.footer__branch a {
  color: #a9b6c9;
  font-size: 14px;
  line-height: 1.5;
}

.footer__branch .phone {
  display: inline-block;
  margin-top: 4px;
  color: #fff;
}

.footer__links li {
  margin-bottom: 10px;
}

.footer__links a {
  color: #a9b6c9;
}

.footer__links a:hover {
  color: var(--c-gold);
}

.footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 22px 0;
  font-size: 13.5px;
  color: #8b98ab;
}

.footer__bottom a {
  color: #a9b6c9;
}

.footer__bottom a:hover {
  color: var(--c-gold);
}

.footer__bottom .disabled-link {
  color: #657289;
  cursor: default;
  pointer-events: none;
}

/* ============ WHATSAPP BUTTON ============ */
.wa-float {
  position: fixed;
  right: 22px;
  bottom: 22px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
  z-index: 900;
  transition: transform .2s ease;
}

.wa-float:hover {
  transform: scale(1.08);
}

.wa-float svg {
  width: 30px;
  height: 30px;
  fill: #fff;
}

/* ============ POPUPS / MODALS ============ */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(6, 10, 20, .6);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1200;
  padding: 20px;
}

.modal-overlay.is-open {
  display: flex;
}

.modal {
  position: relative;
  background: #fff;
  border-radius: var(--radius-lg);
  max-width: 460px;
  width: 100%;
  padding: 32px;
  box-shadow: var(--shadow-pop);
  max-height: 90vh;
  overflow-y: auto;
}

.modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--c-surface-alt);
  border: none;
  font-size: 18px;
  line-height: 1;
  color: var(--c-navy-deep);
}

.modal h3 {
  margin-bottom: 6px;
}

/* ============ FORMS (matches original custom CSS behavior) ============ */
.cta-form input:not([type=submit]),
.cta-form select,
.cta-form textarea {
  width: 100%;
  height: 42px;
  padding: 10px 12px;
  margin-bottom: 15px;
  border: 1px solid #dcdcdc;
  border-radius: 6px;
  font-size: 14px;
  background: #f3f4f6;
  outline: none;
  transition: .3s ease;
  font-family: inherit;
}

.cta-form textarea {
  height: auto;
  min-height: 100px;
}

.cta-form input:focus,
.cta-form select:focus,
.cta-form textarea:focus {
  border-color: var(--c-blue);
  background: #fff;
}

.cta-form input[type=submit],
.cta-form button[type=submit] {
  width: 100%;
  height: 44px;
  background: var(--c-blue);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 500;
}

.cta-form input[type=submit]:hover,
.cta-form button[type=submit]:hover {
  background: #243fce;
}

/* Keep legacy CTA form rules aligned with the shared select treatment. */
.cta-form select {
  padding: 10px 42px 10px 14px;
  border: 1px solid #d0d7e2;
  border-radius: 8px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23061d38' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6'/%3E%3C/svg%3E");
  background-position: right 14px center;
  background-repeat: no-repeat;
  background-size: 12px 8px;
  color: var(--c-navy-deep);
}

.cta-form select:focus {
  border-color: var(--c-gold);
  background-color: #fff;
  box-shadow: 0 0 0 3px rgba(208, 145, 53, .18);
}

.form-row {
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
}

@media (max-width:600px) {
  .form-row {
    grid-template-columns: 1fr;
  }
}

/* ============ MISC HELPERS ============ */
.eyebrow {
  display: inline-block;
  color: var(--c-gold);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .02em;
  margin-bottom: 10px;
}

.section-title .sub-title {
  color: var(--c-blue);
  font-weight: 600;
  display: block;
  margin-bottom: 10px;
}

.section-title .title {
  color: var(--c-navy-deep);
}

.section-title .desc {
  color: var(--c-text-soft);
}

.section-title.text-center {
  text-align: center;
  margin-inline: auto;
  max-width: 720px;
}

.breadcrumb-hero {
  position: relative;
  padding-block: 70px;
  background-size: cover;
  background-position: center;
  color: #fff;
  text-align: center;
}

.breadcrumb-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6, 29, 56, .85), rgba(6, 29, 56, .7));
}

.breadcrumb-hero * {
  position: relative;
  z-index: 1;
}

.breadcrumb-hero h1 {
  color: #fff;
  margin-bottom: 8px;
}

.breadcrumb-hero .crumbs a {
  color: #cfd8e6;
}

.breadcrumb-hero .crumbs span {
  color: var(--c-gold);
}

/* === 3. PAGE-SPECIFIC COMPONENTS === */
/* ============================================================
   Homepage-only styles (post ID 93)
   Built from settings baked into elementor-93-home.json content
   (colors/fonts already carry per-element overrides in the source;
   layout translated from Elementor flex/grid containers to plain
   flex/grid). Breakpoints match the kit: 1024px / 767px.
   ============================================================ */

/* ---------- Hero / banner ---------- */
.hero {
  position: relative;
  background: url('assets/race-hero-banner.webp') right center / cover no-repeat;
  overflow: hidden;
  padding-block: 40px 160px;
}

.hero__inner {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 32px;
  align-items: center;
}

.hero__content {
  position: relative;
  z-index: 2;
}

.hero__content .sub-title {
  display: block;
  color: var(--c-gold);
  font-weight: 700;
  margin-bottom: 14px;
}

.hero__content h1.title {
  font-size: 28px;
  font-weight: 600;
  color: #121421;
  line-height: 1.25;
  margin-bottom: 16px;
}

.hero__content h1.title .accent {
  color: var(--c-gold);
}

.hero__content p {
  color: #121421;
  max-width: 52ch;
  margin-bottom: 24px;
}

.hero__btns {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 22px;
}

.hero__phone {
  display: flex;
  align-items: center;
  gap: 10px;
}

.hero__phone i {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--c-navy);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}

.hero__phone span {
  display: block;
  font-size: 13px;
  color: #666;
}

.hero__phone a {
  display: block;
  font-weight: 700;
  color: var(--c-navy-deep);
}

.hero__media {
  position: relative;
}

.hero__media img.main-img {
  border-radius: var(--radius-lg);
  width: 100%;
  height: auto;
}

.hero__shape {
  position: absolute;
  pointer-events: none;
  z-index: 1;
  opacity: .9;
}

.hero__shape--01 {
  width: 70px;
  top: -18px;
  left: -18px;
}

.hero__shape--02 {
  width: 110px;
  bottom: -24px;
  right: -10px;
}

@media (max-width:1024px) {
  .hero__inner {
    grid-template-columns: 1fr;
  }

  .hero__media {
    order: -1;
    max-width: 420px;
    margin-inline: auto;
  }
}

@media (max-width:767px) {
  .hero {
    padding-block: 24px 20px;
  }

  .hero__content h1.title {
    font-size: 18px;
  }

  .hero__content .sub-title {
    font-size: 14px;
  }
}

@media (max-width:480px) {
  .hero__btns {
    gap: 14px;
    flex-direction: column;
    align-items: stretch;
  }

  .hero__btns .btn {
    text-align: center;
  }

  .hero__phone {
    justify-content: center;
    margin-top: 8px;
  }
}

/* ---------- Top info bar ---------- */
.info-bar {
  background: var(--c-navy);
  color: #fff;
}

.info-bar__row {
  max-width: 1400px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 275px minmax(0, 1fr) 280px;
  align-items: center;
}

.info-bar__phone {
  padding: 10px 14px;
  border-bottom: 2px solid transparent;
  display: flex;
  align-items: center;
}

.info-bar__phone .icon-box {
  display: flex;
  align-items: center;
  gap: 16px;
  border-right: 2px solid #fff;
  padding: 10px 28px 10px 0;
}

.info-bar__phone .icon-box i {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--c-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: var(--c-navy);
  flex-shrink: 0;
}

.info-bar__phone .icon-box b {
  display: block;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.25;
  white-space: nowrap;
}

.info-bar__phone .icon-box em {
  display: block;
  font-style: normal;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.25;
  color: var(--c-gold);
}

.info-bar__features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  align-items: center;
  padding: 10px 12px;
}

.info-bar__feature {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border-right: 2px solid #fff;
  padding: 10px 18px;
  min-height: 80px;
}

.info-bar__feature:last-child {
  border-right: none;
}

.info-bar__feature img {
  width: 38px;
  height: 38px;
  flex-shrink: 0;
  filter: brightness(0) saturate(100%) invert(64%) sepia(78%) saturate(597%) hue-rotate(356deg) brightness(91%) contrast(88%);
}

.info-bar__feature span {
  font-size: 15px;
  line-height: 1.25;
}

.info-bar__cta {
  height: 100px;
  background: #dfa345;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px !important;
  text-align: center;
}

.info-bar__cta p {
  margin: 0;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.3;
  color: #121421;
}

@media (max-width:1024px) {
  .info-bar__row {
    display: flex;
    flex-wrap: wrap;
  }

  .info-bar__phone,
  .info-bar__features,
  .info-bar__cta {
    width: 100%;
  }

  .info-bar__phone {
    justify-content: center;
  }

  .info-bar__phone .icon-box {
    border-right: none;
    padding: 10px 0;
  }

  .info-bar__features {
    grid-template-columns: repeat(2, 1fr);
    padding: 8px 12px;
  }

  .info-bar__feature {
    min-height: 76px;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, .85);
    padding: 10px 12px;
  }

  .info-bar__feature:nth-child(odd) {
    border-right: 1px solid rgba(255, 255, 255, .85);
  }

  .info-bar__feature:nth-child(3),
  .info-bar__feature:nth-child(4) {
    border-bottom: none;
  }

  .info-bar__cta {
    height: auto;
    min-height: 60px;
    padding: 12px 10px;
  }
}

@media (max-width:600px) {
  .info-bar__phone .icon-box {
    gap: 12px;
  }

  .info-bar__phone .icon-box i {
    width: 56px;
    height: 56px;
    font-size: 15px;
  }

  .info-bar__phone .icon-box b,
  .info-bar__phone .icon-box em {
    font-size: 15px;
  }

  .info-bar__feature {
    gap: 9px;
    padding: 10px 8px;
  }

  .info-bar__feature img {
    width: 30px;
    height: 30px;
  }

  .info-bar__feature span {
    font-size: 14px;
  }

  .info-bar__cta p {
    font-size: 15px;
  }
}

@media (max-width:480px) {
  /* Removed 1-column layout override so it stays 2 columns (inherited from 767px query) */
}

/* ---------- Section heading helpers ---------- */
.eyebrow-block {
  text-align: left;
  max-width: 1114px;
  margin: 0 auto 8px;
  padding-inline: 20px;
}

.eyebrow-block .eyebrow {
  margin-bottom: 6px;
}

/* ---------- About ---------- */
.about {
  padding-block: 32px;
}

.about__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 28px;
  align-items: center;
}

.about__row h2 {
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 14px;
}

.about__row p {
  color: #000;
}

.about__media img {
  border-radius: var(--radius-md);
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 260px;
}

@media (max-width:1024px) {
  .about__row {
    grid-template-columns: 1fr;
  }
}

/* ---------- Latest updates ticker ---------- */
.ticker-wrap {
  overflow: hidden;
}

/* ---------- Stats ---------- */
.stats {
  background: #ffffff;
  padding-block: 10px;
}

.stats__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px))) !important;
  gap: 10px;
}

.stats__item {
  border: 1px solid var(--c-gold);
  border-radius: var(--radius-md);
  min-height: 110px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px;
  text-align: center;
}

.stats__item .num {
  font-size: 22px;
  font-weight: 600;
  color: var(--c-gold);
  margin: 0;
}

.stats__item .label {
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  margin: 0;
}

@media (max-width:1024px) {
  .stats__item .label {
    font-size: 14px;
  }
}

@media (max-width:767px) {
  .stats__item .label {
    font-size: 13px;
  }
}

/* ---------- Course cards intro (html widget styles this itself) ---------- */
.courses-intro {
  padding-block: 24px 32px;
}

.courses-intro .eyebrow-block {
  text-align: center;
}

/* ---------- Career split (text + image) ---------- */
.career-split {
  padding-block: 32px;
}

.career-split__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 32px;
  align-items: center;
}

.career-split__row h2 {
  font-size: 20px;
  font-weight: 400;
  color: #121421;
}

.career-split__row .text p {
  color: #000;
}

.career-split__row img {
  border-radius: var(--radius-md);
  width: 100%;
  height: 500px;
  object-fit: cover;
}

@media (max-width:1024px) {
  .career-split__row {
    grid-template-columns: 1fr;
  }

  .career-split__row img {
    height: 320px;
    order: -1;
  }
}

/* ---------- Value props (4 bordered cards) ---------- */
.value-props {
  padding-block: 32px;
}

.value-props h2 {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 20px;
}

.value-props__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 16px;
}

.value-props__card {
  border: 2px solid #5a8be5;
  border-radius: 10px 10px 0 0;
  padding: 20px 14px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  min-height: 200px;
  justify-content: center;
}

.value-props__card img {
  width: 48px;
  height: 48px;
}

.value-props__card h3 {
  font-size: 16px;
  margin: 0;
}

.value-props__card p {
  font-size: 14px;
  color: var(--c-text-soft);
  margin: 0;
}

@media (max-width: 767px) {
  .value-props__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    padding-inline: 12px;
  }

  .value-props__card {
    padding: 12px 10px;
    gap: 8px;
    min-height: auto;
  }

  .value-props__card img {
    width: 32px;
    height: 32px;
  }

  .value-props__card h3 {
    font-size: 13px;
    line-height: 1.3;
  }

  .value-props__card p {
    font-size: 11.5px;
    line-height: 1.4;
  }
}

/* ---------- Why choose RACE (dark) ---------- */
.why-choose {
  background: #02284d;
  color: #fff;
  padding-block: 32px;
}

.why-choose h2 {
  text-align: center;
  color: #fff;
}

.why-choose .eyebrow-block .eyebrow {
  color: var(--c-gold);
}

.why-choose__row {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: flex;
  gap: 24px;
  margin-top: 24px;
}

.why-choose__row>div {
  width: 50%;
}

.why-choose__text p {
  color: #e3e8f0;
  white-space: normal;
}

.why-choose__btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 16px;
}

.why-choose__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

@media (max-width: 600px) {
  .why-choose__btns {
    flex-wrap: nowrap;
    gap: 8px;
  }

  .why-choose__btns .btn {
    flex: 1;
    padding: 10px 4px;
    font-size: 13px;
    text-align: center;
    line-height: 1.2;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .why-choose__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }

  .why-choose__card {
    padding: 12px 8px;
    min-height: auto;
    gap: 8px;
  }

  .why-choose__card h3 {
    font-size: 13px;
    line-height: 1.3;
  }

  .why-choose__card img {
    width: 32px;
    height: 32px;
  }
}

.why-choose__card {
  border: 1px solid #fff;
  border-radius: 10px;
  padding: 5px;
  box-shadow: 0 0 5px rgba(0, 0, 0, .5);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
}

.why-choose__card img {
  width: 40px;
  height: 40px;
  filter: brightness(0) invert(1);
}

.why-choose__card h3 {
  color: #fff;
  font-size: 15px;
  margin: 0;
}

@media (max-width:1024px) {
  .why-choose__row {
    flex-direction: column;
  }

  .why-choose__row>div {
    width: 100%;
  }
}


/* ---------- Hands-on learning tools (skills tags handled by inline html widget) ---------- */
.skills-tools {
  padding-block: 32px;
  text-align: center;
}

.skills-tools h2 {
  margin-bottom: 10px;
}

.skills-tools>p {
  max-width: 760px;
  margin: 0 auto 10px;
  color: var(--c-text-soft);
}

/* ---------- Recognitions (5-col) ---------- */
.recognitions {
  padding-block: 32px;
}

.recognitions h2 {
  text-align: center;
  margin-bottom: 20px;
}

.recognitions__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 14px;
}

.recognitions__card {
  border: 1px solid #dfe3ea;
  border-radius: 10px;
  padding: 18px 10px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.recognitions__card img {
  width: 44px;
  height: 44px;
}

/* Give each recognition icon a distinct, accessible accent colour. */
.recognitions__card:nth-child(1) img {
  filter: invert(48%) sepia(83%) saturate(1190%) hue-rotate(350deg) brightness(94%) contrast(91%);
}

.recognitions__card:nth-child(2) img {
  filter: invert(45%) sepia(92%) saturate(686%) hue-rotate(126deg) brightness(91%) contrast(89%);
}

.recognitions__card:nth-child(3) img {
  filter: invert(35%) sepia(91%) saturate(1477%) hue-rotate(207deg) brightness(95%) contrast(91%);
}

.recognitions__card:nth-child(4) img {
  filter: invert(37%) sepia(75%) saturate(1311%) hue-rotate(255deg) brightness(88%) contrast(91%);
}

.recognitions__card:nth-child(5) img {
  filter: invert(67%) sepia(91%) saturate(1324%) hue-rotate(5deg) brightness(96%) contrast(94%);
}

.recognitions__card h3 {
  font-size: 15px;
  margin: 0;
}


/* ---------- Transform split (2 cards) ---------- */
.transform-split {
  padding-block: 32px;
}

.transform-split__grid {
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.transform-split__card {
  border-radius: 10px;
  padding: 30px;
  min-height: 230px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
}

.transform-split__card--dark {
  background: #000 url('assets/img/2026/07/race11.png') center/cover no-repeat;
  position: relative;
}

.transform-split__card--dark::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .55);
  border-radius: 10px;
}

.transform-split__card--dark>* {
  position: relative;
  z-index: 1;
}

.transform-split__card--dark h2 {
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  margin: 0;
}

.transform-split__card--dark .btn {
  width: min(100%, 260px);
  align-self: flex-start;
}

.transform-split__card--light {
  background: #deecff;
}

.transform-split__card--light h2 {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 5px;
}

.icon-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.icon-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 2px solid #d7d7d7;
  color: #061d38;
}

.icon-list li:last-child {
  border-bottom: none;
}

.icon-list i {
  color: #061d38;
  width: 20px;
  text-align: center;
}

@media (max-width:767px) {
  .transform-split__grid {
    grid-template-columns: 1fr;
  }
}

/* ---------- Testimonials wrapper (dark) ---------- */
.testimonials {
  background: #02284d;
  padding-block: 32px;
  text-align: center;
}

.testimonials h2 {
  color: #fff;
}

.testimonials .eyebrow-block {
  margin-bottom: 14px;
}

/* ---------- Hiring partners ---------- */
.hiring-partners {
  padding-block: 32px;
  text-align: center;
}

.hiring-partners h2 {
  margin-bottom: 8px;
}

.hiring-partners>p {
  max-width: 760px;
  margin: 0 auto 10px;
  color: var(--c-text-soft);
}

/* ---------- Placed students carousel ---------- */
.placed-students {
  padding-block: 32px;
}

.placed-students h2 {
  text-align: center;
  margin-bottom: 20px;
}

.carousel {
  position: relative;
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
}

.carousel__track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 6px;
}

.carousel__track::-webkit-scrollbar {
  height: 6px;
}

.carousel__item {
  flex: 0 0 calc(25% - 12px);
  scroll-snap-align: start;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--shadow-card);
}

.carousel__item img {
  width: 100%;
  height: auto;
  aspect-ratio: 3/4;
  object-fit: contain;
  border-radius: 8px;
  display: block;
}

.carousel__nav {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 14px;
}

.carousel__prev,
.carousel__next {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--c-border);
  background: #fff;
  cursor: pointer;
  font-size: 14px;
}

@media (max-width:1024px) {
  .carousel__item {
    flex-basis: calc(50% - 8px);
  }
}

@media (max-width:600px) {
  .carousel__item {
    flex-basis: 85%;
  }
}

/* ---------- News & Blog ---------- */
.news-blog {
  padding-block: 24px 32px;
}

.news-blog .eyebrow-block {
  margin-bottom: 2px;
  text-align: center;
}

.news-blog .eyebrow {
  font-size: 20px;
}

.news-blog h2.title-main {
  text-align: center;
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 28px;
}

.news-blog__grid {
  max-width: 1535px;
  margin-inline: auto;
  padding-inline: 15px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 26px;
  margin-bottom: 22px;
  align-items: stretch;
}

.news-blog__card {
  background: #fff;
  border: 1px solid var(--c-border);
  border-top: 4px solid var(--c-blue);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(6, 29, 56, .06);
  padding: 50px 24px;
  display: flex;
  flex-direction: column;
  min-height: 300px;
  height: 100%;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.news-blog__card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 30px rgba(6, 29, 56, .12);
}

.news-blog__card h3 {
  text-align: left;
  font-size: 18px;
  font-weight: 700;
  color: var(--c-navy);
  line-height: 1.3;
  margin-bottom: 12px;
}

.news-blog__card p {
  text-align: left;
  color: var(--c-text-soft);
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 20px;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-blog__card .btn-outline {
  align-self: flex-start;
  margin-top: auto;
  width: auto;
  height: auto;
  padding: 8px 16px;
  background: var(--c-bg-tint);
  border: 1px solid var(--c-border);
  color: var(--c-navy-deep);
  font-size: 13px;
  font-weight: 600;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.news-blog__card .btn-outline:hover {
  background: var(--c-navy-deep);
  border-color: var(--c-navy-deep);
  color: #fff;
}

.news-blog__more {
  text-align: center;
}

.news-blog__more .btn-primary {
  width: 140px;
  height: 38px;
  padding: 0;
  background: var(--c-navy-deep);
  font-size: 14px;
  border-radius: 6px;
}

.news-blog__more .btn-primary:hover {
  background: #000;
}

@media (max-width:767px) {
  .news-blog .eyebrow {
    font-size: 15px;
  }

  .news-blog h2.title-main {
    font-size: 20px;
  }

  .news-blog__card {
    padding: 16px 18px;
    min-height: 0;
  }

  .news-blog__card h3 {
    font-size: 17px;
  }

  .news-blog__card p {
    font-size: 14px;
  }

  .news-blog__card .btn-outline {
    font-size: 14px;
  }


}

/* ---------- Certification course ---------- */
.cert-course {
  padding-block: 32px;
}

.cert-course h2 {
  text-align: left;
  margin-bottom: 16px;
}

.cert-course__row {
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: start;
}

.cert-course__content {
  text-align: left;
}

.cert-course__row img {
  border-radius: var(--radius-md);
  /* width: 70% !important; */
  height: 300px !important;
  object-fit: contain;
}

@media (max-width:1024px) {
  .cert-course__row {
    grid-template-columns: 1fr;
  }
}

/* ---------- Brochure CTA (black, overlay image) ---------- */
.brochure-cta {
  position: relative;
  background: #06182d url('assets/img/2026/07/bg_overlay_3.png') center/cover no-repeat;
  padding-block: 48px;
  color: #fff;
}

.brochure-cta__row {
  position: relative;
  z-index: 1;
  max-width: var(--container-wide);
  margin-inline: auto;
  padding-inline: 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.brochure-cta__text h4 {
  color: #fff;
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 8px;
}

.brochure-cta__text p {
  color: #dfe6f0;
  margin: 0;
  max-width: 52ch;
}

.brochure-cta .btn {
  border: 2px solid #fff;
}

@media (max-width:767px) {
  .brochure-cta__row {
    text-align: center;
    justify-content: center;
  }
}

/* ---------- Journey / FAQ + form ---------- */
.journey {
  padding-block: 32px;
}

.journey h2 {
  text-align: center;
  margin-bottom: 8px;
}

.journey>p {
  max-width: 900px;
  margin: 0 auto 24px;
  text-align: center;
  color: var(--c-text-soft);
}

.journey__row {
  max-width: 1080px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: .7fr 1fr;
  gap: 24px;
}

.journey__form {
  border-top: 5px solid var(--c-navy-deep);
  border-radius: 10px;
  padding: 10px;
}

.journey__faq {
  border-top: 5px solid var(--c-navy-deep);
  border-radius: 10px;
  padding: 10px;
}

@media (max-width:900px) {
  .journey__row {
    grid-template-columns: 1fr;
  }
}

.accordion__item {
  border: 1px solid var(--c-border);
  border-radius: 6px;
  margin-bottom: 8px;
  overflow: hidden;
}

.accordion__trigger {
  width: 100%;
  text-align: left;
  background: var(--c-surface-alt);
  border: none;
  padding: 14px 16px;
  font-weight: 600;
  font-size: 15px;
  font-family: inherit;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--c-navy-deep);
}

.accordion__trigger::after {
  content: "+";
  font-size: 15px;
  font-weight: 400;
}

.accordion__item.is-open .accordion__trigger::after {
  content: "\2212";
}

.accordion__panel {
  display: none;
  padding: 14px 16px;
  font-size: 14px;
  color: var(--c-text);
}

.accordion__item.is-open .accordion__panel {
  display: block;
}

/* ---------- Course cards (used by the raw html widget) responsive guard ---------- */
.card-container img,
.race1-partner-item img,
.partner-item img {
  max-width: 100%;
}

/* Compact enquiry dialogs and accessible floating field labels. */
body.has-open-popup {
  overflow: hidden;
}

.modal-overlay {
  padding: 16px;
}

.modal-overlay .modal {
  max-width: 390px;
  padding: 24px;
  border-radius: 18px;
  max-height: calc(100dvh - 32px);
  overscroll-behavior: contain;
  box-shadow: 0 24px 70px rgba(6, 10, 20, .24);
}

.modal .modal__close {
  top: 10px;
  right: 10px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  cursor: pointer;
  font-size: 26px;
  z-index: 2;
}

.modal__close:hover {
  background: #e5ebf5;
}

.modal__close:focus-visible {
  outline: 2px solid var(--c-blue);
  outline-offset: 2px;
}

.modal h3 {
  padding-right: 36px;
  margin: 0 0 20px;
  font-size: 24px;
  line-height: 1.3;
}

.cta-form .floating-field {
  position: relative;
  margin-bottom: 12px;
}

.cta-form .floating-field input,
.cta-form .floating-field textarea {
  margin-bottom: 0;
  height: 45px;
  padding: 21px 12px 7px;
  font-size: 13px !important;
}

.floating-field label {
  position: absolute;
  top: 15px;
  left: 12px;
  margin: 0;
  color: #626b7a;
  font-size: 14px;
  line-height: 20px;
  cursor: text;
  pointer-events: none;
  transition: top .16s ease, font-size .16s ease, color .16s ease;
}

.floating-field input:focus+label,
.floating-field input:not(:placeholder-shown)+label,
.floating-field textarea:focus+label,
.floating-field textarea:not(:placeholder-shown)+label {
  top: 3px;
  font-size: 11px;
  color: var(--c-blue);
}

.modal .cta-form select {
  height: 46px;
  margin-bottom: 12px;
  font-size: 16px;
  background-color: #f8fafc;
}

.modal .cta-form button[type=submit] {
  min-height: 46px;
  margin-top: 4px;
  border-radius: 8px;
}

@media (max-width: 480px) {
  .modal-overlay .modal {
    padding: 22px 18px 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .floating-field label {
    transition: none;
  }
}

/* Branded select menus: keep long course names inside the form. */
.cta-form .custom-select {
  margin-bottom: 12px;
  min-width: 0;
}

.cta-form .custom-select__button {
  min-height: 50px;
  background-color: #f8fafc;
  font-size: 14px;
  white-space: normal;
  overflow-wrap: anywhere;
  border-radius: 8px;
}

.cta-form .custom-select__options {
  max-height: 220px;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

.modal .custom-select__options {
  position: absolute;
  top: calc(100% + 6px);
  bottom: auto;
  margin-top: 0;
  max-height: min(220px, 35dvh);
  box-sizing: border-box;
}

.modal .custom-select.opens-up .custom-select__options {
  top: auto;
  bottom: calc(100% + 6px);
}

.modal .custom-select.is-open {
  z-index: 40;
}

.cta-form .custom-select__option {
  font-size: 14px;
  line-height: 1.5;
}

.cta-form .custom-select__option[aria-selected="true"] {
  background: #eef3fa;
  color: var(--c-navy-deep);
  font-weight: 600;
}

.cta-form .custom-select__option:focus-visible {
  outline: 2px solid var(--c-gold);
  outline-offset: -2px;
}

.cta-form .custom-select__button[aria-invalid="true"] {
  border-color: #b42318;
}

/* Shared enquiry form rhythm for pages and popups. */
.cta-form .floating-field,
.cta-form .custom-select {
  margin-bottom: 12px;
}

.cta-form .floating-field input,
.cta-form .custom-select__button {
  border-color: #d5dde9;
  background-color: #f8fafc;
}

.cta-form .floating-field input:focus,
.cta-form .custom-select.is-open .custom-select__button {
  background-color: #ffffff;
}

/* CPC course page: dark conversion hero based on the approved reference. */
.cpc-page-header {
  background: #061d38;
  padding-block: 18px;
  text-align: center;
}

.cpc-page-header h1 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.35rem, 1.05rem + 1.2vw, 2rem);
}

.cpc-page-header__sub {
  color: #dbe6f5;
}

.cpc-hero.cpc-hero--strong {
  position: relative;
  overflow: hidden;
  padding-block: clamp(38px, 5vw, 64px);
  background: linear-gradient(120deg, #061a34 0%, #0a2d5e 58%, #1554b6 100%);
}

.cpc-hero.cpc-hero--strong::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 0 58%, rgba(255, 255, 255, .06) 58% 62%, transparent 62%);
  pointer-events: none;
}

.cpc-hero--strong .cpc-hero__row {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr);
}

.cpc-hero--strong .cpc-hero__content {
  align-items: flex-start;
  gap: 12px;
  text-align: left;
}

.cpc-hero--strong .cpc-hero__content h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.75rem, 1.25rem + 1.8vw, 2.8rem);
  line-height: 1.16;
}

.cpc-hero--strong .cpc-hero__lead,
.cpc-hero--strong .cpc-hero__content p {
  color: #e4edf9;
  text-align: left;
  max-width: 62ch;
}

.cpc-hero--strong .cpc-hero__checks {
  color: #ffffff;
}

.cpc-hero--strong .cpc-hero__checks i {
  color: #f0ae32;
}

.cpc-hero--strong .cpc-eyebrow-pill {
  background: rgba(255, 255, 255, .12);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, .3);
}

.cpc-hero--strong .cpc-hero__badge-gold {
  color: #ffd27c;
}

.cpc-hero--strong .cpc-btn-call,
.cpc-hero--strong .cpc-btn-wa {
  color: #ffffff;
  border-color: rgba(255, 255, 255, .75);
}

.cpc-hero--strong .cpc-hero__trustline {
  color: #cbd9ec;
}

.cpc-hero__enquiry {
  padding: 22px;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .28);
}

.cpc-hero__form-eyebrow {
  margin: 0 0 4px;
  color: #d09135;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.cpc-hero__enquiry h3 {
  margin: 0 0 5px;
  color: var(--c-navy-deep);
  font-size: 1.25rem;
}

.cpc-hero__enquiry>p:not(.cpc-hero__form-eyebrow) {
  margin: 0 0 14px;
  color: var(--c-text-soft);
  font-size: .85rem;
  line-height: 1.5;
}

.cpc-hero__enquiry .cta-form .floating-field,
.cpc-hero__enquiry .cta-form .custom-select {
  margin-bottom: 9px;
}

.cpc-hero__enquiry .cta-form .floating-field input,
.cpc-hero__enquiry .cta-form .custom-select__button {
  min-height: 42px;
  font-size: .85rem;
}

.cpc-hero__enquiry .cta-form button[type=submit] {
  min-height: 42px;
}

@media (max-width: 1024px) {
  .cpc-hero--strong .cpc-hero__row {
    grid-template-columns: 1fr;
  }

  .cpc-hero--strong .cpc-hero__content {
    align-items: center;
    text-align: center;
  }

  .cpc-hero--strong .cpc-hero__lead,
  .cpc-hero--strong .cpc-hero__content p {
    text-align: center;
  }

  .cpc-hero__enquiry {
    width: min(100%, 460px);
    margin-inline: auto;
  }
}

/* Hiring partners: first row travels left, second row travels right. */
.hiring-partners .partner-track {
  animation-name: partner-marquee;
  animation-direction: normal;
}

.hiring-partners .race1-partner-track {
  animation-name: partner-marquee;
  animation-direction: reverse;
}

/* Placement posters fill their cards without letterboxing. */
.placed-students .carousel {
  padding-inline: 28px;
}

.placed-students .carousel__track {
  padding-block: 0;
  align-items: flex-start;
}

.placed-students .carousel__item {
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.placed-students .carousel__item img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  background: transparent;
}

.placed-students .carousel__nav {
  margin-top: 0;
}

.placed-students .carousel__prev {
  left: 4px;
}

.placed-students .carousel__next {
  right: 4px;
}

.placed-students .carousel__prev,
.placed-students .carousel__next {
  width: 44px;
  height: 44px;
  z-index: 3;
}

.placed-students .carousel button:focus-visible {
  outline: 2px solid var(--c-blue);
  outline-offset: 3px;
}

.placed-students__more {
  text-align: center;
  margin-top: 16px;
}

/* Compact hero padding with content centered alongside the image. */
body[data-page="home"] .hero {
  padding-top: 85px;
}

body[data-page="home"] .hero__inner {
  align-items: center;
}

/* About introduction: balanced columns with an overlapping photo collage. */
.about-hero {
  padding-block: clamp(32px, 4vw, 52px);
}

.about-hero__grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(28px, 4vw, 56px);
}

.about-hero__images {
  position: relative;
  display: block;
  width: 100%;
  max-width: 520px;
  aspect-ratio: 1 / 1;
  margin-inline: auto;
  isolation: isolate;
}

.about-hero__images::before {
  content: "";
  position: absolute;
  inset: 9% 0 5% 7%;
  border-radius: 48% 48% 24px 24px;
  background: #f7f2e9;
  z-index: -1;
}

.about-hero__images img {
  position: absolute;
  display: block;
  box-sizing: border-box;
  border: 6px solid #fff;
  border-radius: 18px;
  box-shadow: 0 14px 32px rgba(6, 29, 56, .14);
}

.about-hero__images img:first-child {
  width: 64%;
  top: 0;
  right: 7%;
  z-index: 1;
}

.about-hero__images img:nth-child(2) {
  width: 39%;
  left: 0;
  bottom: 1%;
  z-index: 3;
}

.about-hero__images img:nth-child(3) {
  width: 48%;
  right: 0;
  bottom: 0;
  z-index: 2;
}

@media (max-width: 1024px) {
  .about-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .about-hero__images {
    max-width: 460px;
  }
}

@media (max-width: 480px) {
  .about-hero__images img {
    border-width: 4px;
    border-radius: 12px;
  }
}

/* About recruiters share one dark section; only logo cards are white. */
.au-recruiters {
  background: #02284d;
}

.au-recruiters .partner-section,
.au-recruiters .partner-row,
.au-recruiters .partner-track {
  background: transparent;
}

.au-recruiters .partner-item {
  background: #ffffff;
}

/* Unified continuous partner / recruiter scrolling marquee */
.partner-section,
.race1-partner-section {
  width: 100%;
  overflow: hidden;
}

.partner-row,
.race1-partner-row {
  width: 100%;
  overflow: hidden;
  position: relative;
  display: flex;
}

.partner-track,
.race1-partner-track {
  --marquee-half-gap: 12px;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 24px;
  width: max-content !important;
  will-change: transform;
}

@media (max-width: 767px) {

  .partner-track,
  .race1-partner-track {
    --marquee-half-gap: 8px;
    gap: 16px;
  }
}

.partner-track.scroll-left,
.race1-partner-track.scroll-left,
.au-recruiters .partner-track.scroll-left {
  animation: continuousPartnerScrollLeft 32s linear infinite !important;
}

.partner-track.scroll-right,
.race1-partner-track.scroll-right,
.au-recruiters .partner-track.scroll-right {
  animation: continuousPartnerScrollRight 32s linear infinite !important;
}

.partner-row:hover .partner-track,
.race1-partner-row:hover .race1-partner-track,
.partner-track:hover,
.race1-partner-track:hover {
  animation-play-state: paused !important;
}

@keyframes continuousPartnerScrollLeft {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(calc(-50% - var(--marquee-half-gap, 12px)));
  }
}

@keyframes continuousPartnerScrollRight {
  0% {
    transform: translateX(calc(-50% - var(--marquee-half-gap, 12px)));
  }

  100% {
    transform: translateX(0);
  }
}

@media (prefers-reduced-motion: reduce) {

  .partner-track,
  .race1-partner-track,
  .au-recruiters .partner-track {
    animation-play-state: paused !important;
  }
}

/* Page gestures scroll the page; placement posters only slide horizontally. */
.placed-students .carousel__track {
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-y: auto;
}

/* Brochure banner matches the supplied dark geometric reference. */
.brochure-cta {
  padding-block: clamp(40px, 4vw, 64px);
}

.brochure-cta__row {
  flex-wrap: nowrap;
  gap: 40px;
}

.brochure-cta__text {
  flex: 1;
  min-width: 0;
  text-align: left;
}

.brochure-cta__text h4 {
  font-size: clamp(24px, 2vw, 32px);
  margin-bottom: 16px;
}

.brochure-cta__text p {
  max-width: 80ch;
}

.brochure-cta__row>.btn {
  flex-shrink: 0;
}

.brochure-cta__actions {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}

.brochure-cta__actions .btn {
  min-height: 44px;
  padding: 10px 18px;
  color: #ffffff;
}

@media (max-width: 767px) {
  .brochure-cta__row {
    flex-direction: column;
    gap: 24px;
  }

  .brochure-cta__text {
    text-align: center;
  }

  .brochure-cta__actions {
    display: grid;
    width: min(100%, 340px);
    grid-template-columns: 1fr;
  }

  .brochure-cta__actions .btn {
    width: 100%;
  }
}

/* Compact spacing for the homepage enquiry form. */
.journey__form {
  padding: 16px;
}

.journey__form .form_btn_cf7,
.journey__form .contact-form-wrap {
  padding: 0;
}

.journey__form .cta-form .floating-field,
.journey__form .cta-form .custom-select {
  margin-bottom: 10px;
}

.journey__form .cta-form .floating-field input {
  height: 44px;
  padding: 18px 10px 5px;
  font-size: 14px;
}

.journey__form .floating-field label {
  top: 12px;
  left: 10px;
}

.journey__form .floating-field input:focus+label,
.journey__form .floating-field input:not(:placeholder-shown)+label {
  top: 1px;
}

.journey__form .custom-select__button {
  min-height: 44px;
  padding: 8px 36px 8px 10px;
}

.journey__form .cta-form button[type=submit] {
  min-height: 44px;
  padding: 10px 16px;
}

/* CPC page final layout pass: consistent rhythm, readable grids and mobile flow. */
.cpc-page-header,
.cpc-infobar,
.cpc-jump-nav,
.cpc-hero,
.cpc-early-cta,
.cpc-details-table,
.cpc-skills,
.cpc-tabs,
.cpc-features,
.cpc-modes,
.cpc-curriculum,
.cpc-admission,
.cpc-cta-dark,
.cpc-mid-cta,
.cpc-support,
.cpc-fees,
.cpc-recruiters,
.cpc-success,
.cpc-placed,
.cpc-testimonials,
.cpc-why,
.cpc-career-ops,
.cpc-faq,
.cpc-related,
.cpc-final-cta {
  box-sizing: border-box;
}

.cpc-wide,
.cpc-hero__row,
.cpc-early-cta__inner,
.cpc-mid-cta__inner,
.cpc-cta-dark__row,
.cpc-support__row,
.cpc-final-cta__inner {
  width: min(1180px, calc(100% - 32px));
  margin-inline: auto;
}

.cpc-page-header {
  padding-block: 30px;
}

.cpc-page-header__sub {
  max-width: 760px;
  margin: 8px auto 0;
  line-height: 1.6;
}

.cpc-infobar {
  padding: 24px 0 28px;
  background: #f4f6fa;
  position: relative;
}

.cpc-infobar__title {
  margin: 0 0 18px;
  font-size: 18px;
  font-weight: 700;
  color: #0b1c33;
  text-align: center;
}

.cpc-infobar__title::before,
.cpc-infobar__title::after {
  display: none !important;
}

.cpc-infobar__grid {
  width: min(1180px, calc(100% - 32px));
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.cpc-infobar__item {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 68px;
  padding: 12px 18px;
  border-radius: 8px;
  background: #dcdcdc;
  box-sizing: border-box;
}

.cpc-infobar__item i {
  flex: 0 0 auto;
  font-size: 20px;
  color: #0284c7;
  background: #e0f2fe;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
}

/* Colorful Infobar Icons */
.cpc-infobar__item:nth-child(4n+1) i {
  background-color: #e0f2fe;
  color: #0284c7;
}

.cpc-infobar__item:nth-child(4n+2) i {
  background-color: #ccfbf1;
  color: #0d9488;
}

.cpc-infobar__item:nth-child(4n+3) i {
  background-color: #fef3c7;
  color: #d97706;
}

.cpc-infobar__item:nth-child(4n+4) i {
  background-color: #f3e8ff;
  color: #9333ea;
}

.cpc-infobar__text {
  display: flex;
  flex-direction: column;
}

.cpc-infobar__text h3 {
  margin: 0 0 2px;
  font-size: 14px;
  font-weight: 700;
  color: #111;
  line-height: 1.25;
}

.cpc-infobar__text p {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: #444;
  line-height: 1.2;
}

.cpc-jump-nav {
  position: sticky;
  top: 0;
  z-index: 30;
  border-block: 1px solid #e4e9f1;
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(10px);
}

.cpc-jump-nav__list {
  width: min(1180px, calc(100% - 32px));
  margin-inline: auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px 0;
}

.cpc-jump-nav a {
  padding: 8px 11px;
  border-radius: 7px;
  color: var(--c-navy-deep);
  font-size: .82rem;
  font-weight: 700;
}

.cpc-jump-nav a:hover,
.cpc-jump-nav a:focus-visible {
  background: #eef3fa;
  color: var(--c-blue);
}

.cpc-hero--strong .cpc-hero__row {
  align-items: center;
  gap: clamp(28px, 5vw, 72px);
}

.cpc-hero--strong .cpc-hero__media {
  min-width: 0;
  width: 100%;
}

.cpc-hero--strong .cpc-hero__badges {
  margin-bottom: 4px;
}

.cpc-hero--strong .cpc-hero__checks {
  margin-block: 12px 4px;
}

.cpc-hero--strong .cpc-hero__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.cpc-hero__enquiry .cta-form {
  display: grid;
  gap: 9px;
}

.cpc-hero__enquiry .cta-form .floating-field,
.cpc-hero__enquiry .cta-form .custom-select {
  margin: 0;
}

.cpc-details-table table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid #dfe6ef;
  border-radius: 12px;
}

.cpc-details-table th,
.cpc-details-table td {
  padding: 13px 16px;
  border-bottom: 1px solid #e8edf3;
  text-align: left;
  vertical-align: top;
}

.cpc-details-table tr:last-child th,
.cpc-details-table tr:last-child td {
  border-bottom: 0;
}

.cpc-details-table th {
  width: 28%;
  color: var(--c-navy-deep);
  background: #f5f7fb;
}

.cpc-skills__grid,
.cpc-features__grid,
.cpc-success__grid,
.cpc-why__grid,
.cpc-career-grid,
.cpc-fees__grid {
  width: min(1180px, calc(100% - 32px));
  margin-inline: auto;
  gap: 14px;
}

.cpc-skills__grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.cpc-features__grid,
.cpc-success__grid,
.cpc-why__grid,
.cpc-career-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cpc-fees__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cpc-skills__card,
.cpc-features__card,
.cpc-success__card,
.cpc-why__card,
.cpc-career-card,
.cpc-fees__card {
  height: 100%;
  border: 1px solid #e0e7f0;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(6, 29, 56, .06);
}

.cpc-placed__grid {
  width: min(1180px, calc(100% - 32px));
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}

.cpc-placed__item {
  overflow: hidden;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 5px 14px rgba(6, 29, 56, .09);
}

.cpc-placed__item img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

.cpc-faq__row {
  width: min(1180px, calc(100% - 32px));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
  gap: 24px;
  align-items: start;
}

.cpc-faq__form,
.cpc-faq__list {
  border: 1px solid #e0e7f0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(6, 29, 56, .06);
}

@media (max-width: 900px) {

  .cpc-infobar__grid,
  .cpc-skills__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cpc-features__grid,
  .cpc-success__grid,
  .cpc-why__grid,
  .cpc-career-grid,
  .cpc-fees__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cpc-placed__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cpc-faq__row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {

  .cpc-wide,
  .cpc-hero__row,
  .cpc-early-cta__inner,
  .cpc-mid-cta__inner,
  .cpc-cta-dark__row,
  .cpc-support__row,
  .cpc-final-cta__inner,
  .cpc-infobar__grid,
  .cpc-skills__grid,
  .cpc-features__grid,
  .cpc-success__grid,
  .cpc-why__grid,
  .cpc-career-grid,
  .cpc-fees__grid,
  .cpc-placed__grid,
  .cpc-faq__row {
    width: min(100% - 12px, 560px);
  }

  .cpc-features__grid,
  .cpc-career-grid,
  .cpc-fees__grid {
    grid-template-columns: 1fr;
  }

  .cpc-skills__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cpc-placed__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .cpc-jump-nav__list {
    width: calc(100% - 24px);
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
  }

  .cpc-jump-nav a {
    flex: 0 0 auto;
  }

  .cpc-hero--strong .cpc-hero__btns {
    flex-direction: column;
    align-items: stretch;
  }

  .cpc-hero--strong .cpc-hero__btns .btn {
    width: 100%;
  }

  .cpc-details-table th,
  .cpc-details-table td {
    display: block;
    width: 100%;
  }

  .cpc-details-table th {
    padding-bottom: 5px;
    border-bottom: 0;
  }

  .cpc-details-table td {
    padding-top: 5px;
  }
}

/* CPC Pune landing — top hero (matches live raceguidance CPC page) */
.cpc-top-hero {
  position: relative;
  overflow: hidden;
  background: #fff;
  min-height: 570px;
  box-sizing: border-box;
}

.cpc-top-hero__gradient {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background: linear-gradient(135deg, #02284d 0%, #1d65db 100%);
  clip-path: polygon(35% 0, 100% 0, 100% 100%, 75% 100%);
  z-index: 0;
  pointer-events: none;
}

.cpc-top-hero__inner {
  position: relative;
  z-index: 2;
  width: min(1700px, 100%);
  min-height: 570px;
  margin-inline: auto;
  padding: 28px clamp(15px, 3vw, 47px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: clamp(24px, 4vw, 50px);
  box-sizing: border-box;
}

.cpc-top-hero__content {
  flex: 1 1 auto;
  width: calc(100% - 477px);
  max-width: 760px;
}

.cpc-top-hero__eyebrow {
  margin: 0 0 7px;
  font-size: 12px;
  line-height: 1.4;
  color: #111;
  font-weight: 700;
  letter-spacing: 0.2px;
}

.cpc-top-hero__badge {
  display: inline-block;
  margin: 0 0 9px;
  padding: 8px 20px 8px 12px;
  background: linear-gradient(135deg, #02284d 0%, #1d65db 100%);
  color: #fff;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 600;
  border-radius: 5px;
}

.cpc-top-hero__content h1 {
  margin: 0 0 15px;
  max-width: 720px;
  color: #10156b;
  font-size: clamp(1.25rem, 1rem + 1vw, 1.55rem);
  line-height: 1.2;
  font-weight: 700;
}

.cpc-top-hero__desc {
  width: 100%;
  max-width: 720px;
  margin: 0 0 15px;
  padding: 16px 22px;
  border-left: 5px solid #302b8f;
  background: #fafafa;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.cpc-top-hero__desc p {
  margin: 0;
  color: #222;
  font-size: 16px;
  line-height: 1.5;
}

.cpc-top-hero__highlights-title {
  margin: 0 0 8px;
  color: #101010;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
  text-transform: uppercase;
}

.cpc-top-hero__highlights {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 25px;
  row-gap: 7px;
  max-width: 740px;
}

.cpc-top-hero__highlight {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #333;
  font-size: 14px;
  line-height: 1.35;
}

.cpc-top-hero__highlight i {
  flex: none;
  color: #24257e;
  font-size: 14px;
  margin-top: 2px;
}

.cpc-top-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 14px 0 6px;
}

.cpc-top-hero__actions .btn {
  min-height: 42px;
  padding: 10px 15px;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 700;
}

.cpc-top-hero__actions .btn-primary {
  background: linear-gradient(135deg, #02284d 0%, #1d65db 100%);
  border-color: transparent;
}

.cpc-top-hero__actions .btn-navy {
  background: #29257f;
  border-color: #29257f;
  color: #fff;
}

.cpc-top-hero__trust {
  max-width: 740px;
  padding-top: 9px;
  border-top: 1px solid #eee;
  color: #ff7800;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 600;
}

.cpc-top-hero__trust .rating-stars {
  letter-spacing: 1px;
}

.cpc-top-hero__form-card {
  width: 480px;
  flex: 0 0 480px;
  background: #fff;
  border-top: 4px solid #29257f;
  border-radius: 8px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.12);
  padding: 14px 24px 16px;
  box-sizing: border-box;
}

.cpc-top-hero__form-intro {
  margin: 0 0 3px;
  text-align: center;
  color: #555;
  font-size: 12px;
  line-height: 1.35;
}

.cpc-top-hero__form-card h2 {
  margin: 0 0 8px;
  text-align: center;
  color: #080808;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 700;
}

.cpc-top-hero__form-card .cta-form {
  display: grid;
  gap: 7px;
}

.cpc-top-hero__form-card .cta-form input,
.cpc-top-hero__form-card .cta-form select {
  width: 100%;
  height: 38px;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  font-size: 14px;
  line-height: 38px;
  font-family: inherit;
  text-align: left;
  text-align-last: left;
  box-sizing: border-box;
}

.cpc-top-hero__form-card .cta-form input::placeholder {
  color: #6b7280;
  text-align: center;
  opacity: 1;
}

.cpc-top-hero__form-card .cta-form input:focus,
.cpc-top-hero__form-card .cta-form select:focus {
  border-color: #1d65db;
  box-shadow: 0 0 0 2px rgba(29, 101, 219, 0.08);
  outline: none;
}

.cpc-top-hero__form-card .cta-form button[type="submit"] {
  display: block;
  width: min(190px, 100%);
  min-height: 35px;
  margin-top: 2px;
  margin-inline: auto;
  border: none;
  border-radius: 5px;
  background: linear-gradient(135deg, #02284d 0%, #1d65db 100%);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

@media (max-width: 1100px) {
  .cpc-top-hero__content {
    width: calc(100% - 460px);
    max-width: none;
  }

  .cpc-top-hero__form-card {
    width: 450px;
    flex-basis: 450px;
    padding-inline: 20px;
  }
}

@media (max-width: 900px) {
  .cpc-top-hero {
    min-height: auto;
  }

  .cpc-top-hero__gradient {
    width: 100%;
    opacity: 0.06;
    clip-path: none;
  }

  .cpc-top-hero__inner {
    min-height: auto;
    flex-direction: column;
    align-items: stretch;
    gap: 30px;
  }

  .cpc-top-hero__content {
    width: 100%;
    max-width: 760px;
    margin-inline: auto;
  }

  .cpc-top-hero__form-card {
    width: 100%;
    max-width: 480px;
    flex: 0 0 auto;
    margin-inline: auto;
  }
}

@media (max-width: 600px) {
  .cpc-top-hero__inner {
    padding: 20px 15px;
    gap: 25px;
  }

  .cpc-top-hero__highlights {
    grid-template-columns: 1fr;
    row-gap: 8px;
  }

  .cpc-top-hero__desc {
    padding: 14px 16px;
  }

  .cpc-top-hero__desc p {
    font-size: 14px;
  }

  .cpc-top-hero__form-card {
    padding: 20px 18px 24px;
  }

  .cpc-top-hero__form-card h2 {
    font-size: 20px;
  }
}

/* CPC Certification Intro Feature Section */
.cpc-intro-feature {
  padding: 45px 0;
  background: #fff;
  overflow: hidden;
}

.cpc-intro-feature__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(24px, 4vw, 50px);
}

.cpc-intro-feature__content {
  flex: 1 1 54%;
}

.cpc-intro-feature__badge {
  display: inline-block;
  padding: 6px 14px;
  background: #fffbeb;
  color: #92400e;
  font-size: 13px;
  font-weight: 700;
  border-radius: 20px;
  border: 1px solid #fef3c7;
  margin-bottom: 12px;
}

.cpc-intro-feature__title {
  margin: 0 0 14px;
  font-size: clamp(1.4rem, 1.1rem + 1.2vw, 1rem);
  line-height: 1.2;
  font-weight: 600;
  color: #0f172a;
}

.cpc-intro-feature__text {
  margin: 0 0 20px;
  color: #475569;
  font-size: 15px;
  line-height: 1.6;
}

.cpc-intro-feature__checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
  margin-bottom: 24px;
}

.cpc-intro-feature__check-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #1e293b;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}

.cpc-intro-feature__check-item i {
  color: #d09135;
  font-size: 16px;
  flex: none;
}

.cpc-intro-feature__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}

.cpc-intro-feature__actions .btn-gold {
  background: #d09135;
  color: #fff;
  border: none;
  padding: 12px 28px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease;
}

.cpc-intro-feature__actions .btn-gold:hover {
  background: #b87a26;
}

.cpc-intro-feature__actions .btn-dark {
  background: #111827;
  color: #fff;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease;
}

.cpc-intro-feature__actions .btn-dark:hover {
  background: #1f2937;
}

.cpc-intro-feature__media {
  flex: 0 0 44%;
  max-width: 540px;
}

.cpc-intro-feature__media img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(6, 29, 56, 0.12);
  display: block;
  object-fit: cover;
}

@media (max-width: 900px) {
  .cpc-intro-feature__row {
    flex-direction: column;
    align-items: stretch;
  }

  .cpc-intro-feature__media {
    max-width: 100%;
  }

  .cpc-intro-feature__checks {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

/* CPC Course Interactive Tabs Section */
.cpc-course-tabs {
  padding: 48px 0 0px;
  background: #fff;
}

.cpc-tabs-nav {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}

.cpc-tab-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 11px 22px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-top: 3px solid transparent;
  border-radius: 8px;
  color: #334155;
  font-size: 14.5px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: all 0.2s ease;
}

.cpc-tab-btn i {
  font-size: 15px;
  color: #64748b;
  transition: color 0.2s ease;
}

.cpc-tab-btn:hover {
  background: #f1f5f9;
  color: #0f172a;
}

.cpc-tab-btn.is-active {
  border-top: 3px solid #2563eb;
  background: #e2e8f0;
  color: #0f172a;
  font-weight: 700;
}

.cpc-tab-btn.is-active i {
  color: #2563eb;
}

.cpc-tab-panel {
  display: none;
}

.cpc-tab-panel.is-active {
  display: block;
  animation: cpcTabFade 0.25s ease;
}

@keyframes cpcTabFade {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.cpc-tab-heading {
  margin: 24px 0 12px;
  font-size: 20px;
  font-weight: 700;
  color: #0f172a;
  border-left: 4px solid #d09135;
  padding-left: 12px;
  line-height: 1.3;
}

.cpc-tab-panel>.cpc-tab-heading:first-child {
  margin-top: 0;
}

.cpc-tab-panel p {
  margin: 0 0 16px;
  color: #475569;
  font-size: 15px;
  line-height: 1.75;
}

.cpc-tab-list,
.cpc-tab-panel ul:not(.cpc-tab-num-list):not(.accordion):not(.nav) {
  list-style: none;
  margin: 16px 0 24px 0;
  padding: 0;
  color: #475569;
  font-size: 15px;
  line-height: 1.75;
}

.cpc-tab-list li,
.cpc-tab-panel ul:not(.cpc-tab-num-list):not(.accordion):not(.nav) li {
  position: relative;
  padding-left: 32px;
  margin-bottom: 12px;
  color: #334155;
}

.cpc-tab-list li::before,
.cpc-tab-panel ul:not(.cpc-tab-num-list):not(.accordion):not(.nav) li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #ecfdf5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23059669'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 13px;
  border: 1px solid #a7f3d0;
  box-shadow: 0 1px 3px rgba(5, 150, 105, 0.15);
  flex-shrink: 0;
}

.cpc-tab-list.blue-checks li::before,
.cpc-check-blue li::before {
  background-color: #eff6ff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%231d65db'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3E%3C/svg%3E");
  border-color: #bfdbfe;
  box-shadow: 0 1px 3px rgba(29, 101, 219, 0.15);
}

.cpc-tab-list li strong,
.cpc-tab-panel ul:not(.cpc-tab-num-list):not(.accordion):not(.nav) li strong {
  color: #0f172a;
  font-weight: 700;
}

.cpc-tab-note-box,
.cpc-tab-highlight-box {
  margin: 28px 0;
  padding: 24px 28px;
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  border: 1px solid #e2e8f0;
  border-left: 5px solid #d09135;
  border-radius: 12px;
  position: relative;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}

.cpc-tab-highlight-box.blue,
.cpc-tab-note-box.blue {
  background: linear-gradient(135deg, #f0f7ff 0%, #ffffff 100%);
  border: 1px solid #dbeafe;
  border-left: 5px solid #1d65db;
  box-shadow: 0 4px 16px rgba(29, 101, 219, 0.06);
}

.cpc-tab-highlight-box.gold,
.cpc-tab-note-box.gold {
  background: linear-gradient(135deg, #fffdfa 0%, #fef8ed 100%);
  border: 1px solid #fde68a;
  border-left: 5px solid #d09135;
  box-shadow: 0 4px 16px rgba(208, 145, 53, 0.08);
}

.cpc-tab-highlight-box.green,
.cpc-tab-note-box.green {
  background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%);
  border: 1px solid #dcfce7;
  border-left: 5px solid #059669;
  box-shadow: 0 4px 16px rgba(5, 150, 105, 0.06);
}

.cpc-tab-highlight-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
  background: #eff6ff;
  color: #1d65db;
  border: 1px solid #bfdbfe;
}

.cpc-tab-highlight-badge.gold,
.cpc-tab-highlight-box.gold .cpc-tab-highlight-badge {
  background: #fef3c7;
  color: #92400e;
  border-color: #fde68a;
}

.cpc-tab-highlight-badge.green,
.cpc-tab-highlight-box.green .cpc-tab-highlight-badge {
  background: #ecfdf5;
  color: #065f46;
  border-color: #a7f3d0;
}

.cpc-tab-note-box .cpc-tab-heading,
.cpc-tab-highlight-box .cpc-tab-heading {
  margin-top: 0;
  margin-bottom: 10px;
  border-left: none;
  padding-left: 0;
  color: #0f172a;
}

.cpc-tab-note-box p:last-child,
.cpc-tab-highlight-box p:last-child {
  margin-bottom: 0;
}

.cpc-tab-table-wrap {
  margin: 20px 0 28px;
  overflow-x: auto;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
}

.cpc-tab-info-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14.5px;
  text-align: left;
}

.cpc-tab-info-table th {
  background: #f1f5f9;
  color: #0f172a;
  font-weight: 700;
  padding: 12px 18px;
  border-bottom: 2px solid #cbd5e1;
}

.cpc-tab-info-table td {
  padding: 12px 18px;
  border-bottom: 1px solid #e2e8f0;
  color: #334155;
  vertical-align: top;
}

.cpc-tab-info-table tr:last-child td {
  border-bottom: none;
}

.cpc-tab-info-table tr:nth-child(even) {
  background: #f8fafc;
}

.cpc-tab-num-list,
.cpc-tab-panel ol:not(.accordion) {
  list-style: none;
  counter-reset: cpc-step-counter;
  margin: 18px 0 26px 0;
  padding: 0;
  color: #475569;
  font-size: 15px;
  line-height: 1.75;
}

.cpc-tab-num-list li,
.cpc-tab-panel ol:not(.accordion) li {
  position: relative;
  counter-increment: cpc-step-counter;
  padding-left: 36px;
  margin-bottom: 14px;
  color: #334155;
}

.cpc-tab-num-list li::before,
.cpc-tab-panel ol:not(.accordion) li::before {
  content: counter(cpc-step-counter);
  position: absolute;
  left: 0;
  top: 2px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: linear-gradient(135deg, #02284d 0%, #1d65db 100%);
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 5px rgba(2, 40, 77, 0.2);
}

.cpc-tab-num-list li strong,
.cpc-tab-panel ol:not(.accordion) li strong {
  color: #0f172a;
  font-weight: 700;
}

.cpc-tab-quote-box {
  margin: 22px 0 28px;
  padding: 18px 24px;
  background: linear-gradient(135deg, #eff6ff 0%, #f8fafc 100%);
  border: 1px solid #dbeafe;
  border-left: 5px solid #1d65db;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.06);
}

.cpc-tab-quote-box p {
  margin: 0;
  color: #1e40af;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.65;
}

.cpc-tab-roles-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 20px;
}

.cpc-tab-role-card {
  padding: 18px 20px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  transition: all 0.2s ease;
}

.cpc-tab-role-card:hover {
  border-color: #cbd5e1;
  box-shadow: 0 6px 18px rgba(6, 29, 56, 0.08);
}

.cpc-tab-role-card h4 {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
}

.cpc-tab-role-card p {
  margin: 0;
  font-size: 13.5px;
  color: #475569;
  line-height: 1.6;
}

@media (max-width: 900px) {
  .cpc-tab-roles-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .cpc-tab-roles-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   CPC Dark CTA Banner Section
   ========================================================================== */
.cpc-dark-cta {
  position: relative;
  background-color: #000000;
  padding: 52px 0;
  overflow: hidden;
  color: #ffffff;
}

.cpc-dark-cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 1;
  pointer-events: none;
}

.cpc-dark-cta__bg-left {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 320px;
  background: linear-gradient(135deg, #0284c7 0%, #1e40af 60%, transparent 100%);
  clip-path: polygon(0 0, 100% 0, 40% 100%, 0 100%);
  opacity: 0.85;
  pointer-events: none;
}

.cpc-dark-cta__bg-right {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 340px;
  background: linear-gradient(225deg, #1d4ed8 0%, #0284c7 60%, transparent 100%);
  clip-path: polygon(60% 0, 100% 0, 100% 100%, 0% 100%);
  opacity: 0.85;
  pointer-events: none;
}

.cpc-dark-cta__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.cpc-dark-cta__content {
  max-width: 780px;
}

.cpc-dark-cta__title {
  margin: 0 0 14px;
  font-size: clamp(1.4rem, 1.1rem + 1.1vw, 1.75rem);
  font-weight: 700;
  color: #ffffff;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.cpc-dark-cta__text {
  margin: 0;
  color: #cbd5e1;
  font-size: 15px;
  line-height: 1.65;
}

.cpc-dark-cta__action {
  flex-shrink: 0;
}

.cpc-dark-cta__action .btn-cta-gold {
  background-color: #d09135;
  color: #ffffff;
  border: 1.5px solid rgba(255, 255, 255, 0.8);
  padding: 13px 26px;
  font-size: 15px;
  font-weight: 700;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 4px 14px rgba(208, 145, 53, 0.35);
  white-space: nowrap;
  display: inline-block;
  text-decoration: none;
}

.cpc-dark-cta__action .btn-cta-gold:hover {
  background-color: #b87c28;
  border-color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(208, 145, 53, 0.5);
}

@media (max-width: 991px) {
  .cpc-dark-cta__inner {
    flex-direction: column;
    text-align: center;
    align-items: center;
    gap: 24px;
  }

  .cpc-dark-cta__content {
    max-width: 100%;
  }
}

/* ==========================================================================
   CPC Key Features Section
   ========================================================================== */
.cpc-features {
  padding: 52px 0;
  background-color: #ffffff;
}

.cpc-features__header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 32px;
}

.cpc-features__accent-bar {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 5px;
  height: 32px;
  background-color: #d09135;
  border-radius: 3px;
}

.cpc-features__title {
  margin: 0;
  font-size: clamp(1.4rem, 1.1rem + 1.1vw, 1.75rem);
  font-weight: 700;
  color: #0f172a;
  text-align: center;
}

.cpc-features__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.cpc-feature-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  background: linear-gradient(135deg, #071e3d 0%, #1e58c8 100%);
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(7, 30, 61, 0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cpc-feature-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(7, 30, 61, 0.22);
}

.cpc-feature-card__icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #e0f2fe;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.cpc-feature-card__icon i {
  font-size: 20px;
  color: #0284c7;
}

/* Colorful Feature Icons */
.cpc-feature-card:nth-child(6n+1) .cpc-feature-card__icon {
  background-color: #e0f2fe;
}

.cpc-feature-card:nth-child(6n+1) .cpc-feature-card__icon i {
  color: #0284c7;
}

.cpc-feature-card:nth-child(6n+2) .cpc-feature-card__icon {
  background-color: #ccfbf1;
}

.cpc-feature-card:nth-child(6n+2) .cpc-feature-card__icon i {
  color: #0d9488;
}

.cpc-feature-card:nth-child(6n+3) .cpc-feature-card__icon {
  background-color: #fef3c7;
}

.cpc-feature-card:nth-child(6n+3) .cpc-feature-card__icon i {
  color: #d97706;
}

.cpc-feature-card:nth-child(6n+4) .cpc-feature-card__icon {
  background-color: #f3e8ff;
}

.cpc-feature-card:nth-child(6n+4) .cpc-feature-card__icon i {
  color: #9333ea;
}

.cpc-feature-card:nth-child(6n+5) .cpc-feature-card__icon {
  background-color: #ffe4e6;
}

.cpc-feature-card:nth-child(6n+5) .cpc-feature-card__icon i {
  color: #e11d48;
}

.cpc-feature-card:nth-child(6n+6) .cpc-feature-card__icon {
  background-color: #e0e7ff;
}

.cpc-feature-card:nth-child(6n+6) .cpc-feature-card__icon i {
  color: #4f46e5;
}

.cpc-feature-card__text {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.35;
}

@media (max-width: 991px) {
  .cpc-features__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .cpc-features__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cpc-features__accent-bar {
    display: none;
  }
}

/* ==========================================================================
   CPC Admission Process Section
   ========================================================================== */
.cpc-admission {
  padding: 56px 0 64px;
  background-color: #ffffff;
}

.cpc-admission__header {
  text-align: center;
  margin-bottom: 44px;
}

.cpc-admission__title {
  margin: 0 0 10px;
  font-size: clamp(1.45rem, 1.15rem + 1.2vw, 1.85rem);
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
}

.cpc-admission__subtitle {
  margin: 0;
  font-size: 15px;
  color: #64748b;
  line-height: 1.5;
}

.cpc-admission__steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.cpc-admission-step {
  position: relative;
  background-color: #ffffff;
  border: 1.5px solid #2563eb;
  border-radius: 14px;
  padding: 10px 10px 10px;
  text-align: center;
  box-shadow: 0 4px 14px rgba(6, 29, 56, 0.04);
  transition: all 0.25s ease;
}

.cpc-admission-step:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(37, 99, 235, 0.14);
}

.cpc-admission-step__dot {
  position: absolute;
  top: -6px;
  left: 60%;
  width: 10px;
  height: 10px;
  background-color: #0f172a;
  border-radius: 50%;
  border: 2px solid #ffffff;
  box-shadow: 0 0 0 1px #0f172a;
}

.cpc-admission-step__icon {
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background-color: #ffffff;
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
  border: 1px solid #e2e8f0;
}

.cpc-admission-step__icon i {
  font-size: 26px;
  color: #0f172a;
}

.cpc-admission-step__title {
  margin: 0 0 10px;
  font-size: 15.5px;
  font-weight: 700;
  color: #1e3a8a;
  line-height: 1.35;
}

.cpc-admission-step__text {
  margin: 0;
  font-size: 13.5px;
  color: #475569;
  line-height: 1.55;
}

@media (max-width: 1024px) {
  .cpc-admission__steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
}

@media (max-width: 640px) {
  .cpc-admission__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}

/* ==========================================================================
   CPC Recruiters Section (Our Recruiters Marquee)
   ========================================================================== */
.cpc-recruiters {
  background-color: #061d38;
  padding: 56px 0 64px;
  color: #ffffff;
  overflow: hidden;
}

.cpc-recruiters__header {
  text-align: center;
  margin: 0 auto 36px;
}

.cpc-recruiters__title {
  margin: 0 0 16px;
  font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem);
  font-weight: 700;
  color: #ffffff !important;
  line-height: 1.25;
}

.cpc-recruiters__desc {
  margin: 0;
  font-size: 15px;
  color: #cbd5e1;
  line-height: 1.7;
}

.partner-section {
  width: 100%;
  overflow: hidden;
}

.partner-row {
  width: 100%;
  overflow: hidden;
  padding: 10px 0;
  position: relative;
}

.partner-track {
  display: flex;
  align-items: center;
  gap: 24px;
  width: max-content;
}

.partner-item {
  width: 190px;
  height: 80px;
  background: #ffffff;
  border: 1px solid #ececec;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 16px;
  overflow: hidden;
  box-shadow: none !important;
  transition: transform 0.3s ease;
}

.partner-item:hover {
  transform: translateY(-4px);
}

.partner-item img {
  max-width: 130px;
  max-height: 42px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.scroll-left {
  animation: cpcScrollLeft 30s linear infinite;
}

.scroll-right {
  animation: cpcScrollRight 30s linear infinite;
}

.partner-row:hover .partner-track {
  animation-play-state: paused;
}

@keyframes cpcScrollLeft {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(-50% - var(--marquee-half-gap, 12px)));
  }
}

@keyframes cpcScrollRight {
  from {
    transform: translateX(calc(-50% - var(--marquee-half-gap, 12px)));
  }

  to {
    transform: translateX(0);
  }
}

@media (max-width: 767px) {
  .partner-item {
    width: 150px;
    height: 70px;
    padding: 12px;
  }

  .partner-item img {
    max-width: 95px;
    max-height: 32px;
  }

  .partner-track {
    gap: 16px;
  }
}

/* ==========================================================================
   CPC Support Section
   ========================================================================== */
.cpc-support {
  padding: 56px 0 64px;
  background-color: #ffffff;
}

.cpc-support__row {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 40px;
  align-items: center;
}

.cpc-support__title {
  margin: 0 0 16px;
  font-size: clamp(1.4rem, 1.1rem + 1.1vw, 1.75rem);
  font-weight: 700;
  color: #0f172a;
  border-left: 4px solid #d09135;
  padding-left: 14px;
  line-height: 1.3;
}

.cpc-support__lead {
  margin: 0 0 20px;
  color: #64748b;
  font-size: 15px;
  line-height: 1.6;
}

.cpc-support__lead strong {
  color: #1e293b;
  font-weight: 700;
}

.cpc-support__list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cpc-support__list li {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #334155;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}

.cpc-support__list li i {
  color: #0f172a;
  font-size: 18px;
  flex-shrink: 0;
}

.cpc-support__footnote {
  margin: 0;
  color: #64748b;
  font-size: 14.5px;
  line-height: 1.5;
}

.cpc-support__media img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(6, 29, 56, 0.08);
  display: block;
  object-fit: cover;
}

@media (max-width: 991px) {
  .cpc-support__row {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

/* ==========================================================================
   CPC Placement Success Section (Compact User-Friendly UI)
   ========================================================================== */
.cpc-placement-success {
  position: relative;
  background-color: #040a17;
  padding: 50px 0px 32px;
  overflow: hidden;
  color: #ffffff;
}

.cpc-placement-success__bg-left {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 240px;
  background: linear-gradient(135deg, #0284c7 0%, #1e40af 60%, transparent 100%);
  clip-path: polygon(0 0, 100% 0, 40% 100%, 0 100%);
  opacity: 0.85;
  pointer-events: none;
}

.cpc-placement-success__bg-right {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 250px;
  background: linear-gradient(225deg, #1d4ed8 0%, #0284c7 60%, transparent 100%);
  clip-path: polygon(60% 0, 100% 0, 100% 100%, 0% 100%);
  opacity: 0.85;
  pointer-events: none;
}

.cpc-placement-success__header {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 820px;
  margin: 0 auto 20px;
}

.cpc-placement-success__title {
  margin: 0 0 6px;
  font-size: clamp(1.25rem, 1.05rem + 0.8vw, 1.55rem);
  font-weight: 700;
  color: #ffffff !important;
  line-height: 1.25;
}

.cpc-placement-success__subtitle {
  margin: 0;
  font-size: 13.5px;
  color: #cbd5e1;
  line-height: 1.45;
}

.cpc-placement-success__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.cpc-placement-card {
  background: rgba(4, 10, 23, 0.6);
  border: 1.5px solid #d09135;
  border-radius: 10px;
  padding: 25px 12px 14px;
  text-align: center;
  backdrop-filter: blur(4px);
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.cpc-placement-card:hover {
  transform: translateY(-3px);
  border-color: #f59e0b;
  box-shadow: 0 8px 20px rgba(208, 145, 53, 0.25);
}

.cpc-placement-card__number {
  font-size: clamp(1.35rem, 1.15rem + 0.5vw, 1.7rem);
  font-weight: 800;
  color: #d09135;
  line-height: 1.2;
  margin-bottom: 4px;
}

.cpc-placement-card__label {
  margin: 0;
  font-size: 13.5px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.35;
}

@media (max-width: 991px) {
  .cpc-placement-success__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}

@media (max-width: 540px) {
  .cpc-placement-success__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
}

/* ==========================================================================
   CPC Placed Students Section
   ========================================================================== */
.cpc-placed {
  padding: 56px 0 64px;
  background-color: #ffffff;
}

.cpc-placed__header {
  margin-bottom: 32px;
}

.cpc-placed__title {
  margin: 0 0 12px;
  font-size: clamp(1.4rem, 1.1rem + 1.1vw, 1.75rem);
  font-weight: 700;
  color: #0f172a;
  border-left: 4px solid #d09135;
  padding-left: 14px;
  line-height: 1.3;
}

.cpc-placed__subtitle {
  margin: 0;
  font-size: 15px;
  color: #64748b;
  line-height: 1.65;
  max-width: 1040px;
}

.cpc-placed__carousel-wrap {
  position: relative;
  margin-bottom: 24px;
}

.cpc-placed__grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 64px) / 5);
  gap: 16px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  padding: 4px 2px 10px;
  scrollbar-width: none;
  cursor: grab;
  justify-content: flex-start;
}

.cpc-placed__grid.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  scroll-behavior: auto;
}

.cpc-placed__grid::-webkit-scrollbar {
  display: none;
}

.cpc-placed-card {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(6, 29, 56, 0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  background-color: #7f0000;
  scroll-snap-align: start;
}

.cpc-placed-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(6, 29, 56, 0.18);
}

.cpc-placed-card img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: 12px;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}

.cpc-placed__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: rgba(15, 23, 42, 0.9);
  color: #ffffff;
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}

.cpc-placed__nav:hover {
  background-color: #0f172a;
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

.cpc-placed__nav--prev {
  left: -20px;
}

.cpc-placed__nav--next {
  right: -20px;
}

.cpc-placed__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 28px;
}

.cpc-placed__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #cbd5e1;
  transition: all 0.25s ease;
  cursor: pointer;
  display: inline-block;
  border: none;
  padding: 0;
}

.cpc-placed__dot:hover {
  background-color: #64748b;
  transform: scale(1.2);
}

.cpc-placed__dot.is-active {
  background-color: #0f172a;
  width: 26px;
  border-radius: 6px;
  transform: none;
}

.cpc-placed__action {
  text-align: center;
}

.cpc-placed__action .btn-dark-cta {
  background-color: #061124;
  color: #ffffff;
  padding: 12px 30px;
  font-size: 15px;
  font-weight: 700;
  border-radius: 8px;
  display: inline-block;
  text-decoration: none;
  transition: all 0.25s ease;
  box-shadow: 0 4px 14px rgba(6, 17, 36, 0.25);
}

.cpc-placed__action .btn-dark-cta:hover {
  background-color: #1e293b;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(6, 17, 36, 0.35);
}

@media (max-width: 1024px) {
  .cpc-placed__grid {
    grid-auto-columns: calc((100% - 32px) / 3);
  }
}

@media (max-width: 640px) {
  .cpc-placed__grid {
    grid-auto-columns: calc((100% - 12px) / 2);
  }

  .cpc-placed__nav {
    display: flex;
  }
}

/* ==========================================================================
   CPC Student Testimonials Section (Compact User-Friendly UI)
   ========================================================================== */
.cpc-testimonials {
  padding: 32px 0 38px;
  background-color: #061d38;
  color: #ffffff;
  position: relative;
}

.cpc-testimonials__header {
  text-align: center;
  margin-bottom: 22px;
}

.cpc-testimonials__title {
  margin: 0;
  font-size: clamp(1.25rem, 1.05rem + 0.8vw, 1.6rem);
  font-weight: 700;
  color: #ffffff !important;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.cpc-testimonials__carousel-wrap {
  position: relative;
}

.cpc-testimonials__grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 32px) / 3);
  gap: 16px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  padding: 4px 2px 12px;
  scrollbar-width: none;
}

.cpc-testimonials__grid::-webkit-scrollbar {
  display: none;
}

.cpc-testimonial-card {
  background-color: #ffffff;
  border-radius: 12px;
  padding: 18px 20px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
  scroll-snap-align: start;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  height: 100%;
  box-sizing: border-box;
}

.cpc-testimonial-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
}

.cpc-testimonial-card__user {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.cpc-testimonial-card__avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background-color: #e2e8f0;
  color: #475569;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
}

.cpc-testimonial-card__name {
  margin: 0;
  font-size: 14.5px;
  font-weight: 700;
  color: #061d38;
}

.cpc-testimonial-card__rating {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.cpc-testimonial-card__stars {
  color: #f59e0b;
  font-size: 13px;
  letter-spacing: 2px;
}

.cpc-testimonial-card__text {
  margin: 0;
  font-size: 13px;
  color: #475569;
  line-height: 1.5;
  flex: 1;
}

.cpc-testimonials__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background-color: #ffffff;
  color: #0f172a;
  border: 1px solid #cbd5e1;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.cpc-testimonials__nav:hover {
  background-color: #f8fafc;
  transform: translateY(-50%) scale(1.08);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}

.cpc-testimonials__nav--prev {
  left: -18px;
}

.cpc-testimonials__nav--next {
  right: -18px;
}

@media (max-width: 991px) {
  .cpc-testimonials__grid {
    grid-auto-columns: calc((100% - 16px) / 2);
  }
}

@media (max-width: 640px) {
  .cpc-testimonials__grid {
    grid-auto-columns: 88%;
  }

  .cpc-testimonials__nav {
    display: flex !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 20 !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background-color: #ffffff !important;
    color: #061d38 !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3) !important;
    font-size: 13px !important;
  }

  .cpc-testimonials__nav--prev {
    left: -2px !important;
  }

  .cpc-testimonials__nav--next {
    right: -2px !important;
  }
}

/* ==========================================================================
   CPC Why Students Love Learning with Us Section (Compact User-Friendly UI)
   ========================================================================== */
.cpc-why-love {
  padding: 36px 0 40px;
  background-color: #ffffff;
  color: #0f172a;
}

.cpc-why-love__header {
  margin-bottom: 26px;
}

.cpc-why-love__title {
  margin: 0;
  font-size: clamp(1.25rem, 1.05rem + 0.8vw, 1.6rem);
  font-weight: 700;
  color: #061d38 !important;
  display: flex;
  align-items: center;
  gap: 12px;
  line-height: 1.25;
}

.cpc-why-love__title-bar {
  width: 4px;
  height: 24px;
  background-color: #d09135;
  border-radius: 2px;
  display: inline-block;
  flex-shrink: 0;
}

.cpc-why-love__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 24px;
  margin-bottom: 28px;
}

.cpc-why-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 14px;
  background-color: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
  box-sizing: border-box;
  height: 100%;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.cpc-why-card:hover {
  transform: translateY(-2px);
  border-color: #0073b7;
  box-shadow: 0 4px 12px rgba(0, 115, 183, 0.12);
}

.cpc-why-card__icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
  margin-top: 2px;
}

.cpc-why-card__icon--1 {
  background-color: #e0f2fe;
  color: #0284c7;
}

.cpc-why-card__icon--2 {
  background-color: #ccfbf1;
  color: #0d9488;
}

.cpc-why-card__icon--3 {
  background-color: #fef3c7;
  color: #d97706;
}

.cpc-why-card__icon--4 {
  background-color: #f3e8ff;
  color: #9333ea;
}

.cpc-why-card__icon--5 {
  background-color: #ffe4e6;
  color: #e11d48;
}

.cpc-why-card__icon--6 {
  background-color: #e0e7ff;
  color: #4f46e5;
}

.cpc-why-card__content {
  flex: 1;
}

.cpc-why-card__title {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
}

.cpc-why-card__text {
  margin: 0;
  font-size: 13px;
  color: #64748b;
  line-height: 1.48;
}

.cpc-why-love__footer {
  border-top: 1px solid #f1f5f9;
  padding-top: 20px;
}

.cpc-why-love__footer-note {
  margin: 0;
  font-size: 13.5px;
  color: #64748b;
  line-height: 1.55;
  text-align: center;
}

@media (max-width: 991px) {
  .cpc-why-love__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 22px;
  }
}

@media (max-width: 640px) {
  .cpc-why-love {
    padding: 28px 0 32px;
  }

  .cpc-why-love__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .cpc-why-love__footer-note {
    text-align: left;
    font-size: 13px;
  }
}

/* ==========================================================================
   CPC FAQ & Enquiry Form Section (Matching Screenshot UI)
   ========================================================================== */
.cpc-faq-section {
  padding: 38px 0 46px;
  background-color: #ffffff;
  color: #0f172a;
}

.cpc-faq-grid {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 28px;
  align-items: start;
}

/* Form Card */
.cpc-faq-form-card {
  background-color: #ffffff;
  border-radius: 10px;
  border: 1px solid #cbd5e1;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  padding: 0 20px 22px;
  position: relative;
  overflow: hidden;
}

.cpc-faq-form-card__header {
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 -20px 16px;
  border-top: 3px solid #0f172a;
  background-color: #ffffff;
  border-bottom: 1px solid #f1f5f9;
}

.cpc-faq-form-card__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #061d38;
}

.cpc-faq-form .form-group {
  margin-bottom: 12px;
}

.cpc-faq-form input[type="text"],
.cpc-faq-form input[type="tel"],
.cpc-faq-form input[type="email"],
.cpc-faq-form select {
  width: 100%;
  height: 38px;
  padding: 0 12px;
  font-size: 13.5px;
  color: #334155;
  background-color: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cpc-faq-form input:focus,
.cpc-faq-form select:focus {
  border-color: #0284c7;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.12);
}

.cpc-faq-form .btn-submit-blue {
  background-color: #0073b7;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  padding: 9px 24px;
  border-radius: 5px;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.cpc-faq-form .btn-submit-blue:hover {
  background-color: #005a92;
  transform: translateY(-1px);
}

/* FAQ Wrap */
.cpc-faq-wrap {
  background-color: #ffffff;
  border-radius: 10px;
  border: 1px solid #cbd5e1;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  padding: 0 22px 24px;
  overflow: hidden;
}

.cpc-faq__header {
  margin: 0 -22px 20px;
  padding: 12px 22px 10px;
  border-top: 3px solid #0f172a;
}

.cpc-faq__title {
  margin: 0;
  font-size: clamp(1.2rem, 1rem + 0.7vw, 1.5rem);
  font-weight: 700;
  color: #061d38 !important;
  display: flex;
  align-items: center;
  gap: 10px;
  line-height: 1.25;
}

.cpc-faq__title-bar {
  width: 4px;
  height: 22px;
  background-color: #d09135;
  border-radius: 2px;
  display: inline-block;
  flex-shrink: 0;
}

.cpc-faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cpc-faq-item,
.cpc-faq-item.is-open {
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  overflow: hidden;
  background-color: #ffffff !important;
  background: #ffffff !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cpc-faq-item.is-open {
  border-color: #94a3b8;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.cpc-faq-item .cpc-faq-item__trigger,
.cpc-faq-item.is-open .cpc-faq-item__trigger {
  width: 100%;
  padding: 13px 16px;
  background-color: #ffffff !important;
  background: #ffffff !important;
  border: none;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  color: #0f172a !important;
  transition: background-color 0.2s ease, color 0.2s ease;
  position: relative;
}

.cpc-faq-item .cpc-faq-item__trigger:hover {
  background-color: #f8fafc !important;
  color: #0284c7 !important;
}

.cpc-faq-item .cpc-faq-item__trigger::after {
  content: "+";
  font-size: 18px;
  font-weight: 600;
  color: #0f172a !important;
  margin-left: auto;
  flex-shrink: 0;
  line-height: 1;
}

.cpc-faq-item.is-open .cpc-faq-item__trigger::after {
  content: "−";
  color: #0f172a !important;
}

.cpc-faq-item .cpc-faq-item__content,
.cpc-faq-item.is-open .cpc-faq-item__content {
  display: none;
  padding: 12px 16px 16px;
  border-top: 1px solid #f1f5f9;
  background-color: #ffffff !important;
  background: #ffffff !important;
}

.cpc-faq-item.is-open .cpc-faq-item__content {
  display: block;
}

.cpc-faq-item__content p {
  margin: 0;
  font-size: 13.5px;
  color: #475569 !important;
  line-height: 1.55;
}

@media (max-width: 991px) {
  .cpc-faq-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* ==========================================================================
   CPC Certification Course - Mobile Responsiveness Refinements
   ========================================================================== */
@media (max-width: 768px) {
  .cpc-page-header {
    padding-block: 24px;
  }

  .cpc-hero {
    padding-block: 24px 32px;
  }

  .cpc-infobar {
    padding-block: 24px;
  }

  .cpc-infobar__title,
  .cpc-infobar h2,
  .cpc-infobar h2.cpc-accent-heading {
    white-space: nowrap !important;
    font-size: clamp(12.5px, 4.3vw, 18px) !important;
    max-width: 100% !important;
    text-align: center !important;
    margin-inline: auto !important;
  }

  .cpc-infobar__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding-inline: 12px !important;
    width: 100% !important;
  }

  .cpc-infobar__item {
    padding: 10px 10px !important;
    min-height: 64px !important;
    gap: 10px !important;
    align-items: center !important;
  }

  .cpc-infobar__item i {
    font-size: 20px !important;
    flex: none !important;
  }

  .cpc-infobar__text h3,
  .cpc-infobar__item h3 {
    font-size: 0.82rem !important;
    line-height: 1.25 !important;
  }

  .cpc-infobar__text p,
  .cpc-infobar__item p {
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
  }

  .cpc-intro-feature__actions,
  .cpc-top-hero__actions,
  .cpc-hero__btns {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .cpc-intro-feature__actions .btn,
  .cpc-intro-feature__actions .btn-gold,
  .cpc-intro-feature__actions .btn-dark,
  .cpc-top-hero__actions .btn,
  .cpc-hero__btns .btn {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    padding: 10px 8px !important;
    font-size: 13.5px !important;
    text-align: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .cpc-tabs {
    padding-block: 36px 30px;
  }

  .cpc-tabs-nav {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin-bottom: 20px !important;
  }

  .cpc-tab-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    white-space: nowrap !important;
    padding: 10px 8px !important;
    font-size: 13.5px !important;
    gap: 6px !important;
    box-sizing: border-box !important;
  }

  .tabs__nav {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 8px;
    padding-bottom: 8px;
    margin-bottom: 18px;
    scrollbar-width: none;
  }

  .tabs__nav::-webkit-scrollbar {
    display: none;
  }

  .tabs__nav button {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 10px 14px;
    font-size: 13.5px;
  }

  .cpc-admission {
    padding-block: 28px !important;
  }

  .cpc-admission__steps,
  .cpc-admission__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .cpc-admission-step,
  .cpc-admission__step {
    padding: 14px 10px !important;
    border-radius: 10px !important;
  }

  .cpc-admission-step__icon {
    width: 44px !important;
    height: 44px !important;
    margin: 0 auto 12px !important;
  }

  .cpc-admission-step__icon i {
    font-size: 20px !important;
  }

  .cpc-admission-step__title {
    font-size: 13.5px !important;
    margin-bottom: 6px !important;
  }

  .cpc-admission-step__text {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
  }

  .cpc-skills {
    padding-block: 28px !important;
  }

  .cpc-skills__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding-inline: 12px !important;
    width: 100% !important;
  }

  .cpc-skills__card {
    padding: 12px 10px !important;
    gap: 8px !important;
    border-radius: 10px !important;
  }

  .cpc-skills__card img {
    width: 36px !important;
    height: 36px !important;
  }

  .cpc-skills__card h3 {
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  .cpc-features {
    padding-block: 28px !important;
  }

  .cpc-features__header {
    margin-bottom: 18px !important;
  }

  .cpc-features__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .cpc-feature-card {
    padding: 12px 10px !important;
    gap: 10px !important;
    border-radius: 10px !important;
  }

  .cpc-feature-card__icon {
    width: 38px !important;
    height: 38px !important;
    flex-shrink: 0 !important;
  }

  .cpc-feature-card__icon i {
    font-size: 16px !important;
  }

  .cpc-feature-card__text {
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  .cpc-recruiters {
    padding-block: 28px 32px !important;
  }

  .cpc-recruiters__header {
    margin-bottom: 20px !important;
  }

  .cpc-recruiters__title,
  .cpc-recruiters h2 {
    font-size: clamp(1.2rem, 1rem + 1vw, 1.45rem) !important;
    margin-bottom: 10px !important;
  }

  .cpc-recruiters__desc,
  .cpc-recruiters p,
  .cpc-recruiters__header p {
    font-size: 12.5px !important;
    line-height: 1.5 !important;
    max-width: 100% !important;
    color: #cbd5e1 !important;
  }

  .cpc-placement-success__grid,
  .cpc-success__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding-inline: 4px !important;
    width: 100% !important;
  }

  .cpc-placement-card,
  .cpc-success__card {
    padding: 12px 8px !important;
    border-radius: 8px !important;
  }

  .cpc-placement-card__number,
  .cpc-success__card .counter {
    font-size: 1.35rem !important;
    margin-bottom: 2px !important;
  }

  .cpc-placement-card__label,
  .cpc-success__card p {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }

  .cpc-why-love__grid,
  .cpc-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding-inline: 4px !important;
    width: 100% !important;
  }

  .cpc-why-card {
    padding: 12px 10px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    background-color: #ffffff !important;
    gap: 10px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
  }

  .cpc-why-card__icon {
    width: 32px !important;
    height: 32px !important;
    font-size: 14px !important;
    flex-shrink: 0 !important;
  }

  .cpc-why-card__title {
    font-size: 12.5px !important;
    margin-bottom: 4px !important;
    line-height: 1.25 !important;
  }

  .cpc-why-card__text {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
  }

  .cpc-support {
    padding-block: 36px;
  }

  .cpc-why {
    padding-block: 36px;
  }

  .cpc-curriculum {
    padding-block: 36px;
  }

  .cpc-faq {
    padding-block: 36px;
  }

  .cpc-final-cta {
    padding-block: 40px;
  }
}

@media (max-width: 540px) {
  .cpc-wide {
    padding-inline: 8px !important;
  }

  .cpc-tabs-nav {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .cpc-tab-btn {
    padding: 9px 6px !important;
    font-size: 12.5px !important;
    gap: 5px !important;
  }

  .cpc-tab-btn i {
    font-size: 13.5px !important;
  }

  .cpc-admission__steps,
  .cpc-admission__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding-inline: 4px !important;
  }

  .cpc-admission-step,
  .cpc-admission__step {
    padding: 12px 8px !important;
    border-radius: 8px !important;
  }

  .cpc-admission-step__icon {
    width: 38px !important;
    height: 38px !important;
    margin: 0 auto 10px !important;
  }

  .cpc-admission-step__icon i {
    font-size: 17px !important;
  }

  .cpc-admission-step__title {
    font-size: 12.5px !important;
    margin-bottom: 4px !important;
  }

  .cpc-admission-step__text {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  .cpc-skills__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding-inline: 8px !important;
  }

  .cpc-skills__card {
    padding: 10px 8px !important;
    gap: 6px !important;
    border-radius: 8px !important;
  }

  .cpc-skills__card img {
    width: 32px !important;
    height: 32px !important;
  }

  .cpc-skills__card h3 {
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  .cpc-features__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .cpc-feature-card {
    padding: 10px 8px !important;
    gap: 8px !important;
    border-radius: 8px !important;
  }

  .cpc-feature-card__icon {
    width: 32px !important;
    height: 32px !important;
    flex-shrink: 0 !important;
  }

  .cpc-why-love__grid,
  .cpc-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding-inline: 4px !important;
  }

  .cpc-why-card {
    padding: 10px 8px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    gap: 6px !important;
  }

  .cpc-why-card__icon {
    width: 28px !important;
    height: 28px !important;
    font-size: 13px !important;
  }

  .cpc-why-card__title {
    font-size: 12px !important;
    margin-bottom: 2px !important;
  }

  .cpc-why-card__text {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  .cpc-feature-card__icon i {
    font-size: 14px !important;
  }

  .cpc-feature-card__text {
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  .cpc-placement-success__grid,
  .cpc-success__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding-inline: 4px !important;
  }

  .cpc-placement-card,
  .cpc-success__card {
    padding: 10px 6px !important;
    border-radius: 8px !important;
  }

  .cpc-placement-card__number,
  .cpc-success__card .counter {
    font-size: 1.25rem !important;
    margin-bottom: 2px !important;
  }

  .cpc-placement-card__label,
  .cpc-success__card p {
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  .cpc-infobar__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding-inline: 8px !important;
  }

  .cpc-infobar__item {
    padding: 8px 8px !important;
    min-height: 58px !important;
    gap: 8px !important;
  }

  .cpc-infobar__item i {
    font-size: 18px !important;
  }

  .cpc-infobar__text h3,
  .cpc-infobar__item h3 {
    font-size: 0.78rem !important;
  }

  .cpc-infobar__text p,
  .cpc-infobar__item p {
    font-size: 0.7rem !important;
  }

  .cpc-intro-feature__actions,
  .cpc-top-hero__actions,
  .cpc-hero__btns {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .cpc-intro-feature__actions .btn,
  .cpc-intro-feature__actions .btn-gold,
  .cpc-intro-feature__actions .btn-dark,
  .cpc-top-hero__actions .btn,
  .cpc-hero__btns .btn {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    padding: 10px 6px !important;
    font-size: 13px !important;
    text-align: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .cpc-recruiters {
    padding-block: 24px 28px !important;
  }

  .cpc-recruiters__title,
  .cpc-recruiters h2 {
    font-size: 1.25rem !important;
    margin-bottom: 8px !important;
  }

  .cpc-recruiters__desc,
  .cpc-recruiters p,
  .cpc-recruiters__header p {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
  }

  .cpc-cta-dark__row {
    flex-direction: column;
    text-align: center;
    gap: 16px;
  }

  .cpc-cta-dark__text h2 {
    font-size: 1.35rem;
  }

  .cpc-cta-dark .btn {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================================================
   Page-Wide Mobile Left & Right Spacing Reduction
   ========================================================================== */
@media (max-width: 768px) {

  .cpc-wide,
  .cpc-top-hero__inner,
  .cpc-hero__row,
  .cpc-intro-feature__row,
  .cpc-course-tabs .cpc-wide,
  .cpc-support__row,
  .cpc-cta-dark__row,
  .cpc-final-cta__inner,
  .cpc-dark-cta__inner,
  .el-testimonial-container {
    padding-inline: 10px !important;
    margin-inline: auto !important;
    width: min(100% - 12px, 100%) !important;
  }

  .cpc-top-hero__form-card {
    padding: 16px 14px 20px !important;
  }
}

@media (max-width: 540px) {

  .cpc-wide,
  .cpc-top-hero__inner,
  .cpc-hero__row,
  .cpc-intro-feature__row,
  .cpc-course-tabs .cpc-wide,
  .cpc-support__row,
  .cpc-cta-dark__row,
  .cpc-final-cta__inner,
  .cpc-dark-cta__inner,
  .el-testimonial-container {
    padding-inline: 6px !important;
    width: min(100% - 8px, 100%) !important;
  }

  .cpc-top-hero__form-card {
    padding: 14px 10px 16px !important;
  }
}

/* ============================================================
   Homepage heading system
   Keep the page hierarchy consistent despite legacy/inline rules.
   ============================================================ */
body[data-page="home"] main {
  --home-section-heading-size: clamp(1.5rem, 1.3rem + 0.9vw, 1rem);
  --home-card-heading-size: 1rem;
  --home-heading-weight: 600;
}

body[data-page="home"] main section>h2,
body[data-page="home"] main .about__row h2,
body[data-page="home"] main .career-split__row h2,
body[data-page="home"] main .transform-split__card h2,
body[data-page="home"] main .cert-course__content h2,
body[data-page="home"] main .news-blog h2.title-main,
body[data-page="home"] main .brochure-cta__text h4 {
  font-size: var(--home-section-heading-size) !important;
  font-weight: var(--home-heading-weight) !important;
  line-height: 1.25 !important;
}

body[data-page="home"] main section h3,
body[data-page="home"] main section h4,
body[data-page="home"] main .card .title {
  font-size: var(--home-card-heading-size) !important;
  font-weight: var(--home-heading-weight) !important;
  line-height: 1.35 !important;
}

body[data-page="home"] main .hero__content h1.title {
  font-weight: 600;
}

/* Placement page light career spotlight */
.placement-career-spotlight {
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 6vw, 84px) 20px;
  border-bottom: 1px solid #e7edf5;
  background: radial-gradient(circle at 88% 18%, rgba(216, 145, 36, 0.13), transparent 28%), linear-gradient(135deg, #ffffff 0%, #f8fafc 58%, #fffaf1 100%);
}

.placement-career-spotlight__inner {
  display: grid;
  width: min(1280px, 100%);
  margin: 0 auto;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.96fr);
  align-items: center;
  gap: clamp(40px, 6vw, 76px);
}

.placement-career-spotlight__content {
  max-width: 650px;
}

.placement-career-spotlight__badge {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 24px;
  padding: 9px 16px;
  border: 1px solid rgba(216, 145, 36, 0.35);
  border-radius: 999px;
  background: #fffaf0;
  color: #071a38;
  font-size: 0.88rem;
  font-weight: 800;
}

.placement-career-spotlight__badge>span {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  background: var(--c-navy);
  color: #ffffff;
}

.placement-career-spotlight h2 {
  margin: 0;
  color: #071a38;
  font-size: clamp(2rem, 4.6vw, 2rem);
  font-weight: 700;
  line-height: 1.3em;
  text-transform: uppercase;
}

.placement-career-spotlight h2 span {
  color: #d17d12;
}

.placement-career-spotlight h2::after {
  display: block;
  width: min(100%, 520px);
  height: 3px;
  margin-top: 18px;
  background: linear-gradient(90deg, #d89124, rgba(216, 145, 36, 0));
  content: "";
}

.placement-career-spotlight__content>p {
  max-width: 620px;
  margin: 24px 0 0;
  color: #52627a;
  font-size: 1.05rem;
  line-height: 1.75;
}

.placement-career-spotlight__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.placement-career-spotlight__actions a {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 13px 22px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-weight: 800;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.placement-career-spotlight__actions a:hover {
  transform: translateY(-2px);
}

.placement-career-spotlight__primary {
  background: var(--c-navy);
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(216, 145, 36, 0.24);
}

.placement-career-spotlight__primary:hover {
  background: #bc7411;
  color: #ffffff;
}

.placement-career-spotlight__secondary {
  border-color: #d9e0ea !important;
  background: #ffffff;
  color: #071a38;
}

.placement-career-spotlight__secondary:hover {
  background: #f1f5f9;
  color: #071a38;
}

.placement-career-spotlight__secondary span {
  color: #d89124;
}

.placement-career-spotlight__visual {
  position: relative;
  width: min(100%, 500px);
  aspect-ratio: 1;
  justify-self: end;
}

.placement-career-spotlight__orbit {
  position: absolute;
  inset: 0;
  border: 2px solid var(--c-navy);
  border-radius: 50%;
  box-shadow: 0 0 0 10px rgba(216, 145, 36, 0.06);
}

.placement-career-spotlight__image {
  position: absolute;
  inset: 6%;
  overflow: hidden;
  border: 10px solid #ffffff;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.7) 1.5px, transparent 1.5px) 0 0 / 17px 17px, linear-gradient(135deg, #fff4c8, #f0ba3e);
  box-shadow: 0 22px 48px rgba(7, 26, 56, 0.16);
}

.placement-career-spotlight__image img {
  position: absolute;
  right: 2%;
  bottom: -15%;
  width: 91%;
  height: auto;
  max-width: none;
  filter: drop-shadow(0 12px 18px rgba(7, 26, 56, 0.16));
}

.placement-career-spotlight__spark,
.placement-career-spotlight__star {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  border: 1px solid #e4e9f0;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 10px 25px rgba(7, 26, 56, 0.12);
}

.placement-career-spotlight__spark {
  top: 14%;
  right: -1%;
  width: 58px;
  height: 58px;
  color: var(--c-navy);
  font-size: 1.8rem;
}

.placement-career-spotlight__star {
  bottom: 14%;
  left: -2%;
  width: 54px;
  height: 54px;
  color: #071a38;
  font-size: 1.8rem;
}

@media (max-width: 900px) {
  .placement-career-spotlight__inner {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .placement-career-spotlight__content {
    max-width: 720px;
    margin: 0 auto;
  }

  .placement-career-spotlight h2::after,
  .placement-career-spotlight__content>p {
    margin-inline: auto;
  }

  .placement-career-spotlight__actions {
    justify-content: center;
  }

  .placement-career-spotlight__visual {
    width: min(78vw, 480px);
    justify-self: center;
  }
}

@media (max-width: 600px) {
  .placement-career-spotlight {
    padding: 46px 16px 52px;
  }

  .placement-career-spotlight__inner {
    gap: 34px;
  }

  .placement-career-spotlight__badge {
    margin-bottom: 18px;
    padding: 6px 12px;
    font-size: 0.76rem;
  }

  .placement-career-spotlight__badge>span {
    width: 20px;
    height: 20px;
    font-size: 0.78rem;
  }

  .placement-career-spotlight h2 {
    font-size: clamp(1.5rem, 6vw, 1.9rem);
    line-height: 1.22;
  }

  .placement-career-spotlight__content>p {
    margin-top: 20px;
    font-size: 0.98rem;
  }

  .placement-career-spotlight__actions {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 24px;
  }

  .placement-career-spotlight__actions a {
    width: 100%;
  }

  .placement-career-spotlight__visual {
    width: min(88vw, 400px);
  }

  .placement-career-spotlight__spark {
    right: 0;
    width: 48px;
    height: 48px;
  }

  .placement-career-spotlight__star {
    left: 0;
    width: 46px;
    height: 46px;
  }
}

/* Placement gallery heading */
.placement-gallery-heading {
  padding: 46px 20px 18px;
  background: #ffffff;
  text-align: center;
}

.placement-gallery-heading .container {
  padding-inline: 0;
}

.placement-gallery-heading__eyebrow {
  display: inline-block;
  margin-bottom: 8px;
  color: #d89124;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.placement-gallery-heading h2 {
  margin: 0;
  color: #071a38;
  font-size: clamp(1.75rem, 3vw, 2rem);
  line-height: 1.2;
}

@media (max-width: 600px) {
  .placement-gallery-heading {
    padding: 36px 16px 14px;
  }
}

/* CPC training locations */
.cpc-locations {
  padding: clamp(54px, 6vw, 78px) 20px;
  background: #ffffff;
}

.cpc-locations__inner {
  width: min(1280px, 100%);
  margin: 0 auto;
}

.cpc-locations__heading {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(420px, 1.15fr);
  align-items: end;
  gap: 48px;
  margin-bottom: 28px;
  padding-bottom: 22px;
  border-bottom: 1px solid #e5eaf1;
}

.cpc-locations__eyebrow {
  display: block;
  margin-bottom: 7px;
  color: #d17d12;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.cpc-locations__heading h2 {
  margin: 0;
  color: #071a38;
  font-size: clamp(1.8rem, 3vw, 2.55rem);
  font-weight: 800;
  letter-spacing: -0.03em;
}

.cpc-locations__heading>p {
  margin: 0;
  color: #52627a;
  font-size: 0.95rem;
  line-height: 1.7;
}

.cpc-locations__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.cpc-location-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 310px;
  flex-direction: column;
  padding: 22px;
  overflow: hidden;
  border: 1px solid #e0e6ee;
  border-radius: 16px;
  background: linear-gradient(145deg, #ffffff, #f8fafc);
  box-shadow: 0 12px 28px rgba(7, 26, 56, 0.07);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.cpc-location-card::after {
  position: absolute;
  top: -42px;
  right: -42px;
  width: 108px;
  height: 108px;
  border-radius: 50%;
  background: rgba(216, 145, 36, 0.08);
  content: "";
}

.cpc-location-card:hover {
  border-color: rgba(216, 145, 36, 0.45);
  box-shadow: 0 17px 34px rgba(7, 26, 56, 0.11);
  transform: translateY(-4px);
}

.cpc-location-card__icon {
  position: relative;
  z-index: 1;
  display: grid;
  width: 42px;
  height: 42px;
  margin-bottom: 18px;
  place-items: center;
  border-radius: 12px;
  background: #071a38;
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(7, 26, 56, 0.18);
}

.cpc-location-card:nth-child(2n) .cpc-location-card__icon {
  background: #d89124;
  box-shadow: 0 8px 18px rgba(216, 145, 36, 0.22);
}

.cpc-location-card__icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.cpc-location-card h3 {
  margin: 0 0 10px;
  color: #071a38;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.4;
}

.cpc-location-card p {
  margin: 0 0 18px;
  color: #5c6b80;
  font-size: 0.86rem;
  line-height: 1.65;
}

.cpc-location-card a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  color: #b66f0d;
  font-size: 0.84rem;
  font-weight: 800;
}

.cpc-location-card a span {
  transition: transform 0.2s ease;
}

.cpc-location-card a:hover span {
  transform: translateX(4px);
}

@media (max-width: 1050px) {
  .cpc-locations__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cpc-location-card {
    min-height: 270px;
  }
}

@media (max-width: 760px) {
  .cpc-locations__heading {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 12px;
  }
}

@media (max-width: 600px) {
  .cpc-locations {
    padding: 44px 16px;
  }

  .cpc-locations__grid {
    grid-template-columns: 1fr;
  }

  .cpc-location-card {
    min-height: 0;
    padding: 20px;
  }
}

/* Placement page student testimonials */
.cpc-prepare {
  position: relative;
  overflow: hidden;
  padding: clamp(58px, 6vw, 86px) 20px;
  background: linear-gradient(135deg, #f7f9fc 0%, #ffffff 52%, #fff9ed 100%);
}

.cpc-prepare::before {
  position: absolute;
  top: -180px;
  right: -150px;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(216, 145, 36, 0.2);
  border-radius: 50%;
  box-shadow: 0 0 0 42px rgba(216, 145, 36, 0.035), 0 0 0 84px rgba(216, 145, 36, 0.025);
  content: "";
}

.cpc-prepare__inner {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(1280px, 100%);
  margin: 0 auto;
  grid-template-columns: minmax(0, 0.82fr) minmax(520px, 1.18fr);
  align-items: center;
  gap: clamp(38px, 5vw, 70px);
}

.cpc-prepare__content {
  max-width: 540px;
}

.cpc-prepare__eyebrow {
  display: inline-flex;
  margin-bottom: 14px;
  padding: 7px 13px;
  border: 1px solid rgba(216, 145, 36, 0.3);
  border-radius: 999px;
  background: #fff8e9;
  color: #b66f0d;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.cpc-prepare__content h2 {
  margin: 0 0 20px;
  color: #071a38;
  font-size: clamp(2rem, 3vw, 2rem);
  font-weight: 700;
  line-height: 1.12;
}

.cpc-prepare__content>p {
  margin: 0 0 14px;
  color: #52627a;
  font-size: 0.98rem;
  line-height: 1.75;
}

.cpc-prepare__promise {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 24px;
  padding: 16px 18px;
  border-left: 3px solid #d89124;
  border-radius: 0 12px 12px 0;
  background: #ffffff;
  box-shadow: 0 10px 25px rgba(7, 26, 56, 0.07);
}

.cpc-prepare__promise>span {
  display: grid;
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  place-items: center;
  border-radius: 50%;
  background: #d89124;
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 900;
}

.cpc-prepare__promise p {
  margin: 0;
  color: #071a38;
  font-size: 0.91rem;
  font-weight: 700;
  line-height: 1.6;
}

.cpc-prepare__panel {
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 24px 55px rgba(7, 26, 56, 0.11);
}

.cpc-prepare__panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e7ebf1;
}

.cpc-prepare__panel-head>div>span {
  color: #d17d12;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.cpc-prepare__panel-head h3 {
  margin: 4px 0 0;
  color: #071a38;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  font-weight: 800;
}

.cpc-prepare__badge {
  flex: 0 0 auto;
  padding: 7px 11px;
  border-radius: 8px;
  background: #071a38;
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 800;
}

.cpc-prepare__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.cpc-prepare__grid li {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
  padding: 10px 10px;
  border: 1px solid #e4e9f0;
  border-radius: 12px;
  background: #f9fbfd;
  transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.cpc-prepare__grid li:hover {
  border-color: rgba(216, 145, 36, 0.5);
  background: #fffaf1;
  transform: translateY(-2px);
}

.cpc-prepare__grid li>span {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  border-radius: 9px;
  background: linear-gradient(135deg, #071a38, #173f70);
  color: #ffffff;
  font-size: 0.7rem;
  font-weight: 800;
}

.cpc-prepare__grid li:nth-child(2n)>span {
  background: linear-gradient(135deg, #d89124, #b96d0d);
}

.cpc-prepare__grid p {
  margin: 0;
  color: #263a55;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.45;
}

@media (max-width: 960px) {
  .cpc-prepare__inner {
    grid-template-columns: 1fr;
  }

  .cpc-prepare__content {
    max-width: 760px;
  }
}

@media (max-width: 600px) {
  .cpc-prepare {
    padding: 46px 16px;
  }

  .cpc-prepare__content h2 {
    font-size: clamp(1.65rem, 8vw, 2.1rem);
  }

  .cpc-prepare__panel {
    padding: 20px 16px;
    border-radius: 16px;
  }

  .cpc-prepare__panel-head {
    display: block;
  }

  .cpc-prepare__badge {
    display: inline-block;
    margin-top: 12px;
  }

  .cpc-prepare__grid {
    grid-template-columns: 1fr;
  }

  .cpc-prepare__grid li {
    min-height: 64px;
  }
}

.placement-testimonials {
  padding: clamp(56px, 7vw, 92px) 20px;
  background: #f7f9fc;
}

.placement-testimonials__inner {
  width: min(1280px, 100%);
  margin: 0 auto;
}

.placement-testimonials__heading {
  max-width: 1200px;
  margin: 0 auto 36px;
  text-align: center;
}

.placement-testimonials__eyebrow {
  display: inline-block;
  margin-bottom: 12px;
  color: #d89124;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* ============================================================
   404 — Page Not Found
   ============================================================ */
.error-404 {
  padding-block: 80px;
  background: var(--c-bg-tint);
}

.error-404 .container {
  max-width: 720px;
  text-align: center;
}

.error-404__code {
  margin: 0;
  font-family: var(--font-accent);
  font-size: clamp(4.5rem, 3.5rem + 4vw, 8rem);
  font-weight: 700;
  line-height: 1;
  color: var(--c-navy);
  letter-spacing: -0.02em;
}

.error-404__code span {
  color: var(--c-gold);
}

.error-404__title {
  margin: 16px 0 12px;
  font-size: var(--fs-h2);
  font-weight: 700;
  color: var(--c-navy-deep);
}

.error-404__desc {
  max-width: 520px;
  margin: 0 auto 32px;
  color: var(--c-text-soft);
  font-size: 1.05rem;
  line-height: 1.6;
}

.error-404__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 48px;
}

.error-404__links {
  padding-top: 32px;
  border-top: 1px solid var(--c-border);
}

.error-404__links h2 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--c-navy-deep);
  margin-bottom: 16px;
}

.error-404__link-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.error-404__link-grid a {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--c-white);
  border: 1px solid var(--c-border);
  color: var(--c-navy);
  font-size: 14px;
  font-weight: 600;
  transition: all .2s ease;
}

.error-404__link-grid a:hover {
  background: var(--c-navy);
  border-color: var(--c-navy);
  color: var(--c-white);
}

@media (max-width: 767px) {
  .error-404 {
    padding-block: 56px;
  }

  .error-404__actions {
    flex-direction: column;
  }

  .error-404__actions .btn {
    width: 100%;
  }
}

.placement-testimonials__heading h2 {
  margin: 0 0 14px;
  color: #071a38;
  font-size: clamp(2rem, 4vw, 2rem);
  line-height: 1.15;
}

.placement-testimonials__heading p {
  margin: 0;
  color: #53647a;
  font-size: 1.05rem;
  line-height: 1.75;
}

.placement-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.placement-testimonial-card {
  display: flex;
  min-width: 0;
  min-height: 300px;
  flex-direction: column;
  padding: 30px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 14px 36px rgba(7, 26, 56, 0.08);
}

.placement-testimonial-card__stars {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  color: #d89124;
  font-size: 1.05rem;
  letter-spacing: 0.12em;
}

.placement-testimonial-card__stars::before {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border-radius: 50%;
  background: #ffffff url("assets/img/google-g.svg") center / 18px 18px no-repeat;
  box-shadow: 0 0 0 1px #e2e8f0;
  content: "";
}

.placement-testimonial-card blockquote {
  flex: 1;
  margin: 0 0 24px;
  color: #334155;
  font-size: 1rem;
  line-height: 1.75;
}

.placement-testimonial-card__name,
.placement-testimonial-card__role {
  margin: 0;
}

.placement-testimonial-card__name {
  position: relative;
  display: flex;
  min-height: 44px;
  align-items: center;
  padding-left: 56px;
  color: #071a38;
  font-size: 1rem;
  font-weight: 600;
}

.placement-testimonial-card__name::before {
  position: absolute;
  left: 0;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 3px solid rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  box-shadow: 0 5px 14px rgba(7, 26, 56, 0.18);
}

.placement-testimonial-card:nth-child(1) .placement-testimonial-card__name::before {
  background: linear-gradient(135deg, #f97316, #db2777);
  content: "PK";
}

.placement-testimonial-card:nth-child(2) .placement-testimonial-card__name::before {
  background: linear-gradient(135deg, #2563eb, #7c3aed);
  content: "AD";
}

.placement-testimonial-card:nth-child(3) .placement-testimonial-card__name::before {
  background: linear-gradient(135deg, #059669, #0891b2);
  content: "BP";
}

body[data-page="cpc-certified"] .placement-testimonial-card:nth-child(1) .placement-testimonial-card__name::before {
  content: "AD";
}

body[data-page="cpc-certified"] .placement-testimonial-card:nth-child(2) .placement-testimonial-card__name::before {
  content: "SY";
}

body[data-page="cpc-certified"] .placement-testimonial-card:nth-child(3) .placement-testimonial-card__name::before {
  content: "SK";
}

.placement-testimonial-card__role {
  margin-top: 5px;
  padding-left: 56px;
  color: #64748b;
  font-size: 0.9rem;
}

/* Placement page frequently asked questions */
.placement-faq {
  padding: clamp(42px, 5vw, 64px) 20px;
  background: #ffffff;
}

.placement-faq__inner {
  width: min(1280px, 100%);
  margin: 0 auto;
}

.placement-faq__heading {
  max-width: 660px;
  margin: 0 auto 26px;
  text-align: center;
}

.placement-faq__heading>span {
  display: inline-block;
  margin-bottom: 8px;
  color: #d89124;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.placement-faq__heading h2 {
  margin: 0 0 10px;
  color: #071a38;
  font-size: clamp(1.75rem, 3vw, 2rem);
  line-height: 1.15;
}

.placement-faq__heading p {
  margin: 0;
  color: #53647a;
  font-size: 0.95rem;
  line-height: 1.6;
}

.placement-faq__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 14px;
}

.placement-faq__item {
  overflow: hidden;
  border: 1px solid #dce3ed;
  border-radius: 11px;
  background: #ffffff;
  box-shadow: 0 6px 18px rgba(7, 26, 56, 0.05);
}

.placement-faq__item summary {
  position: relative;
  padding: 16px 50px 16px 20px;
  color: #071a38;
  font-size: 0.94rem;
  font-weight: 800;
  line-height: 1.45;
  cursor: pointer;
  list-style: none;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.placement-faq__item summary::-webkit-details-marker {
  display: none;
}

.placement-faq__item summary::after {
  position: absolute;
  top: 50%;
  right: 18px;
  color: #d89124;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1;
  content: "+";
  transform: translateY(-50%);
}

.placement-faq__item summary:hover {
  color: #b66f0d;
  background: #fffaf2;
}

.placement-faq__item[open] summary {
  color: #ffffff;
  background: #071a38;
}

.placement-faq__item[open] summary::after {
  color: #ffffff;
  content: "−";
}

.placement-faq__answer {
  padding: 16px 20px 18px;
  border-top: 1px solid #e2e8f0;
  background: #ffffff;
}

.placement-faq__answer p {
  margin: 0;
  color: #475569;
  font-size: 0.92rem;
  line-height: 1.6;
}

@media (max-width: 900px) {
  .placement-testimonials__grid {
    grid-template-columns: 1fr;
  }

  .placement-faq__grid {
    grid-template-columns: 1fr;
  }

  .placement-testimonial-card {
    min-height: 0;
  }
}

@media (max-width: 600px) {
  .placement-testimonials {
    padding: 48px 16px;
  }

  .placement-faq {
    padding: 40px 16px;
  }

  .placement-testimonial-card {
    padding: 24px 20px;
  }

  .placement-faq__item summary {
    padding: 15px 46px 15px 16px;
  }

  .placement-faq__answer {
    padding: 15px 16px 17px;
  }
}

/* About Us: balanced five-card journey statistics. */
body[data-page="about-us"] .journey .stats__grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  max-width: 1120px;
  margin-inline: auto;
}

body[data-page="about-us"] .journey .stat-card {
  min-height: 210px;
  padding: 20px 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

body[data-page="about-us"] .journey .stat-card i {
  width: 46px;
  height: 46px;
  font-size: 20px;
  margin-bottom: 12px;
}

body[data-page="about-us"] .journey .stat-card h3 {
  font-size: 1.25rem;
  line-height: 1.2;
  margin-bottom: 6px;
}

body[data-page="about-us"] .journey .stat-card p {
  line-height: 1.45;
}

/* About CTA: retain the gold primary button and use white secondary buttons. */
body[data-page="about-us"] .cta .cta__actions .about-btn-call,
body[data-page="about-us"] .cta .cta__actions .about-btn-wa {
  color: #ffffff !important;
  border-color: #ffffff !important;
  background: transparent !important;
}

body[data-page="about-us"] .cta .cta__actions .about-btn-call:hover,
body[data-page="about-us"] .cta .cta__actions .about-btn-wa:hover {
  color: var(--c-navy-deep, #121421) !important;
  border-color: #ffffff !important;
  background: #ffffff !important;
}

/* Pharmaceutical course syllabus modules. */
.pharma-module-accordion {
  display: grid;
  gap: 10px;
  margin: 18px 0 28px;
}

.pharma-module {
  overflow: hidden;
  background-color: #ffffff !important;
  background: #ffffff !important;
  border: 1px solid #dce3ec;
  border-radius: 8px;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.pharma-module:hover {
  background-color: #ffffff !important;
  background: #ffffff !important;
  border-color: #e4b166;
  box-shadow: 0 4px 14px rgba(6, 29, 56, .07);
}

.pharma-module.is-open {
  background-color: #ffffff !important;
  background: #ffffff !important;
  border-color: var(--c-gold, #d09135);
  box-shadow: 0 6px 18px rgba(6, 29, 56, .08);
}

.pharma-module__trigger {
  width: 100%;
  padding: 15px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 0;
  background-color: #ffffff !important;
  background: #ffffff !important;
  color: var(--c-navy-deep, #121421) !important;
  font: inherit;
  font-size: .98rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
  transition: color .2s ease, background-color .2s ease;
}

.pharma-module__trigger:hover,
.pharma-module__trigger:focus-visible {
  background-color: #ffffff !important;
  background: #ffffff !important;
  color: #b66f0a !important;
}

.pharma-module.is-open .pharma-module__trigger,
.pharma-module.is-open .pharma-module__trigger:hover,
.pharma-module.is-open .pharma-module__trigger:focus-visible {
  background-color: #ffffff !important;
  background: #ffffff !important;
  color: var(--c-navy-deep, #121421) !important;
}

.pharma-module__trigger::after {
  content: "+";
  flex: 0 0 auto;
  color: var(--c-gold, #d09135);
  font-size: 1.35rem;
  line-height: 1;
}

.pharma-module.is-open .pharma-module__trigger::after {
  content: "\2212";
}

.pharma-module__content {
  display: none;
  padding: 0 18px 16px;
  border-top: 1px solid #edf0f4;
  background-color: #ffffff !important;
  background: #ffffff !important;
  color: #4b5563 !important;
}

.pharma-module.is-open .pharma-module__content {
  display: block;
  background-color: #ffffff !important;
  background: #ffffff !important;
  color: #4b5563 !important;
}

.pharma-module__content p {
  margin: 14px 0 0;
  color: #4b5563 !important;
  line-height: 1.65;
}

.pharma-module__content ul {
  margin: 8px 0 0;
  padding-left: 1.25rem;
  list-style: disc;
  color: #4b5563 !important;
}

.pharma-module__content li {
  margin-bottom: 5px;
  line-height: 1.55;
}

.pharma-module__content li:last-child {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  body[data-page="about-us"] .journey .stats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 720px;
  }
}

@media (max-width: 520px) {
  body[data-page="about-us"] .journey .stats__grid {
    grid-template-columns: 1fr;
    max-width: 360px;
  }

  body[data-page="about-us"] .journey .stat-card {
    min-height: 180px;
  }
}

/* Student Feedback: forced compact hero overrides. */
body[data-page="student-feedback"] .feedback-hero {
  padding: 90px 20px 0px !important;
}

body[data-page="student-feedback"] .feedback-hero__inner {
  width: min(1140px, 100%) !important;
  grid-template-columns: minmax(0, .95fr) minmax(390px, 1.05fr) !important;
  gap: 44px !important;
}

body[data-page="student-feedback"] .feedback-hero__content {
  max-width: 540px !important;
}

body[data-page="student-feedback"] .feedback-hero__pill {
  gap: 7px !important;
  margin-bottom: 15px !important;
  padding: 6px 11px !important;
  font-size: .7rem !important;
}

body[data-page="student-feedback"] .feedback-hero__pill>span {
  font-size: .92rem !important;
}

body[data-page="student-feedback"] .feedback-hero h1 {
  margin: 0 !important;
  font-size: clamp(2rem, 3.2vw, 3rem) !important;
  letter-spacing: -.035em !important;
  line-height: 1.08 !important;
}

body[data-page="student-feedback"] .feedback-hero h1 span {
  margin-top: 4px !important;
}

body[data-page="student-feedback"] .feedback-hero__content>p {
  max-width: 520px !important;
  margin-top: 15px !important;
  font-size: .86rem !important;
  line-height: 1.6 !important;
}

body[data-page="student-feedback"] .feedback-hero__actions {
  gap: 10px !important;
  margin-top: 18px !important;
}

body[data-page="student-feedback"] .feedback-hero__actions a {
  min-height: 40px !important;
  padding: 8px 14px !important;
  border-radius: 7px !important;
  font-size: .78rem !important;
}

body[data-page="student-feedback"] .feedback-featured-review {
  min-height: 250px !important;
  padding: 24px 28px !important;
  border-radius: 15px !important;
}

body[data-page="student-feedback"] .feedback-featured-review__quote {
  height: 34px !important;
  font-size: 3.5rem !important;
}

body[data-page="student-feedback"] .feedback-featured-review__slide {
  padding: 0 !important;
}

body[data-page="student-feedback"] .feedback-featured-review blockquote {
  margin: 12px 0 16px !important;
  font-size: .86rem !important;
  line-height: 1.55 !important;
}

body[data-page="student-feedback"] .feedback-featured-review__footer {
  gap: 14px !important;
}

body[data-page="student-feedback"] .feedback-featured-review__footer strong {
  font-size: .84rem !important;
}

body[data-page="student-feedback"] .feedback-featured-review__footer div>span {
  font-size: .72rem !important;
}

body[data-page="student-feedback"] .feedback-featured-review__rating {
  font-size: .92rem !important;
}

body[data-page="student-feedback"] .feedback-featured-review__dots {
  gap: 6px !important;
  margin-top: 16px !important;
}

body[data-page="student-feedback"] .feedback-featured-review__dots button {
  width: 7px !important;
  height: 7px !important;
}

body[data-page="student-feedback"] .feedback-featured-review__dots button.is-active {
  width: 22px !important;
}

body[data-page="student-feedback"] .feedback-featured-review__arrow {
  bottom: 17px !important;
  width: 28px !important;
  height: 28px !important;
  font-size: .76rem !important;
}

body[data-page="student-feedback"] .feedback-stats {
  width: min(1140px, 100%) !important;
  margin-top: 60px !important;
  gap: 12px !important;
}

body[data-page="student-feedback"] .feedback-stat {
  min-height: 76px !important;
  gap: 11px !important;
  padding: 13px 14px !important;
  border-radius: 11px !important;
}

body[data-page="student-feedback"] .feedback-stat__icon {
  width: 36px !important;
  height: 36px !important;
  flex-basis: 36px !important;
  border-radius: 8px !important;
}

body[data-page="student-feedback"] .feedback-stat__icon svg {
  width: 18px !important;
  height: 18px !important;
}

body[data-page="student-feedback"] .feedback-stat strong {
  font-size: clamp(1.1rem, 1.7vw, 1.42rem) !important;
}

body[data-page="student-feedback"] .feedback-stat div>span {
  margin-top: 3px !important;
  font-size: .69rem !important;
}

body[data-page="student-feedback"] .student-feedback-reviews {
  padding-top: 72px !important;
}

@media (max-width: 900px) {
  body[data-page="student-feedback"] .feedback-hero__inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  body[data-page="student-feedback"] .feedback-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    transform: translateY(28%) !important;
  }
}

@media (max-width: 600px) {
  body[data-page="student-feedback"] .feedback-hero {
    padding: 30px 16px 34px !important;
  }

  body[data-page="student-feedback"] .feedback-hero h1 {
    font-size: clamp(1.7rem, 8vw, 2.1rem) !important;
  }

  body[data-page="student-feedback"] .feedback-hero__actions {
    grid-template-columns: 1fr !important;
  }

  body[data-page="student-feedback"] .feedback-featured-review {
    min-height: 235px !important;
    padding: 20px 18px !important;
  }

  body[data-page="student-feedback"] .feedback-featured-review__footer {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  body[data-page="student-feedback"] .feedback-stats {
    grid-template-columns: 1fr !important;
    margin-top: 20px !important;
    transform: none !important;
  }

  body[data-page="student-feedback"] .student-feedback-reviews {
    padding-top: 44px !important;
  }
}

/* Student Feedback: website-aligned light theme. */
body[data-page="student-feedback"] .feedback-hero {
  border-top-color: rgba(208, 145, 53, .35) !important;
  background:
    radial-gradient(circle at 82% 20%, rgba(208, 145, 53, .13), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, var(--c-bg-tint) 58%, #fffaf1 100%) !important;
  color: var(--c-navy) !important;
}

body[data-page="student-feedback"] .feedback-hero__pill {
  border-color: rgba(208, 145, 53, .38) !important;
  background: #fff8eb !important;
  color: #a9660e !important;
}

body[data-page="student-feedback"] .feedback-hero h1 {
  color: var(--c-navy) !important;
}

body[data-page="student-feedback"] .feedback-hero h1 span {
  color: var(--c-gold) !important;
}

body[data-page="student-feedback"] .feedback-hero__content>p {
  color: var(--c-text-soft) !important;
}

body[data-page="student-feedback"] .feedback-hero__primary {
  background: var(--c-gold) !important;
  color: var(--c-white) !important;
  box-shadow: 0 10px 24px rgba(208, 145, 53, .24) !important;
}

body[data-page="student-feedback"] .feedback-hero__primary:hover {
  background: #b9781f !important;
  color: var(--c-white) !important;
}

body[data-page="student-feedback"] .feedback-hero__secondary {
  border-color: var(--c-navy) !important;
  background: var(--c-navy) !important;
  color: var(--c-white) !important;
}

body[data-page="student-feedback"] .feedback-hero__secondary:hover {
  border-color: var(--c-navy-deep) !important;
  background: var(--c-navy-deep) !important;
  color: var(--c-white) !important;
}

body[data-page="student-feedback"] .feedback-featured-review {
  border-color: var(--c-border) !important;
  background: var(--c-white) !important;
  box-shadow: var(--shadow-card) !important;
}

body[data-page="student-feedback"] .feedback-featured-review__quote {
  color: var(--c-gold) !important;
}

body[data-page="student-feedback"] .feedback-featured-review blockquote {
  color: var(--c-text) !important;
}

body[data-page="student-feedback"] .feedback-featured-review__footer strong {
  color: var(--c-navy) !important;
}

body[data-page="student-feedback"] .feedback-featured-review__footer div>span {
  color: var(--c-text-soft) !important;
}

body[data-page="student-feedback"] .feedback-featured-review__rating {
  color: var(--c-gold) !important;
}

body[data-page="student-feedback"] .feedback-featured-review__dots button {
  background: #cbd3df !important;
}

body[data-page="student-feedback"] .feedback-featured-review__dots button:hover {
  background: #9aa8ba !important;
}

body[data-page="student-feedback"] .feedback-featured-review__dots button.is-active {
  background: var(--c-gold) !important;
}

body[data-page="student-feedback"] .feedback-featured-review__arrow {
  border-color: var(--c-border) !important;
  background: var(--c-bg-tint) !important;
  color: var(--c-navy) !important;
}

body[data-page="student-feedback"] .feedback-featured-review__arrow:hover {
  border-color: var(--c-gold) !important;
  background: var(--c-gold) !important;
  color: var(--c-white) !important;
}

body[data-page="student-feedback"] .feedback-stat {
  border-color: rgba(255, 255, 255, .14) !important;
  background: var(--c-navy) !important;
  box-shadow: 0 14px 28px rgba(6, 29, 56, .18) !important;
}

body[data-page="student-feedback"] .feedback-stat__icon {
  background: rgba(208, 145, 53, .2) !important;
  color: var(--c-gold) !important;
}

body[data-page="student-feedback"] .feedback-stat strong {
  color: var(--c-white) !important;
}

body[data-page="student-feedback"] .feedback-stat div>span {
  color: #c6d0dc !important;
}

body[data-page="student-feedback"] .student-feedback-reviews {
  background:
    linear-gradient(to bottom,
      var(--c-navy) 0,
      var(--c-navy) 2px,
      var(--c-bg-tint) 0px,
      var(--c-bg-tint) 100%) !important;
}

/* Dark dividing band aligns with the centre of the floating statistic cards. */
body[data-page="student-feedback"] .feedback-featured-review {
  border: 2px solid var(--c-navy) !important;
}

body[data-page="student-feedback"] .student-feedback-reviews .ig-grid__item,
body[data-page="student-feedback"] .student-feedback-reviews .instagram-media,
body[data-page="student-feedback"] .student-feedback__embed {
  border-color: var(--c-navy) !important;
}

body[data-page="student-feedback"] .student-feedback-reviews .ig-grid__item {
  border: 2px solid var(--c-navy) !important;
}

/* Student Feedback: static review cards (intentionally not a carousel). */
body[data-page="student-feedback"] .feedback-direct {
  padding: 96px 20px 64px;
  border-top: 2px solid var(--c-navy);
  background: var(--c-bg-tint);
}

body[data-page="student-feedback"] .feedback-direct .container {
  width: min(1280px, 100%);
}

body[data-page="student-feedback"] .feedback-direct__heading {
  max-width: 720px;
  margin: 0 auto 30px;
  text-align: center;
}

body[data-page="student-feedback"] .feedback-direct__heading .sub-title {
  color: var(--c-gold);
}

body[data-page="student-feedback"] .feedback-direct__heading h2 {
  margin: 8px 0 10px;
  color: var(--c-navy);
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  line-height: 1.2;
}

body[data-page="student-feedback"] .feedback-direct__heading p {
  margin: 0;
  color: var(--c-text-soft);
}

body[data-page="student-feedback"] .feedback-direct__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

body[data-page="student-feedback"] .feedback-direct-card {
  position: relative;
  display: flex;
  min-height: 220px;
  overflow: hidden;
  flex-direction: column;
  padding: 20px;
  border: 1px solid rgba(6, 29, 56, .38);
  border-radius: 15px;
  background:
    linear-gradient(145deg, #ffffff 0%, #ffffff 62%, rgba(6, 29, 56, .055) 100%);
  box-shadow: 0 14px 34px rgba(6, 29, 56, .09);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

body[data-page="student-feedback"] .feedback-direct-card::before {
  position: absolute;
  top: -78px;
  right: -78px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle at 34% 66%, rgba(6, 29, 56, .14), rgba(6, 29, 56, .045) 58%, transparent 59%);
  content: "";
  pointer-events: none;
}

body[data-page="student-feedback"] .feedback-direct-card::after {
  position: absolute;
  top: 0;
  left: 20px;
  width: 46px;
  height: 3px;
  border-radius: 0 0 6px 6px;
  background: var(--c-gold);
  content: "";
}

body[data-page="student-feedback"] .feedback-direct-card:hover {
  border-color: var(--c-navy);
  box-shadow: 0 18px 38px rgba(6, 29, 56, .14);
  transform: translateY(-4px);
}

body[data-page="student-feedback"] .feedback-direct-card>* {
  position: relative;
  z-index: 1;
}

body[data-page="student-feedback"] .feedback-direct-card__stars {
  color: var(--c-gold);
  font-size: .84rem;
  letter-spacing: .08em;
}

body[data-page="student-feedback"] .feedback-icon-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

body[data-page="student-feedback"] .feedback-direct-card__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  padding-bottom: 11px;
  border-bottom: 1px solid rgba(6, 29, 56, .09);
}

body[data-page="student-feedback"] .feedback-direct-card__google {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
}

body[data-page="student-feedback"] .feedback-direct-card__verified {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  color: #1a73e8;
  font-size: .7rem;
  font-weight: 700;
}

body[data-page="student-feedback"] .feedback-direct-card__verified svg {
  width: 15px;
  height: 15px;
}

body[data-page="student-feedback"] .feedback-direct-card p {
  margin: 0 0 16px;
  color: var(--c-text);
  font-size: .86rem;
  line-height: 1.55;
}

body[data-page="student-feedback"] .feedback-direct-card strong {
  color: var(--c-navy);
  font-size: .9rem;
}

body[data-page="student-feedback"] .feedback-direct-card__user {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 11px;
  border-top: 1px solid rgba(6, 29, 56, .09);
}

body[data-page="student-feedback"] .feedback-direct-card__avatar {
  display: grid;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  place-items: center;
  border-radius: 50%;
  background: #eaf2ff;
  color: #2563eb;
}

body[data-page="student-feedback"] .feedback-direct-card__avatar svg {
  width: 17px;
  height: 17px;
}

body[data-page="student-feedback"] .feedback-direct-card:nth-child(6n + 2) .feedback-direct-card__avatar {
  background: #fff2dd;
  color: #c87800;
}

body[data-page="student-feedback"] .feedback-direct-card:nth-child(6n + 3) .feedback-direct-card__avatar {
  background: #e8f8ee;
  color: #16834a;
}

body[data-page="student-feedback"] .feedback-direct-card:nth-child(6n + 4) .feedback-direct-card__avatar {
  background: #f4eafe;
  color: #8b3fc7;
}

body[data-page="student-feedback"] .feedback-direct-card:nth-child(6n + 5) .feedback-direct-card__avatar {
  background: #ffecef;
  color: #d43d5d;
}

body[data-page="student-feedback"] .feedback-direct-card:nth-child(6n) .feedback-direct-card__avatar {
  background: #e6f8f8;
  color: #087f8c;
}

body[data-page="student-feedback"] .feedback-direct__grid:not(.is-expanded) .feedback-direct-card:nth-child(n + 13) {
  display: none;
}

body[data-page="student-feedback"] .feedback-direct__more {
  display: flex;
  justify-content: center;
  margin-top: 28px;
}

body[data-page="student-feedback"] .feedback-direct__more-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 20px;
  border: 1px solid var(--c-navy);
  border-radius: 9px;
  background: var(--c-navy);
  color: var(--c-white);
  font: inherit;
  font-size: .88rem;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(6, 29, 56, .14);
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

body[data-page="student-feedback"] .feedback-direct__more-button:hover {
  border-color: var(--c-gold);
  background: var(--c-gold);
  transform: translateY(-2px);
}

body[data-page="student-feedback"] .feedback-direct__more-button span:last-child {
  font-size: 1rem;
  transition: transform .2s ease;
}

body[data-page="student-feedback"] .feedback-direct__more-button[aria-expanded="true"] span:last-child {
  transform: rotate(180deg);
}

@media (max-width: 1100px) {
  body[data-page="student-feedback"] .feedback-direct__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  body[data-page="student-feedback"] .feedback-direct {
    padding: 74px 15px 44px;
  }

  body[data-page="student-feedback"] .feedback-direct__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body[data-page="student-feedback"] .feedback-direct-card {
    min-height: 0;
    padding: 20px;
  }
}

/* Blog details page */
.blog-detail-hero {
  padding: clamp(54px, 7vw, 84px) 20px;
  background: radial-gradient(circle at 86% 14%, rgba(208, 145, 53, .2), transparent 28%), linear-gradient(135deg, #061d38, #0c3158);
  color: #fff;
}

.blog-detail-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 22px;
  color: #c8d6e6;
  font-size: .8rem;
}

.blog-detail-breadcrumb a {
  color: #fff;
  text-decoration: none;
}

.blog-detail-hero__category {
  display: inline-flex;
  padding: 6px 12px;
  border: 1px solid rgba(208, 145, 53, .5);
  border-radius: 999px;
  background: rgba(208, 145, 53, .14);
  color: #f2b95f;
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.blog-detail-hero h1 {
  max-width: 1200px;
  margin: 14px 0 14px;
  color: #fff;
  font-size: clamp(2rem, 4.5vw, 2.5rem);
  line-height: 1.13;
}

.blog-detail-hero>.container>p {
  max-width: 760px;
  margin: 0;
  color: #d9e4ef;
  font-size: 1.02rem;
  line-height: 1.7;
}

.blog-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 24px;
  color: #d6e1ed;
  font-size: .82rem;
}

.blog-detail-meta i {
  margin-right: 6px;
  color: var(--c-gold);
}

.blog-detail-section {
  padding: 56px 20px 72px;
  background: var(--c-bg-tint);
}

.blog-detail-layout {
  display: grid;
  max-width: 1280px;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 32px;
  align-items: start;
}

.blog-detail-article {
  padding: 28px;
  border: 1px solid var(--c-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow-card);
}

.blog-detail-featured {
  overflow: hidden;
  margin: 0 0 28px;
  border-radius: 12px;
  background: #eef2f7;
}

.blog-detail-featured img {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}

.blog-detail-article p {
  color: var(--c-text-soft);
  font-size: .95rem;
  line-height: 1.8;
}

.blog-detail-article .blog-detail-lead {
  color: var(--c-text-soft);
  font-size: .95rem;
  line-height: 1.8;
}

.blog-detail-article h2 {
  margin: 34px 0 12px;
  color: var(--c-navy);
  font-size: clamp(1.45rem, 2.4vw, 1rem);
  line-height: 1.25;
}

.blog-detail-checklist {
  display: grid;
  gap: 10px;
  margin: 18px 0;
  padding: 0;
  list-style: none;
}

.blog-detail-checklist li {
  position: relative;
  padding-left: 28px;
  color: var(--c-text);
  line-height: 1.65;
}

.blog-detail-checklist li::before {
  position: absolute;
  left: 0;
  top: 2px;
  display: grid;
  width: 19px;
  height: 19px;
  place-items: center;
  border-radius: 50%;
  background: var(--c-gold);
  color: #fff;
  content: "✓";
  font-size: .72rem;
  font-weight: 900;
}

.blog-detail-callout {
  display: flex;
  gap: 16px;
  margin: 26px 0;
  padding: 20px;
  border-left: 4px solid var(--c-gold);
  border-radius: 0 10px 10px 0;
  background: #fff8eb;
}

.blog-detail-callout i {
  color: var(--c-gold);
  font-size: 1.35rem;
}

.blog-detail-callout strong {
  color: var(--c-navy);
}

.blog-detail-callout p {
  margin: 4px 0 0;
}

.blog-detail-skill-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}

.blog-detail-skill-grid div {
  padding: 18px;
  border: 1px solid var(--c-border);
  border-radius: 10px;
  background: var(--c-bg-tint);
}

.blog-detail-skill-grid strong,
.blog-detail-skill-grid span {
  display: block;
}

.blog-detail-skill-grid strong {
  margin-bottom: 6px;
  color: var(--c-navy);
}

.blog-detail-skill-grid span {
  color: var(--c-text-soft);
  font-size: .85rem;
  line-height: 1.55;
}

.blog-detail-career-path {
  display: grid;
  gap: 12px;
  padding: 0;
  list-style: none;
}

.blog-detail-career-path li {
  display: flex;
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--c-border);
  border-radius: 10px;
}

.blog-detail-career-path li>span {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border-radius: 50%;
  background: var(--c-navy);
  color: var(--c-gold);
  font-size: .75rem;
  font-weight: 800;
}

.blog-detail-career-path strong {
  color: var(--c-navy);
}

.blog-detail-career-path p {
  margin: 3px 0 0;
}

.blog-detail-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 34px;
  padding: 24px;
  border-radius: 14px;
  background: var(--c-navy);
}

.blog-detail-cta span {
  color: var(--c-gold);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.blog-detail-cta h3 {
  margin: 5px 0;
  color: #fff;
  font-size: 1.35rem;
}

.blog-detail-cta p {
  margin: 0;
  color: #c9d6e4;
  font-size: .85rem;
}

.blog-detail-cta .btn {
  flex: 0 0 auto;
}

.blog-detail-share {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--c-border);
  color: var(--c-navy);
}

.blog-detail-share div {
  display: flex;
  gap: 8px;
}

.blog-detail-share a {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: var(--c-navy);
  color: #fff;
  text-decoration: none;
}

.blog-detail-share a:hover {
  background: var(--c-gold);
}

.blog-detail-sidebar {
  position: sticky;
  top: 105px;
  display: grid;
  gap: 18px;
}

.blog-sidebar-card {
  padding: 20px;
  border: 1px solid var(--c-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 25px rgba(6, 29, 56, .07);
}

.blog-sidebar-card h2 {
  margin: 0 0 16px;
  padding-bottom: 11px;
  border-bottom: 2px solid #edf1f5;
  color: var(--c-navy);
  font-size: 1.1rem;
}

.blog-sidebar-card h2::after {
  display: block;
  width: 42px;
  height: 2px;
  margin-bottom: -13px;
  background: var(--c-gold);
  content: "";
}

.blog-sidebar-search form {
  position: relative;
}

.blog-sidebar-search input {
  box-sizing: border-box;
  width: 100%;
  height: 44px;
  padding: 10px 45px 10px 12px;
  border: 1px solid var(--c-border);
  border-radius: 8px;
  font: inherit;
  font-size: .85rem;
}

.blog-sidebar-search button {
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 0 8px 8px 0;
  background: var(--c-navy);
  color: #fff;
  cursor: pointer;
}

.blog-sidebar-posts {
  display: grid;
  gap: 0;
}

.blog-sidebar-posts a {
  display: block;
  padding: 13px 0;
  border-bottom: 1px solid #edf1f5;
  text-decoration: none;
}

.blog-sidebar-posts a:last-child {
  border: 0;
  padding-bottom: 0;
}

.blog-sidebar-posts span {
  color: var(--c-gold);
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.blog-sidebar-posts strong {
  display: block;
  margin: 4px 0;
  color: var(--c-navy);
  font-size: .85rem;
  line-height: 1.45;
}

.blog-sidebar-posts small {
  color: var(--c-text-soft);
}

.blog-sidebar-categories {
  margin: 0;
  padding: 0;
  list-style: none;
}

.blog-sidebar-categories li+li {
  border-top: 1px solid #edf1f5;
}

.blog-sidebar-categories a {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  color: var(--c-text);
  font-size: .86rem;
  text-decoration: none;
}

.blog-sidebar-categories span {
  color: var(--c-gold);
  font-weight: 800;
}

.blog-sidebar-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.blog-sidebar-tags a {
  padding: 6px 10px;
  border: 1px solid var(--c-border);
  border-radius: 999px;
  background: var(--c-bg-tint);
  color: var(--c-navy);
  font-size: .72rem;
  font-weight: 700;
  text-decoration: none;
}

.blog-sidebar-tags a:hover {
  border-color: var(--c-gold);
  background: var(--c-gold);
  color: #fff;
}

.blog-sidebar-enquiry {
  background: linear-gradient(145deg, var(--c-navy), #0d3b67);
}

.blog-sidebar-enquiry>span {
  color: var(--c-gold);
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.blog-sidebar-enquiry h2 {
  margin: 7px 0;
  border: 0;
  padding: 0;
  color: #fff;
}

.blog-sidebar-enquiry h2::after {
  display: none;
}

.blog-sidebar-enquiry p {
  color: #cad7e5;
  font-size: .84rem;
  line-height: 1.6;
}

.blog-sidebar-enquiry .btn {
  width: 100%;
}

@media (max-width: 980px) {
  .blog-detail-layout {
    grid-template-columns: 1fr;
  }

  .blog-detail-sidebar {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .blog-detail-hero {
    padding: 30px 12px;
  }

  .blog-detail-hero h1 {
    font-size: 24px;
    line-height: 1.3;
  }

  .blog-detail-hero>.container>p {
    font-size: 14px;
  }

  .blog-detail-meta {
    flex-wrap: wrap;
    gap: 12px;
    font-size: 13px;
  }

  .blog-detail-section {
    padding: 24px 0 36px;
  }

  .blog-detail-layout.container {
    padding-inline: 12px;
  }

  .blog-detail-article {
    padding: 12px;
    border-radius: 8px;
    box-shadow: none;
  }

  .blog-detail-article h2 {
    font-size: 20px;
    margin-top: 24px;
  }

  .blog-detail-article p {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 14px;
  }

  .blog-detail-checklist li {
    font-size: 14px;
    padding-left: 28px;
    margin-bottom: 10px;
  }

  .blog-detail-callout {
    padding: 14px;
    gap: 12px;
  }

  .blog-detail-callout i {
    font-size: 20px;
  }

  .blog-detail-callout p {
    font-size: 13px;
  }

  .blog-detail-skill-grid,
  .blog-detail-sidebar {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .blog-sidebar-card {
    box-shadow: none;
    padding: 12px;
  }

  .blog-detail-career-path li {
    padding-left: 32px;
    font-size: 14px;
  }

  .blog-detail-cta {
    align-items: flex-start;
    flex-direction: column;
    padding: 16px;
  }

  .blog-detail-cta h3 {
    font-size: 18px;
  }

  .blog-detail-cta p {
    font-size: 14px;
  }

  .blog-detail-cta .btn {
    width: 100%;
    font-size: 14px;
    padding: 10px;
  }

  .blog-detail-share {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
  }

  .blog-detail-share a {
    width: 100%;
    justify-content: center;
    font-size: 13px;
    padding: 8px;
  }
}

/* ==========================================================================
   GLOBAL RACE CAREER CONSULTATION POPUP (Unified across entire website)
   ========================================================================== */
.modal-overlay,
#popup-auto-enquiry.modal-overlay,
#popup-enroll.modal-overlay,
#popup-brochure.modal-overlay,
#popup-demo.modal-overlay,
#popup-enquiry.modal-overlay,
#popup-placement.modal-overlay {
  position: fixed !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
  background: rgba(6, 29, 56, .74) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 999999 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity .25s ease, visibility .25s ease !important;
}

.modal-overlay.is-open,
#popup-auto-enquiry.modal-overlay.is-open {
  opacity: 1 !important;
  visibility: visible !important;
}

.modal-overlay .global-enquiry-modal,
.modal-overlay .feedback-enquiry-modal,
#popup-auto-enquiry .global-enquiry-modal,
#popup-auto-enquiry .feedback-enquiry-modal,
#popup-enroll .modal,
#popup-brochure .modal,
#popup-demo .modal,
#popup-enquiry .modal {
  position: relative !important;
  width: min(530px, 94vw) !important;
  max-width: 530px !important;
  max-height: 92vh !important;
  overflow-y: auto !important;
  padding: 22px 26px 24px !important;
  border: 2px solid var(--c-gold, #c58939) !important;
  border-radius: 18px !important;
  background: var(--c-white, #ffffff) !important;
  box-shadow: 0 0 0 4px rgba(197, 137, 57, .14), 0 24px 70px rgba(6, 29, 56, .35) !important;
  transform: scale(0.96) translateY(10px);
  transition: transform .25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
}

.modal-overlay.is-open .global-enquiry-modal,
.modal-overlay.is-open .feedback-enquiry-modal,
#popup-auto-enquiry.is-open .global-enquiry-modal,
#popup-auto-enquiry.is-open .feedback-enquiry-modal {
  transform: scale(1) translateY(0) !important;
}

/* Close button - light circular button in top right */
.modal-overlay .modal__close,
#popup-auto-enquiry .modal__close {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 32px !important;
  height: 32px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #eef2f7 !important;
  color: #1e293b !important;
  font-size: 20px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all .2s ease !important;
  z-index: 10 !important;
  padding: 0 !important;
}

.modal-overlay .modal__close:hover,
#popup-auto-enquiry .modal__close:hover {
  background: var(--c-gold, #c58939) !important;
  color: #ffffff !important;
  transform: rotate(90deg) scale(1.08) !important;
}

/* Top centered circular badge logo */
.global-popup__logo,
.feedback-popup__logo {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 auto 12px !important;
}

.global-popup__logo img,
.feedback-popup__logo img {
  width: 86px !important;
  height: 86px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .12) !important;
  display: block !important;
}

/* Dark blue header banner */
.global-popup__banner,
.modal-overlay .feedback-enquiry-modal h3,
#popup-auto-enquiry .feedback-enquiry-modal h3 {
  margin: 0 0 8px !important;
  padding: 5px 18px !important;
  border-radius: 8px !important;
  background: #061d38 !important;
  color: #ffffff !important;
  font-size: clamp(1.06rem, 2.4vw, 1.28rem) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  letter-spacing: -0.01em !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08) !important;
}

.global-popup__banner h3 {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: #ffffff !important;
  font-size: inherit !important;
  font-weight: 800 !important;
  line-height: inherit !important;
  box-shadow: none !important;
}

/* Subtitle text */
.global-popup__subtitle,
.feedback-popup__subtitle {
  margin: 0 auto 14px !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  color: #556476 !important;
  text-align: center !important;
  font-weight: 500 !important;
  max-width: 440px !important;
}

/* 2-column Form Row Grid */
.global-popup__grid,
.feedback-popup__row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 14px !important;
  margin-bottom: 2px !important;
}

.global-popup__field,
.feedback-popup__field {
  display: flex !important;
  flex-direction: column !important;
  text-align: left !important;
  min-width: 0 !important;
  margin: 0 0 8px !important;
}

.global-popup__field>span,
.feedback-popup__field>span {
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #0c1a2f !important;
  margin-bottom: 5px !important;
}

.global-popup__field>span em,
.feedback-popup__field em {
  color: var(--c-gold, #c58939) !important;
  font-style: normal !important;
  font-weight: 800 !important;
  margin-left: 2px !important;
}

/* Input and Select fields */
.global-popup__field input,
.global-popup__field select,
.feedback-popup__field input:not([type="submit"]),
.feedback-popup__field select,
.feedback-popup__field .custom-select__button {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #cfd6df !important;
  border-radius: 7px !important;
  background-color: #ffffff !important;
  color: #232f3e !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  outline: none !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
}

.global-popup__field input::placeholder,
.feedback-popup__field input::placeholder {
  color: #7b8796 !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}

.global-popup__field select,
.feedback-popup__field select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23061d38' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 12px !important;
  padding-right: 32px !important;
  cursor: pointer !important;
}

.global-popup__field input:focus,
.global-popup__field select:focus,
.feedback-popup__field input:focus,
.feedback-popup__field select:focus,
.feedback-popup__field .custom-select.is-open .custom-select__button,
.feedback-popup__field .custom-select__button:focus-visible {
  border-color: var(--c-gold, #c58939) !important;
  box-shadow: 0 0 0 3px rgba(197, 137, 57, .18) !important;
  outline: none !important;
}

/* Submit button centered at bottom */
.global-popup__actions {
  display: flex !important;
  justify-content: center !important;
  margin-top: 14px !important;
}

.global-popup__submit,
.feedback-popup__submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(280px, 100%) !important;
  min-height: 44px !important;
  margin: 14px auto 2px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #d48729 !important;
  /* Golden amber matching screenshot */
  color: #ffffff !important;
  font-size: .96rem !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(212, 135, 41, .38) !important;
  transition: all .2s ease !important;
}

.global-popup__submit:hover,
.feedback-popup__submit:hover {
  background: #061d38 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(6, 29, 56, .3) !important;
}

@media (max-width: 600px) {

  .modal-overlay .global-enquiry-modal,
  .modal-overlay .feedback-enquiry-modal,
  #popup-auto-enquiry .global-enquiry-modal,
  #popup-auto-enquiry .feedback-enquiry-modal {
    padding: 18px 16px 20px !important;
    border-radius: 14px !important;
  }

  .global-popup__logo img,
  .feedback-popup__logo img {
    width: 74px !important;
    height: 74px !important;
  }

  .global-popup__banner,
  .modal-overlay .feedback-enquiry-modal h3,
  #popup-auto-enquiry .feedback-enquiry-modal h3 {
    padding: 9px 14px !important;
    font-size: 1.02rem !important;
  }

  .global-popup__grid,
  .feedback-popup__row {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .global-popup__field,
  .feedback-popup__field {
    margin-bottom: 7px !important;
  }

  .global-popup__submit,
  .feedback-popup__submit {
    width: 100% !important;
    margin-top: 10px !important;
  }
}

/* Student Feedback: premium, stable Student Voices video grid. */
body[data-page="student-feedback"] .student-feedback-reviews {
  padding: 62px 20px 68px !important;
  border-top: 1px solid rgba(208, 145, 53, .32);
  background:
    radial-gradient(circle at 88% 8%, rgba(208, 145, 53, .1), transparent 24%),
    linear-gradient(180deg, var(--c-white) 0%, var(--c-bg-tint) 100%) !important;
}

body[data-page="student-feedback"] .student-feedback-reviews .section__title {
  max-width: 700px;
  margin-bottom: 28px;
}

body[data-page="student-feedback"] .student-feedback-reviews .section__title .sub-title {
  display: inline-flex;
  padding: 6px 13px;
  border: 1px solid rgba(208, 145, 53, .34);
  border-radius: 999px;
  background: #fff8eb;
  color: #a9660e;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body[data-page="student-feedback"] .student-feedback-reviews .section__title .title {
  margin: 10px 0 8px;
  color: var(--c-navy);
  font-size: clamp(1.7rem, 3vw, 2.3rem);
  line-height: 1.2;
}

body[data-page="student-feedback"] .student-feedback-reviews .section__title .desc {
  margin: 0;
  color: var(--c-text-soft);
  font-size: .95rem;
}

body[data-page="student-feedback"] .student-feedback-reviews .ig-grid {
  gap: 18px;
}

body[data-page="student-feedback"] .student-feedback-reviews .ig-grid__item {
  position: relative;
  height: 410px;
  overflow: hidden;
  border: 1px solid rgba(6, 29, 56, .46) !important;
  border-radius: 16px;
  background: var(--c-white);
  box-shadow: 0 12px 28px rgba(6, 29, 56, .1);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

body[data-page="student-feedback"] .student-feedback-reviews .ig-grid__item::before {
  position: absolute;
  top: 0;
  left: 22px;
  z-index: 3;
  width: 48px;
  height: 3px;
  border-radius: 0 0 5px 5px;
  background: var(--c-gold);
  content: "";
  pointer-events: none;
}

body[data-page="student-feedback"] .student-feedback-reviews .ig-grid__item:hover {
  border-color: var(--c-navy) !important;
  box-shadow: 0 16px 34px rgba(6, 29, 56, .14);
  transform: translateY(-3px);
}

body[data-page="student-feedback"] .student-feedback__embed {
  position: relative;
  min-height: 408px;
  padding: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(6, 29, 56, .13), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #f4f7fb 100%);
}

body[data-page="student-feedback"] .student-feedback__embed>a {
  display: flex;
  width: 100%;
  min-height: 356px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin: 0 !important;
  color: var(--c-navy);
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.45;
  text-decoration: none;
}

body[data-page="student-feedback"] .student-feedback__embed>a::before {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 6px solid #fff;
  border-radius: 50%;
  background: var(--c-navy);
  color: var(--c-gold);
  box-shadow: 0 10px 24px rgba(6, 29, 56, .2);
  content: "\25B6";
  font-size: 1.05rem;
  text-indent: 3px;
}

body[data-page="student-feedback"] .student-feedback__embed>a::after {
  color: var(--c-text-soft);
  content: "Student success story";
  font-size: .76rem;
  font-weight: 600;
}

body[data-page="student-feedback"] .student-feedback__embed.is-loading>a::after {
  content: "Loading video...";
}

body[data-page="student-feedback"] .feedback-location-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

body[data-page="student-feedback"] .feedback-location-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 10px 15px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 8px;
  background: var(--c-white);
  color: var(--c-navy);
  font-size: .8rem;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .12);
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}

body[data-page="student-feedback"] .feedback-location-button:hover {
  border-color: var(--c-gold);
  background: var(--c-gold);
  color: var(--c-white);
  transform: translateY(-2px);
}

body[data-page="student-feedback"] .student-feedback__embed .instagram-media {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 408px !important;
  margin: 0 !important;
  border: 0 !important;
  background: var(--c-white) !important;
}

/* Force consistent sizing across popup inputs and enhanced select controls. */
body[data-page="student-feedback"] #popup-auto-enquiry .feedback-popup__field input:not([type="submit"]),
body[data-page="student-feedback"] #popup-auto-enquiry .feedback-popup__field select,
body[data-page="student-feedback"] #popup-auto-enquiry .feedback-popup__field .custom-select__button {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #cfd6df !important;
  border-radius: 7px !important;
  background-color: var(--c-white) !important;
  color: #344054 !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

body[data-page="student-feedback"] #popup-auto-enquiry .feedback-popup__field input::placeholder {
  color: #667085 !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  opacity: 1 !important;
}

body[data-page="student-feedback"] #popup-auto-enquiry input[name="your-name"]::placeholder,
body[data-page="student-feedback"] #popup-auto-enquiry input[name="your-email"]::placeholder,
body[data-page="student-feedback"] #popup-auto-enquiry input[name="your-mobile"]::placeholder {
  color: #7a8494 !important;
  font-size: 12.5px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}

body[data-page="student-feedback"] #popup-auto-enquiry .feedback-popup__field .custom-select {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body[data-page="student-feedback"] #popup-auto-enquiry .feedback-popup__field .custom-select__button {
  overflow: hidden !important;
  padding-right: 34px !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body[data-page="student-feedback"] #popup-auto-enquiry .feedback-popup__field input:focus,
body[data-page="student-feedback"] #popup-auto-enquiry .feedback-popup__field .custom-select.is-open .custom-select__button,
body[data-page="student-feedback"] #popup-auto-enquiry .feedback-popup__field .custom-select__button:focus-visible {
  border-color: var(--c-gold) !important;
  outline: 3px solid rgba(208, 145, 53, .14) !important;
  box-shadow: none !important;
}

@media (max-width: 900px) {
  body[data-page="student-feedback"] .student-feedback-reviews .ig-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  body[data-page="student-feedback"] .feedback-location-actions {
    width: 100%;
    grid-template-columns: 1fr;
  }

  body[data-page="student-feedback"] .feedback-location-button {
    width: 100%;
    white-space: normal;
  }

  body[data-page="student-feedback"] .student-feedback-reviews {
    padding: 44px 15px 50px !important;
  }

  body[data-page="student-feedback"] .student-feedback-reviews .ig-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body[data-page="student-feedback"] .student-feedback-reviews .ig-grid__item {
    height: 390px;
  }

  body[data-page="student-feedback"] .student-feedback__embed,
  body[data-page="student-feedback"] .student-feedback__embed .instagram-media {
    min-height: 388px !important;
  }
}

/* CPC Accordion Styling */
.cpc-accordion {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cpc-accordion-item {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background-color: #ffffff;
  overflow: hidden;
}

.cpc-accordion-item[open] {
  border-color: #cbd5e1;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.cpc-accordion-header {
  padding: 16px 20px;
  font-weight: 600;
  font-size: 16px;
  color: #0f172a;
  background-color: #f8fafc;
  cursor: pointer;
  list-style: none;
  position: relative;
  transition: background-color 0.2s ease;
}

.cpc-accordion-header::-webkit-details-marker {
  display: none;
}

.cpc-accordion-header:hover {
  background-color: #f1f5f9;
}

.cpc-accordion-header::after {
  content: '+';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  color: #3b82f6;
  /* Blue icon */
  font-weight: 300;
  transition: transform 0.3s ease;
}

.cpc-accordion-item[open] .cpc-accordion-header::after {
  content: '\2212';
}

.cpc-accordion-body {
  padding: 16px 20px 20px;
  border-top: 1px solid #e2e8f0;
  color: #475569;
  font-size: 15px;
  line-height: 1.6;
}

.cpc-accordion-body p:last-child {
  margin-bottom: 0;
}

/* --- Branch Inner Pages CSS --- */
.branch-about {
  padding: 60px 0;
  background-color: #f9f9f9;
}

.branch-about__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 50px;
  align-items: center;
}

.branch-about__title {
  margin-bottom: 24px;
  font-size: 30px;
  color: #1a1a1a;
}

.branch-about__desc {
  margin-bottom: 16px;
  line-height: 1.6;
  color: #4a4a4a;
}

.branch-about__desc--last {
  margin-bottom: 0;
}

.branch-about__img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.branch-contact-cta {
  padding: 60px 0;
  background-color: #ffffff;
}

.branch-contact-cta__inner {
  background-color: var(--c-navy);
  color: #ffffff;
  border-radius: 16px;
  padding: 50px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 350px), 1fr));
  gap: 40px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.branch-contact-cta__title {
  font-size: 30px;
  margin-bottom: 20px;
  color: #ffffff;
}

.branch-contact-cta__desc {
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 30px;
  color: #e0e0e0;
}

.branch-contact-cta__btn {
  display: inline-block;
  background-color: var(--gold, #d4af37);
  color: #1a1a1a;
  padding: 15px 30px;
  border-radius: 8px;
  font-weight: bold;
  text-decoration: none;
  font-size: 1.1rem;
  transition: background-color 0.3s ease;
}

.branch-contact-cta__btn:hover {
  background-color: #ffffff;
}

.branch-contact-cta__details {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center;
}

.branch-contact-cta__item {
  display: flex;
  align-items: flex-start;
  gap: 15px;
}

.branch-contact-cta__icon {
  color: var(--gold, #d4af37);
  font-size: 1.5rem;
}

.branch-contact-cta__label {
  display: block;
  font-size: 1.1rem;
  margin-bottom: 5px;
  color: var(--gold, #d4af37);
  font-weight: bold;
}

.branch-contact-cta__text {
  color: #cccccc;
  line-height: 1.5;
  display: block;
}

.branch-contact-cta__link {
  color: #cccccc;
  text-decoration: none;
  display: block;
  margin-bottom: 3px;
}

@media (max-width: 768px) {
  .branch-contact-cta__inner {
    padding: 30px 20px;
    gap: 30px;
    grid-template-columns: 1fr;
  }

  .branch-contact-cta__title {
    font-size: 20px;
    margin-bottom: 15px;
  }

  .branch-contact-cta__desc {
    font-size: 14px;
    margin-bottom: 20px;
  }

  .branch-contact-cta__btn {
    padding: 10px 20px;
    font-size: 1rem;
    display: block;
    text-align: center;
  }

  .branch-contact-cta__label {
    font-size: 1rem;
  }

  .branch-contact-cta__icon {
    font-size: 1.25rem;
  }
}

.branch-courses {
  padding: 60px 0;
  background-color: #ffffff;
}

.branch-contact-cta {
  padding: 20px 0;
}

.branch-courses__wrap {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
}

.branch-batches__title {
  font-size: 24px;
}

.branch-courses__head {
  text-align: center;
  margin-bottom: 40px;
}

.branch-courses__title {
  font-size: 30px;
  color: #1a1a1a;
  margin-bottom: 15px;
}

.branch-courses__sub {
  font-size: 15px;
  color: #4a4a4a;
  margin: 0 auto;
  line-height: 1.6;
}

.branch-courses-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding: 10px 0 20px 0;
}

@media (max-width: 1024px) {
  .branch-courses-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .branch-courses-grid {
    grid-template-columns: 1fr;
  }
}

/* Course Cards used in Branch and Courses pages */
.mc-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-top: 4px solid #d4af37;
  border-radius: 8px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  height: 100%;
}

.mc-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.mc-card__icon {
  color: #1a1a1a;
  font-size: 28px;
  margin-bottom: 16px;
}

.mc-card__title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 12px;
  line-height: 1.4;
}

.mc-card__desc {
  font-size: 0.95rem;
  color: #475569;
  line-height: 1.6;
  margin-bottom: 24px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.mc-card__desc p {
  margin: 0;
}

.mc-card__btn {
  display: inline-block;
  padding: 12px 20px;
  background-color: #1a1a1a;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  transition: background-color 0.2s;
  margin-top: auto;
}

.mc-card__btn:hover {
  background-color: #d4af37;
  color: #1a1a1a;
}

.branch-info {
  padding: 40px 0;
  background-color: var(--c-navy);
}

.branch-info__wrap {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
}

.branch-info__grid {
  display: grid;
  grid-template-columns: 7fr 3fr;
  gap: 40px;
  align-items: center;
}

@media (max-width: 991px) {
  .branch-info__grid {
    grid-template-columns: 1fr;
  }
}

.branch-info__content {
  text-align: left;
}

.branch-info__form {
  background-color: #ffffff;
  padding: 25px 25px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.branch-info__form .form-row,
.branch-info__form .form-field {
  width: 100%;
}

.branch-info__form .form-control,
.branch-info__form .form-select,
.branch-info__form .btn-block {
  width: 100%;
  box-sizing: border-box;
}

.branch-info__title {
  font-size: 30px;
  color: #ffffff;
  margin-bottom: 20px;
}

.branch-info__desc {
  font-size: 15px;
  color: #e2e8f0;
  line-height: 1.6;
}

.branch-info__btn {
  display: inline-block;
  background-color: var(--gold, #d4af37);
  color: #1a1a1a;
  padding: 12px 30px;
  border-radius: 6px;
  font-weight: bold;
  text-decoration: none;
  margin-top: 10px;
  transition: background-color 0.2s;
}

.branch-info__btn:hover {
  background-color: #ffffff;
  color: #1a1a1a;
}

.branch-placements {
  padding: 60px 0;
  background-color: #ffffff;
}

.branch-placements__wrap {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
}

.branch-placements__head {
  text-align: center;
  margin-bottom: 40px;
}

.branch-placements__title {
  font-size: 30px;
  color: #1a1a1a;
  margin-bottom: 15px;
}

.branch-placements__sub {
  font-size: 15px;
  color: #4a4a4a;
  margin: 0 auto;
  line-height: 1.6;
}

.branch-placements__grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 10px;
  margin-bottom: 30px;
}

.bp-card {
  padding: 10px 10px;
  border-radius: 8px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  transition: transform 0.3s ease;
}

.bp-card:hover {
  transform: translateY(-5px);
}

.bp-card__icon {
  font-size: 30px;
  margin-bottom: 15px;
}

.bp-card__title {
  font-size: 15px;
  font-weight: 600;
  margin: 0;
  color: #1a1a1a;
}

.bp-card--color1 {
  background-color: #e3f2fd;
  border-color: #1976d2;
}

.bp-card--color1 .bp-card__icon {
  color: #1976d2;
}

.bp-card--color2 {
  background-color: #fce4ec;
  border-color: #c2185b;
}

.bp-card--color2 .bp-card__icon {
  color: #c2185b;
}

.bp-card--color3 {
  background-color: #e8f5e9;
  border-color: #388e3c;
}

.bp-card--color3 .bp-card__icon {
  color: #388e3c;
}

.bp-card--color4 {
  background-color: #fff3e0;
  border-color: #f57c00;
}

.bp-card--color4 .bp-card__icon {
  color: #f57c00;
}

.bp-card--color5 {
  background-color: #f3e5f5;
  border-color: #7b1fa2;
}

.bp-card--color5 .bp-card__icon {
  color: #7b1fa2;
}

.bp-card--color6 {
  background-color: #e0f7fa;
  border-color: #0097a7;
}

.bp-card--color6 .bp-card__icon {
  color: #0097a7;
}

.bp-card--color7 {
  background-color: #ffebee;
  border-color: #d32f2f;
}

.bp-card--color7 .bp-card__icon {
  color: #d32f2f;
}

.bp-card--color8 {
  background-color: #fff8e1;
  border-color: #fbc02d;
}

.bp-card--color8 .bp-card__icon {
  color: #fbc02d;
}

.branch-placements__stats {
  text-align: center;
  margin-bottom: 30px;
  font-size: 1.1rem;
  font-weight: 600;
  color: #1a1a1a;
}

.branch-placements__cta {
  text-align: center;
}

.branch-placements__btn {
  display: inline-block;
  background-color: #1a1a1a;
  color: #ffffff;
  padding: 12px 24px;
  border-radius: 6px;
  font-weight: 600;
  text-decoration: none;
  font-size: 1rem;
  transition: background-color 0.3s ease;
}

.branch-placements__btn:hover {
  background-color: var(--gold, #d4af37);
  color: #1a1a1a;
}

@media (max-width: 1024px) {
  .branch-placements__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .branch-placements__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .bp-card {
    padding: 8px;
  }
  .bp-card__icon {
    font-size: 24px;
    margin-bottom: 8px;
  }
  .bp-card__title {
    font-size: 13px;
    line-height: 1.3;
  }
}

.branch-testimonials {
  padding: 60px 0;
  background-color: #f8fafc;
}

.branch-testimonials h2 {
  text-align: center;
  font-size: 30px;
  color: #1a1a1a;
}

.branch-testimonials .eyebrow-block {
  text-align: center;
  margin: 0 auto 40px;
}

.branch-testimonials .eyebrow-block p {
  color: #4a4a4a;
  font-size: 1.1rem;
  line-height: 1.6;
}

.branch-testimonials__cta {
  text-align: center;
  margin-top: 40px;
}

.branch-testimonials__btn {
  display: inline-block;
  background-color: var(--gold, #d4af37);
  color: #1a1a1a;
  padding: 15px 30px;
  border-radius: 8px;
  font-weight: bold;
  text-decoration: none;
  font-size: 1.1rem;
  transition: background-color 0.3s ease;
}

.branch-testimonials__btn:hover {
  background-color: #1a1a1a;
  color: #ffffff;
}

.el-testimonial-container {
  position: relative;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 20px;
}

.el-testimonial-wrapper {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  align-items: stretch;
  padding-bottom: 20px;
}

.el-testimonial-wrapper::-webkit-scrollbar {
  height: 8px;
}

.el-testimonial-wrapper::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

.el-testimonial-wrapper::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 4px;
}

.el-testimonial-card {
  background: #fff;
  border-radius: 14px;
  padding: 24px;
  min-width: calc(33.333% - 14px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, .08);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 280px;
  text-align: left;
}

.el-user {
  display: flex;
  align-items: center;
  gap: 12px;
  order: 3;
  margin-top: auto;
}

.el-user-avatar {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  flex-shrink: 0;
}

.el-testimonial-card:nth-child(7n+1) .el-user-avatar {
  background-color: #e3f2fd;
  color: #1976d2;
}

.el-testimonial-card:nth-child(7n+2) .el-user-avatar {
  background-color: #fce4ec;
  color: #c2185b;
}

.el-testimonial-card:nth-child(7n+3) .el-user-avatar {
  background-color: #e8f5e9;
  color: #388e3c;
}

.el-testimonial-card:nth-child(7n+4) .el-user-avatar {
  background-color: #fff3e0;
  color: #f57c00;
}

.el-testimonial-card:nth-child(7n+5) .el-user-avatar {
  background-color: #f3e5f5;
  color: #7b1fa2;
}

.el-testimonial-card:nth-child(7n+6) .el-user-avatar {
  background-color: #e0f7fa;
  color: #0097a7;
}

.el-testimonial-card:nth-child(7n+7) .el-user-avatar {
  background-color: #ffebee;
  color: #d32f2f;
}

.el-user-info h4 {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: #1a1a1a;
}

.el-rating {
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  order: 1;
}

.el-rating img {
  width: 22px;
  height: 22px;
}

.el-rating span {
  color: #f4b400;
  font-size: 15px;
}

.el-review {
  font-size: 14px;
  line-height: 1.7;
  color: #444;
  text-align: left;
  margin-bottom: 20px;
  order: 2;
}

@media(max-width:1024px) {
  .el-testimonial-card {
    min-width: calc(50% - 10px);
  }
}

@media(max-width:768px) {
  .el-testimonial-card {
    min-width: 100%;
    height: auto;
  }
}

.branch-faq {
  padding: 60px 0;
  background-color: #f8fafc;
}

.branch-faq__wrap {
  max-width: 900px;
  width: 95%;
  margin: 0 auto;
}

.branch-faq__title {
  text-align: center;
  font-size: 30px;
  color: #1a1a1a;
  margin-bottom: 40px;
}

.branch-faq__item {
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  margin-bottom: 16px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.04);
}

.branch-faq__item summary {
  padding: 15px 20px;
  font-size: 17px;
  font-weight: 600;
  color: #1e293b;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.branch-faq__item summary::-webkit-details-marker {
  display: none;
}

.branch-faq__item summary::after {
  content: '+';
  font-size: 1.8rem;
  color: var(--gold, #d4af37);
  font-weight: 400;
  line-height: 1;
  transition: transform 0.3s ease;
}

.branch-faq__item[open] summary::after {
  transform: rotate(45deg);
}

.branch-faq__content {
  padding: 0 24px 24px 24px;
  font-size: 1rem;
  color: #4a4a4a;
  line-height: 1.6;
}

/* Mumbai Specific FAQ grid layout */
body[data-page="mumbai"] .branch-faq__wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 10px;
  align-items: start;
  max-width: 1100px;
}

body[data-page="mumbai"] .branch-faq__title {
  grid-column: 1 / -1;
}

@media (max-width: 768px) {
  body[data-page="mumbai"] .branch-faq__wrap {
    grid-template-columns: 1fr;
  }
}

/* Branch Features */
.branch-features {
  padding: 60px 0;
  background-color: #f0f4f8;
}

.branch-features__wrap {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
}

.branch-features__title {
  text-align: center;
  font-size: 30px;
  color: #1a1a1a;
  margin-bottom: 50px;
}

.branch-features__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 40px;
}

.bf-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  background: #ffffff;
  padding: 24px;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
  transition: transform 0.3s ease;
}

.bf-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
}

.bf-item__icon {
  width: 55px;
  height: 55px;
  border-radius: 12px;
  background-color: var(--gold, #d4af37);
  color: #1a1a1a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  flex-shrink: 0;
}

.bf-item__content h3 {
  font-size: 18px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 10px 0;
}

.bf-item__content p {
  font-size: 15px;
  color: #4a4a4a;
  line-height: 1.6;
  margin: 0;
}

@media (max-width: 768px) {
  .branch-features__grid {
    grid-template-columns: 1fr;
  }
}

/* Mobile Horizontal Scroll Fixes */
html,
body {
  overflow-x: clip;
  max-width: 100vw;
}

.branch-batches__table-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Branch Areas */
.branch-areas {
  background-color: #f8fafc;
}

.branch-areas__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
}

.branch-areas__content {
  padding: 80px 10%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.branch-areas__title {
  font-size: 32px;
  color: #1a1a1a;
  margin-bottom: 24px;
}

.branch-areas__content p {
  font-size: 16px;
  color: #4a4a4a;
  line-height: 1.7;
  margin-bottom: 16px;
}

.branch-areas__content p:last-child {
  margin-bottom: 0;
}

.branch-areas__map {
  width: 100%;
  height: 100%;
  min-height: 400px;
}

.branch-areas__map iframe {
  display: block;
  width: 100%;
  height: 100%;
}

@media (max-width: 991px) {
  .branch-areas__grid {
    grid-template-columns: 1fr;
  }

  .branch-areas__content {
    padding: 60px 20px;
  }

  .branch-areas__map {
    min-height: 350px;
  }
}

/* --- Global Mobile Optimizations for Branch Pages --- */
@media (max-width: 768px) {

  /* Reduce section paddings */
  .branch-about,
  .branch-courses,
  .branch-batches,
  .branch-placements,
  .branch-features,
  .branch-info,
  .branch-faq {
    padding: 40px 0;
  }
  
  .branch-testimonials {
    padding: 20px 0;
  }
  
  .branch-testimonials__cta {
    margin-top: 20px;
  }
  
  .branch-areas__content {
    padding: 20px 15px;
  }

  /* Shrink section titles */
  .branch-about__title,
  .branch-courses__title,
  .branch-batches__title,
  .branch-placements__title,
  .branch-features__title,
  .branch-info__title,
  .branch-faq__title,
  .branch-areas__title,
  .branch-testimonials h2 {
    font-size: 20px;
    margin-bottom: 15px;
    line-height: 1.3;
  }

  /* Shrink sub-titles and descriptions */
  .branch-about__desc,
  .branch-courses__sub,
  .branch-batches__sub,
  .branch-placements__sub,
  .branch-info__desc,
  .branch-areas__content p,
  .branch-testimonials .eyebrow-block p {
    font-size: 14px;
  }

  /* Shrink grid gaps */
  .branch-about__grid,
  .branch-info__grid {
    gap: 30px;
  }

  /* Shrink forms */
  .branch-info__form {
    padding: 20px 15px;
  }

  /* Feature items */
  .bf-item {
    padding: 16px;
    gap: 15px;
  }

  .bf-item__icon {
    width: 45px;
    height: 45px;
    font-size: 20px;
  }

  .bf-item__content h3 {
    font-size: 16px;
  }

  /* FAQ */
  .branch-faq__item {
    margin-bottom: 10px;
  }

  .branch-faq__item summary {
    padding: 10px 12px;
    font-size: 14px;
  }

  .branch-faq__item summary::after {
    font-size: 1.4rem;
  }

  .branch-faq__content {
    padding: 0 12px 12px 12px;
    font-size: 13px;
  }

  /* Course Cards */
  .mc-card {
    padding: 20px;
  }

  .mc-card__icon {
    font-size: 24px;
    margin-bottom: 10px;
  }

  .mc-card__title {
    font-size: 18px;
    margin-bottom: 10px;
  }

  .mc-card__desc {
    font-size: 14px;
    margin-bottom: 20px;
  }

  /* Buttons general mobile size */
  .branch-info__btn,
  .branch-placements__btn,
  .branch-batches__btn,
  .branch-testimonials__btn,
  .mc-card__btn {
    padding: 10px 18px;
    font-size: 14px;
  }

  .branch-batches__table th {
    padding: 5px 10px;
  }

  .branch-batches__btn {
    padding: 10px 8px
  }

  .branch-batches {
    padding: 20px 0;
  }

  .el-testimonial-card {
    min-width: 85%;
    min-height: auto;
    padding: 18px;
  }
}

@media (max-width: 576px) {

  /* Make buttons full width on very small screens for easy tapping */
  .branch-info__btn,
  .branch-placements__btn,
  .branch-batches__btn,
  .branch-testimonials__btn,
  .branch-contact-cta__btn {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
  }
}

/* Testimonial Slider Buttons */
.slider-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  color: #1a1a1a;
  font-size: 18px;
  z-index: 10;
  transition: all 0.3s ease;
}

.slider-btn:hover {
  background: var(--gold, #d4af37);
  color: #fff;
  border-color: var(--gold, #d4af37);
}

.slider-prev {
  left: 0px;
}

.slider-next {
  right: 0px;
}

@media (max-width: 768px) {
  .slider-btn {
    width: 36px;
    height: 36px;
    font-size: 14px;
  }

  .slider-prev {
    left: 5px;
  }

  .slider-next {
    right: 5px;
  }
}

.branch-batches {
  padding: 60px 0;
  background-color: #ffffff;
}

.branch-batches__wrap {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
}

.branch-batches__head {
  text-align: center;
  margin-bottom: 40px;
}

.branch-batches__title {
  font-size: 24px;
  color: #1a1a1a;
}

.branch-batches__sub {
  font-size: 15px;
  color: #4a4a4a;
  margin: 0 auto;
  line-height: 1.6;
}

.branch-batches__table-wrapper {
  overflow-x: auto;
  margin-bottom: 30px;
}

.branch-batches__table {
  width: 100%;
  border-collapse: collapse;
  min-width: 800px;
  border: 1px solid var(--c-navy, #061D38);
}

.branch-batches__table th,
.branch-batches__table td {
  padding: 5px 10px;
  text-align: left;
  border-bottom: 1px solid var(--c-navy, #061D38);
  border-right: 1px solid var(--c-navy, #061D38);
}

.branch-batches__table th:last-child,
.branch-batches__table td:last-child {
  border-right: none;
}

.branch-batches__table th {
  background-color: var(--c-navy, #061D38);
  font-weight: 600;
  color: #ffffff;
}

.branch-batches__table td {
  color: #1a1a1a;
  font-weight: 500;
}

.branch-batches__table tr:last-child td {
  border-bottom: none;
}

.branch-batches__cta {
  text-align: center;
}

.branch-batches__btn {
  display: inline-block;
  background-color: #1a1a1a;
  color: #ffffff;
  padding: 12px 24px;
  border-radius: 6px;
  font-weight: 600;
  text-decoration: none;
  font-size: 1rem;
  transition: background-color 0.3s ease;
}

.branch-batches__btn:hover {
  background-color: var(--gold, #d4af37);
  color: #1a1a1a;
}

/* Branch Eligibility Grid */
.branch-eligibility {
  padding: 60px 0;
  background-color: #ffffff;
}

.branch-eligibility__wrap {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
}

.branch-eligibility__title {
  text-align: center;
  font-size: 30px;
  color: #1a1a1a;
  margin-bottom: 20px;
}

.branch-eligibility__sub {
  text-align: center;
  font-size: 16px;
  color: #4a4a4a;
  margin-bottom: 50px;
  margin-left: auto;
  margin-right: auto;
}

.branch-eligibility__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.be-item {
  background-color: #f8fafc;
  padding: 24px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 15px;
  font-weight: 600;
  color: #2c3e50;
  border: 1px solid #e2e8f0;
  transition: transform 0.3s ease;
}

.be-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.be-item i {
  font-size: 24px;
  color: #3b82f6;
}

/* Mumbai, Nagpur, and Indore Specific FAQ grid layout */
body[data-page="mumbai"] .branch-faq__wrap,
body[data-page="nagpur"] .branch-faq__wrap,
body[data-page="indore"] .branch-faq__wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  align-items: start;
  max-width: 1100px;
}

body[data-page="mumbai"] .branch-faq__title,
body[data-page="nagpur"] .branch-faq__title,
body[data-page="indore"] .branch-faq__title {
  grid-column: 1 / -1;
}

@media (max-width: 768px) {

  body[data-page="mumbai"] .branch-faq__wrap,
  body[data-page="nagpur"] .branch-faq__wrap,
  body[data-page="indore"] .branch-faq__wrap {
    grid-template-columns: 1fr;
  }
}

@media(max-width: 991px) {
  .branch-eligibility__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media(max-width: 768px) {
  .branch-eligibility__grid {
    grid-template-columns: 1fr;
  }
}

/* Branch Steps Timeline */
.branch-steps {
  padding: 60px 0;
  background-color: #f0f4f8;
}

.branch-steps__wrap {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
}

.branch-steps__title {
  text-align: center;
  font-size: 30px;
  color: #1a1a1a;
  margin-bottom: 20px;
}

.branch-steps__sub {
  text-align: center;
  font-size: 16px;
  color: #4a4a4a;
  margin-bottom: 50px;
}

.branch-steps__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}

.bs-item {
  background-color: #ffffff;
  padding: 30px 20px;
  border-radius: 8px;
  text-align: center;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
}

.bs-item__num {
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 700;
  margin: 0 auto 20px auto;
  box-shadow: 0 4px 10px rgba(59, 130, 246, 0.3);
}

.bs-item h3 {
  font-size: 18px;
  margin-bottom: 10px;
  color: #1a1a1a;
}

.bs-item p {
  font-size: 14px;
  color: #4a4a4a;
}

@media(max-width: 991px) {
  .branch-steps__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media(max-width: 768px) {
  .branch-steps__grid {
    grid-template-columns: 1fr;
  }
}

/* Branch Learn Section */
.branch-learn {
  padding: 60px 0;
  background-color: #f8fafc;
}

.branch-learn__wrap {
  max-width: 1200px;
  width: 95%;
  margin: 0 auto;
}

.branch-learn__title {
  text-align: center;
  font-size: 30px;
  color: #1a1a1a;
  margin-bottom: 20px;
}

.branch-learn__sub {
  text-align: center;
  font-size: 16px;
  color: #4a4a4a;
  margin-bottom: 40px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.branch-learn__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 15px;
}

.bl-item {
  background: white;
  padding: 15px 20px;
  border-radius: 8px;
  border-left: 4px solid #3b82f6;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #333;
}

.bl-item i {
  color: #10b981;
}

@media (max-width: 767px) {
  .eyebrow-block.mobile-center-eyebrow {
    text-align: center !important;
    justify-content: center !important;
  }
}

/* ============================================================
   Thank You (form confirmation) page
   ============================================================ */
.thankyou {
  padding-block: 80px;
  background: var(--c-bg-tint);
}

.thankyou .container {
  max-width: 640px;
  text-align: center;
}

.thankyou__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: rgba(30, 142, 62, .12);
  color: var(--c-success);
  margin-bottom: 24px;
}

.thankyou__title {
  font-size: var(--fs-h2);
  font-weight: 700;
  color: var(--c-navy-deep);
  margin-bottom: 12px;
}

.thankyou__desc {
  max-width: 520px;
  margin: 0 auto 32px;
  color: var(--c-text-soft);
  font-size: 1.05rem;
  line-height: 1.6;
}

.thankyou__steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 40px;
  text-align: left;
}

.thankyou__step {
  padding: 20px;
  background: var(--c-white);
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
}

.thankyou__step-num {
  display: inline-block;
  font-family: var(--font-accent);
  font-weight: 700;
  color: var(--c-gold);
  font-size: 1.1rem;
  margin-bottom: 8px;
}

.thankyou__step h2 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--c-navy-deep);
  margin-bottom: 4px;
}

.thankyou__step p {
  font-size: .9rem;
  color: var(--c-text-soft);
  margin: 0;
}

.thankyou__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

@media (max-width: 767px) {
  .thankyou {
    padding-block: 56px;
  }

  .thankyou__steps {
    grid-template-columns: 1fr;
  }

  .thankyou__actions {
    flex-direction: column;
  }

  .thankyou__actions .btn {
    width: 100%;
  }
}

/* ============ MOBILE NAV DRAWER (logo header + accordion links + bottom CTAs) ============ */
.site-nav__head,
.site-nav__cta {
  display: none;
}

@media (max-width: 1024px) {
  .site-nav__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--c-border);
    flex: 0 0 auto;
  }

  .site-nav__head-logo img {
    height: 44px;
    width: 44px;
    object-fit: contain;
    display: block;
  }

  .nav-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    background: var(--c-surface-alt);
    border: none;
    border-radius: 50%;
    color: var(--c-navy-deep);
    cursor: pointer;
    flex-shrink: 0;
  }

  .site-nav>ul>li {
    border-bottom: 1px solid var(--c-border);
  }

  .site-nav>ul>li:last-child {
    border-bottom: none;
  }

  .site-nav>ul>li>a {
    padding: 15px 4px;
    justify-content: space-between;
    font-size: 16px;
    font-weight: 700;
    border-radius: 0;
  }

  .site-nav>ul>li>a svg {
    transition: transform .2s ease;
    flex-shrink: 0;
  }

  .site-nav .has-dropdown.is-open>a svg {
    transform: rotate(180deg);
  }

  .site-nav .dropdown li a {
    padding: 12px 10px;
    font-size: 14.5px;
  }

  .site-nav__cta {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px 20px 22px;
    border-top: 1px solid var(--c-border);
    flex: 0 0 auto;
    background: var(--c-white);
  }

  .site-nav__cta .btn {
    width: 100%;
    justify-content: center;
    text-align: center;
    gap: 8px;
  }
}

/* ============ MOBILE HEADER — height & alignment cleanup ============ */
@media (max-width: 640px) {
  .site-header__bar {
    padding: 8px 16px;
    gap: 10px;
    min-height: 60px;
  }

  .site-header__brand {
    gap: 10px;
  }

  .site-header__logo img {
    height: 38px;
    width: 38px;
    object-fit: contain;
  }

  .city-select__btn {
    height: 34px;
    padding: 0 12px;
    font-size: 12px;
    gap: 6px;
    line-height: 1;
  }

  .header-cta {
    align-items: center;
    gap: 8px;
  }

  .header-cta__apply {
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    font-size: 12.5px;
    white-space: nowrap;
    line-height: 1;
  }

  .nav-toggle {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 0;
    border-radius: 8px;
    background: var(--c-surface-alt);
    flex-shrink: 0;
  }

  .nav-toggle span {
    width: 18px;
  }
}

@media (max-width: 400px) {
  .site-header__bar {
    padding: 8px 10px;
    gap: 6px;
  }

  .site-header__brand {
    gap: 6px;
  }

  .site-header__logo img {
    height: 32px;
    width: 32px;
  }

  .city-select__btn {
    height: 34px;
    padding: 0 8px;
    font-size: 10.5px;
    gap: 4px;
  }

  .city-select__btn i {
    font-size: 11px;
  }

  .city-select__btn svg {
    width: 8px;
    flex-shrink: 0;
  }

  .header-cta {
    gap: 6px;
  }

  .header-cta__apply {
    padding: 0 10px;
    font-size: 11px;
  }
}