
:root {
  --sc-navy: #1f425d;
  --sc-navy-dark: #16324a;
  --sc-teal: #e21f2f;
  /* --sc-teal: #4ab9cf */
  --sc-teal-dark: #ffd24b;
  /* --sc-teal-dark: #3dacc2; */
  --sc-red: #e21f2f;
  --sc-ink: #444444;
  --sc-muted: #777777;
  --sc-line: #e6ecf1;
  --sc-bg: #f5f7f9;
}

body {
  font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: var(--sc-ink);
  font-size: 15px;
  line-height: 1.7;
}

h1, h2, h3, h4, h5 { font-weight: 600; color: var(--sc-navy); }
a { text-decoration: none; }

/* ---------- Helpers ---------- */
.sc-bg-navy   { background-color: var(--sc-navy); }
.sc-bg-light  { background-color: var(--sc-bg); }
.sc-text-navy { color: var(--sc-navy); }
.sc-text-teal { color: var(--sc-teal); }
.sc-section   { padding: 64px 0; }

.sc-btn {
  background-color: var(--sc-teal);
  border-color: var(--sc-teal);
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.4px;
  padding: 10px 26px;
  border-radius: 3px;
}
.sc-btn:hover, .sc-btn:focus { background-color: var(--sc-teal-dark); border-color: var(--sc-navy); color: #fff; }

.sc-btn-outline {
  border: 1px solid var(--sc-navy);
  color: var(--sc-navy);
  font-weight: 500;
  padding: 10px 26px;
  border-radius: 3px;
}
.sc-btn-outline:hover { background-color: var(--sc-navy); color: #fff; }

/* ---------- Section headings ---------- */
.sc-heading { text-align: center; margin-bottom: 40px; }
.sc-heading h2 {
  font-size: 26px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.sc-heading span {
  display: inline-block;
  width: 64px;
  height: 3px;
  background-color: var(--sc-teal);
}

/* ---------- Top bar + navbar ---------- */
.sc-topbar { background-color: var(--sc-navy); color: #cfe0ec; font-size: 13px; padding: 8px 0; }
.sc-topbar a { color: #cfe0ec; }
.sc-topbar a:hover { color: #fff; }

.sc-navbar { box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08); }
.sc-navbar .navbar-brand img { height: 80px; }
.sc-navbar .nav-link {
  color: var(--sc-navy);
  font-size: 15px;
  font-weight: 500;
  padding: 10px 15px !important;
}
.sc-navbar .nav-link:hover,
.sc-navbar .nav-link.active { color: var(--sc-teal-dark); }
.sc-navbar .dropdown-menu {
  border: 0;
  border-top: 3px solid var(--sc-teal);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  font-size: 14px;
  border-radius: 0 0 4px 4px;
}
.sc-navbar .dropdown-item:hover { background-color: var(--sc-bg); color: var(--sc-teal-dark); }

/* ---------- Hero carousel ---------- */
.sc-hero img { width: 100%; height: auto; object-fit: cover; }
.sc-hero .carousel-control-prev,
.sc-hero .carousel-control-next { width: 48px; opacity: 0.75; }

/* ---------- Notification ticker ---------- */
.sc-ticker { display: flex; align-items: center; background-color: #fff; border: 1px solid var(--sc-line); border-radius: 4px; overflow: hidden; }
.sc-ticker__label {
  background-color: var(--sc-red);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  padding: 12px 18px;
  white-space: nowrap;
  flex-shrink: 0;
}
.sc-ticker__track { overflow: hidden; flex: 1; }
.sc-ticker__list {
  display: flex;
  gap: 48px;
  list-style: none;
  margin: 0;
  padding: 0 24px;
  white-space: nowrap;
  animation: sc-scroll 42s linear infinite;
}
.sc-ticker:hover .sc-ticker__list { animation-play-state: paused; }
.sc-ticker__list a { color: var(--sc-navy); font-size: 14px; }
.sc-ticker__list a:hover { color: var(--sc-red); }
@keyframes sc-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ---------- Cards (programmes, videos) ---------- */
.sc-card {
  border: 1px solid var(--sc-line);
  border-radius: 4px;
  overflow: hidden;
  background-color: #fff;
  height: auto;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.sc-card:hover { box-shadow: 0 10px 26px rgba(31, 66, 93, 0.14); transform: translateY(-3px); }
.sc-card__media { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; background-color: var(--sc-bg); }
.sc-card__media img { width: 100%; height: 100%; object-fit: cover; }
.sc-card__title { font-size: 16px; font-weight: 600; margin-bottom: 8px; }
.sc-card__text { font-size: 14px; color: var(--sc-muted); }

/* ---------- Icon boxes ---------- */
.sc-icon-box { display: block; padding: 28px 20px; border: 1px solid var(--sc-line); border-radius: 4px; height: 100%; background-color: #fff; transition: background-color 0.2s ease; }
.sc-icon-box:hover { background-color: var(--sc-navy); }
.sc-icon-box:hover h4, .sc-icon-box:hover p, .sc-icon-box:hover i { color: #fff; }
.sc-icon-box i { font-size: 34px; color: var(--sc-teal); display: block; margin-bottom: 14px; }
.sc-icon-box h4 { font-size: 15px; letter-spacing: 0.5px; margin-bottom: 8px; }
.sc-icon-box p { font-size: 13px; color: var(--sc-muted); margin: 0; }

/* ---------- Video thumbnails ---------- */
.sc-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(31, 66, 93, 0.25);
  color: #fff;
  font-size: 44px;
  transition: background-color 0.2s ease;
}
.sc-card:hover .sc-play { background-color: rgba(31, 66, 93, 0.5); }

/* ---------- Counters ---------- */
.sc-counters { background-color: var(--sc-navy); color: #fff; padding: 56px 0; }
.sc-counters i { font-size: 30px; color: var(--sc-teal); }
.sc-counters .sc-count { font-size: 34px; font-weight: 700; line-height: 1.2; }
.sc-counters p { font-size: 13px; letter-spacing: 0.6px; color: #bcd3e4; margin: 0; }

/* ---------- Testimonials ---------- */
.sc-scroller {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 12px;
}
.sc-scroller::-webkit-scrollbar { height: 6px; }
.sc-scroller::-webkit-scrollbar-thumb { background-color: #c9d6e0; border-radius: 6px; }
.sc-scroller > * { scroll-snap-align: start; flex: 0 0 100%; }
@media (min-width: 768px) { .sc-scroller > * { flex: 0 0 calc(50% - 12px); } }
@media (min-width: 992px) { .sc-scroller > * { flex: 0 0 calc(33.333% - 16px); } }

.sc-quote { background-color: #fff; border: 1px solid var(--sc-line); border-radius: 4px; padding: 26px; height: 100%; }
.sc-quote__text { font-size: 14px; color: var(--sc-ink); }
.sc-quote__text.is-clamped { display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.sc-quote__more { background: none; border: 0; padding: 0; color: var(--sc-teal-dark); font-size: 13px; font-weight: 500; }
.sc-quote img { width: 54px; height: 54px; border-radius: 50%; object-fit: cover; }
.sc-quote__name { font-size: 15px; margin: 0; }
.sc-quote__role { font-size: 12px; color: var(--sc-muted); }
.sc-quote .bi-star-fill { color: #ffb900; font-size: 12px; }

/* ---------- Enquiry form ---------- */
.sc-form .form-control, .sc-form .form-select { border-radius: 3px; border-color: #d7e0e7; padding: 11px 14px; font-size: 14px; }
.sc-form .form-control:focus, .sc-form .form-select:focus { border-color: var(--sc-teal); box-shadow: 0 0 0 3px rgba(74, 185, 207, 0.18); }

/* ---------- Footer ---------- */
.sc-footer { background-color: var(--sc-navy-dark); color: #b9cddc; font-size: 14px; padding: 56px 0 0; }
.sc-footer h5 { color: #fff; font-size: 15px; letter-spacing: 0.6px; margin-bottom: 18px; }
.sc-footer a { color: #b9cddc; }
.sc-footer a:hover { color: var(--sc-teal); }
.sc-footer ul { list-style: none; padding: 0; margin: 0; }
.sc-footer li { margin-bottom: 9px; }
.sc-footer__bottom { border-top: 1px solid rgba(255, 255, 255, 0.12); margin-top: 40px; padding: 18px 0; font-size: 13px; }

/* ---------- Small screens ---------- */
@media (max-width: 991px) {
  .sc-section { padding: 44px 0; }
  .sc-heading h2 { font-size: 21px; }
  .sc-navbar .navbar-nav { padding-top: 8px; }
  .sc-counters .sc-count { font-size: 27px; }
}

@media (prefers-reduced-motion: reduce) {
  .sc-ticker__list { animation: none; }
  .sc-card, .sc-icon-box, .sc-play { transition: none; }
}

:focus-visible { outline: 2px solid var(--sc-teal); outline-offset: 2px; }

/* Show Bootstrap dropdown on hover */
.nav-item.dropdown:hover .dropdown-menu {
  display: block;
  margin-top: 0;
}

/* Keep the dropdown hidden normally */
.nav-item.dropdown .dropdown-menu {
  display: none;
}

/* TESTIMONIALS — revised styles */

/* ---------- Track ---------- */
.sc-scroller {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 4px 4px 20px;
  margin: 0 -4px;
  scrollbar-width: none;
}
.sc-scroller::-webkit-scrollbar { display: none; }
.sc-scroller > * { scroll-snap-align: start; flex: 0 0 100%; }
@media (min-width: 768px) { .sc-scroller > * { flex: 0 0 calc(50% - 12px); } }
@media (min-width: 992px) { .sc-scroller > * { flex: 0 0 calc(33.333% - 16px); } }

/* ---------- Card ---------- */
.sc-quote {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border: 1px solid var(--sc-line);
  border-radius: 6px;
  padding: 30px 28px 24px;
  height: 100%;
  overflow: hidden;
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.sc-quote::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background-color: var(--sc-teal);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}
.sc-quote:hover {
  border-color: #d3e2ec;
  box-shadow: 0 12px 28px rgba(31, 66, 93, 0.12);
  transform: translateY(-4px);
}
.sc-quote:hover::before { transform: scaleX(1); }

/* Oversized quotation mark, sitting behind the text */
.sc-quote__mark {
  position: absolute;
  top: 2px;
  right: 18px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 88px;
  line-height: 1;
  color: rgba(74, 185, 207, 0.16);
  pointer-events: none;
}

.sc-quote__stars { margin-bottom: 14px; }
.sc-quote__stars .bi-star-fill { color: #ffb900; font-size: 12px; margin-right: 2px; }

.sc-quote__text { font-size: 14px; color: var(--sc-ink); margin-bottom: 10px; }
.sc-quote__text.is-clamped {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.sc-quote__more {
  align-self: flex-start;
  background: none;
  border: 0;
  padding: 0;
  margin-bottom: 20px;
  color: var(--sc-teal-dark);
  font-size: 13px;
  font-weight: 500;
}
.sc-quote__more:hover { color: var(--sc-navy); text-decoration: underline; }

/* ---------- Person ---------- */
.sc-quote__person {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid var(--sc-line);
}
.sc-quote__avatar {
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background-color: var(--sc-navy);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sc-quote__name { display: block; font-size: 15px; font-weight: 600; color: var(--sc-navy); }
.sc-quote__role { display: block; font-size: 12px; color: var(--sc-muted); }

/* ---------- Navigation below the track ---------- */
.sc-quote-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 6px;
}
.sc-quote-nav__btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--sc-line);
  background-color: #fff;
  color: var(--sc-navy);
  font-size: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.sc-quote-nav__btn:hover {
  background-color: var(--sc-navy);
  border-color: var(--sc-navy);
  color: #fff;
}
.sc-quote-nav__btn--toggle {
  width: 38px;
  height: 38px;
  font-size: 15px;
  color: var(--sc-teal-dark);
}
.sc-quote-nav__btn--toggle[aria-pressed="true"] {
  background-color: var(--sc-teal);
  border-color: var(--sc-teal);
  color: #fff;
}

@media (max-width: 575px) {
  .sc-quote { padding: 26px 22px 22px; }
  .sc-quote__mark { font-size: 68px; }
}

@media (prefers-reduced-motion: reduce) {
  .sc-scroller { scroll-behavior: auto; }
  .sc-quote, .sc-quote::before, .sc-quote-nav__btn { transition: none; }
}

/* Auto-scroll clones are duplicates for the loop — hide them from screen readers
   only; they must stay visible, so no display:none here. */
.sc-scroller > [aria-hidden="true"] { pointer-events: auto; }

/* ---------- Play / pause toggle ---------- */
.sc-quote-nav__btn--toggle {
  width: 38px;
  height: 38px;
  font-size: 15px;
  color: var(--sc-muted);
}
.sc-quote-nav__btn--toggle[aria-pressed="true"] {
  border-color: var(--sc-teal);
  color: var(--sc-teal-dark);
}

/* About  */
/* ---------- Inner page hero ---------- */
.sc-page-hero { background-color: var(--sc-navy); color: #fff; padding: 44px 0; }
.sc-page-hero h1 { color: #fff; font-size: 30px; letter-spacing: 0.5px; margin-bottom: 6px; }
.sc-page-hero p { color: #a9c6dc; font-size: 14px; margin: 0; }
.sc-page-hero .breadcrumb { margin: 0; font-size: 13px; }
.sc-page-hero .breadcrumb a { color: var(--sc-teal); }
.sc-page-hero .breadcrumb-item + .breadcrumb-item::before { color: #7d9db5; }
.sc-page-hero .breadcrumb-item.active { color: #cfe0ec; }

/* ---------- Prose blocks ---------- */
.sc-prose p { margin-bottom: 18px; }
.sc-prose p:last-child { margin-bottom: 0; }
.sc-lead { font-size: 17px; font-weight: 500; color: var(--sc-navy); line-height: 1.6; }

.sc-pullquote {
  border-left: 4px solid var(--sc-teal);
  background-color: var(--sc-bg);
  padding: 22px 26px;
  border-radius: 0 4px 4px 0;
  font-size: 16px;
  color: var(--sc-navy);
}

/* ---------- Timeline ---------- */
.sc-timeline { position: relative; padding-left: 28px; }
.sc-timeline::before {
  content: '';
  position: absolute;
  left: 7px;
  top: 6px;
  bottom: 6px;
  width: 2px;
  background-color: var(--sc-line);
}
.sc-timeline__item { position: relative; padding-bottom: 26px; }
.sc-timeline__item:last-child { padding-bottom: 0; }
.sc-timeline__item::before {
  content: '';
  position: absolute;
  left: -28px;
  top: 7px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #fff;
  border: 3px solid var(--sc-teal);
}
.sc-timeline__year { font-size: 15px; font-weight: 600; color: var(--sc-navy); margin-bottom: 2px; }
.sc-timeline__text { font-size: 14px; color: var(--sc-muted); margin: 0; }

/* CONTACT PAGE */

/* ---------- Quick contact tiles ---------- */
.sc-contact-tile {
  background-color: #fff;
  border: 1px solid var(--sc-line);
  border-top: 3px solid var(--sc-teal);
  border-radius: 4px;
  padding: 24px 20px;
  height: 100%;
  text-align: center;
}
.sc-contact-tile i { font-size: 26px; color: var(--sc-teal); display: block; margin-bottom: 12px; }
.sc-contact-tile h4 {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.sc-contact-tile p { font-size: 14px; color: var(--sc-muted); margin: 0; line-height: 1.8; }
.sc-contact-tile a { color: var(--sc-navy); }
.sc-contact-tile a:hover { color: var(--sc-teal-dark); }

/* ---------- Branch cards ---------- */
.sc-branch {
  background-color: #fff;
  border: 1px solid var(--sc-line);
  border-radius: 4px;
  padding: 26px 24px;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.sc-branch:hover { box-shadow: 0 10px 26px rgba(31, 66, 93, 0.14); transform: translateY(-3px); }
.sc-branch__tag {
  align-self: flex-start;
  background-color: rgba(74, 185, 207, 0.14);
  color: var(--sc-teal);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.4px;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 14px;
}
.sc-branch h3 { font-size: 17px; margin-bottom: 12px; }
.sc-branch__address {
  font-size: 14px;
  color: var(--sc-muted);
  display: flex;
  gap: 10px;
  margin-bottom: 14px;
}
.sc-branch__address i { color: var(--sc-teal); margin-top: 4px; }
.sc-branch__phones {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sc-branch__phones a {
  display: inline-block;
  border: 1px solid var(--sc-line);
  border-radius: 3px;
  padding: 5px 11px;
  font-size: 13px;
  color: var(--sc-navy);
}
.sc-branch__phones a:hover { background-color: var(--sc-navy); border-color: var(--sc-navy); color: #fff; }
.sc-branch__link {
  margin-top: auto;
  font-size: 14px;
  font-weight: 500;
  color: var(--sc-teal);
}
.sc-branch__link:hover { color: var(--sc-navy); }

/* ---------- Opening hours ---------- */
.sc-hours { list-style: none; padding: 0; margin: 0; }
.sc-hours li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
  padding: 9px 0;
  border-bottom: 1px dashed var(--sc-line);
}
.sc-hours li:last-child { border-bottom: 0; }
.sc-hours li span:first-child { color: var(--sc-navy); font-weight: 500; }
.sc-hours li span:last-child { color: var(--sc-muted); }
.sc-hours li.is-closed span:last-child { color: var(--sc-red); font-weight: 500; }

/* ---------- Form labels (contact page uses visible labels) ---------- */
.sc-form .form-label {
  font-size: 13px;
  font-weight: 500;
  color: var(--sc-navy);
  margin-bottom: 6px;
}

/* ---------- Map ---------- */
.sc-map { line-height: 0; }
.sc-map iframe { width: 100%; height: 420px; border: 0; display: block; }
@media (max-width: 767px) {
  .sc-map iframe { height: 300px; }
}

/* COURSE PAGE */

/* ---------- Section headings inside long content ---------- */
.sc-block-title {
  font-size: 19px;
  font-weight: 600;
  margin: 38px 0 14px;
  padding-left: 14px;
  border-left: 4px solid var(--sc-teal);
}
.sc-table-caption {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: var(--sc-navy);
  margin: 22px 0 10px;
}
.sc-sub-head { font-weight: 500; color: var(--sc-navy); margin-bottom: 14px; }
.sc-sub { display: block; font-size: 13px; color: var(--sc-muted); margin-top: 3px; }
.sc-footnote { font-size: 13px; color: var(--sc-muted); }

/* ---------- Tables ---------- */
.sc-table { border: 1px solid var(--sc-line); border-radius: 4px; }
.sc-table .table { margin-bottom: 0; font-size: 14px; }
.sc-table .table thead th {
  background-color: var(--sc-navy);
  color: #fff;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border: 0;
  padding: 13px 16px;
}
.sc-table .table td, .sc-table .table th { padding: 13px 16px; vertical-align: top; }
.sc-table .table tbody th { color: var(--sc-navy); font-weight: 600; white-space: nowrap; width: 110px; }
.sc-table .table tbody tr:nth-child(even) td,
.sc-table .table tbody tr:nth-child(even) th { background-color: #fafbfc; }
.sc-marks { white-space: nowrap; text-align: right; font-weight: 500; color: var(--sc-navy); }
.sc-table .sc-total th, .sc-table .sc-total td {
  background-color: rgba(74, 185, 207, 0.12) !important;
  font-weight: 600;
  color: var(--sc-navy);
}

/* ---------- Exam stages ---------- */
.sc-stage {
  border: 1px solid var(--sc-line);
  border-radius: 4px;
  padding: 24px;
  margin-bottom: 20px;
  background-color: #fff;
}
.sc-stage__label {
  display: inline-block;
  background-color: var(--sc-navy);
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 12px;
}
.sc-stage h4 { font-size: 17px; margin-bottom: 12px; }
.sc-stage p { font-size: 14px; }

.sc-note {
  background-color: var(--sc-bg);
  border-left: 3px solid var(--sc-teal);
  border-radius: 0 3px 3px 0;
  padding: 14px 18px;
  font-size: 13px;
  color: var(--sc-ink);
  margin-top: 14px;
}
.sc-note strong { color: var(--sc-navy); }

.sc-total-callout {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  background-color: var(--sc-navy);
  color: #fff;
  border-radius: 4px;
  padding: 16px 20px;
  margin-top: 16px;
  font-size: 14px;
}
.sc-total-callout strong { font-size: 20px; color: var(--sc-teal); }

/* ---------- Syllabus accordion ---------- */
.sc-accordion .accordion-item { border: 1px solid var(--sc-line); margin-bottom: 10px; border-radius: 4px; overflow: hidden; }
.sc-accordion .accordion-button {
  font-size: 15px;
  font-weight: 500;
  color: var(--sc-navy);
  background-color: #fff;
  padding: 16px 20px;
  gap: 10px;
  flex-wrap: wrap;
}
.sc-accordion .accordion-button:not(.collapsed) { background-color: var(--sc-bg); box-shadow: none; }
.sc-accordion .accordion-button:focus { box-shadow: 0 0 0 3px rgba(74, 185, 207, 0.18); }
.sc-accordion .accordion-body { padding: 20px; font-size: 14px; }

.sc-pill {
  background-color: rgba(74, 185, 207, 0.14);
  color: var(--sc-teal);
  font-size: 12px;
  font-weight: 500;
  padding: 3px 10px;
  border-radius: 20px;
}

.sc-list { padding-left: 20px; margin: 0; }
.sc-list li { margin-bottom: 10px; }
.sc-list li:last-child { margin-bottom: 0; }
.sc-list li::marker { color: var(--sc-teal); }

.sc-chip {
  display: block;
  border: 1px solid var(--sc-line);
  border-radius: 3px;
  padding: 8px 12px;
  font-size: 13px;
  color: var(--sc-navy);
  background-color: #fff;
}

/* ---------- Sidebar ---------- */
.sc-sticky { position: sticky; top: 96px; }
.sc-sidecard {
  border: 1px solid var(--sc-line);
  border-radius: 4px;
  padding: 24px;
  background-color: #fff;
}
.sc-sidecard h3 {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--sc-line);
}
.sc-sidecard p { font-size: 14px; color: var(--sc-muted); }
.sc-sidecard--cta { background-color: var(--sc-bg); }

.sc-sidenav { list-style: none; padding: 0; margin: 0; }
.sc-sidenav li { border-bottom: 1px dashed var(--sc-line); }
.sc-sidenav li:last-child { border-bottom: 0; }
.sc-sidenav a {
  display: block;
  padding: 11px 0 11px 18px;
  font-size: 14px;
  color: var(--sc-navy);
  position: relative;
}
.sc-sidenav a::before {
  content: '\F285';
  font-family: 'bootstrap-icons';
  position: absolute;
  left: 0;
  color: var(--sc-teal);
  font-size: 12px;
}
.sc-sidenav a:hover { color: var(--sc-teal); }
.sc-sidenav .is-current a { color: var(--sc-teal); font-weight: 600; }

@media (max-width: 991px) {
  .sc-sticky { position: static; }
  .sc-block-title { font-size: 17px; margin-top: 30px; }
}

/* FACULTY PAGE — new styles */

/* ---------- Stat tiles ---------- */
.sc-stat {
  background-color: var(--sc-bg);
  border: 1px solid var(--sc-line);
  border-radius: 4px;
  padding: 22px 18px;
  height: 100%;
  text-align: center;
}
.sc-stat strong {
  display: block;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.1;
  color: var(--sc-navy);
  margin-bottom: 6px;
}
.sc-stat span { font-size: 13px; color: var(--sc-muted); }

/* ---------- Search / filter bar ---------- */
.sc-filterbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 28px;
}
.sc-searchbox { position: relative; flex: 1 1 320px; max-width: 460px; }
.sc-searchbox i {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--sc-muted);
  font-size: 15px;
  pointer-events: none;
}
.sc-searchbox .form-control {
  padding: 12px 16px 12px 42px;
  font-size: 14px;
  border-radius: 3px;
  border-color: #d7e0e7;
}
.sc-searchbox .form-control:focus {
  border-color: var(--sc-teal);
  box-shadow: 0 0 0 3px rgba(74, 185, 207, 0.18);
}
.sc-filterbar__count { font-size: 13px; color: var(--sc-muted); margin: 0; }

.sc-empty { text-align: center; padding: 40px 20px; color: var(--sc-muted); font-size: 14px; }

/* ---------- Faculty card ---------- */
.sc-faculty {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #fff;
  border: 1px solid var(--sc-line);
  border-radius: 6px;
  padding: 24px;
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.sc-faculty:hover {
  border-color: #d3e2ec;
  box-shadow: 0 10px 26px rgba(31, 66, 93, 0.12);
  transform: translateY(-3px);
}

.sc-faculty__head { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 16px; }
.sc-faculty__avatar {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: var(--sc-navy);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sc-faculty__name { font-size: 16px; font-weight: 600; margin: 0 0 3px; }
.sc-faculty__role { font-size: 13px; color: var(--sc-teal); margin: 0; line-height: 1.5; }

.sc-faculty__qual {
  font-size: 13px;
  color: var(--sc-muted);
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--sc-line);
}

.sc-faculty__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.sc-tag {
  background-color: var(--sc-bg);
  border: 1px solid var(--sc-line);
  border-radius: 20px;
  padding: 3px 11px;
  font-size: 12px;
  color: var(--sc-navy);
}

.sc-faculty__exp {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: auto;
  font-size: 13px;
  color: var(--sc-muted);
}
.sc-faculty__exp i { color: var(--sc-teal); font-size: 15px; }
.sc-faculty__exp strong { color: var(--sc-navy); font-weight: 600; }

@media (max-width: 575px) {
  .sc-faculty { padding: 20px; }
  .sc-stat strong { font-size: 26px; }
  .sc-filterbar { flex-direction: column; align-items: stretch; }
  .sc-searchbox { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  .sc-faculty { transition: none; }
}

/* ---------- Stat tiles ---------- */
.sc-stat {
  background-color: var(--sc-bg);
  border: 1px solid var(--sc-line);
  border-radius: 4px;
  padding: 22px 18px;
  height: 100%;
  text-align: center;
}
.sc-stat strong {
  display: block;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.1;
  color: var(--sc-navy);
  margin-bottom: 6px;
}
.sc-stat span { font-size: 13px; color: var(--sc-muted); }

/* ---------- Search / filter bar ---------- */
.sc-filterbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 28px;
}
.sc-searchbox { position: relative; flex: 1 1 320px; max-width: 460px; }
.sc-searchbox i {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--sc-muted);
  font-size: 15px;
  pointer-events: none;
}
.sc-searchbox .form-control {
  padding: 12px 16px 12px 42px;
  font-size: 14px;
  border-radius: 3px;
  border-color: #d7e0e7;
}
.sc-searchbox .form-control:focus {
  border-color: var(--sc-teal);
  box-shadow: 0 0 0 3px rgba(74, 185, 207, 0.18);
}
.sc-filterbar__count { font-size: 13px; color: var(--sc-muted); margin: 0; }

.sc-empty { text-align: center; padding: 40px 20px; color: var(--sc-muted); font-size: 14px; }

/* ---------- Faculty card ---------- */
.sc-faculty {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #fff;
  border: 1px solid var(--sc-line);
  border-radius: 6px;
  padding: 24px;
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.sc-faculty:hover {
  border-color: #d3e2ec;
  box-shadow: 0 10px 26px rgba(31, 66, 93, 0.12);
  transform: translateY(-3px);
}

.sc-faculty__head { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 16px; }
.sc-faculty__avatar {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: var(--sc-navy);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sc-faculty__name { font-size: 16px; font-weight: 600; margin: 0 0 3px; }
.sc-faculty__role { font-size: 13px; color: var(--sc-teal); margin: 0; line-height: 1.5; }

.sc-faculty__qual {
  font-size: 13px;
  color: var(--sc-muted);
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--sc-line);
}

.sc-faculty__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.sc-tag {
  background-color: var(--sc-bg);
  border: 1px solid var(--sc-line);
  border-radius: 20px;
  padding: 3px 11px;
  font-size: 12px;
  color: var(--sc-navy);
}

.sc-faculty__exp {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: auto;
  font-size: 13px;
  color: var(--sc-muted);
}
.sc-faculty__exp i { color: var(--sc-teal); font-size: 15px; }
.sc-faculty__exp strong { color: var(--sc-navy); font-weight: 600; }

@media (max-width: 575px) {
  .sc-faculty { padding: 20px; }
  .sc-stat strong { font-size: 26px; }
  .sc-filterbar { flex-direction: column; align-items: stretch; }
  .sc-searchbox { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  .sc-faculty { transition: none; }
}


/* ---------- 404 page ---------- */
.sc-404 {
  font-size: 110px;
  font-weight: 700;
  line-height: 1;
  color: var(--sc-navy);
  letter-spacing: -2px;
  margin-bottom: 10px;
}
.sc-404::after {
  content: '';
  display: block;
  width: 64px;
  height: 3px;
  background-color: var(--sc-teal);
  margin: 18px auto 0;
}
@media (max-width: 575px) {
  .sc-404 { font-size: 74px; }
}

  .sc-cta {
  background-color: var(--sc-navy);
  border-radius: 6px;
  padding: 44px 44px 40px;
  color: #cfe0ec;
  position: relative;
  overflow: hidden;
}
.sc-cta::after {
  content: '';
  position: absolute;
  right: -60px;
  top: -60px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background-color: rgba(74, 185, 207, 0.12);
  pointer-events: none;
}
.sc-cta h2 { color: #fff; font-size: 24px; margin-bottom: 12px; }
.sc-cta p { font-size: 14px; margin-bottom: 20px; }

.sc-cta__contacts { display: flex; flex-wrap: wrap; gap: 10px 26px; }
.sc-cta__contacts a { color: #fff; font-size: 14px; font-weight: 500; }
.sc-cta__contacts a:hover { color: var(--sc-teal); }
.sc-cta__contacts i { color: var(--sc-teal); margin-right: 8px; }

.sc-cta__actions { position: relative; z-index: 1; display: grid; gap: 12px; }
.sc-cta__ghost {
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #fff;
  font-weight: 500;
  padding: 10px 26px;
  border-radius: 3px;
}
.sc-cta__ghost:hover { background-color: #fff; border-color: #fff; color: var(--sc-navy); }
.sc-cta__note { font-size: 13px; text-align: center; margin: 4px 0 0; color: #9eb7cb; }

@media (max-width: 767px) {
  .sc-cta { padding: 30px 24px; }
  .sc-cta h2 { font-size: 20px; }
  .sc-cta::after { display: none; }
}